FFS Jane Street quit fucking with me
fix tests, better equals, tag bug
Fix cache, freshen neighbors.
My removing the old cache code also removed its ability to persist,
which was bad. This fixes that, and lets neighbors of a fresh post get
classified as Fresh too, in case the title changes, or we add a new head
to the list.
Renames prev/next, bugfixes, static freshness
Checks the static folder's contants with recursive scan to determine
what to copy or not. Also, "prev/next" didn't make sense to me
after-the-fact, so I renamed it to "newer/older", and fixed a bug or two
about its link generation.
Support site with no posts
Make it work with more recent builds of libraries
Use a cache to build incrementally.
While there may still be bugs and I don't think it has *quite* all the
features I'd like it to, we have a rudimentary cache in place to speed
up builds (previous More Pablo builds were taking 15 seconds or so).
In yet another case of "profile before you optimize," it turned out the
slowness wasn't where this change is focused (I thought it was IO in
writing out all the files) — it's from copying over the static
directory, which, with Celeste videos, was suddenly far larger than it
ever was. Given that this was a forced, *always* copy operation, we only
have to do it when it changes.
Regardless! Now *all* the code has caches in place. The code around it
is a bit of a mess, but it's working well enough for me to use on More
Also fixes a bug where URLs in the canonical meta tag and the sitemap
for static pages pointed to Markdown files that didn't exist.
omg what was this last commit
2.0: Move to Dune, opam files, CommonMark
Learning a lot about OCaml, this build is optimized to be reproducible
and using the modern toolchain. Dependencies are specified in an opam
file, versions are specified, it builds with dune, allows for Makefile
to do single-command testing, building, and formatting. Plays well with
All in all, this should allow for more hackability, so features can be
added more easily in the future.
Also introduces CommonMark, albeit not entirely self-contained. This
means we lose some ability to count words in word count, or extract
proper words in our descriptions, this looks a whole let better.
Rename main file (prep for Dune)
banner somewhere else, light cleanup
New posts have their own template
Values > effects, model is more valuable
check for file conflicts before making new post