Today I built this personal site. This is a task I've been putting off for a long. time.
The first assignment for my Data Science and Analytics class is to build a personal website with a short bio and a professional photograph, but I built this instead.
Static Site Generator
I knew that I wanted to use a static site generator. The requirements of the assignment included hosting your simple site on the university server, or via GitHub pages (spoiler alert: I went with github).
I've used static generators prior; my cv is hosted on github using Jekyll. I've got nothing bad to say about jekyll. It works great for my CV, and if Zola wasn't written in Rust 🦀 I probably would have, but wow-- Zola is fast. Very fast. Zola build on this site takes 20ms, whereas Jekyll on my CV takes 392ms. This isn't a dig on Jekyll, I'm not complaining about waiting 392ms, but Zola is almost imperceptibly fast.
I have ported my CV over to be part of this site! Zola with blog posts, my landing page, and my cv builds in 83ms, over 4x faster than Jekyll.
Knowing I was going to build this site, I spent $9.99 on a udemy course to learn a little bit about svg. I'd seen the amazing things that somepeople make with SVG and while I will probably never do that I wanted to have some fun with this.
The udemy course was an absolute waste of $9.99. I won't link to it as to not slander the creator, I'm sure some people found it very useful. It was highly rated, but it wasn't at the level I wanted.
We made this cute 'lil face (modified to work with dark mode)! And it's fine, but it wasn't what I was looking for. That was a bust, but it did give me some basic knowledge and understanding of how SVG works that I leveraged for the silhouette illustration of the reaper.
Since I use Travis for my other projects' build pipelines it made sense enough to use it again. The Zola documentation has a tutorial for setting up a continuous deployment build with Travis, but I wasn't having success with just following the tutorial. I've used Travis enough that I decided just to "do the work myself" and came up with this .travis.yml
# Download and unzip the zola executable
- curl -s -L https://github.com/getzola/zola/releases/download/v0.11.0/zola-v0.11.0-x86_64-unknown-linux-gnu.tar.gz | sudo tar xvzf - -C /usr/local/bin
- zola build
Light mode/Dark mode --> Party mode/cold-reality-mode mode
Admittedly all of the hard work of designing a color scheme was done for me. I ape'd a significant amount of the markup for this site from cassie.codes, but I implemented my own simple mode switcher from party mode to cold-dark-reality-mode.