بنقرة واحدة
epub-css-layering-optimizer
重构和维护 EPUB CSS 分层。用于 CSS 规则重复、放错文件、层级边界不清,或新增正文、弹注、文字效果、文学结构、图片混排、竖排、A-lite 海报等样式时。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
重构和维护 EPUB CSS 分层。用于 CSS 规则重复、放错文件、层级边界不清,或新增正文、弹注、文字效果、文学结构、图片混排、竖排、A-lite 海报等样式时。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
用于 EPUB 出现生僻字、方块字、跨阅读器字形不一致、Kindle 字体回退失败,或需要验证嵌入字体、子集字体和候选大字库是否覆盖全书字符时。
优化中文/CJK EPUB 排版,包括正文节奏、font-family 链、嵌入字体、生僻字 fallback、标题字体、中西文混排和阅读器安全段落间距。用于文字拥挤、裁切、跨阅读器字体不一致或字体规则需要清理时。
将 EPUB 封面式页面、卷首、章首或海报页转换为项目的 A-lite 可重排全页方案,同时保留原有图文叠加构图、文字、图片和资源。
优化英文 EPUB 书籍排版,包括书籍类型判断、英语语言标记、serif 字体链、段落缩进、标题层级、插图、断字、引用/诗歌/信件、Kindle/Readest/Apple Books 大字号回归。用于英文小说、散文、非虚构或英文为主的 EPUB 需要形成可重排、可验证的排版方案时。
优化 EPUB 图片版式、figure 环绕、图注、栅格格式、封面声明与阅读器兼容性。用于图片过小、裁切、Kindle 空白、图文环绕差、缺图注,或封面/海报图片处理需要 EPUB 安全规则时。
检查 EPUB 的 Kindle/KDP 兼容风险,包括图片格式、封面 metadata、nav + NCX、MathML properties、CSS fallback、文字裁切、表格/代码溢出和转换日志 warning。用于 Kindle 交付前或 Kindle Previewer/App 与其他阅读器表现不一致时。
| name | epub-css-layering-optimizer |
| description | 重构和维护 EPUB CSS 分层。用于 CSS 规则重复、放错文件、层级边界不清,或新增正文、弹注、文字效果、文学结构、图片混排、竖排、A-lite 海报等样式时。 |
当 CSS 需要整理、拆分或修复,但不需要改正文内容时使用这个 skill。
使用项目 CSS 分层契约:
| 文件 | 职责 |
|---|---|
fonts.css | @font-face、字体工具类、嵌入字体专用 helper |
base.css | @page、html/body、标题、段落、列表、表格、代码、基础 figure/img、内联语义、默认 Ruby、.has-ruby 行距兜底 |
notes.css | 标准 footnote、popup note、多看 fallback 类 |
effects.css | 着重号、波浪线 fallback、首字下沉、.note-box 边框/阴影视觉增强 |
literary.css | 章首、章节头图、小章标、满栏横幅、题记、对话、诗、信件、文白对照、场景分隔、前置页 |
media.css | 图片浮动网格、图文环绕、公式与 math block |
vertical.css | 非海报整页竖排正文 |
poster.css | A-lite 骨架、海报背景、全页叠加文字 |
加载顺序:
fonts.css -> base.css -> notes/effects/literary/media/vertical/poster.css
base.css。docs/how-to/note-box-border-styles.md 判断是否属于 .note-box 容器视觉。<link> 顺序,先加载依赖,再加载组件覆盖。body.css-local-* 作用域并归并到一个 clean-scoped-local.css;引用集合有交叠时必须跳过并报告,不猜测级联优先级。em、%;只有阅读器支持明确时再用其他单位。主路径不使用 viewport units。.wavy {
text-decoration: underline;
text-decoration-style: wavy;
}
body { width: 100%; padding-left: ...; padding-right: ...; }。html / body、body.fullpage、标题、图注和引用不写页面级 color、background 或 background-color;局部组件可保留必要的边框、阴影和背景装饰。body.fullpage shell 规则留在 poster.css。base.css。Text/01-body.xhtml:base 正文规则。Text/02-ruby-note.xhtml:notes + Ruby 默认。Text/10-text-effects.xhtml:effects 层。Text/19-border-shadow-notes.xhtml:effects 层中的 .note-box 边框/阴影视觉增强。Text/15-frontmatter.xhtml、Text/18-english-fiction.xhtml、Text/20-chapter-head-image.xhtml、Text/21-classical-modern.xhtml:literary 层。Text/17-image-layout.xhtml:media 层。Text/14-vertical-body.xhtml:vertical 层。Text/03-vertical-alite.xhtml:poster 层。Text/03c-poster-contain.xhtml:poster 层中的单图卷封 contain + fallback。运行:
sh templates/epub-style-demo/build.sh
scripts/validate-epub-style-demo.sh --epub templates/epub-style-demo/dist/<artifact>.epub
git diff --check
本 skill 默认 dry-run。直接调用只输出预期改动 JSON;加 --commit 才真正改。
代理协议示例(注释说明代理动作,不是独立 shell 命令):
# 代理调用当前 skill,并将 dry-run JSON 写入 work/dry-run.json
# 人工审查
cat work/dry-run.json | jq
# 用户确认后,由映射 provider 写出新的 EPUB 产物
dry-run 输出格式见 docs/pipeline/cleanup-flow.md。