feat(layout): 基础布局/导航/页脚/明暗不闪烁
- BaseLayout:字体三轨统持、viewport-fit=cover、theme-color 双套、skip-link - Header:≤4 项导航纪律 + sticky 毛玻璃 + aria-current;搜索 icon 占位待 T8 - Footer:ICP 备案链接(法定保留)+ built-from 具名槽位待 T7 - ThemeScript:head 内联先于首帧,手选 > 系统偏好,防白闪 验证: pnpm astro build exit 0;dist/index.html 含 ICP 文案与跳到正文链 Spec: 2026-10-24_add-blog-skeleton Co-authored-by: GLM-5.3
This commit is contained in:
1 parent
ee53279822
commit
b50eddf2bb
5 files changed
+185
-13
No files matched your search
@@ -0,0 +1,44 @@
|
||||
---
|
||||
// 基础布局:字体/样式统一在此持有(页面不再各自引包)
|
||||
// 明暗不闪烁:ThemeScript 必须在 <head> 内联先于首帧执行
|
||||
import 'lxgw-wenkai-screen-webfont/lxgwwenkaiscreen.css';
|
||||
import '@fontsource/noto-sans-sc/400.css';
|
||||
import '@fontsource/noto-sans-sc/500.css';
|
||||
import '@fontsource/noto-sans-sc/700.css';
|
||||
import '@fontsource/jetbrains-mono/400.css';
|
||||
import '@fontsource/jetbrains-mono/700.css';
|
||||
import '../styles/global.css';
|
||||
import Header from '../components/Header.astro';
|
||||
import Footer from '../components/Footer.astro';
|
||||
import ThemeScript from '../components/ThemeScript.astro';
|
||||
|
||||
interface Props {
|
||||
title: string;
|
||||
description?: string;
|
||||
/** 正文轨:reading 书评纸墨 / tech 技术(body 级字体氛围) */
|
||||
track?: 'reading' | 'tech';
|
||||
}
|
||||
const { title, description = 'wait4x 的博客:阅读 · 技术 · 摄影', track = 'tech' } = Astro.props;
|
||||
---
|
||||
|
||||
<!doctype html>
|
||||
<html lang="zh" data-track={track}>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
|
||||
<meta name="generator" content={Astro.generator} />
|
||||
<meta name="description" content={description} />
|
||||
<meta name="theme-color" content="#ffffff" media="(prefers-color-scheme: light)" />
|
||||
<meta name="theme-color" content="#191d23" media="(prefers-color-scheme: dark)" />
|
||||
<title>{title}</title>
|
||||
<ThemeScript />
|
||||
</head>
|
||||
<body>
|
||||
<a class="skip-link" href="#main">跳到正文</a>
|
||||
<Header />
|
||||
<main id="main" class="container">
|
||||
<slot />
|
||||
</main>
|
||||
<Footer />
|
||||
</body>
|
||||
</html>
|
||||
Reference in new issue
Block a user