mirror of
https://github.com/tiennm99/tsuki.git
synced 2026-05-23 10:25:30 +00:00
e19bb67c88
- 9 CSS files (tokens, reset, typography, layout, components, home, archive, toc, view-transitions) bundled via resources.Concat - 3 ES module JS files (theme-toggle, code-copy, toc-active); toc-active loaded only on long posts - @view-transition: navigation auto for cross-page morph (CSS-only) - TOC partial gated by WordCount>400 and Params.toc!=false; sticky on wide viewports, framed block on narrow - render-heading.html adds cosmetic anchor links - Hugo asset pipeline: resources.Concat | minify | fingerprint (no SCSS, no PostCSS, no Node) - i18n/vi.yml extended with prev/next/posts/archiveEmpty/toggleTheme - Bundle sizes: CSS 3.3 KB gz (budget 15), JS 0.8 KB gz (budget 8) Config: github-ascii heading IDs, :contentbasename permalink token for clean ASCII URLs, pagination.pagerSize migration (Hugo 0.128+).
26 lines
682 B
CSS
26 lines
682 B
CSS
/* tsuki: View Transitions API — same-document navigation morph */
|
|
|
|
@view-transition { navigation: auto; }
|
|
|
|
@media (prefers-reduced-motion: no-preference) {
|
|
::view-transition-old(root),
|
|
::view-transition-new(root) {
|
|
animation-duration: 180ms;
|
|
animation-timing-function: cubic-bezier(0.2, 0, 0.2, 1);
|
|
}
|
|
::view-transition-old(root) { animation-name: tsuki-fade-out; }
|
|
::view-transition-new(root) { animation-name: tsuki-fade-in; }
|
|
}
|
|
|
|
@media (prefers-reduced-motion: reduce) {
|
|
::view-transition-old(root),
|
|
::view-transition-new(root) { animation: none; }
|
|
}
|
|
|
|
@keyframes tsuki-fade-out {
|
|
to { opacity: 0; }
|
|
}
|
|
@keyframes tsuki-fade-in {
|
|
from { opacity: 0; }
|
|
}
|