+# 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