28409460CLI 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
b2faf5a7CLI
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
c6eae1bcUpdate Roadmap version numbers
No breaking changes since v0.1.0.
Shota FUJI
authored at
Shota FUJI
comitted at
d61de598Client-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
8a6b9a37Minify 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
415efba0Delete 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
85264c80Render 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
a935aa6bUpdate Roadmap
"Resolve document internal wikilink" was duplicated entry.
Shota FUJI
authored at
Shota FUJI
comitted at
f39cd4b4Client-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
76923e83Minify 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