diff --git a/CNAME b/CNAME deleted file mode 100644 index d9efae2..0000000 --- a/CNAME +++ /dev/null @@ -1 +0,0 @@ -gethomepage.dev diff --git a/src/components/Content/Changelog.astro b/src/components/Content/Changelog.astro index d33de12..e9b2a86 100644 --- a/src/components/Content/Changelog.astro +++ b/src/components/Content/Changelog.astro @@ -2,7 +2,6 @@ import { marked } from 'marked'; const releasesResponse = await fetch('https://api.github.com/repos/Facinorous-420/dick/releases'); -console.log(releasesResponse) const releases = await releasesResponse.json(); --- diff --git a/src/components/Content/README.astro b/src/components/Content/README.astro new file mode 100644 index 0000000..1fa3339 --- /dev/null +++ b/src/components/Content/README.astro @@ -0,0 +1,13 @@ +--- +import { marked } from "marked"; + +const README = await fetch("https://raw.githubusercontent.com/Facinorous-420/dick/master/README.md") + .then((res) => res.text()) + .then((data) => { + return data + }) + .catch((err) => console.log("fetch error", err)) + +--- + +
diff --git a/src/components/RightSidebar/MoreMenu.astro b/src/components/RightSidebar/MoreMenu.astro index e582333..b1c9684 100644 --- a/src/components/RightSidebar/MoreMenu.astro +++ b/src/components/RightSidebar/MoreMenu.astro @@ -83,7 +83,7 @@ const showMoreSection = CONFIG.COMMUNITY_INVITE_URL; d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z" /> - Homepage on GitHub + DICK on GitHub ) diff --git a/src/config.ts b/src/config.ts index 59ae54d..960004b 100644 --- a/src/config.ts +++ b/src/config.ts @@ -52,12 +52,9 @@ export const SIDEBAR: Sidebar = { en: { 'Getting Started': [ { text: 'Home', link: 'dick-docs/en/' }, - { text: 'Production', links: [ - { text: 'Source', link: 'dick-docs/en/installation/production/source' }, - { text: 'Docker', link: 'dick-docs/en/installation/production/docker' }, - ]}, - { text: 'Development', links: [ - { text: 'Source', link: 'dick-docs/en/installation/development/source' } + { text: 'Installation', links: [ + { text: 'Source', link: 'dick-docs/en/installation/source' }, + { text: 'Docker', link: 'dick-docs/en/installation/docker' }, ]}, ], @@ -67,12 +64,12 @@ export const SIDEBAR: Sidebar = { 'Features': [ { text: 'File Manager', link: 'dick-docs/en/features/filemanager' }, { text: 'Config Generator', link: 'dick-docs/en/features/configgen' }, - { text: 'Admin Panel', link: 'dick-docs/en/features/adminpanel' }, + { text: 'App Settings', link: 'dick-docs/en/features/appsettings' }, { text: 'User Management', link: 'dick-docs/en/features/users' }, - { text: 'File Manager', link: 'dick-docs/en/features/filemanager' }, { text: 'hCaptcha', link: 'dick-docs/en/features/hcaptcha' } ], 'More': [ + { text: 'Contributing', link: 'dick-docs/en/more/contributing' }, { text: 'Troubleshooting', link: 'dick-docs/en/more/troubleshooting' }, { text: 'Changelog', link: 'dick-docs/en/more/changelog' } ], diff --git a/src/pages/en/configs/whitelabel.md b/src/pages/en/configs/whitelabel.md index e0b0d7c..065f5ff 100644 --- a/src/pages/en/configs/whitelabel.md +++ b/src/pages/en/configs/whitelabel.md @@ -4,15 +4,40 @@ description: About white labeling DICK layout: ../../../layouts/MainLayout.astro --- -Inside of your dick root folder, you will see `src/constants.ts.example`. Copy this to `constants.ts`
-Inside this file, is some basic configuration you can change for your set up. There are only 5 variables you need to worry about in this file: - -| Variable | Description | -| --------------------------------------------- | :---------------------: | -| `ASS_SECURE = false` | Put this to true if you are running ASS behind a domain with HTTPS,. false if HTTP | -| `ASSDOMAIN = "127.0.0.1:40115"` | Put this to your ASS domain. Can be an ip, or domain for example `https://cdn.mydomain.com` | -| `ASS_LOCATION = "../ass"` | If running DICK seperately, DICK will use this to find your ASS install folder. Leave this alone if using Docker. | -| `PORT = "3000"` | Change this number to the port you wish DICK to run on. Leave this alone if using Docker. | - -> **Note** -> If you want to set a user as admin, currently you must do it via the database file generated at `/src/database/users.json` and change the users role from `user` to `admin`. By default, the first user to login to your dick instance will be admin. +Not everyone likes flashing their DICKs to everyone, I get that. That is why when building this project, I made sure customizability was one of the top focuses of this project. + +Customization is easy, and a vast majority of DICK can be changed.
+Currently, you can change all these options using the [admin panel](/dick-docs/en/features/adminpanel). + +___ + +# General +#### App Name +This will replace all the **DICK** occurrences around the app + +#### App Emoji +This will allow you to change the emoji you see around the instance, by default its an eggplant. 🍆 + +#### Site Title +This is the text that shows up in browser tabs, as well as the title for the embed when you link the DICK dashboard **NOT** to be confused with ASS' picture embeds. + +#### Site Description +This text is the description text on the embed when you link the DICK dashboard **NOT** to be confused with ASS' picture embeds. + +#### Login Text +This text is the text on the login screen, above the form. + +#### Private Mode +If set, this will hide the global instance stats shown on the login page. + +#### Registrations Enabled +If set, this will allow people to use the register page to create new accounts. + +#### App Logo +This is the app image shown various places in DICK. + +#### Default Profile Picture +This is the default image set as users profile pictures. + +# Theming +This is a planned feature. \ No newline at end of file diff --git a/src/pages/en/features/adminpanel.md b/src/pages/en/features/adminpanel.md deleted file mode 100644 index 11f83e3..0000000 --- a/src/pages/en/features/adminpanel.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Admin Panel -description: Admin panel information -layout: ../../../layouts/MainLayout.astro ---- - -*Added in v1.1.0* diff --git a/src/pages/en/features/appsettings.md b/src/pages/en/features/appsettings.md new file mode 100644 index 0000000..be17341 --- /dev/null +++ b/src/pages/en/features/appsettings.md @@ -0,0 +1,25 @@ +--- +title: App Settings +description: App settings information +layout: ../../../layouts/MainLayout.astro +--- +

