From: Kyle Bowman Date: Thu, 31 Oct 2024 12:46:38 +0000 (-0400) Subject: chore: update todo list X-Git-Url: https://git.rocketbowman.com/?a=commitdiff_plain;h=79249858606fa8f23a1f492ebe3e4f99287be9f9;p=jetsam.git chore: update todo list --- diff --git a/todo.md b/todo.md index 4503492..7630645 100644 --- a/todo.md +++ b/todo.md @@ -1,62 +1,84 @@ +# Design philosophy +* Few dependencies + * use pandoc features itself when possible + * use pandoc filters for structured processing + * use pandoc-lua for general-purpose scripting +* Separate framework from content. + * You can link content into the main content directory + # To Do -* Add navigation to template to make notes useful. - * ~~Need an index page.~~ - * ~~I only want files in the build directory.~~ - * ~~I want a clickable link with a reference to the title.~~ - * (Stretch) An automated description would be nice. - * ~~(Stretch) Alphabetize index.~~ - * ~~Add index page to nav bar for every page.~~ - * Enhancement: Create an index/nav item per directory (and eventually keywords?) - * Summaries directory. (Public) - * Zettelkasten directory. (Private) - * Writings (Public) - * (Defer) About - add acknowledgements - * (Defer) Summaries - index - * (Defer) Figure out other categories. +## Figure out Images + +* Images are part of content and should be linked in. +* Images might be their own thing or part of a subdirectory. (e.g. public/private) +* Figuring out how, in the Makefile, to copy images/assets might be tricky. + +## Improve Index + +* index.sh is hardcoded and janky - it should probaby leverage a pandoc-lua + and/or pandoc templates. +* (Stretch) Should acknowledgements be a template? + + +## Navigation Improvements: +* Enhancement: Create an index/nav item per directory (and eventually keywords?) + * (Defer) About - add acknowledgements + * (Defer) Summaries - index + * (Defer) Figure out other categories. + +## Make Deploy * Figure out a `make deploy` with a `.env` file. - * Serve via goddard on push. (If using git hook in rb, use .env file) -* Clean up coding/organizational messes - codify design philosophy. - * Drive project-level batch interactions from Makefile - * What about file level operataions, like hardwrapping an MD file? - (I'll probably need Python for that and I don't want to add a - dependency. We will add that as a separate CLI tool.) - * Helper scripts should go in a separate dir. - * Try to decouple hardcoded things - * index and template use different hardcoded paths to CSS. - * (Stretch) Should acknowledgements be a template? - * (Stretchier) Should I mention Pandoc (def), GNU Make (prob), VSCodium (prob not), Foam (prob not), - Debian(very prob not)? - * 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. - * _static should contain only things that are copied into the website - * How to handle site-specific assets, like images? - * Idea: public/_static and public/src. Can I leverage GNU stow or similar link farm? - * (Stretch) Reformulate my templates based on jgm's templates so I can + * Serve on push. (If using git hook in rb, use .env file) + +## Clean up / Refactor +* Try to decouple hardcoded things + * index and template use different hardcoded paths to CSS. + * (Stretchier) Should I mention Pandoc (def), GNU Make (prob), VSCodium (prob not), Foam (prob not), Debian(very prob not)? +* 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. +* (Stretch) Reformulate my templates based on jgm's templates so I can merge updates easily. -* Write the README * Extract lessons from `experiments.md`. * I'm torn about where to put these. In the project or in my notes? * (Stretch) Formalize demo and add tests * (Stretch) Add a hotkey to strike through a line in a to-do list. * (Stretch) Start building a CLI 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 -# Done -* ~~Structure notes~~ - * ~~rocketbowman - keep this publishable. Contains functional components like _static, Makefile, tests, templates~~ - * ~~README (and maybe eventually doc/)~~ - * ~~Makefile~~ - * ~~Acknowledgements~~ - * ~~_static/~~ - * ~~tests/~~ - * ~~symlink to public/ dir/repo~~ - * ~~symlink to private/ dir/repo~~ -* ~~Move, symlink and categorize notes~~ - * ~~How do I want to archive git repositories?~~ - * ~~Convert .tid (md + md.meta) int md (w/ frontmatter)~~ - * ~~private: zettlekasten (private?)~~ - * ~~public: summaries/how-to/essays (need to determine categories)~~ \ No newline at end of file +# Feature: Interactive Terminal/Markdown Experience + +I want my editor to be able to send and receive info from my terminal in +order to create an interactive writing/experimenting experience. Here are some +ideas: + +* 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 +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