notita-2026-03-05-144330.586623.json 2.8 KB

1234
  1. {
  2. "titlu": "ALTCEVA",
  3. "continut": "To convert **Markdown (MD) to HTML in Go**, the most common and reliable library is **Goldmark**.\r\n\r\nIt is fast, CommonMark compliant, and widely used in Go projects.\r\n\r\n---\r\n\r\n## 1. Install Goldmark\r\n\r\n```bash\r\ngo get github.com/yuin/goldmark\r\n```\r\n\r\n---\r\n\r\n## 2. Basic Markdown → HTML example\r\n\r\n```go\r\npackage main\r\n\r\nimport (\r\n\t\"bytes\"\r\n\t\"fmt\"\r\n\r\n\t\"github.com/yuin/goldmark\"\r\n)\r\n\r\nfunc main() {\r\n\tmd := []byte(`# Hello\r\n\r\nThis is **Markdown** converted to HTML.\r\n`)\r\n\r\n\tvar buf bytes.Buffer\r\n\r\n\tif err := goldmark.Convert(md, \u0026buf); err != nil {\r\n\t\tpanic(err)\r\n\t}\r\n\r\n\tfmt.Println(buf.String())\r\n}\r\n```\r\n\r\n### Output HTML\r\n\r\n```html\r\n\u003ch1\u003eHello\u003c/h1\u003e\r\n\u003cp\u003eThis is \u003cstrong\u003eMarkdown\u003c/strong\u003e converted to HTML.\u003c/p\u003e\r\n```\r\n\r\n---\r\n\r\n## 3. Convert Markdown from a string function\r\n\r\nUseful for APIs or templates.\r\n\r\n```go\r\nfunc MarkdownToHTML(md string) string {\r\n\tvar buf bytes.Buffer\r\n\tgoldmark.Convert([]byte(md), \u0026buf)\r\n\treturn buf.String()\r\n}\r\n```\r\n\r\nUsage:\r\n\r\n```go\r\nhtml := MarkdownToHTML(\"# Title\\n\\nSome *text*\")\r\n```\r\n\r\n---\r\n\r\n## 4. Enable useful extensions (tables, code blocks, etc.)\r\n\r\n```go\r\nimport (\r\n\t\"bytes\"\r\n\t\"github.com/yuin/goldmark\"\r\n\t\"github.com/yuin/goldmark/extension\"\r\n)\r\n\r\nmd := goldmark.New(\r\n\tgoldmark.WithExtensions(\r\n\t\textension.GFM, // GitHub flavored markdown\r\n\t),\r\n)\r\n```\r\n\r\nExample Markdown:\r\n\r\n```\r\n| Name | Age |\r\n|------|-----|\r\n| John | 30 |\r\n```\r\n\r\n---\r\n\r\n## 5. Full example\r\n\r\n```go\r\npackage main\r\n\r\nimport (\r\n\t\"bytes\"\r\n\t\"fmt\"\r\n\r\n\t\"github.com/yuin/goldmark\"\r\n\t\"github.com/yuin/goldmark/extension\"\r\n)\r\n\r\nfunc main() {\r\n\tmd := goldmark.New(\r\n\t\tgoldmark.WithExtensions(extension.GFM),\r\n\t)\r\n\r\n\tinput := []byte(\"# Hello\\n\\n**Markdown** table support.\")\r\n\r\n\tvar out bytes.Buffer\r\n\tmd.Convert(input, \u0026out)\r\n\r\n\tfmt.Println(out.String())\r\n}\r\n```\r\n\r\n---\r\n\r\n✅ **Summary**\r\n\r\n| Library | Pros |\r\n| ----------------------- | ------------------------------------- |\r\n| **Goldmark** | Fast, CommonMark compliant, most used |\r\n| **Blackfriday** | Older but still used |\r\n| **gomarkdown/markdown** | Flexible |\r\n\r\nGoldmark is generally the **best choice in modern Go projects**.\r\n\r\n---\r\n\r\n💡 If you want, I can also show:\r\n\r\n* **Markdown → HTML with syntax highlighting (Prism / Chroma)**\r\n* **Safe Markdown rendering (prevent XSS)**\r\n* **A Go blog engine in ~150 lines using Markdown**.\r\n"
  4. }