Tool shed

Colophon

I write everything in NotePlan. A small script copies the notes I've marked for publishing into this site's repository, turning wikilinks into links and tags into tags. Eleventy builds the pages, and Netlify serves them, alongside the rest of ohlin.co.

Credit for this lil' tool shed idea goes to my partner Victoria, my love.

Made here

  • NotePlan sync

    Copies the notes marked for publishing from NotePlan into the site, numbers new notes, and records when each was planted, tended and moved to a new stage.

    Needs: node:crypto, node:fs, node:path, gray-matter, slug.mjs, parse.mjs, folio.mjs, routes.mjs, transform.mjs

    Take it

  • Reading notes

    Reads each note in the NotePlan folder for its front matter, its title from the first heading, and its stage, layout and tags, and reports what's wrong with any note marked for publishing.

    Needs: node:fs, node:path, gray-matter, folio.mjs

    Take it

  • Turns a note's wikilinks into links, pulls out its tags, and copies its images alongside it.

    Needs: node:fs, node:path, slug.mjs, routes.mjs

    Take it

  • Slugify

    Turns a title or heading into a URL slug, so note URLs, tag URLs and heading links always agree.

    Stands alone

    Take it

  • Stages and numbers

    Names the growth stages and their sprigs, and writes note numbers as N° 011 and dates with middle dots.

    Stands alone

    Take it

  • Hillside

    Draws the hills, sun and plants above the notes index at any width, and redraws them when the window is resized.

    At work Notes

    Stands alone

    Take it

  • List helpers

    Finds a list in a rendered page and reads its items, for the plat map and this page.

    Stands alone

    Take it

  • Plat map

    Draws the Neighbors list as lots on a survey, each with an owner's initials and a survey call made from their name.

    At work Neighbors

    Needs: list.mjs

    Take it

  • Margin notes

    Moves footnotes into the margin as sidenotes, sets a lone "and" or "but" line as a separator, and marks each "to come" placeholder.

    Needs: slug.mjs

    Take it

  • Questions plot

    Plants each question in a note's Questions section as a seed in the soil.

    At work Goodhart's Law

    Needs: questions-art.mjs, folio.mjs

    Take it

  • Questions plot art

    The placeholder sprouts above each Questions plot and the sleeping rabbit's burrow beside it.

    At work Goodhart's Law

    Stands alone

    Take it

  • Ranks other notes by how they connect to the ones on the page: three points per link either way, one per shared tag.

    Stands alone

    Take it

  • Stacking helpers

    Reads and writes the stacked notes in the page's address, keeps a stacked note's ids from clashing with the page's own, and pulls a note's body out of its page.

    Stands alone

    Take it

  • Finds notes where every typed word starts a word in the title or a tag, with titles that start with the query first.

    Needs: stack.mjs

    Take it

  • Read alongside

    Loads other notes in full below the one you're reading, up to eight, and keeps them in the page's address so the stack can be linked.

    At work Goodhart's Law

    Needs: folio.mjs, related.mjs, search.mjs, stack.mjs, routes.mjs

    Take it

  • Tool shed

    Hangs this page's Made here list on a pegboard and its Borrowed list as loan cases on shelves, and checks every file the pegboard links to.

    Needs: node:fs, node:path, list.mjs, folio.mjs, routes.mjs

    Take it

Borrowed

  • On loan from noteplan.co

    NotePlan

    Where the notes are written.

  • On loan from 11ty.dev

    Eleventy

    Builds the garden's pages from Markdown.

  • On loan from netlify.com

    Netlify

    Serves the garden, alongside the rest of ohlin.co.

  • On loan from github.com

    gray-matter

    Reads and writes the front matter at the top of each note.

  • On loan from github.com

    markdown-it-footnote

    Turns footnotes in Markdown into the notes that become sidenotes.

  • On loan from github.com

    match-sorter

    Kent C. Dodds's library; the note search ranks matches the way it does.