[ { "name": "plain text", "value": "München 🚀 & details\nSecond line", "supported": true }, { "name": "formatting", "value": "# Title\n\n**Bold** and *italic* and ~~strike~~\n\n- One\n - Nested\n\n3. Third\n4. Fourth\n\n> Quote\n\n`inline`\n\n```js\n\n```\n\n[Link](https://example.test/path)\n\n---", "supported": true }, { "name": "setext heading", "value": "Title\n===\n\nText", "supported": true }, { "name": "safe links", "value": "[http](http://example.test) [mail](mailto:test@example.test) [root](/projects/1) [fragment](#part)", "supported": true }, { "name": "reference link", "value": "[Guide][ref]\n\n[ref]: https://example.test", "supported": true }, { "name": "autolinks", "value": " and https://example.test and test@example.test", "supported": true }, { "name": "literal code", "value": "```markdown\n- [x] Done\n
\n![image](bad)\n[a](javascript:bad)\n```\n\n`- [ ] task`\n\n ", "supported": true }, { "name": "escaped text", "value": "\\ and \\![image](https://example.test)\n\n- \\[x] ordinary list", "supported": true }, { "name": "entities", "value": "<img src=x onerror=alert(1)>", "supported": true }, { "name": "empty", "value": "", "supported": true }, { "name": "task", "value": "## Plan\n\n- [ ] Criteria", "supported": false }, { "name": "checked", "value": "- [x] Done", "supported": false }, { "name": "nested task", "value": "> 1. [X] Done", "supported": false }, { "name": "table", "value": "| A | B |\n| - | - |\n| a | b |", "supported": false }, { "name": "html", "value": "", "supported": false }, { "name": "inline html", "value": "Text bold", "supported": false }, { "name": "html comment", "value": "", "supported": false }, { "name": "image", "value": "![Image](https://example.test/image.png)", "supported": false }, { "name": "reference image", "value": "![alt][img]\n\n[img]: https://example.test/image.png", "supported": false }, { "name": "javascript", "value": "[unsafe](javascript:alert%281%29)", "supported": false }, { "name": "data", "value": "[unsafe](data:text/html,test)", "supported": false }, { "name": "protocol relative", "value": "[unsafe](//evil.test)", "supported": false }, { "name": "relative", "value": "[unsafe](other/page)", "supported": false }, { "name": "unsafe reference", "value": "[unsafe][ref]\n\n[ref]: javascript:alert(1)", "supported": false }, { "name": "malformed https", "value": "[unsafe](https://)", "supported": false }, { "name": "backslash", "value": "[unsafe](https://example.test/a\\\\b)", "supported": false }, { "name": "invalid ipv6", "value": "[unsafe](https://[invalid]/)", "supported": false }, { "name": "encoded backslash", "value": "[unsafe](https://example.test/%5cpath)", "supported": false }, { "name": "encoded whitespace", "value": "[unsafe](https://example.test/a%20b)", "supported": false }, { "name": "invalid encoding", "value": "[unsafe](https://example.test/%ff)", "supported": false }, { "name": "too large port", "value": "[unsafe](https://example.test:99999)", "supported": false }, { "name": "ipv6", "value": "[safe](https://[::1]/path)", "supported": true }, { "name": "international domain", "value": "[safe](https://münchen.example/🚀)", "supported": true } ]