Markdown → HTML 変換の代表的な方法

手軽さ・拡張性・ワークフロー統合の3観点でまとめました。
必要に応じてサンプルコードをコピペしてご活用ください。

目次

1. CLIツールで一発変換(最速・汎用)

ツール インストール 代表的なコマンド 特徴
Pandoc macOS brew install pandoc
Ubuntu sudo apt install pandoc
bash<br>pandoc input.md -f markdown -t html -s -o output.html<br> – CommonMark+拡張多数
– docx/PDF など多形式へも変換可能
markdown-cli npm i -g markdown-cli bash<br>md2html input.md > output.html<br> – Node 製で軽量
– HTML テンプレートを差し替え可

ポイント
-sstandalone(HTML5 の <html></html> を含む完全ファイル)を生成。
CSS を当てたいときは <link> の挿入か、pandoc --css=style.css … でも OK です。


2. Node.js で Web/ビルドフローに組み込む

bash
npm i marked # あるいは markdown-it
js
// convert.js
import { readFileSync, writeFileSync } from "node:fs";
import { marked } from "marked"; // markdown-it でもほぼ同様
const md = readFileSync("input.md", "utf8");
const html = marked.parse(md); // GFM 対応
writeFileSync("output.html", html);
console.log("✔︎ output.html を生成しました");

活用例

  • 静的サイトジェネレータ:Next.js/Astro のビルド時に above スクリプトを実行。

  • CI/CD:GitHub Actions で push トリガー→ HTML 自動ビルド → S3/CloudFront へデプロイ。


3. Python スクリプトで自動化 & バッチ処理

bash
pip install markdown
python

import markdown, pathlib

md_text = pathlib.Path(“input.md”).read_text(encoding=“utf-8”)
html = markdown.markdown(md_text, extensions=[“fenced_code”, “tables”])
pathlib.Path(“output.html”).write_text(html, encoding=“utf-8”)
print(“✔︎ output.html を生成しました”)

  • extensionsコードブロック (fenced_code) やテーブル を有効化。

  • 複数ファイルをループ処理すれば、ドキュメント一式を一括変換可能。


4. CMS/エディタ組み込みでリアルタイム変換

シーン プラグイン例 導入のヒント
WordPress WP Githuber MD
Markdown Editor
– Gutenberg を Markdown 書式に対応
– 既存記事も一括変換可
VS Code Markdown Preview Enhanced Ctrl+K V でプレビュー分割表示
– CSS テーマ切替 & PDF 書き出し
Notion → Web notion-blog など OSS – Notion DB を Markdown で出力→静的サイトへ

5. よくある質問 & ベストプラクティス

Q A
GitHub / Bitbucket で表示崩れ… サービス間で GFM 実装が微妙に違う。
marked, markdown-itGFM オプション (gfm: true) で合わせる or Pandoc 変換時 --markdown-headings=atx を指定。
HTML インジェクションが心配 Node なら dompurify, Python なら bleachサニタイズ
独自ショートコードを使いたい markdown-it / markdown-it-attrsプラグインを書いて拡張。

まとめ & 推奨ワークフロー

  1. 単発変換や汎用ドキュメントPandoc で OK。

  2. Node やフロントエンド案件marked / markdown-it をビルドに組み込む。

  3. Python バッチや社内ツールmarkdown ライブラリでスクリプト化。

Web 制作者なら 「CI で Markdown → HTML → デプロイ」 を自動化しておくと、記事追加のたびに人手なしでサイトが更新できます。まずは任意の方法でローカル変換を試し、プロジェクト規模に合わせてワークフローに統合してみてください。

よかったらシェアしてね!
  • URLをコピーしました!
スゴヨクン
この記事の執筆者
スゴヨクン

成果主義Webマーケター見習い。
SEOから広告運用、アクセス解析まで「売れる仕組みづくり」を魔法のように研究中。
難しい用語もやさしく噛み砕いてお届けします。
「スゴくヨクなる」ヒントを、今日もあなたに。

株式会社スゴヨク 川上晋平
この記事の監修者
川上 晋平

株式会社スゴヨクにてマーケティング戦略の立案から実行までを統括。中小企業やスタートアップ向けにWeb広告運用、LP制作、SEO対策など幅広い支援を行っており、これまでに100社以上のデジタル施策をサポート。現場の視点とデータに基づいた分析力に定評があり、確かな実績と最新の知見に基づいた監修を行っています。
■資格:
Google アナリティクス認定資格
Google 広告の検索広告認定資格
Google 広告「ディスプレイ広告」認定資格


CONTACT US

CONTACT US お問い合わせ・ご相談

お見積り・ホームページ制作・運用、広告に関するご質問まで、
どんなことでもお気軽にご相談ください。
日・祝日・休業日以外は24時間以内に返信いたします。

目次