About the Author

I’m a senior at Harvard College studying Applied Mathematics in Computer Science and Statistics. I’ve been eager to take the my personal abstraction barrier to a lower level, and this class has been an exciting way to explore that.

About the Course

About this Site

Jekyll: The class’ shared remote reposity is on GitLab, which serves as a convenient host for a static site like this. I chose Jekyll, a Ruby-based framework for static site generation, to build the site. Jekyll’s features range from things like straightforward templating to transpilation of a markup like markdown into HTML, so it is heavily content-centric. Users (non-technical users) can get away with editing a few types of files, like “posts” (bloggy pages) and “pages” (non-bloggy pages) that contain metadata (relaying how the page should be built by Jekyll) and markup. That is, it is config-driven with YAML configs driving Jekyll’s key features - Jekyll takes care of site structuring (i.e. routing) or styling that would otherwise add overhead complexity. Check out the docs.

Jekyll hosted on GitLab: SSGs like Jekyll are used a lot because hosts like Github Pages or Gitlab Pages abstract away the build and deployment steps of setting up a site on the web. Unfortunately, that isn’t quite the case for our class repository. The solution to this was storing the “compiled” site on the class repository.

Work remaining: Jekyll ships with some generic gem themes (RubyGem being something like npm for Ruby) which I’m relying on. I have a lot of customization work I want to do going forward.