macana

Static site generator for Obsidian Vault

Commits at v0.1.2

  1. bc8e53d5 v0.1.2 Shota FUJI authored at Shota FUJI comitted at
  2. a389bf96 Update Roadmap Shota FUJI authored at Shota FUJI comitted at
  3. b245e8af Base URL option This is essential for implementing OpenGraph support and 404 pages. Shota FUJI authored at Shota FUJI comitted at
  4. 715cf0de Docs for YAML frontmatter fields I myself searched codebase for which field to use. Shota FUJI authored at Shota FUJI comitted at
  5. ceda7cb0 Resolve inner page anchor hash link (#foo) Shota FUJI authored at Shota FUJI comitted at
  6. e4a0d0fd Mark default document in YAML frontmatter Shota FUJI authored at Shota FUJI comitted at
  7. c915c6ce Update Roadmap Shota FUJI authored at Shota FUJI comitted at
  8. 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
  9. 03fa7ba4 Update Roadmap Shota FUJI authored at Shota FUJI comitted at
  10. 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
  11. a51a05d7 v0.1.1 Shota FUJI authored at Shota FUJI comitted at
  12. c6eae1bc Update Roadmap version numbers No breaking changes since v0.1.0. Shota FUJI authored at Shota FUJI comitted at
  13. 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
  14. 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
  15. a1ae91e6 JSONCanvas viewport controls UI Shota FUJI authored at Shota FUJI comitted at
  16. d4b1f851 Keyboard navigation for JSONCanvas documents Shota FUJI authored at Shota FUJI comitted at
  17. f9ab2af8 Hide summary marker on Safari Shota FUJI authored at Shota FUJI comitted at
  18. 09fc08b2 JSONCanvas gestures for touch inputs Shota FUJI authored at Shota FUJI comitted at
  19. 8b30cba6 JSONCanvas gestures for pointer devices Shota FUJI authored at Shota FUJI comitted at
  20. 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
  21. 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
  22. a935aa6b Update Roadmap "Resolve document internal wikilink" was duplicated entry. Shota FUJI authored at Shota FUJI comitted at
  23. 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
  24. 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
  25. 02d08425 Update Roadmap Shota FUJI authored at Shota FUJI comitted at
  26. 958d71d0 Remember document tree's open state for browsing session This has been so inconvenient. Shota FUJI authored at Shota FUJI comitted at
  27. bf18cea2 Setup GitHub Issue forms I'm not willing to be bothered by low-effort "issues". Shota FUJI authored at Shota FUJI comitted at
  28. b74d7aa4 Usage document Shota FUJI authored at Shota FUJI comitted at
  29. d7d072f4 Add jsdoc comments for public API Shota FUJI authored at Shota FUJI comitted at
  30. 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