For those interested (and for myself as a record), this is the architecture of this site.
This site runs on Jekyll, a static site generation written in Ruby. I use Jekyll for the vast majority of my site development because it’s 1) relatively easy to use; 2) uses a templating language that I can wrap my head around; and 3) I learned it before I learned how to use any other static site generator, so here we are. It also has the virtue of running mostly in Markdown, which is how I write the vast majority of my documents these days.
This is a modified version of the default
minima theme. I tweaked it a little bit for spacing and font, but I wanted to spend as little time fiddling with this site as possible so I could use it immediately for research projects. (For those keeping track at home, this site took me three hours to make.)
It’s hosted on GitHub Pages, because I’m a cheapskate and because I like version control.
The main drivers of this site’s content are individual notes files, collected as
.md files in the
_sources folder in the code. The full, alphabetized-by-author list of all these files lives under /sources. These files have two sets of tags associated with them: 1) they can be tagged as being part of specific projects; 2) or they can be tagged more generally. I mostly power these aggregating pages using Jekyll’s collections feature, although the lists of projects and tags themselves get manually/programmatically updated in
.yaml files that live in the
_data folder. You can find out how I programmatically scrape and manifest tags in a blog post here.
Eventually I would like to sort these sources by topic, but I haven’t yet figured out if tags do that work already so I’m holding off on that. Much of the work I do is heavily interdisciplinary anyway, so I anticipate that tags will be more flexible in the long run.
Finally, I have occasional blog posts like this one in Jekyll’s traditional