c8f5fb26Hoist 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
242529dcAdd logging options for docs build script
Sometime I need full debug log, sometime I only need build time stats.
Or I could just want to know whether the build succeeds.
Shota FUJI
authored at
Shota FUJI
comitted at
b29abcb1Disable log color based on whether stdout is tty
It was mostly for jq. But "disabling colors because output is JSON"
is completely incorrect: it's assumption based on author's usage, not
technical constraints. I myself too sometime want to see colored JSON
output for debugging.
Shota FUJI
authored at
Shota FUJI
comitted at
3edb4ba7Align directory and document (tree UI)
Due to documents not having padding at left, I sometime confuse that
the document is at the same level to the parent directory, like this:
```
# actual
+ dir1
+ dir2
+ file1
+ file2
# confused
+ dir1
+ dir2
+ file1
+ file2
```
Shota FUJI
authored at
Shota FUJI
comitted at
1cc8ae3aReplace "Writing Samples" with "Features"
"Features" is more approachable and more common.
Shota FUJI
authored at
Shota FUJI
comitted at
1c5f9c6dPlace `<img>` as block element
This is as same as Obsidian renders.
Also, from my private testing, inline images work horribly.
This would work "okay" in most cases.
Shota FUJI
authored at
Shota FUJI
comitted at
bf4a2248Fix document tree uses actual directory name, not metadata name
The `currentPath` is from `Document.path`, which consists of metadata names.
Shota FUJI
authored at
Shota FUJI
comitted at
8bc70dc6Highlight current page in document tree
I myself sometimes confused like "wait, where am I?".
I could have add more eye-candy, but this is enough.
Shota FUJI
authored at
Shota FUJI
comitted at
47b29d02Remove unnecessary line-height from inline elements
I'm not sure the intent for those (yes, I'm the who wrote those).
`<sup>` (superscript) and `<sub>` (subscript) still have `line-height`.
Without this, they somehow dramatically expand the line and break the
vertical rhythm.
Shota FUJI
authored at
Shota FUJI
comitted at
632084fdDelete unused style
Probably related to my old blog styles.
Macana does not contain `<button>`, and even if it does, styling should
be done via class.
Shota FUJI
authored at
Shota FUJI
comitted at
04687860Do not set vertical rhythm on body
This has been causing a lot of problems.
The most important thing here is vertical rhythm is for (usually long)
textual content. In the context of documentation/blog website, contents
inside `<main>`. Other parts, such as navigation and table of contents,
are not suitable for vertical rhythm. Aesthetics and/or space effeciency
is more important than the rhythm.
Shota FUJI
authored at
Shota FUJI
comitted at
69036d6fDev docs for profiling
I tried to optimize build process so the docs can be built under 150ms.
Currently, on my M1 Mac mini, it takes 180ms~210ms. I think it's too
much for just 16 documents.
I'm not good at profiling or optimization or whatever. I suck at looking at
profiling result. What the fuck is bottom-up? But I have to profile in order
to optimize further more. Luckily, Deno/V8's profiler is easy to use and
call tree representation is intuitive even for beginers like me.
Unfortunately, most of the process time is from third-party libraries.
The most time consuming one was refractor (syntax highlighting) and the
second was hast-util-to-html or mdast-from-markdown (or inner micromark).
All of those are reasonable: refractor's "all" entrypoint (I willingfully
choose this) contains every language syntax, thus it takes a lot of time
loading and registering syntaxes. Seriealizing HTML and parsing Markdown
are, well, time-consuming considering they are written in JavaScript, which
is difficult to write performant string ops (esp. spatial efficiency).
In its current form, the most impactful performance optimization I can
think of is not emitting embed page until required. In order to do that, I
have to make significant changes to how page builder handles build queue
(or make one).
While I found out there are no low-haning fruit for temporal optimization,
I believe an experience and knowledge I gained from this should be noted and
shared anyhow. So here it is.
Shota FUJI
authored at
Shota FUJI
comitted at
8243be61Layout properly
The whole styles are copy and pasted from my old blog.
This patch tidies things up.
There still needs some maintenance, such as color tokens and line-height,
I think this is okay-ish to commit.
Shota FUJI
authored at
Shota FUJI
comitted at