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+).
68 lines
1.5 KiB
CSS
68 lines
1.5 KiB
CSS
/* tsuki: vi-optimized typography */
|
|
|
|
body {
|
|
font-size: var(--tsuki-fs-base);
|
|
line-height: var(--tsuki-lh-body);
|
|
font-feature-settings: "kern", "liga", "calt", "ss01";
|
|
}
|
|
|
|
h1, h2, h3, h4, h5, h6 {
|
|
line-height: var(--tsuki-lh-tight);
|
|
font-weight: 650;
|
|
letter-spacing: -0.01em;
|
|
margin-block: var(--tsuki-space-8) var(--tsuki-space-3);
|
|
}
|
|
|
|
h1 { font-size: var(--tsuki-fs-3xl); }
|
|
h2 { font-size: var(--tsuki-fs-2xl); }
|
|
h3 { font-size: var(--tsuki-fs-xl); }
|
|
h4 { font-size: var(--tsuki-fs-lg); }
|
|
|
|
p { margin-block: 0 var(--tsuki-space-4); }
|
|
|
|
blockquote {
|
|
margin-inline: 0;
|
|
padding-inline-start: var(--tsuki-space-4);
|
|
border-inline-start: 3px solid var(--tsuki-border);
|
|
color: var(--tsuki-fg-muted);
|
|
font-style: italic;
|
|
}
|
|
|
|
code {
|
|
font-family: var(--tsuki-font-mono);
|
|
font-size: 0.9em;
|
|
background: var(--tsuki-code-bg);
|
|
padding: 0.125em 0.375em;
|
|
border-radius: var(--tsuki-radius);
|
|
}
|
|
|
|
pre {
|
|
font-family: var(--tsuki-font-mono);
|
|
font-size: var(--tsuki-fs-sm);
|
|
line-height: 1.55;
|
|
background: var(--tsuki-code-bg);
|
|
padding: var(--tsuki-space-4);
|
|
border-radius: var(--tsuki-radius);
|
|
overflow-x: auto;
|
|
position: relative;
|
|
}
|
|
pre code { background: none; padding: 0; font-size: inherit; }
|
|
|
|
hr {
|
|
border: none;
|
|
border-top: 1px solid var(--tsuki-border);
|
|
margin-block: var(--tsuki-space-12);
|
|
}
|
|
|
|
table {
|
|
width: 100%;
|
|
border-collapse: collapse;
|
|
margin-block: var(--tsuki-space-6);
|
|
}
|
|
th, td {
|
|
text-align: start;
|
|
padding: var(--tsuki-space-2) var(--tsuki-space-3);
|
|
border-bottom: 1px solid var(--tsuki-border);
|
|
}
|
|
th { font-weight: 600; }
|