About me



Open Source Projects

About this site

This site is written and published using Pollen. Many thanks to Joel Dueck for indirectly helping to create the RSS feed through his code. You can find the complete code in the github repo.

If you want to discuss anything, shoot me an email, or text me on Telegram.

All posts licensed under CC BY-NC-SA 4.0. Code examples are, except otherwise noted, licensed under the MIT License.

Some things I’d like to add:

list/table support

The macro will accept a list/hashmap of values (tuples?) denoting each column.

Optionally, it will receive a list of header items.

self-contained post encryption

We can use Racket’s read/write functions to ask the user for a password. When we want to password-protect a post, we could add a meta like so:

◊(define-meta locked #t)

This would prompt pollen to ask us for a password. It will take the body, encrypt it, and embed the metadata in the head section so that javascript can decrypt it.

full text search

For starters we can just use a {google,bing,duck}.com search redirect with site:our-site.com. Another option is to use lunrjs. We can pre-build the page index and host a static .json file that we can use.

Disadvantages: uses javascript.

Syntax coloring

Use some js library to add color to code blocks.

Self host fonts

Inter looks cool. Pair with this tutorial to self-host the font files. The font also has nice features that will pair nicely with quad.

Add “last updated”

Add a “this page was last updated on XXX” to the about page. An idea is to just track the “about” page, or maybe the index. Do we want to add this to every page? In any case, some ideas are to use git for this.

First: from racket, get the name of the file; second, get the last commit that touched the file, and the date. The command looks something like:

git log -n 1 --pretty=format:%cD', ref '%H -- <file>

Series Ideas

Borrowed from Joel’s The Local Yarn, series are “categories on steroids”, that present the list of articles under the series in a different rendering, with an (optional) introduction at the top.

In a particular piece, I can say “This piece is part of ...”. Also, when browsing the pieces from a particular series, the snippet linking to the series should disappear.

Add (code) callouts

Borrowed from Asciidoc’s code callouts, we could also add something similar (either in code, or in any piece of code). Do something similar to what Joel suggests about links, separating urls in separate tags.

For us, we could have a tag that inserts the callout number, in a similar style to what we do for footnotes. Another tag inserts the comment. We can also make the callout numbers un-selectable.