markdown-to-pdf について
markdown-to-pdf は、Markdown 文書をホワイトペーパー風の PDF に変換するスキルです。構造化された技術文書の作成向けに、リンク付き目次やページ分割、コードブロックと表の組版を行います。
主な機能
- 01Markdown から PDF への変換
- 02リンク付き目次の自動生成
- 03章ごとの改ページと孤立行制御
- 04コードブロックと表の描画
- 05タイトル、著者、スタイルのカスタマイズ
活用シーン
- 01技術ガイドの PDF 作成
- 02Markdown 白書の組版
- 03目次付き PDF の生成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ alchaincyf/ huashu-skills --skill markdown-to-pdfインストール後、Claude Code で/markdown-to-pdfを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
EXAMPLES.mdREADME.mdscripts/convert.py詳細
Markdown to PDF Skill
Markdown ドキュメントを、プロフェッショナルなAppleデザインスタイルのPDFホワイトペーパーに変換します。
主な機能
- プロフェッショナルな組版:書籍レベルの組版品質で、ページ分割や孤立行・寡行を自動処理します
- Appleデザイン:SFフォントシステム、モダンでシンプルなスタイル、プロフェッショナルな配色
- 完全な目次:章構成を自動抽出し、2列レイアウトで表示。クリックして移動できます
- Markdownを完全サポート:コードブロック、表、引用、リストなどをすべて正しくレンダリングします
使用方法
基本的な使い方
# 转换单个文件
python scripts/convert.py input.md
# 指定输出文件名
python scripts/convert.py input.md -o "我的白皮书.pdf"
# 自定义标题和作者
python scripts/convert.py input.md --title "技术白皮书" --author "花叔"
Markdown ドキュメントの要件
Markdown ドキュメントは、次の構成に従ってください。
# 文档标题
## 1. 第一章
### 1.1 第一节
### 1.2 第二节
## 2. 第二章
### 2.1 第一节
重要なルール:
- 主要な章:
## 1. タイトル(数字 + ピリオド + スペース + タイトル) - サブセクション:
### 1.1 タイトル(数字.数字 + スペース + タイトル) - 目次を正しく抽出するには、この形式にする必要があります
デザインの特徴
表紙のデザイン
- 薄いグレーのグラデーション背景
- 大見出し:64pt、シンプルでモダン
- サブタイトルとメタ情報
目次のデザイン
- 2列レイアウトで1ページに表示
- 主要な章は太字、サブセクションはインデント
- 対応する章へクリックして移動できます
本文の組版
- SFフォントシリーズ(Appleのデザイン言語)
- 行間1.7で快適に読めます
- 章ごとに自動で改ページします
- 孤立行・寡行を制御します
コードブロック
- 薄いグレーの背景 + 細い枠線
- 角丸8px
- SF Mono等幅フォント
- ページ分割を自動で回避します
表
- 見やすいグリッド線
- 薄いグレーのヘッダー
- 長い表のページ分割時にヘッダーを自動的に保持します
設定オプション
スタイルをカスタマイズする場合は、scripts/convert.py のCSS変数を変更してください。
# 主色调
PRIMARY_COLOR = '#06c' # 苹果蓝
TEXT_COLOR = '#1d1d1f' # 主文本黑色
GRAY_COLOR = '#86868b' # 浅灰色
# 字体大小
COVER_TITLE_SIZE = '64pt'
H2_SIZE = '22pt'
H3_SIZE = '17pt'
BODY_SIZE = '11pt'
よくある質問
Q: 目次が空なのはなぜですか?
A: Markdownで正しい章の形式が使用されていることを確認してください。
## タイトルではなく## 1. タイトル### タイトルではなく### 1.1 タイトル
Q: コードブロックが正しく表示されないのはなぜですか?
A: 3つのバッククォートで囲んでください。
```python
def hello():
print("Hello")
```
Q: 表の書式が崩れるのはなぜですか?
A: 標準的なMarkdownの表記法を使用してください。
| 列1 | 列2 |
|-----|-----|
| 值1 | 值2 |
Q: フォントを変更するにはどうすればよいですか?
A: scripts/convert.py のCSSを編集し、font-family 属性を変更してください。
Q: 生成されたPDFのサイズが大きすぎる場合はどうすればよいですか?
A: 画像が大量に含まれていないか確認し、画像を圧縮するか外部リンクを使用してください。
依存関係のインストール
初回使用時は、Pythonの依存関係をインストールする必要があります。
pip3 install markdown2 weasyprint
WeasyPrintのインストールで問題が発生した場合(macOS):
brew install pango
pip3 install weasyprint
例
技術ドキュメントの生成
python scripts/convert.py tech-guide.md -o "技术指南.pdf"
ホワイトペーパーの生成
python scripts/convert.py whitepaper.md --title "产品白皮书" --author "团队"
スクリプトの説明
scripts/convert.py- メイン変換スクリプトscripts/styles.css- CSSスタイル定義(スクリプトに埋め込み済み)templates/cover.html- 表紙テンプレート(スクリプトに埋め込み済み)
技術的な実装
このSkillでは、次を使用します。
- markdown2:Markdown解析(拡張構文をサポート)
- WeasyPrint:HTMLからPDFへの変換(CSS3をサポート)
- Appleデザインシステム:SFフォント、プロフェッショナルな配色、モダンな組版
更新履歴
v1.0 (2025-12-24)
- 初期バージョン
- Markdown構文を完全サポート
- Appleデザインスタイル
- 目次を自動生成
- 書籍レベルの組版品質
コメント
Markdown 対応