āļ§āļīāļāļĩāđāļāļĨāļ Markdown āđāļāđāļ HTML: āļāļđāđāļĄāļ·āļāļāļāļąāļāļŠāļĄāļāļđāļĢāļāđ
āļ§āļīāļāļĩāđāļāļĨāļ Markdown āđāļāđāļ HTML
Markdown āļāļđāļāļāļāļāđāļāļāļĄāļēāļŠāļģāļŦāļĢāļąāļāļāļēāļĢāđāļāļĩāļĒāļ āđāļāđāđāļ§āđāļāļāļģāļāļēāļāļāļ HTML āđāļāļāļŠāļēāļĢ Markdown āļāļļāļāļāļāļąāļāļāđāļāļāđāļāļĨāļāđāļāđāļ HTML āļāđāļāļāļāļĩāđāđāļāļĢāļēāļ§āđāđāļāļāļĢāđāļāļ°āđāļŠāļāļāļāļĨāđāļāđ āļāļđāđāļĄāļ·āļāļāļĩāđāļāļĢāļāļāļāļĨāļļāļĄāļ§āļīāļāļĩāļāļēāļĢāļŦāļĨāļąāļāđāļāļāļēāļĢāđāļāļĨāļ Markdown āđāļāđāļ HTML
āļ§āļīāļāļĩāļāļĩāđ 1: āđāļāļĢāļ·āđāļāļāļĄāļ·āļāļāļĢāļĢāļāļąāļāļāļģāļŠāļąāđāļ
Pandoc
Pandoc āđāļāđāļāļāļąāļ§āđāļāļĨāļāđāļāļāļŠāļēāļĢāļŠāļēāļāļĨāļāļĩāđāļĢāļāļāļĢāļąāļāļĢāļđāļāđāļāļāļĄāļēāļāļĄāļēāļĒ
# āļāļēāļĢāđāļāļĨāļāļāļ·āđāļāļāļēāļ
pandoc input.md -o output.html
# HTML āđāļāļāļŠāđāļāļāļāđāļāđāļĨāļāļāļĢāđāļāļĄāđāļāđāļ <html> āđāļĨāļ° <body>
pandoc input.md -o output.html -s
# āļāļĢāđāļāļĄāļŠāļēāļĢāļāļąāļ
pandoc input.md -o output.html -s --toc
Python-Markdown
pip install markdown
python -m markdown input.md > output.html
import markdown
with open("input.md", "r") as f:
text = f.read()
html = markdown.markdown(text, extensions=["fenced_code", "tables"])
CommonMark (JavaScript)
npm install commonmark
const commonmark = require("commonmark");
const reader = new commonmark.Parser();
const writer = new commonmark.HtmlRenderer();
const parsed = reader.parse("# Hello\nThis is **bold**.");
const html = writer.render(parsed);
āļ§āļīāļāļĩāļāļĩāđ 2: āđāļāļĢāļ·āđāļāļāļĄāļ·āļāļŠāļĢāđāļēāļāđāļ§āđāļāđāļāļāđāđāļāļ Static
Jekyll
Jekyll āļāļąāļāđāļāļĨāļ·āđāļāļ GitHub Pages āļĄāļąāļāđāļāļĨāļāđāļāļĨāđ Markdown āļāļēāļ _posts āļŦāļĢāļ·āļ collections āđāļāđāļ HTML
gem install jekyll bundler
jekyll new my-site
jekyll build
jekyll serve
āđāļāđāļāļąāļ§āļāļĢāļ°āļĄāļ§āļĨāļāļĨ Kramdown āļāļĢāđāļāļĄāđāļāļĄāđāļāļĨāļ Liquid āļŠāļģāļŦāļĢāļąāļāđāļāļ·āđāļāļŦāļēāđāļāļāđāļāļāļēāļĄāļīāļ
Hugo
Hugo āđāļāđāļāđāļāļĢāļ·āđāļāļāļĄāļ·āļāļŠāļĢāđāļēāļāđāļ§āđāļāđāļāļāđāđāļāļ static āļāļĩāđāđāļāđ Go āļāļķāđāļāđāļāđāļāļāļĩāđāļĢāļđāđāļāļąāļāđāļāđāļĢāļ·āđāļāļāļāļ§āļēāļĄāđāļĢāđāļ§āđāļāļāļēāļĢāļŠāļĢāđāļēāļāļĢāļ°āļāļąāļāļĄāļīāļĨāļĨāļīāļ§āļīāļāļēāļāļĩ
hugo new site my-site
hugo new posts/my-first-post.md
hugo server -D
āđāļāđ Goldmark āđāļāđāļāļāļąāļ§āđāļĢāļāđāļāļāļĢāđ Markdown āđāļĢāļīāđāļĄāļāđāļ āļāļĢāđāļāļĄāļĢāļāļāļĢāļąāļāļāļēāļĢāļēāļ āļāļĨāđāļāļāđāļāđāļāđāļāļāļĄāļĩāļĢāļąāđāļ§ āđāļĨāļ°āđāļāļīāļāļāļĢāļĢāļ
Next.js (MDX)
Next.js āļĢāļāļāļĢāļąāļ MDX āļāļąāļ React components āļ āļēāļĒāđāļ Markdown
npm install next @next/mdx @mdx-js/loader
MDX āđāļŦāđāļāļļāļāđāļŠāđāļāļąāļ§āļāļĒāđāļēāļāđāļāđāļāļŠāļ āđāļāļāļ āļđāļĄāļī āđāļĨāļ°āļāļāļĢāđāļĄāđāļāđāļāļāļŠāļēāļĢāļāļĢāļ°āļāļāļ
āļ§āļīāļāļĩāļāļĩāđ 3: āļāļąāļ§āđāļāļĨāļāļāļāļāđāļĨāļāđ
āļŠāļģāļŦāļĢāļąāļāļāļēāļĢāđāļāļĨāļāļāļĢāļąāđāļāđāļāļĩāļĒāļ§āđāļāļĒāđāļĄāđāļāđāļāļāļāļīāļāļāļąāđāļāđāļāļĢāļ·āđāļāļāļĄāļ·āļ āļāļąāļ§āđāļāļĨāļāđāļāđāļāļĢāļēāļ§āđāđāļāļāļĢāđāđāļŦāđāļāļĨāļĨāļąāļāļāđāļāļąāļāļāļĩ:
- āļ§āļēāļāļŦāļĢāļ·āļāļāļīāļĄāļāđ Markdown āļĨāļāđāļāđāļāļāļāļąāļ§āđāļāđāđāļ
- āļāļĨāļĨāļąāļāļāđ HTML āļāļĢāļēāļāļāđāļāļāđāļĢāļĩāļĒāļĨāđāļāļĄāđ
- āļāļąāļāļĨāļāļ HTML āļāļĩāđāļŠāļĢāđāļēāļāļāļķāđāļāđāļāļ·āđāļāđāļāđāđāļāļŦāļāđāļēāđāļ§āđāļāļŦāļĢāļ·āļ CMS āđāļāđ
āđāļāļĢāļ·āđāļāļāļĄāļ·āļāđāļŠāļāļāļāļąāļ§āļāļĒāđāļēāļ Markdown āļāļĢāļ°āļĄāļ§āļĨāļāļĨ GitHub Flavored Markdown â āļāļēāļĢāļēāļ āļāļĨāđāļāļāđāļāđāļ āļĢāļēāļĒāļāļēāļĢāļāļēāļ āđāļĨāļ°āļāļĩāļāļāļąāļ â āļāļąāđāļāļŦāļĄāļāđāļāđāļāļĢāļēāļ§āđāđāļāļāļĢāđāļāļāļāļāļļāļ
āļ§āļīāļāļĩāļāļĩāđ 4: āļāļĨāļąāđāļāļāļīāļāđāļāļāļīāđāļāļāļĢāđ
| āđāļāļāļīāđāļāļāļĢāđ | āļāļļāļāļŠāļĄāļāļąāļāļī | āļāļģāļŠāļąāđāļ |
|--------|---------|---------|
| VS Code | āļāļąāļ§āļāļĒāđāļēāļāđāļāļāļąāļ§ | Ctrl+Shift+V |
| Sublime Text | MarkdownPreview | Alt+M |
| IntelliJ IDEA | āļĢāļāļāļĢāļąāļāđāļāļāļąāļ§ | Quick Documentation |
| Vim | vim-markdown | :MarkdownPreview |
āđāļāļāđāđāļĨāļāđāļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāļĨ
āđāļĄāļ·āđāļāđāļāļĢāļ·āđāļāļāļĄāļ·āļāļŠāļĢāđāļēāļāđāļ§āđāļāđāļāļāđāđāļāļ static āđāļāļĨāļ Markdown āđāļāđāļ HTML āļĄāļąāļāļāļģāļāļēāļĄāđāļāļāđāđāļĨāļāđāļāļĩāđ:
Markdown â āđāļĒāļāđāļāđāļ AST â āđāļāđāļŠāđāļ§āļāļāļĒāļēāļĒ â āđāļĢāļāđāļāļāļĢāđāđāļāđāļ HTML â āđāļāđāđāļāļĄāđāļāļĨāļ â āļŦāļāđāļēāđāļāļēāļāđāļāļļāļ
āļŦāļēāļāļāļļāļāļŠāļĄāļāļąāļāļīāđāļĄāđāđāļŠāļāļāļāļĨāļāļēāļĄāļāļĩāđāļāļēāļāļŦāļ§āļąāļ āļāļąāļāļŦāļēāļĄāļąāļāļāļĒāļđāđāļāļĩāđāļāļąāļ§āđāļĒāļāļ§āļīāđāļāļĢāļēāļ°āļŦāđ (āđāļĄāđāļĢāļāļāļĢāļąāļāđāļ§āļĒāļēāļāļĢāļāđāļāļąāđāļ) āļŦāļĢāļ·āļāļāļąāļ§āđāļĢāļāđāļāļāļĢāđ (āļŠāđāļāļāļāļ HTML āļāļĩāđāđāļĄāđāļāļēāļāļāļīāļ)
āđāļāļĨāļ Markdown āđāļāđāļ HTML āļāļāļāđāļĨāļāđ
āđāļāđāđāļāļĢāļ·āđāļāļāļĄāļ·āļāđāļŠāļāļāļāļąāļ§āļāļĒāđāļēāļ Markdown āđāļāļ·āđāļāđāļāļĨāļ Markdown āđāļāđāļ HTML āļāļąāļāļāļĩ āļāļīāļĄāļāđāļŦāļĢāļ·āļāļ§āļēāļ Markdown āđāļāđāļāļāļīāđāļāļāļĢāđ āđāļĨāđāļ§āļāļąāļ§āļāļĒāđāļēāļāļāļĩāđāđāļĢāļāđāļāļāļĢāđāđāļĨāđāļ§āļāļ°āļāļąāļāđāļāļāđāļāļāđāļĢāļĩāļĒāļĨāđāļāļĄāđ