一键导入
epub-legacy-footnote-fallback
在项目标准 EPUB 3 grouped footnote 结构上叠加多看旧版 popup note 兼容 fallback。用于必须兼容 Duokan legacy readers,且仍需满足 SPEC §1 fallback 约束时。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
在项目标准 EPUB 3 grouped footnote 结构上叠加多看旧版 popup note 兼容 fallback。用于必须兼容 Duokan legacy readers,且仍需满足 SPEC §1 fallback 约束时。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
用于 EPUB 出现生僻字、方块字、跨阅读器字形不一致、Kindle 字体回退失败,或需要验证嵌入字体、子集字体和候选大字库是否覆盖全书字符时。
优化中文/CJK EPUB 排版,包括正文节奏、font-family 链、嵌入字体、生僻字 fallback、标题字体、中西文混排和阅读器安全段落间距。用于文字拥挤、裁切、跨阅读器字体不一致或字体规则需要清理时。
将 EPUB 封面式页面、卷首、章首或海报页转换为项目的 A-lite 可重排全页方案,同时保留原有图文叠加构图、文字、图片和资源。
重构和维护 EPUB CSS 分层。用于 CSS 规则重复、放错文件、层级边界不清,或新增正文、弹注、文字效果、文学结构、图片混排、竖排、A-lite 海报等样式时。
优化英文 EPUB 书籍排版,包括书籍类型判断、英语语言标记、serif 字体链、段落缩进、标题层级、插图、断字、引用/诗歌/信件、Kindle/Readest/Apple Books 大字号回归。用于英文小说、散文、非虚构或英文为主的 EPUB 需要形成可重排、可验证的排版方案时。
优化 EPUB 图片版式、figure 环绕、图注、栅格格式、封面声明与阅读器兼容性。用于图片过小、裁切、Kindle 空白、图文环绕差、缺图注,或封面/海报图片处理需要 EPUB 安全规则时。
| name | epub-legacy-footnote-fallback |
| description | 在项目标准 EPUB 3 grouped footnote 结构上叠加多看旧版 popup note 兼容 fallback。用于必须兼容 Duokan legacy readers,且仍需满足 SPEC §1 fallback 约束时。 |
只有目标 EPUB 必须保留多看旧版 popup-note 兼容性时才使用这个 skill。它是兼容层,不是项目默认 note 模式。
权威结构源是 docs/final/SPEC-实现约束.md §1;以下内容保持 skill 可独立执行,并不得与该节分叉。
保留项目标准结构作为主形态:
<html> 声明 xmlns:epub="http://www.idpf.org/2007/ops"。epub:type="noteref" 和 role="doc-noteref" 的 <a>。href 指向同一 XHTML 文件内的 note li。<aside epub:type="footnote" role="doc-footnote">。ol.footnote-list。li.footnote-item。◎。在同一结构上叠加 legacy hooks:
duokan-footnote。ol.footnote-list 增加 duokan-footnote-content。li 增加 duokan-footnote-item。不要为 fallback 创建第二份 note body。
<p>
正文文字
<sup>
<a id="note-1"
class="noteref-icon duokan-footnote"
epub:type="noteref"
role="doc-noteref"
href="#footnote-1">
<img alt="注" src="../Images/note.png"/>
</a>
</sup>
继续正文。
</p>
<aside epub:type="footnote" role="doc-footnote">
<div><hr class="footnote-line"/></div>
<ol class="footnote-list duokan-footnote-content">
<li class="footnote-item duokan-footnote-item" id="footnote-1">
<p class="footnote">
<a class="footnote-back"
epub:type="backlink"
role="doc-backlink"
href="#note-1">◎</a>
富文本注释内容。
</p>
</li>
</ol>
</aside>
aside > ol.footnote-list > li.footnote-item 模式的文件开始。<html> 声明 xmlns:epub="http://www.idpf.org/2007/ops"。duokan-footnote,但不要删除 epub:type、role、id 或 href。img src;只有缺少图片热区且需要新增 legacy fallback 资源时,才使用 ../Images/note.png。ol.footnote-list 增加 duokan-footnote-content;不要把它放到 li 上。li.footnote-item 增加 duokan-footnote-item。Images/note.png。如果 EPUB 还没有样式化这些类,把以下规则合并到活动 note CSS:
.noteref-icon,
a.duokan-footnote {
text-decoration: none;
}
.noteref-icon img,
a.duokan-footnote img {
width: auto;
height: 1em;
vertical-align: baseline;
}
ol.duokan-footnote-content {
list-style-type: none;
padding: 0;
margin: 0;
}
.footnote-item.duokan-footnote-item {
list-style-type: none;
}
如果源文件没有 .footnote-line,可以添加可见分隔线:要么使用 footnote-line 规则,要么给 .duokan-footnote-content 加 border;同一路径不要两者都用。
epub-popup-footnote-converter。footnote-list、footnote-item 等中性类。duokan-* 类。duokan-footnote-content 放在单个 li 上;旧多看兼容验证的是 grouped ol 上的类。display:none note body。使用这些本地参考:
templates/epub-style-demo/OEBPS/Text/05-legacy-note-fallback.xhtml:单条兼容样例。templates/epub-style-demo/retired/06-multi-legacy-note-fallback.xhtml:历史多条 fallback notes 对照,不进入默认 demo 构建。应用 fallback 后运行 stdlib-only validator:
scripts/validate-popup-notes.sh
多条 note 验证:
li 内容。本 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。