mcpField
L
lovstudio:any2docx

lovstudio:any2docx

github.com/lovstudioドキュメント7394 回インストール今日更新
リポジトリ

lovstudio:any2docx について

python-docx を使って Markdown ファイルを編集可能な Word 文書に変換するスキルです。整形された文書を作成したい場合に向けて、コードブロック、表、画像、CJK とラテン文字の混在に対応し、表紙や目次も生成できます。

主な機能

  1. 01Markdown から DOCX への変換
  2. 02コードブロック・表・リストへの対応
  3. 03ローカルおよびリモート画像の埋め込み
  4. 04テーマと透かしの適用
  5. 05表紙と目次の生成

活用シーン

  1. 01Markdown レポートを Word 文書に変換
  2. 02コードや表を含む技術文書の作成
  3. 03表紙と目次付きの長文書の作成

インストール

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

$npx skills add https://github.com/lovstudio/skills --skill lovstudio:any2docx

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

同梱ファイル

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

CHANGELOG.md
README.md
scripts/
md2docx.py

詳細

any2docx — Markdown からプロフェッショナルな DOCX へ

このスキルは、Python の python-docx ライブラリを使用して、任意の Markdown ファイルをプロフェッショナルなスタイルの Word 文書に変換します。 any2pdf と同じテーマパレットを共有し、CJK/ラテン文字のあらゆるエッジケースに適切に対応します。

使用する場面

  • ユーザーが .md → .docx(Word)への変換を希望する場合
  • ユーザーが編集可能な文書(PDF ではない)を必要とする場合
  • 文書に CJK 文字とラテン文字が混在している場合
  • 文書にフェンス付きコードブロック、Markdown テーブル、またはリストが含まれている場合
  • ユーザーが DOCX に表紙、目次、または透かしを追加したい場合

クイックスタート

python lovstudio-any2docx/scripts/md2docx.py \
  --input report.md \
  --output report.docx \
  --title "My Report" \
  --author "Author Name" \
  --theme warm-academic

--input 以外のすべてのパラメーターは省略可能です。適切なデフォルト値が適用されます。

変換前のオプション(必須)

重要:変換を実行する前に、必ず AskUserQuestion ツールを使ってこれらの質問をしてください。オプションをプレーンテキストで列挙しないでください。ユーザーに適切なインタラクティブプロンプトを表示するため、ツールを使ってください。すべてのオプションを1回の AskUserQuestion 呼び出しで尋ねてください。

以下のテンプレートで AskUserQuestion を使用してください。

开始转 Word!先帮你确认几个选项 👇

━━━ 📐 设计风格 ━━━
 a) 暖学术    — 陶土色调,温润典雅,适合人文/社科报告
 b) 经典论文  — 棕色调,灵感源自 LaTeX classicthesis,适合学术论文
 c) Tufte     — 极简留白,深红点缀,适合数据叙事/技术写作
 d) 期刊蓝    — 藏蓝严谨,灵感源自 IEEE,适合正式发表风格
 e) 精装书    — 咖啡色调,书卷气,适合长篇专著/技术书
 f) 中国红    — 朱红配暖纸,适合中文正式报告/白皮书
 g) 水墨      — 纯灰黑,素雅克制,适合文学/设计类内容
 h) GitHub    — 蓝白极简,程序员熟悉的风格
 i) Nord 冰霜 — 蓝灰北欧风,清爽现代
 j) 海洋      — 青绿色调,清新自然
 k) 投资报告  — 楷体+深红,专业严谨,适合投资/尽调报告

━━━ 💧 水印 ━━━
 1) 不加
 2) 自定义文字(如 "DRAFT"、"内部资料")

示例回复:"a, 水印:仅供内部参考"
直接说人话就行,不用记编号 😄
ユーザーの選択肢を CLI 引数に対応付ける
選択肢CLI 引数
デザインスタイル a-k下表の値を指定した --theme
透かしのテキスト--watermark "文字"
テーマ名の対応表
選択肢--theme の値
a) 暖かみのあるアカデミックwarm-academic
b) クラシックな論文classic-thesis
c) Tuftetufte
d) ジャーナルブルーieee-journal
e) 上製本elegant-book
f) 中国レッドchinese-red
g) 水墨画ink-wash
h) GitHubgithub-light
i) Nordnord-frost
j) オーシャンブリーズocean-breeze
k) 投資レポートinvest-report

アーキテクチャ

Markdown → Strip frontmatter → Preprocess (split merged headings) → Parse (code-fence-aware) → python-docx Document → .docx

主なコンポーネント:

  1. CJK フォントの切り替え:_split_mixed() が CJK の文字列を検出し、Songti SC/SimSun/Noto CJK を割り当てます
  2. インライン Markdown:_parse_inline() が 太字、斜体、code、リンク を処理します
  3. 画像:ローカルパス(.md からの相対パス)およびリモート URL に対応します。画像は自動的にダウンロードされ、add_picture() で埋め込まれます
  4. コードブロック:等幅フォントと枠線を適用した、背景色付きの段落です
  5. テーブル:アクセントカラーの背景を適用したヘッダー行と、交互に色分けされた行
  6. 透かし:ヘッダーに VML ベースの斜めの透かしを配置します(Word ネイティブ)
  7. 目次:静的なフォールバック項目を含むフィールドコードです。updateFields=true により、ファイルを開いたときに自動更新されます
  8. YAML フロントマター:自動的に削除されます(status: draft などが出力に漏れることはありません)
  9. 表紙タイトルの自動調整:長いタイトルではフォントサイズを縮小します(36pt → 22pt)

設定リファレンス

引数デフォルト説明
--input(必須)Markdown ファイルへのパス
--outputoutput.docx出力 DOCX のパス
--title最初の H1 から取得表紙に表示する文書タイトル
--subtitle""サブタイトルのテキスト
--author""著者名
--date今日の日付日付文字列
--version""表紙に表示するバージョン文字列
--watermark""透かしのテキスト(空の場合はなし)
--themewarm-academicカラーテーマ名
--covertrue表紙を生成します
--toctrue目次を生成します
--header-title""ページヘッダーに表示するレポートタイトル
--footer-leftauthorフッターに表示するブランド名/著者名
--stats-line""表紙に表示する統計情報
--stats-line2""2行目の統計情報
--edition-line""表紙に表示する版の行
--code-max-lines30コードブロックごとの最大行数

依存関係

pip install python-docx --break-system-packages

コメント