Some things I’m thinking about and playing with.
- Migrate the Design pages to notes
- Rename “TODO” to something like “Explorations” to deemphasize the productivity of it; add a redirect.
- Support wiki-style cross references (see Ink’s CommonMark Extensions: Cross-References). #high
- Support for fragment identifiers
- Note identifiers should resolve irregardless of folder hierarchy
- Support replacement text
- Drop support for path-based cross references to keep things simple #cleanup
- Update Ink’s CommonMark Extensions: Cross-References #documentation
- Support intra-document links without an identifier:
- Support for definition lists (see Ink’s CommonMark Extensions: Definition Lists). #high
- Some definition list items should generate fragments for cross references
- Allow for private notes (as opposed to just private sections in a note) #high
- Maybe even private directories? This would be great for the daily folder, possibly others.
- Backlinks from private notes shouldn’t be shown
- Links to private notes should be redacted in some way
- Backlinks should include some contextual content, ideally a couple of sentences.
- #question Should there be another kind of navigation layered on top of notes? An index of all notes, or tag or folder listing
- Ability to use the same structred content in multiple notes.
- Ability to bind stuctured data to another name in a template.
- Fenced code blocks should be formatted and highlighted like other code blocks
- Allow titles to be specified using Markdown
- Allow tags to be specified using #hashtag syntax. See Ink’s CommonMark Extensions: Tags. #high
- Tags at the top level should be interpreted as page metadata tags
- Task list’s special handling for tags should use this mechanism instead
- Support a syntax for mentioning a person:
@person. See Ink’s CommonMark Extensions: Mentions.
- Should mentions have a specific styling, possibly similar to private block placeholders?
- Mentions within tasklists should be styled like tags
- What would a syntax shortcut for sidenotes look like? Ink’s CommonMark Extensions: Sidenotes #high
- Can the accessibility of sidenotes be improved?
- Margin notes are currently super awkward. Can they be improved too?
- Support images in margin notes
- Add a shortcut syntax for
- Stop using
::afterfor anything that should appear in plain text.
- Use an audit step to warn about too-long
alttext strings (150ish seems like a good upper bound)
- Move the page title into the main element
- (This also means that postprocess units should work on the page title)
- And consider using an
<article>instead of a
- Improve mobile and tablet reading
- Stop scaling the viewport to 80% on mobile
- Support 1024w as a multi column layout
- Rationalize the
- Prefer using
- Consider a 12-column grid?
- Consider adjusting container widths so columns are whole integer widths?
- Prefer using
- Consider avoiding
- May need a filter in light mode to produce figures that match the background and body text.
- Run colors through the new WCAG contrast algorithm.
- Need a better way of attaching captions to images, so that I don’t have to write single line HTML for reasons. #high
- Support vector figures, and run the colors through the site’s color palette #high
- Process figures in parallel, to speed up building pages with lots of images
- #cleanup Clean up the filter system.
- Filters may apply to light mode content too.
- #cleanup Remove the video subsystem until it can be revisited?
- Use a
footerelement inside a
blockquoteto source the quote.
- #question When a task links to a note, should the backlink be marked up in a special way? Or perhaps it should go the other way: tasks on Notes should be aggregated into the Todo note?
- #question Do placeholder notes generate task items automatically?
- #bug Items without authors should be sorted by their title in bibliography listings
- #bug The external link icon for archive links are too small (inheriting the size of the archive URL)
- Informal citation style improvements
- Include containers
- Include notes
- #bug Why are the person and cite parser rules conflicting?
- Adopt bibliographic content warning system for pages
- Option to suppress the replacement notice
- Consider adding
$$as a syntax shortcut.
- Need a way to differentiate inline and display contexts.
- #low Table style with tall braces around
- A sans-serif style for tables that benefit from quicker reading / scanning (rather than looking nice)
- Optical margin alignment for body text.
hanging-punctuationshould not apply to code blocks. (Implementing a custom optical margin alignment scheme may be the best way forward.) #bug
- Use the italic ampersand in headers
- Contextual multiplication symbol replacement
->to arrow replacement #low
- Contextual spacing around some punctuation like
- Revisit ligatures.
- Figure out a way to move some ligatures between the different feature sets.
- Which would then open up the possibility of using quaint ligatures in headers only, and other ligatures in body text.
- Revisit figures; consider eliminating the extra letter spacing.
- Restructure how point sizes are managed
- Consider a modern modular scale, rather than a traditional printer’s scale?
- #cleanup Metrics for monospaced code blocks should be calculated from fonts instead of hardcoded
letter-spacingshould not include an extra space after the letterspaced text.
- Add additional spacing around quoted “CAPITALS” #low
- #question Consider bumping the size of side notes a point or two
- #question Is inline code disrupting the line height of text?
- #question How difficult is it to modify the kerning table for a font? Can it be scripted, e.g. like a patch? Would be nice to fix “Ja”, others.
- #question What’s the right way to improve spacing around punctuation, especially brackets, parentheses, and dashes?
- Icon font cleanup
- Build the icons font ourselves rather than using an online tool
- Adopt the new icon font across the site
- Revisit using a Japanese webfont using a different subsetting strategy
- Remove most of the Garamond ordinals that aren’t being used
- #bug #cleanup The FontProcessor should not emit package info (like the CSS file) if working only a subset of the fonts specified via command line options
- Expand the
GSUBsubstitution dropping code to handle more complex substituions, allowing us to reenable Inter’s
calttable with only a couple of the rules that position symbols vertically.
- Consider a mechansim for transclusions. Could be useful for snippets of text included in multiple notes. See Ink’s CommonMark Extensions: Transclusions
- Consider a mechansism for admonition blocks. Could be used to break up a long document, providing callouts or other ways to highlight content. See Ink’s CommonMark Extensions: Admonition Blocks
- Consider migrating away from Apache, since it’s all just static files with some other rules
- Run stylesheets through an optimization pass
- #question Consider pre-compressing resources with Zopfli and Brotli
- #question Does this make sense for all HTML files too? Or just e.g. CSS?
- Figure out how to handle formatted source code; should the original text be copied without all of the spans or should color styles be inlined?
- The indentation doesn’t seem to be carried over correctly either; 2ch indented lines are indented 4ch?
- Code blocks seem to have an extra newline at the end.
- Sidenote numbers should be replaced with superscript digits?
- (Should they be replaced in the main generated content as well? What do screenreaders do with superscript digits?)
- External links don’t need both the accessibility text and the external link arrow.
PathUtilities.mkdirpSyncshould be replaced with direct
fs.rmshould be used instead of
- Get rid of Moment.js and use built-in types
- #bug Ingredients should be in an
ul, since there’s an implied order to the their use?
- #bug Ingredients should not spread out to the height of the group when the steps are longer (may need a container element to take up space in the parent grid’s layout)
- Implements should use the
span.nameelement for a consistent structure?
- Make prep steps stand out more. Maybe they get some kind of label?
- Consider Barlow for subrecipe headers, to match the step numbers.
- Make subrecipe sections stand out more somehow? (background color?)
- Group recipe sections into a wrapper element to eliminate the
- Recipes should print nicely (using the grid style, probably).
- Additional kinds of content
- Recipe description
- Notes that apply to the recipe rather than a single step