# TODOs ## General Remember to polish existing features before moving on to new ones. - [ ] `build` command alias of default - [ ] `new site` command to set up new project - [ ] Some render errors blank the entire page instead of scoping to the failing tag. - [ ] We must remove all mention of `posts` from the odin code. At present, "posts" are a user-level construct defined as pages in a particular collection. - [ ] ? Clean up the default layouts (no idea what this means) - [ ] `group_by` currently requires a computed `year` field on the page. - We should replace this with `{{ pages | group_by (date | "2006") }}` or similar - [ ] does it make sense for partials to be inside layouts? - current: `layouts/partials` - alt1: `layouts`, `partials` - alt2: `templates/layouts`, `templates/partials` - [ ] pipes - [ ] first/last - [ ] warn when using negative numbers - [ ] warn when using default arg on string - [ ] add the above warnings to DIAGNOSTIC_TODOS.md - [ ] sort_by ## Documentation - [ ] talk about the context stack (and its limit). - [ ] highlight the differences in the way menus are handled. - [ ] explain that html/css/js comments are rendered, except in minify mode. ## Investigate - [ ] running ./thor/thor still logs the debug message: using config /home/spencer/github.com/sbrow.github.io/thor.json - wrong cwd? ## Diagnostics All diagnostics (errors) should show - *What* went wrong - *where* (in the file) - *where* (in the stack trace) - *how* you can fix it (if applicable) - [ ] try to make file paths clickable links. - [ ] make sure the frontmatter parser has good diagnostics. - [ ] add all known diagnostics to [DIAGNOSTIC TODOS](./DIAGNOSTIC_TODOS.yaml). - [ ] fix the broken diagnostics in [DIAGNOSTIC TODOS](./DIAGNOSTIC_TODOS.yaml) - [ ] show *stack trace* for template partials? - [ ] show where the typo occurred (config file path for `apply_extension_config`, full `-ext:value` for `parse_extension_list`) - [ ] **all** diagnostics in [DIAGNOSTIC TODOS](./DIAGNOSTIC_TODOS.yaml) must be tested. - [ ] only report format errors once. - [ ] only report missing partial errors once. - [ ] better diagnostics for syntax errors in treesitter. - [ ] Ensure diagnostics for MAX_CONTEXT_DEPTH are good. - [ ] improve matching weights message. - [ ] Test menu diagnostics - [ ] Extend `tag_error` to all render-time errors, not just pipe errors. Currently only pipe errors (4 sites in `render_nodes`) get stamped with the correct template source/path. Other render errors still use the content template's source/path, which can point at the wrong file. ## Analytics Debug log stats: - [ ] final Context_Stack cap - [ ] highest PIPE args used - [ ] longest slug length + name that generated it - [ ] number of pages - [ ] number of blocks - [ ] enabled features / extensions - [ ] etc ## sbrow.github.io - [ ] Ideas is now in the wrong spot. Date is wrong, and it is showing date when it shouldn't be.