168 lines
4.3 KiB
JSON
168 lines
4.3 KiB
JSON
[
|
|
{
|
|
"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<tag>\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": "<https://example.test> and https://example.test and test@example.test",
|
|
"supported": true
|
|
},
|
|
{
|
|
"name": "literal code",
|
|
"value": "```markdown\n- [x] Done\n<table></table>\n\n[a](javascript:bad)\n```\n\n`- [ ] task`\n\n <script>example</script>",
|
|
"supported": true
|
|
},
|
|
{
|
|
"name": "escaped text",
|
|
"value": "\\<tag> and \\\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": "<script>alert(1)</script>",
|
|
"supported": false
|
|
},
|
|
{
|
|
"name": "inline html",
|
|
"value": "Text <b>bold</b>",
|
|
"supported": false
|
|
},
|
|
{
|
|
"name": "html comment",
|
|
"value": "<!-- comment -->",
|
|
"supported": false
|
|
},
|
|
{
|
|
"name": "image",
|
|
"value": "",
|
|
"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
|
|
}
|
|
]
|