Skip to content

justinhschaaf/justinschaaf.com

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

143 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JUSTIN[SCHAAF]

justinschaaf.com

Personal Website v6

Donate

If you like what I do, please consider supporting me on Ko-Fi or Liberapay.

Donate on Ko-Fi Donate on Liberapay

How It's Made

This website is mostly Markdown, compiled to HTML using Zola, all styled with SCSS. Much of the information in this section is for my own future reference because I know I'm likely to forget it without some assistance.

File Structure

  • All pages are stored in content. The directory structure reflects the website routes.
    • Zola has "sections" at the root of a route, the _index.md file in each directory. This sets the default template for all pages in the directory, how they're sorted, and generally what they are.
    • Other Markdown files are the pages in the section.
  • These pages get their layout and format from templates, stored in templates.
  • These templates have styles originally written in SCSS, stored in sass.
  • All static content and scripts are in static, made relative to the website root during compliation.
    • static/assets are meant to be used sitewide
    • static/scripts is for all JavaScript
    • Other directories (e.g. static/blog and static/projects) are meant to correspond to the routes they provide assets for.

Workspace Setup

If you're not on NixOS, install the Nix package manager for your system using the Determinate Nix Installer.

Note

I recommend the Determinate installer over the default provided on the NixOS website since the default doesn't work on SELinux systems (e.g. Fedora) while the Determinate installer does.

Once Nix is installed, enter the dev shell by running nix develop in the project directory. Assume ALL commands hereafter are in this shell unless otherwise stated.

  • Alternatively, you can enter the dev shell automatically when you cd into the project folder by installing direnv.

Developing

Run zola serve to open a development server on localhost:1111, allowing you to preview changes in real time.

Additional Resources

If you want to make a website in Zola yourself, here are some of the sources I used:

I've also scatterd references here and there for specific bits of code.

License

The source code for the website itself is licensed under the zlib license.

I'm still not certain what I want to specifically license the banner images under at this time, so assume that they're All Rights Reserved with exceptions when used for reference or educational purposes with proper attribution provided.

Major Mono Display and IBM Plex Mono are both licensed under the SIL Open Font License.

You may not use any content on the site as training data. Not like that's going to stop you.

Sponsor this project

Contributors