--- name: ads_html_to_obsidian description: "将 ADS 下载的 HTML/PDF 天体物理文献批量转换为 Obsidian Markdown 笔记格式。当用户要求将下载的论文转为 Obsidian 笔记、将 HTML 文献转为 Markdown、或者在使用 ads_literature_downloader 之后需要整理文献到 Obsidian 知识库时,务必触发并使用本技能。当用户提到 '转换文献'、'导入 Obsidian'、'整理论文'、'放到笔记库' 等关键词时也应触发。" --- # ADS HTML to Obsidian (ADS 文献转 Obsidian 笔记) 本技能将 `ads_literature_downloader` 下载的 HTML 文献批量转换为 Obsidian Markdown 格式的笔记文件。它会: 1. 从 HTML 中提取论文正文(使用 BeautifulSoup) 2. 通过 Pandoc 将 HTML 转为干净的 Markdown 3. 清理转换残留标记(CSS class、div、脚注等) 4. 生成带有 YAML frontmatter 的 Obsidian 笔记文件 5. 对于无法获取全文的文献,自动回退为仅保存摘要 ## 依赖 - Python 虚拟环境中需安装 `beautifulsoup4`(`uv pip install beautifulsoup4`) - 系统需安装 `pandoc`(`sudo apt install pandoc`) ## 运行方式 本技能通过附带脚本 `scripts/convert.py` 执行批量转换: ```bash python .claude/skills/ads_html_to_obsidian/scripts/convert.py \ \ \ ``` ### 参数说明 - `metadata.json`:由 `ads_metadata_search` 技能生成的文献元数据 JSON 文件,包含每篇论文的 `bibcode`、`title`、`author`、`year`、`abstract`、`pub`、`doi` 等字段 - `download_dir`:由 `ads_literature_downloader` 技能创建的下载目录,内含 `HTML/` 和 `PDF/` 子目录 - `output_dir`:Obsidian 笔记库的目标目录(如 Obsidian vault 中的主题文件夹) ### 输出格式 每个文献生成一个以 bibcode 命名的 `.md` 文件,格式如下: ```yaml --- title: "论文标题" author: ["作者1", "作者2"] publisher: "期刊名" source: "https://ui.adsabs.harvard.edu/abs/BIBCODE/abstract" date: "2025-01-01" tags: "Astrophysics-Solar-and-Stellar-Astrophysics" --- # 论文标题 ## [ADS: ADS链接](ADS链接) 论文正文(Markdown 格式)... ``` 如果 HTML 全文无法转换(如会议摘要、星表、HST 提案等),文件中会包含 `## Abstract` 部分和摘要文本。 ## 典型工作流 本技能通常与其他 ADS 技能配合使用: 1. **搜索文献**:使用 `ads_metadata_search` 搜索并保存元数据到 `results.json` 2. **下载文献**:使用 `ads_literature_downloader` 下载 PDF/HTML 到 `download_dir/` 3. **转换笔记**:使用本技能将下载的文献转为 Obsidian 笔记 ```bash # 完整工作流示例 # Step 1: 搜索 python .claude/skills/ads_metadata_search/scripts/search.py \ --query '"hot subdwarf"' --output results.json --rows 50 --year_range 2025-2026 # Step 2: 提取 bibcodes 并下载 python .claude/skills/ads_literature_downloader/scripts/download.py \ --bibcode_file bibcodes.txt --output_dir ./papers --threads 3 # Step 3: 转换为 Obsidian 笔记 python .claude/skills/ads_html_to_obsidian/scripts/convert.py \ results.json ./papers /path/to/obsidian/vault/TopicFolder ``` ## 脚本输出 运行时会显示每篇文献的转换状态: - `[HTML->MD]`:成功从 HTML 转为 Markdown(含全文) - `[Abstract only]`:无法获取全文,仅保存摘要 结束后统计总数、成功转换数和仅摘要数。