Admin Only Feature

+ +This is the main tab of the `Admin Dashboard`, and allows an administrator to edit their DICK and ASS settings. + +## Main Settings + +The tab allows the administrator to white label their instance, to read more check out the [white label documentation page](/dick-docs/en/configs/whitelabel). + +As well as this, they can enable hCaptcha and configure it: + +#### hCaptcha Enabled +If enabled, your instance will use hCaptcha for the login and register pages, if disabled it will only send failed logins to a Rick Roll. + +#### hCaptcha Site ID +This is the hcaptcha site id if you plan to use hCaptcha as captcha to protect your DICK instance. + +#### hCaptcha Secret Key +This is the hcaptcha secret key found in your hcaptcha account if you plan to use hCaptcha as captcha to protect your DICK instance. + +*Added in v1.1.0* diff --git a/src/pages/en/features/filemanager.md b/src/pages/en/features/filemanager.md index 07e3a4b..ba36cea 100644 --- a/src/pages/en/features/filemanager.md +++ b/src/pages/en/features/filemanager.md @@ -4,5 +4,12 @@ description: File Manager information layout: ../../../layouts/MainLayout.astro --- +This tab is found on the `User Dashboard`, and allows the user to view all their files they have saved in the ASS server. + +On this page the user can see thumbnails, size, and date of upload of their files.
+They can also delete individual files. + +This page is sorted automatically where new uploads will appear first.
+As you scroll down, more files will load in until you have loaded all your files. *Added in v1.0.0* diff --git a/src/pages/en/features/hcaptcha.md b/src/pages/en/features/hcaptcha.md index b779f4c..65a5cea 100644 --- a/src/pages/en/features/hcaptcha.md +++ b/src/pages/en/features/hcaptcha.md @@ -4,4 +4,11 @@ description: hCaptcha Information and Setup layout: ../../../layouts/MainLayout.astro --- +You can enable hCaptcha to protect your login and registration routes. By default, this is turned off and all incorrect logins will be redirected into a rick-roll. + +To get started, [enable hcaptcha in the app settings](/dick-docs/en/features/appsettings).
+Then grab your site and secret keys from [hCaptcha's website](https://www.hcaptcha.com/) and add them to the app settings page. + +More detailed instructions will be included in the release of v2.0.0 + *Added in v1.1.0* diff --git a/src/pages/en/features/users.md b/src/pages/en/features/users.md index e99ffc0..220677a 100644 --- a/src/pages/en/features/users.md +++ b/src/pages/en/features/users.md @@ -1,7 +1,11 @@ --- -title: Users Panel -description: Admin user configuration information +title: Users Management +description: Admin user management information layout: ../../../layouts/MainLayout.astro --- +

Admin Only Feature

+ +This tab is inside of the `Admin Dashboard` page and shows a list of all users added in your ASS instance, as well as their roles.
+This page allows the user to create a new user, as well as delete already made ones. *Added in v1.1.0* diff --git a/src/pages/en/index.md b/src/pages/en/index.md deleted file mode 100644 index b0f81f4..0000000 --- a/src/pages/en/index.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: Installation -description: Docs intro -layout: ../../layouts/MainLayout.astro ---- - -## About The Project -r -Dick was created to be an easy to use front end for Ass as there was no public option to allow users to view their saved images on their server. I decided to learn tailwind and also at the same time build this. I did this all in my spare time, and will keep updating as best as I can while I use it. I'm still learning all this so if anyone has suggestions on how to do things better, I am all ears! I love learning! :) - -**Current Feautres:** -1. General statistics on your file uploads -2. File browser, allows you to see all your uploads on one webpage -3. Deletion of items -4. Copy link of items -5. Customize DICK (completely white label) -6. Register new ASS users -7. hCaptcha on login and register pages You can learn more here. - -## Deploying - -You have a few options for deploying DICK, depending on your needs. - -[Production - Source](/en/installation/production/source) - -[Production - Docker](/en/installation/production/docker) - -[Development - Source](/en/installation/development/source) diff --git a/src/pages/en/index.mdx b/src/pages/en/index.mdx new file mode 100644 index 0000000..68e197c --- /dev/null +++ b/src/pages/en/index.mdx @@ -0,0 +1,8 @@ +--- +description: DICK Introduction +layout: ../../layouts/MainLayout.astro +--- + +import README from "../../components/Content/README.astro"; + + \ No newline at end of file diff --git a/src/pages/en/installation/development/source.md b/src/pages/en/installation/development/source.md deleted file mode 100644 index 69a6f03..0000000 --- a/src/pages/en/installation/development/source.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: Source Installation -description: Install and run DICK from source for development -layout: ../../../../layouts/MainLayout.astro ---- - - 1. Create a folder, call it whatever you wish - 2. Install, and run ASS https://github.com/tycrek/ass#installation (This will create an `ass` folder) - 3. Go back into the folder you created and clone this repo `git clone https://github.com/Facinorous-420/dick` - 4. Go into the newly created `dick` folder `cd dick` - 5. Go into `/src` and copy `constants.ts.example` to `constants.ts` and edit it as needed - 6. Go back to the root of `dick` and install the dependancies for the frontend, `npm i` - 7. Run `npm run build:dev` to compile the code base in watch mode - 8. In a new terminal, run `npm run serve:dev` to run DICK using nodemon diff --git a/src/pages/en/installation/docker.md b/src/pages/en/installation/docker.md new file mode 100644 index 0000000..5311033 --- /dev/null +++ b/src/pages/en/installation/docker.md @@ -0,0 +1,23 @@ +--- +title: Docker Installation +description: Install and run DICK from Docker for production +layout: ../../../layouts/MainLayout.astro +--- + +DICK currently has a `Dockerfile` and `docker-compose.yml` included in the repo for easy set up in Docker environments. To get started: + + 1. Clone this repository: + + git clone https://github.com/Facinorous-420/dick.git + + 2. Go into the newly created `dick` folder: + + cd dick + + 3. Edit the config file to let DICK know how to connect to your ASS instance + + 4. Edit the `docker-compose.yml` to match your specific needs by changing the port, and volume location where your ass files are on your system + + 5. Run the docker compose file, this will create a new container and image named `dick`: + + docker-compose up -d diff --git a/src/pages/en/installation/production/docker.md b/src/pages/en/installation/production/docker.md deleted file mode 100644 index edb68dd..0000000 --- a/src/pages/en/installation/production/docker.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: Docker Installation -description: Install and run DICK from Docker for production -layout: ../../../../layouts/MainLayout.astro ---- - - 1. Create a folder, call it whatever you wish - 2. Install, and run ASS https://github.com/tycrek/ass#installation (This will create an `ass` folder) - 3. Go back into the folder you created and clone this repo `git clone https://github.com/Facinorous-420/dick.git` - 4. Go into the newly created `dick` folder `cd dick` - 5. Go into `/src` and copy `constants.ts.example` to `constants.ts` and edit it as needed - 6. Go back to the root of `dick` and edit the `docker-compose.yml` to match your specific needs by changing the port, and voluime location where your ass files are on your system. - 7. Run the docker compose file `docker-compose up -d` this will create a new container named `dick`. - 8. diff --git a/src/pages/en/installation/production/source.md b/src/pages/en/installation/production/source.md deleted file mode 100644 index 5ef8092..0000000 --- a/src/pages/en/installation/production/source.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Source Installation -description: Install and run DICK from source for production -layout: ../../../../layouts/MainLayout.astro ---- - - 1. Create a folder, call it whatever you wish - 2. Install, and run ASS https://github.com/tycrek/ass#installation (This will create an `ass` folder) - 3. Go back into the folder you created and clone this repo `git clone https://github.com/Facinorous-420/dick.git` - 4. Go into the newly created `dick` folder `cd dick` - 5. Go into `/src` and copy `constants.ts.example` to `constants.ts` and edit it as needed - 6. Go back to the root of `dick` and install the dependancies for the frontend, `npm i` - 7. Run `npm start` to compile the code base and run DICK diff --git a/src/pages/en/installation/source.md b/src/pages/en/installation/source.md new file mode 100644 index 0000000..857a46a --- /dev/null +++ b/src/pages/en/installation/source.md @@ -0,0 +1,38 @@ +--- +title: Source Installation +description: Install and run DICK from source for production +layout: ../../../layouts/MainLayout.astro +--- + +DICK can be installed locally through source if you have `Node >=v16.14.0`: + + 1. Clone this repository: + + git clone https://github.com/Facinorous-420/dick.git + + 2. Go into the newly created `dick` folder: + + cd dick + + 3. Edit the config file to let DICK know how to connect to your ASS instance + + 4. Go back to the root of `dick` and install the dependencies for the frontend: + + npm i + + 5. Lastly we can start DICK: + + npm start + +___ + +To keep your DICK up persistantly, you can use `pm2`: + + 1. Install `pm2` using `npm`: + + npm i -g pm2 + + 2. Run it using `pm2`: + + pm2 start app.config.json && pm2 list + \ No newline at end of file diff --git a/src/pages/en/more/contributing.md b/src/pages/en/more/contributing.md new file mode 100644 index 0000000..d0630fc --- /dev/null +++ b/src/pages/en/more/contributing.md @@ -0,0 +1,59 @@ +--- +title: Contributing +description: How to contribute +layout: ../../../layouts/MainLayout.astro +--- + +## General Contributing Guidelines + +Sometimes the easiest way to get your ideas added are to add them yourself. I am always happy to accept PRs for adding features, bug fixes, or code clean up. Let's just work together to keep this project organized! + + If using VSCode, I'd recommend using this extension: https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-pull-request-github + +To get started, to break down the process of forking to creating the PR, there are 5 basic steps as detailed below: + +1. Fork the Project +2. Create your Branch (`git checkout -b feature/AmazingFeature`) +3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`) +4. Push to the Branch (`git push origin feature/AmazingFeature`) +5. Open a Pull Request + +## PR Types + +There are 3 types of PRs that you can make, `Feature`, `Bug Fix`, and `Clean Up`. + +When creating the PR, please use this format: ` {title}`
+An example title for a feature PR would be ` Deletion of users from Admin dashboard` + +Please include a detailed description of what this PR is doing, and why it is doing what it is doing.
+ - If it's a `bug fix`, please explain what the issue was (point to an issue is enough) and what was done to fix it.
+ - If it's a `feature`, please explain what you added, and why a user may want this feature. Optionally, to help push your feature in faster, include a PR to edit this documentation to document your new feature and link to it in the feature PR.
+ - If it's `code clean up`, please explain why you are doing the clean up such as why you are deleting a feature. + +## Running The Development Setup + +Running the project for development purposes is super easy. + + 1. Clone this repository: + + git clone https://github.com/Facinorous-420/dick.git + + 2. Go into the newly created `dick` folder: + + cd dick + + 3. Edit the config file to let DICK know how to connect to your ASS instance, hopefully not a production one + + 4. Go back to the root of `dick` and install the dependencies for the frontend: + + npm i + + 5. Lastly we can start DICK in development mode: + + npm start:dev + + Runs the app in the development mode.\ +Open [http://127.0.0.1:3000](http://127.0.0.1:3000) to view it in the browser. + +The page will reload if you make edits.\ +You will also see any lint errors in the console. \ No newline at end of file diff --git a/src/pages/index.astro b/src/pages/index.astro index 265027c..0601055 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -1,5 +1,5 @@