Markdown プレビューツールは入力をパースしてリアルタイムで HTML に変換します。これにより、ファイルをコミットしたりページを公開したりする前に、フォーマットのエラー、リンク切れ、予期しないネスト構造を発見できます。このプレビュアーはブラウザ内で完全に動作し、サーバーへの通信が不要なため、機密性の高いドキュメントを安全に扱えます。
ブラウザツールではなくアプリケーション内で Markdown をレンダリングする必要がある場合は、以下のライブラリを使用してください。各例は Markdown 文字列を HTML 文字列に変換します。
JavaScript (marked)
import { marked } from 'marked'
const md = '# Hello\n\nThis is **Markdown**.'
const html = marked(md)
// → "<h1>Hello</h1>\n<p>This is <strong>Markdown</strong>.</p>\n"
// With options
marked.setOptions({ gfm: true, breaks: true })
const gfmHtml = marked('Line one\nLine two')
// → "<p>Line one<br>Line two</p>\n"
Python (markdown)
import markdown
md = '# Hello\n\nThis is **Markdown**.'
html = markdown.markdown(md)
# → '<h1>Hello</h1>\n<p>This is <strong>Markdown</strong>.</p>'
# With extensions
html = markdown.markdown(md, extensions=['fenced_code', 'tables'])
# Convert a file
with open('README.md') as f:
html = markdown.markdown(f.read(), extensions=['extra'])
Go (goldmark)
package main
import (
"bytes"
"fmt"
"github.com/yuin/goldmark"
)
func main() {
source := []byte("# Hello\n\nThis is **Markdown**.")
var buf bytes.Buffer
if err := goldmark.Convert(source, &buf); err != nil {
panic(err)
}
fmt.Println(buf.String())
// → <h1>Hello</h1>
// → <p>This is <strong>Markdown</strong>.</p>
}
CLI (pandoc)
# Convert Markdown file to HTML
pandoc README.md -f markdown -t html -o output.html
# Convert with GitHub Flavored Markdown
pandoc README.md -f gfm -t html --standalone -o output.html
# Pipe from stdin
echo '# Hello **world**' | pandoc -f markdown -t html
# → <h1>Hello <strong>world</strong></h1>
よくある質問
Markdown と HTML の違いは何ですか?
Markdown は HTML に変換されるプレーンテキストの簡略記法です。<h1>見出し</h1> の代わりに # 見出し と書きます。Markdown は記述が速くソース形式でも読みやすいですが、HTML はすべての要素と属性を細かく制御できます。ほとんどの Markdown レンダラーは標準 HTML を出力します。