원클릭으로
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。