{"id":"2aa41672-6636-4bdf-9c53-57f8eef7e640","shortId":"YYq78F","kind":"skill","title":"Markdown To Html","tagline":"Awesome Copilot skill by Github","description":"# Markdown to HTML Conversion\n\nExpert skill for converting Markdown documents to HTML using the marked.js library, or writing data conversion scripts; in this case scripts similar to [markedJS/marked](https://github.com/markedjs/marked) repository. For custom scripts knowledge is not confined to `marked.js`, but data conversion methods are utilized from tools like [pandoc](https://github.com/jgm/pandoc) and [gomarkdown/markdown](https://github.com/gomarkdown/markdown) for data conversion; [jekyll/jekyll](https://github.com/jekyll/jekyll) and [gohugoio/hugo](https://github.com/gohugoio/hugo) for templating systems.\n\nThe conversion script or tool should handle single files, batch conversions, and advanced configurations.\n\n## When to Use This Skill\n\n- User asks to \"convert markdown to html\" or \"transform md files\"\n- User wants to \"render markdown\" as HTML output\n- User needs to generate HTML documentation from .md files\n- User is building static sites from Markdown content\n- User is building template system that converts markdown to html\n- User is working on a tool, widget, or custom template for an existing templating system\n- User wants to preview Markdown as rendered HTML\n\n## Converting Markdown to HTML\n\n### Essential Basic Conversions\n\nFor more see [basic-markdown-to-html.md](references/basic-markdown-to-html.md)\n\n```text\n    ```markdown\n    # Level 1\n    ## Level 2\n\n    One sentence with a [link](https://example.com), and a HTML snippet like `<p>paragraph tag</p>`.\n\n    - `ul` list item 1\n    - `ul` list item 2\n\n    1. `ol` list item 1\n    2. `ol` list item 1\n\n    | Table Item | Description |\n    | One | One is the spelling of the number `1`. |\n    | Two | Two is the spelling of the number `2`. |\n\n    ```js\n    var one = 1;\n    var two = 2;\n\n    function simpleMath(x, y) {\n     return x + y;\n    }\n    console.log(simpleMath(one, two));\n    ```\n    ```\n\n    ```html\n    <h1>Level 1</h1>\n    <h2>Level 2</h2>\n\n    <p>One sentence with a <a href=\"https://example.com\">link</a>, and a HTML snippet like <code>&lt;p&gt;paragraph tag&lt;/p&gt;</code>.</p>\n\n    <ul>\n     <li>`ul` list item 1</li>\n     <li>`ul` list item 2</li>\n    </ul>\n\n    <ol>\n     <li>`ol` list item 1</li>\n     <li>`ol` list item 2</li>\n    </ol>\n\n    <table>\n     <thead>\n      <tr>\n       <th>Table Item</th>\n       <th>Description</th>\n      </tr>\n     </thead>\n     <tbody>\n      <tr>\n       <td>One</td>\n       <td>One is the spelling of the number `1`.</td>\n      </tr>\n      <tr>\n       <td>Two</td>\n       <td>Two is the spelling of the number `2`.</td>\n      </tr>\n     </tbody>\n    </table>\n\n    <pre>\n     <code>var one = 1;\n     var two = 2;\n\n     function simpleMath(x, y) {\n      return x + y;\n     }\n     console.log(simpleMath(one, two));</code>\n    </pre>\n    ```\n```\n\n### Code Block Conversions\n\nFor more see [code-blocks-to-html.md](references/code-blocks-to-html.md)\n\n```text\n\n    ```markdown\n    your code here\n    ```\n\n    ```html\n    <pre><code class=\"language-md\">\n    your code here\n    </code></pre>\n    ```\n\n    ```js\n    console.log(\"Hello world\");\n    ```\n\n    ```html\n    <pre><code class=\"language-js\">\n    console.log(\"Hello world\");\n    </code></pre>\n    ```\n\n    ```markdown\n      ```\n\n      ```\n      visible backticks\n      ```\n\n      ```\n    ```\n\n    ```html\n      <pre><code>\n      ```\n\n      visible backticks\n\n      ```\n      </code></pre>\n    ```\n```\n\n### Collapsed Section Conversions\n\nFor more see [collapsed-sections-to-html.md](references/collapsed-sections-to-html.md)\n\n```text\n    ```markdown\n    <details>\n    <summary>More info</summary>\n\n    ### Header inside\n\n    - Lists\n    - **Formatting**\n    - Code blocks\n\n        ```js\n        console.log(\"Hello\");\n        ```\n\n    </details>\n    ```\n\n    ```html\n    <details>\n    <summary>More info</summary>\n\n    <h3>Header inside</h3>\n\n    <ul>\n     <li>Lists</li>\n     <li><strong>Formatting</strong></li>\n     <li>Code blocks</li>\n    </ul>\n\n    <pre>\n     <code class=\"language-js\">console.log(\"Hello\");</code>\n    </pre>\n\n    </details>\n    ```\n```\n\n### Mathematical Expression Conversions\n\nFor more see [writing-mathematical-expressions-to-html.md](references/writing-mathematical-expressions-to-html.md)\n\n```text\n    ```markdown\n    This sentence uses `$` delimiters to show math inline: $\\sqrt{3x-1}+(1+x)^2$\n    ```\n\n    ```html\n    <p>This sentence uses <code>$</code> delimiters to show math inline:\n     <math-renderer><math xmlns=\"http://www.w3.org/1998/Math/MathML\">\n      <msqrt><mn>3</mn><mi>x</mi><mo>−</mo><mn>1</mn></msqrt>\n      <mo>+</mo><mo>(</mo><mn>1</mn><mo>+</mo><mi>x</mi>\n      <msup><mo>)</mo><mn>2</mn></msup>\n     </math>\n    </math-renderer>\n    </p>\n    ```\n\n    ```markdown\n    **The Cauchy-Schwarz Inequality**\\\n    $$\\left( \\sum_{k=1}^n a_k b_k \\right)^2 \\leq \\left( \\sum_{k=1}^n a_k^2 \\right) \\left( \\sum_{k=1}^n b_k^2 \\right)$$\n    ```\n\n    ```html\n    <p><strong>The Cauchy-Schwarz Inequality</strong><br>\n     <math-renderer>\n      <math xmlns=\"http://www.w3.org/1998/Math/MathML\">\n       <msup>\n        <mrow><mo>(</mo>\n         <munderover><mo data-mjx-texclass=\"OP\">∑</mo>\n          <mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi>\n         </munderover>\n         <msub><mi>a</mi><mi>k</mi></msub>\n         <msub><mi>b</mi><mi>k</mi></msub>\n         <mo>)</mo>\n        </mrow>\n        <mn>2</mn>\n       </msup>\n       <mo>≤</mo>\n       <mrow><mo>(</mo>\n        <munderover><mo>∑</mo>\n         <mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow>\n         <mi>n</mi>\n        </munderover>\n        <msubsup><mi>a</mi><mi>k</mi><mn>2</mn></msubsup>\n        <mo>)</mo>\n       </mrow>\n       <mrow><mo>(</mo>\n         <munderover><mo>∑</mo>\n          <mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow>\n          <mi>n</mi>\n         </munderover>\n         <msubsup><mi>b</mi><mi>k</mi><mn>2</mn></msubsup>\n         <mo>)</mo>\n       </mrow>\n      </math>\n     </math-renderer></p>\n    ```\n```\n\n### Table Conversions\n\nFor more see [tables-to-html.md](references/tables-to-html.md)\n\n```text\n    ```markdown\n    | First Header  | Second Header |\n    | ------------- | ------------- |\n    | Content Cell  | Content Cell  |\n    | Content Cell  | Content Cell  |\n    ```\n\n    ```html\n    <table>\n     <thead><tr><th>First Header</th><th>Second Header</th></tr></thead>\n     <tbody>\n      <tr><td>Content Cell</td><td>Content Cell</td></tr>\n      <tr><td>Content Cell</td><td>Content Cell</td></tr>\n     </tbody>\n    </table>\n    ```\n\n    ```markdown\n    | Left-aligned | Center-aligned | Right-aligned |\n    | :---         |     :---:      |          ---: |\n    | git status   | git status     | git status    |\n    | git diff     | git diff       | git diff      |\n    ```\n\n    ```html\n    <table>\n      <thead>\n       <tr>\n        <th align=\"left\">Left-aligned</th>\n        <th align=\"center\">Center-aligned</th>\n        <th align=\"right\">Right-aligned</th>\n       </tr>\n      </thead>\n      <tbody>\n       <tr>\n        <td align=\"left\">git status</td>\n        <td align=\"center\">git status</td>\n        <td align=\"right\">git status</td>\n       </tr>\n       <tr>\n        <td align=\"left\">git diff</td>\n        <td align=\"center\">git diff</td>\n        <td align=\"right\">git diff</td>\n       </tr>\n      </tbody>\n    </table>\n    ```\n```\n\n## Working with [`markedJS/marked`](references/marked.md)\n\n### Prerequisites\n\n- Node.js installed (for CLI or programmatic usage)\n- Install marked globally for CLI: `npm install -g marked`\n- Or install locally: `npm install marked`\n\n### Quick Conversion Methods\n\nSee [marked.md](references/marked.md) **Quick Conversion Methods**\n\n### Step-by-Step Workflows\n\nSee [marked.md](references/marked.md) **Step-by-Step Workflows**\n\n### CLI Configuration\n\n### Using Config Files\n\nCreate `~/.marked.json` for persistent options:\n\n```json\n{\n  \"gfm\": true,\n  \"breaks\": true\n}\n```\n\nOr use a custom config:\n\n```bash\nmarked -i input.md -o output.html -c config.json\n```\n\n### CLI Options Reference\n\n| Option | Description |\n|--------|-------------|\n| `-i, --input <file>` | Input Markdown file |\n| `-o, --output <file>` | Output HTML file |\n| `-s, --string <string>` | Parse string instead of file |\n| `-c, --config <file>` | Use custom config file |\n| `--gfm` | Enable GitHub Flavored Markdown |\n| `--breaks` | Convert newlines to `<br>` |\n| `--help` | Show all options |\n\n### Security Warning\n\n⚠️ **Marked does NOT sanitize output HTML.** For untrusted input, use a sanitizer:\n\n```javascript\nimport { marked } from 'marked';\nimport DOMPurify from 'dompurify';\n\nconst unsafeHtml = marked.parse(untrustedMarkdown);\nconst safeHtml = DOMPurify.sanitize(unsafeHtml);\n```\n\nRecommended sanitizers:\n\n- [DOMPurify](https://github.com/cure53/DOMPurify) (recommended)\n- [sanitize-html](https://github.com/apostrophecms/sanitize-html)\n- [js-xss](https://github.com/leizongmin/js-xss)\n\n### Supported Markdown Flavors\n\n| Flavor | Support |\n|--------|---------|\n| Original Markdown | 100% |\n| CommonMark 0.31 | 98% |\n| GitHub Flavored Markdown | 97% |\n\n### Troubleshooting\n\n| Issue | Solution |\n|-------|----------|\n| Special characters at file start | Strip zero-width chars: `content.replace(/^[\\u200B\\u200C\\u200D\\uFEFF]/,\"\")` |\n| Code blocks not highlighting | Add a syntax highlighter like highlight.js |\n| Tables not rendering | Ensure `gfm: true` option is set |\n| Line breaks ignored | Set `breaks: true` in options |\n| XSS vulnerability concerns | Use DOMPurify to sanitize output |\n\n## Working with [`pandoc`](references/pandoc.md)\n\n### Prerequisites\n\n- Pandoc installed (download from <https://pandoc.org/installing.html>)\n- For PDF output: LaTeX installation (MacTeX on macOS, MiKTeX on Windows, texlive on Linux)\n- Terminal/command prompt access\n\n### Quick Conversion Methods\n\n#### Method 1: CLI Basic Conversion\n\n```bash\n# Convert markdown to HTML\npandoc input.md -o output.html\n\n# Convert with standalone document (includes header/footer)\npandoc input.md -s -o output.html\n\n# Explicit format specification\npandoc input.md -f markdown -t html -s -o output.html\n```\n\n#### Method 2: Filter Mode (Interactive)\n\n```bash\n# Start pandoc as a filter\npandoc\n\n# Type markdown, then Ctrl-D (Linux/macOS) or Ctrl-Z+Enter (Windows)\nHello *pandoc*!\n# Output: <p>Hello <em>pandoc</em>!</p>\n```\n\n#### Method 3: Format Conversion\n\n```bash\n# HTML to Markdown\npandoc -f html -t markdown input.html -o output.md\n\n# Markdown to LaTeX\npandoc input.md -s -o output.tex\n\n# Markdown to PDF (requires LaTeX)\npandoc input.md -s -o output.pdf\n\n# Markdown to Word\npandoc input.md -s -o output.docx\n```\n\n### CLI Configuration\n\n| Option | Description |\n|--------|-------------|\n| `-f, --from <format>` | Input format (markdown, html, latex, etc.) |\n| `-t, --to <format>` | Output format (html, latex, pdf, docx, etc.) |\n| `-s, --standalone` | Produce standalone document with header/footer |\n| `-o, --output <file>` | Output file (inferred from extension) |\n| `--mathml` | Convert TeX math to MathML |\n| `--metadata title=\"Title\"` | Set document metadata |\n| `--toc` | Include table of contents |\n| `--template <file>` | Use custom template |\n| `--help` | Show all options |\n\n### Security Warning\n\n⚠️ **Pandoc processes input faithfully.** When converting untrusted markdown:\n\n- Use `--sandbox` mode to disable external file access\n- Validate input before processing\n- Sanitize HTML output if displayed in browsers\n\n```bash\n# Run in sandbox mode for untrusted input\npandoc --sandbox input.md -o output.html\n```\n\n### Supported Markdown Flavors\n\n| Flavor | Support |\n|--------|---------|\n| Pandoc Markdown | 100% (native) |\n| CommonMark | Full (use `-f commonmark`) |\n| GitHub Flavored Markdown | Full (use `-f gfm`) |\n| MultiMarkdown | Partial |\n\n### Troubleshooting\n\n| Issue | Solution |\n|-------|----------|\n| PDF generation fails | Install LaTeX (MacTeX, MiKTeX, or texlive) |\n| Encoding issues on Windows | Run `chcp 65001` before using pandoc |\n| Missing standalone headers | Add `-s` flag for complete documents |\n| Math not rendering | Use `--mathml` or `--mathjax` option |\n| Tables not rendering | Ensure proper table syntax with pipes and dashes |\n\n## Working with [`gomarkdown/markdown`](references/gomarkdown.md)\n\n### Prerequisites\n\n- Go 1.18 or higher installed\n- Install the library: `go get github.com/gomarkdown/markdown`\n- For CLI tool: `go install github.com/gomarkdown/mdtohtml@latest`\n\n### Quick Conversion Methods\n\n#### Method 1: Simple Conversion (Go)\n\n```go\npackage main\n\nimport (\n    \"fmt\"\n    \"github.com/gomarkdown/markdown\"\n)\n\nfunc main() {\n    md := []byte(\"# Hello World\\n\\nThis is **bold** text.\")\n    html := markdown.ToHTML(md, nil, nil)\n    fmt.Println(string(html))\n}\n```\n\n#### Method 2: CLI Tool\n\n```bash\n# Install mdtohtml\ngo install github.com/gomarkdown/mdtohtml@latest\n\n# Convert file\nmdtohtml input.md output.html\n\n# Convert file (output to stdout)\nmdtohtml input.md\n```\n\n#### Method 3: Custom Parser and Renderer\n\n```go\npackage main\n\nimport (\n    \"github.com/gomarkdown/markdown\"\n    \"github.com/gomarkdown/markdown/html\"\n    \"github.com/gomarkdown/markdown/parser\"\n)\n\nfunc mdToHTML(md []byte) []byte {\n    // Create parser with extensions\n    extensions := parser.CommonExtensions | parser.AutoHeadingIDs | parser.NoEmptyLineBeforeBlock\n    p := parser.NewWithExtensions(extensions)\n    doc := p.Parse(md)\n\n    // Create HTML renderer with extensions\n    htmlFlags := html.CommonFlags | html.HrefTargetBlank\n    opts := html.RendererOptions{Flags: htmlFlags}\n    renderer := html.NewRenderer(opts)\n\n    return markdown.Render(doc, renderer)\n}\n```\n\n### CLI Configuration\n\nThe `mdtohtml` CLI tool has minimal options:\n\n```bash\nmdtohtml input-file [output-file]\n```\n\nFor advanced configuration, use the Go library programmatically with parser and renderer options:\n\n| Parser Extension | Description |\n|------------------|-------------|\n| `parser.CommonExtensions` | Tables, fenced code, autolinks, strikethrough, etc. |\n| `parser.AutoHeadingIDs` | Generate IDs for headings |\n| `parser.NoEmptyLineBeforeBlock` | No blank line needed before blocks |\n| `parser.MathJax` | MathJax support for LaTeX math |\n\n| HTML Flag | Description |\n|-----------|-------------|\n| `html.CommonFlags` | Common HTML output flags |\n| `html.HrefTargetBlank` | Add `target=\"_blank\"` to links |\n| `html.CompletePage` | Generate complete HTML page |\n| `html.UseXHTML` | Generate XHTML output |\n\n### Security Warning\n\n⚠️ **gomarkdown does NOT sanitize output HTML.** For untrusted input, use Bluemonday:\n\n```go\nimport (\n    \"github.com/microcosm-cc/bluemonday\"\n    \"github.com/gomarkdown/markdown\"\n)\n\nmaybeUnsafeHTML := markdown.ToHTML(md, nil, nil)\nhtml := bluemonday.UGCPolicy().SanitizeBytes(maybeUnsafeHTML)\n```\n\nRecommended sanitizer: [Bluemonday](https://github.com/microcosm-cc/bluemonday)\n\n### Supported Markdown Flavors\n\n| Flavor | Support |\n|--------|---------|\n| Original Markdown | 100% |\n| CommonMark | High (with extensions) |\n| GitHub Flavored Markdown | High (tables, fenced code, strikethrough) |\n| MathJax/LaTeX Math | Supported via extension |\n| Mmark | Supported |\n\n### Troubleshooting\n\n| Issue | Solution |\n|-------|----------|\n| Windows/Mac newlines not parsed | Use `parser.NormalizeNewlines(input)` |\n| Tables not rendering | Enable `parser.Tables` extension |\n| Code blocks without highlighting | Integrate with syntax highlighter like Chroma |\n| Math not rendering | Enable `parser.MathJax` extension |\n| XSS vulnerabilities | Use Bluemonday to sanitize output |\n\n## Working with [`jekyll`](references/jekyll.md)\n\n### Prerequisites\n\n- Ruby version 2.7.0 or higher\n- RubyGems\n- GCC and Make (for native extensions)\n- Install Jekyll and Bundler: `gem install jekyll bundler`\n\n### Quick Conversion Methods\n\n#### Method 1: Create New Site\n\n```bash\n# Create a new Jekyll site\njekyll new myblog\n\n# Change to site directory\ncd myblog\n\n# Build and serve locally\nbundle exec jekyll serve\n\n# Access at http://localhost:4000\n```\n\n#### Method 2: Build Static Site\n\n```bash\n# Build site to _site directory\nbundle exec jekyll build\n\n# Build with production environment\nJEKYLL_ENV=production bundle exec jekyll build\n```\n\n#### Method 3: Live Reload Development\n\n```bash\n# Serve with live reload\nbundle exec jekyll serve --livereload\n\n# Serve with drafts\nbundle exec jekyll serve --drafts\n```\n\n### CLI Configuration\n\n| Command | Description |\n|---------|-------------|\n| `jekyll new <path>` | Create new Jekyll site |\n| `jekyll build` | Build site to `_site` directory |\n| `jekyll serve` | Build and serve locally |\n| `jekyll clean` | Remove generated files |\n| `jekyll doctor` | Check for configuration issues |\n\n| Serve Options | Description |\n|---------------|-------------|\n| `--livereload` | Reload browser on changes |\n| `--drafts` | Include draft posts |\n| `--port <port>` | Set server port (default: 4000) |\n| `--host <host>` | Set server host (default: localhost) |\n| `--baseurl <url>` | Set base URL |\n\n### Security Warning\n\n⚠️ **Jekyll security considerations:**\n\n- Avoid using `safe: false` in production\n- Use `exclude` in `_config.yml` to prevent sensitive files from being published\n- Sanitize user-generated content if accepting external input\n- Keep Jekyll and plugins updated\n\n```yaml\n# _config.yml security settings\nexclude:\n  - Gemfile\n  - Gemfile.lock\n  - node_modules\n  - vendor\n```\n\n### Supported Markdown Flavors\n\n| Flavor | Support |\n|--------|---------|\n| Kramdown (default) | 100% |\n| CommonMark | Via plugin (jekyll-commonmark) |\n| GitHub Flavored Markdown | Via plugin (jekyll-commonmark-ghpages) |\n| RedCarpet | Via plugin (deprecated) |\n\nConfigure markdown processor in `_config.yml`:\n\n```yaml\nmarkdown: kramdown\nkramdown:\n  input: GFM\n  syntax_highlighter: rouge\n```\n\n### Troubleshooting\n\n| Issue | Solution |\n|-------|----------|\n| Ruby 3.0+ fails to serve | Run `bundle add webrick` |\n| Gem dependency errors | Run `bundle install` |\n| Slow builds | Use `--incremental` flag |\n| Liquid syntax errors | Check for unescaped `{` in content |\n| Plugin not loading | Add to `_config.yml` plugins list |\n\n## Working with [`hugo`](references/hugo.md)\n\n### Prerequisites\n\n- Hugo installed (download from <https://gohugo.io/installation/>)\n- Git (recommended for themes and modules)\n- Go (optional, for Hugo Modules)\n\n### Quick Conversion Methods\n\n#### Method 1: Create New Site\n\n```bash\n# Create a new Hugo site\nhugo new site mysite\n\n# Change to site directory\ncd mysite\n\n# Add a theme\ngit init\ngit submodule add https://github.com/theNewDynamic/gohugo-theme-ananke themes/ananke\necho \"theme = 'ananke'\" >> hugo.toml\n\n# Create content\nhugo new content posts/my-first-post.md\n\n# Start development server\nhugo server -D\n```\n\n#### Method 2: Build Static Site\n\n```bash\n# Build site to public directory\nhugo\n\n# Build with minification\nhugo --minify\n\n# Build for specific environment\nhugo --environment production\n```\n\n#### Method 3: Development Server\n\n```bash\n# Start server with drafts\nhugo server -D\n\n# Start with live reload and bind to all interfaces\nhugo server --bind 0.0.0.0 --baseURL http://localhost:1313/\n\n# Start with specific port\nhugo server --port 8080\n```\n\n### CLI Configuration\n\n| Command | Description |\n|---------|-------------|\n| `hugo new site <name>` | Create new Hugo site |\n| `hugo new content <path>` | Create new content file |\n| `hugo` | Build site to `public` directory |\n| `hugo server` | Start development server |\n| `hugo mod init` | Initialize Hugo Modules |\n\n| Build Options | Description |\n|---------------|-------------|\n| `-D, --buildDrafts` | Include draft content |\n| `-E, --buildExpired` | Include expired content |\n| `-F, --buildFuture` | Include future-dated content |\n| `--minify` | Minify output |\n| `--gc` | Run garbage collection after build |\n| `-d, --destination <path>` | Output directory |\n\n| Server Options | Description |\n|----------------|-------------|\n| `--bind <ip>` | Interface to bind to |\n| `-p, --port <port>` | Port number (default: 1313) |\n| `--liveReloadPort <port>` | Live reload port |\n| `--disableLiveReload` | Disable live reload |\n| `--navigateToChanged` | Navigate to changed content |\n\n### Security Warning\n\n⚠️ **Hugo security considerations:**\n\n- Configure security policy in `hugo.toml` for external commands\n- Use `--enableGitInfo` carefully with public repositories\n- Validate shortcode parameters for user-generated content\n\n```toml\n# hugo.toml security settings\n[security]\n  enableInlineShortcodes = false\n  [security.exec]\n    allow = ['^go$', '^npx$', '^postcss$']\n  [security.funcs]\n    getenv = ['^HUGO_', '^CI$']\n  [security.http]\n    methods = ['(?i)GET|POST']\n    urls = ['.*']\n```\n\n### Supported Markdown Flavors\n\n| Flavor | Support |\n|--------|---------|\n| Goldmark (default) | 100% (CommonMark compliant) |\n| GitHub Flavored Markdown | Full (tables, strikethrough, autolinks) |\n| CommonMark | 100% |\n| Blackfriday (legacy) | Deprecated, not recommended |\n\nConfigure markdown in `hugo.toml`:\n\n```toml\n[markup]\n  [markup.goldmark]\n    [markup.goldmark.extensions]\n      definitionList = true\n      footnote = true\n      linkify = true\n      strikethrough = true\n      table = true\n      taskList = true\n    [markup.goldmark.renderer]\n      unsafe = false  # Set true to allow raw HTML\n```\n\n### Troubleshooting\n\n| Issue | Solution |\n|-------|----------|\n| \"Page not found\" on paths | Check `baseURL` in config |\n| Theme not loading | Verify theme in `themes/` or Hugo Modules |\n| Slow builds | Use `--templateMetrics` to identify bottlenecks |\n| Raw HTML not rendering | Set `unsafe = true` in goldmark config |\n| Images not loading | Check `static/` folder structure |\n| Module errors | Run `hugo mod tidy` |\n\n## References\n\n### Writing and Styling Markdown\n\n- [basic-markdown.md](references/basic-markdown.md)\n- [code-blocks.md](references/code-blocks.md)\n- [collapsed-sections.md](references/collapsed-sections.md)\n- [tables.md](references/tables.md)\n- [writing-mathematical-expressions.md](references/writing-mathematical-expressions.md)\n- Markdown Guide: <https://www.markdownguide.org/basic-syntax/>\n- Styling Markdown: <https://github.com/sindresorhus/github-markdown-css>\n\n### [`markedJS/marked`](references/marked.md)\n\n- Official documentation: <https://marked.js.org/>\n- Advanced options: <https://marked.js.org/using_advanced>\n- Extensibility: <https://marked.js.org/using_pro>\n- GitHub repository: <https://github.com/markedjs/marked>\n\n### [`pandoc`](references/pandoc.md)\n\n- Getting started: <https://pandoc.org/getting-started.html>\n- Official documentation: <https://pandoc.org/MANUAL.html>\n- Extensibility: <https://pandoc.org/extras.html>\n- GitHub repository: <https://github.com/jgm/pandoc>\n\n### [`gomarkdown/markdown`](references/gomarkdown.md)\n\n- Official documentation: <https://pkg.go.dev/github.com/gomarkdown/markdown>\n- Advanced configuration: <https://pkg.go.dev/github.com/gomarkdown/markdown@v0.0.0-20250810172220-2e2c11897d1a/html>\n- Markdown processing: <https://blog.kowalczyk.info/article/cxn3/advanced-markdown-processing-in-go.html>\n- GitHub repository: <https://github.com/gomarkdown/markdown>\n\n### [`jekyll`](references/jekyll.md)\n\n- Official documentation: <https://jekyllrb.com/docs/>\n- Configuration options: <https://jekyllrb.com/docs/configuration/options/>\n- Plugins: <https://jekyllrb.com/docs/plugins/>\n  - [Installation](https://jekyllrb.com/docs/plugins/installation/)\n  - [Generators](https://jekyllrb.com/docs/plugins/generators/)\n  - [Converters](https://jekyllrb.com/docs/plugins/converters/)\n  - [Commands](https://jekyllrb.com/docs/plugins/commands/)\n  - [Tags](https://jekyllrb.com/docs/plugins/tags/)\n  - [Filters](https://jekyllrb.com/docs/plugins/filters/)\n  - [Hooks](https://jekyllrb.com/docs/plugins/hooks/)\n- GitHub repository: <https://github.com/jekyll/jekyll>\n\n### [`hugo`](references/hugo.md)\n\n- Official documentation: <https://gohugo.io/documentation/>\n- All Settings: <https://gohugo.io/configuration/all/>\n- Editor Plugins: <https://gohugo.io/tools/editors/>\n- GitHub repository: <https://github.com/gohugoio/hugo>","tags":["markdown","html","awesome","copilot","github"],"capabilities":["skill","source-github","category-awesome-copilot"],"categories":["awesome-copilot"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/github/awesome-copilot/markdown-to-html","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"install_from":"skills.sh"}},"qualityScore":"0.300","qualityRationale":"deterministic score 0.30 from registry signals: · indexed on skills.sh · published under github/awesome-copilot","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T16:40:17.413Z","embedding":null,"createdAt":"2026-04-18T20:25:38.983Z","updatedAt":"2026-04-22T16:40:17.413Z","lastSeenAt":"2026-04-22T16:40:17.413Z","tsv":"'-1':415 '/.marked.json':629 '/apostrophecms/sanitize-html)':735 '/article/cxn3/advanced-markdown-processing-in-go.html':2213 '/basic-syntax/':2151 '/configuration/all/':2279 '/cure53/dompurify)':728 '/docs/':2225 '/docs/configuration/options/':2230 '/docs/plugins/':2234 '/docs/plugins/commands/)':2250 '/docs/plugins/converters/)':2246 '/docs/plugins/filters/)':2258 '/docs/plugins/generators/)':2242 '/docs/plugins/hooks/)':2262 '/docs/plugins/installation/)':2238 '/docs/plugins/tags/)':2254 '/documentation/':2274 '/extras.html':2191 '/getting-started.html':2182 '/github.com/gomarkdown/markdown':2203 '/github.com/gomarkdown/markdown@v0.0.0-20250810172220-2e2c11897d1a/html':2208 '/gohugoio/hugo':2289 '/gohugoio/hugo)':79 '/gomarkdown/markdown':1143,1167,1223,1369,2218 '/gomarkdown/markdown)':67 '/gomarkdown/markdown/html':1226 '/gomarkdown/markdown/parser':1229 '/gomarkdown/mdtohtml@latest':1151,1198 '/installation/':1759 '/installing.html':821 '/jekyll/jekyll':2267 '/jekyll/jekyll)':74 '/jgm/pandoc':2196 '/jgm/pandoc)':62 '/leizongmin/js-xss)':741 '/manual.html':2187 '/markedjs/marked':2175 '/markedjs/marked)':39 '/microcosm-cc/bluemonday':1366 '/microcosm-cc/bluemonday)':1384 '/p':277 '/sindresorhus/github-markdown-css':2156 '/thenewdynamic/gohugo-theme-ananke':1805 '/tools/editors/':2284 '/using_advanced':2166 '/using_pro':2170 '0.0.0.0':1871 '0.31':751 '1':186,205,210,214,219,231,244,261,281,289,305,317,416,430,431,443,455,464,477,485,491,843,1156,1480,1775 '1.18':1132 '100':749,1060,1392,1675,2034,2045 '1313':1874,1964 '2':188,209,215,240,247,263,285,293,314,320,418,433,450,459,468,483,489,495,880,1188,1512,1824 '2.7.0':1458 '3':428,910,1212,1538,1848 '3.0':1713 '3x':414 '4000':1510,1611 '65001':1094 '8080':1882 '97':756 '98':752 'accept':1650 'access':838,1028,1507 'add':779,1101,1335,1719,1743,1795,1802 'advanc':95,1286,2162,2204 'align':533,536,539,555,558,561 'allow':2013,2077 'anank':1809 'ask':103 'autolink':1305,2043 'avoid':1627 'awesom':4 'b':447,466,481,493 'backtick':359,362 'base':1620 'baseurl':1618,1872,2089 'bash':643,847,884,913,1040,1191,1277,1484,1516,1542,1779,1828,1851 'basic':176,845 'basic-markdown-to-html.md':181 'basic-markdown.md':2137 'batch':92 'bind':1864,1870,1954,1957 'blackfriday':2046 'blank':1315,1337 'block':333,380,392,776,1319,1429 'blog.kowalczyk.info':2212 'blog.kowalczyk.info/article/cxn3/advanced-markdown-processing-in-go.html':2211 'bluemonday':1361,1381,1447 'bluemonday.ugcpolicy':1376 'bold':1177 'bottleneck':2108 'break':636,684,795,798 'browser':1039,1599 'build':132,140,1499,1513,1517,1525,1526,1536,1571,1572,1579,1728,1825,1829,1835,1840,1902,1918,1946,2103 'builddraft':1922 'buildexpir':1927 'buildfutur':1932 'bundl':1503,1522,1533,1547,1555,1718,1725 'bundler':1471,1475 'byte':1171,1233,1234 'c':649,673 'care':1993 'case':32 'category-awesome-copilot' 'cauchi':437,473 'cauchy-schwarz':436,472 'cd':1497,1793 'cell':510,512,514,516,523,525,527,529 'center':535,557 'center-align':534,556 'chang':1493,1601,1789,1976 'char':769 'charact':761 'chcp':1093 'check':1590,1735,2088,2122 'chroma':1437 'ci':2020 'clean':1584 'cli':582,590,623,651,844,951,1145,1189,1268,1272,1560,1883 'code':332,343,347,379,391,775,1304,1403,1428 'code-blocks-to-html.md':338 'code-blocks.md':2139 'collaps':363 'collapsed-sections-to-html.md':369 'collapsed-sections.md':2141 'collect':1944 'command':1562,1885,1990,2247 'common':1330 'commonmark':750,1062,1066,1393,1676,1681,1689,2035,2044 'complet':1105,1342 'compliant':2036 'concern':804 'config':626,642,674,677,2091,2118 'config.json':650 'config.yml':1636,1659,1699,1745 'configur':96,624,952,1269,1287,1561,1592,1695,1884,1983,2051,2205,2226 'confin':47 'consider':1626,1982 'console.log':255,328,350,354,382,393 'const':715,719 'content':137,509,511,513,515,522,524,526,528,1002,1648,1739,1812,1815,1896,1899,1925,1930,1937,1977,2004 'content.replace':770 'convers':12,28,52,70,84,93,177,334,365,397,497,602,608,840,846,912,1153,1158,1477,1772 'convert':16,105,144,171,685,848,856,987,1018,1199,1204,2243 'copilot':5 'creat':628,1235,1249,1481,1485,1566,1776,1780,1811,1890,1897 'ctrl':895,900 'ctrl-d':894 'ctrl-z':899 'custom':42,156,641,676,1005,1213 'd':896,1822,1858,1921,1947 'dash':1125 'data':27,51,69 'date':1936 'default':1610,1616,1674,1963,2033 'definitionlist':2059 'delimit':408,423 'depend':1722 'deprec':1694,2048 'descript':222,296,655,954,1300,1328,1563,1596,1886,1920,1953 'destin':1948 'develop':1541,1818,1849,1910 'diff':547,549,551,569,571,573 'directori':1496,1521,1576,1792,1833,1906,1950 'disabl':1025,1970 'disablelivereload':1969 'display':1037 'doc':1246,1266 'doctor':1589 'document':18,126,859,976,996,1106,2160,2184,2200,2222,2271 'docx':970 'dompurifi':712,714,725,806 'dompurify.sanitize':721 'download':817,1755 'draft':1554,1559,1602,1604,1855,1924 'e':1926 'echo':1807 'editor':2280 'enabl':680,1425,1441 'enablegitinfo':1992 'enableinlineshortcod':2010 'encod':1088 'ensur':788,1118 'enter':902 'env':1531 'environ':1529,1843,1845 'error':1723,1734,2127 'essenti':175 'etc':962,971,1307 'example.com':194 'exclud':1634,1662 'exec':1504,1523,1534,1548,1556 'exist':160 'expert':13 'expir':1929 'explicit':867 'express':396 'extens':985,1238,1239,1245,1253,1299,1396,1409,1427,1443,1467,2167,2188 'extern':1026,1651,1989 'f':872,918,955,1065,1072,1931 'fail':1081,1714 'faith':1016 'fals':1630,2011,2073 'fenc':1303,1402 'file':91,112,129,627,660,665,672,678,763,982,1027,1200,1205,1281,1284,1587,1640,1900 'filter':881,889,2255 'first':505,518 'flag':1103,1259,1327,1333,1731 'flavor':682,744,745,754,1055,1056,1068,1387,1388,1398,1670,1671,1683,2029,2030,2038 'fmt':1164 'fmt.println':1184 'folder':2124 'footnot':2061 'format':378,390,868,911,958,966 'found':2085 'full':1063,1070,2040 'func':1168,1230 'function':248,321 'futur':1935 'future-d':1934 'g':593 'garbag':1943 'gc':1941 'gcc':1462 'gem':1472,1721 'gemfil':1663 'gemfile.lock':1664 'generat':124,1080,1309,1341,1346,1586,1647,2003,2239 'get':1140,2024,2178 'getenv':2018 'gfm':634,679,789,1073,1705 'ghpage':1690 'git':540,542,544,546,548,550,562,564,566,568,570,572,1760,1798,1800 'github':8,681,753,1067,1397,1682,2037,2171,2192,2214,2263,2285 'github.com':38,61,66,73,78,727,734,740,1142,1150,1166,1197,1222,1225,1228,1365,1368,1383,1804,2155,2174,2195,2217,2266,2288 'github.com/apostrophecms/sanitize-html)':733 'github.com/cure53/dompurify)':726 'github.com/gohugoio/hugo':2287 'github.com/gohugoio/hugo)':77 'github.com/gomarkdown/markdown':1141,1165,1221,1367,2216 'github.com/gomarkdown/markdown)':65 'github.com/gomarkdown/markdown/html':1224 'github.com/gomarkdown/markdown/parser':1227 'github.com/gomarkdown/mdtohtml@latest':1149,1196 'github.com/jekyll/jekyll':2265 'github.com/jekyll/jekyll)':72 'github.com/jgm/pandoc':2194 'github.com/jgm/pandoc)':60 'github.com/leizongmin/js-xss)':739 'github.com/markedjs/marked':2173 'github.com/markedjs/marked)':37 'github.com/microcosm-cc/bluemonday':1364 'github.com/microcosm-cc/bluemonday)':1382 'github.com/sindresorhus/github-markdown-css':2154 'github.com/thenewdynamic/gohugo-theme-ananke':1803 'global':588 'go':1131,1139,1147,1159,1160,1194,1217,1290,1362,1766,2014 'gohugo.io':1758,2273,2278,2283 'gohugo.io/configuration/all/':2277 'gohugo.io/documentation/':2272 'gohugo.io/installation/':1757 'gohugo.io/tools/editors/':2282 'gohugoio/hugo':76 'goldmark':2032,2117 'gomarkdown':1351 'gomarkdown/markdown':64,1128,2197 'guid':2148 'handl':89 'head':1312 'header':375,387,506,508,519,521,1100 'header/footer':861,978 'hello':351,355,383,394,904,907,1172 'help':688,1007 'high':1394,1400 'higher':1134,1460 'highlight':778,782,1431,1435,1707 'highlight.js':784 'hook':2259 'host':1612,1615 'html':3,11,20,108,119,125,147,170,174,197,259,271,345,353,360,384,419,470,517,552,664,699,732,851,875,914,919,960,967,1034,1179,1186,1250,1326,1331,1343,1356,1375,2079,2110 'html.commonflags':1255,1329 'html.completepage':1340 'html.hreftargetblank':1256,1334 'html.newrenderer':1262 'html.rendereroptions':1258 'html.usexhtml':1345 'htmlflag':1254,1260 'hugo':1750,1753,1769,1783,1785,1813,1820,1834,1838,1844,1856,1868,1879,1887,1892,1894,1901,1907,1912,1916,1980,2019,2100,2129,2268 'hugo.toml':1810,1987,2006,2054 'id':1310 'identifi':2107 'ignor':796 'imag':2119 'import':707,711,1163,1220,1363 'includ':860,999,1603,1923,1928,1933 'increment':1730 'inequ':439,475 'infer':983 'info':374,386 'init':1799,1914 'initi':1915 'inlin':412,427 'input':657,658,702,957,1015,1030,1047,1280,1359,1421,1652,1704 'input-fil':1279 'input.html':922 'input.md':646,853,863,871,929,939,947,1050,1202,1210 'insid':376,388 'instal':580,586,592,596,599,816,826,1082,1135,1136,1148,1192,1195,1468,1473,1726,1754,2235 'instead':670 'integr':1432 'interact':883 'interfac':1867,1955 'issu':758,1077,1089,1413,1593,1710,2081 'item':204,208,213,218,221,280,284,288,292,295 'javascript':706 'jekyl':1453,1469,1474,1488,1490,1505,1524,1530,1535,1549,1557,1564,1568,1570,1577,1583,1588,1624,1654,1680,1688,2219 'jekyll-commonmark':1679 'jekyll-commonmark-ghpag':1687 'jekyll/jekyll':71 'jekyllrb.com':2224,2229,2233,2237,2241,2245,2249,2253,2257,2261 'jekyllrb.com/docs/':2223 'jekyllrb.com/docs/configuration/options/':2228 'jekyllrb.com/docs/plugins/':2232 'jekyllrb.com/docs/plugins/commands/)':2248 'jekyllrb.com/docs/plugins/converters/)':2244 'jekyllrb.com/docs/plugins/filters/)':2256 'jekyllrb.com/docs/plugins/generators/)':2240 'jekyllrb.com/docs/plugins/hooks/)':2260 'jekyllrb.com/docs/plugins/installation/)':2236 'jekyllrb.com/docs/plugins/tags/)':2252 'js':241,349,381,737 'js-xss':736 'json':633 'k':442,446,448,454,458,463,467,476,480,482,484,488,490,494 'keep':1653 'knowledg':44 'kramdown':1673,1702,1703 'latex':825,927,937,961,968,1083,1324 'left':440,452,461,532,554 'left-align':531,553 'legaci':2047 'leq':451 'level':185,187,260,262 'librari':24,1138,1291 'like':58,199,273,783,1436 'line':794,1316 'link':193,268,1339 'linkifi':2063 'linux':835 'linux/macos':897 'liquid':1732 'list':203,207,212,217,279,283,287,291,377,389,1747 'live':1539,1545,1861,1966,1971 'livereload':1551,1597 'livereloadport':1965 'load':1742,2094,2121 'local':597,1502,1582 'localhost':1509,1617,1873 'maco':829 'mactex':827,1084 'main':1162,1169,1219 'make':1464 'mark':587,594,600,644,694,708,710 'markdown':1,9,17,106,117,136,145,167,172,184,341,357,372,404,434,504,530,659,683,743,748,755,849,873,892,916,921,925,933,943,959,1020,1054,1059,1069,1386,1391,1399,1669,1684,1696,1701,2028,2039,2052,2136,2147,2153,2209 'markdown.render':1265 'markdown.tohtml':1180,1371 'marked.js':23,49 'marked.js.org':2161,2165,2169 'marked.js.org/using_advanced':2164 'marked.js.org/using_pro':2168 'marked.md':605,616 'marked.parse':717 'markedjs/marked':36,576,2157 'markup':2056 'markup.goldmark':2057 'markup.goldmark.extensions':2058 'markup.goldmark.renderer':2071 'math':411,426,989,1107,1325,1406,1438 'mathemat':395 'mathjax':1113,1321 'mathjax/latex':1405 'mathml':986,991,1111 'maybeunsafehtml':1370,1378 'md':111,128,1170,1181,1232,1248,1372 'mdtohtml':1193,1201,1209,1231,1271,1278 'metadata':992,997 'method':53,603,609,841,842,879,909,1154,1155,1187,1211,1478,1479,1511,1537,1773,1774,1823,1847,2022 'miktex':830,1085 'minif':1837 'minifi':1839,1938,1939 'minim':1275 'miss':1098 'mmark':1410 'mod':1913,2130 'mode':882,1023,1044 'modul':1666,1765,1770,1917,2101,2126 'multimarkdown':1074 'myblog':1492,1498 'mysit':1788,1794 'n':444,456,465,478,486,492,1174 'nativ':1061,1466 'navig':1974 'navigatetochang':1973 'need':122,1317 'new':1482,1487,1491,1565,1567,1777,1782,1786,1814,1888,1891,1895,1898 'newlin':686,1416 'nil':1182,1183,1373,1374 'node':1665 'node.js':579 'npm':591,598 'npx':2015 'nthis':1175 'number':230,239,304,313,1962 'o':647,661,854,865,877,923,931,941,949,979,1051 'offici':2159,2183,2199,2221,2270 'ol':211,216,286,290 'one':189,223,224,243,257,264,297,298,316,330 'opt':1257,1263 'option':632,652,654,691,791,801,953,1010,1114,1276,1297,1595,1767,1919,1952,2163,2227 'origin':747,1390 'output':120,662,663,698,809,824,906,965,980,981,1035,1206,1283,1332,1348,1355,1450,1940,1949 'output-fil':1282 'output.docx':950 'output.html':648,855,866,878,1052,1203 'output.md':924 'output.pdf':942 'output.tex':932 'p':274,1243,1959 'p.parse':1247 'packag':1161,1218 'page':1344,2083 'pandoc':59,812,815,852,862,870,886,890,905,908,917,928,938,946,1013,1048,1058,1097,2176 'pandoc.org':820,2181,2186,2190 'pandoc.org/extras.html':2189 'pandoc.org/getting-started.html':2180 'pandoc.org/installing.html':819 'pandoc.org/manual.html':2185 'paragraph':200,275 'paramet':1999 'pars':668,1418 'parser':1214,1236,1294,1298 'parser.autoheadingids':1241,1308 'parser.commonextensions':1240,1301 'parser.mathjax':1320,1442 'parser.newwithextensions':1244 'parser.noemptylinebeforeblock':1242,1313 'parser.normalizenewlines':1420 'parser.tables':1426 'partial':1075 'path':2087 'pdf':823,935,969,1079 'persist':631 'pipe':1123 'pkg.go.dev':2202,2207 'pkg.go.dev/github.com/gomarkdown/markdown':2201 'pkg.go.dev/github.com/gomarkdown/markdown@v0.0.0-20250810172220-2e2c11897d1a/html':2206 'plugin':1656,1678,1686,1693,1740,1746,2231,2281 'polici':1985 'port':1606,1609,1878,1881,1960,1961,1968 'post':1605,2025 'postcss':2016 'posts/my-first-post.md':1816 'prerequisit':578,814,1130,1455,1752 'prevent':1638 'preview':166 'process':1014,1032,2210 'processor':1697 'produc':974 'product':1528,1532,1632,1846 'programmat':584,1292 'prompt':837 'proper':1119 'public':1832,1905,1995 'publish':1643 'quick':601,607,839,1152,1476,1771 'raw':2078,2109 'recommend':723,729,1379,1761,2050 'redcarpet':1691 'refer':653,2132 'references/basic-markdown-to-html.md':182 'references/basic-markdown.md':2138 'references/code-blocks-to-html.md':339 'references/code-blocks.md':2140 'references/collapsed-sections-to-html.md':370 'references/collapsed-sections.md':2142 'references/gomarkdown.md':1129,2198 'references/hugo.md':1751,2269 'references/jekyll.md':1454,2220 'references/marked.md':577,606,617,2158 'references/pandoc.md':813,2177 'references/tables-to-html.md':502 'references/tables.md':2144 'references/writing-mathematical-expressions-to-html.md':402 'references/writing-mathematical-expressions.md':2146 'reload':1540,1546,1598,1862,1967,1972 'remov':1585 'render':116,169,787,1109,1117,1216,1251,1261,1267,1296,1424,1440,2112 'repositori':40,1996,2172,2193,2215,2264,2286 'requir':936 'return':252,325,1264 'right':449,460,469,538,560 'right-align':537,559 'roug':1708 'rubi':1456,1712 'rubygem':1461 'run':1041,1092,1717,1724,1942,2128 'safe':1629 'safehtml':720 'sandbox':1022,1043,1049 'sanit':697,705,724,731,808,1033,1354,1380,1449,1644 'sanitize-html':730 'sanitizebyt':1377 'schwarz':438,474 'script':29,33,43,85 'second':507,520 'section':364 'secur':692,1011,1349,1622,1625,1660,1978,1981,1984,2007,2009 'security.exec':2012 'security.funcs':2017 'security.http':2021 'see':180,337,368,400,500,604,615 'sensit':1639 'sentenc':190,265,406,421 'serv':1501,1506,1543,1550,1552,1558,1578,1581,1594,1716 'server':1608,1614,1819,1821,1850,1853,1857,1869,1880,1908,1911,1951 'set':793,797,995,1607,1613,1619,1661,2008,2074,2113,2276 'shortcod':1998 'show':410,425,689,1008 'similar':34 'simpl':1157 'simplemath':249,256,322,329 'singl':90 'site':134,1483,1489,1495,1515,1518,1520,1569,1573,1575,1778,1784,1787,1791,1827,1830,1889,1893,1903 'skill':6,14,101 'slow':1727,2102 'snippet':198,272 'solut':759,1078,1414,1711,2082 'source-github' 'special':760 'specif':869,1842,1877 'spell':227,236,301,310 'sqrt':413 'standalon':858,973,975,1099 'start':764,885,1817,1852,1859,1875,1909,2179 'static':133,1514,1826,2123 'status':541,543,545,563,565,567 'stdout':1208 'step':611,613,619,621 'step-by-step':610,618 'strikethrough':1306,1404,2042,2065 'string':667,669,1185 'strip':765 'structur':2125 'style':2135,2152 'submodul':1801 'sum':441,453,462 'support':742,746,1053,1057,1322,1385,1389,1407,1411,1668,1672,2027,2031 'syntax':781,1121,1434,1706,1733 'system':82,142,162 'tabl':220,294,496,785,1000,1115,1120,1302,1401,1422,2041,2067 'tables-to-html.md':501 'tables.md':2143 'tag':201,276,2251 'target':1336 'tasklist':2069 'templat':81,141,157,161,1003,1006 'templatemetr':2105 'terminal/command':836 'tex':988 'texliv':833,1087 'text':183,340,371,403,503,1178 'theme':1763,1797,1808,2092,2096,2098 'themes/ananke':1806 'tidi':2131 'titl':993,994 'toc':998 'toml':2005,2055 'tool':57,87,153,1146,1190,1273 'transform':110 'troubleshoot':757,1076,1412,1709,2080 'true':635,637,790,799,2060,2062,2064,2066,2068,2070,2075,2115 'two':232,233,246,258,306,307,319,331 'type':891 'u200b':771 'u200c':772 'u200d':773 'ufeff':774 'ul':202,206,278,282 'unescap':1737 'unsaf':2072,2114 'unsafehtml':716,722 'untrust':701,1019,1046,1358 'untrustedmarkdown':718 'updat':1657 'url':1621,2026 'usag':585 'use':21,99,407,422,625,639,675,703,805,1004,1021,1064,1071,1096,1110,1288,1360,1419,1446,1628,1633,1729,1991,2104 'user':102,113,121,130,138,148,163,1646,2002 'user-gener':1645,2001 'util':55 'valid':1029,1997 'var':242,245,315,318 'vendor':1667 'verifi':2095 'version':1457 'via':1408,1677,1685,1692 'visibl':358,361 'vulner':803,1445 'want':114,164 'warn':693,1012,1350,1623,1979 'webrick':1720 'widget':154 'width':768 'window':832,903,1091 'windows/mac':1415 'without':1430 'word':945 'work':150,574,810,1126,1451,1748 'workflow':614,622 'world':352,356,1173 'write':26,2133 'writing-mathematical-expressions-to-html.md':401 'writing-mathematical-expressions.md':2145 'www.markdownguide.org':2150 'www.markdownguide.org/basic-syntax/':2149 'x':250,253,323,326,417,429,432 'xhtml':1347 'xss':738,802,1444 'y':251,254,324,327 'yaml':1658,1700 'z':901 'zero':767 'zero-width':766","prices":[{"id":"5865dd2e-ebea-49c3-a6a7-ef3ead9b565e","listingId":"2aa41672-6636-4bdf-9c53-57f8eef7e640","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"github","category":"awesome-copilot","install_from":"skills.sh"},"createdAt":"2026-04-18T20:25:38.983Z"}],"sources":[{"listingId":"2aa41672-6636-4bdf-9c53-57f8eef7e640","source":"github","sourceId":"github/awesome-copilot/markdown-to-html","sourceUrl":"https://github.com/github/awesome-copilot/tree/main/skills/markdown-to-html","isPrimary":false,"firstSeenAt":"2026-04-18T21:50:05.055Z","lastSeenAt":"2026-04-22T12:52:16.348Z"},{"listingId":"2aa41672-6636-4bdf-9c53-57f8eef7e640","source":"skills_sh","sourceId":"github/awesome-copilot/markdown-to-html","sourceUrl":"https://skills.sh/github/awesome-copilot/markdown-to-html","isPrimary":true,"firstSeenAt":"2026-04-18T20:25:38.983Z","lastSeenAt":"2026-04-22T16:40:17.413Z"}],"details":{"listingId":"2aa41672-6636-4bdf-9c53-57f8eef7e640","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"github","slug":"markdown-to-html","source":"skills_sh","category":"awesome-copilot","skills_sh_url":"https://skills.sh/github/awesome-copilot/markdown-to-html"},"updatedAt":"2026-04-22T16:40:17.413Z"}}