mirror of
https://github.com/sbrow/thor.git
synced 2026-08-26 11:23:32 -04:00
75 lines
3.8 KiB
Markdown
75 lines
3.8 KiB
Markdown
- [ ] Content-hash fingerprinting for CSS and JS cache busting
|
|
- [ ] Clean up the default layouts
|
|
- [ ] Performance
|
|
- [ ] See if we can disable bounds checks in `write_indented` and elsewhere.
|
|
- [ ] Instead of loading the site fresh each time in watch mode, create a
|
|
`reload_site` proc, that just updates changed resources.
|
|
- [ ] Only publish referenced assets.
|
|
- [ ] Split `load_page` into frontmatter-parse + body-process phases so draft pages can skip the markdown pipeline entirely
|
|
- [ ] Use spall to find ways to reduce run time.
|
|
- [ ] mustache data keys for opengraph, etc.
|
|
- [ ] Author should be a struct adhering to https://schema.org/author
|
|
- [ ] Block attributes on code fences (`{ #ex-1 }`) — hello-world.md
|
|
- [ ] include-code shortcode (`{{< include-code ... >}}`) — i-ported-fd-to-odin
|
|
- [ ] follow symlinks in `scan_content`?
|
|
- [ ] ensure sidenote numbers render in display order and not in declaration order.
|
|
- [ ] OpenGraph meta tags — verify all fields match production site
|
|
- [ ] Add Opt-in deflist support.
|
|
- [ ] We need to be able to do `Year_Section` in a non-magical, unprivileged way. See [PLAN.md](PLAN.md) for computed properties approach.
|
|
- [ ] set opengraph tags / description automatically if unset. (Like hugo does)
|
|
- [ ] Table of contents support.
|
|
- [ ] prefixing every log message with `thor: ` is silly
|
|
- [ ] Nav items should be active when the current page is selected.
|
|
- [ ] Theme selector for syntax highlighting.
|
|
- use http://github.com/helix-editor/helix/tree/master/runtime/themes) as a
|
|
guide
|
|
- [ ] grammars
|
|
- [ ] Search in multiple places
|
|
- [ ] Download missing grammars.
|
|
- [ ] Durable highlight paths: read `GRAPHS_PATH`/`QUERIES_PATH` from env vars set by the flake instead of hardcoded nix store hashes, so they survive `nix flake update` and let the grammar/query version-mismatch detector fire automatically.
|
|
- [ ] CI
|
|
- [ ] Syntax highlighting in production: CI (`nix build` on ubuntu-latest) has no grammar `.so`s and a machine-specific `QUERIES_PATH` nix store hash, so the deployed site renders unhighlighted. Provide grammars + queries as nix build inputs and pass paths to thor at runtime (env vars/flags).
|
|
- [ ] Unit tests for highlighting helpers: `capture_name_to_css`, `escape_html`, `unescape_html`, `extract_query_token`, `helix_version_from_path`.
|
|
- [ ] `<pre><code>` blocks need to set background to theme background,
|
|
regardless of prefers-dark. (or use a different theme)
|
|
- [ ] `-watch` flag
|
|
- [x] basic poll loop
|
|
- [ ] filesystem poll loop
|
|
- [ ] event based
|
|
- [ ] Free cmark HTML output (`body_html`) — cmark allocates via C malloc, not the arena, so it leaks per iteration in watch mode
|
|
- [ ] Mount content in VFS
|
|
- [ ] commands
|
|
- [ ] `build` alias of default
|
|
- [ ] `init` set up new project
|
|
- [ ] warn/error when unknown key used in mustache.
|
|
- [ ] Import/export packages. Hugo, jekyll, WordPress, etc.
|
|
- [ ] Markdown
|
|
- [ ] Add overloads for every extension - accept ^strings.Builder.
|
|
- [ ] Add conventional (Hugo style) footnotes option.
|
|
- [ ] Add heading ids as a default on extension.
|
|
- [ ] Review every file in thor
|
|
- [ ] Review assets.odin
|
|
- [ ] Review content.odin
|
|
- [ ] Review defaults.odin
|
|
- [ ] Review feed.odin
|
|
- [ ] Review frontmatter.odin
|
|
- [ ] Review main.odin
|
|
- [ ] Review minify.odin
|
|
- [ ] Review `markdown/`
|
|
- [x] Review alerts.odin
|
|
- [x] Review alerts_test.odin
|
|
- [x] Review emoji.odin
|
|
- [x] Review emoji_test.odin
|
|
- [ ] Review footnotes.odin
|
|
- [ ] Review footnotes_test.odin
|
|
- [ ] Review highlight.odin
|
|
- [ ] Review markdown.odin
|
|
- [x] Review sectionate.odin
|
|
- [x] Review sectionate_test.odin
|
|
- [ ] Review render.odin
|
|
- [x] Review site.odin
|
|
- [ ] Review treesitter/treesitter.odin
|
|
- [ ] Review vfs.odin
|
|
- [ ] Review procs
|
|
- [ ] markdown.transform_alert
|