From fd15f6c1887e36cd0d49c46870062c0b264cf30c Mon Sep 17 00:00:00 2001 From: Kyle Bowman Date: Sun, 29 Dec 2024 22:51:57 -0500 Subject: [PATCH] refactor: reorganize/groom list to fit markmap better --- todo.md | 119 ++++++++++++++++++++++++++++++++------------------------ 1 file changed, 69 insertions(+), 50 deletions(-) diff --git a/todo.md b/todo.md index 51f4692..603353a 100644 --- a/todo.md +++ b/todo.md @@ -1,53 +1,72 @@ # To Do -## Improve Index - -* index.sh is hardcoded and janky - it should probaby leverage a pandoc-lua - and/or pandoc templates. - -## Navigation Improvements: -* Enhancement: Create an index/nav item per directory (and eventually keywords?) - -## Clean up / Refactor -* Can I centralize config? A `make config` would be nice if it includes - static content (like `author="Kyle Bowman"`) and dynamic content like - `files=$(ls build)`. -* Index.html will eventually need to be renamed b/c it's an "index", not the landing page. - -## Lua Library for MD files - -* Start building a Lua library that helps me manage md files. - * Hard wrap the MD files themselves. - * When a bullet point wraps, the first letter of the wrapped line ought to - align with the first letter of the leading line instead of aligning with - the bullet point. (Like this really long bullet point.) - * Spell check / prose lint - -# Feature: Interactive Terminal/Markdown Experience - -Needs to be rescoped. - -* For many things, I want to target a line, for others an inline element, -and still others, a block element. -* From an editor, I want to be able to do the following to each target - * Copy a target to the clipboard - * Send a target to the terminal (and run it?) -* From a terminal, I want to be able to: - * Copy a command to the clipboard - * Send a command to the active tab. - * Copy the output to a clipboard - * Send stdout to the active tab. - -# Feature: Tangle and Weave -* When rendering my notes, I want to be able to tangle and weave the notes in +## Technical Debt + +### Rewrite Indexer script in Lua +Rewrite index.sh to produce all.html. Currently, it is hardcoded and janky. It +should probaby leverage a pandoc-lua and/or pandoc templates. In other words, +it's not very Pandocy. + +### Centralize Config + +Can I centralize config? It would be nice if I could put all my metadata in +a central location. Another nice feature would be a `make config` kind of +easy-button. For example, I'm the sole writer. Why should each article +have `author: Kyle Bowman`. + +I could move this into the `defaults.yml` file. I could also add it to the +Makefile definition. I'm not sure I like either of those options unless I can +layer the defaults in a base + overrides kind of manner. + +## Scale Up + +### Create Subsites + +* rocketbowman.com +* git.rocketbowman.com +* dig.rocketbowman.com +* distil.rocketbowman.com + +### Enable Tagging + +One idea is to create a flat file, JSON file, or sqlite file at build time +and deploy it using the [baked data](https://simonwillison.net/2021/Jul/28/baked-data/) paradigm. +Then, write some code (preferably client-side code) that will query the data +and return a list of articles and/or an RSS feed. Better yet, just make a +styled RSS feed that people can navigate directly. + +## Content Quality Checks + +### Check for broken links + +Do check on build side, not src side. + +### Spell Chekc + +### Prose Linting + +Look into `vale.sh`. + +### Markdown formatting +* Hard wrap the MD files themselves. +* When a bullet point wraps, the first letter of the wrapped line ought to + align with the first letter of the leading line instead of aligning with + the bullet point. (Like this really long bullet point.) + +## Bells and Whistles + +### Tangle and Weave +When rendering my notes, I want to be able to tangle and weave the notes in the sense of Knuth's Web literate programming framework. - * Weave creates doc from source - * Tangle creates a program from source - * Code blocks should support filename - * Bash should support setting PWD before running. (And probably env vars - in general.) - * I have no idea how this would work. - * Maybe, you ought to just supply a .env file whenever you run the - command to extract the code. - * Both should be able to be supplied as a variable so it's executable from - another machine. \ No newline at end of file + +Weave creates doc from source; tangle creates a program from source; +Code blocks should support filenames. Bash should support setting PWD before running. And probably env vars in general. Maybe, you ought to just supply a +`.env` file whenever you run the `tangle` command. + +### Enable Text-based search + +### Enable tag-based search + +### Enable semantic search + +### Commands to edit markdown like Emacs edits org mode \ No newline at end of file -- 2.39.5