diff --git a/apps/wiki/public/layout-recipes/annotation-lines.html b/apps/wiki/public/layout-recipes/annotation-lines.html index 04da8b3..94c958f 100644 --- a/apps/wiki/public/layout-recipes/annotation-lines.html +++ b/apps/wiki/public/layout-recipes/annotation-lines.html @@ -8,7 +8,7 @@ *{box-sizing:border-box} body{margin:0;background:#e4e6e1;color:#243230} .pl-frame{width:min(100%,1080px);margin-inline:auto;container-type:inline-size} -.pl-sheet{--paper:#f5f3ec;--ink:#243230;--muted:#9aa6a5;--deep:#637574;position:relative;isolation:isolate;width:100%;aspect-ratio:3/4;overflow:hidden;background:var(--paper);color:var(--ink);font-size:1cqw;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif} +.pl-sheet{--paper:#f5f3ec;--ink:#243230;--muted:#9aa6a5;--deep:#5d706e;position:relative;isolation:isolate;width:100%;aspect-ratio:3/4;overflow:hidden;background:var(--paper);color:var(--ink);font-size:1cqw;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif} .pl-sheet .panel{position:absolute;background:var(--muted)} .pl-sheet .title{position:absolute;margin:0;font-weight:500;line-height:1.12;max-width:86%;overflow-wrap:anywhere} .pl-sheet .copy{position:absolute;margin:0;font-size:2.22em;line-height:1.65;white-space:pre-line} diff --git a/apps/wiki/public/layout-recipes/diagonal-cards.html b/apps/wiki/public/layout-recipes/diagonal-cards.html index 0f0769f..99d9167 100644 --- a/apps/wiki/public/layout-recipes/diagonal-cards.html +++ b/apps/wiki/public/layout-recipes/diagonal-cards.html @@ -8,7 +8,7 @@ *{box-sizing:border-box} body{margin:0;background:#e4e6e1;color:#243230} .pl-frame{width:min(100%,1080px);margin-inline:auto;container-type:inline-size} -.pl-sheet{--paper:#f5f3ec;--ink:#243230;--muted:#9aa6a5;--deep:#637574;position:relative;isolation:isolate;width:100%;aspect-ratio:3/4;overflow:hidden;background:var(--paper);color:var(--ink);font-size:1cqw;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif} +.pl-sheet{--paper:#f5f3ec;--ink:#243230;--muted:#9aa6a5;--deep:#5d706e;position:relative;isolation:isolate;width:100%;aspect-ratio:3/4;overflow:hidden;background:var(--paper);color:var(--ink);font-size:1cqw;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif} .pl-sheet .panel{position:absolute;background:var(--muted)} .pl-sheet .title{position:absolute;margin:0;font-weight:500;line-height:1.12;max-width:86%;overflow-wrap:anywhere} .pl-sheet .copy{position:absolute;margin:0;font-size:2.22em;line-height:1.65;white-space:pre-line} diff --git a/apps/wiki/public/layout-recipes/diagonal-cards.png b/apps/wiki/public/layout-recipes/diagonal-cards.png index ed04f42..e8426f3 100644 Binary files a/apps/wiki/public/layout-recipes/diagonal-cards.png and b/apps/wiki/public/layout-recipes/diagonal-cards.png differ diff --git a/apps/wiki/public/layout-recipes/editorial-serif.html b/apps/wiki/public/layout-recipes/editorial-serif.html index cea6a0f..f92f34a 100644 --- a/apps/wiki/public/layout-recipes/editorial-serif.html +++ b/apps/wiki/public/layout-recipes/editorial-serif.html @@ -8,7 +8,7 @@ *{box-sizing:border-box} body{margin:0;background:#e4e6e1;color:#243230} .pl-frame{width:min(100%,1080px);margin-inline:auto;container-type:inline-size} -.pl-sheet{--paper:#f5f3ec;--ink:#243230;--muted:#9aa6a5;--deep:#637574;position:relative;isolation:isolate;width:100%;aspect-ratio:3/4;overflow:hidden;background:var(--paper);color:var(--ink);font-size:1cqw;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif} +.pl-sheet{--paper:#f5f3ec;--ink:#243230;--muted:#9aa6a5;--deep:#5d706e;position:relative;isolation:isolate;width:100%;aspect-ratio:3/4;overflow:hidden;background:var(--paper);color:var(--ink);font-size:1cqw;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif} .pl-sheet .panel{position:absolute;background:var(--muted)} .pl-sheet .title{position:absolute;margin:0;font-weight:500;line-height:1.12;max-width:86%;overflow-wrap:anywhere} .pl-sheet .copy{position:absolute;margin:0;font-size:2.22em;line-height:1.65;white-space:pre-line} diff --git a/apps/wiki/public/layout-recipes/horizontal-band.html b/apps/wiki/public/layout-recipes/horizontal-band.html index 3e15861..e14d073 100644 --- a/apps/wiki/public/layout-recipes/horizontal-band.html +++ b/apps/wiki/public/layout-recipes/horizontal-band.html @@ -8,7 +8,7 @@ *{box-sizing:border-box} body{margin:0;background:#e4e6e1;color:#243230} .pl-frame{width:min(100%,1080px);margin-inline:auto;container-type:inline-size} -.pl-sheet{--paper:#f5f3ec;--ink:#243230;--muted:#9aa6a5;--deep:#637574;position:relative;isolation:isolate;width:100%;aspect-ratio:3/4;overflow:hidden;background:var(--paper);color:var(--ink);font-size:1cqw;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif} +.pl-sheet{--paper:#f5f3ec;--ink:#243230;--muted:#9aa6a5;--deep:#5d706e;position:relative;isolation:isolate;width:100%;aspect-ratio:3/4;overflow:hidden;background:var(--paper);color:var(--ink);font-size:1cqw;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif} .pl-sheet .panel{position:absolute;background:var(--muted)} .pl-sheet .title{position:absolute;margin:0;font-weight:500;line-height:1.12;max-width:86%;overflow-wrap:anywhere} .pl-sheet .copy{position:absolute;margin:0;font-size:2.22em;line-height:1.65;white-space:pre-line} diff --git a/apps/wiki/public/layout-recipes/horizontal-band.png b/apps/wiki/public/layout-recipes/horizontal-band.png index 2836c31..e980e78 100644 Binary files a/apps/wiki/public/layout-recipes/horizontal-band.png and b/apps/wiki/public/layout-recipes/horizontal-band.png differ diff --git a/apps/wiki/public/layout-recipes/modular-grid.html b/apps/wiki/public/layout-recipes/modular-grid.html index 28c2944..219c579 100644 --- a/apps/wiki/public/layout-recipes/modular-grid.html +++ b/apps/wiki/public/layout-recipes/modular-grid.html @@ -8,7 +8,7 @@ *{box-sizing:border-box} body{margin:0;background:#e4e6e1;color:#243230} .pl-frame{width:min(100%,1080px);margin-inline:auto;container-type:inline-size} -.pl-sheet{--paper:#f5f3ec;--ink:#243230;--muted:#9aa6a5;--deep:#637574;position:relative;isolation:isolate;width:100%;aspect-ratio:3/4;overflow:hidden;background:var(--paper);color:var(--ink);font-size:1cqw;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif} +.pl-sheet{--paper:#f5f3ec;--ink:#243230;--muted:#9aa6a5;--deep:#5d706e;position:relative;isolation:isolate;width:100%;aspect-ratio:3/4;overflow:hidden;background:var(--paper);color:var(--ink);font-size:1cqw;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif} .pl-sheet .panel{position:absolute;background:var(--muted)} .pl-sheet .title{position:absolute;margin:0;font-weight:500;line-height:1.12;max-width:86%;overflow-wrap:anywhere} .pl-sheet .copy{position:absolute;margin:0;font-size:2.22em;line-height:1.65;white-space:pre-line} diff --git a/apps/wiki/public/layout-recipes/modular-grid.png b/apps/wiki/public/layout-recipes/modular-grid.png index 1163a89..ec27f3e 100644 Binary files a/apps/wiki/public/layout-recipes/modular-grid.png and b/apps/wiki/public/layout-recipes/modular-grid.png differ diff --git a/apps/wiki/public/layout-recipes/monumental-type.html b/apps/wiki/public/layout-recipes/monumental-type.html index a586f45..e78fe81 100644 --- a/apps/wiki/public/layout-recipes/monumental-type.html +++ b/apps/wiki/public/layout-recipes/monumental-type.html @@ -8,7 +8,7 @@ *{box-sizing:border-box} body{margin:0;background:#e4e6e1;color:#243230} .pl-frame{width:min(100%,1080px);margin-inline:auto;container-type:inline-size} -.pl-sheet{--paper:#f5f3ec;--ink:#243230;--muted:#9aa6a5;--deep:#637574;position:relative;isolation:isolate;width:100%;aspect-ratio:3/4;overflow:hidden;background:var(--paper);color:var(--ink);font-size:1cqw;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif} +.pl-sheet{--paper:#f5f3ec;--ink:#243230;--muted:#9aa6a5;--deep:#5d706e;position:relative;isolation:isolate;width:100%;aspect-ratio:3/4;overflow:hidden;background:var(--paper);color:var(--ink);font-size:1cqw;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif} .pl-sheet .panel{position:absolute;background:var(--muted)} .pl-sheet .title{position:absolute;margin:0;font-weight:500;line-height:1.12;max-width:86%;overflow-wrap:anywhere} .pl-sheet .copy{position:absolute;margin:0;font-size:2.22em;line-height:1.65;white-space:pre-line} diff --git a/apps/wiki/public/layout-recipes/monumental-type.png b/apps/wiki/public/layout-recipes/monumental-type.png index 34e9ba0..58a5867 100644 Binary files a/apps/wiki/public/layout-recipes/monumental-type.png and b/apps/wiki/public/layout-recipes/monumental-type.png differ diff --git a/apps/wiki/public/layout-recipes/offset-panels.html b/apps/wiki/public/layout-recipes/offset-panels.html index 1715db2..6066cd4 100644 --- a/apps/wiki/public/layout-recipes/offset-panels.html +++ b/apps/wiki/public/layout-recipes/offset-panels.html @@ -8,7 +8,7 @@ *{box-sizing:border-box} body{margin:0;background:#e4e6e1;color:#243230} .pl-frame{width:min(100%,1080px);margin-inline:auto;container-type:inline-size} -.pl-sheet{--paper:#f5f3ec;--ink:#243230;--muted:#9aa6a5;--deep:#637574;position:relative;isolation:isolate;width:100%;aspect-ratio:3/4;overflow:hidden;background:var(--paper);color:var(--ink);font-size:1cqw;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif} +.pl-sheet{--paper:#f5f3ec;--ink:#243230;--muted:#9aa6a5;--deep:#5d706e;position:relative;isolation:isolate;width:100%;aspect-ratio:3/4;overflow:hidden;background:var(--paper);color:var(--ink);font-size:1cqw;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif} .pl-sheet .panel{position:absolute;background:var(--muted)} .pl-sheet .title{position:absolute;margin:0;font-weight:500;line-height:1.12;max-width:86%;overflow-wrap:anywhere} .pl-sheet .copy{position:absolute;margin:0;font-size:2.22em;line-height:1.65;white-space:pre-line} diff --git a/apps/wiki/public/layout-recipes/offset-panels.png b/apps/wiki/public/layout-recipes/offset-panels.png index 22a6bc5..76f55a9 100644 Binary files a/apps/wiki/public/layout-recipes/offset-panels.png and b/apps/wiki/public/layout-recipes/offset-panels.png differ diff --git a/apps/wiki/public/layout-recipes/orbital-rings.html b/apps/wiki/public/layout-recipes/orbital-rings.html index 80ebaa1..9647d2a 100644 --- a/apps/wiki/public/layout-recipes/orbital-rings.html +++ b/apps/wiki/public/layout-recipes/orbital-rings.html @@ -8,7 +8,7 @@ *{box-sizing:border-box} body{margin:0;background:#e4e6e1;color:#243230} .pl-frame{width:min(100%,1080px);margin-inline:auto;container-type:inline-size} -.pl-sheet{--paper:#f5f3ec;--ink:#243230;--muted:#9aa6a5;--deep:#637574;position:relative;isolation:isolate;width:100%;aspect-ratio:3/4;overflow:hidden;background:var(--paper);color:var(--ink);font-size:1cqw;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif} +.pl-sheet{--paper:#f5f3ec;--ink:#243230;--muted:#9aa6a5;--deep:#5d706e;position:relative;isolation:isolate;width:100%;aspect-ratio:3/4;overflow:hidden;background:var(--paper);color:var(--ink);font-size:1cqw;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif} .pl-sheet .panel{position:absolute;background:var(--muted)} .pl-sheet .title{position:absolute;margin:0;font-weight:500;line-height:1.12;max-width:86%;overflow-wrap:anywhere} .pl-sheet .copy{position:absolute;margin:0;font-size:2.22em;line-height:1.65;white-space:pre-line} diff --git a/apps/wiki/public/layout-recipes/orbital-rings.png b/apps/wiki/public/layout-recipes/orbital-rings.png index f134191..4e45e4b 100644 Binary files a/apps/wiki/public/layout-recipes/orbital-rings.png and b/apps/wiki/public/layout-recipes/orbital-rings.png differ diff --git a/apps/wiki/public/layout-recipes/organic-ellipse.html b/apps/wiki/public/layout-recipes/organic-ellipse.html index 4821b96..06ac59f 100644 --- a/apps/wiki/public/layout-recipes/organic-ellipse.html +++ b/apps/wiki/public/layout-recipes/organic-ellipse.html @@ -8,7 +8,7 @@ *{box-sizing:border-box} body{margin:0;background:#e4e6e1;color:#243230} .pl-frame{width:min(100%,1080px);margin-inline:auto;container-type:inline-size} -.pl-sheet{--paper:#f5f3ec;--ink:#243230;--muted:#9aa6a5;--deep:#637574;position:relative;isolation:isolate;width:100%;aspect-ratio:3/4;overflow:hidden;background:var(--paper);color:var(--ink);font-size:1cqw;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif} +.pl-sheet{--paper:#f5f3ec;--ink:#243230;--muted:#9aa6a5;--deep:#5d706e;position:relative;isolation:isolate;width:100%;aspect-ratio:3/4;overflow:hidden;background:var(--paper);color:var(--ink);font-size:1cqw;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif} .pl-sheet .panel{position:absolute;background:var(--muted)} .pl-sheet .title{position:absolute;margin:0;font-weight:500;line-height:1.12;max-width:86%;overflow-wrap:anywhere} .pl-sheet .copy{position:absolute;margin:0;font-size:2.22em;line-height:1.65;white-space:pre-line} diff --git a/apps/wiki/public/layout-recipes/organic-ellipse.png b/apps/wiki/public/layout-recipes/organic-ellipse.png index 980e861..e935c09 100644 Binary files a/apps/wiki/public/layout-recipes/organic-ellipse.png and b/apps/wiki/public/layout-recipes/organic-ellipse.png differ diff --git a/apps/wiki/public/layout-recipes/router.png b/apps/wiki/public/layout-recipes/router.png index 3f12f9c..d794b54 100644 Binary files a/apps/wiki/public/layout-recipes/router.png and b/apps/wiki/public/layout-recipes/router.png differ diff --git a/apps/wiki/public/layout-recipes/split-contrast.html b/apps/wiki/public/layout-recipes/split-contrast.html index 3e64a42..55117a7 100644 --- a/apps/wiki/public/layout-recipes/split-contrast.html +++ b/apps/wiki/public/layout-recipes/split-contrast.html @@ -8,7 +8,7 @@ *{box-sizing:border-box} body{margin:0;background:#e4e6e1;color:#243230} .pl-frame{width:min(100%,1080px);margin-inline:auto;container-type:inline-size} -.pl-sheet{--paper:#f5f3ec;--ink:#243230;--muted:#9aa6a5;--deep:#637574;position:relative;isolation:isolate;width:100%;aspect-ratio:3/4;overflow:hidden;background:var(--paper);color:var(--ink);font-size:1cqw;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif} +.pl-sheet{--paper:#f5f3ec;--ink:#243230;--muted:#9aa6a5;--deep:#5d706e;position:relative;isolation:isolate;width:100%;aspect-ratio:3/4;overflow:hidden;background:var(--paper);color:var(--ink);font-size:1cqw;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif} .pl-sheet .panel{position:absolute;background:var(--muted)} .pl-sheet .title{position:absolute;margin:0;font-weight:500;line-height:1.12;max-width:86%;overflow-wrap:anywhere} .pl-sheet .copy{position:absolute;margin:0;font-size:2.22em;line-height:1.65;white-space:pre-line} diff --git a/apps/wiki/public/layout-recipes/split-contrast.png b/apps/wiki/public/layout-recipes/split-contrast.png index 4a6ef13..67d2a98 100644 Binary files a/apps/wiki/public/layout-recipes/split-contrast.png and b/apps/wiki/public/layout-recipes/split-contrast.png differ diff --git a/apps/wiki/public/layout-recipes/type-frame.html b/apps/wiki/public/layout-recipes/type-frame.html index 597ea35..2fd13e9 100644 --- a/apps/wiki/public/layout-recipes/type-frame.html +++ b/apps/wiki/public/layout-recipes/type-frame.html @@ -8,7 +8,7 @@ *{box-sizing:border-box} body{margin:0;background:#e4e6e1;color:#243230} .pl-frame{width:min(100%,1080px);margin-inline:auto;container-type:inline-size} -.pl-sheet{--paper:#f5f3ec;--ink:#243230;--muted:#9aa6a5;--deep:#637574;position:relative;isolation:isolate;width:100%;aspect-ratio:3/4;overflow:hidden;background:var(--paper);color:var(--ink);font-size:1cqw;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif} +.pl-sheet{--paper:#f5f3ec;--ink:#243230;--muted:#9aa6a5;--deep:#5d706e;position:relative;isolation:isolate;width:100%;aspect-ratio:3/4;overflow:hidden;background:var(--paper);color:var(--ink);font-size:1cqw;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif} .pl-sheet .panel{position:absolute;background:var(--muted)} .pl-sheet .title{position:absolute;margin:0;font-weight:500;line-height:1.12;max-width:86%;overflow-wrap:anywhere} .pl-sheet .copy{position:absolute;margin:0;font-size:2.22em;line-height:1.65;white-space:pre-line} diff --git a/apps/wiki/public/layout-recipes/vertical-rail.html b/apps/wiki/public/layout-recipes/vertical-rail.html index e4126fb..25cd804 100644 --- a/apps/wiki/public/layout-recipes/vertical-rail.html +++ b/apps/wiki/public/layout-recipes/vertical-rail.html @@ -8,7 +8,7 @@ *{box-sizing:border-box} body{margin:0;background:#e4e6e1;color:#243230} .pl-frame{width:min(100%,1080px);margin-inline:auto;container-type:inline-size} -.pl-sheet{--paper:#f5f3ec;--ink:#243230;--muted:#9aa6a5;--deep:#637574;position:relative;isolation:isolate;width:100%;aspect-ratio:3/4;overflow:hidden;background:var(--paper);color:var(--ink);font-size:1cqw;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif} +.pl-sheet{--paper:#f5f3ec;--ink:#243230;--muted:#9aa6a5;--deep:#5d706e;position:relative;isolation:isolate;width:100%;aspect-ratio:3/4;overflow:hidden;background:var(--paper);color:var(--ink);font-size:1cqw;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif} .pl-sheet .panel{position:absolute;background:var(--muted)} .pl-sheet .title{position:absolute;margin:0;font-weight:500;line-height:1.12;max-width:86%;overflow-wrap:anywhere} .pl-sheet .copy{position:absolute;margin:0;font-size:2.22em;line-height:1.65;white-space:pre-line} diff --git a/apps/wiki/public/layout-recipes/vertical-rail.png b/apps/wiki/public/layout-recipes/vertical-rail.png index f6d6221..b83cb7f 100644 Binary files a/apps/wiki/public/layout-recipes/vertical-rail.png and b/apps/wiki/public/layout-recipes/vertical-rail.png differ diff --git a/apps/wiki/src/content/layouts/documents.ts b/apps/wiki/src/content/layouts/documents.ts index d07b5cc..ea93d59 100644 --- a/apps/wiki/src/content/layouts/documents.ts +++ b/apps/wiki/src/content/layouts/documents.ts @@ -6,7 +6,7 @@ export {recipes}; export const baseCss=`*{box-sizing:border-box} body{margin:0;background:#e4e6e1;color:#243230} .pl-frame{width:min(100%,1080px);margin-inline:auto;container-type:inline-size} -.pl-sheet{--paper:#f5f3ec;--ink:#243230;--muted:#9aa6a5;--deep:#637574;position:relative;isolation:isolate;width:100%;aspect-ratio:3/4;overflow:hidden;background:var(--paper);color:var(--ink);font-size:1cqw;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif} +.pl-sheet{--paper:#f5f3ec;--ink:#243230;--muted:#9aa6a5;--deep:#5d706e;position:relative;isolation:isolate;width:100%;aspect-ratio:3/4;overflow:hidden;background:var(--paper);color:var(--ink);font-size:1cqw;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif} .pl-sheet .panel{position:absolute;background:var(--muted)} .pl-sheet .title{position:absolute;margin:0;font-weight:500;line-height:1.12;max-width:86%;overflow-wrap:anywhere} .pl-sheet .copy{position:absolute;margin:0;font-size:2.22em;line-height:1.65;white-space:pre-line} @@ -58,6 +58,6 @@ export const layoutDocuments:GuidanceDocument[]=[{ },...recipes.map((r,i):GuidanceDocument=>({ path:path(r.slug),title:`${String(i+1).padStart(2,'0')} · ${r.name}`,collection:'高级感排版', resources:[image(r.slug,r.name+' · 结构示意,非代码截图'),doc('router','总览 Router · 选择、技术栈与交付协议'),{id:'demo',kind:'document',title:'打开可运行 HTML 示例',href:'/layout-recipes/'+r.slug+'.html'}], - blocks:[p(`${r.name}:${r.scene}。本篇是一套可执行的设计配方;封面是独立绘制的构图示意,实际示例以 HTML/CSS 与 React 组件为准。`),h('何时使用与停止条件'),p(`适用:${r.scene}。不适用:${r.avoid}。标题默认 4—8 个汉字、正文不超过 40 字;超出时先拆页或转阅读版。品牌色与素材可替换,保持构图关系。`),h('构图参数'),p(r.geometry),p('默认 1080×1440,3:4;纸白 #f5f3ec,灰绿 #9aa6a5,深灰绿 #637574,文字 #243230。字号按画板缩放:1em=10.8px,正文 2.22em≈24px。网页阅读模式、字体与图片替换规则由总览 Router 统一管理。'),h('制作步骤'),p(r.steps),h('HTML / CSS:完整独立文件'),p('复制以下完整代码到 poster.html;默认无需网络资源。色块为占位,替换素材时遵守 Router 的图像与版权协议。'),code(recipeHtml(r)),links('demo'),h('React / TSX:可复用组件'),p(`保存为 components/layouts/${r.slug}/LayoutPoster.tsx;支持 title 与 subtitle 字符串 props。把下段 CSS 保存为同目录 poster.css,并在 React 应用入口导入。静态组件不需要 use client。`),code(recipeReact(r)),h('React 与 Next.js 共用 CSS'),code(recipeCss(r)),h('Next.js App Router:路由接入'),p(`下面的 page.tsx 对应 /designs/${r.slug},使用上面的组件和 CSS。新项目根布局、路径别名、next/image、next/font/local 与交互边界见 Router;已有项目保留自己的根布局。`),code(recipeNext(r)),h('本构图的验收标准'),p(r.check),p('共同检查:1080×1440 下标题完整、正文与底部版本行不重叠;375px 和 768px 下等比海报无意外横向滚动。若用于网页正文,启用 Router 的阅读模式并逐项检查。所有示例只有系统字体与结构占位,替换真实标题、字体和图片后须重新验收。'),h('变体与修改顺序'),p('先替换真实内容,再调整标题字号与说明长度,随后微调图形位置;最后才改变背景色和装饰。只调整该 slug 下的布局规则,避免影响其他构图。交付保留 HTML 或 TSX/CSS 源码、素材说明与导出文件。'),links('router'), + blocks:[p(`${r.name}:${r.scene}。本篇是一套可执行的设计配方;封面是独立绘制的构图示意,实际示例以 HTML/CSS 与 React 组件为准。`),h('何时使用与停止条件'),p(`适用:${r.scene}。不适用:${r.avoid}。标题默认 4—8 个汉字、正文不超过 40 字;超出时先拆页或转阅读版。品牌色与素材可替换,保持构图关系。`),h('构图参数'),p(r.geometry),p('默认 1080×1440,3:4;纸白 #f5f3ec,灰绿 #9aa6a5,深灰绿 #5d706e,文字 #243230。字号按画板缩放:1em=10.8px,正文 2.22em≈24px。网页阅读模式、字体与图片替换规则由总览 Router 统一管理。'),h('制作步骤'),p(r.steps),h('HTML / CSS:完整独立文件'),p('复制以下完整代码到 poster.html;默认无需网络资源。色块为占位,替换素材时遵守 Router 的图像与版权协议。'),code(recipeHtml(r)),links('demo'),h('React / TSX:可复用组件'),p(`保存为 components/layouts/${r.slug}/LayoutPoster.tsx;支持 title 与 subtitle 字符串 props。把下段 CSS 保存为同目录 poster.css,并在 React 应用入口导入。静态组件不需要 use client。`),code(recipeReact(r)),h('React 与 Next.js 共用 CSS'),code(recipeCss(r)),h('Next.js App Router:路由接入'),p(`下面的 page.tsx 对应 /designs/${r.slug},使用上面的组件和 CSS。新项目根布局、路径别名、next/image、next/font/local 与交互边界见 Router;已有项目保留自己的根布局。`),code(recipeNext(r)),h('本构图的验收标准'),p(r.check),p('共同检查:1080×1440 下标题完整、正文与底部版本行不重叠;375px 和 768px 下等比海报无意外横向滚动。若用于网页正文,启用 Router 的阅读模式并逐项检查。所有示例只有系统字体与结构占位,替换真实标题、字体和图片后须重新验收。'),h('变体与修改顺序'),p('先替换真实内容,再调整标题字号与说明长度,随后微调图形位置;最后才改变背景色和装饰。只调整该 slug 下的布局规则,避免影响其他构图。交付保留 HTML 或 TSX/CSS 源码、素材说明与导出文件。'),links('router'), ], }))]; diff --git a/apps/wiki/src/content/layouts/recipes.json b/apps/wiki/src/content/layouts/recipes.json index 423f519..af371c5 100644 --- a/apps/wiki/src/content/layouts/recipes.json +++ b/apps/wiki/src/content/layouts/recipes.json @@ -9,7 +9,7 @@ "check": "两块不接触;主块面积大于副块;标题与图块相距至少 24px;替换图片后两个容器比例不变。", "css": ".sheet.offset-panels .panel-a{left:18%;top:16%;width:68%;height:37%}.sheet.offset-panels .panel-b{left:37%;top:57%;width:49%;height:31%;background:var(--deep)}.sheet.offset-panels .title{left:7%;top:6%;font-size:6em}.sheet.offset-panels .copy{left:7%;top:66%;width:25%}", "markup": "
\n\n以留白建立关系,\n让视线缓慢移动。
", - "shapes": "空间研究 / 第二辑 / 2026
", - "shapes": "让一个词成为画面的重心。\nDESIGN STUDIES / 2026
", - "shapes": "时间的形状 / ANNUAL REVIEW / 2026
", - "shapes": "一条曲线,\n一处停顿。
", - "shapes": "INDEX / SIX DESIGN STUDIES
", - "shapes": "CHAPTER
ZERO
以一道横向色带,\n建立章节之间的停顿。
", - "shapes": "材料笔记 / 两张卡片的轻微偏移
", - "shapes": "从空间到关系 / TWO PERSPECTIVES
", - "shapes": "