macana

Static site generator for Obsidian Vault

Commits at f81aeb55ade2260e11d9b6d82641392aea70e6e4

  1. f81aeb55 Do not fade-out document-tree and toc on non-hover environment This effect only works when a user's primary input device is hover-capable device (e.g. mouse, pen) or focus-navigatable device (e.g. keyboard). If a user is using neither of those, the document-tree and toc UI is always dimmed. Or worse, a user may think it as some kind of broken CSS. In order to maintain legibility for non-hover environments (mostly touch-only environments), I restricted the rule to when the primary input device is hover-capable. This prevents the effect from running on non-hover but keyboard navigatable environemts, such as using keyboard on touch-only device. However, as the effect is just to help users for focusing a main content, legibility wins over it. Shota FUJI authored at Shota FUJI comitted at
  2. 49519dad Improve create/update datetime formatting, more concise and consistent This patch reduces clutters in a datetime string and make the string more consistent to other parts of the document. The first and most significant problem was the datetime string is formatted using UA's locale. The UA's locale could be different to a document's locale. This results in inconsistent text formatting: for example, when a user viewing the page with `lang="ja"` but UA uses "en-US", chunk of "en-US" text appears in "ja" document as a result. The second problem is the datetime string is verbose. I can't imagine any usecase where seconds part benefits a user (viewer). The final problem is ugliness of the datetime string in noscript env. It's ISO-8601 string because of timezone. I remembered that `toLocaleString` (`Intl.DateTimeFormat`) can display timezone string, so here it is. Even though the metadata is not properly styled and is still ugly, I'm satisfied how the result looks good without compromising semantic markup and/or build process. Shota FUJI authored at Shota FUJI comitted at
  3. 35ce077d Use page title as a label text for Obsidian's formatting pages With external link icons, they are no longer confusing. This form also looks far better than bare URL. Shota FUJI authored at Shota FUJI comitted at
  4. 8526d465 Style anchors using class selector, rather than type selector Type selector, which selects all tags/elements that matches, often causes unexpected side-effect. For example, if an internal component includes anchor element, the default style for contents also applys to the internal anchor, which is not desirable. Shota FUJI authored at Shota FUJI comitted at
  5. bd077317 Style syntax highlighted code block This patch also removes annoying semi-global style for main contents. Shota FUJI authored at Shota FUJI comitted at
  6. ab50391e Math extension (Obsidian Flavored Markdown) Shota FUJI authored at Shota FUJI comitted at
  7. 53e5cf0e Make embedded document's background transparent (JSONCanvas) File node could have its own color. Shota FUJI authored at Shota FUJI comitted at
  8. 2510eb58 Fix path pointing to one level higher directory Shota FUJI authored at Shota FUJI comitted at
  9. 94b55a12 Use hastscript instead of nano_jsx The first reason for this change is tedious conversion from Markdown to components. Since Hast does not have a concept of "Component", those needs to be converted to custom elements first, then restored by carefully mapping the custom element nodes. During that process, properties are transformed to HTML attributes (e.g. true -> ""). This is very error-prone and exhausting thing to write. The second one is the quality of nano-jsx. The library is, honestly, toy-level. Even though they promote it as "SSR First", HTML seriealization is joke: empty children appears as `children=""`, cannot handle falsy attribute values, renders `true` attribute value as `"true"`, etc... Also, it's TypeScript typing is almost non-existent. Most of the exposed things are typed as `any`. I would not call that a typed library. While hastscript is not perfect either, it's good enough for my HTML generation usecase. It also eliminates Mdast -> Hast -> (JSX runtime) confusing data conversion. I choose not to write wrapper for `<Component/>` usage. It's nice, but not necessary. In fact, normal function call is **far better** than JSX's loose and cryptic typings. The only output changes I observed was "Module" and "Program" in "Architecture.canvas" now overflows (thus broken in Safari). However, it's due to the new more strict CSS. I believe it's improvement, not regression (needs to be fixed the overall JSONCanvas stylings at some point, though). Shota FUJI authored at Shota FUJI comitted at
  10. e635bd88 Style GFM task list extension's output The default output, which mimics GitHub's markup and styles, is horrible. It sets `disabled` attribute that makes the element screen reader unfriendly. Also it does not associate the text to checkbox, which is also screen reader unfriendly. I may revisit styles in the future as the current one is not that pretty... Shota FUJI authored at Shota FUJI comitted at
  11. 419b261c Hide <summary> marker on Webkit Fuck you. Shota FUJI authored at Shota FUJI comitted at
  12. 61f6ac5b Make navigations more subtle when user is not hover/focusing Shota FUJI authored at Shota FUJI comitted at
  13. 316a2b5f Fix ToC is semi-transparent on hover Shota FUJI authored at Shota FUJI comitted at
  14. 73802daf Proper styles for document tree UI Shota FUJI authored at Shota FUJI comitted at
  15. fe773926 Proper style for document title Shota FUJI authored at Shota FUJI comitted at
  16. 49403fee Fix content style having higher priority than component styles I noticed this by seeing non-foldable callout's title being weirdly wrapped. Shota FUJI authored at Shota FUJI comitted at
  17. eb7ac03e Remove unused file Shota FUJI authored at Shota FUJI comitted at
  18. 6c7ccd9e Proper styles for ToC Shota FUJI authored at Shota FUJI comitted at
  19. 4f88c82f Fix TextNode (JSONCanvas) has excessive margin Shota FUJI authored at Shota FUJI comitted at
  20. 9ee3d742 Limit content styles only to body elements Global styles have been a pain point. Shota FUJI authored at Shota FUJI comitted at
  21. 110d8d4e Move Hast related function inside page builder to one place I have been felt those logics are disconnected. Shota FUJI authored at Shota FUJI comitted at
  22. a6c33900 Site name parameter for default page builder Shota FUJI authored at Shota FUJI comitted at
  23. 7c78cb92 Securing iframe embedding This is user's responsibility, but link rot happens. Shota FUJI authored at Shota FUJI comitted at
  24. 6d3a55a2 Use example.com for iframe demonstration Wikipedia is not a great example for embedding. Shota FUJI authored at Shota FUJI comitted at
  25. af930e73 Fix orange being red Shota FUJI authored at Shota FUJI comitted at
  26. 9626d6f3 Fix Canvas having no color other than red and gray Simple typo. Shota FUJI authored at Shota FUJI comitted at
  27. d14df0a6 Proper styles for callout This work is foundation for later styling works. Shota FUJI authored at Shota FUJI comitted at
  28. 5aad74ea Fix callout icon is not visible hast-util-raw seems to lowercases every tagnames. Shota FUJI authored at Shota FUJI comitted at
  29. 432427c4 Fix default opened callout is collapsed hast-util-raw seems to have a bug on attribute handling: it mistake an empty string as an absence of value. Shota FUJI authored at Shota FUJI comitted at
  30. eac79b36 Do not perform actual file write more than once on same file Shota FUJI authored at Shota FUJI comitted at