marco-core 1.1.0

nom-based Markdown parser, HTML renderer, and intelligence features (highlights, diagnostics, completions) for the Marco editor.
Documentation
[
  {
    "_comment": "GFM extension fixtures",
    "_description": "Tables, strikethrough, autolinks, and footnotes",
    "_usage": "Run with: cargo test --test extension_spec_conformance",
    "_note": "Comment entries are ignored by the fixture loader"
  },
  {
    "markdown": "| A | B |\n|:--|--:|\n| 1 | 2 |\n",
    "html": "<table>\n<thead>\n<tr><th style=\"text-align: left;\">A</th><th style=\"text-align: right;\">B</th></tr>\n</thead>\n<tbody>\n<tr><td style=\"text-align: left;\">1</td><td style=\"text-align: right;\">2</td></tr>\n</tbody>\n</table>\n",
    "example": 3101,
    "start_line": 1,
    "end_line": 3,
    "section": "GFM table alignment"
  },
  {
    "markdown": "~~gone~~\n",
    "html": "<p><del>gone</del></p>\n",
    "example": 3102,
    "start_line": 5,
    "end_line": 5,
    "section": "GFM strikethrough"
  },
  {
    "markdown": "https://example.com/path?q=1\n",
    "html": "<p><a href=\"https://example.com/path?q=1\">https://example.com/path?q=1</a></p>\n",
    "example": 3103,
    "start_line": 7,
    "end_line": 7,
    "section": "GFM autolink literal"
  },
  {
    "markdown": "Text[^1]\n\n[^1]: Note\n",
    "html": "<p>Text<sup class=\"footnote-ref\"><a href=\"#fn1\" id=\"fnref1\">1</a></sup></p>\n<section class=\"footnotes\">\n<ol>\n<li id=\"fn1\"><p>Note</p>\n</li>\n</ol>\n</section>\n",
    "example": 3104,
    "start_line": 9,
    "end_line": 11,
    "section": "GFM footnote block"
  },
  {
    "markdown": "| H1 | H2 |\n|---|---|\n| a | b |\n",
    "html": "<table>\n<thead>\n<tr><th>H1</th><th>H2</th></tr>\n</thead>\n<tbody>\n<tr><td>a</td><td>b</td></tr>\n</tbody>\n</table>\n",
    "example": 3105,
    "section": "GFM table"
  },
  {
    "markdown": "| A | B | C |\n|---|---|---|\n| 1 | 2 | 3 |\n| 4 | 5 | 6 |\n",
    "html": "<table>\n<thead>\n<tr><th>A</th><th>B</th><th>C</th></tr>\n</thead>\n<tbody>\n<tr><td>1</td><td>2</td><td>3</td></tr>\n<tr><td>4</td><td>5</td><td>6</td></tr>\n</tbody>\n</table>\n",
    "example": 3106,
    "section": "GFM table"
  },
  {
    "markdown": "| **A** | *B* |\n|---|---|\n| `code` | ~~del~~ |\n",
    "html": "<table>\n<thead>\n<tr><th><strong>A</strong></th><th><em>B</em></th></tr>\n</thead>\n<tbody>\n<tr><td><code>code</code></td><td><del>del</del></td></tr>\n</tbody>\n</table>\n",
    "example": 3107,
    "section": "GFM table"
  },
  {
    "markdown": "| A |\n|:---|\n| x |\n",
    "html": "<table>\n<thead>\n<tr><th style=\"text-align: left;\">A</th></tr>\n</thead>\n<tbody>\n<tr><td style=\"text-align: left;\">x</td></tr>\n</tbody>\n</table>\n",
    "example": 3108,
    "section": "GFM table"
  },
  {
    "markdown": "| A |\n|:---:|\n| x |\n",
    "html": "<table>\n<thead>\n<tr><th style=\"text-align: center;\">A</th></tr>\n</thead>\n<tbody>\n<tr><td style=\"text-align: center;\">x</td></tr>\n</tbody>\n</table>\n",
    "example": 3109,
    "section": "GFM table"
  },
  {
    "markdown": "The ~~old~~ new way\n",
    "html": "<p>The <del>old</del> new way</p>\n",
    "example": 3110,
    "section": "GFM strikethrough"
  },
  {
    "markdown": "~~first~~ and ~~second~~\n",
    "html": "<p><del>first</del> and <del>second</del></p>\n",
    "example": 3111,
    "section": "GFM strikethrough"
  },
  {
    "markdown": "*~~del~~*\n",
    "html": "<p><em><del>del</del></em></p>\n",
    "example": 3112,
    "section": "GFM strikethrough"
  },
  {
    "markdown": "Visit https://example.com today\n",
    "html": "<p>Visit <a href=\"https://example.com\">https://example.com</a> today</p>\n",
    "example": 3113,
    "section": "GFM autolink literal"
  },
  {
    "markdown": "Go to www.example.com for info\n",
    "html": "<p>Go to <a href=\"http://www.example.com\">www.example.com</a> for info</p>\n",
    "example": 3114,
    "section": "GFM autolink literal"
  },
  {
    "markdown": "Email foo@example.com now\n",
    "html": "<p>Email <a href=\"mailto:foo@example.com\">foo@example.com</a> now</p>\n",
    "example": 3115,
    "section": "GFM autolink literal"
  },
  {
    "markdown": "First[^a] and second[^b]\n\n[^a]: Alpha\n[^b]: Beta\n",
    "html": "<p>First<sup class=\"footnote-ref\"><a href=\"#fn1\" id=\"fnref1\">1</a></sup> and second<sup class=\"footnote-ref\"><a href=\"#fn2\" id=\"fnref2\">2</a></sup></p>\n<section class=\"footnotes\">\n<ol>\n<li id=\"fn1\"><p>Alpha</p>\n</li>\n<li id=\"fn2\"><p>Beta</p>\n</li>\n</ol>\n</section>\n",
    "example": 3116,
    "section": "GFM footnote block"
  },
  {
    "markdown": "See[^1]\n\n[^1]: **bold** note\n",
    "html": "<p>See<sup class=\"footnote-ref\"><a href=\"#fn1\" id=\"fnref1\">1</a></sup></p>\n<section class=\"footnotes\">\n<ol>\n<li id=\"fn1\"><p><strong>bold</strong> note</p>\n</li>\n</ol>\n</section>\n",
    "example": 3117,
    "section": "GFM footnote block"
  },
  {
    "markdown": "- [x] done\n- [ ] todo\n",
    "html": "<ul>\n<li class=\"marco-task-list-item marco-task-list-item--checked\"><span class=\"marco-marco-marco-task-checkbox checked\" aria-hidden=\"true\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.25\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"marco-task-icon\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path class=\"marco-task-check\" style=\"stroke: var(--mc-task-accent); stroke-width: 2.0;\" d=\"M9 11l3 3l8 -8\" /><path class=\"marco-task-box\" style=\"stroke: var(--mc-task-primary);\" d=\"M3 5a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-14\" /></svg></span>done</li>\n<li class=\"marco-task-list-item\"><span class=\"marco-marco-marco-task-checkbox unchecked\" aria-hidden=\"true\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.25\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"marco-task-icon\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path class=\"marco-task-box\" d=\"M3 5a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-14\" /></svg></span>todo</li>\n</ul>\n",
    "example": 3118,
    "section": "GFM task list"
  }
]