Model CommonMark's emphasis matching, and escape the delimiter that only closes
CI / gate (push) Successful in 6s

This commit is contained in:
2026-08-27 12:42:46 +02:00
parent 0e43dffd84
commit e4a18dec43
17 changed files with 899 additions and 45 deletions
@@ -1,6 +1,6 @@
\~~not strike~~
\~~not strike\~~
~~gone~~ but \~~kept~~
~~gone~~ but \~~kept\~~
A ~ B ~ C
@@ -0,0 +1,161 @@
{
"content": [
{
"content": [
{
"attrs": {
"width": 50
},
"content": [
{
"attrs": {
"panelType": "info"
},
"content": [
{
"content": [
{
"text": "Check the collation before importing.",
"type": "text"
}
],
"type": "paragraph"
}
],
"type": "panel"
}
],
"type": "layoutColumn"
},
{
"attrs": {
"width": 50
},
"content": [
{
"attrs": {
"localId": "0198f3a2-7c41-7f2e-9b3a-4d8e2c1a6b90"
},
"content": [
{
"attrs": {
"localId": "0198f3a2-8d52-70b1-8c4f-5e9f3d2b7ca1",
"state": "DONE"
},
"content": [
{
"text": "Write the spec",
"type": "text"
}
],
"type": "taskItem"
},
{
"attrs": {
"localId": "0198f3a2-9e63-7d80-a15b-6fa04e3c8db2",
"state": "TODO"
},
"content": [
{
"text": "Ship it",
"type": "text"
}
],
"type": "taskItem"
}
],
"type": "taskList"
}
],
"type": "layoutColumn"
}
],
"type": "layoutSection"
},
{
"attrs": {
"layout": "center",
"width": 50
},
"content": [
{
"attrs": {
"collection": "MediaServicesSample",
"id": "4478e39c-cf9b-41d1-ba92-68589487cd75",
"type": "file"
},
"type": "media"
},
{
"content": [
{
"text": "The moon, at night.",
"type": "text"
}
],
"type": "caption"
}
],
"type": "mediaSingle"
},
{
"attrs": {
"title": "Full build log"
},
"content": [
{
"attrs": {
"isNumberColumnEnabled": true
},
"content": [
{
"content": [
{
"content": [
{
"content": [
{
"text": "Step",
"type": "text"
}
],
"type": "paragraph"
}
],
"type": "tableHeader"
}
],
"type": "tableRow"
},
{
"content": [
{
"attrs": {
"background": "#deebff"
},
"content": [
{
"content": [
{
"text": "Compile",
"type": "text"
}
],
"type": "paragraph"
}
],
"type": "tableCell"
}
],
"type": "tableRow"
}
],
"type": "table"
}
],
"type": "expand"
}
],
"type": "doc",
"version": 1
}
@@ -0,0 +1,39 @@
::::::layoutSection
::::layoutColumn {width=50}
:::panel info
Check the collation before importing.
:::
::::
:::::layoutColumn {width=50}
::::taskList {localId=0198f3a2-7c41-7f2e-9b3a-4d8e2c1a6b90}
:::taskItem DONE {localId=0198f3a2-8d52-70b1-8c4f-5e9f3d2b7ca1}
Write the spec
:::
:::taskItem TODO {localId=0198f3a2-9e63-7d80-a15b-6fa04e3c8db2}
Ship it
:::
::::
:::::
::::::
::::mediaSingle {layout=center width=50}
::media {collection=MediaServicesSample id=4478e39c-cf9b-41d1-ba92-68589487cd75 type=file}
:::caption
The moon, at night.
:::
::::
::::::expand {title="Full build log"}
:::::table {isNumberColumnEnabled=true}
::::tableRow
:::tableHeader
Step
:::
::::
::::tableRow
:::tableCell {background="#deebff"}
Compile
:::
::::
:::::
::::::
@@ -0,0 +1,312 @@
{
"content": [
{
"attrs": {
"level": 1
},
"content": [
{
"text": "Release 2.4",
"type": "text"
}
],
"type": "heading"
},
{
"content": [
{
"text": "Shipped ",
"type": "text"
},
{
"attrs": {
"shortName": ":rocket:",
"text": "🚀"
},
"type": "emoji"
},
{
"text": " on ",
"type": "text"
},
{
"attrs": {
"timestamp": "1756080000000"
},
"type": "date"
},
{
"text": " — ",
"type": "text"
},
{
"attrs": {
"id": "01a032c3-7a7c-775f-a730-2d79351338b4",
"text": "@Mikael"
},
"type": "mention"
},
{
"text": " owns the rollout, status ",
"type": "text"
},
{
"attrs": {
"color": "yellow",
"text": "In review"
},
"type": "status"
},
{
"text": ".",
"type": "text"
}
],
"type": "paragraph"
},
{
"content": [
{
"content": [
{
"content": [
{
"content": [
{
"text": "Part",
"type": "text"
}
],
"type": "paragraph"
}
],
"type": "tableHeader"
},
{
"content": [
{
"content": [
{
"text": "Qty",
"type": "text"
}
],
"type": "paragraph"
}
],
"type": "tableHeader"
}
],
"type": "tableRow"
},
{
"content": [
{
"content": [
{
"content": [
{
"text": "Bolt M8",
"type": "text"
}
],
"type": "paragraph"
}
],
"type": "tableCell"
},
{
"content": [
{
"content": [
{
"text": "40",
"type": "text"
}
],
"type": "paragraph"
}
],
"type": "tableCell"
}
],
"type": "tableRow"
},
{
"content": [
{
"content": [
{
"content": [
{
"marks": [
{
"attrs": {
"href": "https://example.com/washer"
},
"type": "link"
}
],
"text": "Washer",
"type": "text"
}
],
"type": "paragraph"
}
],
"type": "tableCell"
},
{
"content": [
{
"content": [
{
"text": "12",
"type": "text"
}
],
"type": "paragraph"
}
],
"type": "tableCell"
}
],
"type": "tableRow"
}
],
"type": "table"
},
{
"content": [
{
"content": [
{
"content": [
{
"text": "Torque the ",
"type": "text"
},
{
"marks": [
{
"type": "strong"
}
],
"text": "M8 bolt",
"type": "text"
},
{
"text": " to ",
"type": "text"
},
{
"marks": [
{
"type": "em"
}
],
"text": "25 Nm",
"type": "text"
},
{
"text": ".",
"type": "text"
}
],
"type": "paragraph"
}
],
"type": "listItem"
},
{
"content": [
{
"content": [
{
"text": "Check the collation:",
"type": "text"
}
],
"type": "paragraph"
},
{
"content": [
{
"content": [
{
"content": [
{
"marks": [
{
"type": "code"
}
],
"text": "mysqldump --default-character-set=utf8mb4",
"type": "text"
}
],
"type": "paragraph"
}
],
"type": "listItem"
}
],
"type": "bulletList"
}
],
"type": "listItem"
}
],
"type": "bulletList"
},
{
"content": [
{
"content": [
{
"text": "Rolled back once, see the ",
"type": "text"
},
{
"marks": [
{
"type": "underline"
}
],
"text": "postmortem",
"type": "text"
},
{
"text": ".",
"type": "text"
}
],
"type": "paragraph"
}
],
"type": "blockquote"
},
{
"type": "rule"
},
{
"attrs": {
"panelType": "warning"
},
"content": [
{
"content": [
{
"text": "Do not skip the pre-flight.",
"type": "text"
}
],
"type": "paragraph"
}
],
"type": "panel"
}
],
"type": "doc",
"version": 1
}
@@ -0,0 +1,20 @@
# Release 2.4
Shipped :emoji[🚀]{shortName=":rocket:"} on :date{timestamp=1756080000000} — :mention[@Mikael]{id=01a032c3-7a7c-775f-a730-2d79351338b4} owns the rollout, status :status[In review]{color=yellow}.
| Part | Qty |
| --- | --- |
| Bolt M8 | 40 |
| [Washer](https://example.com/washer) | 12 |
- Torque the **M8 bolt** to _25 Nm_.
- Check the collation:
- `mysqldump --default-character-set=utf8mb4`
> Rolled back once, see the :underline[postmortem].
---
:::panel warning
Do not skip the pre-flight.
:::
@@ -0,0 +1,56 @@
{
"content": [
{
"content": [
{
"text": "un",
"type": "text"
},
{
"marks": [
{
"type": "em"
}
],
"text": "a* b",
"type": "text"
},
{
"text": "istic",
"type": "text"
}
],
"type": "paragraph"
},
{
"content": [
{
"marks": [
{
"type": "strike"
}
],
"text": "a~~ b",
"type": "text"
}
],
"type": "paragraph"
},
{
"content": [
{
"marks": [
{
"type": "em"
}
],
"text": "a_ b",
"type": "text"
}
],
"type": "paragraph"
}
],
"type": "doc",
"version": 1
}
@@ -0,0 +1,5 @@
un*a\* b*istic
~~a\~~ b~~
_a\_ b_
@@ -0,0 +1,87 @@
{
"content": [
{
"content": [
{
"text": "un",
"type": "text"
},
{
"marks": [
{
"type": "em"
}
],
"text": "a",
"type": "text"
},
{
"marks": [
{
"type": "em"
},
{
"type": "strong"
}
],
"text": "b",
"type": "text"
},
{
"marks": [
{
"type": "strong"
}
],
"text": "c",
"type": "text"
},
{
"text": "istic",
"type": "text"
}
],
"type": "paragraph"
},
{
"content": [
{
"marks": [
{
"type": "strong"
},
{
"type": "em"
}
],
"text": "a",
"type": "text"
},
{
"marks": [
{
"type": "strong"
}
],
"text": "b",
"type": "text"
},
{
"marks": [
{
"type": "strong"
},
{
"type": "em"
}
],
"text": "c",
"type": "text"
}
],
"type": "paragraph"
}
],
"type": "doc",
"version": 1
}
@@ -0,0 +1,3 @@
un:adf{json="{\"marks\":[{\"type\":\"em\"}],\"text\":\"a\",\"type\":\"text\"}"}:adf{json="{\"marks\":[{\"type\":\"em\"},{\"type\":\"strong\"}],\"text\":\"b\",\"type\":\"text\"}"}**c**istic
***a*b**:adf{json="{\"marks\":[{\"type\":\"strong\"},{\"type\":\"em\"}],\"text\":\"c\",\"type\":\"text\"}"}