这个小工具可以把
.md
文件转换为.html
文件,非常适合写笔记、博客或者快速预览 Markdown 内容。
📌 案例目标
- • 读取一个 Markdown 文件
- • 使用开源库将 Markdown 转换为 HTML
- • 将 HTML 输出到新文件中
📦 所需库
我们用 goldmark 这个 Markdown 解析库,它轻量且高效。
安装:
go get github.com/yuin/goldmark
💻 实现代码
package mainimport ("fmt""io/ioutil""os""path/filepath""github.com/yuin/goldmark"
)func main() {if len(os.Args) < 2 {fmt.Println("用法: go run main.go <markdown文件>")return}mdFile := os.Args[1]// 读取Markdown文件content, err := ioutil.ReadFile(mdFile)if err != nil {fmt.Printf("读取文件失败: %v\n", err)return}// 转换为HTMLvar htmlOutput []bytemd := goldmark.New()var buf []bytehtmlBuf := &buferr = md.Convert(content, htmlBuf)if err != nil {fmt.Printf("Markdown 转换失败: %v\n", err)return}htmlOutput = *htmlBuf// 生成HTML文件名htmlFile := filepath.Base(mdFile[:len(mdFile)-len(filepath.Ext(mdFile))]) + ".html"// 写入HTML文件err = ioutil.WriteFile(htmlFile, htmlOutput, 0644)if err != nil {fmt.Printf("写入HTML文件失败: %v\n", err)return}fmt.Printf("转换成功!输出文件: %s\n", htmlFile)
}
📝 使用方法
- 1. 保存代码为
main.go
- 2. 准备一个
test.md
文件,例如:
# Hello Markdown
这是一个 **Markdown 转 HTML** 的测试。
- 项目一
- 项目二
- 3. 运行:
go run main.go test.md
- 4. 会生成
test.html
,在浏览器里打开就能看到格式化的内容 🎉