Title: Or more precisely, <i>my</i> little site maker... It is a personal tool that I thoroughly enjoyed making, and enjoy using to write my website &lt;<a href="https:&#x2F;&#x2F;evalapply.org" rel="nofollow">https:&#x2F;&#x2F;evalapply.org</a>&gt;.<p>A caveat before any more; nobody was supposed to promote this insanity.<p>Like, terrible things have been done involving inotify and xdotool. <i>But</i>. It showed up on HN some months ago. That too while it was still, shall we say, fermenting. It got &quot;done&quot; some time thence, and <i>of course</i> one could not let the half-past just <i>be</i>. So here we are, for better or worse.<p>Thank you HN mods for helping me repost! _\\&#x2F;&#x2F;<p>The README explains all, animated GIFs and whatnot. Some assorted highlights:<p><pre><code>  - shite&#x27;s, ah, &quot;business logic&quot; (except templates) is about 300 lines of Bash, written in Functional Programming style [^]. Pipeline all the things!
  - The innards won&#x27;t surprise Perl&#x2F;PHP&#x2F;Shell gentleperson hackers from the last century.
  - The local hot reloading workflow is surprisingly nice, and occasionally hilarious! No JavaScript needed.
  - Full rebuilds are low performance and that&#x27;s fine :)
  - Pandoc is great.
  - Sometimes sed and regex is exactly the HTML parser you need. *Very* sometimes.
  - stdio buffering can mess you up
  - jq -Rr @html # escapes HTML; what?!
</code></pre>
... and all sorts of other stuff noted in the README and inline docs.<p>[^] because shell ain&#x27;t a bad place to FP... <a href="https:&#x2F;&#x2F;www.evalapply.org&#x2F;posts&#x2F;shell-aint-a-bad-place-to-fp-part-1-doug-mcilroys-pipeline&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.evalapply.org&#x2F;posts&#x2F;shell-aint-a-bad-place-to-fp...</a><p>---<p>P.S.The commit history stops at 3-odd months ago, because I&#x27;ve been using a private fork for day-to-day content drafting, publishing, and layout tweaks. The &quot;business logic&quot; is by and large the same as the public version linked here.
Upvote: