Shell脚本如何转换Markdown为HTML

wen 实用脚本 4

本文目录导读:

Shell脚本如何转换Markdown为HTML

  1. 使用 Pandoc(推荐)
  2. 使用 markdown 命令行工具
  3. 使用 cmark (CommonMark)
  4. 完整的Shell脚本示例
  5. 批量转换脚本
  6. 安装方法
  7. 使用建议

我可以为你介绍几种在Shell脚本中将Markdown转换为HTML的方法:

使用 Pandoc(推荐)

#!/bin/bash
# 安装:sudo apt-get install pandoc
# 基本转换
pandoc input.md -o output.html
# 带样式转换
pandoc input.md -o output.html --css=style.css
# 使用模板
pandoc input.md -o output.html --template=template.html
# 批量转换所有md文件
for file in *.md; do
    pandoc "$file" -o "${file%.md}.html"
done

使用 markdown 命令行工具

#!/bin/bash
# 安装:sudo apt-get install markdown
# 基本转换
markdown input.md > output.html
# 批量处理
for file in *.md; do
    markdown "$file" > "${file%.md}.html"
done

使用 cmark (CommonMark)

#!/bin/bash
# 安装:sudo apt-get install cmark
# 基本转换
cmark input.md > output.html
# 批量处理
for file in *.md; do
    cmark "$file" > "${file%.md}.html"
done

完整的Shell脚本示例

#!/bin/bash
# convert_md_to_html.sh
# 检查参数
if [ $# -lt 1 ]; then
    echo "用法: $0 <input.md> [output.html]"
    exit 1
fi
INPUT_FILE="$1"
OUTPUT_FILE="${2:-${INPUT_FILE%.md}.html}"
# 检查文件是否存在
if [ ! -f "$INPUT_FILE" ]; then
    echo "错误: 文件 $INPUT_FILE 不存在"
    exit 1
fi
# 检查工具是否可用
if command -v pandoc &> /dev/null; then
    echo "使用 Pandoc 转换..."
    pandoc "$INPUT_FILE" -o "$OUTPUT_FILE"
elif command -v markdown &> /dev/null; then
    echo "使用 markdown 转换..."
    markdown "$INPUT_FILE" > "$OUTPUT_FILE"
elif command -v cmark &> /dev/null; then
    echo "使用 cmark 转换..."
    cmark "$INPUT_FILE" > "$OUTPUT_FILE"
else
    echo "错误: 未找到合适的转换工具"
    echo "请安装: pandoc, markdown 或 cmark"
    exit 1
fi
echo "转换完成: $OUTPUT_FILE"

批量转换脚本

#!/bin/bash
# batch_convert.sh
# 检查参数
SEARCH_DIR="${1:-.}"
# 查找所有md文件并转换
find "$SEARCH_DIR" -name "*.md" -type f | while read file; do
    output="${file%.md}.html"
    echo "转换: $file -> $output"
    if command -v pandoc &> /dev/null; then
        pandoc "$file" -o "$output"
    else
        echo "请安装 pandoc"
        exit 1
    fi
done
echo "所有文件转换完成"

安装方法

# Ubuntu/Debian
sudo apt-get update
sudo apt-get install pandoc
# 或
sudo apt-get install markdown
# 或
sudo apt-get install cmark
# macOS
brew install pandoc
brew install markdown
brew install cmark

使用建议

  1. Pandoc 功能最强大,支持多种格式
  2. cmark 遵循CommonMark标准,转换结果标准化
  3. markdown 是最简单的选择

选择哪个工具取决于你的具体需求,Pandoc是最全面的选择。

抱歉,评论功能暂时关闭!