這個小工具可以把?
.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
,在瀏覽器里打開就能看到格式化的內容 🎉