mcpField
M
markdown-to-pdf

markdown-to-pdf

github.com/alchaincyfドキュメント2.1k61 回インストール4 日前に更新
リポジトリ

markdown-to-pdf について

markdown-to-pdf は、Markdown 文書をホワイトペーパー風の PDF に変換するスキルです。構造化された技術文書の作成向けに、リンク付き目次やページ分割、コードブロックと表の組版を行います。

主な機能

  1. 01Markdown から PDF への変換
  2. 02リンク付き目次の自動生成
  3. 03章ごとの改ページと孤立行制御
  4. 04コードブロックと表の描画
  5. 05タイトル、著者、スタイルのカスタマイズ

活用シーン

  1. 01技術ガイドの PDF 作成
  2. 02Markdown 白書の組版
  3. 03目次付き PDF の生成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/alchaincyf/huashu-skills --skill markdown-to-pdf

インストール後、Claude Code で/markdown-to-pdfを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

EXAMPLES.md
README.md
scripts/
convert.py

詳細

Markdown to PDF Skill

Markdown ドキュメントを、プロフェッショナルなAppleデザインスタイルのPDFホワイトペーパーに変換します。

主な機能

  1. プロフェッショナルな組版:書籍レベルの組版品質で、ページ分割や孤立行・寡行を自動処理します
  2. Appleデザイン:SFフォントシステム、モダンでシンプルなスタイル、プロフェッショナルな配色
  3. 完全な目次:章構成を自動抽出し、2列レイアウトで表示。クリックして移動できます
  4. 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デザインスタイル
  • 目次を自動生成
  • 書籍レベルの組版品質

コメント