This is the source code for https://werefox.cafe, https://info.werefox.cafe, and possibly other subdomains in the future.
Go to file
Alexis Werefox 0eb5a3d549 Change rel tags for mastodon. 2022-06-28 18:28:46 +00:00
src/info Change rel tags for mastodon. 2022-06-28 18:28:46 +00:00
.gitignore Added public to the repo because why the fuck not? 2021-04-26 00:19:16 +00:00
Dockerfile Thanks again, asonix. Updated dependencies to remove lines from Dockerfile. Fixed HRT Tracker... Again. 2021-04-26 16:49:40 +00:00
LICENSE Templated out the identities pages, no longer linking externally. Added AGPL3 2021-04-26 15:55:28 +00:00
README.md Updated README. 2021-10-20 23:20:46 +00:00
deploy.sh Rename container to align with how the site is currently used. 2021-10-17 22:55:24 +00:00
docker-compose.yml Rename container to align with how the site is currently used. 2021-10-17 22:55:24 +00:00

README.md

Source Code for werefox.dev

Here's all the source code for the site I host on werefox.dev.

(If the subdomain changes, I'll update the README)

Development

You can use the deploy.sh script to start up the container in development mode.

./deploy.sh dev

This will handle starting a new container of Next.js with all required packages for the site in development mode. You should use this if you're planning on running the site using production mode later so you can see changes to your code in real time and test any backend changes.

Keep in mind that you should never host this site in development mode publicly. This sentiment reflected in the documentation for Next.js.

Production

You can also use the deploy.sh script to start up the container in production mode.

./deploy.sh build
./deploy.sh start

The build parameter will generate the necessary static assets for the site, including any static pages and JSON. The start parameter starts up a production server. If the build fails, you won't be able to start a production server. So, if you decide to issue something like ./deploy.sh build && ./deploy.sh start just keep that in mind.

Personalization (Forking)

You're absolutely free to fork this code and make some modifications for your own site! I simply ask that you not host something that looks like it's just my own personal site somewhere else, and that you link either yours or at least the original source code. Additionally, if you intend to keep Mutant Standard emoji, please do not forget to include the Creative Commons license statement.

pages/

The project itself is split into pages/, data/, and components/ mostly. Pages are used to define both the routes and the site pages themselves. They're the most high-level part of the site's structure, since they import data and code from data/ and components/ respectively.

data/

If you're mainly interested in editing the various text and such from the site, you're gonna be looking at the files in the data/ subdirectory. It's very likely you'll also want to make some changes to the components at some point if you're doing this, but if you just wanna mess around so you can get a better understanding of how things work together, this is a great place to start.

components/

Unless you are making major changes to a page, you likely will want to edit the code in components. This is where you can edit a lot of the JSX that's defining the different elements of each page. Think of it as editing sections of a template.

CSS

It's also likely that if you're editing data and components, you'll want to change the theming and styles of things. This project uses tailwindcss, which is quite unique amongst most CSS frameworks.

Without writing an intro to the framework itself, I'll give a brief summary. If you take a look into the components, you'll notice that tags tend to have a lot of class names. Tailwindcss uses these class names to apply specific styling to elements, rather than making sets of CSS files to define styling based on classes and ids.

If you want to change the color palletes of things, you should look at tailwind.config.js. This file can define quite a few other things throughout the CSS framework, but I'll leave the investigation of that to some reading through of their documentation.