macana

Static site generator for Obsidian Vault

Commits at v0.2.2

  1. 28409460 CLI usage document Naming convention is nearly non-existent and there is a bunch of missing options such as default document path and ignoring dotfiles, but at least this is better than nothing. Shota FUJI authored at Shota FUJI comitted at
  2. 03fa7ba4 Update Roadmap Shota FUJI authored at Shota FUJI comitted at
  3. b2faf5a7 CLI I thought library-first design would be great but turned out it's difficult and time-consuming to tidy APIs and documents. CLI-first would be far more simple and also user-friendly. Shota FUJI authored at Shota FUJI comitted at
  4. a51a05d7 v0.1.1 Shota FUJI authored at Shota FUJI comitted at
  5. c6eae1bc Update Roadmap version numbers No breaking changes since v0.1.0. Shota FUJI authored at Shota FUJI comitted at
  6. d61de598 Client-side JavaScript to mark current ToC entry It's useful, actually. While some people call it eye-candy or something, I personally find it an essential for text-heavy documents. Shota FUJI authored at Shota FUJI comitted at
  7. 8a6b9a37 Minify and Highlight client-side JavaScript code The size of JSONCanvas related code became unexpectedly big. The overall minification shrinks around 4kB (28.17kB -> 24.47kB). This `javascript` tagged template literal function also enables my Neovim tree-sitter to highlight the template string as a JavaScript code. Shota FUJI authored at Shota FUJI comitted at
  8. a1ae91e6 JSONCanvas viewport controls UI Shota FUJI authored at Shota FUJI comitted at
  9. d4b1f851 Keyboard navigation for JSONCanvas documents Shota FUJI authored at Shota FUJI comitted at
  10. f9ab2af8 Hide summary marker on Safari Shota FUJI authored at Shota FUJI comitted at
  11. 09fc08b2 JSONCanvas gestures for touch inputs Shota FUJI authored at Shota FUJI comitted at
  12. 8b30cba6 JSONCanvas gestures for pointer devices Shota FUJI authored at Shota FUJI comitted at
  13. 415efba0 Delete unused views (embeds) Since I have changed document embeds to directly embed the HTML, these embeds HTML are no longer used. Shota FUJI authored at Shota FUJI comitted at
  14. 85264c80 Render JSONCanvas in HTML While SVG renderer works well on sane browsers, it does not on Safari. It's looong ignored `<foreignObject>` overflow bug ruins even fairly straightforward usages. Shota FUJI authored at Shota FUJI comitted at
  15. a935aa6b Update Roadmap "Resolve document internal wikilink" was duplicated entry. Shota FUJI authored at Shota FUJI comitted at
  16. f39cd4b4 Client-side script to close menu on navigation (back/forward) On menu-layout, navigating back/forward is confusing due to menu appears after the navigation. Shota FUJI authored at Shota FUJI comitted at
  17. 76923e83 Minify CSS Before: raw=16kB, gzip=3.63kB After: raw=12.44kB, gzip=3.27kB Added build time (Mac mini M1): 15ms~25ms To be honest, I don't think this compression result is not worth the added build time. However, the reduced 3.5kB could reduce consuming memory and CPU times... few micro seconds? I commit this since the journey to find a CSS minify library that was compatible with Deno is extremely tiresome... * `cssnano` imports `caniuse` even though related optimizations are disabled. It statically loads the module hence the access to `<CWD>` (and probably more places like `~/.config` idk), which requires completely unnecessary broad permissions. * `esbuild` is simple and great tool, but WASM is second-class citizen in Deno: requires `--allow-net=deno.land` (or `esm.sh`) or `--allow-read=<vendored path>`. One can embed WASM binary as a base64 or `JSON.parse("Uint8Array")`, but WASM binary of ESBuild weighs 30MB. I tried to open the generated file using the latter method and my nvim froze for minutes, which I had to `kill`. * `lightningcss` looks great, but this is WASM too and weighs 10MB. Better than ESBuild though. * `clean-css` declares itself as in maintenance mode. I tested it but it loads environment variables at init time and access to `cwd`. In the end, CSSO is the only ESM compatible library that works on web platform. Shota FUJI authored at Shota FUJI comitted at
  18. 02d08425 Update Roadmap Shota FUJI authored at Shota FUJI comitted at
  19. 958d71d0 Remember document tree's open state for browsing session This has been so inconvenient. Shota FUJI authored at Shota FUJI comitted at
  20. bf18cea2 Setup GitHub Issue forms I'm not willing to be bothered by low-effort "issues". Shota FUJI authored at Shota FUJI comitted at
  21. b74d7aa4 Usage document Shota FUJI authored at Shota FUJI comitted at
  22. d7d072f4 Add jsdoc comments for public API Shota FUJI authored at Shota FUJI comitted at
  23. c6e88fe1 Fix build fails when document contains lowercase link references For unknown reasons, mdast-util-to-hast holds its reference ID in uppercase. Shota FUJI authored at Shota FUJI comitted at
  24. a801fbb7 Fix document tree UI shows every documents with same name being current Shota FUJI authored at Shota FUJI comitted at
  25. 31c65d56 Document embedding Shota FUJI authored at Shota FUJI comitted at
  26. c2a31c98 Fix toc can't go more than 2 level deep Shota FUJI authored at Shota FUJI comitted at
  27. c2a71556 Add more margin to headigns I felt those are too dense. Shota FUJI authored at Shota FUJI comitted at
  28. 40f7d621 Note for orphaned block identifier Are they correctly parsing Markdown?? Shota FUJI authored at Shota FUJI comitted at
  29. 4544b238 Update Roadmap Shota FUJI authored at Shota FUJI comitted at
  30. c8f5fb26 Hoist block identifer to the parent's ID If a paragraph is more than one line, UA scrolls to the bottommost line. This hides the rest of lines: which is not a user intended. Shota FUJI authored at Shota FUJI comitted at