{"id":"corpus/meta","format":1,"packLimit":1200,"documents":[{"name":"blockquotes","len":388,"fnv":"29dd1a6e"},{"name":"code-spans","len":481,"fnv":"19e40e50"},{"name":"discord-mentions","len":510,"fnv":"38f4a9da"},{"name":"emoji","len":512,"fnv":"66586952"},{"name":"fenced-code-tricks","len":595,"fnv":"97f32f8d"},{"name":"granola-meeting","len":465,"fnv":"1e54378e"},{"name":"headings-edge","len":374,"fnv":"6df31771"},{"name":"hr-variations","len":212,"fnv":"736fda1c"},{"name":"html-blocks","len":787,"fnv":"40d1e810"},{"name":"lazy-continuation","len":542,"fnv":"d9747085"},{"name":"links-safety","len":969,"fnv":"cf0cc2e9"},{"name":"malformed-repair","len":639,"fnv":"37581a02"},{"name":"mixed-inline","len":512,"fnv":"22aa9893"},{"name":"nested-lists","len":675,"fnv":"4c309315"},{"name":"plain-notes","len":440,"fnv":"10dc3abf"},{"name":"reference-links","len":691,"fnv":"34f3e3d2"},{"name":"rtl-bidi","len":601,"fnv":"1f6c4859"},{"name":"setext-headings","len":470,"fnv":"b8a5443b"},{"name":"synthetic-crlf","len":76,"fnv":"bd6e2160"},{"name":"synthetic-empty","len":0,"fnv":"811c9dc5"},{"name":"synthetic-large","len":120100,"fnv":"cb060f16"},{"name":"synthetic-whitespace","len":9,"fnv":"08067b6c"},{"name":"tables","len":480,"fnv":"df091b1d"},{"name":"typography-invisible","len":905,"fnv":"17e1641d"},{"name":"unclosed-fence","len":293,"fnv":"ba44300e"},{"name":"whatsapp-markers","len":252,"fnv":"53258fdf"},{"name":"word-doc-paste","len":555,"fnv":"d8c55334"}]}
{"id":"catalog/FREE_EXPORT_LIMIT","val":5}
{"id":"catalog/DEFAULT_CLEANUP_OPTIONS","val":{"removeInvisible":true,"normaliseSpacing":true,"simplifyPunctuation":true,"repairMarkdown":true}}
{"id":"catalog/SOURCE_OPTIONS","val":[{"key":"auto","label":"Auto-detect","detail":"Use rich clipboard data, Markdown or plain text automatically","group":"Automatic"},{"key":"chatgpt","label":"ChatGPT","detail":"Read copied response structure and Markdown","group":"AI assistants"},{"key":"claude","label":"Claude","detail":"Read copied response structure and Markdown","group":"AI assistants"},{"key":"gemini","label":"Gemini","detail":"Read copied response structure and protect document layout","group":"AI assistants"},{"key":"ai-studio","label":"Google AI Studio","detail":"Read copied model output and Markdown","group":"AI assistants"},{"key":"granola","label":"Granola","detail":"Repair and format copied meeting-note Markdown","group":"AI assistants"},{"key":"google-docs","label":"Google Docs","detail":"Prefer copied headings, lists, tables and links","group":"Documents"},{"key":"word","label":"Microsoft Word","detail":"Keep semantic document structure and remove Office styling","group":"Documents"},{"key":"notion","label":"Notion","detail":"Keep simple blocks and recover links from rich copy","group":"Documents"},{"key":"imessage","label":"iMessage","detail":"Use copied rich text when present; keep literal plain text intact","group":"Messages"},{"key":"signal","label":"Signal","detail":"Read copied message text without inventing native entities","group":"Messages"},{"key":"telegram","label":"Telegram","detail":"Read normal message copy separately from bot syntax","group":"Messages"},{"key":"google-chat","label":"Google Chat","detail":"Read copied message text and limited Markdown","group":"Messages"},{"key":"teams","label":"Microsoft Teams","detail":"Normalise copied message text and line breaks","group":"Messages"},{"key":"slack","label":"Slack","detail":"Normalise copied message structure without creating mentions","group":"Messages"},{"key":"calendar","label":"Calendar description","detail":"Read copied agenda text or calendar-safe HTML","group":"Documents"},{"key":"markdown","label":"Markdown","detail":"Interpret headings, lists, links and emphasis","group":"Formats"},{"key":"rich","label":"Rich text","detail":"Use copied document structure where available","group":"Formats"},{"key":"plain","label":"Plain text","detail":"Keep visible Markdown markers literal","group":"Formats"},{"key":"discord","label":"Discord","detail":"Read Discord Markdown without creating active mentions","group":"More apps"}]}
{"id":"catalog/WORKFLOW_OPTIONS","val":[{"key":"whatsapp","label":"WhatsApp","detail":"Sendable WhatsApp formatting","group":"Messages"},{"key":"imessage","label":"iMessage","detail":"Rich copy with a clean text fallback","group":"Messages"},{"key":"signal","label":"Signal","detail":"Rich copy without visible markup","group":"Messages"},{"key":"telegram","label":"Telegram","detail":"Rich copy for the normal message composer","group":"Messages"},{"key":"google-chat","label":"Google Chat","detail":"Message text using Google Chat formatting","group":"Messages"},{"key":"slack","label":"Slack","detail":"Rich composer copy with mrkdwn available","group":"Messages"},{"key":"teams","label":"Microsoft Teams","detail":"Rich copy for the Teams composer","group":"Messages"},{"key":"gmail","label":"Gmail","detail":"Clean rich copy without source fonts or colours","group":"Email"},{"key":"outlook","label":"Outlook","detail":"Clean rich copy for an HTML email","group":"Email"},{"key":"shortwave","label":"Shortwave","detail":"Clean rich copy for a Shortwave draft","group":"Email"},{"key":"zendesk","label":"Zendesk ticket","detail":"Plain Markdown that the ticket composer can format","group":"Work"},{"key":"jira","label":"Jira Cloud","detail":"Plain Markdown for Jira rich-text fields","group":"Work"},{"key":"confluence","label":"Confluence Cloud","detail":"Clean rich copy for pages and live docs","group":"Work"},{"key":"notion","label":"Notion","detail":"Rich blocks with portable Markdown available","group":"Documents"},{"key":"calendar","label":"Calendar description","detail":"Plain text that survives calendar apps","group":"Documents"},{"key":"word","label":"Microsoft Word .docx","detail":"Download a structured Word document","group":"Documents"},{"key":"google-docs","label":"Google Docs","detail":"Rich copy with portable Markdown available","group":"Documents"},{"key":"markdown","label":"Markdown .md","detail":"Copy or share portable Markdown","group":"Files and text"},{"key":"plain","label":"Plain text","detail":"Remove presentation formatting","group":"Files and text"},{"key":"discord","label":"Discord","detail":"Discord Markdown with inactive mention text","group":"More apps"}]}
{"id":"map/sourceInputMode/auto","val":"auto"}
{"id":"map/sourceInputMode/markdown","val":"markdown"}
{"id":"map/sourceInputMode/chatgpt","val":"markdown"}
{"id":"map/sourceInputMode/claude","val":"markdown"}
{"id":"map/sourceInputMode/gemini","val":"markdown"}
{"id":"map/sourceInputMode/ai-studio","val":"markdown"}
{"id":"map/sourceInputMode/granola","val":"markdown"}
{"id":"map/sourceInputMode/google-docs","val":"auto"}
{"id":"map/sourceInputMode/word","val":"markdown"}
{"id":"map/sourceInputMode/notion","val":"markdown"}
{"id":"map/sourceInputMode/imessage","val":"auto"}
{"id":"map/sourceInputMode/signal","val":"auto"}
{"id":"map/sourceInputMode/telegram","val":"auto"}
{"id":"map/sourceInputMode/google-chat","val":"auto"}
{"id":"map/sourceInputMode/discord","val":"markdown"}
{"id":"map/sourceInputMode/calendar","val":"auto"}
{"id":"map/sourceInputMode/teams","val":"auto"}
{"id":"map/sourceInputMode/slack","val":"markdown"}
{"id":"map/sourceInputMode/rich","val":"markdown"}
{"id":"map/sourceInputMode/plain","val":"plain"}
{"id":"map/workflowUsesRichClipboard/whatsapp","val":false}
{"id":"map/workflowResultDestination/whatsapp","val":"whatsapp"}
{"id":"map/workflowUsesRichClipboard/google-chat","val":false}
{"id":"map/workflowResultDestination/google-chat","val":"google-chat"}
{"id":"map/workflowUsesRichClipboard/discord","val":false}
{"id":"map/workflowResultDestination/discord","val":"discord"}
{"id":"map/workflowUsesRichClipboard/slack","val":true}
{"id":"map/workflowResultDestination/slack","val":"slack"}
{"id":"map/workflowUsesRichClipboard/teams","val":true}
{"id":"map/workflowResultDestination/teams","val":"teams"}
{"id":"map/workflowUsesRichClipboard/zendesk","val":false}
{"id":"map/workflowResultDestination/zendesk","val":"zendesk"}
{"id":"map/workflowUsesRichClipboard/jira","val":false}
{"id":"map/workflowResultDestination/jira","val":"jira"}
{"id":"map/workflowUsesRichClipboard/plain","val":false}
{"id":"map/workflowResultDestination/plain","val":"plain"}
{"id":"map/workflowUsesRichClipboard/imessage","val":true}
{"id":"map/workflowResultDestination/imessage","val":"plain"}
{"id":"map/workflowUsesRichClipboard/signal","val":true}
{"id":"map/workflowResultDestination/signal","val":"plain"}
{"id":"map/workflowUsesRichClipboard/telegram","val":true}
{"id":"map/workflowResultDestination/telegram","val":"plain"}
{"id":"map/workflowUsesRichClipboard/gmail","val":true}
{"id":"map/workflowResultDestination/gmail","val":"plain"}
{"id":"map/workflowUsesRichClipboard/outlook","val":true}
{"id":"map/workflowResultDestination/outlook","val":"plain"}
{"id":"map/workflowUsesRichClipboard/shortwave","val":true}
{"id":"map/workflowResultDestination/shortwave","val":"plain"}
{"id":"map/workflowUsesRichClipboard/notion","val":true}
{"id":"map/workflowResultDestination/notion","val":"plain"}
{"id":"map/workflowUsesRichClipboard/confluence","val":true}
{"id":"map/workflowResultDestination/confluence","val":"plain"}
{"id":"map/workflowUsesRichClipboard/calendar","val":false}
{"id":"map/workflowResultDestination/calendar","val":"plain"}
{"id":"map/workflowUsesRichClipboard/word","val":true}
{"id":"map/workflowResultDestination/word","val":"plain"}
{"id":"map/workflowUsesRichClipboard/google-docs","val":true}
{"id":"map/workflowResultDestination/google-docs","val":"plain"}
{"id":"map/workflowUsesRichClipboard/markdown","val":false}
{"id":"map/workflowResultDestination/markdown","val":"plain"}
{"id":"map/destinationLabel/whatsapp","val":"WhatsApp"}
{"id":"map/destinationLabel/google-chat","val":"Google Chat"}
{"id":"map/destinationLabel/discord","val":"Discord"}
{"id":"map/destinationLabel/slack","val":"Slack"}
{"id":"map/destinationLabel/teams","val":"Microsoft Teams"}
{"id":"map/destinationLabel/zendesk","val":"Zendesk ticket"}
{"id":"map/destinationLabel/jira","val":"Jira Cloud"}
{"id":"map/destinationLabel/plain","val":"Plain text"}
{"id":"allowance/normalise/null","val":{"exportsUsed":0,"month":"2026-08","maxObservedAt":1787054400000}}
{"id":"allowance/status/fresh","val":{"exportsUsed":0,"month":"2026-08","maxObservedAt":1787054400000,"exportsLeft":5,"exceeded":false}}
{"id":"allowance/record/1","val":{"exportsUsed":1,"month":"2026-08","maxObservedAt":1787054460000,"exportsLeft":4,"exceeded":false}}
{"id":"allowance/record/2","val":{"exportsUsed":2,"month":"2026-08","maxObservedAt":1787054520000,"exportsLeft":3,"exceeded":false}}
{"id":"allowance/record/3","val":{"exportsUsed":3,"month":"2026-08","maxObservedAt":1787054580000,"exportsLeft":2,"exceeded":false}}
{"id":"allowance/record/4","val":{"exportsUsed":4,"month":"2026-08","maxObservedAt":1787054640000,"exportsLeft":1,"exceeded":false}}
{"id":"allowance/record/5","val":{"exportsUsed":5,"month":"2026-08","maxObservedAt":1787054700000,"exportsLeft":0,"exceeded":true}}
{"id":"allowance/record/6","val":{"exportsUsed":6,"month":"2026-08","maxObservedAt":1787054760000,"exportsLeft":0,"exceeded":true}}
{"id":"allowance/rollover/next-month","val":{"exportsUsed":0,"month":"2026-09","maxObservedAt":1788350400000,"exportsLeft":5,"exceeded":false}}
{"id":"allowance/rollback/clock-behind","val":{"exportsUsed":3,"month":"2026-08","maxObservedAt":1787058000000,"exportsLeft":2,"exceeded":false}}
{"id":"allowance/normalise/array","val":{"exportsUsed":0,"month":"2026-08","maxObservedAt":1787054400000}}
{"id":"allowance/normalise/string","val":{"exportsUsed":0,"month":"2026-08","maxObservedAt":1787054400000}}
{"id":"allowance/normalise/number","val":{"exportsUsed":0,"month":"2026-08","maxObservedAt":1787054400000}}
{"id":"allowance/normalise/fractional-uses","val":{"exportsUsed":4,"month":"2026-08","maxObservedAt":1787054400000}}
{"id":"allowance/normalise/negative-uses","val":{"exportsUsed":0,"month":"2026-08","maxObservedAt":1787054400000}}
{"id":"allowance/normalise/infinite-uses","val":{"exportsUsed":0,"month":"2026-08","maxObservedAt":1787054400000}}
{"id":"allowance/normalise/wrong-month","val":{"exportsUsed":0,"month":"2026-08","maxObservedAt":1787054400000}}
{"id":"allowance/normalise/missing-month","val":{"exportsUsed":0,"month":"2026-08","maxObservedAt":1787054400000}}
{"id":"allowance/normalise/negative-observed","val":{"exportsUsed":2,"month":"2026-08","maxObservedAt":1787054400000}}
{"id":"allowance/year-end/record","val":{"exportsUsed":1,"month":"2026-12","maxObservedAt":1797336000000,"exportsLeft":4,"exceeded":false}}
{"id":"allowance/year-end/january-status","val":{"exportsUsed":0,"month":"2027-01","maxObservedAt":1798891200000,"exportsLeft":5,"exceeded":false}}
{"id":"allowance/fractional-now/status","val":{"exportsUsed":0,"month":"2026-08","maxObservedAt":1787054400000.5,"exportsLeft":5,"exceeded":false}}
{"id":"diff/hidden-characters","val":[{"type":"same","value":"A"},{"type":"removed","value":"⟦zero-width space⟧"},{"type":"same","value":" "},{"type":"removed","value":"—"},{"type":"added","value":"-"},{"type":"same","value":" B"}]}
{"id":"diff/identical","val":[{"type":"same","value":"same words here"}]}
{"id":"diff/empty-both","val":[]}
{"id":"diff/empty-to-text","val":[{"type":"added","value":"added text"}]}
{"id":"diff/text-to-empty","val":[{"type":"removed","value":"removed text"}]}
{"id":"diff/rtl","val":[{"type":"same","value":"שלום "},{"type":"removed","value":"עולם"},{"type":"added","value":"חבר"}]}
{"id":"diff/emoji","val":[{"type":"same","value":"👩🏽‍💻 "},{"type":"removed","value":"ships"},{"type":"added","value":"shipped"}]}
{"id":"diff/punctuation-tokens","val":[{"type":"same","value":"a"},{"type":"removed","value":"—"},{"type":"added","value":"-"},{"type":"same","value":"b"},{"type":"removed","value":"…"},{"type":"added","value":"..."},{"type":"same","value":"c"}]}
{"id":"diff/large-fallback","fnv":"1e6de90b","len":6559}
{"id":"whatsapp-preview/nested-marks","val":[{"kind":"text","segments":[{"text":"bold ","marks":["bold"]},{"text":"both","marks":["bold","italic"]},{"text":" still","marks":["bold"]},{"text":" and ","marks":[]},{"text":"em ","marks":["italic"]},{"text":"struck","marks":["italic","strike"]},{"text":" end","marks":["italic"]}]}]}
{"id":"whatsapp-preview/unclosed-marker","val":[{"kind":"text","segments":[{"text":"*not closed at all","marks":[]}]}]}
{"id":"whatsapp-preview/adjacent-markers","val":[{"kind":"text","segments":[{"text":"** and __ and ~~ stay literal","marks":[]}]}]}
{"id":"whatsapp-preview/code-spans","val":[{"kind":"text","segments":[{"text":"use ","marks":[]},{"text":"x","marks":["code"]},{"text":" and ","marks":[]},{"text":"y `tick` z","marks":["code"]},{"text":" here","marks":[]}]}]}
{"id":"whatsapp-preview/quote-lines","val":[{"kind":"quote","segments":[{"text":"quoted ","marks":[]},{"text":"b","marks":["bold"]}]},{"kind":"text","segments":[{"text":"plain follow-up","marks":[]}]}]}
{"id":"whatsapp-preview/fence-block","val":[{"kind":"code","segments":[{"text":"code line *raw*","marks":["code"]}]},{"kind":"code","segments":[]},{"kind":"code","segments":[{"text":"after blank","marks":["code"]}]},{"kind":"text","segments":[{"text":"tail","marks":[]}]}]}
{"id":"whatsapp-preview/unclosed-fence","val":[{"kind":"code","segments":[{"text":"code without close","marks":["code"]}]}]}
{"id":"whatsapp-preview/longer-fence-close","val":[{"kind":"code","segments":[{"text":"```","marks":["code"]}]}]}
{"id":"filename/simple/md","val":"quarterly-report.md"}
{"id":"filename/simple/docx","val":"quarterly-report.docx"}
{"id":"filename/punctuation/md","val":"report-q3-results.md"}
{"id":"filename/punctuation/docx","val":"report-q3-results.docx"}
{"id":"filename/emoji-only/md","val":"pasteful-document.md"}
{"id":"filename/emoji-only/docx","val":"pasteful-document.docx"}
{"id":"filename/long-heading/md","val":"very-very-very-very-very-very-very-very-very-very-very-very-.md"}
{"id":"filename/long-heading/docx","val":"very-very-very-very-very-very-very-very-very-very-very-very-.docx"}
{"id":"filename/later-heading/md","val":"the-actual-title.md"}
{"id":"filename/later-heading/docx","val":"the-actual-title.docx"}
{"id":"filename/fenced-fake-heading/md","val":"fake-heading-inside-code.md"}
{"id":"filename/fenced-fake-heading/docx","val":"fake-heading-inside-code.docx"}
{"id":"filename/no-heading/md","val":"pasteful-document.md"}
{"id":"filename/no-heading/docx","val":"pasteful-document.docx"}
{"id":"filename/empty/md","val":"pasteful-document.md"}
{"id":"filename/empty/docx","val":"pasteful-document.docx"}
{"id":"rich-intake/teams-message-rich","val":{"editorText":"**Decision:** Run the pilot.\n\n- Owner: Maya\n- [Open brief](https://example.com/brief)","interpretation":"canonical","markdown":"**Decision:** Run the pilot.\n\n- Owner: Maya\n- [Open brief](https://example.com/brief)","representation":"html","warnings":[]}}
{"id":"rich-intake/teams-mention-custom-emoji","val":{"editorText":"@Alex, ship :launch:.","interpretation":"canonical","markdown":"@Alex, ship :launch:.","representation":"html","warnings":[{"code":"mention_not_active","message":"Copied mentions stay as text and will not notify anyone.","severity":"warning"},{"code":"custom_emoji_degraded","message":"A custom emoji was kept as its text label.","severity":"loss"}]}}
{"id":"rich-intake/teams-codeblock","val":{"editorText":"```json\n{\n  \"ok\": true\n}\n```","interpretation":"canonical","markdown":"```json\n{\n  \"ok\": true\n}\n```","representation":"html","warnings":[]}}
{"id":"rich-intake/teams-li-p-unwrap","val":{"editorText":"- Owner: Maya\n- Stage: pilot","interpretation":"canonical","markdown":"- Owner: Maya\n- Stage: pilot","representation":"html","warnings":[]}}
{"id":"rich-intake/teams-plain-bullets","val":{"editorText":"Status\n\n- Queue is clear\n- Review at 09:30","interpretation":"canonical","markdown":"Status\n\n- Queue is clear\n- Review at 09:30","representation":"plain","warnings":[{"code":"plain_fallback_used","message":"Pasteful used the plain-text clipboard copy because no useful rich copy was available.","severity":"info"}]}}
{"id":"rich-intake/docs-normal-weight-wrapper","val":{"editorText":"**Decision:** Run the pilot.","interpretation":"canonical","markdown":"**Decision:** Run the pilot.","representation":"html","warnings":[]}}
{"id":"rich-intake/docs-link-recovery","val":{"editorText":"Read the [working brief](https://example.com/brief).","interpretation":"canonical","markdown":"Read the [working brief](https://example.com/brief).","representation":"html","warnings":[]}}
{"id":"rich-intake/docs-nested-list","val":{"editorText":"- Prepare\n  - Invite support\n  - Share the brief\n- Run pilot","interpretation":"canonical","markdown":"- Prepare\n  - Invite support\n  - Share the brief\n- Run pilot","representation":"html","warnings":[]}}
{"id":"rich-intake/docs-simple-table","val":{"editorText":"| Item | Owner |\n| --- | --- |\n| [Pilot](https://example.com/pilot) | Maya |","interpretation":"canonical","markdown":"| Item | Owner |\n| --- | --- |\n| [Pilot](https://example.com/pilot) | Maya |","representation":"html","warnings":[]}}
{"id":"rich-intake/docs-table-spans","val":{"editorText":"| Plan |  | Status |\n| --- | --- | --- |\n| Pilot | Owner | Maya |\n|  | Stage | Ready |","interpretation":"canonical","markdown":"| Plan |  | Status |\n| --- | --- | --- |\n| Pilot | Owner | Maya |\n|  | Stage | Ready |","representation":"html","warnings":[{"code":"table_span_flattened","message":"Merged table cells were flattened into a rectangular table.","severity":"loss"}]}}
{"id":"rich-intake/docs-html-plain-disagree","val":{"editorText":"Decision: Cancel the pilot.","interpretation":"literal","markdown":"Decision: Cancel the pilot.","representation":"plain","warnings":[{"code":"plain_fallback_used","message":"Pasteful used the plain-text clipboard copy because no useful rich copy was available.","severity":"info"},{"code":"html_plain_disagree","message":"The rich and plain clipboard copies disagreed, so Pasteful kept the visible plain text.","severity":"warning"}]}}
{"id":"rich-intake/url-recovery-agreement","val":{"editorText":"Read [the brief](https://example.com/brief).","interpretation":"canonical","markdown":"Read [the brief](https://example.com/brief).","representation":"html","warnings":[]}}
{"id":"rich-intake/unsafe-links-and-images","val":{"editorText":"Relative Credentials Remote diagram","interpretation":"canonical","markdown":"Relative Credentials Remote diagram","representation":"html","warnings":[{"code":"unsafe_link_removed","message":"An unsafe, malformed, or app-only link was kept as text.","severity":"warning"},{"code":"image_not_embedded","message":"An image could not be embedded, so its label was kept as text.","severity":"loss"}]}}
{"id":"rich-intake/data-uri-image","val":{"editorText":"Diagram Pilot chart","interpretation":"canonical","markdown":"Diagram Pilot chart","representation":"html","warnings":[{"code":"image_not_embedded","message":"An image could not be embedded, so its label was kept as text.","severity":"loss"}]}}
{"id":"rich-intake/inline-style-emphasis","val":{"editorText":"**heavy** _slanted_ ~~struck~~","interpretation":"canonical","markdown":"**heavy** _slanted_ ~~struck~~","representation":"html","warnings":[]}}
{"id":"rich-intake/semantic-emphasis-overrides","val":{"editorText":"plain upright kept","interpretation":"literal","markdown":"plain upright kept","representation":"plain","warnings":[{"code":"plain_fallback_used","message":"Pasteful used the plain-text clipboard copy because no useful rich copy was available.","severity":"info"}]}}
{"id":"rich-intake/ordered-numbering","val":{"editorText":"3. third\n9. ninth\n\n2. two\n1. one","interpretation":"canonical","markdown":"3. third\n9. ninth\n\n2. two\n1. one","representation":"html","warnings":[]}}
{"id":"rich-intake/heading-recovery","val":{"editorText":"## Tagged\n\n### Aria\n\n# Office\n\n### Outlined","interpretation":"canonical","markdown":"## Tagged\n\n### Aria\n\n# Office\n\n### Outlined","representation":"html","warnings":[]}}
{"id":"rich-intake/mso-list-paragraph","val":{"editorText":"- Actioned item","interpretation":"canonical","markdown":"- Actioned item","representation":"html","warnings":[{"code":"html_plain_disagree","message":"The rich clipboard copy contained additional visible content.","severity":"warning"}]}}
{"id":"rich-intake/blockquote-rule-pre","val":{"editorText":"> Quoted words\n\n---\n\n```\nx = 1\n```","interpretation":"canonical","markdown":"> Quoted words\n\n---\n\n```\nx = 1\n```","representation":"html","warnings":[]}}
{"id":"rich-intake/entities-in-text-and-href","val":{"editorText":"Fish & chips \\<today\\>\n\n[Params × two](https://example.com/a?x=1&times=2)","interpretation":"canonical","markdown":"Fish & chips \\<today\\>\n\n[Params × two](https://example.com/a?x=1&times=2)","representation":"html","warnings":[]}}
{"id":"rich-intake/active-content-dropped","val":{"editorText":"Visible words","interpretation":"canonical","markdown":"Visible words","representation":"html","warnings":[{"code":"unsupported_docs_structure","message":"A Google Docs element could not be represented in portable Markdown.","severity":"loss"}]}}
{"id":"rich-intake/malformed-mixed","val":{"editorText":"**Unclosed bold and paragraph - one\n- two\n\n text then [link](https://example.com/unquoted)**","interpretation":"canonical","markdown":"**Unclosed bold and paragraph - one\n- two\n\n text then [link](https://example.com/unquoted)**","representation":"html","warnings":[]}}
{"id":"rich-intake/whitespace-only-html","val":{"editorText":"Plain words","interpretation":"literal","markdown":"Plain words","representation":"plain","warnings":[{"code":"plain_fallback_used","message":"Pasteful used the plain-text clipboard copy because no useful rich copy was available.","severity":"info"}]}}
{"id":"rich-intake/empty-payload","val":{"editorText":"","interpretation":"literal","markdown":"","representation":"plain","warnings":[]}}
{"id":"rich-intake/plain-blank-lines","val":{"editorText":"\n\nFirst paragraph\n\n\n\nSecond paragraph\n\n\n","interpretation":"literal","markdown":"\n\nFirst paragraph\n\n\n\nSecond paragraph\n\n\n","representation":"plain","warnings":[{"code":"plain_fallback_used","message":"Pasteful used the plain-text clipboard copy because no useful rich copy was available.","severity":"info"}]}}
{"id":"rich-intake/plain-explicit-markdown","val":{"editorText":"# Launch plan\n\n- Invite support\n- Run pilot","interpretation":"canonical","markdown":"# Launch plan\n\n- Invite support\n- Run pilot","representation":"plain","warnings":[{"code":"plain_fallback_used","message":"Pasteful used the plain-text clipboard copy because no useful rich copy was available.","severity":"info"}]}}
{"id":"rich-intake/deep-nesting-too-complex","val":{"editorText":"Deep copied note","interpretation":"literal","markdown":"Deep copied note","representation":"plain","warnings":[{"code":"plain_fallback_used","message":"Pasteful used the plain-text clipboard copy because no useful rich copy was available.","severity":"info"},{"code":"rich_copy_too_complex","message":"The rich clipboard copy was too large or complex to process safely, so Pasteful kept the visible plain text.","severity":"warning"}]}}
{"id":"rich-intake/hostile-table-span","fnv":"f4e2dfa0","len":2657}
{"id":"doc/blockquotes/detect","val":"Markdown"}
{"id":"doc/blockquotes/words","val":49}
{"id":"doc/blockquotes/filename/md","val":"blockquotes.md"}
{"id":"doc/blockquotes/filename/docx","val":"blockquotes.docx"}
{"id":"doc/blockquotes/clean/default","text":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> > Nested level two\n> > > Nested level three\n\n> Quote containing a list:\n> - first quoted item\n> - second quoted item\n>\n> And a fence:\n>\n> ```\n> quoted code\n> ```\n\n> ## Quoted heading\n>\n> Quoted paragraph with **bold** and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and *emphasis*.","changes":[]}
{"id":"doc/blockquotes/convert/whatsapp","cleaned":{"text":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> > Nested level two\n> > > Nested level three\n\n> Quote containing a list:\n> - first quoted item\n> - second quoted item\n>\n> And a fence:\n>\n> ```\n> quoted code\n> ```\n\n> ## Quoted heading\n>\n> Quoted paragraph with **bold** and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and *emphasis*."},"output":{"text":"*Blockquotes*\n\n> Simple quote line.\n\n> Outer level\n> \n> > Nested level two\n> > \n> > > Nested level three\n\n> Quote containing a list:\n> \n> - first quoted item\n> - second quoted item\n> \n> And a fence:\n> \n> ```\n> quoted code\n> ```\n\n> *Quoted heading*\n> \n> Quoted paragraph with *bold* and a link: https://example.com/quoted.\n\nParagraph between quotes.\n\n> Final quote with `code span` and _emphasis_."},"html":{"text":"<h1>Blockquotes</h1><blockquote><p>Simple quote line.</p></blockquote><blockquote><p>Outer level</p><blockquote><p>Nested level two</p><blockquote><p>Nested level three</p></blockquote></blockquote></blockquote><blockquote><p>Quote containing a list:</p><ul><li>first quoted item</li><li>second quoted item</li></ul><p>And a fence:</p><pre><code>quoted code</code></pre></blockquote><blockquote><h2>Quoted heading</h2><p>Quoted paragraph with <strong>bold</strong> and <a href=\"https://example.com/quoted\">a link</a>.</p></blockquote><p>Paragraph between quotes.</p><blockquote><p>Final quote with <code>code span</code> and <em>emphasis</em>.</p></blockquote>"},"changes":[]}
{"id":"doc/blockquotes/convert/google-chat","cleaned":{"text":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> > Nested level two\n> > > Nested level three\n\n> Quote containing a list:\n> - first quoted item\n> - second quoted item\n>\n> And a fence:\n>\n> ```\n> quoted code\n> ```\n\n> ## Quoted heading\n>\n> Quoted paragraph with **bold** and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and *emphasis*."},"output":{"text":"*Blockquotes*\n\n> Simple quote line.\n\n> Outer level\n> \n> > Nested level two\n> > \n> > > Nested level three\n\n> Quote containing a list:\n> \n> - first quoted item\n> - second quoted item\n> \n> And a fence:\n> \n> ```\n> quoted code\n> ```\n\n> *Quoted heading*\n> \n> Quoted paragraph with *bold* and a link: https://example.com/quoted.\n\nParagraph between quotes.\n\n> Final quote with `code span` and _emphasis_."},"html":{"text":"<h1>Blockquotes</h1><blockquote><p>Simple quote line.</p></blockquote><blockquote><p>Outer level</p><blockquote><p>Nested level two</p><blockquote><p>Nested level three</p></blockquote></blockquote></blockquote><blockquote><p>Quote containing a list:</p><ul><li>first quoted item</li><li>second quoted item</li></ul><p>And a fence:</p><pre><code>quoted code</code></pre></blockquote><blockquote><h2>Quoted heading</h2><p>Quoted paragraph with <strong>bold</strong> and <a href=\"https://example.com/quoted\">a link</a>.</p></blockquote><p>Paragraph between quotes.</p><blockquote><p>Final quote with <code>code span</code> and <em>emphasis</em>.</p></blockquote>"},"changes":[]}
{"id":"doc/blockquotes/convert/discord","cleaned":{"text":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> > Nested level two\n> > > Nested level three\n\n> Quote containing a list:\n> - first quoted item\n> - second quoted item\n>\n> And a fence:\n>\n> ```\n> quoted code\n> ```\n\n> ## Quoted heading\n>\n> Quoted paragraph with **bold** and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and *emphasis*."},"output":{"text":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> \n> > Nested level two\n> > \n> > > Nested level three\n\n> Quote containing a list:\n> \n> - first quoted item\n> - second quoted item\n> \n> And a fence:\n> \n> ```\n> quoted code\n> ```\n\n> ## Quoted heading\n> \n> Quoted paragraph with **bold** and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and *emphasis*."},"html":{"text":"<h1>Blockquotes</h1><blockquote><p>Simple quote line.</p></blockquote><blockquote><p>Outer level</p><blockquote><p>Nested level two</p><blockquote><p>Nested level three</p></blockquote></blockquote></blockquote><blockquote><p>Quote containing a list:</p><ul><li>first quoted item</li><li>second quoted item</li></ul><p>And a fence:</p><pre><code>quoted code</code></pre></blockquote><blockquote><h2>Quoted heading</h2><p>Quoted paragraph with <strong>bold</strong> and <a href=\"https://example.com/quoted\">a link</a>.</p></blockquote><p>Paragraph between quotes.</p><blockquote><p>Final quote with <code>code span</code> and <em>emphasis</em>.</p></blockquote>"},"changes":[]}
{"id":"doc/blockquotes/convert/slack","cleaned":{"text":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> > Nested level two\n> > > Nested level three\n\n> Quote containing a list:\n> - first quoted item\n> - second quoted item\n>\n> And a fence:\n>\n> ```\n> quoted code\n> ```\n\n> ## Quoted heading\n>\n> Quoted paragraph with **bold** and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and *emphasis*."},"output":{"text":"*Blockquotes*\n\n> Simple quote line.\n\n> Outer level\n> \n> > Nested level two\n> > \n> > > Nested level three\n\n> Quote containing a list:\n> \n> • first quoted item\n> • second quoted item\n> \n> And a fence:\n> \n> ```\n> quoted code\n> ```\n\n> *Quoted heading*\n> \n> Quoted paragraph with *bold* and <https://example.com/quoted|a link>.\n\nParagraph between quotes.\n\n> Final quote with `code span` and _emphasis_."},"html":{"text":"<h1>Blockquotes</h1><blockquote><p>Simple quote line.</p></blockquote><blockquote><p>Outer level</p><blockquote><p>Nested level two</p><blockquote><p>Nested level three</p></blockquote></blockquote></blockquote><blockquote><p>Quote containing a list:</p><ul><li>first quoted item</li><li>second quoted item</li></ul><p>And a fence:</p><pre><code>quoted code</code></pre></blockquote><blockquote><h2>Quoted heading</h2><p>Quoted paragraph with <strong>bold</strong> and <a href=\"https://example.com/quoted\">a link</a>.</p></blockquote><p>Paragraph between quotes.</p><blockquote><p>Final quote with <code>code span</code> and <em>emphasis</em>.</p></blockquote>"},"changes":[]}
{"id":"doc/blockquotes/convert/teams","cleaned":{"text":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> > Nested level two\n> > > Nested level three\n\n> Quote containing a list:\n> - first quoted item\n> - second quoted item\n>\n> And a fence:\n>\n> ```\n> quoted code\n> ```\n\n> ## Quoted heading\n>\n> Quoted paragraph with **bold** and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and *emphasis*."},"output":{"text":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> \n> > Nested level two\n> > \n> > > Nested level three\n\n> Quote containing a list:\n> \n> - first quoted item\n> - second quoted item\n> \n> And a fence:\n> \n> ```\n> quoted code\n> ```\n\n> ## Quoted heading\n> \n> Quoted paragraph with *bold* and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and _emphasis_."},"html":{"text":"<h1>Blockquotes</h1><blockquote><p>Simple quote line.</p></blockquote><blockquote><p>Outer level</p><blockquote><p>Nested level two</p><blockquote><p>Nested level three</p></blockquote></blockquote></blockquote><blockquote><p>Quote containing a list:</p><ul><li>first quoted item</li><li>second quoted item</li></ul><p>And a fence:</p><pre><code>quoted code</code></pre></blockquote><blockquote><h2>Quoted heading</h2><p>Quoted paragraph with <strong>bold</strong> and <a href=\"https://example.com/quoted\">a link</a>.</p></blockquote><p>Paragraph between quotes.</p><blockquote><p>Final quote with <code>code span</code> and <em>emphasis</em>.</p></blockquote>"},"changes":[]}
{"id":"doc/blockquotes/convert/zendesk","cleaned":{"text":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> > Nested level two\n> > > Nested level three\n\n> Quote containing a list:\n> - first quoted item\n> - second quoted item\n>\n> And a fence:\n>\n> ```\n> quoted code\n> ```\n\n> ## Quoted heading\n>\n> Quoted paragraph with **bold** and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and *emphasis*."},"output":{"text":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> \n> > Nested level two\n> > \n> > > Nested level three\n\n> Quote containing a list:\n> \n> - first quoted item\n> - second quoted item\n> \n> And a fence:\n> \n> > quoted code\n\n> ## Quoted heading\n> \n> Quoted paragraph with **bold** and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and *emphasis*."},"html":{"text":"<h1>Blockquotes</h1><blockquote><p>Simple quote line.</p></blockquote><blockquote><p>Outer level</p><blockquote><p>Nested level two</p><blockquote><p>Nested level three</p></blockquote></blockquote></blockquote><blockquote><p>Quote containing a list:</p><ul><li>first quoted item</li><li>second quoted item</li></ul><p>And a fence:</p><pre><code>quoted code</code></pre></blockquote><blockquote><h2>Quoted heading</h2><p>Quoted paragraph with <strong>bold</strong> and <a href=\"https://example.com/quoted\">a link</a>.</p></blockquote><p>Paragraph between quotes.</p><blockquote><p>Final quote with <code>code span</code> and <em>emphasis</em>.</p></blockquote>"},"changes":[]}
{"id":"doc/blockquotes/convert/jira","cleaned":{"text":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> > Nested level two\n> > > Nested level three\n\n> Quote containing a list:\n> - first quoted item\n> - second quoted item\n>\n> And a fence:\n>\n> ```\n> quoted code\n> ```\n\n> ## Quoted heading\n>\n> Quoted paragraph with **bold** and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and *emphasis*."},"output":{"text":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> \n> > Nested level two\n> > \n> > > Nested level three\n\n> Quote containing a list:\n> \n> - first quoted item\n> - second quoted item\n> \n> And a fence:\n> \n> ```\n> quoted code\n> ```\n\n> ## Quoted heading\n> \n> Quoted paragraph with **bold** and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and *emphasis*."},"html":{"text":"<h1>Blockquotes</h1><blockquote><p>Simple quote line.</p></blockquote><blockquote><p>Outer level</p><blockquote><p>Nested level two</p><blockquote><p>Nested level three</p></blockquote></blockquote></blockquote><blockquote><p>Quote containing a list:</p><ul><li>first quoted item</li><li>second quoted item</li></ul><p>And a fence:</p><pre><code>quoted code</code></pre></blockquote><blockquote><h2>Quoted heading</h2><p>Quoted paragraph with <strong>bold</strong> and <a href=\"https://example.com/quoted\">a link</a>.</p></blockquote><p>Paragraph between quotes.</p><blockquote><p>Final quote with <code>code span</code> and <em>emphasis</em>.</p></blockquote>"},"changes":[]}
{"id":"doc/blockquotes/convert/plain","cleaned":{"text":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> > Nested level two\n> > > Nested level three\n\n> Quote containing a list:\n> - first quoted item\n> - second quoted item\n>\n> And a fence:\n>\n> ```\n> quoted code\n> ```\n\n> ## Quoted heading\n>\n> Quoted paragraph with **bold** and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and *emphasis*."},"output":{"text":"Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> \n> > Nested level two\n> > \n> > > Nested level three\n\n> Quote containing a list:\n> \n> - first quoted item\n> - second quoted item\n> \n> And a fence:\n> \n> quoted code\n\n> Quoted heading\n> \n> Quoted paragraph with bold and a link (https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with code span and emphasis."},"html":{"text":"<h1>Blockquotes</h1><blockquote><p>Simple quote line.</p></blockquote><blockquote><p>Outer level</p><blockquote><p>Nested level two</p><blockquote><p>Nested level three</p></blockquote></blockquote></blockquote><blockquote><p>Quote containing a list:</p><ul><li>first quoted item</li><li>second quoted item</li></ul><p>And a fence:</p><pre><code>quoted code</code></pre></blockquote><blockquote><h2>Quoted heading</h2><p>Quoted paragraph with <strong>bold</strong> and <a href=\"https://example.com/quoted\">a link</a>.</p></blockquote><p>Paragraph between quotes.</p><blockquote><p>Final quote with <code>code span</code> and <em>emphasis</em>.</p></blockquote>"},"changes":[]}
{"id":"doc/blockquotes/whatsapp-preview","fnv":"6c4428ab","len":1724}
{"id":"doc/blockquotes/diff-cleanup","val":[{"type":"same","value":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> > Nested level two\n> > > Nested level three\n\n> Quote containing a list:\n> - first quoted item\n> - second quoted item\n>\n> And a fence:\n>\n> ```\n> quoted code\n> ```\n\n> ## Quoted heading\n>\n> Quoted paragraph with **bold** and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and *emphasis*."},{"type":"removed","value":"\n"}]}
{"id":"doc/blockquotes/workflow/auto/whatsapp","detected":"Markdown","cleaned":{"text":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> > Nested level two\n> > > Nested level three\n\n> Quote containing a list:\n> - first quoted item\n> - second quoted item\n>\n> And a fence:\n>\n> ```\n> quoted code\n> ```\n\n> ## Quoted heading\n>\n> Quoted paragraph with **bold** and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and *emphasis*."},"output":{"text":"*Blockquotes*\n\n> Simple quote line.\n\n> Outer level\n> \n> > Nested level two\n> > \n> > > Nested level three\n\n> Quote containing a list:\n> \n> - first quoted item\n> - second quoted item\n> \n> And a fence:\n> \n> ```\n> quoted code\n> ```\n\n> *Quoted heading*\n> \n> Quoted paragraph with *bold* and a link: https://example.com/quoted.\n\nParagraph between quotes.\n\n> Final quote with `code span` and _emphasis_."},"html":{"text":"<h1>Blockquotes</h1><blockquote><p>Simple quote line.</p></blockquote><blockquote><p>Outer level</p><blockquote><p>Nested level two</p><blockquote><p>Nested level three</p></blockquote></blockquote></blockquote><blockquote><p>Quote containing a list:</p><ul><li>first quoted item</li><li>second quoted item</li></ul><p>And a fence:</p><pre><code>quoted code</code></pre></blockquote><blockquote><h2>Quoted heading</h2><p>Quoted paragraph with <strong>bold</strong> and <a href=\"https://example.com/quoted\">a link</a>.</p></blockquote><p>Paragraph between quotes.</p><blockquote><p>Final quote with <code>code span</code> and <em>emphasis</em>.</p></blockquote>"},"changes":[]}
{"id":"doc/blockquotes/workflow/auto/google-chat","detected":"Markdown","cleaned":{"text":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> > Nested level two\n> > > Nested level three\n\n> Quote containing a list:\n> - first quoted item\n> - second quoted item\n>\n> And a fence:\n>\n> ```\n> quoted code\n> ```\n\n> ## Quoted heading\n>\n> Quoted paragraph with **bold** and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and *emphasis*."},"output":{"text":"*Blockquotes*\n\n> Simple quote line.\n\n> Outer level\n> \n> > Nested level two\n> > \n> > > Nested level three\n\n> Quote containing a list:\n> \n> - first quoted item\n> - second quoted item\n> \n> And a fence:\n> \n> ```\n> quoted code\n> ```\n\n> *Quoted heading*\n> \n> Quoted paragraph with *bold* and a link: https://example.com/quoted.\n\nParagraph between quotes.\n\n> Final quote with `code span` and _emphasis_."},"html":{"text":"<h1>Blockquotes</h1><blockquote><p>Simple quote line.</p></blockquote><blockquote><p>Outer level</p><blockquote><p>Nested level two</p><blockquote><p>Nested level three</p></blockquote></blockquote></blockquote><blockquote><p>Quote containing a list:</p><ul><li>first quoted item</li><li>second quoted item</li></ul><p>And a fence:</p><pre><code>quoted code</code></pre></blockquote><blockquote><h2>Quoted heading</h2><p>Quoted paragraph with <strong>bold</strong> and <a href=\"https://example.com/quoted\">a link</a>.</p></blockquote><p>Paragraph between quotes.</p><blockquote><p>Final quote with <code>code span</code> and <em>emphasis</em>.</p></blockquote>"},"changes":[]}
{"id":"doc/blockquotes/workflow/auto/discord","detected":"Markdown","cleaned":{"text":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> > Nested level two\n> > > Nested level three\n\n> Quote containing a list:\n> - first quoted item\n> - second quoted item\n>\n> And a fence:\n>\n> ```\n> quoted code\n> ```\n\n> ## Quoted heading\n>\n> Quoted paragraph with **bold** and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and *emphasis*."},"output":{"text":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> \n> > Nested level two\n> > \n> > > Nested level three\n\n> Quote containing a list:\n> \n> - first quoted item\n> - second quoted item\n> \n> And a fence:\n> \n> ```\n> quoted code\n> ```\n\n> ## Quoted heading\n> \n> Quoted paragraph with **bold** and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and *emphasis*."},"html":{"text":"<h1>Blockquotes</h1><blockquote><p>Simple quote line.</p></blockquote><blockquote><p>Outer level</p><blockquote><p>Nested level two</p><blockquote><p>Nested level three</p></blockquote></blockquote></blockquote><blockquote><p>Quote containing a list:</p><ul><li>first quoted item</li><li>second quoted item</li></ul><p>And a fence:</p><pre><code>quoted code</code></pre></blockquote><blockquote><h2>Quoted heading</h2><p>Quoted paragraph with <strong>bold</strong> and <a href=\"https://example.com/quoted\">a link</a>.</p></blockquote><p>Paragraph between quotes.</p><blockquote><p>Final quote with <code>code span</code> and <em>emphasis</em>.</p></blockquote>"},"changes":[]}
{"id":"doc/blockquotes/workflow/auto/slack","detected":"Markdown","cleaned":{"text":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> > Nested level two\n> > > Nested level three\n\n> Quote containing a list:\n> - first quoted item\n> - second quoted item\n>\n> And a fence:\n>\n> ```\n> quoted code\n> ```\n\n> ## Quoted heading\n>\n> Quoted paragraph with **bold** and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and *emphasis*."},"output":{"text":"*Blockquotes*\n\n> Simple quote line.\n\n> Outer level\n> \n> > Nested level two\n> > \n> > > Nested level three\n\n> Quote containing a list:\n> \n> • first quoted item\n> • second quoted item\n> \n> And a fence:\n> \n> ```\n> quoted code\n> ```\n\n> *Quoted heading*\n> \n> Quoted paragraph with *bold* and <https://example.com/quoted|a link>.\n\nParagraph between quotes.\n\n> Final quote with `code span` and _emphasis_."},"html":{"text":"<h1>Blockquotes</h1><blockquote><p>Simple quote line.</p></blockquote><blockquote><p>Outer level</p><blockquote><p>Nested level two</p><blockquote><p>Nested level three</p></blockquote></blockquote></blockquote><blockquote><p>Quote containing a list:</p><ul><li>first quoted item</li><li>second quoted item</li></ul><p>And a fence:</p><pre><code>quoted code</code></pre></blockquote><blockquote><h2>Quoted heading</h2><p>Quoted paragraph with <strong>bold</strong> and <a href=\"https://example.com/quoted\">a link</a>.</p></blockquote><p>Paragraph between quotes.</p><blockquote><p>Final quote with <code>code span</code> and <em>emphasis</em>.</p></blockquote>"},"changes":[]}
{"id":"doc/blockquotes/workflow/auto/teams","detected":"Markdown","cleaned":{"text":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> > Nested level two\n> > > Nested level three\n\n> Quote containing a list:\n> - first quoted item\n> - second quoted item\n>\n> And a fence:\n>\n> ```\n> quoted code\n> ```\n\n> ## Quoted heading\n>\n> Quoted paragraph with **bold** and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and *emphasis*."},"output":{"text":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> \n> > Nested level two\n> > \n> > > Nested level three\n\n> Quote containing a list:\n> \n> - first quoted item\n> - second quoted item\n> \n> And a fence:\n> \n> ```\n> quoted code\n> ```\n\n> ## Quoted heading\n> \n> Quoted paragraph with *bold* and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and _emphasis_."},"html":{"text":"<h1>Blockquotes</h1><blockquote><p>Simple quote line.</p></blockquote><blockquote><p>Outer level</p><blockquote><p>Nested level two</p><blockquote><p>Nested level three</p></blockquote></blockquote></blockquote><blockquote><p>Quote containing a list:</p><ul><li>first quoted item</li><li>second quoted item</li></ul><p>And a fence:</p><pre><code>quoted code</code></pre></blockquote><blockquote><h2>Quoted heading</h2><p>Quoted paragraph with <strong>bold</strong> and <a href=\"https://example.com/quoted\">a link</a>.</p></blockquote><p>Paragraph between quotes.</p><blockquote><p>Final quote with <code>code span</code> and <em>emphasis</em>.</p></blockquote>"},"changes":[]}
{"id":"doc/blockquotes/workflow/auto/zendesk","detected":"Markdown","cleaned":{"text":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> > Nested level two\n> > > Nested level three\n\n> Quote containing a list:\n> - first quoted item\n> - second quoted item\n>\n> And a fence:\n>\n> ```\n> quoted code\n> ```\n\n> ## Quoted heading\n>\n> Quoted paragraph with **bold** and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and *emphasis*."},"output":{"text":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> \n> > Nested level two\n> > \n> > > Nested level three\n\n> Quote containing a list:\n> \n> - first quoted item\n> - second quoted item\n> \n> And a fence:\n> \n> > quoted code\n\n> ## Quoted heading\n> \n> Quoted paragraph with **bold** and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and *emphasis*."},"html":{"text":"<h1>Blockquotes</h1><blockquote><p>Simple quote line.</p></blockquote><blockquote><p>Outer level</p><blockquote><p>Nested level two</p><blockquote><p>Nested level three</p></blockquote></blockquote></blockquote><blockquote><p>Quote containing a list:</p><ul><li>first quoted item</li><li>second quoted item</li></ul><p>And a fence:</p><blockquote><p>quoted code</p></blockquote></blockquote><blockquote><h2>Quoted heading</h2><p>Quoted paragraph with <strong>bold</strong> and <a href=\"https://example.com/quoted\">a link</a>.</p></blockquote><p>Paragraph between quotes.</p><blockquote><p>Final quote with <code>code span</code> and <em>emphasis</em>.</p></blockquote>"},"changes":[]}
{"id":"doc/blockquotes/workflow/auto/jira","detected":"Markdown","cleaned":{"text":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> > Nested level two\n> > > Nested level three\n\n> Quote containing a list:\n> - first quoted item\n> - second quoted item\n>\n> And a fence:\n>\n> ```\n> quoted code\n> ```\n\n> ## Quoted heading\n>\n> Quoted paragraph with **bold** and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and *emphasis*."},"output":{"text":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> \n> > Nested level two\n> > \n> > > Nested level three\n\n> Quote containing a list:\n> \n> - first quoted item\n> - second quoted item\n> \n> And a fence:\n> \n> ```\n> quoted code\n> ```\n\n> ## Quoted heading\n> \n> Quoted paragraph with **bold** and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and *emphasis*."},"html":{"text":"<h1>Blockquotes</h1><blockquote><p>Simple quote line.</p></blockquote><blockquote><p>Outer level</p><blockquote><p>Nested level two</p><blockquote><p>Nested level three</p></blockquote></blockquote></blockquote><blockquote><p>Quote containing a list:</p><ul><li>first quoted item</li><li>second quoted item</li></ul><p>And a fence:</p><pre><code>quoted code</code></pre></blockquote><blockquote><h2>Quoted heading</h2><p>Quoted paragraph with <strong>bold</strong> and <a href=\"https://example.com/quoted\">a link</a>.</p></blockquote><p>Paragraph between quotes.</p><blockquote><p>Final quote with <code>code span</code> and <em>emphasis</em>.</p></blockquote>"},"changes":[]}
{"id":"doc/blockquotes/workflow/auto/plain","detected":"Markdown","cleaned":{"text":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> > Nested level two\n> > > Nested level three\n\n> Quote containing a list:\n> - first quoted item\n> - second quoted item\n>\n> And a fence:\n>\n> ```\n> quoted code\n> ```\n\n> ## Quoted heading\n>\n> Quoted paragraph with **bold** and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and *emphasis*."},"output":{"text":"Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> \n> > Nested level two\n> > \n> > > Nested level three\n\n> Quote containing a list:\n> \n> - first quoted item\n> - second quoted item\n> \n> And a fence:\n> \n> quoted code\n\n> Quoted heading\n> \n> Quoted paragraph with bold and a link (https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with code span and emphasis."},"html":{"text":"<h1>Blockquotes</h1><blockquote><p>Simple quote line.</p></blockquote><blockquote><p>Outer level</p><blockquote><p>Nested level two</p><blockquote><p>Nested level three</p></blockquote></blockquote></blockquote><blockquote><p>Quote containing a list:</p><ul><li>first quoted item</li><li>second quoted item</li></ul><p>And a fence:</p><pre><code>quoted code</code></pre></blockquote><blockquote><h2>Quoted heading</h2><p>Quoted paragraph with <strong>bold</strong> and <a href=\"https://example.com/quoted\">a link</a>.</p></blockquote><p>Paragraph between quotes.</p><blockquote><p>Final quote with <code>code span</code> and <em>emphasis</em>.</p></blockquote>"},"changes":[]}
{"id":"doc/blockquotes/workflow/auto/imessage","detected":"Markdown","cleaned":{"text":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> > Nested level two\n> > > Nested level three\n\n> Quote containing a list:\n> - first quoted item\n> - second quoted item\n>\n> And a fence:\n>\n> ```\n> quoted code\n> ```\n\n> ## Quoted heading\n>\n> Quoted paragraph with **bold** and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and *emphasis*."},"output":{"text":"Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> \n> > Nested level two\n> > \n> > > Nested level three\n\n> Quote containing a list:\n> \n> - first quoted item\n> - second quoted item\n> \n> And a fence:\n> \n> quoted code\n\n> Quoted heading\n> \n> Quoted paragraph with bold and a link (https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with code span and emphasis."},"html":{"text":"<h1>Blockquotes</h1><blockquote><p>Simple quote line.</p></blockquote><blockquote><p>Outer level</p><blockquote><p>Nested level two</p><blockquote><p>Nested level three</p></blockquote></blockquote></blockquote><blockquote><p>Quote containing a list:</p><ul><li>first quoted item</li><li>second quoted item</li></ul><p>And a fence:</p><pre><code>quoted code</code></pre></blockquote><blockquote><h2>Quoted heading</h2><p>Quoted paragraph with <strong>bold</strong> and <a href=\"https://example.com/quoted\">a link</a>.</p></blockquote><p>Paragraph between quotes.</p><blockquote><p>Final quote with <code>code span</code> and <em>emphasis</em>.</p></blockquote>"},"changes":[]}
{"id":"doc/blockquotes/workflow/auto/signal","detected":"Markdown","cleaned":{"text":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> > Nested level two\n> > > Nested level three\n\n> Quote containing a list:\n> - first quoted item\n> - second quoted item\n>\n> And a fence:\n>\n> ```\n> quoted code\n> ```\n\n> ## Quoted heading\n>\n> Quoted paragraph with **bold** and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and *emphasis*."},"output":{"text":"Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> \n> > Nested level two\n> > \n> > > Nested level three\n\n> Quote containing a list:\n> \n> - first quoted item\n> - second quoted item\n> \n> And a fence:\n> \n> quoted code\n\n> Quoted heading\n> \n> Quoted paragraph with bold and a link (https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with code span and emphasis."},"html":{"text":"<h1>Blockquotes</h1><blockquote><p>Simple quote line.</p></blockquote><blockquote><p>Outer level</p><blockquote><p>Nested level two</p><blockquote><p>Nested level three</p></blockquote></blockquote></blockquote><blockquote><p>Quote containing a list:</p><ul><li>first quoted item</li><li>second quoted item</li></ul><p>And a fence:</p><pre><code>quoted code</code></pre></blockquote><blockquote><h2>Quoted heading</h2><p>Quoted paragraph with <strong>bold</strong> and <a href=\"https://example.com/quoted\">a link</a>.</p></blockquote><p>Paragraph between quotes.</p><blockquote><p>Final quote with <code>code span</code> and <em>emphasis</em>.</p></blockquote>"},"changes":[]}
{"id":"doc/blockquotes/workflow/auto/telegram","detected":"Markdown","cleaned":{"text":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> > Nested level two\n> > > Nested level three\n\n> Quote containing a list:\n> - first quoted item\n> - second quoted item\n>\n> And a fence:\n>\n> ```\n> quoted code\n> ```\n\n> ## Quoted heading\n>\n> Quoted paragraph with **bold** and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and *emphasis*."},"output":{"text":"Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> \n> > Nested level two\n> > \n> > > Nested level three\n\n> Quote containing a list:\n> \n> - first quoted item\n> - second quoted item\n> \n> And a fence:\n> \n> quoted code\n\n> Quoted heading\n> \n> Quoted paragraph with bold and a link (https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with code span and emphasis."},"html":{"text":"<h1>Blockquotes</h1><blockquote><p>Simple quote line.</p></blockquote><blockquote><p>Outer level</p><blockquote><p>Nested level two</p><blockquote><p>Nested level three</p></blockquote></blockquote></blockquote><blockquote><p>Quote containing a list:</p><ul><li>first quoted item</li><li>second quoted item</li></ul><p>And a fence:</p><pre><code>quoted code</code></pre></blockquote><blockquote><h2>Quoted heading</h2><p>Quoted paragraph with <strong>bold</strong> and <a href=\"https://example.com/quoted\">a link</a>.</p></blockquote><p>Paragraph between quotes.</p><blockquote><p>Final quote with <code>code span</code> and <em>emphasis</em>.</p></blockquote>"},"changes":[]}
{"id":"doc/blockquotes/workflow/auto/gmail","detected":"Markdown","cleaned":{"text":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> > Nested level two\n> > > Nested level three\n\n> Quote containing a list:\n> - first quoted item\n> - second quoted item\n>\n> And a fence:\n>\n> ```\n> quoted code\n> ```\n\n> ## Quoted heading\n>\n> Quoted paragraph with **bold** and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and *emphasis*."},"output":{"text":"Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> \n> > Nested level two\n> > \n> > > Nested level three\n\n> Quote containing a list:\n> \n> - first quoted item\n> - second quoted item\n> \n> And a fence:\n> \n> quoted code\n\n> Quoted heading\n> \n> Quoted paragraph with bold and a link (https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with code span and emphasis."},"html":{"text":"<h1>Blockquotes</h1><blockquote><p>Simple quote line.</p></blockquote><blockquote><p>Outer level</p><blockquote><p>Nested level two</p><blockquote><p>Nested level three</p></blockquote></blockquote></blockquote><blockquote><p>Quote containing a list:</p><ul><li>first quoted item</li><li>second quoted item</li></ul><p>And a fence:</p><pre><code>quoted code</code></pre></blockquote><blockquote><h2>Quoted heading</h2><p>Quoted paragraph with <strong>bold</strong> and <a href=\"https://example.com/quoted\">a link</a>.</p></blockquote><p>Paragraph between quotes.</p><blockquote><p>Final quote with <code>code span</code> and <em>emphasis</em>.</p></blockquote>"},"changes":[]}
{"id":"doc/blockquotes/workflow/auto/outlook","detected":"Markdown","cleaned":{"text":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> > Nested level two\n> > > Nested level three\n\n> Quote containing a list:\n> - first quoted item\n> - second quoted item\n>\n> And a fence:\n>\n> ```\n> quoted code\n> ```\n\n> ## Quoted heading\n>\n> Quoted paragraph with **bold** and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and *emphasis*."},"output":{"text":"Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> \n> > Nested level two\n> > \n> > > Nested level three\n\n> Quote containing a list:\n> \n> - first quoted item\n> - second quoted item\n> \n> And a fence:\n> \n> quoted code\n\n> Quoted heading\n> \n> Quoted paragraph with bold and a link (https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with code span and emphasis."},"html":{"text":"<h1>Blockquotes</h1><blockquote><p>Simple quote line.</p></blockquote><blockquote><p>Outer level</p><blockquote><p>Nested level two</p><blockquote><p>Nested level three</p></blockquote></blockquote></blockquote><blockquote><p>Quote containing a list:</p><ul><li>first quoted item</li><li>second quoted item</li></ul><p>And a fence:</p><pre><code>quoted code</code></pre></blockquote><blockquote><h2>Quoted heading</h2><p>Quoted paragraph with <strong>bold</strong> and <a href=\"https://example.com/quoted\">a link</a>.</p></blockquote><p>Paragraph between quotes.</p><blockquote><p>Final quote with <code>code span</code> and <em>emphasis</em>.</p></blockquote>"},"changes":[]}
{"id":"doc/blockquotes/workflow/auto/shortwave","detected":"Markdown","cleaned":{"text":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> > Nested level two\n> > > Nested level three\n\n> Quote containing a list:\n> - first quoted item\n> - second quoted item\n>\n> And a fence:\n>\n> ```\n> quoted code\n> ```\n\n> ## Quoted heading\n>\n> Quoted paragraph with **bold** and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and *emphasis*."},"output":{"text":"Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> \n> > Nested level two\n> > \n> > > Nested level three\n\n> Quote containing a list:\n> \n> - first quoted item\n> - second quoted item\n> \n> And a fence:\n> \n> quoted code\n\n> Quoted heading\n> \n> Quoted paragraph with bold and a link (https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with code span and emphasis."},"html":{"text":"<h1>Blockquotes</h1><blockquote><p>Simple quote line.</p></blockquote><blockquote><p>Outer level</p><blockquote><p>Nested level two</p><blockquote><p>Nested level three</p></blockquote></blockquote></blockquote><blockquote><p>Quote containing a list:</p><ul><li>first quoted item</li><li>second quoted item</li></ul><p>And a fence:</p><pre><code>quoted code</code></pre></blockquote><blockquote><h2>Quoted heading</h2><p>Quoted paragraph with <strong>bold</strong> and <a href=\"https://example.com/quoted\">a link</a>.</p></blockquote><p>Paragraph between quotes.</p><blockquote><p>Final quote with <code>code span</code> and <em>emphasis</em>.</p></blockquote>"},"changes":[]}
{"id":"doc/blockquotes/workflow/auto/notion","detected":"Markdown","cleaned":{"text":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> > Nested level two\n> > > Nested level three\n\n> Quote containing a list:\n> - first quoted item\n> - second quoted item\n>\n> And a fence:\n>\n> ```\n> quoted code\n> ```\n\n> ## Quoted heading\n>\n> Quoted paragraph with **bold** and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and *emphasis*."},"output":{"text":"Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> \n> > Nested level two\n> > \n> > > Nested level three\n\n> Quote containing a list:\n> \n> - first quoted item\n> - second quoted item\n> \n> And a fence:\n> \n> quoted code\n\n> Quoted heading\n> \n> Quoted paragraph with bold and a link (https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with code span and emphasis."},"html":{"text":"<h1>Blockquotes</h1><blockquote><p>Simple quote line.</p></blockquote><blockquote><p>Outer level</p><blockquote><p>Nested level two</p><blockquote><p>Nested level three</p></blockquote></blockquote></blockquote><blockquote><p>Quote containing a list:</p><ul><li>first quoted item</li><li>second quoted item</li></ul><p>And a fence:</p><pre><code>quoted code</code></pre></blockquote><blockquote><h2>Quoted heading</h2><p>Quoted paragraph with <strong>bold</strong> and <a href=\"https://example.com/quoted\">a link</a>.</p></blockquote><p>Paragraph between quotes.</p><blockquote><p>Final quote with <code>code span</code> and <em>emphasis</em>.</p></blockquote>"},"changes":[]}
{"id":"doc/blockquotes/workflow/auto/confluence","detected":"Markdown","cleaned":{"text":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> > Nested level two\n> > > Nested level three\n\n> Quote containing a list:\n> - first quoted item\n> - second quoted item\n>\n> And a fence:\n>\n> ```\n> quoted code\n> ```\n\n> ## Quoted heading\n>\n> Quoted paragraph with **bold** and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and *emphasis*."},"output":{"text":"Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> \n> > Nested level two\n> > \n> > > Nested level three\n\n> Quote containing a list:\n> \n> - first quoted item\n> - second quoted item\n> \n> And a fence:\n> \n> quoted code\n\n> Quoted heading\n> \n> Quoted paragraph with bold and a link (https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with code span and emphasis."},"html":{"text":"<h1>Blockquotes</h1><blockquote><p>Simple quote line.</p></blockquote><blockquote><p>Outer level</p><blockquote><p>Nested level two</p><blockquote><p>Nested level three</p></blockquote></blockquote></blockquote><blockquote><p>Quote containing a list:</p><ul><li>first quoted item</li><li>second quoted item</li></ul><p>And a fence:</p><pre><code>quoted code</code></pre></blockquote><blockquote><h2>Quoted heading</h2><p>Quoted paragraph with <strong>bold</strong> and <a href=\"https://example.com/quoted\">a link</a>.</p></blockquote><p>Paragraph between quotes.</p><blockquote><p>Final quote with <code>code span</code> and <em>emphasis</em>.</p></blockquote>"},"changes":[]}
{"id":"doc/blockquotes/workflow/auto/calendar","detected":"Markdown","cleaned":{"text":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> > Nested level two\n> > > Nested level three\n\n> Quote containing a list:\n> - first quoted item\n> - second quoted item\n>\n> And a fence:\n>\n> ```\n> quoted code\n> ```\n\n> ## Quoted heading\n>\n> Quoted paragraph with **bold** and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and *emphasis*."},"output":{"text":"Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> \n> > Nested level two\n> > \n> > > Nested level three\n\n> Quote containing a list:\n> \n> - first quoted item\n> - second quoted item\n> \n> And a fence:\n> \n> quoted code\n\n> Quoted heading\n> \n> Quoted paragraph with bold and a link (https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with code span and emphasis."},"html":{"text":"<h1>Blockquotes</h1><blockquote><p>Simple quote line.</p></blockquote><blockquote><p>Outer level</p><blockquote><p>Nested level two</p><blockquote><p>Nested level three</p></blockquote></blockquote></blockquote><blockquote><p>Quote containing a list:</p><ul><li>first quoted item</li><li>second quoted item</li></ul><p>And a fence:</p><pre><code>quoted code</code></pre></blockquote><blockquote><h2>Quoted heading</h2><p>Quoted paragraph with <strong>bold</strong> and <a href=\"https://example.com/quoted\">a link</a>.</p></blockquote><p>Paragraph between quotes.</p><blockquote><p>Final quote with <code>code span</code> and <em>emphasis</em>.</p></blockquote>"},"changes":[]}
{"id":"doc/blockquotes/workflow/auto/word","detected":"Markdown","cleaned":{"text":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> > Nested level two\n> > > Nested level three\n\n> Quote containing a list:\n> - first quoted item\n> - second quoted item\n>\n> And a fence:\n>\n> ```\n> quoted code\n> ```\n\n> ## Quoted heading\n>\n> Quoted paragraph with **bold** and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and *emphasis*."},"output":{"text":"Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> \n> > Nested level two\n> > \n> > > Nested level three\n\n> Quote containing a list:\n> \n> - first quoted item\n> - second quoted item\n> \n> And a fence:\n> \n> quoted code\n\n> Quoted heading\n> \n> Quoted paragraph with bold and a link (https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with code span and emphasis."},"html":{"text":"<h1>Blockquotes</h1><blockquote><p>Simple quote line.</p></blockquote><blockquote><p>Outer level</p><blockquote><p>Nested level two</p><blockquote><p>Nested level three</p></blockquote></blockquote></blockquote><blockquote><p>Quote containing a list:</p><ul><li>first quoted item</li><li>second quoted item</li></ul><p>And a fence:</p><pre><code>quoted code</code></pre></blockquote><blockquote><h2>Quoted heading</h2><p>Quoted paragraph with <strong>bold</strong> and <a href=\"https://example.com/quoted\">a link</a>.</p></blockquote><p>Paragraph between quotes.</p><blockquote><p>Final quote with <code>code span</code> and <em>emphasis</em>.</p></blockquote>"},"changes":[]}
{"id":"doc/blockquotes/workflow/auto/google-docs","detected":"Markdown","cleaned":{"text":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> > Nested level two\n> > > Nested level three\n\n> Quote containing a list:\n> - first quoted item\n> - second quoted item\n>\n> And a fence:\n>\n> ```\n> quoted code\n> ```\n\n> ## Quoted heading\n>\n> Quoted paragraph with **bold** and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and *emphasis*."},"output":{"text":"Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> \n> > Nested level two\n> > \n> > > Nested level three\n\n> Quote containing a list:\n> \n> - first quoted item\n> - second quoted item\n> \n> And a fence:\n> \n> quoted code\n\n> Quoted heading\n> \n> Quoted paragraph with bold and a link (https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with code span and emphasis."},"html":{"text":"<h1>Blockquotes</h1><blockquote><p>Simple quote line.</p></blockquote><blockquote><p>Outer level</p><blockquote><p>Nested level two</p><blockquote><p>Nested level three</p></blockquote></blockquote></blockquote><blockquote><p>Quote containing a list:</p><ul><li>first quoted item</li><li>second quoted item</li></ul><p>And a fence:</p><pre><code>quoted code</code></pre></blockquote><blockquote><h2>Quoted heading</h2><p>Quoted paragraph with <strong>bold</strong> and <a href=\"https://example.com/quoted\">a link</a>.</p></blockquote><p>Paragraph between quotes.</p><blockquote><p>Final quote with <code>code span</code> and <em>emphasis</em>.</p></blockquote>"},"changes":[]}
{"id":"doc/blockquotes/workflow/auto/markdown","detected":"Markdown","cleaned":{"text":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> > Nested level two\n> > > Nested level three\n\n> Quote containing a list:\n> - first quoted item\n> - second quoted item\n>\n> And a fence:\n>\n> ```\n> quoted code\n> ```\n\n> ## Quoted heading\n>\n> Quoted paragraph with **bold** and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and *emphasis*."},"output":{"text":"# Blockquotes\n\n> Simple quote line.\n\n> Outer level\n> > Nested level two\n> > > Nested level three\n\n> Quote containing a list:\n> - first quoted item\n> - second quoted item\n>\n> And a fence:\n>\n> ```\n> quoted code\n> ```\n\n> ## Quoted heading\n>\n> Quoted paragraph with **bold** and [a link](https://example.com/quoted).\n\nParagraph between quotes.\n\n> Final quote with `code span` and *emphasis*."},"html":{"text":"<h1>Blockquotes</h1><blockquote><p>Simple quote line.</p></blockquote><blockquote><p>Outer level</p><blockquote><p>Nested level two</p><blockquote><p>Nested level three</p></blockquote></blockquote></blockquote><blockquote><p>Quote containing a list:</p><ul><li>first quoted item</li><li>second quoted item</li></ul><p>And a fence:</p><pre><code>quoted code</code></pre></blockquote><blockquote><h2>Quoted heading</h2><p>Quoted paragraph with <strong>bold</strong> and <a href=\"https://example.com/quoted\">a link</a>.</p></blockquote><p>Paragraph between quotes.</p><blockquote><p>Final quote with <code>code span</code> and <em>emphasis</em>.</p></blockquote>"},"changes":[]}
{"id":"doc/blockquotes/workflow/markdown/whatsapp","detected":"Markdown","fnv":"5cd31e3c","len":1545}
{"id":"doc/blockquotes/workflow/markdown/google-chat","detected":"Markdown","fnv":"5cd31e3c","len":1545}
{"id":"doc/blockquotes/workflow/markdown/discord","detected":"Markdown","fnv":"f918b168","len":1550}
{"id":"doc/blockquotes/workflow/markdown/slack","detected":"Markdown","fnv":"08d5031c","len":1546}
{"id":"doc/blockquotes/workflow/markdown/teams","detected":"Markdown","fnv":"308655a0","len":1548}
{"id":"doc/blockquotes/workflow/markdown/zendesk","detected":"Markdown","fnv":"923d8a4c","len":1546}
{"id":"doc/blockquotes/workflow/markdown/jira","detected":"Markdown","fnv":"f918b168","len":1550}
{"id":"doc/blockquotes/workflow/markdown/plain","detected":"Markdown","fnv":"5aa79fbf","len":1522}
{"id":"doc/blockquotes/workflow/markdown/imessage","detected":"Markdown","fnv":"5aa79fbf","len":1522}
{"id":"doc/blockquotes/workflow/markdown/signal","detected":"Markdown","fnv":"5aa79fbf","len":1522}
{"id":"doc/blockquotes/workflow/markdown/telegram","detected":"Markdown","fnv":"5aa79fbf","len":1522}
{"id":"doc/blockquotes/workflow/markdown/gmail","detected":"Markdown","fnv":"5aa79fbf","len":1522}
{"id":"doc/blockquotes/workflow/markdown/outlook","detected":"Markdown","fnv":"5aa79fbf","len":1522}
{"id":"doc/blockquotes/workflow/markdown/shortwave","detected":"Markdown","fnv":"5aa79fbf","len":1522}
{"id":"doc/blockquotes/workflow/markdown/notion","detected":"Markdown","fnv":"5aa79fbf","len":1522}
{"id":"doc/blockquotes/workflow/markdown/confluence","detected":"Markdown","fnv":"5aa79fbf","len":1522}
{"id":"doc/blockquotes/workflow/markdown/calendar","detected":"Markdown","fnv":"5aa79fbf","len":1522}
{"id":"doc/blockquotes/workflow/markdown/word","detected":"Markdown","fnv":"5aa79fbf","len":1522}
{"id":"doc/blockquotes/workflow/markdown/google-docs","detected":"Markdown","fnv":"5aa79fbf","len":1522}
{"id":"doc/blockquotes/workflow/markdown/markdown","detected":"Markdown","fnv":"59065aba","len":1533}
{"id":"doc/blockquotes/workflow/plain/whatsapp","detected":"Markdown","fnv":"3d2b6158","len":1391}
{"id":"doc/blockquotes/workflow/plain/google-chat","detected":"Markdown","fnv":"3d2b6158","len":1391}
{"id":"doc/blockquotes/workflow/plain/discord","detected":"Markdown","fnv":"3d2b6158","len":1391}
{"id":"doc/blockquotes/workflow/plain/slack","detected":"Markdown","fnv":"3d2b6158","len":1391}
{"id":"doc/blockquotes/workflow/plain/teams","detected":"Markdown","fnv":"3d2b6158","len":1391}
{"id":"doc/blockquotes/workflow/plain/zendesk","detected":"Markdown","fnv":"3d2b6158","len":1391}
{"id":"doc/blockquotes/workflow/plain/jira","detected":"Markdown","fnv":"3d2b6158","len":1391}
{"id":"doc/blockquotes/workflow/plain/plain","detected":"Markdown","fnv":"3d2b6158","len":1391}
{"id":"doc/blockquotes/workflow/plain/imessage","detected":"Markdown","fnv":"3d2b6158","len":1391}
{"id":"doc/blockquotes/workflow/plain/signal","detected":"Markdown","fnv":"3d2b6158","len":1391}
{"id":"doc/blockquotes/workflow/plain/telegram","detected":"Markdown","fnv":"3d2b6158","len":1391}
{"id":"doc/blockquotes/workflow/plain/gmail","detected":"Markdown","fnv":"3d2b6158","len":1391}
{"id":"doc/blockquotes/workflow/plain/outlook","detected":"Markdown","fnv":"3d2b6158","len":1391}
{"id":"doc/blockquotes/workflow/plain/shortwave","detected":"Markdown","fnv":"3d2b6158","len":1391}
{"id":"doc/blockquotes/workflow/plain/notion","detected":"Markdown","fnv":"3d2b6158","len":1391}
{"id":"doc/blockquotes/workflow/plain/confluence","detected":"Markdown","fnv":"3d2b6158","len":1391}
{"id":"doc/blockquotes/workflow/plain/calendar","detected":"Markdown","fnv":"3d2b6158","len":1391}
{"id":"doc/blockquotes/workflow/plain/word","detected":"Markdown","fnv":"3d2b6158","len":1391}
{"id":"doc/blockquotes/workflow/plain/google-docs","detected":"Markdown","fnv":"3d2b6158","len":1391}
{"id":"doc/blockquotes/workflow/plain/markdown","detected":"Markdown","fnv":"3d2b6158","len":1391}
{"id":"doc/code-spans/detect","val":"Markdown"}
{"id":"doc/code-spans/words","val":71}
{"id":"doc/code-spans/filename/md","val":"code-spans.md"}
{"id":"doc/code-spans/filename/docx","val":"code-spans.docx"}
{"id":"doc/code-spans/clean/default","text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash ` - ` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple.","changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/code-spans/clean/no-invisible","text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash ` - ` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple.","changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/code-spans/clean/no-spacing","text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash ` - ` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple.","changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/code-spans/clean/no-punctuation","text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash `—` and smart quotes `“inside”` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple.","changes":[]}
{"id":"doc/code-spans/clean/no-markdown","text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash ` - ` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple.","changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/code-spans/clean/none","text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash `—` and smart quotes `“inside”` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple.","changes":[]}
{"id":"doc/code-spans/clean/only-invisible","text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash `—` and smart quotes `“inside”` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple.","changes":[]}
{"id":"doc/code-spans/clean/only-spacing","text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash `—` and smart quotes `“inside”` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple.","changes":[]}
{"id":"doc/code-spans/clean/only-punctuation","text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash ` - ` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple.","changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/code-spans/clean/only-markdown","text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash `—` and smart quotes `“inside”` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple.","changes":[]}
{"id":"doc/code-spans/convert-raw/plain","output":{"text":"Code spans\n\nSimple span and double span with ` backtick and triple a ``b`` c.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: **not bold** _not italic_ ~not strike~.\n\nSpan containing an em dash — and smart quotes “inside” stays raw.\n\nA span at line start:\nconst x = 1; continues the paragraph.\n\nAdjacent spans one``two and spaced padded content survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"html":{"text":"<h1>Code spans</h1><p>Simple <code>span</code> and double <code>span with ` backtick</code> and triple <code>a ``b`` c</code>.</p><p>Unclosed backtick ` stays literal to the end of the paragraph.</p><p>Span containing markers: <code>**not bold** _not italic_ ~not strike~</code>.</p><p>Span containing an em dash <code>—</code> and smart quotes <code>“inside”</code> stays raw.</p><p>A span at line start:\n<code>const x = 1;</code> continues the paragraph.</p><p>Adjacent spans <code>one``two</code> and spaced <code>padded content</code> survive.</p><p>Backtick run that never closes: ``` mid-paragraph triple.</p>"},"changes":[]}
{"id":"doc/code-spans/convert-raw/whatsapp","output":{"text":"*Code spans*\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash `—` and smart quotes `“inside”` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans ```one``two``` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"html":{"text":"<h1>Code spans</h1><p>Simple <code>span</code> and double <code>span with ` backtick</code> and triple <code>a ``b`` c</code>.</p><p>Unclosed backtick ` stays literal to the end of the paragraph.</p><p>Span containing markers: <code>**not bold** _not italic_ ~not strike~</code>.</p><p>Span containing an em dash <code>—</code> and smart quotes <code>“inside”</code> stays raw.</p><p>A span at line start:\n<code>const x = 1;</code> continues the paragraph.</p><p>Adjacent spans <code>one``two</code> and spaced <code>padded content</code> survive.</p><p>Backtick run that never closes: ``` mid-paragraph triple.</p>"},"changes":[]}
{"id":"doc/code-spans/convert/whatsapp","cleaned":{"text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash ` - ` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"output":{"text":"*Code spans*\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash `-` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans ```one``two``` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"html":{"text":"<h1>Code spans</h1><p>Simple <code>span</code> and double <code>span with ` backtick</code> and triple <code>a ``b`` c</code>.</p><p>Unclosed backtick ` stays literal to the end of the paragraph.</p><p>Span containing markers: <code>**not bold** _not italic_ ~not strike~</code>.</p><p>Span containing an em dash <code>-</code> and smart quotes <code>&quot;inside&quot;</code> stays raw.</p><p>A span at line start:\n<code>const x = 1;</code> continues the paragraph.</p><p>Adjacent spans <code>one``two</code> and spaced <code>padded content</code> survive.</p><p>Backtick run that never closes: ``` mid-paragraph triple.</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/code-spans/convert/google-chat","cleaned":{"text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash ` - ` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"output":{"text":"*Code spans*\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash `-` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans ```one``two``` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"html":{"text":"<h1>Code spans</h1><p>Simple <code>span</code> and double <code>span with ` backtick</code> and triple <code>a ``b`` c</code>.</p><p>Unclosed backtick ` stays literal to the end of the paragraph.</p><p>Span containing markers: <code>**not bold** _not italic_ ~not strike~</code>.</p><p>Span containing an em dash <code>-</code> and smart quotes <code>&quot;inside&quot;</code> stays raw.</p><p>A span at line start:\n<code>const x = 1;</code> continues the paragraph.</p><p>Adjacent spans <code>one``two</code> and spaced <code>padded content</code> survive.</p><p>Backtick run that never closes: ``` mid-paragraph triple.</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/code-spans/convert/discord","cleaned":{"text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash ` - ` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"output":{"text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash `-` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans ```one``two``` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"html":{"text":"<h1>Code spans</h1><p>Simple <code>span</code> and double <code>span with ` backtick</code> and triple <code>a ``b`` c</code>.</p><p>Unclosed backtick ` stays literal to the end of the paragraph.</p><p>Span containing markers: <code>**not bold** _not italic_ ~not strike~</code>.</p><p>Span containing an em dash <code>-</code> and smart quotes <code>&quot;inside&quot;</code> stays raw.</p><p>A span at line start:\n<code>const x = 1;</code> continues the paragraph.</p><p>Adjacent spans <code>one``two</code> and spaced <code>padded content</code> survive.</p><p>Backtick run that never closes: ``` mid-paragraph triple.</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/code-spans/convert/slack","cleaned":{"text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash ` - ` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"output":{"text":"*Code spans*\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash `-` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans ```one``two``` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"html":{"text":"<h1>Code spans</h1><p>Simple <code>span</code> and double <code>span with ` backtick</code> and triple <code>a ``b`` c</code>.</p><p>Unclosed backtick ` stays literal to the end of the paragraph.</p><p>Span containing markers: <code>**not bold** _not italic_ ~not strike~</code>.</p><p>Span containing an em dash <code>-</code> and smart quotes <code>&quot;inside&quot;</code> stays raw.</p><p>A span at line start:\n<code>const x = 1;</code> continues the paragraph.</p><p>Adjacent spans <code>one``two</code> and spaced <code>padded content</code> survive.</p><p>Backtick run that never closes: ``` mid-paragraph triple.</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/code-spans/convert/teams","cleaned":{"text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash ` - ` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"output":{"text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash `-` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans ```one``two``` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"html":{"text":"<h1>Code spans</h1><p>Simple <code>span</code> and double <code>span with ` backtick</code> and triple <code>a ``b`` c</code>.</p><p>Unclosed backtick ` stays literal to the end of the paragraph.</p><p>Span containing markers: <code>**not bold** _not italic_ ~not strike~</code>.</p><p>Span containing an em dash <code>-</code> and smart quotes <code>&quot;inside&quot;</code> stays raw.</p><p>A span at line start:\n<code>const x = 1;</code> continues the paragraph.</p><p>Adjacent spans <code>one``two</code> and spaced <code>padded content</code> survive.</p><p>Backtick run that never closes: ``` mid-paragraph triple.</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/code-spans/convert/zendesk","cleaned":{"text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash ` - ` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"output":{"text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash `-` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans ```one``two``` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"html":{"text":"<h1>Code spans</h1><p>Simple <code>span</code> and double <code>span with ` backtick</code> and triple <code>a ``b`` c</code>.</p><p>Unclosed backtick ` stays literal to the end of the paragraph.</p><p>Span containing markers: <code>**not bold** _not italic_ ~not strike~</code>.</p><p>Span containing an em dash <code>-</code> and smart quotes <code>&quot;inside&quot;</code> stays raw.</p><p>A span at line start:\n<code>const x = 1;</code> continues the paragraph.</p><p>Adjacent spans <code>one``two</code> and spaced <code>padded content</code> survive.</p><p>Backtick run that never closes: ``` mid-paragraph triple.</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/code-spans/convert/jira","cleaned":{"text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash ` - ` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"output":{"text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash `-` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans ```one``two``` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"html":{"text":"<h1>Code spans</h1><p>Simple <code>span</code> and double <code>span with ` backtick</code> and triple <code>a ``b`` c</code>.</p><p>Unclosed backtick ` stays literal to the end of the paragraph.</p><p>Span containing markers: <code>**not bold** _not italic_ ~not strike~</code>.</p><p>Span containing an em dash <code>-</code> and smart quotes <code>&quot;inside&quot;</code> stays raw.</p><p>A span at line start:\n<code>const x = 1;</code> continues the paragraph.</p><p>Adjacent spans <code>one``two</code> and spaced <code>padded content</code> survive.</p><p>Backtick run that never closes: ``` mid-paragraph triple.</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/code-spans/convert/plain","cleaned":{"text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash ` - ` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"output":{"text":"Code spans\n\nSimple span and double span with ` backtick and triple a ``b`` c.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: **not bold** _not italic_ ~not strike~.\n\nSpan containing an em dash - and smart quotes \"inside\" stays raw.\n\nA span at line start:\nconst x = 1; continues the paragraph.\n\nAdjacent spans one``two and spaced padded content survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"html":{"text":"<h1>Code spans</h1><p>Simple <code>span</code> and double <code>span with ` backtick</code> and triple <code>a ``b`` c</code>.</p><p>Unclosed backtick ` stays literal to the end of the paragraph.</p><p>Span containing markers: <code>**not bold** _not italic_ ~not strike~</code>.</p><p>Span containing an em dash <code>-</code> and smart quotes <code>&quot;inside&quot;</code> stays raw.</p><p>A span at line start:\n<code>const x = 1;</code> continues the paragraph.</p><p>Adjacent spans <code>one``two</code> and spaced <code>padded content</code> survive.</p><p>Backtick run that never closes: ``` mid-paragraph triple.</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/code-spans/whatsapp-preview","fnv":"39ef329b","len":1571}
{"id":"doc/code-spans/diff-cleanup","val":[{"type":"same","value":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash `"},{"type":"removed","value":"—"},{"type":"added","value":" - "},{"type":"same","value":"` and smart quotes `"},{"type":"removed","value":"“"},{"type":"added","value":"\""},{"type":"same","value":"inside"},{"type":"removed","value":"”"},{"type":"added","value":"\""},{"type":"same","value":"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},{"type":"removed","value":"\n"}]}
{"id":"doc/code-spans/workflow/auto/whatsapp","detected":"Markdown","cleaned":{"text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash ` - ` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"output":{"text":"*Code spans*\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash `-` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans ```one``two``` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"html":{"text":"<h1>Code spans</h1><p>Simple <code>span</code> and double <code>span with ` backtick</code> and triple <code>a ``b`` c</code>.</p><p>Unclosed backtick ` stays literal to the end of the paragraph.</p><p>Span containing markers: <code>**not bold** _not italic_ ~not strike~</code>.</p><p>Span containing an em dash <code>-</code> and smart quotes <code>&quot;inside&quot;</code> stays raw.</p><p>A span at line start:\n<code>const x = 1;</code> continues the paragraph.</p><p>Adjacent spans <code>one``two</code> and spaced <code>padded content</code> survive.</p><p>Backtick run that never closes: ``` mid-paragraph triple.</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/code-spans/workflow/auto/google-chat","detected":"Markdown","cleaned":{"text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash ` - ` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"output":{"text":"*Code spans*\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash `-` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans ```one``two``` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"html":{"text":"<h1>Code spans</h1><p>Simple <code>span</code> and double <code>span with ` backtick</code> and triple <code>a ``b`` c</code>.</p><p>Unclosed backtick ` stays literal to the end of the paragraph.</p><p>Span containing markers: <code>**not bold** _not italic_ ~not strike~</code>.</p><p>Span containing an em dash <code>-</code> and smart quotes <code>&quot;inside&quot;</code> stays raw.</p><p>A span at line start:\n<code>const x = 1;</code> continues the paragraph.</p><p>Adjacent spans <code>one``two</code> and spaced <code>padded content</code> survive.</p><p>Backtick run that never closes: ``` mid-paragraph triple.</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/code-spans/workflow/auto/discord","detected":"Markdown","cleaned":{"text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash ` - ` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"output":{"text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash `-` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans ```one``two``` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"html":{"text":"<h1>Code spans</h1><p>Simple <code>span</code> and double <code>span with ` backtick</code> and triple <code>a ``b`` c</code>.</p><p>Unclosed backtick ` stays literal to the end of the paragraph.</p><p>Span containing markers: <code>**not bold** _not italic_ ~not strike~</code>.</p><p>Span containing an em dash <code>-</code> and smart quotes <code>&quot;inside&quot;</code> stays raw.</p><p>A span at line start:\n<code>const x = 1;</code> continues the paragraph.</p><p>Adjacent spans <code>one``two</code> and spaced <code>padded content</code> survive.</p><p>Backtick run that never closes: ``` mid-paragraph triple.</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/code-spans/workflow/auto/slack","detected":"Markdown","cleaned":{"text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash ` - ` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"output":{"text":"*Code spans*\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash `-` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans ```one``two``` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"html":{"text":"<h1>Code spans</h1><p>Simple <code>span</code> and double <code>span with ` backtick</code> and triple <code>a ``b`` c</code>.</p><p>Unclosed backtick ` stays literal to the end of the paragraph.</p><p>Span containing markers: <code>**not bold** _not italic_ ~not strike~</code>.</p><p>Span containing an em dash <code>-</code> and smart quotes <code>&quot;inside&quot;</code> stays raw.</p><p>A span at line start:\n<code>const x = 1;</code> continues the paragraph.</p><p>Adjacent spans <code>one``two</code> and spaced <code>padded content</code> survive.</p><p>Backtick run that never closes: ``` mid-paragraph triple.</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/code-spans/workflow/auto/teams","detected":"Markdown","cleaned":{"text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash ` - ` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"output":{"text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash `-` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans ```one``two``` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"html":{"text":"<h1>Code spans</h1><p>Simple <code>span</code> and double <code>span with ` backtick</code> and triple <code>a ``b`` c</code>.</p><p>Unclosed backtick ` stays literal to the end of the paragraph.</p><p>Span containing markers: <code>**not bold** _not italic_ ~not strike~</code>.</p><p>Span containing an em dash <code>-</code> and smart quotes <code>&quot;inside&quot;</code> stays raw.</p><p>A span at line start:\n<code>const x = 1;</code> continues the paragraph.</p><p>Adjacent spans <code>one``two</code> and spaced <code>padded content</code> survive.</p><p>Backtick run that never closes: ``` mid-paragraph triple.</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/code-spans/workflow/auto/zendesk","detected":"Markdown","cleaned":{"text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash ` - ` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"output":{"text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash `-` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans ```one``two``` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"html":{"text":"<h1>Code spans</h1><p>Simple <code>span</code> and double <code>span with ` backtick</code> and triple <code>a ``b`` c</code>.</p><p>Unclosed backtick ` stays literal to the end of the paragraph.</p><p>Span containing markers: <code>**not bold** _not italic_ ~not strike~</code>.</p><p>Span containing an em dash <code>-</code> and smart quotes <code>&quot;inside&quot;</code> stays raw.</p><p>A span at line start:\n<code>const x = 1;</code> continues the paragraph.</p><p>Adjacent spans <code>one``two</code> and spaced <code>padded content</code> survive.</p><p>Backtick run that never closes: ``` mid-paragraph triple.</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/code-spans/workflow/auto/jira","detected":"Markdown","cleaned":{"text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash ` - ` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"output":{"text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash `-` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans ```one``two``` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"html":{"text":"<h1>Code spans</h1><p>Simple <code>span</code> and double <code>span with ` backtick</code> and triple <code>a ``b`` c</code>.</p><p>Unclosed backtick ` stays literal to the end of the paragraph.</p><p>Span containing markers: <code>**not bold** _not italic_ ~not strike~</code>.</p><p>Span containing an em dash <code>-</code> and smart quotes <code>&quot;inside&quot;</code> stays raw.</p><p>A span at line start:\n<code>const x = 1;</code> continues the paragraph.</p><p>Adjacent spans <code>one``two</code> and spaced <code>padded content</code> survive.</p><p>Backtick run that never closes: ``` mid-paragraph triple.</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/code-spans/workflow/auto/plain","detected":"Markdown","cleaned":{"text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash ` - ` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"output":{"text":"Code spans\n\nSimple span and double span with ` backtick and triple a ``b`` c.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: **not bold** _not italic_ ~not strike~.\n\nSpan containing an em dash - and smart quotes \"inside\" stays raw.\n\nA span at line start:\nconst x = 1; continues the paragraph.\n\nAdjacent spans one``two and spaced padded content survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"html":{"text":"<h1>Code spans</h1><p>Simple <code>span</code> and double <code>span with ` backtick</code> and triple <code>a ``b`` c</code>.</p><p>Unclosed backtick ` stays literal to the end of the paragraph.</p><p>Span containing markers: <code>**not bold** _not italic_ ~not strike~</code>.</p><p>Span containing an em dash <code>-</code> and smart quotes <code>&quot;inside&quot;</code> stays raw.</p><p>A span at line start:\n<code>const x = 1;</code> continues the paragraph.</p><p>Adjacent spans <code>one``two</code> and spaced <code>padded content</code> survive.</p><p>Backtick run that never closes: ``` mid-paragraph triple.</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/code-spans/workflow/auto/imessage","detected":"Markdown","cleaned":{"text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash ` - ` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"output":{"text":"Code spans\n\nSimple span and double span with ` backtick and triple a ``b`` c.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: **not bold** _not italic_ ~not strike~.\n\nSpan containing an em dash - and smart quotes \"inside\" stays raw.\n\nA span at line start:\nconst x = 1; continues the paragraph.\n\nAdjacent spans one``two and spaced padded content survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"html":{"text":"<h1>Code spans</h1><p>Simple <code>span</code> and double <code>span with ` backtick</code> and triple <code>a ``b`` c</code>.</p><p>Unclosed backtick ` stays literal to the end of the paragraph.</p><p>Span containing markers: <code>**not bold** _not italic_ ~not strike~</code>.</p><p>Span containing an em dash <code>-</code> and smart quotes <code>&quot;inside&quot;</code> stays raw.</p><p>A span at line start:\n<code>const x = 1;</code> continues the paragraph.</p><p>Adjacent spans <code>one``two</code> and spaced <code>padded content</code> survive.</p><p>Backtick run that never closes: ``` mid-paragraph triple.</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/code-spans/workflow/auto/signal","detected":"Markdown","cleaned":{"text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash ` - ` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"output":{"text":"Code spans\n\nSimple span and double span with ` backtick and triple a ``b`` c.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: **not bold** _not italic_ ~not strike~.\n\nSpan containing an em dash - and smart quotes \"inside\" stays raw.\n\nA span at line start:\nconst x = 1; continues the paragraph.\n\nAdjacent spans one``two and spaced padded content survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"html":{"text":"<h1>Code spans</h1><p>Simple <code>span</code> and double <code>span with ` backtick</code> and triple <code>a ``b`` c</code>.</p><p>Unclosed backtick ` stays literal to the end of the paragraph.</p><p>Span containing markers: <code>**not bold** _not italic_ ~not strike~</code>.</p><p>Span containing an em dash <code>-</code> and smart quotes <code>&quot;inside&quot;</code> stays raw.</p><p>A span at line start:\n<code>const x = 1;</code> continues the paragraph.</p><p>Adjacent spans <code>one``two</code> and spaced <code>padded content</code> survive.</p><p>Backtick run that never closes: ``` mid-paragraph triple.</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/code-spans/workflow/auto/telegram","detected":"Markdown","cleaned":{"text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash ` - ` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"output":{"text":"Code spans\n\nSimple span and double span with ` backtick and triple a ``b`` c.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: **not bold** _not italic_ ~not strike~.\n\nSpan containing an em dash - and smart quotes \"inside\" stays raw.\n\nA span at line start:\nconst x = 1; continues the paragraph.\n\nAdjacent spans one``two and spaced padded content survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"html":{"text":"<h1>Code spans</h1><p>Simple <code>span</code> and double <code>span with ` backtick</code> and triple <code>a ``b`` c</code>.</p><p>Unclosed backtick ` stays literal to the end of the paragraph.</p><p>Span containing markers: <code>**not bold** _not italic_ ~not strike~</code>.</p><p>Span containing an em dash <code>-</code> and smart quotes <code>&quot;inside&quot;</code> stays raw.</p><p>A span at line start:\n<code>const x = 1;</code> continues the paragraph.</p><p>Adjacent spans <code>one``two</code> and spaced <code>padded content</code> survive.</p><p>Backtick run that never closes: ``` mid-paragraph triple.</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/code-spans/workflow/auto/gmail","detected":"Markdown","cleaned":{"text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash ` - ` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"output":{"text":"Code spans\n\nSimple span and double span with ` backtick and triple a ``b`` c.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: **not bold** _not italic_ ~not strike~.\n\nSpan containing an em dash - and smart quotes \"inside\" stays raw.\n\nA span at line start:\nconst x = 1; continues the paragraph.\n\nAdjacent spans one``two and spaced padded content survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"html":{"text":"<h1>Code spans</h1><p>Simple <code>span</code> and double <code>span with ` backtick</code> and triple <code>a ``b`` c</code>.</p><p>Unclosed backtick ` stays literal to the end of the paragraph.</p><p>Span containing markers: <code>**not bold** _not italic_ ~not strike~</code>.</p><p>Span containing an em dash <code>-</code> and smart quotes <code>&quot;inside&quot;</code> stays raw.</p><p>A span at line start:\n<code>const x = 1;</code> continues the paragraph.</p><p>Adjacent spans <code>one``two</code> and spaced <code>padded content</code> survive.</p><p>Backtick run that never closes: ``` mid-paragraph triple.</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/code-spans/workflow/auto/outlook","detected":"Markdown","cleaned":{"text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash ` - ` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"output":{"text":"Code spans\n\nSimple span and double span with ` backtick and triple a ``b`` c.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: **not bold** _not italic_ ~not strike~.\n\nSpan containing an em dash - and smart quotes \"inside\" stays raw.\n\nA span at line start:\nconst x = 1; continues the paragraph.\n\nAdjacent spans one``two and spaced padded content survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"html":{"text":"<h1>Code spans</h1><p>Simple <code>span</code> and double <code>span with ` backtick</code> and triple <code>a ``b`` c</code>.</p><p>Unclosed backtick ` stays literal to the end of the paragraph.</p><p>Span containing markers: <code>**not bold** _not italic_ ~not strike~</code>.</p><p>Span containing an em dash <code>-</code> and smart quotes <code>&quot;inside&quot;</code> stays raw.</p><p>A span at line start:\n<code>const x = 1;</code> continues the paragraph.</p><p>Adjacent spans <code>one``two</code> and spaced <code>padded content</code> survive.</p><p>Backtick run that never closes: ``` mid-paragraph triple.</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/code-spans/workflow/auto/shortwave","detected":"Markdown","cleaned":{"text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash ` - ` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"output":{"text":"Code spans\n\nSimple span and double span with ` backtick and triple a ``b`` c.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: **not bold** _not italic_ ~not strike~.\n\nSpan containing an em dash - and smart quotes \"inside\" stays raw.\n\nA span at line start:\nconst x = 1; continues the paragraph.\n\nAdjacent spans one``two and spaced padded content survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"html":{"text":"<h1>Code spans</h1><p>Simple <code>span</code> and double <code>span with ` backtick</code> and triple <code>a ``b`` c</code>.</p><p>Unclosed backtick ` stays literal to the end of the paragraph.</p><p>Span containing markers: <code>**not bold** _not italic_ ~not strike~</code>.</p><p>Span containing an em dash <code>-</code> and smart quotes <code>&quot;inside&quot;</code> stays raw.</p><p>A span at line start:\n<code>const x = 1;</code> continues the paragraph.</p><p>Adjacent spans <code>one``two</code> and spaced <code>padded content</code> survive.</p><p>Backtick run that never closes: ``` mid-paragraph triple.</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/code-spans/workflow/auto/notion","detected":"Markdown","cleaned":{"text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash ` - ` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"output":{"text":"Code spans\n\nSimple span and double span with ` backtick and triple a ``b`` c.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: **not bold** _not italic_ ~not strike~.\n\nSpan containing an em dash - and smart quotes \"inside\" stays raw.\n\nA span at line start:\nconst x = 1; continues the paragraph.\n\nAdjacent spans one``two and spaced padded content survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"html":{"text":"<h1>Code spans</h1><p>Simple <code>span</code> and double <code>span with ` backtick</code> and triple <code>a ``b`` c</code>.</p><p>Unclosed backtick ` stays literal to the end of the paragraph.</p><p>Span containing markers: <code>**not bold** _not italic_ ~not strike~</code>.</p><p>Span containing an em dash <code>-</code> and smart quotes <code>&quot;inside&quot;</code> stays raw.</p><p>A span at line start:\n<code>const x = 1;</code> continues the paragraph.</p><p>Adjacent spans <code>one``two</code> and spaced <code>padded content</code> survive.</p><p>Backtick run that never closes: ``` mid-paragraph triple.</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/code-spans/workflow/auto/confluence","detected":"Markdown","cleaned":{"text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash ` - ` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"output":{"text":"Code spans\n\nSimple span and double span with ` backtick and triple a ``b`` c.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: **not bold** _not italic_ ~not strike~.\n\nSpan containing an em dash - and smart quotes \"inside\" stays raw.\n\nA span at line start:\nconst x = 1; continues the paragraph.\n\nAdjacent spans one``two and spaced padded content survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"html":{"text":"<h1>Code spans</h1><p>Simple <code>span</code> and double <code>span with ` backtick</code> and triple <code>a ``b`` c</code>.</p><p>Unclosed backtick ` stays literal to the end of the paragraph.</p><p>Span containing markers: <code>**not bold** _not italic_ ~not strike~</code>.</p><p>Span containing an em dash <code>-</code> and smart quotes <code>&quot;inside&quot;</code> stays raw.</p><p>A span at line start:\n<code>const x = 1;</code> continues the paragraph.</p><p>Adjacent spans <code>one``two</code> and spaced <code>padded content</code> survive.</p><p>Backtick run that never closes: ``` mid-paragraph triple.</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/code-spans/workflow/auto/calendar","detected":"Markdown","cleaned":{"text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash ` - ` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"output":{"text":"Code spans\n\nSimple span and double span with ` backtick and triple a ``b`` c.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: **not bold** _not italic_ ~not strike~.\n\nSpan containing an em dash - and smart quotes \"inside\" stays raw.\n\nA span at line start:\nconst x = 1; continues the paragraph.\n\nAdjacent spans one``two and spaced padded content survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"html":{"text":"<h1>Code spans</h1><p>Simple <code>span</code> and double <code>span with ` backtick</code> and triple <code>a ``b`` c</code>.</p><p>Unclosed backtick ` stays literal to the end of the paragraph.</p><p>Span containing markers: <code>**not bold** _not italic_ ~not strike~</code>.</p><p>Span containing an em dash <code>-</code> and smart quotes <code>&quot;inside&quot;</code> stays raw.</p><p>A span at line start:\n<code>const x = 1;</code> continues the paragraph.</p><p>Adjacent spans <code>one``two</code> and spaced <code>padded content</code> survive.</p><p>Backtick run that never closes: ``` mid-paragraph triple.</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/code-spans/workflow/auto/word","detected":"Markdown","cleaned":{"text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash ` - ` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"output":{"text":"Code spans\n\nSimple span and double span with ` backtick and triple a ``b`` c.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: **not bold** _not italic_ ~not strike~.\n\nSpan containing an em dash - and smart quotes \"inside\" stays raw.\n\nA span at line start:\nconst x = 1; continues the paragraph.\n\nAdjacent spans one``two and spaced padded content survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"html":{"text":"<h1>Code spans</h1><p>Simple <code>span</code> and double <code>span with ` backtick</code> and triple <code>a ``b`` c</code>.</p><p>Unclosed backtick ` stays literal to the end of the paragraph.</p><p>Span containing markers: <code>**not bold** _not italic_ ~not strike~</code>.</p><p>Span containing an em dash <code>-</code> and smart quotes <code>&quot;inside&quot;</code> stays raw.</p><p>A span at line start:\n<code>const x = 1;</code> continues the paragraph.</p><p>Adjacent spans <code>one``two</code> and spaced <code>padded content</code> survive.</p><p>Backtick run that never closes: ``` mid-paragraph triple.</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/code-spans/workflow/auto/google-docs","detected":"Markdown","cleaned":{"text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash ` - ` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"output":{"text":"Code spans\n\nSimple span and double span with ` backtick and triple a ``b`` c.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: **not bold** _not italic_ ~not strike~.\n\nSpan containing an em dash - and smart quotes \"inside\" stays raw.\n\nA span at line start:\nconst x = 1; continues the paragraph.\n\nAdjacent spans one``two and spaced padded content survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"html":{"text":"<h1>Code spans</h1><p>Simple <code>span</code> and double <code>span with ` backtick</code> and triple <code>a ``b`` c</code>.</p><p>Unclosed backtick ` stays literal to the end of the paragraph.</p><p>Span containing markers: <code>**not bold** _not italic_ ~not strike~</code>.</p><p>Span containing an em dash <code>-</code> and smart quotes <code>&quot;inside&quot;</code> stays raw.</p><p>A span at line start:\n<code>const x = 1;</code> continues the paragraph.</p><p>Adjacent spans <code>one``two</code> and spaced <code>padded content</code> survive.</p><p>Backtick run that never closes: ``` mid-paragraph triple.</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/code-spans/workflow/auto/markdown","detected":"Markdown","cleaned":{"text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash ` - ` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"output":{"text":"# Code spans\n\nSimple `span` and double ``span with ` backtick`` and triple ```a ``b`` c```.\n\nUnclosed backtick ` stays literal to the end of the paragraph.\n\nSpan containing markers: `**not bold** _not italic_ ~not strike~`.\n\nSpan containing an em dash ` - ` and smart quotes `\"inside\"` stays raw.\n\nA span at line start:\n`const x = 1;` continues the paragraph.\n\nAdjacent spans `one``two` and spaced `padded content` survive.\n\nBacktick run that never closes: ``` mid-paragraph triple."},"html":{"text":"<h1>Code spans</h1><p>Simple <code>span</code> and double <code>span with ` backtick</code> and triple <code>a ``b`` c</code>.</p><p>Unclosed backtick ` stays literal to the end of the paragraph.</p><p>Span containing markers: <code>**not bold** _not italic_ ~not strike~</code>.</p><p>Span containing an em dash <code>-</code> and smart quotes <code>&quot;inside&quot;</code> stays raw.</p><p>A span at line start:\n<code>const x = 1;</code> continues the paragraph.</p><p>Adjacent spans <code>one``two</code> and spaced <code>padded content</code> survive.</p><p>Backtick run that never closes: ``` mid-paragraph triple.</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/code-spans/workflow/markdown/whatsapp","detected":"Markdown","fnv":"c45fc421","len":1737}
{"id":"doc/code-spans/workflow/markdown/google-chat","detected":"Markdown","fnv":"c45fc421","len":1737}
{"id":"doc/code-spans/workflow/markdown/discord","detected":"Markdown","fnv":"9c62c712","len":1737}
{"id":"doc/code-spans/workflow/markdown/slack","detected":"Markdown","fnv":"c45fc421","len":1737}
{"id":"doc/code-spans/workflow/markdown/teams","detected":"Markdown","fnv":"9c62c712","len":1737}
{"id":"doc/code-spans/workflow/markdown/zendesk","detected":"Markdown","fnv":"9c62c712","len":1737}
{"id":"doc/code-spans/workflow/markdown/jira","detected":"Markdown","fnv":"9c62c712","len":1737}
{"id":"doc/code-spans/workflow/markdown/plain","detected":"Markdown","fnv":"bb4683e9","len":1707}
{"id":"doc/code-spans/workflow/markdown/imessage","detected":"Markdown","fnv":"bb4683e9","len":1707}
{"id":"doc/code-spans/workflow/markdown/signal","detected":"Markdown","fnv":"bb4683e9","len":1707}
{"id":"doc/code-spans/workflow/markdown/telegram","detected":"Markdown","fnv":"bb4683e9","len":1707}
{"id":"doc/code-spans/workflow/markdown/gmail","detected":"Markdown","fnv":"bb4683e9","len":1707}
{"id":"doc/code-spans/workflow/markdown/outlook","detected":"Markdown","fnv":"bb4683e9","len":1707}
{"id":"doc/code-spans/workflow/markdown/shortwave","detected":"Markdown","fnv":"bb4683e9","len":1707}
{"id":"doc/code-spans/workflow/markdown/notion","detected":"Markdown","fnv":"bb4683e9","len":1707}
{"id":"doc/code-spans/workflow/markdown/confluence","detected":"Markdown","fnv":"bb4683e9","len":1707}
{"id":"doc/code-spans/workflow/markdown/calendar","detected":"Markdown","fnv":"bb4683e9","len":1707}
{"id":"doc/code-spans/workflow/markdown/word","detected":"Markdown","fnv":"bb4683e9","len":1707}
{"id":"doc/code-spans/workflow/markdown/google-docs","detected":"Markdown","fnv":"bb4683e9","len":1707}
{"id":"doc/code-spans/workflow/markdown/markdown","detected":"Markdown","fnv":"4cc45a5c","len":1735}
{"id":"doc/code-spans/workflow/plain/whatsapp","detected":"Markdown","fnv":"f9ef40b8","len":1646}
{"id":"doc/code-spans/workflow/plain/google-chat","detected":"Markdown","fnv":"f9ef40b8","len":1646}
{"id":"doc/code-spans/workflow/plain/discord","detected":"Markdown","fnv":"f9ef40b8","len":1646}
{"id":"doc/code-spans/workflow/plain/slack","detected":"Markdown","fnv":"f9ef40b8","len":1646}
{"id":"doc/code-spans/workflow/plain/teams","detected":"Markdown","fnv":"f9ef40b8","len":1646}
{"id":"doc/code-spans/workflow/plain/zendesk","detected":"Markdown","fnv":"f9ef40b8","len":1646}
{"id":"doc/code-spans/workflow/plain/jira","detected":"Markdown","fnv":"f9ef40b8","len":1646}
{"id":"doc/code-spans/workflow/plain/plain","detected":"Markdown","fnv":"f9ef40b8","len":1646}
{"id":"doc/code-spans/workflow/plain/imessage","detected":"Markdown","fnv":"f9ef40b8","len":1646}
{"id":"doc/code-spans/workflow/plain/signal","detected":"Markdown","fnv":"f9ef40b8","len":1646}
{"id":"doc/code-spans/workflow/plain/telegram","detected":"Markdown","fnv":"f9ef40b8","len":1646}
{"id":"doc/code-spans/workflow/plain/gmail","detected":"Markdown","fnv":"f9ef40b8","len":1646}
{"id":"doc/code-spans/workflow/plain/outlook","detected":"Markdown","fnv":"f9ef40b8","len":1646}
{"id":"doc/code-spans/workflow/plain/shortwave","detected":"Markdown","fnv":"f9ef40b8","len":1646}
{"id":"doc/code-spans/workflow/plain/notion","detected":"Markdown","fnv":"f9ef40b8","len":1646}
{"id":"doc/code-spans/workflow/plain/confluence","detected":"Markdown","fnv":"f9ef40b8","len":1646}
{"id":"doc/code-spans/workflow/plain/calendar","detected":"Markdown","fnv":"f9ef40b8","len":1646}
{"id":"doc/code-spans/workflow/plain/word","detected":"Markdown","fnv":"f9ef40b8","len":1646}
{"id":"doc/code-spans/workflow/plain/google-docs","detected":"Markdown","fnv":"f9ef40b8","len":1646}
{"id":"doc/code-spans/workflow/plain/markdown","detected":"Markdown","fnv":"f9ef40b8","len":1646}
{"id":"doc/discord-mentions/detect","val":"Markdown"}
{"id":"doc/discord-mentions/words","val":67}
{"id":"doc/discord-mentions/filename/md","val":"discord-mention-neutralisation.md"}
{"id":"doc/discord-mentions/filename/docx","val":"discord-mention-neutralisation.docx"}
{"id":"doc/discord-mentions/clean/default","text":"# Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a [link label <@123>](https://example.com/mention).","changes":[]}
{"id":"doc/discord-mentions/convert/whatsapp","cleaned":{"text":"# Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a [link label <@123>](https://example.com/mention)."},"output":{"text":"*Discord mention neutralisation*\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a link label <@123>: https://example.com/mention."},"html":{"text":"<h1>Discord mention neutralisation</h1><p>Notify @everyone and @here and @Everyone and @HERE about the change.</p><p>User mentions: &lt;@123456789&gt; and &lt;@!987654321&gt; should become inert text.</p><p>Role mention &lt;@&amp;555000111&gt; and channel mention &lt;#42424242&gt; likewise.</p><p>Custom emoji tokens: &lt;:party_blob:112233&gt; and animated &lt;a:wave_hand:445566&gt;.</p><p>Inside inline code: <code>&lt;@123&gt; and @everyone</code> and inside a fence:</p><pre><code>&lt;@123456789&gt; @everyone &lt;#42424242&gt;</code></pre><p>A mention-like string in a <a href=\"https://example.com/mention\">link label &lt;@123&gt;</a>.</p>"},"changes":[]}
{"id":"doc/discord-mentions/convert/google-chat","cleaned":{"text":"# Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a [link label <@123>](https://example.com/mention)."},"output":{"text":"*Discord mention neutralisation*\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a link label <@123>: https://example.com/mention."},"html":{"text":"<h1>Discord mention neutralisation</h1><p>Notify @everyone and @here and @Everyone and @HERE about the change.</p><p>User mentions: &lt;@123456789&gt; and &lt;@!987654321&gt; should become inert text.</p><p>Role mention &lt;@&amp;555000111&gt; and channel mention &lt;#42424242&gt; likewise.</p><p>Custom emoji tokens: &lt;:party_blob:112233&gt; and animated &lt;a:wave_hand:445566&gt;.</p><p>Inside inline code: <code>&lt;@123&gt; and @everyone</code> and inside a fence:</p><pre><code>&lt;@123456789&gt; @everyone &lt;#42424242&gt;</code></pre><p>A mention-like string in a <a href=\"https://example.com/mention\">link label &lt;@123&gt;</a>.</p>"},"changes":[]}
{"id":"doc/discord-mentions/convert/discord","cleaned":{"text":"# Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a [link label <@123>](https://example.com/mention)."},"output":{"text":"# Discord mention neutralisation\n\nNotify everyone and here and Everyone and HERE about the change.\n\nUser mentions: @user 123456789 and @user 987654321 should become inert text.\n\nRole mention @role 555000111 and channel mention #channel 42424242 likewise.\n\nCustom emoji tokens: :party_blob: and animated :wave_hand:.\n\nInside inline code: `@user 123 and everyone` and inside a fence:\n\n```\n@user 123456789 everyone #channel 42424242\n```\n\nA mention-like string in a [link label @user 123](https://example.com/mention)."},"html":{"text":"<h1>Discord mention neutralisation</h1><p>Notify @everyone and @here and @Everyone and @HERE about the change.</p><p>User mentions: &lt;@123456789&gt; and &lt;@!987654321&gt; should become inert text.</p><p>Role mention &lt;@&amp;555000111&gt; and channel mention &lt;#42424242&gt; likewise.</p><p>Custom emoji tokens: &lt;:party_blob:112233&gt; and animated &lt;a:wave_hand:445566&gt;.</p><p>Inside inline code: <code>&lt;@123&gt; and @everyone</code> and inside a fence:</p><pre><code>&lt;@123456789&gt; @everyone &lt;#42424242&gt;</code></pre><p>A mention-like string in a <a href=\"https://example.com/mention\">link label &lt;@123&gt;</a>.</p>"},"changes":[]}
{"id":"doc/discord-mentions/convert/slack","cleaned":{"text":"# Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a [link label <@123>](https://example.com/mention)."},"output":{"text":"*Discord mention neutralisation*\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a <https://example.com/mention|link label <@123>>."},"html":{"text":"<h1>Discord mention neutralisation</h1><p>Notify @everyone and @here and @Everyone and @HERE about the change.</p><p>User mentions: &lt;@123456789&gt; and &lt;@!987654321&gt; should become inert text.</p><p>Role mention &lt;@&amp;555000111&gt; and channel mention &lt;#42424242&gt; likewise.</p><p>Custom emoji tokens: &lt;:party_blob:112233&gt; and animated &lt;a:wave_hand:445566&gt;.</p><p>Inside inline code: <code>&lt;@123&gt; and @everyone</code> and inside a fence:</p><pre><code>&lt;@123456789&gt; @everyone &lt;#42424242&gt;</code></pre><p>A mention-like string in a <a href=\"https://example.com/mention\">link label &lt;@123&gt;</a>.</p>"},"changes":[]}
{"id":"doc/discord-mentions/convert/teams","cleaned":{"text":"# Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a [link label <@123>](https://example.com/mention)."},"output":{"text":"# Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a [link label <@123>](https://example.com/mention)."},"html":{"text":"<h1>Discord mention neutralisation</h1><p>Notify @everyone and @here and @Everyone and @HERE about the change.</p><p>User mentions: &lt;@123456789&gt; and &lt;@!987654321&gt; should become inert text.</p><p>Role mention &lt;@&amp;555000111&gt; and channel mention &lt;#42424242&gt; likewise.</p><p>Custom emoji tokens: &lt;:party_blob:112233&gt; and animated &lt;a:wave_hand:445566&gt;.</p><p>Inside inline code: <code>&lt;@123&gt; and @everyone</code> and inside a fence:</p><pre><code>&lt;@123456789&gt; @everyone &lt;#42424242&gt;</code></pre><p>A mention-like string in a <a href=\"https://example.com/mention\">link label &lt;@123&gt;</a>.</p>"},"changes":[]}
{"id":"doc/discord-mentions/convert/zendesk","cleaned":{"text":"# Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a [link label <@123>](https://example.com/mention)."},"output":{"text":"# Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n> <@123456789> @everyone <#42424242>\n\nA mention-like string in a [link label <@123>](https://example.com/mention)."},"html":{"text":"<h1>Discord mention neutralisation</h1><p>Notify @everyone and @here and @Everyone and @HERE about the change.</p><p>User mentions: &lt;@123456789&gt; and &lt;@!987654321&gt; should become inert text.</p><p>Role mention &lt;@&amp;555000111&gt; and channel mention &lt;#42424242&gt; likewise.</p><p>Custom emoji tokens: &lt;:party_blob:112233&gt; and animated &lt;a:wave_hand:445566&gt;.</p><p>Inside inline code: <code>&lt;@123&gt; and @everyone</code> and inside a fence:</p><pre><code>&lt;@123456789&gt; @everyone &lt;#42424242&gt;</code></pre><p>A mention-like string in a <a href=\"https://example.com/mention\">link label &lt;@123&gt;</a>.</p>"},"changes":[]}
{"id":"doc/discord-mentions/convert/jira","cleaned":{"text":"# Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a [link label <@123>](https://example.com/mention)."},"output":{"text":"# Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a [link label <@123>](https://example.com/mention)."},"html":{"text":"<h1>Discord mention neutralisation</h1><p>Notify @everyone and @here and @Everyone and @HERE about the change.</p><p>User mentions: &lt;@123456789&gt; and &lt;@!987654321&gt; should become inert text.</p><p>Role mention &lt;@&amp;555000111&gt; and channel mention &lt;#42424242&gt; likewise.</p><p>Custom emoji tokens: &lt;:party_blob:112233&gt; and animated &lt;a:wave_hand:445566&gt;.</p><p>Inside inline code: <code>&lt;@123&gt; and @everyone</code> and inside a fence:</p><pre><code>&lt;@123456789&gt; @everyone &lt;#42424242&gt;</code></pre><p>A mention-like string in a <a href=\"https://example.com/mention\">link label &lt;@123&gt;</a>.</p>"},"changes":[]}
{"id":"doc/discord-mentions/convert/plain","cleaned":{"text":"# Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a [link label <@123>](https://example.com/mention)."},"output":{"text":"Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: <@123> and @everyone and inside a fence:\n\n<@123456789> @everyone <#42424242>\n\nA mention-like string in a link label <@123> (https://example.com/mention)."},"html":{"text":"<h1>Discord mention neutralisation</h1><p>Notify @everyone and @here and @Everyone and @HERE about the change.</p><p>User mentions: &lt;@123456789&gt; and &lt;@!987654321&gt; should become inert text.</p><p>Role mention &lt;@&amp;555000111&gt; and channel mention &lt;#42424242&gt; likewise.</p><p>Custom emoji tokens: &lt;:party_blob:112233&gt; and animated &lt;a:wave_hand:445566&gt;.</p><p>Inside inline code: <code>&lt;@123&gt; and @everyone</code> and inside a fence:</p><pre><code>&lt;@123456789&gt; @everyone &lt;#42424242&gt;</code></pre><p>A mention-like string in a <a href=\"https://example.com/mention\">link label &lt;@123&gt;</a>.</p>"},"changes":[]}
{"id":"doc/discord-mentions/whatsapp-preview","fnv":"12c98bde","len":1224}
{"id":"doc/discord-mentions/diff-cleanup","val":[{"type":"same","value":"# Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a [link label <@123>](https://example.com/mention)."},{"type":"removed","value":"\n"}]}
{"id":"doc/discord-mentions/workflow/auto/whatsapp","detected":"Markdown","cleaned":{"text":"# Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a [link label <@123>](https://example.com/mention)."},"output":{"text":"*Discord mention neutralisation*\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a link label <@123>: https://example.com/mention."},"html":{"text":"<h1>Discord mention neutralisation</h1><p>Notify @everyone and @here and @Everyone and @HERE about the change.</p><p>User mentions: &lt;@123456789&gt; and &lt;@!987654321&gt; should become inert text.</p><p>Role mention &lt;@&amp;555000111&gt; and channel mention &lt;#42424242&gt; likewise.</p><p>Custom emoji tokens: &lt;:party_blob:112233&gt; and animated &lt;a:wave_hand:445566&gt;.</p><p>Inside inline code: <code>&lt;@123&gt; and @everyone</code> and inside a fence:</p><pre><code>&lt;@123456789&gt; @everyone &lt;#42424242&gt;</code></pre><p>A mention-like string in a <a href=\"https://example.com/mention\">link label &lt;@123&gt;</a>.</p>"},"changes":[]}
{"id":"doc/discord-mentions/workflow/auto/google-chat","detected":"Markdown","cleaned":{"text":"# Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a [link label <@123>](https://example.com/mention)."},"output":{"text":"*Discord mention neutralisation*\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a link label <@123>: https://example.com/mention."},"html":{"text":"<h1>Discord mention neutralisation</h1><p>Notify @everyone and @here and @Everyone and @HERE about the change.</p><p>User mentions: &lt;@123456789&gt; and &lt;@!987654321&gt; should become inert text.</p><p>Role mention &lt;@&amp;555000111&gt; and channel mention &lt;#42424242&gt; likewise.</p><p>Custom emoji tokens: &lt;:party_blob:112233&gt; and animated &lt;a:wave_hand:445566&gt;.</p><p>Inside inline code: <code>&lt;@123&gt; and @everyone</code> and inside a fence:</p><pre><code>&lt;@123456789&gt; @everyone &lt;#42424242&gt;</code></pre><p>A mention-like string in a <a href=\"https://example.com/mention\">link label &lt;@123&gt;</a>.</p>"},"changes":[]}
{"id":"doc/discord-mentions/workflow/auto/discord","detected":"Markdown","cleaned":{"text":"# Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a [link label <@123>](https://example.com/mention)."},"output":{"text":"# Discord mention neutralisation\n\nNotify everyone and here and Everyone and HERE about the change.\n\nUser mentions: @user 123456789 and @user 987654321 should become inert text.\n\nRole mention @role 555000111 and channel mention #channel 42424242 likewise.\n\nCustom emoji tokens: :party_blob: and animated :wave_hand:.\n\nInside inline code: `@user 123 and everyone` and inside a fence:\n\n```\n@user 123456789 everyone #channel 42424242\n```\n\nA mention-like string in a [link label @user 123](https://example.com/mention)."},"html":{"text":"<h1>Discord mention neutralisation</h1><p>Notify @everyone and @here and @Everyone and @HERE about the change.</p><p>User mentions: &lt;@123456789&gt; and &lt;@!987654321&gt; should become inert text.</p><p>Role mention &lt;@&amp;555000111&gt; and channel mention &lt;#42424242&gt; likewise.</p><p>Custom emoji tokens: &lt;:party_blob:112233&gt; and animated &lt;a:wave_hand:445566&gt;.</p><p>Inside inline code: <code>&lt;@123&gt; and @everyone</code> and inside a fence:</p><pre><code>&lt;@123456789&gt; @everyone &lt;#42424242&gt;</code></pre><p>A mention-like string in a <a href=\"https://example.com/mention\">link label &lt;@123&gt;</a>.</p>"},"changes":[]}
{"id":"doc/discord-mentions/workflow/auto/slack","detected":"Markdown","cleaned":{"text":"# Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a [link label <@123>](https://example.com/mention)."},"output":{"text":"*Discord mention neutralisation*\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a <https://example.com/mention|link label <@123>>."},"html":{"text":"<h1>Discord mention neutralisation</h1><p>Notify @everyone and @here and @Everyone and @HERE about the change.</p><p>User mentions: &lt;@123456789&gt; and &lt;@!987654321&gt; should become inert text.</p><p>Role mention &lt;@&amp;555000111&gt; and channel mention &lt;#42424242&gt; likewise.</p><p>Custom emoji tokens: &lt;:party_blob:112233&gt; and animated &lt;a:wave_hand:445566&gt;.</p><p>Inside inline code: <code>&lt;@123&gt; and @everyone</code> and inside a fence:</p><pre><code>&lt;@123456789&gt; @everyone &lt;#42424242&gt;</code></pre><p>A mention-like string in a <a href=\"https://example.com/mention\">link label &lt;@123&gt;</a>.</p>"},"changes":[]}
{"id":"doc/discord-mentions/workflow/auto/teams","detected":"Markdown","cleaned":{"text":"# Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a [link label <@123>](https://example.com/mention)."},"output":{"text":"# Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a [link label <@123>](https://example.com/mention)."},"html":{"text":"<h1>Discord mention neutralisation</h1><p>Notify @everyone and @here and @Everyone and @HERE about the change.</p><p>User mentions: &lt;@123456789&gt; and &lt;@!987654321&gt; should become inert text.</p><p>Role mention &lt;@&amp;555000111&gt; and channel mention &lt;#42424242&gt; likewise.</p><p>Custom emoji tokens: &lt;:party_blob:112233&gt; and animated &lt;a:wave_hand:445566&gt;.</p><p>Inside inline code: <code>&lt;@123&gt; and @everyone</code> and inside a fence:</p><pre><code>&lt;@123456789&gt; @everyone &lt;#42424242&gt;</code></pre><p>A mention-like string in a <a href=\"https://example.com/mention\">link label &lt;@123&gt;</a>.</p>"},"changes":[]}
{"id":"doc/discord-mentions/workflow/auto/zendesk","detected":"Markdown","cleaned":{"text":"# Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a [link label <@123>](https://example.com/mention)."},"output":{"text":"# Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n> <@123456789> @everyone <#42424242>\n\nA mention-like string in a [link label <@123>](https://example.com/mention)."},"html":{"text":"<h1>Discord mention neutralisation</h1><p>Notify @everyone and @here and @Everyone and @HERE about the change.</p><p>User mentions: &lt;@123456789&gt; and &lt;@!987654321&gt; should become inert text.</p><p>Role mention &lt;@&amp;555000111&gt; and channel mention &lt;#42424242&gt; likewise.</p><p>Custom emoji tokens: &lt;:party_blob:112233&gt; and animated &lt;a:wave_hand:445566&gt;.</p><p>Inside inline code: <code>&lt;@123&gt; and @everyone</code> and inside a fence:</p><blockquote><p>&lt;@123456789&gt; @everyone &lt;#42424242&gt;</p></blockquote><p>A mention-like string in a <a href=\"https://example.com/mention\">link label &lt;@123&gt;</a>.</p>"},"changes":[]}
{"id":"doc/discord-mentions/workflow/auto/jira","detected":"Markdown","cleaned":{"text":"# Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a [link label <@123>](https://example.com/mention)."},"output":{"text":"# Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a [link label <@123>](https://example.com/mention)."},"html":{"text":"<h1>Discord mention neutralisation</h1><p>Notify @everyone and @here and @Everyone and @HERE about the change.</p><p>User mentions: &lt;@123456789&gt; and &lt;@!987654321&gt; should become inert text.</p><p>Role mention &lt;@&amp;555000111&gt; and channel mention &lt;#42424242&gt; likewise.</p><p>Custom emoji tokens: &lt;:party_blob:112233&gt; and animated &lt;a:wave_hand:445566&gt;.</p><p>Inside inline code: <code>&lt;@123&gt; and @everyone</code> and inside a fence:</p><pre><code>&lt;@123456789&gt; @everyone &lt;#42424242&gt;</code></pre><p>A mention-like string in a <a href=\"https://example.com/mention\">link label &lt;@123&gt;</a>.</p>"},"changes":[]}
{"id":"doc/discord-mentions/workflow/auto/plain","detected":"Markdown","cleaned":{"text":"# Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a [link label <@123>](https://example.com/mention)."},"output":{"text":"Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: <@123> and @everyone and inside a fence:\n\n<@123456789> @everyone <#42424242>\n\nA mention-like string in a link label <@123> (https://example.com/mention)."},"html":{"text":"<h1>Discord mention neutralisation</h1><p>Notify @everyone and @here and @Everyone and @HERE about the change.</p><p>User mentions: &lt;@123456789&gt; and &lt;@!987654321&gt; should become inert text.</p><p>Role mention &lt;@&amp;555000111&gt; and channel mention &lt;#42424242&gt; likewise.</p><p>Custom emoji tokens: &lt;:party_blob:112233&gt; and animated &lt;a:wave_hand:445566&gt;.</p><p>Inside inline code: <code>&lt;@123&gt; and @everyone</code> and inside a fence:</p><pre><code>&lt;@123456789&gt; @everyone &lt;#42424242&gt;</code></pre><p>A mention-like string in a <a href=\"https://example.com/mention\">link label &lt;@123&gt;</a>.</p>"},"changes":[]}
{"id":"doc/discord-mentions/workflow/auto/imessage","detected":"Markdown","cleaned":{"text":"# Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a [link label <@123>](https://example.com/mention)."},"output":{"text":"Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: <@123> and @everyone and inside a fence:\n\n<@123456789> @everyone <#42424242>\n\nA mention-like string in a link label <@123> (https://example.com/mention)."},"html":{"text":"<h1>Discord mention neutralisation</h1><p>Notify @everyone and @here and @Everyone and @HERE about the change.</p><p>User mentions: &lt;@123456789&gt; and &lt;@!987654321&gt; should become inert text.</p><p>Role mention &lt;@&amp;555000111&gt; and channel mention &lt;#42424242&gt; likewise.</p><p>Custom emoji tokens: &lt;:party_blob:112233&gt; and animated &lt;a:wave_hand:445566&gt;.</p><p>Inside inline code: <code>&lt;@123&gt; and @everyone</code> and inside a fence:</p><pre><code>&lt;@123456789&gt; @everyone &lt;#42424242&gt;</code></pre><p>A mention-like string in a <a href=\"https://example.com/mention\">link label &lt;@123&gt;</a>.</p>"},"changes":[]}
{"id":"doc/discord-mentions/workflow/auto/signal","detected":"Markdown","cleaned":{"text":"# Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a [link label <@123>](https://example.com/mention)."},"output":{"text":"Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: <@123> and @everyone and inside a fence:\n\n<@123456789> @everyone <#42424242>\n\nA mention-like string in a link label <@123> (https://example.com/mention)."},"html":{"text":"<h1>Discord mention neutralisation</h1><p>Notify @everyone and @here and @Everyone and @HERE about the change.</p><p>User mentions: &lt;@123456789&gt; and &lt;@!987654321&gt; should become inert text.</p><p>Role mention &lt;@&amp;555000111&gt; and channel mention &lt;#42424242&gt; likewise.</p><p>Custom emoji tokens: &lt;:party_blob:112233&gt; and animated &lt;a:wave_hand:445566&gt;.</p><p>Inside inline code: <code>&lt;@123&gt; and @everyone</code> and inside a fence:</p><pre><code>&lt;@123456789&gt; @everyone &lt;#42424242&gt;</code></pre><p>A mention-like string in a <a href=\"https://example.com/mention\">link label &lt;@123&gt;</a>.</p>"},"changes":[]}
{"id":"doc/discord-mentions/workflow/auto/telegram","detected":"Markdown","cleaned":{"text":"# Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a [link label <@123>](https://example.com/mention)."},"output":{"text":"Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: <@123> and @everyone and inside a fence:\n\n<@123456789> @everyone <#42424242>\n\nA mention-like string in a link label <@123> (https://example.com/mention)."},"html":{"text":"<h1>Discord mention neutralisation</h1><p>Notify @everyone and @here and @Everyone and @HERE about the change.</p><p>User mentions: &lt;@123456789&gt; and &lt;@!987654321&gt; should become inert text.</p><p>Role mention &lt;@&amp;555000111&gt; and channel mention &lt;#42424242&gt; likewise.</p><p>Custom emoji tokens: &lt;:party_blob:112233&gt; and animated &lt;a:wave_hand:445566&gt;.</p><p>Inside inline code: <code>&lt;@123&gt; and @everyone</code> and inside a fence:</p><pre><code>&lt;@123456789&gt; @everyone &lt;#42424242&gt;</code></pre><p>A mention-like string in a <a href=\"https://example.com/mention\">link label &lt;@123&gt;</a>.</p>"},"changes":[]}
{"id":"doc/discord-mentions/workflow/auto/gmail","detected":"Markdown","cleaned":{"text":"# Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a [link label <@123>](https://example.com/mention)."},"output":{"text":"Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: <@123> and @everyone and inside a fence:\n\n<@123456789> @everyone <#42424242>\n\nA mention-like string in a link label <@123> (https://example.com/mention)."},"html":{"text":"<h1>Discord mention neutralisation</h1><p>Notify @everyone and @here and @Everyone and @HERE about the change.</p><p>User mentions: &lt;@123456789&gt; and &lt;@!987654321&gt; should become inert text.</p><p>Role mention &lt;@&amp;555000111&gt; and channel mention &lt;#42424242&gt; likewise.</p><p>Custom emoji tokens: &lt;:party_blob:112233&gt; and animated &lt;a:wave_hand:445566&gt;.</p><p>Inside inline code: <code>&lt;@123&gt; and @everyone</code> and inside a fence:</p><pre><code>&lt;@123456789&gt; @everyone &lt;#42424242&gt;</code></pre><p>A mention-like string in a <a href=\"https://example.com/mention\">link label &lt;@123&gt;</a>.</p>"},"changes":[]}
{"id":"doc/discord-mentions/workflow/auto/outlook","detected":"Markdown","cleaned":{"text":"# Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a [link label <@123>](https://example.com/mention)."},"output":{"text":"Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: <@123> and @everyone and inside a fence:\n\n<@123456789> @everyone <#42424242>\n\nA mention-like string in a link label <@123> (https://example.com/mention)."},"html":{"text":"<h1>Discord mention neutralisation</h1><p>Notify @everyone and @here and @Everyone and @HERE about the change.</p><p>User mentions: &lt;@123456789&gt; and &lt;@!987654321&gt; should become inert text.</p><p>Role mention &lt;@&amp;555000111&gt; and channel mention &lt;#42424242&gt; likewise.</p><p>Custom emoji tokens: &lt;:party_blob:112233&gt; and animated &lt;a:wave_hand:445566&gt;.</p><p>Inside inline code: <code>&lt;@123&gt; and @everyone</code> and inside a fence:</p><pre><code>&lt;@123456789&gt; @everyone &lt;#42424242&gt;</code></pre><p>A mention-like string in a <a href=\"https://example.com/mention\">link label &lt;@123&gt;</a>.</p>"},"changes":[]}
{"id":"doc/discord-mentions/workflow/auto/shortwave","detected":"Markdown","cleaned":{"text":"# Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a [link label <@123>](https://example.com/mention)."},"output":{"text":"Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: <@123> and @everyone and inside a fence:\n\n<@123456789> @everyone <#42424242>\n\nA mention-like string in a link label <@123> (https://example.com/mention)."},"html":{"text":"<h1>Discord mention neutralisation</h1><p>Notify @everyone and @here and @Everyone and @HERE about the change.</p><p>User mentions: &lt;@123456789&gt; and &lt;@!987654321&gt; should become inert text.</p><p>Role mention &lt;@&amp;555000111&gt; and channel mention &lt;#42424242&gt; likewise.</p><p>Custom emoji tokens: &lt;:party_blob:112233&gt; and animated &lt;a:wave_hand:445566&gt;.</p><p>Inside inline code: <code>&lt;@123&gt; and @everyone</code> and inside a fence:</p><pre><code>&lt;@123456789&gt; @everyone &lt;#42424242&gt;</code></pre><p>A mention-like string in a <a href=\"https://example.com/mention\">link label &lt;@123&gt;</a>.</p>"},"changes":[]}
{"id":"doc/discord-mentions/workflow/auto/notion","detected":"Markdown","cleaned":{"text":"# Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a [link label <@123>](https://example.com/mention)."},"output":{"text":"Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: <@123> and @everyone and inside a fence:\n\n<@123456789> @everyone <#42424242>\n\nA mention-like string in a link label <@123> (https://example.com/mention)."},"html":{"text":"<h1>Discord mention neutralisation</h1><p>Notify @everyone and @here and @Everyone and @HERE about the change.</p><p>User mentions: &lt;@123456789&gt; and &lt;@!987654321&gt; should become inert text.</p><p>Role mention &lt;@&amp;555000111&gt; and channel mention &lt;#42424242&gt; likewise.</p><p>Custom emoji tokens: &lt;:party_blob:112233&gt; and animated &lt;a:wave_hand:445566&gt;.</p><p>Inside inline code: <code>&lt;@123&gt; and @everyone</code> and inside a fence:</p><pre><code>&lt;@123456789&gt; @everyone &lt;#42424242&gt;</code></pre><p>A mention-like string in a <a href=\"https://example.com/mention\">link label &lt;@123&gt;</a>.</p>"},"changes":[]}
{"id":"doc/discord-mentions/workflow/auto/confluence","detected":"Markdown","cleaned":{"text":"# Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a [link label <@123>](https://example.com/mention)."},"output":{"text":"Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: <@123> and @everyone and inside a fence:\n\n<@123456789> @everyone <#42424242>\n\nA mention-like string in a link label <@123> (https://example.com/mention)."},"html":{"text":"<h1>Discord mention neutralisation</h1><p>Notify @everyone and @here and @Everyone and @HERE about the change.</p><p>User mentions: &lt;@123456789&gt; and &lt;@!987654321&gt; should become inert text.</p><p>Role mention &lt;@&amp;555000111&gt; and channel mention &lt;#42424242&gt; likewise.</p><p>Custom emoji tokens: &lt;:party_blob:112233&gt; and animated &lt;a:wave_hand:445566&gt;.</p><p>Inside inline code: <code>&lt;@123&gt; and @everyone</code> and inside a fence:</p><pre><code>&lt;@123456789&gt; @everyone &lt;#42424242&gt;</code></pre><p>A mention-like string in a <a href=\"https://example.com/mention\">link label &lt;@123&gt;</a>.</p>"},"changes":[]}
{"id":"doc/discord-mentions/workflow/auto/calendar","detected":"Markdown","cleaned":{"text":"# Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a [link label <@123>](https://example.com/mention)."},"output":{"text":"Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: <@123> and @everyone and inside a fence:\n\n<@123456789> @everyone <#42424242>\n\nA mention-like string in a link label <@123> (https://example.com/mention)."},"html":{"text":"<h1>Discord mention neutralisation</h1><p>Notify @everyone and @here and @Everyone and @HERE about the change.</p><p>User mentions: &lt;@123456789&gt; and &lt;@!987654321&gt; should become inert text.</p><p>Role mention &lt;@&amp;555000111&gt; and channel mention &lt;#42424242&gt; likewise.</p><p>Custom emoji tokens: &lt;:party_blob:112233&gt; and animated &lt;a:wave_hand:445566&gt;.</p><p>Inside inline code: <code>&lt;@123&gt; and @everyone</code> and inside a fence:</p><pre><code>&lt;@123456789&gt; @everyone &lt;#42424242&gt;</code></pre><p>A mention-like string in a <a href=\"https://example.com/mention\">link label &lt;@123&gt;</a>.</p>"},"changes":[]}
{"id":"doc/discord-mentions/workflow/auto/word","detected":"Markdown","cleaned":{"text":"# Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a [link label <@123>](https://example.com/mention)."},"output":{"text":"Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: <@123> and @everyone and inside a fence:\n\n<@123456789> @everyone <#42424242>\n\nA mention-like string in a link label <@123> (https://example.com/mention)."},"html":{"text":"<h1>Discord mention neutralisation</h1><p>Notify @everyone and @here and @Everyone and @HERE about the change.</p><p>User mentions: &lt;@123456789&gt; and &lt;@!987654321&gt; should become inert text.</p><p>Role mention &lt;@&amp;555000111&gt; and channel mention &lt;#42424242&gt; likewise.</p><p>Custom emoji tokens: &lt;:party_blob:112233&gt; and animated &lt;a:wave_hand:445566&gt;.</p><p>Inside inline code: <code>&lt;@123&gt; and @everyone</code> and inside a fence:</p><pre><code>&lt;@123456789&gt; @everyone &lt;#42424242&gt;</code></pre><p>A mention-like string in a <a href=\"https://example.com/mention\">link label &lt;@123&gt;</a>.</p>"},"changes":[]}
{"id":"doc/discord-mentions/workflow/auto/google-docs","detected":"Markdown","cleaned":{"text":"# Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a [link label <@123>](https://example.com/mention)."},"output":{"text":"Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: <@123> and @everyone and inside a fence:\n\n<@123456789> @everyone <#42424242>\n\nA mention-like string in a link label <@123> (https://example.com/mention)."},"html":{"text":"<h1>Discord mention neutralisation</h1><p>Notify @everyone and @here and @Everyone and @HERE about the change.</p><p>User mentions: &lt;@123456789&gt; and &lt;@!987654321&gt; should become inert text.</p><p>Role mention &lt;@&amp;555000111&gt; and channel mention &lt;#42424242&gt; likewise.</p><p>Custom emoji tokens: &lt;:party_blob:112233&gt; and animated &lt;a:wave_hand:445566&gt;.</p><p>Inside inline code: <code>&lt;@123&gt; and @everyone</code> and inside a fence:</p><pre><code>&lt;@123456789&gt; @everyone &lt;#42424242&gt;</code></pre><p>A mention-like string in a <a href=\"https://example.com/mention\">link label &lt;@123&gt;</a>.</p>"},"changes":[]}
{"id":"doc/discord-mentions/workflow/auto/markdown","detected":"Markdown","cleaned":{"text":"# Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a [link label <@123>](https://example.com/mention)."},"output":{"text":"# Discord mention neutralisation\n\nNotify @everyone and @here and @Everyone and @HERE about the change.\n\nUser mentions: <@123456789> and <@!987654321> should become inert text.\n\nRole mention <@&555000111> and channel mention <#42424242> likewise.\n\nCustom emoji tokens: <:party_blob:112233> and animated <a:wave_hand:445566>.\n\nInside inline code: `<@123> and @everyone` and inside a fence:\n\n```\n<@123456789> @everyone <#42424242>\n```\n\nA mention-like string in a [link label <@123>](https://example.com/mention)."},"html":{"text":"<h1>Discord mention neutralisation</h1><p>Notify @everyone and @here and @Everyone and @HERE about the change.</p><p>User mentions: &lt;@123456789&gt; and &lt;@!987654321&gt; should become inert text.</p><p>Role mention &lt;@&amp;555000111&gt; and channel mention &lt;#42424242&gt; likewise.</p><p>Custom emoji tokens: &lt;:party_blob:112233&gt; and animated &lt;a:wave_hand:445566&gt;.</p><p>Inside inline code: <code>&lt;@123&gt; and @everyone</code> and inside a fence:</p><pre><code>&lt;@123456789&gt; @everyone &lt;#42424242&gt;</code></pre><p>A mention-like string in a <a href=\"https://example.com/mention\">link label &lt;@123&gt;</a>.</p>"},"changes":[]}
{"id":"doc/discord-mentions/workflow/markdown/whatsapp","detected":"Markdown","fnv":"dd6c1655","len":1745}
{"id":"doc/discord-mentions/workflow/markdown/google-chat","detected":"Markdown","fnv":"dd6c1655","len":1745}
{"id":"doc/discord-mentions/workflow/markdown/discord","detected":"Markdown","fnv":"f36e256c","len":1752}
{"id":"doc/discord-mentions/workflow/markdown/slack","detected":"Markdown","fnv":"d781a7f3","len":1746}
{"id":"doc/discord-mentions/workflow/markdown/teams","detected":"Markdown","fnv":"9147007f","len":1747}
{"id":"doc/discord-mentions/workflow/markdown/zendesk","detected":"Markdown","fnv":"222a3819","len":1747}
{"id":"doc/discord-mentions/workflow/markdown/jira","detected":"Markdown","fnv":"9147007f","len":1747}
{"id":"doc/discord-mentions/workflow/markdown/plain","detected":"Markdown","fnv":"15be4e64","len":1732}
{"id":"doc/discord-mentions/workflow/markdown/imessage","detected":"Markdown","fnv":"15be4e64","len":1732}
{"id":"doc/discord-mentions/workflow/markdown/signal","detected":"Markdown","fnv":"15be4e64","len":1732}
{"id":"doc/discord-mentions/workflow/markdown/telegram","detected":"Markdown","fnv":"15be4e64","len":1732}
{"id":"doc/discord-mentions/workflow/markdown/gmail","detected":"Markdown","fnv":"15be4e64","len":1732}
{"id":"doc/discord-mentions/workflow/markdown/outlook","detected":"Markdown","fnv":"15be4e64","len":1732}
{"id":"doc/discord-mentions/workflow/markdown/shortwave","detected":"Markdown","fnv":"15be4e64","len":1732}
{"id":"doc/discord-mentions/workflow/markdown/notion","detected":"Markdown","fnv":"15be4e64","len":1732}
{"id":"doc/discord-mentions/workflow/markdown/confluence","detected":"Markdown","fnv":"15be4e64","len":1732}
{"id":"doc/discord-mentions/workflow/markdown/calendar","detected":"Markdown","fnv":"15be4e64","len":1732}
{"id":"doc/discord-mentions/workflow/markdown/word","detected":"Markdown","fnv":"15be4e64","len":1732}
{"id":"doc/discord-mentions/workflow/markdown/google-docs","detected":"Markdown","fnv":"15be4e64","len":1732}
{"id":"doc/discord-mentions/workflow/markdown/markdown","detected":"Markdown","fnv":"9147007f","len":1747}
{"id":"doc/discord-mentions/workflow/plain/whatsapp","detected":"Markdown","fnv":"1dd92cda","len":1720}
{"id":"doc/discord-mentions/workflow/plain/google-chat","detected":"Markdown","fnv":"1dd92cda","len":1720}
{"id":"doc/discord-mentions/workflow/plain/discord","detected":"Markdown","fnv":"1dd92cda","len":1720}
{"id":"doc/discord-mentions/workflow/plain/slack","detected":"Markdown","fnv":"1dd92cda","len":1720}
{"id":"doc/discord-mentions/workflow/plain/teams","detected":"Markdown","fnv":"1dd92cda","len":1720}
{"id":"doc/discord-mentions/workflow/plain/zendesk","detected":"Markdown","fnv":"1dd92cda","len":1720}
{"id":"doc/discord-mentions/workflow/plain/jira","detected":"Markdown","fnv":"1dd92cda","len":1720}
{"id":"doc/discord-mentions/workflow/plain/plain","detected":"Markdown","fnv":"1dd92cda","len":1720}
{"id":"doc/discord-mentions/workflow/plain/imessage","detected":"Markdown","fnv":"1dd92cda","len":1720}
{"id":"doc/discord-mentions/workflow/plain/signal","detected":"Markdown","fnv":"1dd92cda","len":1720}
{"id":"doc/discord-mentions/workflow/plain/telegram","detected":"Markdown","fnv":"1dd92cda","len":1720}
{"id":"doc/discord-mentions/workflow/plain/gmail","detected":"Markdown","fnv":"1dd92cda","len":1720}
{"id":"doc/discord-mentions/workflow/plain/outlook","detected":"Markdown","fnv":"1dd92cda","len":1720}
{"id":"doc/discord-mentions/workflow/plain/shortwave","detected":"Markdown","fnv":"1dd92cda","len":1720}
{"id":"doc/discord-mentions/workflow/plain/notion","detected":"Markdown","fnv":"1dd92cda","len":1720}
{"id":"doc/discord-mentions/workflow/plain/confluence","detected":"Markdown","fnv":"1dd92cda","len":1720}
{"id":"doc/discord-mentions/workflow/plain/calendar","detected":"Markdown","fnv":"1dd92cda","len":1720}
{"id":"doc/discord-mentions/workflow/plain/word","detected":"Markdown","fnv":"1dd92cda","len":1720}
{"id":"doc/discord-mentions/workflow/plain/google-docs","detected":"Markdown","fnv":"1dd92cda","len":1720}
{"id":"doc/discord-mentions/workflow/plain/markdown","detected":"Markdown","fnv":"1dd92cda","len":1720}
{"id":"doc/emoji/detect","val":"Markdown"}
{"id":"doc/emoji/words","val":59}
{"id":"doc/emoji/filename/md","val":"emoji-coverage.md"}
{"id":"doc/emoji/filename/docx","val":"emoji-coverage.docx"}
{"id":"doc/emoji/clean/default","text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\".","changes":[]}
{"id":"doc/emoji/clean/no-invisible","text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\".","changes":[]}
{"id":"doc/emoji/clean/no-spacing","text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\".","changes":[]}
{"id":"doc/emoji/clean/no-punctuation","text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\".","changes":[]}
{"id":"doc/emoji/clean/no-markdown","text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\".","changes":[]}
{"id":"doc/emoji/clean/none","text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\".","changes":[]}
{"id":"doc/emoji/clean/only-invisible","text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\".","changes":[]}
{"id":"doc/emoji/clean/only-spacing","text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\".","changes":[]}
{"id":"doc/emoji/clean/only-punctuation","text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\".","changes":[]}
{"id":"doc/emoji/clean/only-markdown","text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\".","changes":[]}
{"id":"doc/emoji/convert-raw/plain","output":{"text":"Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- bold 🎉 inside and code 🐛 span\n\nHeading with emoji 🌍 in the middle\n\nEmoji: ⚠️ · Meaning: warning\nEmoji: 👍🏻 · Meaning: approval\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"html":{"text":"<h1>Emoji coverage 🎯</h1><p>Skin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.</p><p>Variation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.</p><p>Flags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.</p><ul><li>🚀 emoji leading a list item</li><li>item ending with emoji ✅</li><li><strong>bold 🎉 inside</strong> and <code>code 🐛 span</code></li></ul><h2>Heading with emoji 🌍 in the middle</h2><table><thead><tr><th>Emoji</th><th>Meaning</th></tr></thead><tbody><tr><td>⚠️</td><td>warning</td></tr><tr><td>👍🏻</td><td>approval</td></tr></tbody></table><blockquote><p>Quoted emoji: 😀 with plain text after.</p></blockquote><p>Emoji adjacent to punctuation: done!🎊 and (🧪) and &quot;🔬&quot;.</p>"},"changes":[]}
{"id":"doc/emoji/convert-raw/whatsapp","output":{"text":"*Emoji coverage 🎯*\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- *bold 🎉 inside* and `code 🐛 span`\n\n*Heading with emoji 🌍 in the middle*\n\n*Emoji:* ⚠️ · *Meaning:* warning\n*Emoji:* 👍🏻 · *Meaning:* approval\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"html":{"text":"<h1>Emoji coverage 🎯</h1><p>Skin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.</p><p>Variation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.</p><p>Flags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.</p><ul><li>🚀 emoji leading a list item</li><li>item ending with emoji ✅</li><li><strong>bold 🎉 inside</strong> and <code>code 🐛 span</code></li></ul><h2>Heading with emoji 🌍 in the middle</h2><table><thead><tr><th>Emoji</th><th>Meaning</th></tr></thead><tbody><tr><td>⚠️</td><td>warning</td></tr><tr><td>👍🏻</td><td>approval</td></tr></tbody></table><blockquote><p>Quoted emoji: 😀 with plain text after.</p></blockquote><p>Emoji adjacent to punctuation: done!🎊 and (🧪) and &quot;🔬&quot;.</p>"},"changes":[]}
{"id":"doc/emoji/convert/whatsapp","cleaned":{"text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"output":{"text":"*Emoji coverage 🎯*\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- *bold 🎉 inside* and `code 🐛 span`\n\n*Heading with emoji 🌍 in the middle*\n\n*Emoji:* ⚠️ · *Meaning:* warning\n*Emoji:* 👍🏻 · *Meaning:* approval\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"html":{"text":"<h1>Emoji coverage 🎯</h1><p>Skin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.</p><p>Variation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.</p><p>Flags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.</p><ul><li>🚀 emoji leading a list item</li><li>item ending with emoji ✅</li><li><strong>bold 🎉 inside</strong> and <code>code 🐛 span</code></li></ul><h2>Heading with emoji 🌍 in the middle</h2><table><thead><tr><th>Emoji</th><th>Meaning</th></tr></thead><tbody><tr><td>⚠️</td><td>warning</td></tr><tr><td>👍🏻</td><td>approval</td></tr></tbody></table><blockquote><p>Quoted emoji: 😀 with plain text after.</p></blockquote><p>Emoji adjacent to punctuation: done!🎊 and (🧪) and &quot;🔬&quot;.</p>"},"changes":[]}
{"id":"doc/emoji/convert/google-chat","cleaned":{"text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"output":{"text":"*Emoji coverage 🎯*\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- *bold 🎉 inside* and `code 🐛 span`\n\n*Heading with emoji 🌍 in the middle*\n\n*Emoji:* ⚠️ · *Meaning:* warning\n*Emoji:* 👍🏻 · *Meaning:* approval\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"html":{"text":"<h1>Emoji coverage 🎯</h1><p>Skin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.</p><p>Variation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.</p><p>Flags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.</p><ul><li>🚀 emoji leading a list item</li><li>item ending with emoji ✅</li><li><strong>bold 🎉 inside</strong> and <code>code 🐛 span</code></li></ul><h2>Heading with emoji 🌍 in the middle</h2><table><thead><tr><th>Emoji</th><th>Meaning</th></tr></thead><tbody><tr><td>⚠️</td><td>warning</td></tr><tr><td>👍🏻</td><td>approval</td></tr></tbody></table><blockquote><p>Quoted emoji: 😀 with plain text after.</p></blockquote><p>Emoji adjacent to punctuation: done!🎊 and (🧪) and &quot;🔬&quot;.</p>"},"changes":[]}
{"id":"doc/emoji/convert/discord","cleaned":{"text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"output":{"text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n**Emoji:** ⚠️ · **Meaning:** warning\n**Emoji:** 👍🏻 · **Meaning:** approval\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"html":{"text":"<h1>Emoji coverage 🎯</h1><p>Skin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.</p><p>Variation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.</p><p>Flags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.</p><ul><li>🚀 emoji leading a list item</li><li>item ending with emoji ✅</li><li><strong>bold 🎉 inside</strong> and <code>code 🐛 span</code></li></ul><h2>Heading with emoji 🌍 in the middle</h2><table><thead><tr><th>Emoji</th><th>Meaning</th></tr></thead><tbody><tr><td>⚠️</td><td>warning</td></tr><tr><td>👍🏻</td><td>approval</td></tr></tbody></table><blockquote><p>Quoted emoji: 😀 with plain text after.</p></blockquote><p>Emoji adjacent to punctuation: done!🎊 and (🧪) and &quot;🔬&quot;.</p>"},"changes":[]}
{"id":"doc/emoji/convert/slack","cleaned":{"text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"output":{"text":"*Emoji coverage 🎯*\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n• 🚀 emoji leading a list item\n• item ending with emoji ✅\n• *bold 🎉 inside* and `code 🐛 span`\n\n*Heading with emoji 🌍 in the middle*\n\n*Emoji:* ⚠️ · *Meaning:* warning\n*Emoji:* 👍🏻 · *Meaning:* approval\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"html":{"text":"<h1>Emoji coverage 🎯</h1><p>Skin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.</p><p>Variation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.</p><p>Flags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.</p><ul><li>🚀 emoji leading a list item</li><li>item ending with emoji ✅</li><li><strong>bold 🎉 inside</strong> and <code>code 🐛 span</code></li></ul><h2>Heading with emoji 🌍 in the middle</h2><table><thead><tr><th>Emoji</th><th>Meaning</th></tr></thead><tbody><tr><td>⚠️</td><td>warning</td></tr><tr><td>👍🏻</td><td>approval</td></tr></tbody></table><blockquote><p>Quoted emoji: 😀 with plain text after.</p></blockquote><p>Emoji adjacent to punctuation: done!🎊 and (🧪) and &quot;🔬&quot;.</p>"},"changes":[]}
{"id":"doc/emoji/convert/teams","cleaned":{"text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"output":{"text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- *bold 🎉 inside* and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n*Emoji:* ⚠️ · *Meaning:* warning\n*Emoji:* 👍🏻 · *Meaning:* approval\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"html":{"text":"<h1>Emoji coverage 🎯</h1><p>Skin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.</p><p>Variation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.</p><p>Flags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.</p><ul><li>🚀 emoji leading a list item</li><li>item ending with emoji ✅</li><li><strong>bold 🎉 inside</strong> and <code>code 🐛 span</code></li></ul><h2>Heading with emoji 🌍 in the middle</h2><table><thead><tr><th>Emoji</th><th>Meaning</th></tr></thead><tbody><tr><td>⚠️</td><td>warning</td></tr><tr><td>👍🏻</td><td>approval</td></tr></tbody></table><blockquote><p>Quoted emoji: 😀 with plain text after.</p></blockquote><p>Emoji adjacent to punctuation: done!🎊 and (🧪) and &quot;🔬&quot;.</p>"},"changes":[]}
{"id":"doc/emoji/convert/zendesk","cleaned":{"text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"output":{"text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n**Emoji:** ⚠️ · **Meaning:** warning\n**Emoji:** 👍🏻 · **Meaning:** approval\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"html":{"text":"<h1>Emoji coverage 🎯</h1><p>Skin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.</p><p>Variation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.</p><p>Flags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.</p><ul><li>🚀 emoji leading a list item</li><li>item ending with emoji ✅</li><li><strong>bold 🎉 inside</strong> and <code>code 🐛 span</code></li></ul><h2>Heading with emoji 🌍 in the middle</h2><table><thead><tr><th>Emoji</th><th>Meaning</th></tr></thead><tbody><tr><td>⚠️</td><td>warning</td></tr><tr><td>👍🏻</td><td>approval</td></tr></tbody></table><blockquote><p>Quoted emoji: 😀 with plain text after.</p></blockquote><p>Emoji adjacent to punctuation: done!🎊 and (🧪) and &quot;🔬&quot;.</p>"},"changes":[]}
{"id":"doc/emoji/convert/jira","cleaned":{"text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"output":{"text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n**Emoji:** ⚠️ · **Meaning:** warning\n**Emoji:** 👍🏻 · **Meaning:** approval\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"html":{"text":"<h1>Emoji coverage 🎯</h1><p>Skin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.</p><p>Variation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.</p><p>Flags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.</p><ul><li>🚀 emoji leading a list item</li><li>item ending with emoji ✅</li><li><strong>bold 🎉 inside</strong> and <code>code 🐛 span</code></li></ul><h2>Heading with emoji 🌍 in the middle</h2><table><thead><tr><th>Emoji</th><th>Meaning</th></tr></thead><tbody><tr><td>⚠️</td><td>warning</td></tr><tr><td>👍🏻</td><td>approval</td></tr></tbody></table><blockquote><p>Quoted emoji: 😀 with plain text after.</p></blockquote><p>Emoji adjacent to punctuation: done!🎊 and (🧪) and &quot;🔬&quot;.</p>"},"changes":[]}
{"id":"doc/emoji/convert/plain","cleaned":{"text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"output":{"text":"Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- bold 🎉 inside and code 🐛 span\n\nHeading with emoji 🌍 in the middle\n\nEmoji: ⚠️ · Meaning: warning\nEmoji: 👍🏻 · Meaning: approval\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"html":{"text":"<h1>Emoji coverage 🎯</h1><p>Skin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.</p><p>Variation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.</p><p>Flags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.</p><ul><li>🚀 emoji leading a list item</li><li>item ending with emoji ✅</li><li><strong>bold 🎉 inside</strong> and <code>code 🐛 span</code></li></ul><h2>Heading with emoji 🌍 in the middle</h2><table><thead><tr><th>Emoji</th><th>Meaning</th></tr></thead><tbody><tr><td>⚠️</td><td>warning</td></tr><tr><td>👍🏻</td><td>approval</td></tr></tbody></table><blockquote><p>Quoted emoji: 😀 with plain text after.</p></blockquote><p>Emoji adjacent to punctuation: done!🎊 and (🧪) and &quot;🔬&quot;.</p>"},"changes":[]}
{"id":"doc/emoji/whatsapp-preview","fnv":"906591fc","len":1592}
{"id":"doc/emoji/diff-cleanup","val":[{"type":"same","value":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},{"type":"removed","value":"\n"}]}
{"id":"doc/emoji/workflow/auto/whatsapp","detected":"Markdown","cleaned":{"text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"output":{"text":"*Emoji coverage 🎯*\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- *bold 🎉 inside* and `code 🐛 span`\n\n*Heading with emoji 🌍 in the middle*\n\n*Emoji:* ⚠️ · *Meaning:* warning\n*Emoji:* 👍🏻 · *Meaning:* approval\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"html":{"text":"<h1>Emoji coverage 🎯</h1><p>Skin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.</p><p>Variation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.</p><p>Flags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.</p><ul><li>🚀 emoji leading a list item</li><li>item ending with emoji ✅</li><li><strong>bold 🎉 inside</strong> and <code>code 🐛 span</code></li></ul><h2>Heading with emoji 🌍 in the middle</h2><table><thead><tr><th>Emoji</th><th>Meaning</th></tr></thead><tbody><tr><td>⚠️</td><td>warning</td></tr><tr><td>👍🏻</td><td>approval</td></tr></tbody></table><blockquote><p>Quoted emoji: 😀 with plain text after.</p></blockquote><p>Emoji adjacent to punctuation: done!🎊 and (🧪) and &quot;🔬&quot;.</p>"},"changes":[]}
{"id":"doc/emoji/workflow/auto/google-chat","detected":"Markdown","cleaned":{"text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"output":{"text":"*Emoji coverage 🎯*\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- *bold 🎉 inside* and `code 🐛 span`\n\n*Heading with emoji 🌍 in the middle*\n\n*Emoji:* ⚠️ · *Meaning:* warning\n*Emoji:* 👍🏻 · *Meaning:* approval\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"html":{"text":"<h1>Emoji coverage 🎯</h1><p>Skin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.</p><p>Variation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.</p><p>Flags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.</p><ul><li>🚀 emoji leading a list item</li><li>item ending with emoji ✅</li><li><strong>bold 🎉 inside</strong> and <code>code 🐛 span</code></li></ul><h2>Heading with emoji 🌍 in the middle</h2><table><thead><tr><th>Emoji</th><th>Meaning</th></tr></thead><tbody><tr><td>⚠️</td><td>warning</td></tr><tr><td>👍🏻</td><td>approval</td></tr></tbody></table><blockquote><p>Quoted emoji: 😀 with plain text after.</p></blockquote><p>Emoji adjacent to punctuation: done!🎊 and (🧪) and &quot;🔬&quot;.</p>"},"changes":[]}
{"id":"doc/emoji/workflow/auto/discord","detected":"Markdown","cleaned":{"text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"output":{"text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n**Emoji:** ⚠️ · **Meaning:** warning\n**Emoji:** 👍🏻 · **Meaning:** approval\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"html":{"text":"<h1>Emoji coverage 🎯</h1><p>Skin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.</p><p>Variation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.</p><p>Flags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.</p><ul><li>🚀 emoji leading a list item</li><li>item ending with emoji ✅</li><li><strong>bold 🎉 inside</strong> and <code>code 🐛 span</code></li></ul><h2>Heading with emoji 🌍 in the middle</h2><table><thead><tr><th>Emoji</th><th>Meaning</th></tr></thead><tbody><tr><td>⚠️</td><td>warning</td></tr><tr><td>👍🏻</td><td>approval</td></tr></tbody></table><blockquote><p>Quoted emoji: 😀 with plain text after.</p></blockquote><p>Emoji adjacent to punctuation: done!🎊 and (🧪) and &quot;🔬&quot;.</p>"},"changes":[]}
{"id":"doc/emoji/workflow/auto/slack","detected":"Markdown","cleaned":{"text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"output":{"text":"*Emoji coverage 🎯*\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n• 🚀 emoji leading a list item\n• item ending with emoji ✅\n• *bold 🎉 inside* and `code 🐛 span`\n\n*Heading with emoji 🌍 in the middle*\n\n*Emoji:* ⚠️ · *Meaning:* warning\n*Emoji:* 👍🏻 · *Meaning:* approval\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"html":{"text":"<h1>Emoji coverage 🎯</h1><p>Skin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.</p><p>Variation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.</p><p>Flags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.</p><ul><li>🚀 emoji leading a list item</li><li>item ending with emoji ✅</li><li><strong>bold 🎉 inside</strong> and <code>code 🐛 span</code></li></ul><h2>Heading with emoji 🌍 in the middle</h2><table><thead><tr><th>Emoji</th><th>Meaning</th></tr></thead><tbody><tr><td>⚠️</td><td>warning</td></tr><tr><td>👍🏻</td><td>approval</td></tr></tbody></table><blockquote><p>Quoted emoji: 😀 with plain text after.</p></blockquote><p>Emoji adjacent to punctuation: done!🎊 and (🧪) and &quot;🔬&quot;.</p>"},"changes":[]}
{"id":"doc/emoji/workflow/auto/teams","detected":"Markdown","cleaned":{"text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"output":{"text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- *bold 🎉 inside* and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n*Emoji:* ⚠️ · *Meaning:* warning\n*Emoji:* 👍🏻 · *Meaning:* approval\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"html":{"text":"<h1>Emoji coverage 🎯</h1><p>Skin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.</p><p>Variation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.</p><p>Flags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.</p><ul><li>🚀 emoji leading a list item</li><li>item ending with emoji ✅</li><li><strong>bold 🎉 inside</strong> and <code>code 🐛 span</code></li></ul><h2>Heading with emoji 🌍 in the middle</h2><table><thead><tr><th>Emoji</th><th>Meaning</th></tr></thead><tbody><tr><td>⚠️</td><td>warning</td></tr><tr><td>👍🏻</td><td>approval</td></tr></tbody></table><blockquote><p>Quoted emoji: 😀 with plain text after.</p></blockquote><p>Emoji adjacent to punctuation: done!🎊 and (🧪) and &quot;🔬&quot;.</p>"},"changes":[]}
{"id":"doc/emoji/workflow/auto/zendesk","detected":"Markdown","cleaned":{"text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"output":{"text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n**Emoji:** ⚠️ · **Meaning:** warning\n**Emoji:** 👍🏻 · **Meaning:** approval\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"html":{"text":"<h1>Emoji coverage 🎯</h1><p>Skin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.</p><p>Variation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.</p><p>Flags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.</p><ul><li>🚀 emoji leading a list item</li><li>item ending with emoji ✅</li><li><strong>bold 🎉 inside</strong> and <code>code 🐛 span</code></li></ul><h2>Heading with emoji 🌍 in the middle</h2><p><strong>Emoji:</strong> ⚠️ · <strong>Meaning:</strong> warning\n<strong>Emoji:</strong> 👍🏻 · <strong>Meaning:</strong> approval</p><blockquote><p>Quoted emoji: 😀 with plain text after.</p></blockquote><p>Emoji adjacent to punctuation: done!🎊 and (🧪) and &quot;🔬&quot;.</p>"},"changes":[]}
{"id":"doc/emoji/workflow/auto/jira","detected":"Markdown","cleaned":{"text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"output":{"text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n**Emoji:** ⚠️ · **Meaning:** warning\n**Emoji:** 👍🏻 · **Meaning:** approval\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"html":{"text":"<h1>Emoji coverage 🎯</h1><p>Skin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.</p><p>Variation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.</p><p>Flags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.</p><ul><li>🚀 emoji leading a list item</li><li>item ending with emoji ✅</li><li><strong>bold 🎉 inside</strong> and <code>code 🐛 span</code></li></ul><h2>Heading with emoji 🌍 in the middle</h2><p><strong>Emoji:</strong> ⚠️ · <strong>Meaning:</strong> warning\n<strong>Emoji:</strong> 👍🏻 · <strong>Meaning:</strong> approval</p><blockquote><p>Quoted emoji: 😀 with plain text after.</p></blockquote><p>Emoji adjacent to punctuation: done!🎊 and (🧪) and &quot;🔬&quot;.</p>"},"changes":[]}
{"id":"doc/emoji/workflow/auto/plain","detected":"Markdown","cleaned":{"text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"output":{"text":"Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- bold 🎉 inside and code 🐛 span\n\nHeading with emoji 🌍 in the middle\n\nEmoji: ⚠️ · Meaning: warning\nEmoji: 👍🏻 · Meaning: approval\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"html":{"text":"<h1>Emoji coverage 🎯</h1><p>Skin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.</p><p>Variation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.</p><p>Flags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.</p><ul><li>🚀 emoji leading a list item</li><li>item ending with emoji ✅</li><li><strong>bold 🎉 inside</strong> and <code>code 🐛 span</code></li></ul><h2>Heading with emoji 🌍 in the middle</h2><table><thead><tr><th>Emoji</th><th>Meaning</th></tr></thead><tbody><tr><td>⚠️</td><td>warning</td></tr><tr><td>👍🏻</td><td>approval</td></tr></tbody></table><blockquote><p>Quoted emoji: 😀 with plain text after.</p></blockquote><p>Emoji adjacent to punctuation: done!🎊 and (🧪) and &quot;🔬&quot;.</p>"},"changes":[]}
{"id":"doc/emoji/workflow/auto/imessage","detected":"Markdown","cleaned":{"text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"output":{"text":"Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- bold 🎉 inside and code 🐛 span\n\nHeading with emoji 🌍 in the middle\n\nEmoji: ⚠️ · Meaning: warning\nEmoji: 👍🏻 · Meaning: approval\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"html":{"text":"<h1>Emoji coverage 🎯</h1><p>Skin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.</p><p>Variation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.</p><p>Flags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.</p><ul><li>🚀 emoji leading a list item</li><li>item ending with emoji ✅</li><li><strong>bold 🎉 inside</strong> and <code>code 🐛 span</code></li></ul><h2>Heading with emoji 🌍 in the middle</h2><table><thead><tr><th>Emoji</th><th>Meaning</th></tr></thead><tbody><tr><td>⚠️</td><td>warning</td></tr><tr><td>👍🏻</td><td>approval</td></tr></tbody></table><blockquote><p>Quoted emoji: 😀 with plain text after.</p></blockquote><p>Emoji adjacent to punctuation: done!🎊 and (🧪) and &quot;🔬&quot;.</p>"},"changes":[]}
{"id":"doc/emoji/workflow/auto/signal","detected":"Markdown","cleaned":{"text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"output":{"text":"Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- bold 🎉 inside and code 🐛 span\n\nHeading with emoji 🌍 in the middle\n\nEmoji: ⚠️ · Meaning: warning\nEmoji: 👍🏻 · Meaning: approval\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"html":{"text":"<h1>Emoji coverage 🎯</h1><p>Skin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.</p><p>Variation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.</p><p>Flags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.</p><ul><li>🚀 emoji leading a list item</li><li>item ending with emoji ✅</li><li><strong>bold 🎉 inside</strong> and <code>code 🐛 span</code></li></ul><h2>Heading with emoji 🌍 in the middle</h2><table><thead><tr><th>Emoji</th><th>Meaning</th></tr></thead><tbody><tr><td>⚠️</td><td>warning</td></tr><tr><td>👍🏻</td><td>approval</td></tr></tbody></table><blockquote><p>Quoted emoji: 😀 with plain text after.</p></blockquote><p>Emoji adjacent to punctuation: done!🎊 and (🧪) and &quot;🔬&quot;.</p>"},"changes":[]}
{"id":"doc/emoji/workflow/auto/telegram","detected":"Markdown","cleaned":{"text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"output":{"text":"Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- bold 🎉 inside and code 🐛 span\n\nHeading with emoji 🌍 in the middle\n\nEmoji: ⚠️ · Meaning: warning\nEmoji: 👍🏻 · Meaning: approval\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"html":{"text":"<h1>Emoji coverage 🎯</h1><p>Skin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.</p><p>Variation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.</p><p>Flags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.</p><ul><li>🚀 emoji leading a list item</li><li>item ending with emoji ✅</li><li><strong>bold 🎉 inside</strong> and <code>code 🐛 span</code></li></ul><h2>Heading with emoji 🌍 in the middle</h2><table><thead><tr><th>Emoji</th><th>Meaning</th></tr></thead><tbody><tr><td>⚠️</td><td>warning</td></tr><tr><td>👍🏻</td><td>approval</td></tr></tbody></table><blockquote><p>Quoted emoji: 😀 with plain text after.</p></blockquote><p>Emoji adjacent to punctuation: done!🎊 and (🧪) and &quot;🔬&quot;.</p>"},"changes":[]}
{"id":"doc/emoji/workflow/auto/gmail","detected":"Markdown","cleaned":{"text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"output":{"text":"Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- bold 🎉 inside and code 🐛 span\n\nHeading with emoji 🌍 in the middle\n\nEmoji: ⚠️ · Meaning: warning\nEmoji: 👍🏻 · Meaning: approval\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"html":{"text":"<h1>Emoji coverage 🎯</h1><p>Skin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.</p><p>Variation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.</p><p>Flags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.</p><ul><li>🚀 emoji leading a list item</li><li>item ending with emoji ✅</li><li><strong>bold 🎉 inside</strong> and <code>code 🐛 span</code></li></ul><h2>Heading with emoji 🌍 in the middle</h2><table><thead><tr><th>Emoji</th><th>Meaning</th></tr></thead><tbody><tr><td>⚠️</td><td>warning</td></tr><tr><td>👍🏻</td><td>approval</td></tr></tbody></table><blockquote><p>Quoted emoji: 😀 with plain text after.</p></blockquote><p>Emoji adjacent to punctuation: done!🎊 and (🧪) and &quot;🔬&quot;.</p>"},"changes":[]}
{"id":"doc/emoji/workflow/auto/outlook","detected":"Markdown","cleaned":{"text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"output":{"text":"Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- bold 🎉 inside and code 🐛 span\n\nHeading with emoji 🌍 in the middle\n\nEmoji: ⚠️ · Meaning: warning\nEmoji: 👍🏻 · Meaning: approval\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"html":{"text":"<h1>Emoji coverage 🎯</h1><p>Skin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.</p><p>Variation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.</p><p>Flags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.</p><ul><li>🚀 emoji leading a list item</li><li>item ending with emoji ✅</li><li><strong>bold 🎉 inside</strong> and <code>code 🐛 span</code></li></ul><h2>Heading with emoji 🌍 in the middle</h2><table><thead><tr><th>Emoji</th><th>Meaning</th></tr></thead><tbody><tr><td>⚠️</td><td>warning</td></tr><tr><td>👍🏻</td><td>approval</td></tr></tbody></table><blockquote><p>Quoted emoji: 😀 with plain text after.</p></blockquote><p>Emoji adjacent to punctuation: done!🎊 and (🧪) and &quot;🔬&quot;.</p>"},"changes":[]}
{"id":"doc/emoji/workflow/auto/shortwave","detected":"Markdown","cleaned":{"text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"output":{"text":"Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- bold 🎉 inside and code 🐛 span\n\nHeading with emoji 🌍 in the middle\n\nEmoji: ⚠️ · Meaning: warning\nEmoji: 👍🏻 · Meaning: approval\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"html":{"text":"<h1>Emoji coverage 🎯</h1><p>Skin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.</p><p>Variation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.</p><p>Flags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.</p><ul><li>🚀 emoji leading a list item</li><li>item ending with emoji ✅</li><li><strong>bold 🎉 inside</strong> and <code>code 🐛 span</code></li></ul><h2>Heading with emoji 🌍 in the middle</h2><table><thead><tr><th>Emoji</th><th>Meaning</th></tr></thead><tbody><tr><td>⚠️</td><td>warning</td></tr><tr><td>👍🏻</td><td>approval</td></tr></tbody></table><blockquote><p>Quoted emoji: 😀 with plain text after.</p></blockquote><p>Emoji adjacent to punctuation: done!🎊 and (🧪) and &quot;🔬&quot;.</p>"},"changes":[]}
{"id":"doc/emoji/workflow/auto/notion","detected":"Markdown","cleaned":{"text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"output":{"text":"Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- bold 🎉 inside and code 🐛 span\n\nHeading with emoji 🌍 in the middle\n\nEmoji: ⚠️ · Meaning: warning\nEmoji: 👍🏻 · Meaning: approval\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"html":{"text":"<h1>Emoji coverage 🎯</h1><p>Skin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.</p><p>Variation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.</p><p>Flags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.</p><ul><li>🚀 emoji leading a list item</li><li>item ending with emoji ✅</li><li><strong>bold 🎉 inside</strong> and <code>code 🐛 span</code></li></ul><h2>Heading with emoji 🌍 in the middle</h2><table><thead><tr><th>Emoji</th><th>Meaning</th></tr></thead><tbody><tr><td>⚠️</td><td>warning</td></tr><tr><td>👍🏻</td><td>approval</td></tr></tbody></table><blockquote><p>Quoted emoji: 😀 with plain text after.</p></blockquote><p>Emoji adjacent to punctuation: done!🎊 and (🧪) and &quot;🔬&quot;.</p>"},"changes":[]}
{"id":"doc/emoji/workflow/auto/confluence","detected":"Markdown","cleaned":{"text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"output":{"text":"Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- bold 🎉 inside and code 🐛 span\n\nHeading with emoji 🌍 in the middle\n\nEmoji: ⚠️ · Meaning: warning\nEmoji: 👍🏻 · Meaning: approval\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"html":{"text":"<h1>Emoji coverage 🎯</h1><p>Skin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.</p><p>Variation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.</p><p>Flags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.</p><ul><li>🚀 emoji leading a list item</li><li>item ending with emoji ✅</li><li><strong>bold 🎉 inside</strong> and <code>code 🐛 span</code></li></ul><h2>Heading with emoji 🌍 in the middle</h2><table><thead><tr><th>Emoji</th><th>Meaning</th></tr></thead><tbody><tr><td>⚠️</td><td>warning</td></tr><tr><td>👍🏻</td><td>approval</td></tr></tbody></table><blockquote><p>Quoted emoji: 😀 with plain text after.</p></blockquote><p>Emoji adjacent to punctuation: done!🎊 and (🧪) and &quot;🔬&quot;.</p>"},"changes":[]}
{"id":"doc/emoji/workflow/auto/calendar","detected":"Markdown","cleaned":{"text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"output":{"text":"Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- bold 🎉 inside and code 🐛 span\n\nHeading with emoji 🌍 in the middle\n\nEmoji: ⚠️ · Meaning: warning\nEmoji: 👍🏻 · Meaning: approval\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"html":{"text":"<h1>Emoji coverage 🎯</h1><p>Skin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.</p><p>Variation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.</p><p>Flags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.</p><ul><li>🚀 emoji leading a list item</li><li>item ending with emoji ✅</li><li><strong>bold 🎉 inside</strong> and <code>code 🐛 span</code></li></ul><h2>Heading with emoji 🌍 in the middle</h2><table><thead><tr><th>Emoji</th><th>Meaning</th></tr></thead><tbody><tr><td>⚠️</td><td>warning</td></tr><tr><td>👍🏻</td><td>approval</td></tr></tbody></table><blockquote><p>Quoted emoji: 😀 with plain text after.</p></blockquote><p>Emoji adjacent to punctuation: done!🎊 and (🧪) and &quot;🔬&quot;.</p>"},"changes":[]}
{"id":"doc/emoji/workflow/auto/word","detected":"Markdown","cleaned":{"text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"output":{"text":"Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- bold 🎉 inside and code 🐛 span\n\nHeading with emoji 🌍 in the middle\n\nEmoji: ⚠️ · Meaning: warning\nEmoji: 👍🏻 · Meaning: approval\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"html":{"text":"<h1>Emoji coverage 🎯</h1><p>Skin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.</p><p>Variation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.</p><p>Flags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.</p><ul><li>🚀 emoji leading a list item</li><li>item ending with emoji ✅</li><li><strong>bold 🎉 inside</strong> and <code>code 🐛 span</code></li></ul><h2>Heading with emoji 🌍 in the middle</h2><table><thead><tr><th>Emoji</th><th>Meaning</th></tr></thead><tbody><tr><td>⚠️</td><td>warning</td></tr><tr><td>👍🏻</td><td>approval</td></tr></tbody></table><blockquote><p>Quoted emoji: 😀 with plain text after.</p></blockquote><p>Emoji adjacent to punctuation: done!🎊 and (🧪) and &quot;🔬&quot;.</p>"},"changes":[]}
{"id":"doc/emoji/workflow/auto/google-docs","detected":"Markdown","cleaned":{"text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"output":{"text":"Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- bold 🎉 inside and code 🐛 span\n\nHeading with emoji 🌍 in the middle\n\nEmoji: ⚠️ · Meaning: warning\nEmoji: 👍🏻 · Meaning: approval\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"html":{"text":"<h1>Emoji coverage 🎯</h1><p>Skin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.</p><p>Variation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.</p><p>Flags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.</p><ul><li>🚀 emoji leading a list item</li><li>item ending with emoji ✅</li><li><strong>bold 🎉 inside</strong> and <code>code 🐛 span</code></li></ul><h2>Heading with emoji 🌍 in the middle</h2><table><thead><tr><th>Emoji</th><th>Meaning</th></tr></thead><tbody><tr><td>⚠️</td><td>warning</td></tr><tr><td>👍🏻</td><td>approval</td></tr></tbody></table><blockquote><p>Quoted emoji: 😀 with plain text after.</p></blockquote><p>Emoji adjacent to punctuation: done!🎊 and (🧪) and &quot;🔬&quot;.</p>"},"changes":[]}
{"id":"doc/emoji/workflow/auto/markdown","detected":"Markdown","cleaned":{"text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"output":{"text":"# Emoji coverage 🎯\n\nSkin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.\n\nVariation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.\n\nFlags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.\n\n- 🚀 emoji leading a list item\n- item ending with emoji ✅\n- **bold 🎉 inside** and `code 🐛 span`\n\n## Heading with emoji 🌍 in the middle\n\n| Emoji | Meaning |\n| --- | --- |\n| ⚠️ | warning |\n| 👍🏻 | approval |\n\n> Quoted emoji: 😀 with plain text after.\n\nEmoji adjacent to punctuation: done!🎊 and (🧪) and \"🔬\"."},"html":{"text":"<h1>Emoji coverage 🎯</h1><p>Skin tone and ZWJ sequences: 👩🏽‍💻 and 👨‍👩‍👧‍👦 and 🧑🏿‍🚀 stay whole.</p><p>Variation selector emoji: ❤️ ☂️ ✔️ and keycaps 1️⃣ 2️⃣ #️⃣.</p><p>Flags: 🇩🇪 🇯🇵 🇺🇳 render as pairs.</p><ul><li>🚀 emoji leading a list item</li><li>item ending with emoji ✅</li><li><strong>bold 🎉 inside</strong> and <code>code 🐛 span</code></li></ul><h2>Heading with emoji 🌍 in the middle</h2><table><thead><tr><th>Emoji</th><th>Meaning</th></tr></thead><tbody><tr><td>⚠️</td><td>warning</td></tr><tr><td>👍🏻</td><td>approval</td></tr></tbody></table><blockquote><p>Quoted emoji: 😀 with plain text after.</p></blockquote><p>Emoji adjacent to punctuation: done!🎊 and (🧪) and &quot;🔬&quot;.</p>"},"changes":[]}
{"id":"doc/emoji/workflow/markdown/whatsapp","detected":"Markdown","fnv":"3d64b739","len":1827}
{"id":"doc/emoji/workflow/markdown/google-chat","detected":"Markdown","fnv":"3d64b739","len":1827}
{"id":"doc/emoji/workflow/markdown/discord","detected":"Markdown","fnv":"7de75676","len":1838}
{"id":"doc/emoji/workflow/markdown/slack","detected":"Markdown","fnv":"76e85860","len":1827}
{"id":"doc/emoji/workflow/markdown/teams","detected":"Markdown","fnv":"0fe75e96","len":1828}
{"id":"doc/emoji/workflow/markdown/zendesk","detected":"Markdown","fnv":"d6ec3a34","len":1815}
{"id":"doc/emoji/workflow/markdown/jira","detected":"Markdown","fnv":"d6ec3a34","len":1815}
{"id":"doc/emoji/workflow/markdown/plain","detected":"Markdown","fnv":"c2cc0add","len":1811}
{"id":"doc/emoji/workflow/markdown/imessage","detected":"Markdown","fnv":"c2cc0add","len":1811}
{"id":"doc/emoji/workflow/markdown/signal","detected":"Markdown","fnv":"c2cc0add","len":1811}
{"id":"doc/emoji/workflow/markdown/telegram","detected":"Markdown","fnv":"c2cc0add","len":1811}
{"id":"doc/emoji/workflow/markdown/gmail","detected":"Markdown","fnv":"c2cc0add","len":1811}
{"id":"doc/emoji/workflow/markdown/outlook","detected":"Markdown","fnv":"c2cc0add","len":1811}
{"id":"doc/emoji/workflow/markdown/shortwave","detected":"Markdown","fnv":"c2cc0add","len":1811}
{"id":"doc/emoji/workflow/markdown/notion","detected":"Markdown","fnv":"c2cc0add","len":1811}
{"id":"doc/emoji/workflow/markdown/confluence","detected":"Markdown","fnv":"c2cc0add","len":1811}
{"id":"doc/emoji/workflow/markdown/calendar","detected":"Markdown","fnv":"c2cc0add","len":1811}
{"id":"doc/emoji/workflow/markdown/word","detected":"Markdown","fnv":"c2cc0add","len":1811}
{"id":"doc/emoji/workflow/markdown/google-docs","detected":"Markdown","fnv":"c2cc0add","len":1811}
{"id":"doc/emoji/workflow/markdown/markdown","detected":"Markdown","fnv":"719e1173","len":1834}
{"id":"doc/emoji/workflow/plain/whatsapp","detected":"Markdown","fnv":"b52ff76a","len":1703}
{"id":"doc/emoji/workflow/plain/google-chat","detected":"Markdown","fnv":"b52ff76a","len":1703}
{"id":"doc/emoji/workflow/plain/discord","detected":"Markdown","fnv":"b52ff76a","len":1703}
{"id":"doc/emoji/workflow/plain/slack","detected":"Markdown","fnv":"b52ff76a","len":1703}
{"id":"doc/emoji/workflow/plain/teams","detected":"Markdown","fnv":"b52ff76a","len":1703}
{"id":"doc/emoji/workflow/plain/zendesk","detected":"Markdown","fnv":"b52ff76a","len":1703}
{"id":"doc/emoji/workflow/plain/jira","detected":"Markdown","fnv":"b52ff76a","len":1703}
{"id":"doc/emoji/workflow/plain/plain","detected":"Markdown","fnv":"b52ff76a","len":1703}
{"id":"doc/emoji/workflow/plain/imessage","detected":"Markdown","fnv":"b52ff76a","len":1703}
{"id":"doc/emoji/workflow/plain/signal","detected":"Markdown","fnv":"b52ff76a","len":1703}
{"id":"doc/emoji/workflow/plain/telegram","detected":"Markdown","fnv":"b52ff76a","len":1703}
{"id":"doc/emoji/workflow/plain/gmail","detected":"Markdown","fnv":"b52ff76a","len":1703}
{"id":"doc/emoji/workflow/plain/outlook","detected":"Markdown","fnv":"b52ff76a","len":1703}
{"id":"doc/emoji/workflow/plain/shortwave","detected":"Markdown","fnv":"b52ff76a","len":1703}
{"id":"doc/emoji/workflow/plain/notion","detected":"Markdown","fnv":"b52ff76a","len":1703}
{"id":"doc/emoji/workflow/plain/confluence","detected":"Markdown","fnv":"b52ff76a","len":1703}
{"id":"doc/emoji/workflow/plain/calendar","detected":"Markdown","fnv":"b52ff76a","len":1703}
{"id":"doc/emoji/workflow/plain/word","detected":"Markdown","fnv":"b52ff76a","len":1703}
{"id":"doc/emoji/workflow/plain/google-docs","detected":"Markdown","fnv":"b52ff76a","len":1703}
{"id":"doc/emoji/workflow/plain/markdown","detected":"Markdown","fnv":"b52ff76a","len":1703}
{"id":"doc/fenced-code-tricks/detect","val":"Markdown"}
{"id":"doc/fenced-code-tricks/words","val":80}
{"id":"doc/fenced-code-tricks/filename/md","val":"fenced-code-containing-markdown-like-content.md"}
{"id":"doc/fenced-code-tricks/filename/docx","val":"fenced-code-containing-markdown-like-content.docx"}
{"id":"doc/fenced-code-tricks/clean/default","text":"# Fenced code containing markdown-like content\n\n```md\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n~~~\n```\nbacktick fence inside a tilde fence\n```\n~~~\n\n````text\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```js\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n    # indented code, not a heading\n    - indented code, not a list\n\nProse after all fences with `inline ``double`` span` still works.","changes":[]}
{"id":"doc/fenced-code-tricks/convert/whatsapp","cleaned":{"text":"# Fenced code containing markdown-like content\n\n```md\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n~~~\n```\nbacktick fence inside a tilde fence\n```\n~~~\n\n````text\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```js\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n    # indented code, not a heading\n    - indented code, not a list\n\nProse after all fences with `inline ``double`` span` still works."},"output":{"text":"*Fenced code containing markdown-like content*\n\n```\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n````\n```\nbacktick fence inside a tilde fence\n```\n````\n\n````\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n```\n# indented code, not a heading\n- indented code, not a list\n```\n\nProse after all fences with ```inline ``double`` span``` still works."},"html":{"text":"<h1>Fenced code containing markdown-like content</h1><pre><code># this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code</code></pre><pre><code>```\nbacktick fence inside a tilde fence\n```</code></pre><pre><code>```\nthree-backtick fence inside a four-backtick fence\n```</code></pre><pre><code>const table = &quot;| a | b |&quot;;\nconst quote = &quot;&gt; not a quote&quot;;\nconst dash = &quot;—&quot; ; // em dash stays untouched inside code</code></pre><p>Indented code block follows:</p><pre><code># indented code, not a heading\n- indented code, not a list</code></pre><p>Prose after all fences with <code>inline ``double`` span</code> still works.</p>"},"changes":[]}
{"id":"doc/fenced-code-tricks/convert/google-chat","cleaned":{"text":"# Fenced code containing markdown-like content\n\n```md\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n~~~\n```\nbacktick fence inside a tilde fence\n```\n~~~\n\n````text\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```js\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n    # indented code, not a heading\n    - indented code, not a list\n\nProse after all fences with `inline ``double`` span` still works."},"output":{"text":"*Fenced code containing markdown-like content*\n\n```\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n````\n```\nbacktick fence inside a tilde fence\n```\n````\n\n````\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n```\n# indented code, not a heading\n- indented code, not a list\n```\n\nProse after all fences with ```inline ``double`` span``` still works."},"html":{"text":"<h1>Fenced code containing markdown-like content</h1><pre><code># this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code</code></pre><pre><code>```\nbacktick fence inside a tilde fence\n```</code></pre><pre><code>```\nthree-backtick fence inside a four-backtick fence\n```</code></pre><pre><code>const table = &quot;| a | b |&quot;;\nconst quote = &quot;&gt; not a quote&quot;;\nconst dash = &quot;—&quot; ; // em dash stays untouched inside code</code></pre><p>Indented code block follows:</p><pre><code># indented code, not a heading\n- indented code, not a list</code></pre><p>Prose after all fences with <code>inline ``double`` span</code> still works.</p>"},"changes":[]}
{"id":"doc/fenced-code-tricks/convert/discord","cleaned":{"text":"# Fenced code containing markdown-like content\n\n```md\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n~~~\n```\nbacktick fence inside a tilde fence\n```\n~~~\n\n````text\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```js\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n    # indented code, not a heading\n    - indented code, not a list\n\nProse after all fences with `inline ``double`` span` still works."},"output":{"text":"# Fenced code containing markdown-like content\n\n```\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n````\n```\nbacktick fence inside a tilde fence\n```\n````\n\n````\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n```\n# indented code, not a heading\n- indented code, not a list\n```\n\nProse after all fences with ```inline ``double`` span``` still works."},"html":{"text":"<h1>Fenced code containing markdown-like content</h1><pre><code># this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code</code></pre><pre><code>```\nbacktick fence inside a tilde fence\n```</code></pre><pre><code>```\nthree-backtick fence inside a four-backtick fence\n```</code></pre><pre><code>const table = &quot;| a | b |&quot;;\nconst quote = &quot;&gt; not a quote&quot;;\nconst dash = &quot;—&quot; ; // em dash stays untouched inside code</code></pre><p>Indented code block follows:</p><pre><code># indented code, not a heading\n- indented code, not a list</code></pre><p>Prose after all fences with <code>inline ``double`` span</code> still works.</p>"},"changes":[]}
{"id":"doc/fenced-code-tricks/convert/slack","cleaned":{"text":"# Fenced code containing markdown-like content\n\n```md\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n~~~\n```\nbacktick fence inside a tilde fence\n```\n~~~\n\n````text\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```js\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n    # indented code, not a heading\n    - indented code, not a list\n\nProse after all fences with `inline ``double`` span` still works."},"output":{"text":"*Fenced code containing markdown-like content*\n\n```\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n````\n```\nbacktick fence inside a tilde fence\n```\n````\n\n````\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n```\n# indented code, not a heading\n- indented code, not a list\n```\n\nProse after all fences with ```inline ``double`` span``` still works."},"html":{"text":"<h1>Fenced code containing markdown-like content</h1><pre><code># this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code</code></pre><pre><code>```\nbacktick fence inside a tilde fence\n```</code></pre><pre><code>```\nthree-backtick fence inside a four-backtick fence\n```</code></pre><pre><code>const table = &quot;| a | b |&quot;;\nconst quote = &quot;&gt; not a quote&quot;;\nconst dash = &quot;—&quot; ; // em dash stays untouched inside code</code></pre><p>Indented code block follows:</p><pre><code># indented code, not a heading\n- indented code, not a list</code></pre><p>Prose after all fences with <code>inline ``double`` span</code> still works.</p>"},"changes":[]}
{"id":"doc/fenced-code-tricks/convert/teams","cleaned":{"text":"# Fenced code containing markdown-like content\n\n```md\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n~~~\n```\nbacktick fence inside a tilde fence\n```\n~~~\n\n````text\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```js\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n    # indented code, not a heading\n    - indented code, not a list\n\nProse after all fences with `inline ``double`` span` still works."},"output":{"text":"# Fenced code containing markdown-like content\n\n```\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n````\n```\nbacktick fence inside a tilde fence\n```\n````\n\n````\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n```\n# indented code, not a heading\n- indented code, not a list\n```\n\nProse after all fences with ```inline ``double`` span``` still works."},"html":{"text":"<h1>Fenced code containing markdown-like content</h1><pre><code># this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code</code></pre><pre><code>```\nbacktick fence inside a tilde fence\n```</code></pre><pre><code>```\nthree-backtick fence inside a four-backtick fence\n```</code></pre><pre><code>const table = &quot;| a | b |&quot;;\nconst quote = &quot;&gt; not a quote&quot;;\nconst dash = &quot;—&quot; ; // em dash stays untouched inside code</code></pre><p>Indented code block follows:</p><pre><code># indented code, not a heading\n- indented code, not a list</code></pre><p>Prose after all fences with <code>inline ``double`` span</code> still works.</p>"},"changes":[]}
{"id":"doc/fenced-code-tricks/convert/zendesk","cleaned":{"text":"# Fenced code containing markdown-like content\n\n```md\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n~~~\n```\nbacktick fence inside a tilde fence\n```\n~~~\n\n````text\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```js\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n    # indented code, not a heading\n    - indented code, not a list\n\nProse after all fences with `inline ``double`` span` still works."},"output":{"text":"# Fenced code containing markdown-like content\n\n> # this heading is code\n> - this list is code\n> **this bold is code**\n> [this link](https://example.com/inside-fence) is code\n\n> ```\n> backtick fence inside a tilde fence\n> ```\n\n> ```\n> three-backtick fence inside a four-backtick fence\n> ```\n\n> const table = \"| a | b |\";\n> const quote = \"> not a quote\";\n> const dash = \"—\" ; // em dash stays untouched inside code\n\nIndented code block follows:\n\n> # indented code, not a heading\n> - indented code, not a list\n\nProse after all fences with ```inline ``double`` span``` still works."},"html":{"text":"<h1>Fenced code containing markdown-like content</h1><pre><code># this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code</code></pre><pre><code>```\nbacktick fence inside a tilde fence\n```</code></pre><pre><code>```\nthree-backtick fence inside a four-backtick fence\n```</code></pre><pre><code>const table = &quot;| a | b |&quot;;\nconst quote = &quot;&gt; not a quote&quot;;\nconst dash = &quot;—&quot; ; // em dash stays untouched inside code</code></pre><p>Indented code block follows:</p><pre><code># indented code, not a heading\n- indented code, not a list</code></pre><p>Prose after all fences with <code>inline ``double`` span</code> still works.</p>"},"changes":[]}
{"id":"doc/fenced-code-tricks/convert/jira","cleaned":{"text":"# Fenced code containing markdown-like content\n\n```md\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n~~~\n```\nbacktick fence inside a tilde fence\n```\n~~~\n\n````text\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```js\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n    # indented code, not a heading\n    - indented code, not a list\n\nProse after all fences with `inline ``double`` span` still works."},"output":{"text":"# Fenced code containing markdown-like content\n\n```\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n````\n```\nbacktick fence inside a tilde fence\n```\n````\n\n````\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n```\n# indented code, not a heading\n- indented code, not a list\n```\n\nProse after all fences with ```inline ``double`` span``` still works."},"html":{"text":"<h1>Fenced code containing markdown-like content</h1><pre><code># this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code</code></pre><pre><code>```\nbacktick fence inside a tilde fence\n```</code></pre><pre><code>```\nthree-backtick fence inside a four-backtick fence\n```</code></pre><pre><code>const table = &quot;| a | b |&quot;;\nconst quote = &quot;&gt; not a quote&quot;;\nconst dash = &quot;—&quot; ; // em dash stays untouched inside code</code></pre><p>Indented code block follows:</p><pre><code># indented code, not a heading\n- indented code, not a list</code></pre><p>Prose after all fences with <code>inline ``double`` span</code> still works.</p>"},"changes":[]}
{"id":"doc/fenced-code-tricks/convert/plain","cleaned":{"text":"# Fenced code containing markdown-like content\n\n```md\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n~~~\n```\nbacktick fence inside a tilde fence\n```\n~~~\n\n````text\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```js\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n    # indented code, not a heading\n    - indented code, not a list\n\nProse after all fences with `inline ``double`` span` still works."},"output":{"text":"Fenced code containing markdown-like content\n\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n\n```\nbacktick fence inside a tilde fence\n```\n\n```\nthree-backtick fence inside a four-backtick fence\n```\n\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n\nIndented code block follows:\n\n# indented code, not a heading\n- indented code, not a list\n\nProse after all fences with inline ``double`` span still works."},"html":{"text":"<h1>Fenced code containing markdown-like content</h1><pre><code># this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code</code></pre><pre><code>```\nbacktick fence inside a tilde fence\n```</code></pre><pre><code>```\nthree-backtick fence inside a four-backtick fence\n```</code></pre><pre><code>const table = &quot;| a | b |&quot;;\nconst quote = &quot;&gt; not a quote&quot;;\nconst dash = &quot;—&quot; ; // em dash stays untouched inside code</code></pre><p>Indented code block follows:</p><pre><code># indented code, not a heading\n- indented code, not a list</code></pre><p>Prose after all fences with <code>inline ``double`` span</code> still works.</p>"},"changes":[]}
{"id":"doc/fenced-code-tricks/whatsapp-preview","fnv":"8cf83daf","len":1817}
{"id":"doc/fenced-code-tricks/diff-cleanup","val":[{"type":"same","value":"# Fenced code containing markdown-like content\n\n```md\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n~~~\n```\nbacktick fence inside a tilde fence\n```\n~~~\n\n````text\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```js\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n    # indented code, not a heading\n    - indented code, not a list\n\nProse after all fences with `inline ``double`` span` still works."},{"type":"removed","value":"\n"}]}
{"id":"doc/fenced-code-tricks/workflow/auto/whatsapp","detected":"Markdown","cleaned":{"text":"# Fenced code containing markdown-like content\n\n```md\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n~~~\n```\nbacktick fence inside a tilde fence\n```\n~~~\n\n````text\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```js\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n    # indented code, not a heading\n    - indented code, not a list\n\nProse after all fences with `inline ``double`` span` still works."},"output":{"text":"*Fenced code containing markdown-like content*\n\n```\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n````\n```\nbacktick fence inside a tilde fence\n```\n````\n\n````\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n```\n# indented code, not a heading\n- indented code, not a list\n```\n\nProse after all fences with ```inline ``double`` span``` still works."},"html":{"text":"<h1>Fenced code containing markdown-like content</h1><pre><code># this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code</code></pre><pre><code>```\nbacktick fence inside a tilde fence\n```</code></pre><pre><code>```\nthree-backtick fence inside a four-backtick fence\n```</code></pre><pre><code>const table = &quot;| a | b |&quot;;\nconst quote = &quot;&gt; not a quote&quot;;\nconst dash = &quot;—&quot; ; // em dash stays untouched inside code</code></pre><p>Indented code block follows:</p><pre><code># indented code, not a heading\n- indented code, not a list</code></pre><p>Prose after all fences with <code>inline ``double`` span</code> still works.</p>"},"changes":[]}
{"id":"doc/fenced-code-tricks/workflow/auto/google-chat","detected":"Markdown","cleaned":{"text":"# Fenced code containing markdown-like content\n\n```md\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n~~~\n```\nbacktick fence inside a tilde fence\n```\n~~~\n\n````text\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```js\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n    # indented code, not a heading\n    - indented code, not a list\n\nProse after all fences with `inline ``double`` span` still works."},"output":{"text":"*Fenced code containing markdown-like content*\n\n```\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n````\n```\nbacktick fence inside a tilde fence\n```\n````\n\n````\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n```\n# indented code, not a heading\n- indented code, not a list\n```\n\nProse after all fences with ```inline ``double`` span``` still works."},"html":{"text":"<h1>Fenced code containing markdown-like content</h1><pre><code># this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code</code></pre><pre><code>```\nbacktick fence inside a tilde fence\n```</code></pre><pre><code>```\nthree-backtick fence inside a four-backtick fence\n```</code></pre><pre><code>const table = &quot;| a | b |&quot;;\nconst quote = &quot;&gt; not a quote&quot;;\nconst dash = &quot;—&quot; ; // em dash stays untouched inside code</code></pre><p>Indented code block follows:</p><pre><code># indented code, not a heading\n- indented code, not a list</code></pre><p>Prose after all fences with <code>inline ``double`` span</code> still works.</p>"},"changes":[]}
{"id":"doc/fenced-code-tricks/workflow/auto/discord","detected":"Markdown","cleaned":{"text":"# Fenced code containing markdown-like content\n\n```md\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n~~~\n```\nbacktick fence inside a tilde fence\n```\n~~~\n\n````text\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```js\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n    # indented code, not a heading\n    - indented code, not a list\n\nProse after all fences with `inline ``double`` span` still works."},"output":{"text":"# Fenced code containing markdown-like content\n\n```\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n````\n```\nbacktick fence inside a tilde fence\n```\n````\n\n````\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n```\n# indented code, not a heading\n- indented code, not a list\n```\n\nProse after all fences with ```inline ``double`` span``` still works."},"html":{"text":"<h1>Fenced code containing markdown-like content</h1><pre><code># this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code</code></pre><pre><code>```\nbacktick fence inside a tilde fence\n```</code></pre><pre><code>```\nthree-backtick fence inside a four-backtick fence\n```</code></pre><pre><code>const table = &quot;| a | b |&quot;;\nconst quote = &quot;&gt; not a quote&quot;;\nconst dash = &quot;—&quot; ; // em dash stays untouched inside code</code></pre><p>Indented code block follows:</p><pre><code># indented code, not a heading\n- indented code, not a list</code></pre><p>Prose after all fences with <code>inline ``double`` span</code> still works.</p>"},"changes":[]}
{"id":"doc/fenced-code-tricks/workflow/auto/slack","detected":"Markdown","cleaned":{"text":"# Fenced code containing markdown-like content\n\n```md\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n~~~\n```\nbacktick fence inside a tilde fence\n```\n~~~\n\n````text\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```js\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n    # indented code, not a heading\n    - indented code, not a list\n\nProse after all fences with `inline ``double`` span` still works."},"output":{"text":"*Fenced code containing markdown-like content*\n\n```\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n````\n```\nbacktick fence inside a tilde fence\n```\n````\n\n````\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n```\n# indented code, not a heading\n- indented code, not a list\n```\n\nProse after all fences with ```inline ``double`` span``` still works."},"html":{"text":"<h1>Fenced code containing markdown-like content</h1><pre><code># this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code</code></pre><pre><code>```\nbacktick fence inside a tilde fence\n```</code></pre><pre><code>```\nthree-backtick fence inside a four-backtick fence\n```</code></pre><pre><code>const table = &quot;| a | b |&quot;;\nconst quote = &quot;&gt; not a quote&quot;;\nconst dash = &quot;—&quot; ; // em dash stays untouched inside code</code></pre><p>Indented code block follows:</p><pre><code># indented code, not a heading\n- indented code, not a list</code></pre><p>Prose after all fences with <code>inline ``double`` span</code> still works.</p>"},"changes":[]}
{"id":"doc/fenced-code-tricks/workflow/auto/teams","detected":"Markdown","cleaned":{"text":"# Fenced code containing markdown-like content\n\n```md\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n~~~\n```\nbacktick fence inside a tilde fence\n```\n~~~\n\n````text\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```js\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n    # indented code, not a heading\n    - indented code, not a list\n\nProse after all fences with `inline ``double`` span` still works."},"output":{"text":"# Fenced code containing markdown-like content\n\n```\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n````\n```\nbacktick fence inside a tilde fence\n```\n````\n\n````\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n```\n# indented code, not a heading\n- indented code, not a list\n```\n\nProse after all fences with ```inline ``double`` span``` still works."},"html":{"text":"<h1>Fenced code containing markdown-like content</h1><pre><code># this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code</code></pre><pre><code>```\nbacktick fence inside a tilde fence\n```</code></pre><pre><code>```\nthree-backtick fence inside a four-backtick fence\n```</code></pre><pre><code>const table = &quot;| a | b |&quot;;\nconst quote = &quot;&gt; not a quote&quot;;\nconst dash = &quot;—&quot; ; // em dash stays untouched inside code</code></pre><p>Indented code block follows:</p><pre><code># indented code, not a heading\n- indented code, not a list</code></pre><p>Prose after all fences with <code>inline ``double`` span</code> still works.</p>"},"changes":[]}
{"id":"doc/fenced-code-tricks/workflow/auto/zendesk","detected":"Markdown","cleaned":{"text":"# Fenced code containing markdown-like content\n\n```md\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n~~~\n```\nbacktick fence inside a tilde fence\n```\n~~~\n\n````text\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```js\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n    # indented code, not a heading\n    - indented code, not a list\n\nProse after all fences with `inline ``double`` span` still works."},"output":{"text":"# Fenced code containing markdown-like content\n\n> # this heading is code\n> - this list is code\n> **this bold is code**\n> [this link](https://example.com/inside-fence) is code\n\n> ```\n> backtick fence inside a tilde fence\n> ```\n\n> ```\n> three-backtick fence inside a four-backtick fence\n> ```\n\n> const table = \"| a | b |\";\n> const quote = \"> not a quote\";\n> const dash = \"—\" ; // em dash stays untouched inside code\n\nIndented code block follows:\n\n> # indented code, not a heading\n> - indented code, not a list\n\nProse after all fences with ```inline ``double`` span``` still works."},"html":{"text":"<h1>Fenced code containing markdown-like content</h1><blockquote><h1>this heading is code</h1><ul><li>this list is code\n<strong>this bold is code</strong>\n<a href=\"https://example.com/inside-fence\">this link</a> is code</li></ul></blockquote><blockquote><pre><code>backtick fence inside a tilde fence</code></pre></blockquote><blockquote><pre><code>three-backtick fence inside a four-backtick fence</code></pre></blockquote><blockquote><p>const table = &quot;| a | b |&quot;;\nconst quote = &quot;&gt; not a quote&quot;;\nconst dash = &quot;—&quot; ; // em dash stays untouched inside code</p></blockquote><p>Indented code block follows:</p><blockquote><h1>indented code, not a heading</h1><ul><li>indented code, not a list</li></ul></blockquote><p>Prose after all fences with <code>inline ``double`` span</code> still works.</p>"},"changes":[]}
{"id":"doc/fenced-code-tricks/workflow/auto/jira","detected":"Markdown","cleaned":{"text":"# Fenced code containing markdown-like content\n\n```md\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n~~~\n```\nbacktick fence inside a tilde fence\n```\n~~~\n\n````text\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```js\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n    # indented code, not a heading\n    - indented code, not a list\n\nProse after all fences with `inline ``double`` span` still works."},"output":{"text":"# Fenced code containing markdown-like content\n\n```\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n````\n```\nbacktick fence inside a tilde fence\n```\n````\n\n````\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n```\n# indented code, not a heading\n- indented code, not a list\n```\n\nProse after all fences with ```inline ``double`` span``` still works."},"html":{"text":"<h1>Fenced code containing markdown-like content</h1><pre><code># this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code</code></pre><pre><code>```\nbacktick fence inside a tilde fence\n```</code></pre><pre><code>```\nthree-backtick fence inside a four-backtick fence\n```</code></pre><pre><code>const table = &quot;| a | b |&quot;;\nconst quote = &quot;&gt; not a quote&quot;;\nconst dash = &quot;—&quot; ; // em dash stays untouched inside code</code></pre><p>Indented code block follows:</p><pre><code># indented code, not a heading\n- indented code, not a list</code></pre><p>Prose after all fences with <code>inline ``double`` span</code> still works.</p>"},"changes":[]}
{"id":"doc/fenced-code-tricks/workflow/auto/plain","detected":"Markdown","cleaned":{"text":"# Fenced code containing markdown-like content\n\n```md\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n~~~\n```\nbacktick fence inside a tilde fence\n```\n~~~\n\n````text\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```js\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n    # indented code, not a heading\n    - indented code, not a list\n\nProse after all fences with `inline ``double`` span` still works."},"output":{"text":"Fenced code containing markdown-like content\n\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n\n```\nbacktick fence inside a tilde fence\n```\n\n```\nthree-backtick fence inside a four-backtick fence\n```\n\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n\nIndented code block follows:\n\n# indented code, not a heading\n- indented code, not a list\n\nProse after all fences with inline ``double`` span still works."},"html":{"text":"<h1>Fenced code containing markdown-like content</h1><pre><code># this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code</code></pre><pre><code>```\nbacktick fence inside a tilde fence\n```</code></pre><pre><code>```\nthree-backtick fence inside a four-backtick fence\n```</code></pre><pre><code>const table = &quot;| a | b |&quot;;\nconst quote = &quot;&gt; not a quote&quot;;\nconst dash = &quot;—&quot; ; // em dash stays untouched inside code</code></pre><p>Indented code block follows:</p><pre><code># indented code, not a heading\n- indented code, not a list</code></pre><p>Prose after all fences with <code>inline ``double`` span</code> still works.</p>"},"changes":[]}
{"id":"doc/fenced-code-tricks/workflow/auto/imessage","detected":"Markdown","cleaned":{"text":"# Fenced code containing markdown-like content\n\n```md\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n~~~\n```\nbacktick fence inside a tilde fence\n```\n~~~\n\n````text\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```js\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n    # indented code, not a heading\n    - indented code, not a list\n\nProse after all fences with `inline ``double`` span` still works."},"output":{"text":"Fenced code containing markdown-like content\n\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n\n```\nbacktick fence inside a tilde fence\n```\n\n```\nthree-backtick fence inside a four-backtick fence\n```\n\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n\nIndented code block follows:\n\n# indented code, not a heading\n- indented code, not a list\n\nProse after all fences with inline ``double`` span still works."},"html":{"text":"<h1>Fenced code containing markdown-like content</h1><pre><code># this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code</code></pre><pre><code>```\nbacktick fence inside a tilde fence\n```</code></pre><pre><code>```\nthree-backtick fence inside a four-backtick fence\n```</code></pre><pre><code>const table = &quot;| a | b |&quot;;\nconst quote = &quot;&gt; not a quote&quot;;\nconst dash = &quot;—&quot; ; // em dash stays untouched inside code</code></pre><p>Indented code block follows:</p><pre><code># indented code, not a heading\n- indented code, not a list</code></pre><p>Prose after all fences with <code>inline ``double`` span</code> still works.</p>"},"changes":[]}
{"id":"doc/fenced-code-tricks/workflow/auto/signal","detected":"Markdown","cleaned":{"text":"# Fenced code containing markdown-like content\n\n```md\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n~~~\n```\nbacktick fence inside a tilde fence\n```\n~~~\n\n````text\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```js\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n    # indented code, not a heading\n    - indented code, not a list\n\nProse after all fences with `inline ``double`` span` still works."},"output":{"text":"Fenced code containing markdown-like content\n\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n\n```\nbacktick fence inside a tilde fence\n```\n\n```\nthree-backtick fence inside a four-backtick fence\n```\n\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n\nIndented code block follows:\n\n# indented code, not a heading\n- indented code, not a list\n\nProse after all fences with inline ``double`` span still works."},"html":{"text":"<h1>Fenced code containing markdown-like content</h1><pre><code># this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code</code></pre><pre><code>```\nbacktick fence inside a tilde fence\n```</code></pre><pre><code>```\nthree-backtick fence inside a four-backtick fence\n```</code></pre><pre><code>const table = &quot;| a | b |&quot;;\nconst quote = &quot;&gt; not a quote&quot;;\nconst dash = &quot;—&quot; ; // em dash stays untouched inside code</code></pre><p>Indented code block follows:</p><pre><code># indented code, not a heading\n- indented code, not a list</code></pre><p>Prose after all fences with <code>inline ``double`` span</code> still works.</p>"},"changes":[]}
{"id":"doc/fenced-code-tricks/workflow/auto/telegram","detected":"Markdown","cleaned":{"text":"# Fenced code containing markdown-like content\n\n```md\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n~~~\n```\nbacktick fence inside a tilde fence\n```\n~~~\n\n````text\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```js\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n    # indented code, not a heading\n    - indented code, not a list\n\nProse after all fences with `inline ``double`` span` still works."},"output":{"text":"Fenced code containing markdown-like content\n\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n\n```\nbacktick fence inside a tilde fence\n```\n\n```\nthree-backtick fence inside a four-backtick fence\n```\n\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n\nIndented code block follows:\n\n# indented code, not a heading\n- indented code, not a list\n\nProse after all fences with inline ``double`` span still works."},"html":{"text":"<h1>Fenced code containing markdown-like content</h1><pre><code># this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code</code></pre><pre><code>```\nbacktick fence inside a tilde fence\n```</code></pre><pre><code>```\nthree-backtick fence inside a four-backtick fence\n```</code></pre><pre><code>const table = &quot;| a | b |&quot;;\nconst quote = &quot;&gt; not a quote&quot;;\nconst dash = &quot;—&quot; ; // em dash stays untouched inside code</code></pre><p>Indented code block follows:</p><pre><code># indented code, not a heading\n- indented code, not a list</code></pre><p>Prose after all fences with <code>inline ``double`` span</code> still works.</p>"},"changes":[]}
{"id":"doc/fenced-code-tricks/workflow/auto/gmail","detected":"Markdown","cleaned":{"text":"# Fenced code containing markdown-like content\n\n```md\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n~~~\n```\nbacktick fence inside a tilde fence\n```\n~~~\n\n````text\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```js\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n    # indented code, not a heading\n    - indented code, not a list\n\nProse after all fences with `inline ``double`` span` still works."},"output":{"text":"Fenced code containing markdown-like content\n\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n\n```\nbacktick fence inside a tilde fence\n```\n\n```\nthree-backtick fence inside a four-backtick fence\n```\n\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n\nIndented code block follows:\n\n# indented code, not a heading\n- indented code, not a list\n\nProse after all fences with inline ``double`` span still works."},"html":{"text":"<h1>Fenced code containing markdown-like content</h1><pre><code># this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code</code></pre><pre><code>```\nbacktick fence inside a tilde fence\n```</code></pre><pre><code>```\nthree-backtick fence inside a four-backtick fence\n```</code></pre><pre><code>const table = &quot;| a | b |&quot;;\nconst quote = &quot;&gt; not a quote&quot;;\nconst dash = &quot;—&quot; ; // em dash stays untouched inside code</code></pre><p>Indented code block follows:</p><pre><code># indented code, not a heading\n- indented code, not a list</code></pre><p>Prose after all fences with <code>inline ``double`` span</code> still works.</p>"},"changes":[]}
{"id":"doc/fenced-code-tricks/workflow/auto/outlook","detected":"Markdown","cleaned":{"text":"# Fenced code containing markdown-like content\n\n```md\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n~~~\n```\nbacktick fence inside a tilde fence\n```\n~~~\n\n````text\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```js\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n    # indented code, not a heading\n    - indented code, not a list\n\nProse after all fences with `inline ``double`` span` still works."},"output":{"text":"Fenced code containing markdown-like content\n\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n\n```\nbacktick fence inside a tilde fence\n```\n\n```\nthree-backtick fence inside a four-backtick fence\n```\n\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n\nIndented code block follows:\n\n# indented code, not a heading\n- indented code, not a list\n\nProse after all fences with inline ``double`` span still works."},"html":{"text":"<h1>Fenced code containing markdown-like content</h1><pre><code># this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code</code></pre><pre><code>```\nbacktick fence inside a tilde fence\n```</code></pre><pre><code>```\nthree-backtick fence inside a four-backtick fence\n```</code></pre><pre><code>const table = &quot;| a | b |&quot;;\nconst quote = &quot;&gt; not a quote&quot;;\nconst dash = &quot;—&quot; ; // em dash stays untouched inside code</code></pre><p>Indented code block follows:</p><pre><code># indented code, not a heading\n- indented code, not a list</code></pre><p>Prose after all fences with <code>inline ``double`` span</code> still works.</p>"},"changes":[]}
{"id":"doc/fenced-code-tricks/workflow/auto/shortwave","detected":"Markdown","cleaned":{"text":"# Fenced code containing markdown-like content\n\n```md\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n~~~\n```\nbacktick fence inside a tilde fence\n```\n~~~\n\n````text\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```js\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n    # indented code, not a heading\n    - indented code, not a list\n\nProse after all fences with `inline ``double`` span` still works."},"output":{"text":"Fenced code containing markdown-like content\n\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n\n```\nbacktick fence inside a tilde fence\n```\n\n```\nthree-backtick fence inside a four-backtick fence\n```\n\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n\nIndented code block follows:\n\n# indented code, not a heading\n- indented code, not a list\n\nProse after all fences with inline ``double`` span still works."},"html":{"text":"<h1>Fenced code containing markdown-like content</h1><pre><code># this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code</code></pre><pre><code>```\nbacktick fence inside a tilde fence\n```</code></pre><pre><code>```\nthree-backtick fence inside a four-backtick fence\n```</code></pre><pre><code>const table = &quot;| a | b |&quot;;\nconst quote = &quot;&gt; not a quote&quot;;\nconst dash = &quot;—&quot; ; // em dash stays untouched inside code</code></pre><p>Indented code block follows:</p><pre><code># indented code, not a heading\n- indented code, not a list</code></pre><p>Prose after all fences with <code>inline ``double`` span</code> still works.</p>"},"changes":[]}
{"id":"doc/fenced-code-tricks/workflow/auto/notion","detected":"Markdown","cleaned":{"text":"# Fenced code containing markdown-like content\n\n```md\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n~~~\n```\nbacktick fence inside a tilde fence\n```\n~~~\n\n````text\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```js\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n    # indented code, not a heading\n    - indented code, not a list\n\nProse after all fences with `inline ``double`` span` still works."},"output":{"text":"Fenced code containing markdown-like content\n\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n\n```\nbacktick fence inside a tilde fence\n```\n\n```\nthree-backtick fence inside a four-backtick fence\n```\n\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n\nIndented code block follows:\n\n# indented code, not a heading\n- indented code, not a list\n\nProse after all fences with inline ``double`` span still works."},"html":{"text":"<h1>Fenced code containing markdown-like content</h1><pre><code># this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code</code></pre><pre><code>```\nbacktick fence inside a tilde fence\n```</code></pre><pre><code>```\nthree-backtick fence inside a four-backtick fence\n```</code></pre><pre><code>const table = &quot;| a | b |&quot;;\nconst quote = &quot;&gt; not a quote&quot;;\nconst dash = &quot;—&quot; ; // em dash stays untouched inside code</code></pre><p>Indented code block follows:</p><pre><code># indented code, not a heading\n- indented code, not a list</code></pre><p>Prose after all fences with <code>inline ``double`` span</code> still works.</p>"},"changes":[]}
{"id":"doc/fenced-code-tricks/workflow/auto/confluence","detected":"Markdown","cleaned":{"text":"# Fenced code containing markdown-like content\n\n```md\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n~~~\n```\nbacktick fence inside a tilde fence\n```\n~~~\n\n````text\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```js\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n    # indented code, not a heading\n    - indented code, not a list\n\nProse after all fences with `inline ``double`` span` still works."},"output":{"text":"Fenced code containing markdown-like content\n\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n\n```\nbacktick fence inside a tilde fence\n```\n\n```\nthree-backtick fence inside a four-backtick fence\n```\n\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n\nIndented code block follows:\n\n# indented code, not a heading\n- indented code, not a list\n\nProse after all fences with inline ``double`` span still works."},"html":{"text":"<h1>Fenced code containing markdown-like content</h1><pre><code># this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code</code></pre><pre><code>```\nbacktick fence inside a tilde fence\n```</code></pre><pre><code>```\nthree-backtick fence inside a four-backtick fence\n```</code></pre><pre><code>const table = &quot;| a | b |&quot;;\nconst quote = &quot;&gt; not a quote&quot;;\nconst dash = &quot;—&quot; ; // em dash stays untouched inside code</code></pre><p>Indented code block follows:</p><pre><code># indented code, not a heading\n- indented code, not a list</code></pre><p>Prose after all fences with <code>inline ``double`` span</code> still works.</p>"},"changes":[]}
{"id":"doc/fenced-code-tricks/workflow/auto/calendar","detected":"Markdown","cleaned":{"text":"# Fenced code containing markdown-like content\n\n```md\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n~~~\n```\nbacktick fence inside a tilde fence\n```\n~~~\n\n````text\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```js\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n    # indented code, not a heading\n    - indented code, not a list\n\nProse after all fences with `inline ``double`` span` still works."},"output":{"text":"Fenced code containing markdown-like content\n\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n\n```\nbacktick fence inside a tilde fence\n```\n\n```\nthree-backtick fence inside a four-backtick fence\n```\n\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n\nIndented code block follows:\n\n# indented code, not a heading\n- indented code, not a list\n\nProse after all fences with inline ``double`` span still works."},"html":{"text":"<h1>Fenced code containing markdown-like content</h1><pre><code># this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code</code></pre><pre><code>```\nbacktick fence inside a tilde fence\n```</code></pre><pre><code>```\nthree-backtick fence inside a four-backtick fence\n```</code></pre><pre><code>const table = &quot;| a | b |&quot;;\nconst quote = &quot;&gt; not a quote&quot;;\nconst dash = &quot;—&quot; ; // em dash stays untouched inside code</code></pre><p>Indented code block follows:</p><pre><code># indented code, not a heading\n- indented code, not a list</code></pre><p>Prose after all fences with <code>inline ``double`` span</code> still works.</p>"},"changes":[]}
{"id":"doc/fenced-code-tricks/workflow/auto/word","detected":"Markdown","cleaned":{"text":"# Fenced code containing markdown-like content\n\n```md\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n~~~\n```\nbacktick fence inside a tilde fence\n```\n~~~\n\n````text\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```js\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n    # indented code, not a heading\n    - indented code, not a list\n\nProse after all fences with `inline ``double`` span` still works."},"output":{"text":"Fenced code containing markdown-like content\n\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n\n```\nbacktick fence inside a tilde fence\n```\n\n```\nthree-backtick fence inside a four-backtick fence\n```\n\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n\nIndented code block follows:\n\n# indented code, not a heading\n- indented code, not a list\n\nProse after all fences with inline ``double`` span still works."},"html":{"text":"<h1>Fenced code containing markdown-like content</h1><pre><code># this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code</code></pre><pre><code>```\nbacktick fence inside a tilde fence\n```</code></pre><pre><code>```\nthree-backtick fence inside a four-backtick fence\n```</code></pre><pre><code>const table = &quot;| a | b |&quot;;\nconst quote = &quot;&gt; not a quote&quot;;\nconst dash = &quot;—&quot; ; // em dash stays untouched inside code</code></pre><p>Indented code block follows:</p><pre><code># indented code, not a heading\n- indented code, not a list</code></pre><p>Prose after all fences with <code>inline ``double`` span</code> still works.</p>"},"changes":[]}
{"id":"doc/fenced-code-tricks/workflow/auto/google-docs","detected":"Markdown","cleaned":{"text":"# Fenced code containing markdown-like content\n\n```md\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n~~~\n```\nbacktick fence inside a tilde fence\n```\n~~~\n\n````text\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```js\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n    # indented code, not a heading\n    - indented code, not a list\n\nProse after all fences with `inline ``double`` span` still works."},"output":{"text":"Fenced code containing markdown-like content\n\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n\n```\nbacktick fence inside a tilde fence\n```\n\n```\nthree-backtick fence inside a four-backtick fence\n```\n\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n\nIndented code block follows:\n\n# indented code, not a heading\n- indented code, not a list\n\nProse after all fences with inline ``double`` span still works."},"html":{"text":"<h1>Fenced code containing markdown-like content</h1><pre><code># this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code</code></pre><pre><code>```\nbacktick fence inside a tilde fence\n```</code></pre><pre><code>```\nthree-backtick fence inside a four-backtick fence\n```</code></pre><pre><code>const table = &quot;| a | b |&quot;;\nconst quote = &quot;&gt; not a quote&quot;;\nconst dash = &quot;—&quot; ; // em dash stays untouched inside code</code></pre><p>Indented code block follows:</p><pre><code># indented code, not a heading\n- indented code, not a list</code></pre><p>Prose after all fences with <code>inline ``double`` span</code> still works.</p>"},"changes":[]}
{"id":"doc/fenced-code-tricks/workflow/auto/markdown","detected":"Markdown","cleaned":{"text":"# Fenced code containing markdown-like content\n\n```md\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n~~~\n```\nbacktick fence inside a tilde fence\n```\n~~~\n\n````text\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```js\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n    # indented code, not a heading\n    - indented code, not a list\n\nProse after all fences with `inline ``double`` span` still works."},"output":{"text":"# Fenced code containing markdown-like content\n\n```md\n# this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code\n```\n\n~~~\n```\nbacktick fence inside a tilde fence\n```\n~~~\n\n````text\n```\nthree-backtick fence inside a four-backtick fence\n```\n````\n\n```js\nconst table = \"| a | b |\";\nconst quote = \"> not a quote\";\nconst dash = \"—\" ; // em dash stays untouched inside code\n```\n\nIndented code block follows:\n\n    # indented code, not a heading\n    - indented code, not a list\n\nProse after all fences with `inline ``double`` span` still works."},"html":{"text":"<h1>Fenced code containing markdown-like content</h1><pre><code># this heading is code\n- this list is code\n**this bold is code**\n[this link](https://example.com/inside-fence) is code</code></pre><pre><code>```\nbacktick fence inside a tilde fence\n```</code></pre><pre><code>```\nthree-backtick fence inside a four-backtick fence\n```</code></pre><pre><code>const table = &quot;| a | b |&quot;;\nconst quote = &quot;&gt; not a quote&quot;;\nconst dash = &quot;—&quot; ; // em dash stays untouched inside code</code></pre><p>Indented code block follows:</p><pre><code># indented code, not a heading\n- indented code, not a list</code></pre><p>Prose after all fences with <code>inline ``double`` span</code> still works.</p>"},"changes":[]}
{"id":"doc/fenced-code-tricks/workflow/markdown/whatsapp","detected":"Markdown","fnv":"4ed215aa","len":2038}
{"id":"doc/fenced-code-tricks/workflow/markdown/google-chat","detected":"Markdown","fnv":"4ed215aa","len":2038}
{"id":"doc/fenced-code-tricks/workflow/markdown/discord","detected":"Markdown","fnv":"dc4ad59d","len":2038}
{"id":"doc/fenced-code-tricks/workflow/markdown/slack","detected":"Markdown","fnv":"4ed215aa","len":2038}
{"id":"doc/fenced-code-tricks/workflow/markdown/teams","detected":"Markdown","fnv":"dc4ad59d","len":2038}
{"id":"doc/fenced-code-tricks/workflow/markdown/zendesk","detected":"Markdown","fnv":"8002a476","len":2122}
{"id":"doc/fenced-code-tricks/workflow/markdown/jira","detected":"Markdown","fnv":"dc4ad59d","len":2038}
{"id":"doc/fenced-code-tricks/workflow/markdown/plain","detected":"Markdown","fnv":"2b689ef4","len":1976}
{"id":"doc/fenced-code-tricks/workflow/markdown/imessage","detected":"Markdown","fnv":"2b689ef4","len":1976}
{"id":"doc/fenced-code-tricks/workflow/markdown/signal","detected":"Markdown","fnv":"2b689ef4","len":1976}
{"id":"doc/fenced-code-tricks/workflow/markdown/telegram","detected":"Markdown","fnv":"2b689ef4","len":1976}
{"id":"doc/fenced-code-tricks/workflow/markdown/gmail","detected":"Markdown","fnv":"2b689ef4","len":1976}
{"id":"doc/fenced-code-tricks/workflow/markdown/outlook","detected":"Markdown","fnv":"2b689ef4","len":1976}
{"id":"doc/fenced-code-tricks/workflow/markdown/shortwave","detected":"Markdown","fnv":"2b689ef4","len":1976}
{"id":"doc/fenced-code-tricks/workflow/markdown/notion","detected":"Markdown","fnv":"2b689ef4","len":1976}
{"id":"doc/fenced-code-tricks/workflow/markdown/confluence","detected":"Markdown","fnv":"2b689ef4","len":1976}
{"id":"doc/fenced-code-tricks/workflow/markdown/calendar","detected":"Markdown","fnv":"2b689ef4","len":1976}
{"id":"doc/fenced-code-tricks/workflow/markdown/word","detected":"Markdown","fnv":"2b689ef4","len":1976}
{"id":"doc/fenced-code-tricks/workflow/markdown/google-docs","detected":"Markdown","fnv":"2b689ef4","len":1976}
{"id":"doc/fenced-code-tricks/workflow/markdown/markdown","detected":"Markdown","fnv":"8dfbdd7c","len":2038}
{"id":"doc/fenced-code-tricks/workflow/plain/whatsapp","detected":"Markdown","fnv":"c16d9e4c","len":2036}
{"id":"doc/fenced-code-tricks/workflow/plain/google-chat","detected":"Markdown","fnv":"c16d9e4c","len":2036}
{"id":"doc/fenced-code-tricks/workflow/plain/discord","detected":"Markdown","fnv":"c16d9e4c","len":2036}
{"id":"doc/fenced-code-tricks/workflow/plain/slack","detected":"Markdown","fnv":"c16d9e4c","len":2036}
{"id":"doc/fenced-code-tricks/workflow/plain/teams","detected":"Markdown","fnv":"c16d9e4c","len":2036}
{"id":"doc/fenced-code-tricks/workflow/plain/zendesk","detected":"Markdown","fnv":"c16d9e4c","len":2036}
{"id":"doc/fenced-code-tricks/workflow/plain/jira","detected":"Markdown","fnv":"c16d9e4c","len":2036}
{"id":"doc/fenced-code-tricks/workflow/plain/plain","detected":"Markdown","fnv":"c16d9e4c","len":2036}
{"id":"doc/fenced-code-tricks/workflow/plain/imessage","detected":"Markdown","fnv":"c16d9e4c","len":2036}
{"id":"doc/fenced-code-tricks/workflow/plain/signal","detected":"Markdown","fnv":"c16d9e4c","len":2036}
{"id":"doc/fenced-code-tricks/workflow/plain/telegram","detected":"Markdown","fnv":"c16d9e4c","len":2036}
{"id":"doc/fenced-code-tricks/workflow/plain/gmail","detected":"Markdown","fnv":"c16d9e4c","len":2036}
{"id":"doc/fenced-code-tricks/workflow/plain/outlook","detected":"Markdown","fnv":"c16d9e4c","len":2036}
{"id":"doc/fenced-code-tricks/workflow/plain/shortwave","detected":"Markdown","fnv":"c16d9e4c","len":2036}
{"id":"doc/fenced-code-tricks/workflow/plain/notion","detected":"Markdown","fnv":"c16d9e4c","len":2036}
{"id":"doc/fenced-code-tricks/workflow/plain/confluence","detected":"Markdown","fnv":"c16d9e4c","len":2036}
{"id":"doc/fenced-code-tricks/workflow/plain/calendar","detected":"Markdown","fnv":"c16d9e4c","len":2036}
{"id":"doc/fenced-code-tricks/workflow/plain/word","detected":"Markdown","fnv":"c16d9e4c","len":2036}
{"id":"doc/fenced-code-tricks/workflow/plain/google-docs","detected":"Markdown","fnv":"c16d9e4c","len":2036}
{"id":"doc/fenced-code-tricks/workflow/plain/markdown","detected":"Markdown","fnv":"c16d9e4c","len":2036}
{"id":"doc/granola-meeting/detect","val":"Markdown"}
{"id":"doc/granola-meeting/words","val":64}
{"id":"doc/granola-meeting/filename/md","val":"weekly-sync-18-aug.md"}
{"id":"doc/granola-meeting/filename/docx","val":"weekly-sync-18-aug.docx"}
{"id":"doc/granola-meeting/clean/default","text":"# Weekly sync - 18 Aug\n\n**Attendees:** Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- **Roadmap:** shipping the beta on Friday\n  - blocker cleared yesterday\n- **Incident:** root cause was a stale cache\n- **Hiring:** two onsites booked\n\n## Action items\n\n- [ ] Sam to draft the beta announcement\n- [x] Priya closed the incident ticket\n- [ ] Jordan schedules the retro - before Friday\n\nNext meeting: same time next week.","changes":[{"key":"punctuation","count":2,"label":"typography artifacts"}]}
{"id":"doc/granola-meeting/convert/whatsapp","cleaned":{"text":"# Weekly sync - 18 Aug\n\n**Attendees:** Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- **Roadmap:** shipping the beta on Friday\n  - blocker cleared yesterday\n- **Incident:** root cause was a stale cache\n- **Hiring:** two onsites booked\n\n## Action items\n\n- [ ] Sam to draft the beta announcement\n- [x] Priya closed the incident ticket\n- [ ] Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"output":{"text":"*Weekly sync - 18 Aug*\n\n*Attendees:* Sam, Priya, Jordan\n\n*Agenda*\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n*Notes*\n\n- *Roadmap:* shipping the beta on Friday\n  - blocker cleared yesterday\n- *Incident:* root cause was a stale cache\n- *Hiring:* two onsites booked\n\n*Action items*\n\n- ☐ Sam to draft the beta announcement\n- ☑ Priya closed the incident ticket\n- ☐ Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"html":{"text":"<h1>Weekly sync - 18 Aug</h1><p><strong>Attendees:</strong> Sam, Priya, Jordan</p><h2>Agenda</h2><ol><li>Roadmap review</li><li>Incident follow-up</li><li>Hiring</li></ol><h2>Notes</h2><ul><li><strong>Roadmap:</strong> shipping the beta on Friday<ul><li>blocker cleared yesterday</li></ul></li><li><strong>Incident:</strong> root cause was a stale cache</li><li><strong>Hiring:</strong> two onsites booked</li></ul><h2>Action items</h2><ul><li>☐ Sam to draft the beta announcement</li><li>☑ Priya closed the incident ticket</li><li>☐ Jordan schedules the retro - before Friday</li></ul><p>Next meeting: same time next week.</p>"},"changes":[{"key":"punctuation","count":2,"label":"typography artifacts"}]}
{"id":"doc/granola-meeting/convert/google-chat","cleaned":{"text":"# Weekly sync - 18 Aug\n\n**Attendees:** Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- **Roadmap:** shipping the beta on Friday\n  - blocker cleared yesterday\n- **Incident:** root cause was a stale cache\n- **Hiring:** two onsites booked\n\n## Action items\n\n- [ ] Sam to draft the beta announcement\n- [x] Priya closed the incident ticket\n- [ ] Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"output":{"text":"*Weekly sync - 18 Aug*\n\n*Attendees:* Sam, Priya, Jordan\n\n*Agenda*\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n*Notes*\n\n- *Roadmap:* shipping the beta on Friday\n  - blocker cleared yesterday\n- *Incident:* root cause was a stale cache\n- *Hiring:* two onsites booked\n\n*Action items*\n\n- ☐ Sam to draft the beta announcement\n- ☑ Priya closed the incident ticket\n- ☐ Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"html":{"text":"<h1>Weekly sync - 18 Aug</h1><p><strong>Attendees:</strong> Sam, Priya, Jordan</p><h2>Agenda</h2><ol><li>Roadmap review</li><li>Incident follow-up</li><li>Hiring</li></ol><h2>Notes</h2><ul><li><strong>Roadmap:</strong> shipping the beta on Friday<ul><li>blocker cleared yesterday</li></ul></li><li><strong>Incident:</strong> root cause was a stale cache</li><li><strong>Hiring:</strong> two onsites booked</li></ul><h2>Action items</h2><ul><li>☐ Sam to draft the beta announcement</li><li>☑ Priya closed the incident ticket</li><li>☐ Jordan schedules the retro - before Friday</li></ul><p>Next meeting: same time next week.</p>"},"changes":[{"key":"punctuation","count":2,"label":"typography artifacts"}]}
{"id":"doc/granola-meeting/convert/discord","cleaned":{"text":"# Weekly sync - 18 Aug\n\n**Attendees:** Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- **Roadmap:** shipping the beta on Friday\n  - blocker cleared yesterday\n- **Incident:** root cause was a stale cache\n- **Hiring:** two onsites booked\n\n## Action items\n\n- [ ] Sam to draft the beta announcement\n- [x] Priya closed the incident ticket\n- [ ] Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"output":{"text":"# Weekly sync - 18 Aug\n\n**Attendees:** Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- **Roadmap:** shipping the beta on Friday\n  - blocker cleared yesterday\n- **Incident:** root cause was a stale cache\n- **Hiring:** two onsites booked\n\n## Action items\n\n- ☐ Sam to draft the beta announcement\n- ☑ Priya closed the incident ticket\n- ☐ Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"html":{"text":"<h1>Weekly sync - 18 Aug</h1><p><strong>Attendees:</strong> Sam, Priya, Jordan</p><h2>Agenda</h2><ol><li>Roadmap review</li><li>Incident follow-up</li><li>Hiring</li></ol><h2>Notes</h2><ul><li><strong>Roadmap:</strong> shipping the beta on Friday<ul><li>blocker cleared yesterday</li></ul></li><li><strong>Incident:</strong> root cause was a stale cache</li><li><strong>Hiring:</strong> two onsites booked</li></ul><h2>Action items</h2><ul><li>☐ Sam to draft the beta announcement</li><li>☑ Priya closed the incident ticket</li><li>☐ Jordan schedules the retro - before Friday</li></ul><p>Next meeting: same time next week.</p>"},"changes":[{"key":"punctuation","count":2,"label":"typography artifacts"}]}
{"id":"doc/granola-meeting/convert/slack","cleaned":{"text":"# Weekly sync - 18 Aug\n\n**Attendees:** Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- **Roadmap:** shipping the beta on Friday\n  - blocker cleared yesterday\n- **Incident:** root cause was a stale cache\n- **Hiring:** two onsites booked\n\n## Action items\n\n- [ ] Sam to draft the beta announcement\n- [x] Priya closed the incident ticket\n- [ ] Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"output":{"text":"*Weekly sync - 18 Aug*\n\n*Attendees:* Sam, Priya, Jordan\n\n*Agenda*\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n*Notes*\n\n• *Roadmap:* shipping the beta on Friday\n  ◦ blocker cleared yesterday\n• *Incident:* root cause was a stale cache\n• *Hiring:* two onsites booked\n\n*Action items*\n\n• ☐ Sam to draft the beta announcement\n• ☑ Priya closed the incident ticket\n• ☐ Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"html":{"text":"<h1>Weekly sync - 18 Aug</h1><p><strong>Attendees:</strong> Sam, Priya, Jordan</p><h2>Agenda</h2><ol><li>Roadmap review</li><li>Incident follow-up</li><li>Hiring</li></ol><h2>Notes</h2><ul><li><strong>Roadmap:</strong> shipping the beta on Friday<ul><li>blocker cleared yesterday</li></ul></li><li><strong>Incident:</strong> root cause was a stale cache</li><li><strong>Hiring:</strong> two onsites booked</li></ul><h2>Action items</h2><ul><li>☐ Sam to draft the beta announcement</li><li>☑ Priya closed the incident ticket</li><li>☐ Jordan schedules the retro - before Friday</li></ul><p>Next meeting: same time next week.</p>"},"changes":[{"key":"punctuation","count":2,"label":"typography artifacts"}]}
{"id":"doc/granola-meeting/convert/teams","cleaned":{"text":"# Weekly sync - 18 Aug\n\n**Attendees:** Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- **Roadmap:** shipping the beta on Friday\n  - blocker cleared yesterday\n- **Incident:** root cause was a stale cache\n- **Hiring:** two onsites booked\n\n## Action items\n\n- [ ] Sam to draft the beta announcement\n- [x] Priya closed the incident ticket\n- [ ] Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"output":{"text":"# Weekly sync - 18 Aug\n\n*Attendees:* Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- *Roadmap:* shipping the beta on Friday\n  - blocker cleared yesterday\n- *Incident:* root cause was a stale cache\n- *Hiring:* two onsites booked\n\n## Action items\n\n- ☐ Sam to draft the beta announcement\n- ☑ Priya closed the incident ticket\n- ☐ Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"html":{"text":"<h1>Weekly sync - 18 Aug</h1><p><strong>Attendees:</strong> Sam, Priya, Jordan</p><h2>Agenda</h2><ol><li>Roadmap review</li><li>Incident follow-up</li><li>Hiring</li></ol><h2>Notes</h2><ul><li><strong>Roadmap:</strong> shipping the beta on Friday<ul><li>blocker cleared yesterday</li></ul></li><li><strong>Incident:</strong> root cause was a stale cache</li><li><strong>Hiring:</strong> two onsites booked</li></ul><h2>Action items</h2><ul><li>☐ Sam to draft the beta announcement</li><li>☑ Priya closed the incident ticket</li><li>☐ Jordan schedules the retro - before Friday</li></ul><p>Next meeting: same time next week.</p>"},"changes":[{"key":"punctuation","count":2,"label":"typography artifacts"}]}
{"id":"doc/granola-meeting/convert/zendesk","cleaned":{"text":"# Weekly sync - 18 Aug\n\n**Attendees:** Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- **Roadmap:** shipping the beta on Friday\n  - blocker cleared yesterday\n- **Incident:** root cause was a stale cache\n- **Hiring:** two onsites booked\n\n## Action items\n\n- [ ] Sam to draft the beta announcement\n- [x] Priya closed the incident ticket\n- [ ] Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"output":{"text":"# Weekly sync - 18 Aug\n\n**Attendees:** Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- **Roadmap:** shipping the beta on Friday\n- blocker cleared yesterday\n- **Incident:** root cause was a stale cache\n- **Hiring:** two onsites booked\n\n## Action items\n\n- ☐ Sam to draft the beta announcement\n- ☑ Priya closed the incident ticket\n- ☐ Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"html":{"text":"<h1>Weekly sync - 18 Aug</h1><p><strong>Attendees:</strong> Sam, Priya, Jordan</p><h2>Agenda</h2><ol><li>Roadmap review</li><li>Incident follow-up</li><li>Hiring</li></ol><h2>Notes</h2><ul><li><strong>Roadmap:</strong> shipping the beta on Friday<ul><li>blocker cleared yesterday</li></ul></li><li><strong>Incident:</strong> root cause was a stale cache</li><li><strong>Hiring:</strong> two onsites booked</li></ul><h2>Action items</h2><ul><li>☐ Sam to draft the beta announcement</li><li>☑ Priya closed the incident ticket</li><li>☐ Jordan schedules the retro - before Friday</li></ul><p>Next meeting: same time next week.</p>"},"changes":[{"key":"punctuation","count":2,"label":"typography artifacts"}]}
{"id":"doc/granola-meeting/convert/jira","cleaned":{"text":"# Weekly sync - 18 Aug\n\n**Attendees:** Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- **Roadmap:** shipping the beta on Friday\n  - blocker cleared yesterday\n- **Incident:** root cause was a stale cache\n- **Hiring:** two onsites booked\n\n## Action items\n\n- [ ] Sam to draft the beta announcement\n- [x] Priya closed the incident ticket\n- [ ] Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"output":{"text":"# Weekly sync - 18 Aug\n\n**Attendees:** Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- **Roadmap:** shipping the beta on Friday\n  - blocker cleared yesterday\n- **Incident:** root cause was a stale cache\n- **Hiring:** two onsites booked\n\n## Action items\n\n- ☐ Sam to draft the beta announcement\n- ☑ Priya closed the incident ticket\n- ☐ Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"html":{"text":"<h1>Weekly sync - 18 Aug</h1><p><strong>Attendees:</strong> Sam, Priya, Jordan</p><h2>Agenda</h2><ol><li>Roadmap review</li><li>Incident follow-up</li><li>Hiring</li></ol><h2>Notes</h2><ul><li><strong>Roadmap:</strong> shipping the beta on Friday<ul><li>blocker cleared yesterday</li></ul></li><li><strong>Incident:</strong> root cause was a stale cache</li><li><strong>Hiring:</strong> two onsites booked</li></ul><h2>Action items</h2><ul><li>☐ Sam to draft the beta announcement</li><li>☑ Priya closed the incident ticket</li><li>☐ Jordan schedules the retro - before Friday</li></ul><p>Next meeting: same time next week.</p>"},"changes":[{"key":"punctuation","count":2,"label":"typography artifacts"}]}
{"id":"doc/granola-meeting/convert/plain","cleaned":{"text":"# Weekly sync - 18 Aug\n\n**Attendees:** Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- **Roadmap:** shipping the beta on Friday\n  - blocker cleared yesterday\n- **Incident:** root cause was a stale cache\n- **Hiring:** two onsites booked\n\n## Action items\n\n- [ ] Sam to draft the beta announcement\n- [x] Priya closed the incident ticket\n- [ ] Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"output":{"text":"Weekly sync - 18 Aug\n\nAttendees: Sam, Priya, Jordan\n\nAgenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\nNotes\n\n- Roadmap: shipping the beta on Friday\n  - blocker cleared yesterday\n- Incident: root cause was a stale cache\n- Hiring: two onsites booked\n\nAction items\n\n- ☐ Sam to draft the beta announcement\n- ☑ Priya closed the incident ticket\n- ☐ Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"html":{"text":"<h1>Weekly sync - 18 Aug</h1><p><strong>Attendees:</strong> Sam, Priya, Jordan</p><h2>Agenda</h2><ol><li>Roadmap review</li><li>Incident follow-up</li><li>Hiring</li></ol><h2>Notes</h2><ul><li><strong>Roadmap:</strong> shipping the beta on Friday<ul><li>blocker cleared yesterday</li></ul></li><li><strong>Incident:</strong> root cause was a stale cache</li><li><strong>Hiring:</strong> two onsites booked</li></ul><h2>Action items</h2><ul><li>☐ Sam to draft the beta announcement</li><li>☑ Priya closed the incident ticket</li><li>☐ Jordan schedules the retro - before Friday</li></ul><p>Next meeting: same time next week.</p>"},"changes":[{"key":"punctuation","count":2,"label":"typography artifacts"}]}
{"id":"doc/granola-meeting/whatsapp-preview","fnv":"e2dd469d","len":1690}
{"id":"doc/granola-meeting/diff-cleanup","val":[{"type":"same","value":"# Weekly sync "},{"type":"removed","value":"—"},{"type":"added","value":"-"},{"type":"same","value":" 18 Aug\n\n**Attendees:** Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- **Roadmap:** shipping the beta on Friday\n  - blocker cleared yesterday\n- **Incident:** root cause was a stale cache\n- **Hiring:** two onsites booked\n\n## Action items\n\n- [ ] Sam to draft the beta announcement\n- [x] Priya closed the incident ticket\n- [ ] Jordan schedules the retro "},{"type":"removed","value":"—"},{"type":"added","value":"-"},{"type":"same","value":" before Friday\n\nNext meeting: same time next week."},{"type":"removed","value":"\n"}]}
{"id":"doc/granola-meeting/workflow/auto/whatsapp","detected":"Markdown","cleaned":{"text":"# Weekly sync - 18 Aug\n\n**Attendees:** Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- **Roadmap:** shipping the beta on Friday\n  - blocker cleared yesterday\n- **Incident:** root cause was a stale cache\n- **Hiring:** two onsites booked\n\n## Action items\n\n- [ ] Sam to draft the beta announcement\n- [x] Priya closed the incident ticket\n- [ ] Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"output":{"text":"*Weekly sync - 18 Aug*\n\n*Attendees:* Sam, Priya, Jordan\n\n*Agenda*\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n*Notes*\n\n- *Roadmap:* shipping the beta on Friday\n  - blocker cleared yesterday\n- *Incident:* root cause was a stale cache\n- *Hiring:* two onsites booked\n\n*Action items*\n\n- ☐ Sam to draft the beta announcement\n- ☑ Priya closed the incident ticket\n- ☐ Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"html":{"text":"<h1>Weekly sync - 18 Aug</h1><p><strong>Attendees:</strong> Sam, Priya, Jordan</p><h2>Agenda</h2><ol><li>Roadmap review</li><li>Incident follow-up</li><li>Hiring</li></ol><h2>Notes</h2><ul><li><strong>Roadmap:</strong> shipping the beta on Friday<ul><li>blocker cleared yesterday</li></ul></li><li><strong>Incident:</strong> root cause was a stale cache</li><li><strong>Hiring:</strong> two onsites booked</li></ul><h2>Action items</h2><ul><li>☐ Sam to draft the beta announcement</li><li>☑ Priya closed the incident ticket</li><li>☐ Jordan schedules the retro - before Friday</li></ul><p>Next meeting: same time next week.</p>"},"changes":[{"key":"punctuation","count":2,"label":"typography artifacts"}]}
{"id":"doc/granola-meeting/workflow/auto/google-chat","detected":"Markdown","cleaned":{"text":"# Weekly sync - 18 Aug\n\n**Attendees:** Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- **Roadmap:** shipping the beta on Friday\n  - blocker cleared yesterday\n- **Incident:** root cause was a stale cache\n- **Hiring:** two onsites booked\n\n## Action items\n\n- [ ] Sam to draft the beta announcement\n- [x] Priya closed the incident ticket\n- [ ] Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"output":{"text":"*Weekly sync - 18 Aug*\n\n*Attendees:* Sam, Priya, Jordan\n\n*Agenda*\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n*Notes*\n\n- *Roadmap:* shipping the beta on Friday\n  - blocker cleared yesterday\n- *Incident:* root cause was a stale cache\n- *Hiring:* two onsites booked\n\n*Action items*\n\n- ☐ Sam to draft the beta announcement\n- ☑ Priya closed the incident ticket\n- ☐ Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"html":{"text":"<h1>Weekly sync - 18 Aug</h1><p><strong>Attendees:</strong> Sam, Priya, Jordan</p><h2>Agenda</h2><ol><li>Roadmap review</li><li>Incident follow-up</li><li>Hiring</li></ol><h2>Notes</h2><ul><li><strong>Roadmap:</strong> shipping the beta on Friday<ul><li>blocker cleared yesterday</li></ul></li><li><strong>Incident:</strong> root cause was a stale cache</li><li><strong>Hiring:</strong> two onsites booked</li></ul><h2>Action items</h2><ul><li>☐ Sam to draft the beta announcement</li><li>☑ Priya closed the incident ticket</li><li>☐ Jordan schedules the retro - before Friday</li></ul><p>Next meeting: same time next week.</p>"},"changes":[{"key":"punctuation","count":2,"label":"typography artifacts"}]}
{"id":"doc/granola-meeting/workflow/auto/discord","detected":"Markdown","cleaned":{"text":"# Weekly sync - 18 Aug\n\n**Attendees:** Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- **Roadmap:** shipping the beta on Friday\n  - blocker cleared yesterday\n- **Incident:** root cause was a stale cache\n- **Hiring:** two onsites booked\n\n## Action items\n\n- [ ] Sam to draft the beta announcement\n- [x] Priya closed the incident ticket\n- [ ] Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"output":{"text":"# Weekly sync - 18 Aug\n\n**Attendees:** Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- **Roadmap:** shipping the beta on Friday\n  - blocker cleared yesterday\n- **Incident:** root cause was a stale cache\n- **Hiring:** two onsites booked\n\n## Action items\n\n- ☐ Sam to draft the beta announcement\n- ☑ Priya closed the incident ticket\n- ☐ Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"html":{"text":"<h1>Weekly sync - 18 Aug</h1><p><strong>Attendees:</strong> Sam, Priya, Jordan</p><h2>Agenda</h2><ol><li>Roadmap review</li><li>Incident follow-up</li><li>Hiring</li></ol><h2>Notes</h2><ul><li><strong>Roadmap:</strong> shipping the beta on Friday<ul><li>blocker cleared yesterday</li></ul></li><li><strong>Incident:</strong> root cause was a stale cache</li><li><strong>Hiring:</strong> two onsites booked</li></ul><h2>Action items</h2><ul><li>☐ Sam to draft the beta announcement</li><li>☑ Priya closed the incident ticket</li><li>☐ Jordan schedules the retro - before Friday</li></ul><p>Next meeting: same time next week.</p>"},"changes":[{"key":"punctuation","count":2,"label":"typography artifacts"}]}
{"id":"doc/granola-meeting/workflow/auto/slack","detected":"Markdown","cleaned":{"text":"# Weekly sync - 18 Aug\n\n**Attendees:** Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- **Roadmap:** shipping the beta on Friday\n  - blocker cleared yesterday\n- **Incident:** root cause was a stale cache\n- **Hiring:** two onsites booked\n\n## Action items\n\n- [ ] Sam to draft the beta announcement\n- [x] Priya closed the incident ticket\n- [ ] Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"output":{"text":"*Weekly sync - 18 Aug*\n\n*Attendees:* Sam, Priya, Jordan\n\n*Agenda*\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n*Notes*\n\n• *Roadmap:* shipping the beta on Friday\n  ◦ blocker cleared yesterday\n• *Incident:* root cause was a stale cache\n• *Hiring:* two onsites booked\n\n*Action items*\n\n• ☐ Sam to draft the beta announcement\n• ☑ Priya closed the incident ticket\n• ☐ Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"html":{"text":"<h1>Weekly sync - 18 Aug</h1><p><strong>Attendees:</strong> Sam, Priya, Jordan</p><h2>Agenda</h2><ol><li>Roadmap review</li><li>Incident follow-up</li><li>Hiring</li></ol><h2>Notes</h2><ul><li><strong>Roadmap:</strong> shipping the beta on Friday<ul><li>blocker cleared yesterday</li></ul></li><li><strong>Incident:</strong> root cause was a stale cache</li><li><strong>Hiring:</strong> two onsites booked</li></ul><h2>Action items</h2><ul><li>☐ Sam to draft the beta announcement</li><li>☑ Priya closed the incident ticket</li><li>☐ Jordan schedules the retro - before Friday</li></ul><p>Next meeting: same time next week.</p>"},"changes":[{"key":"punctuation","count":2,"label":"typography artifacts"}]}
{"id":"doc/granola-meeting/workflow/auto/teams","detected":"Markdown","cleaned":{"text":"# Weekly sync - 18 Aug\n\n**Attendees:** Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- **Roadmap:** shipping the beta on Friday\n  - blocker cleared yesterday\n- **Incident:** root cause was a stale cache\n- **Hiring:** two onsites booked\n\n## Action items\n\n- [ ] Sam to draft the beta announcement\n- [x] Priya closed the incident ticket\n- [ ] Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"output":{"text":"# Weekly sync - 18 Aug\n\n*Attendees:* Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- *Roadmap:* shipping the beta on Friday\n  - blocker cleared yesterday\n- *Incident:* root cause was a stale cache\n- *Hiring:* two onsites booked\n\n## Action items\n\n- ☐ Sam to draft the beta announcement\n- ☑ Priya closed the incident ticket\n- ☐ Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"html":{"text":"<h1>Weekly sync - 18 Aug</h1><p><strong>Attendees:</strong> Sam, Priya, Jordan</p><h2>Agenda</h2><ol><li>Roadmap review</li><li>Incident follow-up</li><li>Hiring</li></ol><h2>Notes</h2><ul><li><strong>Roadmap:</strong> shipping the beta on Friday<ul><li>blocker cleared yesterday</li></ul></li><li><strong>Incident:</strong> root cause was a stale cache</li><li><strong>Hiring:</strong> two onsites booked</li></ul><h2>Action items</h2><ul><li>☐ Sam to draft the beta announcement</li><li>☑ Priya closed the incident ticket</li><li>☐ Jordan schedules the retro - before Friday</li></ul><p>Next meeting: same time next week.</p>"},"changes":[{"key":"punctuation","count":2,"label":"typography artifacts"}]}
{"id":"doc/granola-meeting/workflow/auto/zendesk","detected":"Markdown","cleaned":{"text":"# Weekly sync - 18 Aug\n\n**Attendees:** Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- **Roadmap:** shipping the beta on Friday\n  - blocker cleared yesterday\n- **Incident:** root cause was a stale cache\n- **Hiring:** two onsites booked\n\n## Action items\n\n- [ ] Sam to draft the beta announcement\n- [x] Priya closed the incident ticket\n- [ ] Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"output":{"text":"# Weekly sync - 18 Aug\n\n**Attendees:** Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- **Roadmap:** shipping the beta on Friday\n- blocker cleared yesterday\n- **Incident:** root cause was a stale cache\n- **Hiring:** two onsites booked\n\n## Action items\n\n- ☐ Sam to draft the beta announcement\n- ☑ Priya closed the incident ticket\n- ☐ Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"html":{"text":"<h1>Weekly sync - 18 Aug</h1><p><strong>Attendees:</strong> Sam, Priya, Jordan</p><h2>Agenda</h2><ol><li>Roadmap review</li><li>Incident follow-up</li><li>Hiring</li></ol><h2>Notes</h2><ul><li><strong>Roadmap:</strong> shipping the beta on Friday</li><li>blocker cleared yesterday</li><li><strong>Incident:</strong> root cause was a stale cache</li><li><strong>Hiring:</strong> two onsites booked</li></ul><h2>Action items</h2><ul><li>☐ Sam to draft the beta announcement</li><li>☑ Priya closed the incident ticket</li><li>☐ Jordan schedules the retro - before Friday</li></ul><p>Next meeting: same time next week.</p>"},"changes":[{"key":"punctuation","count":2,"label":"typography artifacts"}]}
{"id":"doc/granola-meeting/workflow/auto/jira","detected":"Markdown","cleaned":{"text":"# Weekly sync - 18 Aug\n\n**Attendees:** Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- **Roadmap:** shipping the beta on Friday\n  - blocker cleared yesterday\n- **Incident:** root cause was a stale cache\n- **Hiring:** two onsites booked\n\n## Action items\n\n- [ ] Sam to draft the beta announcement\n- [x] Priya closed the incident ticket\n- [ ] Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"output":{"text":"# Weekly sync - 18 Aug\n\n**Attendees:** Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- **Roadmap:** shipping the beta on Friday\n  - blocker cleared yesterday\n- **Incident:** root cause was a stale cache\n- **Hiring:** two onsites booked\n\n## Action items\n\n- ☐ Sam to draft the beta announcement\n- ☑ Priya closed the incident ticket\n- ☐ Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"html":{"text":"<h1>Weekly sync - 18 Aug</h1><p><strong>Attendees:</strong> Sam, Priya, Jordan</p><h2>Agenda</h2><ol><li>Roadmap review</li><li>Incident follow-up</li><li>Hiring</li></ol><h2>Notes</h2><ul><li><strong>Roadmap:</strong> shipping the beta on Friday<ul><li>blocker cleared yesterday</li></ul></li><li><strong>Incident:</strong> root cause was a stale cache</li><li><strong>Hiring:</strong> two onsites booked</li></ul><h2>Action items</h2><ul><li>☐ Sam to draft the beta announcement</li><li>☑ Priya closed the incident ticket</li><li>☐ Jordan schedules the retro - before Friday</li></ul><p>Next meeting: same time next week.</p>"},"changes":[{"key":"punctuation","count":2,"label":"typography artifacts"}]}
{"id":"doc/granola-meeting/workflow/auto/plain","detected":"Markdown","cleaned":{"text":"# Weekly sync - 18 Aug\n\n**Attendees:** Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- **Roadmap:** shipping the beta on Friday\n  - blocker cleared yesterday\n- **Incident:** root cause was a stale cache\n- **Hiring:** two onsites booked\n\n## Action items\n\n- [ ] Sam to draft the beta announcement\n- [x] Priya closed the incident ticket\n- [ ] Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"output":{"text":"Weekly sync - 18 Aug\n\nAttendees: Sam, Priya, Jordan\n\nAgenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\nNotes\n\n- Roadmap: shipping the beta on Friday\n  - blocker cleared yesterday\n- Incident: root cause was a stale cache\n- Hiring: two onsites booked\n\nAction items\n\n- ☐ Sam to draft the beta announcement\n- ☑ Priya closed the incident ticket\n- ☐ Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"html":{"text":"<h1>Weekly sync - 18 Aug</h1><p><strong>Attendees:</strong> Sam, Priya, Jordan</p><h2>Agenda</h2><ol><li>Roadmap review</li><li>Incident follow-up</li><li>Hiring</li></ol><h2>Notes</h2><ul><li><strong>Roadmap:</strong> shipping the beta on Friday<ul><li>blocker cleared yesterday</li></ul></li><li><strong>Incident:</strong> root cause was a stale cache</li><li><strong>Hiring:</strong> two onsites booked</li></ul><h2>Action items</h2><ul><li>☐ Sam to draft the beta announcement</li><li>☑ Priya closed the incident ticket</li><li>☐ Jordan schedules the retro - before Friday</li></ul><p>Next meeting: same time next week.</p>"},"changes":[{"key":"punctuation","count":2,"label":"typography artifacts"}]}
{"id":"doc/granola-meeting/workflow/auto/imessage","detected":"Markdown","cleaned":{"text":"# Weekly sync - 18 Aug\n\n**Attendees:** Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- **Roadmap:** shipping the beta on Friday\n  - blocker cleared yesterday\n- **Incident:** root cause was a stale cache\n- **Hiring:** two onsites booked\n\n## Action items\n\n- [ ] Sam to draft the beta announcement\n- [x] Priya closed the incident ticket\n- [ ] Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"output":{"text":"Weekly sync - 18 Aug\n\nAttendees: Sam, Priya, Jordan\n\nAgenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\nNotes\n\n- Roadmap: shipping the beta on Friday\n  - blocker cleared yesterday\n- Incident: root cause was a stale cache\n- Hiring: two onsites booked\n\nAction items\n\n- ☐ Sam to draft the beta announcement\n- ☑ Priya closed the incident ticket\n- ☐ Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"html":{"text":"<h1>Weekly sync - 18 Aug</h1><p><strong>Attendees:</strong> Sam, Priya, Jordan</p><h2>Agenda</h2><ol><li>Roadmap review</li><li>Incident follow-up</li><li>Hiring</li></ol><h2>Notes</h2><ul><li><strong>Roadmap:</strong> shipping the beta on Friday<ul><li>blocker cleared yesterday</li></ul></li><li><strong>Incident:</strong> root cause was a stale cache</li><li><strong>Hiring:</strong> two onsites booked</li></ul><h2>Action items</h2><ul><li>☐ Sam to draft the beta announcement</li><li>☑ Priya closed the incident ticket</li><li>☐ Jordan schedules the retro - before Friday</li></ul><p>Next meeting: same time next week.</p>"},"changes":[{"key":"punctuation","count":2,"label":"typography artifacts"}]}
{"id":"doc/granola-meeting/workflow/auto/signal","detected":"Markdown","cleaned":{"text":"# Weekly sync - 18 Aug\n\n**Attendees:** Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- **Roadmap:** shipping the beta on Friday\n  - blocker cleared yesterday\n- **Incident:** root cause was a stale cache\n- **Hiring:** two onsites booked\n\n## Action items\n\n- [ ] Sam to draft the beta announcement\n- [x] Priya closed the incident ticket\n- [ ] Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"output":{"text":"Weekly sync - 18 Aug\n\nAttendees: Sam, Priya, Jordan\n\nAgenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\nNotes\n\n- Roadmap: shipping the beta on Friday\n  - blocker cleared yesterday\n- Incident: root cause was a stale cache\n- Hiring: two onsites booked\n\nAction items\n\n- ☐ Sam to draft the beta announcement\n- ☑ Priya closed the incident ticket\n- ☐ Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"html":{"text":"<h1>Weekly sync - 18 Aug</h1><p><strong>Attendees:</strong> Sam, Priya, Jordan</p><h2>Agenda</h2><ol><li>Roadmap review</li><li>Incident follow-up</li><li>Hiring</li></ol><h2>Notes</h2><ul><li><strong>Roadmap:</strong> shipping the beta on Friday<ul><li>blocker cleared yesterday</li></ul></li><li><strong>Incident:</strong> root cause was a stale cache</li><li><strong>Hiring:</strong> two onsites booked</li></ul><h2>Action items</h2><ul><li>☐ Sam to draft the beta announcement</li><li>☑ Priya closed the incident ticket</li><li>☐ Jordan schedules the retro - before Friday</li></ul><p>Next meeting: same time next week.</p>"},"changes":[{"key":"punctuation","count":2,"label":"typography artifacts"}]}
{"id":"doc/granola-meeting/workflow/auto/telegram","detected":"Markdown","cleaned":{"text":"# Weekly sync - 18 Aug\n\n**Attendees:** Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- **Roadmap:** shipping the beta on Friday\n  - blocker cleared yesterday\n- **Incident:** root cause was a stale cache\n- **Hiring:** two onsites booked\n\n## Action items\n\n- [ ] Sam to draft the beta announcement\n- [x] Priya closed the incident ticket\n- [ ] Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"output":{"text":"Weekly sync - 18 Aug\n\nAttendees: Sam, Priya, Jordan\n\nAgenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\nNotes\n\n- Roadmap: shipping the beta on Friday\n  - blocker cleared yesterday\n- Incident: root cause was a stale cache\n- Hiring: two onsites booked\n\nAction items\n\n- ☐ Sam to draft the beta announcement\n- ☑ Priya closed the incident ticket\n- ☐ Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"html":{"text":"<h1>Weekly sync - 18 Aug</h1><p><strong>Attendees:</strong> Sam, Priya, Jordan</p><h2>Agenda</h2><ol><li>Roadmap review</li><li>Incident follow-up</li><li>Hiring</li></ol><h2>Notes</h2><ul><li><strong>Roadmap:</strong> shipping the beta on Friday<ul><li>blocker cleared yesterday</li></ul></li><li><strong>Incident:</strong> root cause was a stale cache</li><li><strong>Hiring:</strong> two onsites booked</li></ul><h2>Action items</h2><ul><li>☐ Sam to draft the beta announcement</li><li>☑ Priya closed the incident ticket</li><li>☐ Jordan schedules the retro - before Friday</li></ul><p>Next meeting: same time next week.</p>"},"changes":[{"key":"punctuation","count":2,"label":"typography artifacts"}]}
{"id":"doc/granola-meeting/workflow/auto/gmail","detected":"Markdown","cleaned":{"text":"# Weekly sync - 18 Aug\n\n**Attendees:** Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- **Roadmap:** shipping the beta on Friday\n  - blocker cleared yesterday\n- **Incident:** root cause was a stale cache\n- **Hiring:** two onsites booked\n\n## Action items\n\n- [ ] Sam to draft the beta announcement\n- [x] Priya closed the incident ticket\n- [ ] Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"output":{"text":"Weekly sync - 18 Aug\n\nAttendees: Sam, Priya, Jordan\n\nAgenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\nNotes\n\n- Roadmap: shipping the beta on Friday\n  - blocker cleared yesterday\n- Incident: root cause was a stale cache\n- Hiring: two onsites booked\n\nAction items\n\n- ☐ Sam to draft the beta announcement\n- ☑ Priya closed the incident ticket\n- ☐ Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"html":{"text":"<h1>Weekly sync - 18 Aug</h1><p><strong>Attendees:</strong> Sam, Priya, Jordan</p><h2>Agenda</h2><ol><li>Roadmap review</li><li>Incident follow-up</li><li>Hiring</li></ol><h2>Notes</h2><ul><li><strong>Roadmap:</strong> shipping the beta on Friday<ul><li>blocker cleared yesterday</li></ul></li><li><strong>Incident:</strong> root cause was a stale cache</li><li><strong>Hiring:</strong> two onsites booked</li></ul><h2>Action items</h2><ul><li>☐ Sam to draft the beta announcement</li><li>☑ Priya closed the incident ticket</li><li>☐ Jordan schedules the retro - before Friday</li></ul><p>Next meeting: same time next week.</p>"},"changes":[{"key":"punctuation","count":2,"label":"typography artifacts"}]}
{"id":"doc/granola-meeting/workflow/auto/outlook","detected":"Markdown","cleaned":{"text":"# Weekly sync - 18 Aug\n\n**Attendees:** Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- **Roadmap:** shipping the beta on Friday\n  - blocker cleared yesterday\n- **Incident:** root cause was a stale cache\n- **Hiring:** two onsites booked\n\n## Action items\n\n- [ ] Sam to draft the beta announcement\n- [x] Priya closed the incident ticket\n- [ ] Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"output":{"text":"Weekly sync - 18 Aug\n\nAttendees: Sam, Priya, Jordan\n\nAgenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\nNotes\n\n- Roadmap: shipping the beta on Friday\n  - blocker cleared yesterday\n- Incident: root cause was a stale cache\n- Hiring: two onsites booked\n\nAction items\n\n- ☐ Sam to draft the beta announcement\n- ☑ Priya closed the incident ticket\n- ☐ Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"html":{"text":"<h1>Weekly sync - 18 Aug</h1><p><strong>Attendees:</strong> Sam, Priya, Jordan</p><h2>Agenda</h2><ol><li>Roadmap review</li><li>Incident follow-up</li><li>Hiring</li></ol><h2>Notes</h2><ul><li><strong>Roadmap:</strong> shipping the beta on Friday<ul><li>blocker cleared yesterday</li></ul></li><li><strong>Incident:</strong> root cause was a stale cache</li><li><strong>Hiring:</strong> two onsites booked</li></ul><h2>Action items</h2><ul><li>☐ Sam to draft the beta announcement</li><li>☑ Priya closed the incident ticket</li><li>☐ Jordan schedules the retro - before Friday</li></ul><p>Next meeting: same time next week.</p>"},"changes":[{"key":"punctuation","count":2,"label":"typography artifacts"}]}
{"id":"doc/granola-meeting/workflow/auto/shortwave","detected":"Markdown","cleaned":{"text":"# Weekly sync - 18 Aug\n\n**Attendees:** Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- **Roadmap:** shipping the beta on Friday\n  - blocker cleared yesterday\n- **Incident:** root cause was a stale cache\n- **Hiring:** two onsites booked\n\n## Action items\n\n- [ ] Sam to draft the beta announcement\n- [x] Priya closed the incident ticket\n- [ ] Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"output":{"text":"Weekly sync - 18 Aug\n\nAttendees: Sam, Priya, Jordan\n\nAgenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\nNotes\n\n- Roadmap: shipping the beta on Friday\n  - blocker cleared yesterday\n- Incident: root cause was a stale cache\n- Hiring: two onsites booked\n\nAction items\n\n- ☐ Sam to draft the beta announcement\n- ☑ Priya closed the incident ticket\n- ☐ Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"html":{"text":"<h1>Weekly sync - 18 Aug</h1><p><strong>Attendees:</strong> Sam, Priya, Jordan</p><h2>Agenda</h2><ol><li>Roadmap review</li><li>Incident follow-up</li><li>Hiring</li></ol><h2>Notes</h2><ul><li><strong>Roadmap:</strong> shipping the beta on Friday<ul><li>blocker cleared yesterday</li></ul></li><li><strong>Incident:</strong> root cause was a stale cache</li><li><strong>Hiring:</strong> two onsites booked</li></ul><h2>Action items</h2><ul><li>☐ Sam to draft the beta announcement</li><li>☑ Priya closed the incident ticket</li><li>☐ Jordan schedules the retro - before Friday</li></ul><p>Next meeting: same time next week.</p>"},"changes":[{"key":"punctuation","count":2,"label":"typography artifacts"}]}
{"id":"doc/granola-meeting/workflow/auto/notion","detected":"Markdown","cleaned":{"text":"# Weekly sync - 18 Aug\n\n**Attendees:** Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- **Roadmap:** shipping the beta on Friday\n  - blocker cleared yesterday\n- **Incident:** root cause was a stale cache\n- **Hiring:** two onsites booked\n\n## Action items\n\n- [ ] Sam to draft the beta announcement\n- [x] Priya closed the incident ticket\n- [ ] Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"output":{"text":"Weekly sync - 18 Aug\n\nAttendees: Sam, Priya, Jordan\n\nAgenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\nNotes\n\n- Roadmap: shipping the beta on Friday\n  - blocker cleared yesterday\n- Incident: root cause was a stale cache\n- Hiring: two onsites booked\n\nAction items\n\n- ☐ Sam to draft the beta announcement\n- ☑ Priya closed the incident ticket\n- ☐ Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"html":{"text":"<h1>Weekly sync - 18 Aug</h1><p><strong>Attendees:</strong> Sam, Priya, Jordan</p><h2>Agenda</h2><ol><li>Roadmap review</li><li>Incident follow-up</li><li>Hiring</li></ol><h2>Notes</h2><ul><li><strong>Roadmap:</strong> shipping the beta on Friday<ul><li>blocker cleared yesterday</li></ul></li><li><strong>Incident:</strong> root cause was a stale cache</li><li><strong>Hiring:</strong> two onsites booked</li></ul><h2>Action items</h2><ul><li>☐ Sam to draft the beta announcement</li><li>☑ Priya closed the incident ticket</li><li>☐ Jordan schedules the retro - before Friday</li></ul><p>Next meeting: same time next week.</p>"},"changes":[{"key":"punctuation","count":2,"label":"typography artifacts"}]}
{"id":"doc/granola-meeting/workflow/auto/confluence","detected":"Markdown","cleaned":{"text":"# Weekly sync - 18 Aug\n\n**Attendees:** Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- **Roadmap:** shipping the beta on Friday\n  - blocker cleared yesterday\n- **Incident:** root cause was a stale cache\n- **Hiring:** two onsites booked\n\n## Action items\n\n- [ ] Sam to draft the beta announcement\n- [x] Priya closed the incident ticket\n- [ ] Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"output":{"text":"Weekly sync - 18 Aug\n\nAttendees: Sam, Priya, Jordan\n\nAgenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\nNotes\n\n- Roadmap: shipping the beta on Friday\n  - blocker cleared yesterday\n- Incident: root cause was a stale cache\n- Hiring: two onsites booked\n\nAction items\n\n- ☐ Sam to draft the beta announcement\n- ☑ Priya closed the incident ticket\n- ☐ Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"html":{"text":"<h1>Weekly sync - 18 Aug</h1><p><strong>Attendees:</strong> Sam, Priya, Jordan</p><h2>Agenda</h2><ol><li>Roadmap review</li><li>Incident follow-up</li><li>Hiring</li></ol><h2>Notes</h2><ul><li><strong>Roadmap:</strong> shipping the beta on Friday<ul><li>blocker cleared yesterday</li></ul></li><li><strong>Incident:</strong> root cause was a stale cache</li><li><strong>Hiring:</strong> two onsites booked</li></ul><h2>Action items</h2><ul><li>☐ Sam to draft the beta announcement</li><li>☑ Priya closed the incident ticket</li><li>☐ Jordan schedules the retro - before Friday</li></ul><p>Next meeting: same time next week.</p>"},"changes":[{"key":"punctuation","count":2,"label":"typography artifacts"}]}
{"id":"doc/granola-meeting/workflow/auto/calendar","detected":"Markdown","cleaned":{"text":"# Weekly sync - 18 Aug\n\n**Attendees:** Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- **Roadmap:** shipping the beta on Friday\n  - blocker cleared yesterday\n- **Incident:** root cause was a stale cache\n- **Hiring:** two onsites booked\n\n## Action items\n\n- [ ] Sam to draft the beta announcement\n- [x] Priya closed the incident ticket\n- [ ] Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"output":{"text":"Weekly sync - 18 Aug\n\nAttendees: Sam, Priya, Jordan\n\nAgenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\nNotes\n\n- Roadmap: shipping the beta on Friday\n  - blocker cleared yesterday\n- Incident: root cause was a stale cache\n- Hiring: two onsites booked\n\nAction items\n\n- ☐ Sam to draft the beta announcement\n- ☑ Priya closed the incident ticket\n- ☐ Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"html":{"text":"<h1>Weekly sync - 18 Aug</h1><p><strong>Attendees:</strong> Sam, Priya, Jordan</p><h2>Agenda</h2><ol><li>Roadmap review</li><li>Incident follow-up</li><li>Hiring</li></ol><h2>Notes</h2><ul><li><strong>Roadmap:</strong> shipping the beta on Friday<ul><li>blocker cleared yesterday</li></ul></li><li><strong>Incident:</strong> root cause was a stale cache</li><li><strong>Hiring:</strong> two onsites booked</li></ul><h2>Action items</h2><ul><li>☐ Sam to draft the beta announcement</li><li>☑ Priya closed the incident ticket</li><li>☐ Jordan schedules the retro - before Friday</li></ul><p>Next meeting: same time next week.</p>"},"changes":[{"key":"punctuation","count":2,"label":"typography artifacts"}]}
{"id":"doc/granola-meeting/workflow/auto/word","detected":"Markdown","cleaned":{"text":"# Weekly sync - 18 Aug\n\n**Attendees:** Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- **Roadmap:** shipping the beta on Friday\n  - blocker cleared yesterday\n- **Incident:** root cause was a stale cache\n- **Hiring:** two onsites booked\n\n## Action items\n\n- [ ] Sam to draft the beta announcement\n- [x] Priya closed the incident ticket\n- [ ] Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"output":{"text":"Weekly sync - 18 Aug\n\nAttendees: Sam, Priya, Jordan\n\nAgenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\nNotes\n\n- Roadmap: shipping the beta on Friday\n  - blocker cleared yesterday\n- Incident: root cause was a stale cache\n- Hiring: two onsites booked\n\nAction items\n\n- ☐ Sam to draft the beta announcement\n- ☑ Priya closed the incident ticket\n- ☐ Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"html":{"text":"<h1>Weekly sync - 18 Aug</h1><p><strong>Attendees:</strong> Sam, Priya, Jordan</p><h2>Agenda</h2><ol><li>Roadmap review</li><li>Incident follow-up</li><li>Hiring</li></ol><h2>Notes</h2><ul><li><strong>Roadmap:</strong> shipping the beta on Friday<ul><li>blocker cleared yesterday</li></ul></li><li><strong>Incident:</strong> root cause was a stale cache</li><li><strong>Hiring:</strong> two onsites booked</li></ul><h2>Action items</h2><ul><li>☐ Sam to draft the beta announcement</li><li>☑ Priya closed the incident ticket</li><li>☐ Jordan schedules the retro - before Friday</li></ul><p>Next meeting: same time next week.</p>"},"changes":[{"key":"punctuation","count":2,"label":"typography artifacts"}]}
{"id":"doc/granola-meeting/workflow/auto/google-docs","detected":"Markdown","cleaned":{"text":"# Weekly sync - 18 Aug\n\n**Attendees:** Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- **Roadmap:** shipping the beta on Friday\n  - blocker cleared yesterday\n- **Incident:** root cause was a stale cache\n- **Hiring:** two onsites booked\n\n## Action items\n\n- [ ] Sam to draft the beta announcement\n- [x] Priya closed the incident ticket\n- [ ] Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"output":{"text":"Weekly sync - 18 Aug\n\nAttendees: Sam, Priya, Jordan\n\nAgenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\nNotes\n\n- Roadmap: shipping the beta on Friday\n  - blocker cleared yesterday\n- Incident: root cause was a stale cache\n- Hiring: two onsites booked\n\nAction items\n\n- ☐ Sam to draft the beta announcement\n- ☑ Priya closed the incident ticket\n- ☐ Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"html":{"text":"<h1>Weekly sync - 18 Aug</h1><p><strong>Attendees:</strong> Sam, Priya, Jordan</p><h2>Agenda</h2><ol><li>Roadmap review</li><li>Incident follow-up</li><li>Hiring</li></ol><h2>Notes</h2><ul><li><strong>Roadmap:</strong> shipping the beta on Friday<ul><li>blocker cleared yesterday</li></ul></li><li><strong>Incident:</strong> root cause was a stale cache</li><li><strong>Hiring:</strong> two onsites booked</li></ul><h2>Action items</h2><ul><li>☐ Sam to draft the beta announcement</li><li>☑ Priya closed the incident ticket</li><li>☐ Jordan schedules the retro - before Friday</li></ul><p>Next meeting: same time next week.</p>"},"changes":[{"key":"punctuation","count":2,"label":"typography artifacts"}]}
{"id":"doc/granola-meeting/workflow/auto/markdown","detected":"Markdown","cleaned":{"text":"# Weekly sync - 18 Aug\n\n**Attendees:** Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- **Roadmap:** shipping the beta on Friday\n  - blocker cleared yesterday\n- **Incident:** root cause was a stale cache\n- **Hiring:** two onsites booked\n\n## Action items\n\n- [ ] Sam to draft the beta announcement\n- [x] Priya closed the incident ticket\n- [ ] Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"output":{"text":"# Weekly sync - 18 Aug\n\n**Attendees:** Sam, Priya, Jordan\n\n## Agenda\n\n1. Roadmap review\n2. Incident follow-up\n3. Hiring\n\n## Notes\n\n- **Roadmap:** shipping the beta on Friday\n  - blocker cleared yesterday\n- **Incident:** root cause was a stale cache\n- **Hiring:** two onsites booked\n\n## Action items\n\n- [ ] Sam to draft the beta announcement\n- [x] Priya closed the incident ticket\n- [ ] Jordan schedules the retro - before Friday\n\nNext meeting: same time next week."},"html":{"text":"<h1>Weekly sync - 18 Aug</h1><p><strong>Attendees:</strong> Sam, Priya, Jordan</p><h2>Agenda</h2><ol><li>Roadmap review</li><li>Incident follow-up</li><li>Hiring</li></ol><h2>Notes</h2><ul><li><strong>Roadmap:</strong> shipping the beta on Friday<ul><li>blocker cleared yesterday</li></ul></li><li><strong>Incident:</strong> root cause was a stale cache</li><li><strong>Hiring:</strong> two onsites booked</li></ul><h2>Action items</h2><ul><li>☐ Sam to draft the beta announcement</li><li>☑ Priya closed the incident ticket</li><li>☐ Jordan schedules the retro - before Friday</li></ul><p>Next meeting: same time next week.</p>"},"changes":[{"key":"punctuation","count":2,"label":"typography artifacts"}]}
{"id":"doc/granola-meeting/workflow/markdown/whatsapp","detected":"Markdown","fnv":"a1e43b96","len":1695}
{"id":"doc/granola-meeting/workflow/markdown/google-chat","detected":"Markdown","fnv":"a1e43b96","len":1695}
{"id":"doc/granola-meeting/workflow/markdown/discord","detected":"Markdown","fnv":"6738d065","len":1706}
{"id":"doc/granola-meeting/workflow/markdown/slack","detected":"Markdown","fnv":"f8393b6d","len":1695}
{"id":"doc/granola-meeting/workflow/markdown/teams","detected":"Markdown","fnv":"61df2109","len":1698}
{"id":"doc/granola-meeting/workflow/markdown/zendesk","detected":"Markdown","fnv":"a3ece544","len":1695}
{"id":"doc/granola-meeting/workflow/markdown/jira","detected":"Markdown","fnv":"6738d065","len":1706}
{"id":"doc/granola-meeting/workflow/markdown/plain","detected":"Markdown","fnv":"6aaac69a","len":1679}
{"id":"doc/granola-meeting/workflow/markdown/imessage","detected":"Markdown","fnv":"6aaac69a","len":1679}
{"id":"doc/granola-meeting/workflow/markdown/signal","detected":"Markdown","fnv":"6aaac69a","len":1679}
{"id":"doc/granola-meeting/workflow/markdown/telegram","detected":"Markdown","fnv":"6aaac69a","len":1679}
{"id":"doc/granola-meeting/workflow/markdown/gmail","detected":"Markdown","fnv":"6aaac69a","len":1679}
{"id":"doc/granola-meeting/workflow/markdown/outlook","detected":"Markdown","fnv":"6aaac69a","len":1679}
{"id":"doc/granola-meeting/workflow/markdown/shortwave","detected":"Markdown","fnv":"6aaac69a","len":1679}
{"id":"doc/granola-meeting/workflow/markdown/notion","detected":"Markdown","fnv":"6aaac69a","len":1679}
{"id":"doc/granola-meeting/workflow/markdown/confluence","detected":"Markdown","fnv":"6aaac69a","len":1679}
{"id":"doc/granola-meeting/workflow/markdown/calendar","detected":"Markdown","fnv":"6aaac69a","len":1679}
{"id":"doc/granola-meeting/workflow/markdown/word","detected":"Markdown","fnv":"6aaac69a","len":1679}
{"id":"doc/granola-meeting/workflow/markdown/google-docs","detected":"Markdown","fnv":"6aaac69a","len":1679}
{"id":"doc/granola-meeting/workflow/markdown/markdown","detected":"Markdown","fnv":"c1895be2","len":1712}
{"id":"doc/granola-meeting/workflow/plain/whatsapp","detected":"Markdown","fnv":"c08204a0","len":1617}
{"id":"doc/granola-meeting/workflow/plain/google-chat","detected":"Markdown","fnv":"c08204a0","len":1617}
{"id":"doc/granola-meeting/workflow/plain/discord","detected":"Markdown","fnv":"c08204a0","len":1617}
{"id":"doc/granola-meeting/workflow/plain/slack","detected":"Markdown","fnv":"c08204a0","len":1617}
{"id":"doc/granola-meeting/workflow/plain/teams","detected":"Markdown","fnv":"c08204a0","len":1617}
{"id":"doc/granola-meeting/workflow/plain/zendesk","detected":"Markdown","fnv":"c08204a0","len":1617}
{"id":"doc/granola-meeting/workflow/plain/jira","detected":"Markdown","fnv":"c08204a0","len":1617}
{"id":"doc/granola-meeting/workflow/plain/plain","detected":"Markdown","fnv":"c08204a0","len":1617}
{"id":"doc/granola-meeting/workflow/plain/imessage","detected":"Markdown","fnv":"c08204a0","len":1617}
{"id":"doc/granola-meeting/workflow/plain/signal","detected":"Markdown","fnv":"c08204a0","len":1617}
{"id":"doc/granola-meeting/workflow/plain/telegram","detected":"Markdown","fnv":"c08204a0","len":1617}
{"id":"doc/granola-meeting/workflow/plain/gmail","detected":"Markdown","fnv":"c08204a0","len":1617}
{"id":"doc/granola-meeting/workflow/plain/outlook","detected":"Markdown","fnv":"c08204a0","len":1617}
{"id":"doc/granola-meeting/workflow/plain/shortwave","detected":"Markdown","fnv":"c08204a0","len":1617}
{"id":"doc/granola-meeting/workflow/plain/notion","detected":"Markdown","fnv":"c08204a0","len":1617}
{"id":"doc/granola-meeting/workflow/plain/confluence","detected":"Markdown","fnv":"c08204a0","len":1617}
{"id":"doc/granola-meeting/workflow/plain/calendar","detected":"Markdown","fnv":"c08204a0","len":1617}
{"id":"doc/granola-meeting/workflow/plain/word","detected":"Markdown","fnv":"c08204a0","len":1617}
{"id":"doc/granola-meeting/workflow/plain/google-docs","detected":"Markdown","fnv":"c08204a0","len":1617}
{"id":"doc/granola-meeting/workflow/plain/markdown","detected":"Markdown","fnv":"c08204a0","len":1617}
{"id":"doc/headings-edge/detect","val":"Markdown"}
{"id":"doc/headings-edge/words","val":50}
{"id":"doc/headings-edge/filename/md","val":"level-one.md"}
{"id":"doc/headings-edge/filename/docx","val":"level-one.docx"}
{"id":"doc/headings-edge/clean/default","text":"# Level one\n\n## Level two\n\n### Level three\n\n#### Level four\n\n##### Level five\n\n###### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes ##\n\n#\n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text","changes":[]}
{"id":"doc/headings-edge/convert/whatsapp","cleaned":{"text":"# Level one\n\n## Level two\n\n### Level three\n\n#### Level four\n\n##### Level five\n\n###### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes ##\n\n#\n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text"},"output":{"text":"*Level one*\n\n*Level two*\n\n*Level three*\n\n*Level four*\n\n*Level five*\n\n*Level six*\n\n####### Seven hashes is not a heading\n\n*Heading with trailing hashes*\n\n**\n\n*Heading with a link: https://example.com/h and `code` and 🎈*\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n*Duplicate heading text*\n\n*Duplicate heading text*"},"html":{"text":"<h1>Level one</h1><h2>Level two</h2><h3>Level three</h3><h4>Level four</h4><h5>Level five</h5><h6>Level six</h6><p>####### Seven hashes is not a heading</p><h1>Heading with trailing hashes</h1><h1></h1><h2>Heading with <a href=\"https://example.com/h\">a link</a> and <code>code</code> and 🎈</h2><p>Heading-like text mid-paragraph stays prose: the # symbol here is not a heading.</p><h1>Duplicate heading text</h1><h1>Duplicate heading text</h1>"},"changes":[]}
{"id":"doc/headings-edge/convert/google-chat","cleaned":{"text":"# Level one\n\n## Level two\n\n### Level three\n\n#### Level four\n\n##### Level five\n\n###### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes ##\n\n#\n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text"},"output":{"text":"*Level one*\n\n*Level two*\n\n*Level three*\n\n*Level four*\n\n*Level five*\n\n*Level six*\n\n####### Seven hashes is not a heading\n\n*Heading with trailing hashes*\n\n**\n\n*Heading with a link: https://example.com/h and `code` and 🎈*\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n*Duplicate heading text*\n\n*Duplicate heading text*"},"html":{"text":"<h1>Level one</h1><h2>Level two</h2><h3>Level three</h3><h4>Level four</h4><h5>Level five</h5><h6>Level six</h6><p>####### Seven hashes is not a heading</p><h1>Heading with trailing hashes</h1><h1></h1><h2>Heading with <a href=\"https://example.com/h\">a link</a> and <code>code</code> and 🎈</h2><p>Heading-like text mid-paragraph stays prose: the # symbol here is not a heading.</p><h1>Duplicate heading text</h1><h1>Duplicate heading text</h1>"},"changes":[]}
{"id":"doc/headings-edge/convert/discord","cleaned":{"text":"# Level one\n\n## Level two\n\n### Level three\n\n#### Level four\n\n##### Level five\n\n###### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes ##\n\n#\n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text"},"output":{"text":"# Level one\n\n## Level two\n\n### Level three\n\n### Level four\n\n### Level five\n\n### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes\n\n# \n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text"},"html":{"text":"<h1>Level one</h1><h2>Level two</h2><h3>Level three</h3><h4>Level four</h4><h5>Level five</h5><h6>Level six</h6><p>####### Seven hashes is not a heading</p><h1>Heading with trailing hashes</h1><h1></h1><h2>Heading with <a href=\"https://example.com/h\">a link</a> and <code>code</code> and 🎈</h2><p>Heading-like text mid-paragraph stays prose: the # symbol here is not a heading.</p><h1>Duplicate heading text</h1><h1>Duplicate heading text</h1>"},"changes":[]}
{"id":"doc/headings-edge/convert/slack","cleaned":{"text":"# Level one\n\n## Level two\n\n### Level three\n\n#### Level four\n\n##### Level five\n\n###### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes ##\n\n#\n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text"},"output":{"text":"*Level one*\n\n*Level two*\n\n*Level three*\n\n*Level four*\n\n*Level five*\n\n*Level six*\n\n####### Seven hashes is not a heading\n\n*Heading with trailing hashes*\n\n**\n\n*Heading with <https://example.com/h|a link> and `code` and 🎈*\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n*Duplicate heading text*\n\n*Duplicate heading text*"},"html":{"text":"<h1>Level one</h1><h2>Level two</h2><h3>Level three</h3><h4>Level four</h4><h5>Level five</h5><h6>Level six</h6><p>####### Seven hashes is not a heading</p><h1>Heading with trailing hashes</h1><h1></h1><h2>Heading with <a href=\"https://example.com/h\">a link</a> and <code>code</code> and 🎈</h2><p>Heading-like text mid-paragraph stays prose: the # symbol here is not a heading.</p><h1>Duplicate heading text</h1><h1>Duplicate heading text</h1>"},"changes":[]}
{"id":"doc/headings-edge/convert/teams","cleaned":{"text":"# Level one\n\n## Level two\n\n### Level three\n\n#### Level four\n\n##### Level five\n\n###### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes ##\n\n#\n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text"},"output":{"text":"# Level one\n\n## Level two\n\n### Level three\n\n### Level four\n\n### Level five\n\n### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes\n\n# \n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text"},"html":{"text":"<h1>Level one</h1><h2>Level two</h2><h3>Level three</h3><h4>Level four</h4><h5>Level five</h5><h6>Level six</h6><p>####### Seven hashes is not a heading</p><h1>Heading with trailing hashes</h1><h1></h1><h2>Heading with <a href=\"https://example.com/h\">a link</a> and <code>code</code> and 🎈</h2><p>Heading-like text mid-paragraph stays prose: the # symbol here is not a heading.</p><h1>Duplicate heading text</h1><h1>Duplicate heading text</h1>"},"changes":[]}
{"id":"doc/headings-edge/convert/zendesk","cleaned":{"text":"# Level one\n\n## Level two\n\n### Level three\n\n#### Level four\n\n##### Level five\n\n###### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes ##\n\n#\n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text"},"output":{"text":"# Level one\n\n## Level two\n\n### Level three\n\n#### Level four\n\n#### Level five\n\n#### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes\n\n# \n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text"},"html":{"text":"<h1>Level one</h1><h2>Level two</h2><h3>Level three</h3><h4>Level four</h4><h5>Level five</h5><h6>Level six</h6><p>####### Seven hashes is not a heading</p><h1>Heading with trailing hashes</h1><h1></h1><h2>Heading with <a href=\"https://example.com/h\">a link</a> and <code>code</code> and 🎈</h2><p>Heading-like text mid-paragraph stays prose: the # symbol here is not a heading.</p><h1>Duplicate heading text</h1><h1>Duplicate heading text</h1>"},"changes":[]}
{"id":"doc/headings-edge/convert/jira","cleaned":{"text":"# Level one\n\n## Level two\n\n### Level three\n\n#### Level four\n\n##### Level five\n\n###### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes ##\n\n#\n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text"},"output":{"text":"# Level one\n\n## Level two\n\n### Level three\n\n#### Level four\n\n##### Level five\n\n##### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes\n\n# \n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text"},"html":{"text":"<h1>Level one</h1><h2>Level two</h2><h3>Level three</h3><h4>Level four</h4><h5>Level five</h5><h6>Level six</h6><p>####### Seven hashes is not a heading</p><h1>Heading with trailing hashes</h1><h1></h1><h2>Heading with <a href=\"https://example.com/h\">a link</a> and <code>code</code> and 🎈</h2><p>Heading-like text mid-paragraph stays prose: the # symbol here is not a heading.</p><h1>Duplicate heading text</h1><h1>Duplicate heading text</h1>"},"changes":[]}
{"id":"doc/headings-edge/convert/plain","cleaned":{"text":"# Level one\n\n## Level two\n\n### Level three\n\n#### Level four\n\n##### Level five\n\n###### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes ##\n\n#\n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text"},"output":{"text":"Level one\n\nLevel two\n\nLevel three\n\nLevel four\n\nLevel five\n\nLevel six\n\n####### Seven hashes is not a heading\n\nHeading with trailing hashes\n\nHeading with a link (https://example.com/h) and code and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\nDuplicate heading text\n\nDuplicate heading text"},"html":{"text":"<h1>Level one</h1><h2>Level two</h2><h3>Level three</h3><h4>Level four</h4><h5>Level five</h5><h6>Level six</h6><p>####### Seven hashes is not a heading</p><h1>Heading with trailing hashes</h1><h1></h1><h2>Heading with <a href=\"https://example.com/h\">a link</a> and <code>code</code> and 🎈</h2><p>Heading-like text mid-paragraph stays prose: the # symbol here is not a heading.</p><h1>Duplicate heading text</h1><h1>Duplicate heading text</h1>"},"changes":[]}
{"id":"doc/headings-edge/whatsapp-preview","fnv":"ea47c67a","len":1469}
{"id":"doc/headings-edge/diff-cleanup","val":[{"type":"same","value":"# Level one\n\n## Level two\n\n### Level three\n\n#### Level four\n\n##### Level five\n\n###### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes ##\n\n#\n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text"},{"type":"removed","value":"\n"}]}
{"id":"doc/headings-edge/workflow/auto/whatsapp","detected":"Markdown","cleaned":{"text":"# Level one\n\n## Level two\n\n### Level three\n\n#### Level four\n\n##### Level five\n\n###### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes ##\n\n#\n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text"},"output":{"text":"*Level one*\n\n*Level two*\n\n*Level three*\n\n*Level four*\n\n*Level five*\n\n*Level six*\n\n####### Seven hashes is not a heading\n\n*Heading with trailing hashes*\n\n**\n\n*Heading with a link: https://example.com/h and `code` and 🎈*\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n*Duplicate heading text*\n\n*Duplicate heading text*"},"html":{"text":"<h1>Level one</h1><h2>Level two</h2><h3>Level three</h3><h4>Level four</h4><h5>Level five</h5><h6>Level six</h6><p>####### Seven hashes is not a heading</p><h1>Heading with trailing hashes</h1><h1></h1><h2>Heading with <a href=\"https://example.com/h\">a link</a> and <code>code</code> and 🎈</h2><p>Heading-like text mid-paragraph stays prose: the # symbol here is not a heading.</p><h1>Duplicate heading text</h1><h1>Duplicate heading text</h1>"},"changes":[]}
{"id":"doc/headings-edge/workflow/auto/google-chat","detected":"Markdown","cleaned":{"text":"# Level one\n\n## Level two\n\n### Level three\n\n#### Level four\n\n##### Level five\n\n###### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes ##\n\n#\n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text"},"output":{"text":"*Level one*\n\n*Level two*\n\n*Level three*\n\n*Level four*\n\n*Level five*\n\n*Level six*\n\n####### Seven hashes is not a heading\n\n*Heading with trailing hashes*\n\n**\n\n*Heading with a link: https://example.com/h and `code` and 🎈*\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n*Duplicate heading text*\n\n*Duplicate heading text*"},"html":{"text":"<h1>Level one</h1><h2>Level two</h2><h3>Level three</h3><h4>Level four</h4><h5>Level five</h5><h6>Level six</h6><p>####### Seven hashes is not a heading</p><h1>Heading with trailing hashes</h1><h1></h1><h2>Heading with <a href=\"https://example.com/h\">a link</a> and <code>code</code> and 🎈</h2><p>Heading-like text mid-paragraph stays prose: the # symbol here is not a heading.</p><h1>Duplicate heading text</h1><h1>Duplicate heading text</h1>"},"changes":[]}
{"id":"doc/headings-edge/workflow/auto/discord","detected":"Markdown","cleaned":{"text":"# Level one\n\n## Level two\n\n### Level three\n\n#### Level four\n\n##### Level five\n\n###### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes ##\n\n#\n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text"},"output":{"text":"# Level one\n\n## Level two\n\n### Level three\n\n### Level four\n\n### Level five\n\n### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes\n\n# \n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text"},"html":{"text":"<h1>Level one</h1><h2>Level two</h2><h3>Level three</h3><h4>Level four</h4><h5>Level five</h5><h6>Level six</h6><p>####### Seven hashes is not a heading</p><h1>Heading with trailing hashes</h1><h1></h1><h2>Heading with <a href=\"https://example.com/h\">a link</a> and <code>code</code> and 🎈</h2><p>Heading-like text mid-paragraph stays prose: the # symbol here is not a heading.</p><h1>Duplicate heading text</h1><h1>Duplicate heading text</h1>"},"changes":[]}
{"id":"doc/headings-edge/workflow/auto/slack","detected":"Markdown","cleaned":{"text":"# Level one\n\n## Level two\n\n### Level three\n\n#### Level four\n\n##### Level five\n\n###### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes ##\n\n#\n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text"},"output":{"text":"*Level one*\n\n*Level two*\n\n*Level three*\n\n*Level four*\n\n*Level five*\n\n*Level six*\n\n####### Seven hashes is not a heading\n\n*Heading with trailing hashes*\n\n**\n\n*Heading with <https://example.com/h|a link> and `code` and 🎈*\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n*Duplicate heading text*\n\n*Duplicate heading text*"},"html":{"text":"<h1>Level one</h1><h2>Level two</h2><h3>Level three</h3><h4>Level four</h4><h5>Level five</h5><h6>Level six</h6><p>####### Seven hashes is not a heading</p><h1>Heading with trailing hashes</h1><h1></h1><h2>Heading with <a href=\"https://example.com/h\">a link</a> and <code>code</code> and 🎈</h2><p>Heading-like text mid-paragraph stays prose: the # symbol here is not a heading.</p><h1>Duplicate heading text</h1><h1>Duplicate heading text</h1>"},"changes":[]}
{"id":"doc/headings-edge/workflow/auto/teams","detected":"Markdown","cleaned":{"text":"# Level one\n\n## Level two\n\n### Level three\n\n#### Level four\n\n##### Level five\n\n###### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes ##\n\n#\n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text"},"output":{"text":"# Level one\n\n## Level two\n\n### Level three\n\n### Level four\n\n### Level five\n\n### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes\n\n# \n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text"},"html":{"text":"<h1>Level one</h1><h2>Level two</h2><h3>Level three</h3><h4>Level four</h4><h5>Level five</h5><h6>Level six</h6><p>####### Seven hashes is not a heading</p><h1>Heading with trailing hashes</h1><h1></h1><h2>Heading with <a href=\"https://example.com/h\">a link</a> and <code>code</code> and 🎈</h2><p>Heading-like text mid-paragraph stays prose: the # symbol here is not a heading.</p><h1>Duplicate heading text</h1><h1>Duplicate heading text</h1>"},"changes":[]}
{"id":"doc/headings-edge/workflow/auto/zendesk","detected":"Markdown","cleaned":{"text":"# Level one\n\n## Level two\n\n### Level three\n\n#### Level four\n\n##### Level five\n\n###### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes ##\n\n#\n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text"},"output":{"text":"# Level one\n\n## Level two\n\n### Level three\n\n#### Level four\n\n#### Level five\n\n#### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes\n\n# \n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text"},"html":{"text":"<h1>Level one</h1><h2>Level two</h2><h3>Level three</h3><h4>Level four</h4><h4>Level five</h4><h4>Level six</h4><p>####### Seven hashes is not a heading</p><h1>Heading with trailing hashes</h1><h1></h1><h2>Heading with <a href=\"https://example.com/h\">a link</a> and <code>code</code> and 🎈</h2><p>Heading-like text mid-paragraph stays prose: the # symbol here is not a heading.</p><h1>Duplicate heading text</h1><h1>Duplicate heading text</h1>"},"changes":[]}
{"id":"doc/headings-edge/workflow/auto/jira","detected":"Markdown","cleaned":{"text":"# Level one\n\n## Level two\n\n### Level three\n\n#### Level four\n\n##### Level five\n\n###### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes ##\n\n#\n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text"},"output":{"text":"# Level one\n\n## Level two\n\n### Level three\n\n#### Level four\n\n##### Level five\n\n##### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes\n\n# \n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text"},"html":{"text":"<h1>Level one</h1><h2>Level two</h2><h3>Level three</h3><h4>Level four</h4><h5>Level five</h5><h5>Level six</h5><p>####### Seven hashes is not a heading</p><h1>Heading with trailing hashes</h1><h1></h1><h2>Heading with <a href=\"https://example.com/h\">a link</a> and <code>code</code> and 🎈</h2><p>Heading-like text mid-paragraph stays prose: the # symbol here is not a heading.</p><h1>Duplicate heading text</h1><h1>Duplicate heading text</h1>"},"changes":[]}
{"id":"doc/headings-edge/workflow/auto/plain","detected":"Markdown","cleaned":{"text":"# Level one\n\n## Level two\n\n### Level three\n\n#### Level four\n\n##### Level five\n\n###### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes ##\n\n#\n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text"},"output":{"text":"Level one\n\nLevel two\n\nLevel three\n\nLevel four\n\nLevel five\n\nLevel six\n\n####### Seven hashes is not a heading\n\nHeading with trailing hashes\n\nHeading with a link (https://example.com/h) and code and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\nDuplicate heading text\n\nDuplicate heading text"},"html":{"text":"<h1>Level one</h1><h2>Level two</h2><h3>Level three</h3><h4>Level four</h4><h5>Level five</h5><h6>Level six</h6><p>####### Seven hashes is not a heading</p><h1>Heading with trailing hashes</h1><h1></h1><h2>Heading with <a href=\"https://example.com/h\">a link</a> and <code>code</code> and 🎈</h2><p>Heading-like text mid-paragraph stays prose: the # symbol here is not a heading.</p><h1>Duplicate heading text</h1><h1>Duplicate heading text</h1>"},"changes":[]}
{"id":"doc/headings-edge/workflow/auto/imessage","detected":"Markdown","cleaned":{"text":"# Level one\n\n## Level two\n\n### Level three\n\n#### Level four\n\n##### Level five\n\n###### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes ##\n\n#\n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text"},"output":{"text":"Level one\n\nLevel two\n\nLevel three\n\nLevel four\n\nLevel five\n\nLevel six\n\n####### Seven hashes is not a heading\n\nHeading with trailing hashes\n\nHeading with a link (https://example.com/h) and code and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\nDuplicate heading text\n\nDuplicate heading text"},"html":{"text":"<h1>Level one</h1><h2>Level two</h2><h3>Level three</h3><h4>Level four</h4><h5>Level five</h5><h6>Level six</h6><p>####### Seven hashes is not a heading</p><h1>Heading with trailing hashes</h1><h1></h1><h2>Heading with <a href=\"https://example.com/h\">a link</a> and <code>code</code> and 🎈</h2><p>Heading-like text mid-paragraph stays prose: the # symbol here is not a heading.</p><h1>Duplicate heading text</h1><h1>Duplicate heading text</h1>"},"changes":[]}
{"id":"doc/headings-edge/workflow/auto/signal","detected":"Markdown","cleaned":{"text":"# Level one\n\n## Level two\n\n### Level three\n\n#### Level four\n\n##### Level five\n\n###### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes ##\n\n#\n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text"},"output":{"text":"Level one\n\nLevel two\n\nLevel three\n\nLevel four\n\nLevel five\n\nLevel six\n\n####### Seven hashes is not a heading\n\nHeading with trailing hashes\n\nHeading with a link (https://example.com/h) and code and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\nDuplicate heading text\n\nDuplicate heading text"},"html":{"text":"<h1>Level one</h1><h2>Level two</h2><h3>Level three</h3><h4>Level four</h4><h5>Level five</h5><h6>Level six</h6><p>####### Seven hashes is not a heading</p><h1>Heading with trailing hashes</h1><h1></h1><h2>Heading with <a href=\"https://example.com/h\">a link</a> and <code>code</code> and 🎈</h2><p>Heading-like text mid-paragraph stays prose: the # symbol here is not a heading.</p><h1>Duplicate heading text</h1><h1>Duplicate heading text</h1>"},"changes":[]}
{"id":"doc/headings-edge/workflow/auto/telegram","detected":"Markdown","cleaned":{"text":"# Level one\n\n## Level two\n\n### Level three\n\n#### Level four\n\n##### Level five\n\n###### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes ##\n\n#\n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text"},"output":{"text":"Level one\n\nLevel two\n\nLevel three\n\nLevel four\n\nLevel five\n\nLevel six\n\n####### Seven hashes is not a heading\n\nHeading with trailing hashes\n\nHeading with a link (https://example.com/h) and code and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\nDuplicate heading text\n\nDuplicate heading text"},"html":{"text":"<h1>Level one</h1><h2>Level two</h2><h3>Level three</h3><h4>Level four</h4><h5>Level five</h5><h6>Level six</h6><p>####### Seven hashes is not a heading</p><h1>Heading with trailing hashes</h1><h1></h1><h2>Heading with <a href=\"https://example.com/h\">a link</a> and <code>code</code> and 🎈</h2><p>Heading-like text mid-paragraph stays prose: the # symbol here is not a heading.</p><h1>Duplicate heading text</h1><h1>Duplicate heading text</h1>"},"changes":[]}
{"id":"doc/headings-edge/workflow/auto/gmail","detected":"Markdown","cleaned":{"text":"# Level one\n\n## Level two\n\n### Level three\n\n#### Level four\n\n##### Level five\n\n###### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes ##\n\n#\n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text"},"output":{"text":"Level one\n\nLevel two\n\nLevel three\n\nLevel four\n\nLevel five\n\nLevel six\n\n####### Seven hashes is not a heading\n\nHeading with trailing hashes\n\nHeading with a link (https://example.com/h) and code and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\nDuplicate heading text\n\nDuplicate heading text"},"html":{"text":"<h1>Level one</h1><h2>Level two</h2><h3>Level three</h3><h4>Level four</h4><h5>Level five</h5><h6>Level six</h6><p>####### Seven hashes is not a heading</p><h1>Heading with trailing hashes</h1><h1></h1><h2>Heading with <a href=\"https://example.com/h\">a link</a> and <code>code</code> and 🎈</h2><p>Heading-like text mid-paragraph stays prose: the # symbol here is not a heading.</p><h1>Duplicate heading text</h1><h1>Duplicate heading text</h1>"},"changes":[]}
{"id":"doc/headings-edge/workflow/auto/outlook","detected":"Markdown","cleaned":{"text":"# Level one\n\n## Level two\n\n### Level three\n\n#### Level four\n\n##### Level five\n\n###### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes ##\n\n#\n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text"},"output":{"text":"Level one\n\nLevel two\n\nLevel three\n\nLevel four\n\nLevel five\n\nLevel six\n\n####### Seven hashes is not a heading\n\nHeading with trailing hashes\n\nHeading with a link (https://example.com/h) and code and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\nDuplicate heading text\n\nDuplicate heading text"},"html":{"text":"<h1>Level one</h1><h2>Level two</h2><h3>Level three</h3><h4>Level four</h4><h5>Level five</h5><h6>Level six</h6><p>####### Seven hashes is not a heading</p><h1>Heading with trailing hashes</h1><h1></h1><h2>Heading with <a href=\"https://example.com/h\">a link</a> and <code>code</code> and 🎈</h2><p>Heading-like text mid-paragraph stays prose: the # symbol here is not a heading.</p><h1>Duplicate heading text</h1><h1>Duplicate heading text</h1>"},"changes":[]}
{"id":"doc/headings-edge/workflow/auto/shortwave","detected":"Markdown","cleaned":{"text":"# Level one\n\n## Level two\n\n### Level three\n\n#### Level four\n\n##### Level five\n\n###### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes ##\n\n#\n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text"},"output":{"text":"Level one\n\nLevel two\n\nLevel three\n\nLevel four\n\nLevel five\n\nLevel six\n\n####### Seven hashes is not a heading\n\nHeading with trailing hashes\n\nHeading with a link (https://example.com/h) and code and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\nDuplicate heading text\n\nDuplicate heading text"},"html":{"text":"<h1>Level one</h1><h2>Level two</h2><h3>Level three</h3><h4>Level four</h4><h5>Level five</h5><h6>Level six</h6><p>####### Seven hashes is not a heading</p><h1>Heading with trailing hashes</h1><h1></h1><h2>Heading with <a href=\"https://example.com/h\">a link</a> and <code>code</code> and 🎈</h2><p>Heading-like text mid-paragraph stays prose: the # symbol here is not a heading.</p><h1>Duplicate heading text</h1><h1>Duplicate heading text</h1>"},"changes":[]}
{"id":"doc/headings-edge/workflow/auto/notion","detected":"Markdown","cleaned":{"text":"# Level one\n\n## Level two\n\n### Level three\n\n#### Level four\n\n##### Level five\n\n###### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes ##\n\n#\n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text"},"output":{"text":"Level one\n\nLevel two\n\nLevel three\n\nLevel four\n\nLevel five\n\nLevel six\n\n####### Seven hashes is not a heading\n\nHeading with trailing hashes\n\nHeading with a link (https://example.com/h) and code and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\nDuplicate heading text\n\nDuplicate heading text"},"html":{"text":"<h1>Level one</h1><h2>Level two</h2><h3>Level three</h3><h4>Level four</h4><h5>Level five</h5><h6>Level six</h6><p>####### Seven hashes is not a heading</p><h1>Heading with trailing hashes</h1><h1></h1><h2>Heading with <a href=\"https://example.com/h\">a link</a> and <code>code</code> and 🎈</h2><p>Heading-like text mid-paragraph stays prose: the # symbol here is not a heading.</p><h1>Duplicate heading text</h1><h1>Duplicate heading text</h1>"},"changes":[]}
{"id":"doc/headings-edge/workflow/auto/confluence","detected":"Markdown","cleaned":{"text":"# Level one\n\n## Level two\n\n### Level three\n\n#### Level four\n\n##### Level five\n\n###### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes ##\n\n#\n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text"},"output":{"text":"Level one\n\nLevel two\n\nLevel three\n\nLevel four\n\nLevel five\n\nLevel six\n\n####### Seven hashes is not a heading\n\nHeading with trailing hashes\n\nHeading with a link (https://example.com/h) and code and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\nDuplicate heading text\n\nDuplicate heading text"},"html":{"text":"<h1>Level one</h1><h2>Level two</h2><h3>Level three</h3><h4>Level four</h4><h5>Level five</h5><h6>Level six</h6><p>####### Seven hashes is not a heading</p><h1>Heading with trailing hashes</h1><h1></h1><h2>Heading with <a href=\"https://example.com/h\">a link</a> and <code>code</code> and 🎈</h2><p>Heading-like text mid-paragraph stays prose: the # symbol here is not a heading.</p><h1>Duplicate heading text</h1><h1>Duplicate heading text</h1>"},"changes":[]}
{"id":"doc/headings-edge/workflow/auto/calendar","detected":"Markdown","cleaned":{"text":"# Level one\n\n## Level two\n\n### Level three\n\n#### Level four\n\n##### Level five\n\n###### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes ##\n\n#\n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text"},"output":{"text":"Level one\n\nLevel two\n\nLevel three\n\nLevel four\n\nLevel five\n\nLevel six\n\n####### Seven hashes is not a heading\n\nHeading with trailing hashes\n\nHeading with a link (https://example.com/h) and code and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\nDuplicate heading text\n\nDuplicate heading text"},"html":{"text":"<h1>Level one</h1><h2>Level two</h2><h3>Level three</h3><h4>Level four</h4><h5>Level five</h5><h6>Level six</h6><p>####### Seven hashes is not a heading</p><h1>Heading with trailing hashes</h1><h1></h1><h2>Heading with <a href=\"https://example.com/h\">a link</a> and <code>code</code> and 🎈</h2><p>Heading-like text mid-paragraph stays prose: the # symbol here is not a heading.</p><h1>Duplicate heading text</h1><h1>Duplicate heading text</h1>"},"changes":[]}
{"id":"doc/headings-edge/workflow/auto/word","detected":"Markdown","cleaned":{"text":"# Level one\n\n## Level two\n\n### Level three\n\n#### Level four\n\n##### Level five\n\n###### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes ##\n\n#\n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text"},"output":{"text":"Level one\n\nLevel two\n\nLevel three\n\nLevel four\n\nLevel five\n\nLevel six\n\n####### Seven hashes is not a heading\n\nHeading with trailing hashes\n\nHeading with a link (https://example.com/h) and code and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\nDuplicate heading text\n\nDuplicate heading text"},"html":{"text":"<h1>Level one</h1><h2>Level two</h2><h3>Level three</h3><h4>Level four</h4><h5>Level five</h5><h6>Level six</h6><p>####### Seven hashes is not a heading</p><h1>Heading with trailing hashes</h1><h1></h1><h2>Heading with <a href=\"https://example.com/h\">a link</a> and <code>code</code> and 🎈</h2><p>Heading-like text mid-paragraph stays prose: the # symbol here is not a heading.</p><h1>Duplicate heading text</h1><h1>Duplicate heading text</h1>"},"changes":[]}
{"id":"doc/headings-edge/workflow/auto/google-docs","detected":"Markdown","cleaned":{"text":"# Level one\n\n## Level two\n\n### Level three\n\n#### Level four\n\n##### Level five\n\n###### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes ##\n\n#\n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text"},"output":{"text":"Level one\n\nLevel two\n\nLevel three\n\nLevel four\n\nLevel five\n\nLevel six\n\n####### Seven hashes is not a heading\n\nHeading with trailing hashes\n\nHeading with a link (https://example.com/h) and code and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\nDuplicate heading text\n\nDuplicate heading text"},"html":{"text":"<h1>Level one</h1><h2>Level two</h2><h3>Level three</h3><h4>Level four</h4><h5>Level five</h5><h6>Level six</h6><p>####### Seven hashes is not a heading</p><h1>Heading with trailing hashes</h1><h1></h1><h2>Heading with <a href=\"https://example.com/h\">a link</a> and <code>code</code> and 🎈</h2><p>Heading-like text mid-paragraph stays prose: the # symbol here is not a heading.</p><h1>Duplicate heading text</h1><h1>Duplicate heading text</h1>"},"changes":[]}
{"id":"doc/headings-edge/workflow/auto/markdown","detected":"Markdown","cleaned":{"text":"# Level one\n\n## Level two\n\n### Level three\n\n#### Level four\n\n##### Level five\n\n###### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes ##\n\n#\n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text"},"output":{"text":"# Level one\n\n## Level two\n\n### Level three\n\n#### Level four\n\n##### Level five\n\n###### Level six\n\n####### Seven hashes is not a heading\n\n# Heading with trailing hashes ##\n\n#\n\n## Heading with [a link](https://example.com/h) and `code` and 🎈\n\nHeading-like text mid-paragraph stays prose: the # symbol here is not a heading.\n\n# Duplicate heading text\n\n# Duplicate heading text"},"html":{"text":"<h1>Level one</h1><h2>Level two</h2><h3>Level three</h3><h4>Level four</h4><h5>Level five</h5><h6>Level six</h6><p>####### Seven hashes is not a heading</p><h1>Heading with trailing hashes</h1><h1></h1><h2>Heading with <a href=\"https://example.com/h\">a link</a> and <code>code</code> and 🎈</h2><p>Heading-like text mid-paragraph stays prose: the # symbol here is not a heading.</p><h1>Duplicate heading text</h1><h1>Duplicate heading text</h1>"},"changes":[]}
{"id":"doc/headings-edge/workflow/markdown/whatsapp","detected":"Markdown","fnv":"ee6fac29","len":1269}
{"id":"doc/headings-edge/workflow/markdown/google-chat","detected":"Markdown","fnv":"ee6fac29","len":1269}
{"id":"doc/headings-edge/workflow/markdown/discord","detected":"Markdown","fnv":"99cde339","len":1281}
{"id":"doc/headings-edge/workflow/markdown/slack","detected":"Markdown","fnv":"10ba62cb","len":1270}
{"id":"doc/headings-edge/workflow/markdown/teams","detected":"Markdown","fnv":"99cde339","len":1281}
{"id":"doc/headings-edge/workflow/markdown/zendesk","detected":"Markdown","fnv":"50d1df04","len":1284}
{"id":"doc/headings-edge/workflow/markdown/jira","detected":"Markdown","fnv":"4d9c3fda","len":1286}
{"id":"doc/headings-edge/workflow/markdown/plain","detected":"Markdown","fnv":"f0d8c56c","len":1242}
{"id":"doc/headings-edge/workflow/markdown/imessage","detected":"Markdown","fnv":"f0d8c56c","len":1242}
{"id":"doc/headings-edge/workflow/markdown/signal","detected":"Markdown","fnv":"f0d8c56c","len":1242}
{"id":"doc/headings-edge/workflow/markdown/telegram","detected":"Markdown","fnv":"f0d8c56c","len":1242}
{"id":"doc/headings-edge/workflow/markdown/gmail","detected":"Markdown","fnv":"f0d8c56c","len":1242}
{"id":"doc/headings-edge/workflow/markdown/outlook","detected":"Markdown","fnv":"f0d8c56c","len":1242}
{"id":"doc/headings-edge/workflow/markdown/shortwave","detected":"Markdown","fnv":"f0d8c56c","len":1242}
{"id":"doc/headings-edge/workflow/markdown/notion","detected":"Markdown","fnv":"f0d8c56c","len":1242}
{"id":"doc/headings-edge/workflow/markdown/confluence","detected":"Markdown","fnv":"f0d8c56c","len":1242}
{"id":"doc/headings-edge/workflow/markdown/calendar","detected":"Markdown","fnv":"f0d8c56c","len":1242}
{"id":"doc/headings-edge/workflow/markdown/word","detected":"Markdown","fnv":"f0d8c56c","len":1242}
{"id":"doc/headings-edge/workflow/markdown/google-docs","detected":"Markdown","fnv":"f0d8c56c","len":1242}
{"id":"doc/headings-edge/workflow/markdown/markdown","detected":"Markdown","fnv":"44e7341f","len":1289}
{"id":"doc/headings-edge/workflow/plain/whatsapp","detected":"Markdown","fnv":"950fd2cf","len":1283}
{"id":"doc/headings-edge/workflow/plain/google-chat","detected":"Markdown","fnv":"950fd2cf","len":1283}
{"id":"doc/headings-edge/workflow/plain/discord","detected":"Markdown","fnv":"950fd2cf","len":1283}
{"id":"doc/headings-edge/workflow/plain/slack","detected":"Markdown","fnv":"950fd2cf","len":1283}
{"id":"doc/headings-edge/workflow/plain/teams","detected":"Markdown","fnv":"950fd2cf","len":1283}
{"id":"doc/headings-edge/workflow/plain/zendesk","detected":"Markdown","fnv":"950fd2cf","len":1283}
{"id":"doc/headings-edge/workflow/plain/jira","detected":"Markdown","fnv":"950fd2cf","len":1283}
{"id":"doc/headings-edge/workflow/plain/plain","detected":"Markdown","fnv":"950fd2cf","len":1283}
{"id":"doc/headings-edge/workflow/plain/imessage","detected":"Markdown","fnv":"950fd2cf","len":1283}
{"id":"doc/headings-edge/workflow/plain/signal","detected":"Markdown","fnv":"950fd2cf","len":1283}
{"id":"doc/headings-edge/workflow/plain/telegram","detected":"Markdown","fnv":"950fd2cf","len":1283}
{"id":"doc/headings-edge/workflow/plain/gmail","detected":"Markdown","fnv":"950fd2cf","len":1283}
{"id":"doc/headings-edge/workflow/plain/outlook","detected":"Markdown","fnv":"950fd2cf","len":1283}
{"id":"doc/headings-edge/workflow/plain/shortwave","detected":"Markdown","fnv":"950fd2cf","len":1283}
{"id":"doc/headings-edge/workflow/plain/notion","detected":"Markdown","fnv":"950fd2cf","len":1283}
{"id":"doc/headings-edge/workflow/plain/confluence","detected":"Markdown","fnv":"950fd2cf","len":1283}
{"id":"doc/headings-edge/workflow/plain/calendar","detected":"Markdown","fnv":"950fd2cf","len":1283}
{"id":"doc/headings-edge/workflow/plain/word","detected":"Markdown","fnv":"950fd2cf","len":1283}
{"id":"doc/headings-edge/workflow/plain/google-docs","detected":"Markdown","fnv":"950fd2cf","len":1283}
{"id":"doc/headings-edge/workflow/plain/markdown","detected":"Markdown","fnv":"950fd2cf","len":1283}
{"id":"doc/hr-variations/detect","val":"Markdown"}
{"id":"doc/hr-variations/words","val":28}
{"id":"doc/hr-variations/filename/md","val":"thematic-breaks.md"}
{"id":"doc/hr-variations/filename/docx","val":"thematic-breaks.docx"}
{"id":"doc/hr-variations/clean/default","text":"# Thematic breaks\n\nBefore the first break.\n\n---\n\n***\n\n___\n\n- - -\n\n* * *\n\nA list item above a break:\n\n- item\n\n---\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n---\n\nThe end.","changes":[]}
{"id":"doc/hr-variations/convert/whatsapp","cleaned":{"text":"# Thematic breaks\n\nBefore the first break.\n\n---\n\n***\n\n___\n\n- - -\n\n* * *\n\nA list item above a break:\n\n- item\n\n---\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n---\n\nThe end."},"output":{"text":"*Thematic breaks*\n\nBefore the first break.\n\n────────\n\n────────\n\n────────\n\n────────\n\n────────\n\nA list item above a break:\n\n- item\n\n────────\n\n- item after the break\n\n*Text directly above dashes becomes a setext heading instead*\n\nThe end."},"html":{"text":"<h1>Thematic breaks</h1><p>Before the first break.</p><hr><hr><hr><hr><hr><p>A list item above a break:</p><ul><li>item</li></ul><hr><ul><li>item after the break</li></ul><h2>Text directly above dashes becomes a setext heading instead</h2><p>The end.</p>"},"changes":[]}
{"id":"doc/hr-variations/convert/google-chat","cleaned":{"text":"# Thematic breaks\n\nBefore the first break.\n\n---\n\n***\n\n___\n\n- - -\n\n* * *\n\nA list item above a break:\n\n- item\n\n---\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n---\n\nThe end."},"output":{"text":"*Thematic breaks*\n\nBefore the first break.\n\n────────\n\n────────\n\n────────\n\n────────\n\n────────\n\nA list item above a break:\n\n- item\n\n────────\n\n- item after the break\n\n*Text directly above dashes becomes a setext heading instead*\n\nThe end."},"html":{"text":"<h1>Thematic breaks</h1><p>Before the first break.</p><hr><hr><hr><hr><hr><p>A list item above a break:</p><ul><li>item</li></ul><hr><ul><li>item after the break</li></ul><h2>Text directly above dashes becomes a setext heading instead</h2><p>The end.</p>"},"changes":[]}
{"id":"doc/hr-variations/convert/discord","cleaned":{"text":"# Thematic breaks\n\nBefore the first break.\n\n---\n\n***\n\n___\n\n- - -\n\n* * *\n\nA list item above a break:\n\n- item\n\n---\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n---\n\nThe end."},"output":{"text":"# Thematic breaks\n\nBefore the first break.\n\n────────\n\n────────\n\n────────\n\n────────\n\n────────\n\nA list item above a break:\n\n- item\n\n────────\n\n- item after the break\n\n## Text directly above dashes becomes a setext heading instead\n\nThe end."},"html":{"text":"<h1>Thematic breaks</h1><p>Before the first break.</p><hr><hr><hr><hr><hr><p>A list item above a break:</p><ul><li>item</li></ul><hr><ul><li>item after the break</li></ul><h2>Text directly above dashes becomes a setext heading instead</h2><p>The end.</p>"},"changes":[]}
{"id":"doc/hr-variations/convert/slack","cleaned":{"text":"# Thematic breaks\n\nBefore the first break.\n\n---\n\n***\n\n___\n\n- - -\n\n* * *\n\nA list item above a break:\n\n- item\n\n---\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n---\n\nThe end."},"output":{"text":"*Thematic breaks*\n\nBefore the first break.\n\n────────\n\n────────\n\n────────\n\n────────\n\n────────\n\nA list item above a break:\n\n• item\n\n────────\n\n• item after the break\n\n*Text directly above dashes becomes a setext heading instead*\n\nThe end."},"html":{"text":"<h1>Thematic breaks</h1><p>Before the first break.</p><hr><hr><hr><hr><hr><p>A list item above a break:</p><ul><li>item</li></ul><hr><ul><li>item after the break</li></ul><h2>Text directly above dashes becomes a setext heading instead</h2><p>The end.</p>"},"changes":[]}
{"id":"doc/hr-variations/convert/teams","cleaned":{"text":"# Thematic breaks\n\nBefore the first break.\n\n---\n\n***\n\n___\n\n- - -\n\n* * *\n\nA list item above a break:\n\n- item\n\n---\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n---\n\nThe end."},"output":{"text":"# Thematic breaks\n\nBefore the first break.\n\n────────\n\n────────\n\n────────\n\n────────\n\n────────\n\nA list item above a break:\n\n- item\n\n────────\n\n- item after the break\n\n## Text directly above dashes becomes a setext heading instead\n\nThe end."},"html":{"text":"<h1>Thematic breaks</h1><p>Before the first break.</p><hr><hr><hr><hr><hr><p>A list item above a break:</p><ul><li>item</li></ul><hr><ul><li>item after the break</li></ul><h2>Text directly above dashes becomes a setext heading instead</h2><p>The end.</p>"},"changes":[]}
{"id":"doc/hr-variations/convert/zendesk","cleaned":{"text":"# Thematic breaks\n\nBefore the first break.\n\n---\n\n***\n\n___\n\n- - -\n\n* * *\n\nA list item above a break:\n\n- item\n\n---\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n---\n\nThe end."},"output":{"text":"# Thematic breaks\n\nBefore the first break.\n\n---\n\n---\n\n---\n\n---\n\n---\n\nA list item above a break:\n\n- item\n\n---\n\n- item after the break\n\n## Text directly above dashes becomes a setext heading instead\n\nThe end."},"html":{"text":"<h1>Thematic breaks</h1><p>Before the first break.</p><hr><hr><hr><hr><hr><p>A list item above a break:</p><ul><li>item</li></ul><hr><ul><li>item after the break</li></ul><h2>Text directly above dashes becomes a setext heading instead</h2><p>The end.</p>"},"changes":[]}
{"id":"doc/hr-variations/convert/jira","cleaned":{"text":"# Thematic breaks\n\nBefore the first break.\n\n---\n\n***\n\n___\n\n- - -\n\n* * *\n\nA list item above a break:\n\n- item\n\n---\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n---\n\nThe end."},"output":{"text":"# Thematic breaks\n\nBefore the first break.\n\n---\n\n---\n\n---\n\n---\n\n---\n\nA list item above a break:\n\n- item\n\n---\n\n- item after the break\n\n## Text directly above dashes becomes a setext heading instead\n\nThe end."},"html":{"text":"<h1>Thematic breaks</h1><p>Before the first break.</p><hr><hr><hr><hr><hr><p>A list item above a break:</p><ul><li>item</li></ul><hr><ul><li>item after the break</li></ul><h2>Text directly above dashes becomes a setext heading instead</h2><p>The end.</p>"},"changes":[]}
{"id":"doc/hr-variations/convert/plain","cleaned":{"text":"# Thematic breaks\n\nBefore the first break.\n\n---\n\n***\n\n___\n\n- - -\n\n* * *\n\nA list item above a break:\n\n- item\n\n---\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n---\n\nThe end."},"output":{"text":"Thematic breaks\n\nBefore the first break.\n\n────────\n\n────────\n\n────────\n\n────────\n\n────────\n\nA list item above a break:\n\n- item\n\n────────\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n\nThe end."},"html":{"text":"<h1>Thematic breaks</h1><p>Before the first break.</p><hr><hr><hr><hr><hr><p>A list item above a break:</p><ul><li>item</li></ul><hr><ul><li>item after the break</li></ul><h2>Text directly above dashes becomes a setext heading instead</h2><p>The end.</p>"},"changes":[]}
{"id":"doc/hr-variations/whatsapp-preview","fnv":"23cf9e6e","len":1256}
{"id":"doc/hr-variations/diff-cleanup","val":[{"type":"same","value":"# Thematic breaks\n\nBefore the first break.\n\n---\n\n***\n\n___\n\n- - -\n\n* * *\n\nA list item above a break:\n\n- item\n\n---\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n---\n\nThe end."},{"type":"removed","value":"\n"}]}
{"id":"doc/hr-variations/workflow/auto/whatsapp","detected":"Markdown","cleaned":{"text":"# Thematic breaks\n\nBefore the first break.\n\n---\n\n***\n\n___\n\n- - -\n\n* * *\n\nA list item above a break:\n\n- item\n\n---\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n---\n\nThe end."},"output":{"text":"*Thematic breaks*\n\nBefore the first break.\n\n────────\n\n────────\n\n────────\n\n────────\n\n────────\n\nA list item above a break:\n\n- item\n\n────────\n\n- item after the break\n\n*Text directly above dashes becomes a setext heading instead*\n\nThe end."},"html":{"text":"<h1>Thematic breaks</h1><p>Before the first break.</p><hr><hr><hr><hr><hr><p>A list item above a break:</p><ul><li>item</li></ul><hr><ul><li>item after the break</li></ul><h2>Text directly above dashes becomes a setext heading instead</h2><p>The end.</p>"},"changes":[]}
{"id":"doc/hr-variations/workflow/auto/google-chat","detected":"Markdown","cleaned":{"text":"# Thematic breaks\n\nBefore the first break.\n\n---\n\n***\n\n___\n\n- - -\n\n* * *\n\nA list item above a break:\n\n- item\n\n---\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n---\n\nThe end."},"output":{"text":"*Thematic breaks*\n\nBefore the first break.\n\n────────\n\n────────\n\n────────\n\n────────\n\n────────\n\nA list item above a break:\n\n- item\n\n────────\n\n- item after the break\n\n*Text directly above dashes becomes a setext heading instead*\n\nThe end."},"html":{"text":"<h1>Thematic breaks</h1><p>Before the first break.</p><hr><hr><hr><hr><hr><p>A list item above a break:</p><ul><li>item</li></ul><hr><ul><li>item after the break</li></ul><h2>Text directly above dashes becomes a setext heading instead</h2><p>The end.</p>"},"changes":[]}
{"id":"doc/hr-variations/workflow/auto/discord","detected":"Markdown","cleaned":{"text":"# Thematic breaks\n\nBefore the first break.\n\n---\n\n***\n\n___\n\n- - -\n\n* * *\n\nA list item above a break:\n\n- item\n\n---\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n---\n\nThe end."},"output":{"text":"# Thematic breaks\n\nBefore the first break.\n\n────────\n\n────────\n\n────────\n\n────────\n\n────────\n\nA list item above a break:\n\n- item\n\n────────\n\n- item after the break\n\n## Text directly above dashes becomes a setext heading instead\n\nThe end."},"html":{"text":"<h1>Thematic breaks</h1><p>Before the first break.</p><hr><hr><hr><hr><hr><p>A list item above a break:</p><ul><li>item</li></ul><hr><ul><li>item after the break</li></ul><h2>Text directly above dashes becomes a setext heading instead</h2><p>The end.</p>"},"changes":[]}
{"id":"doc/hr-variations/workflow/auto/slack","detected":"Markdown","cleaned":{"text":"# Thematic breaks\n\nBefore the first break.\n\n---\n\n***\n\n___\n\n- - -\n\n* * *\n\nA list item above a break:\n\n- item\n\n---\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n---\n\nThe end."},"output":{"text":"*Thematic breaks*\n\nBefore the first break.\n\n────────\n\n────────\n\n────────\n\n────────\n\n────────\n\nA list item above a break:\n\n• item\n\n────────\n\n• item after the break\n\n*Text directly above dashes becomes a setext heading instead*\n\nThe end."},"html":{"text":"<h1>Thematic breaks</h1><p>Before the first break.</p><hr><hr><hr><hr><hr><p>A list item above a break:</p><ul><li>item</li></ul><hr><ul><li>item after the break</li></ul><h2>Text directly above dashes becomes a setext heading instead</h2><p>The end.</p>"},"changes":[]}
{"id":"doc/hr-variations/workflow/auto/teams","detected":"Markdown","cleaned":{"text":"# Thematic breaks\n\nBefore the first break.\n\n---\n\n***\n\n___\n\n- - -\n\n* * *\n\nA list item above a break:\n\n- item\n\n---\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n---\n\nThe end."},"output":{"text":"# Thematic breaks\n\nBefore the first break.\n\n────────\n\n────────\n\n────────\n\n────────\n\n────────\n\nA list item above a break:\n\n- item\n\n────────\n\n- item after the break\n\n## Text directly above dashes becomes a setext heading instead\n\nThe end."},"html":{"text":"<h1>Thematic breaks</h1><p>Before the first break.</p><hr><hr><hr><hr><hr><p>A list item above a break:</p><ul><li>item</li></ul><hr><ul><li>item after the break</li></ul><h2>Text directly above dashes becomes a setext heading instead</h2><p>The end.</p>"},"changes":[]}
{"id":"doc/hr-variations/workflow/auto/zendesk","detected":"Markdown","cleaned":{"text":"# Thematic breaks\n\nBefore the first break.\n\n---\n\n***\n\n___\n\n- - -\n\n* * *\n\nA list item above a break:\n\n- item\n\n---\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n---\n\nThe end."},"output":{"text":"# Thematic breaks\n\nBefore the first break.\n\n---\n\n---\n\n---\n\n---\n\n---\n\nA list item above a break:\n\n- item\n\n---\n\n- item after the break\n\n## Text directly above dashes becomes a setext heading instead\n\nThe end."},"html":{"text":"<h1>Thematic breaks</h1><p>Before the first break.</p><hr><hr><hr><hr><hr><p>A list item above a break:</p><ul><li>item</li></ul><hr><ul><li>item after the break</li></ul><h2>Text directly above dashes becomes a setext heading instead</h2><p>The end.</p>"},"changes":[]}
{"id":"doc/hr-variations/workflow/auto/jira","detected":"Markdown","cleaned":{"text":"# Thematic breaks\n\nBefore the first break.\n\n---\n\n***\n\n___\n\n- - -\n\n* * *\n\nA list item above a break:\n\n- item\n\n---\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n---\n\nThe end."},"output":{"text":"# Thematic breaks\n\nBefore the first break.\n\n---\n\n---\n\n---\n\n---\n\n---\n\nA list item above a break:\n\n- item\n\n---\n\n- item after the break\n\n## Text directly above dashes becomes a setext heading instead\n\nThe end."},"html":{"text":"<h1>Thematic breaks</h1><p>Before the first break.</p><hr><hr><hr><hr><hr><p>A list item above a break:</p><ul><li>item</li></ul><hr><ul><li>item after the break</li></ul><h2>Text directly above dashes becomes a setext heading instead</h2><p>The end.</p>"},"changes":[]}
{"id":"doc/hr-variations/workflow/auto/plain","detected":"Markdown","cleaned":{"text":"# Thematic breaks\n\nBefore the first break.\n\n---\n\n***\n\n___\n\n- - -\n\n* * *\n\nA list item above a break:\n\n- item\n\n---\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n---\n\nThe end."},"output":{"text":"Thematic breaks\n\nBefore the first break.\n\n────────\n\n────────\n\n────────\n\n────────\n\n────────\n\nA list item above a break:\n\n- item\n\n────────\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n\nThe end."},"html":{"text":"<h1>Thematic breaks</h1><p>Before the first break.</p><hr><hr><hr><hr><hr><p>A list item above a break:</p><ul><li>item</li></ul><hr><ul><li>item after the break</li></ul><h2>Text directly above dashes becomes a setext heading instead</h2><p>The end.</p>"},"changes":[]}
{"id":"doc/hr-variations/workflow/auto/imessage","detected":"Markdown","cleaned":{"text":"# Thematic breaks\n\nBefore the first break.\n\n---\n\n***\n\n___\n\n- - -\n\n* * *\n\nA list item above a break:\n\n- item\n\n---\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n---\n\nThe end."},"output":{"text":"Thematic breaks\n\nBefore the first break.\n\n────────\n\n────────\n\n────────\n\n────────\n\n────────\n\nA list item above a break:\n\n- item\n\n────────\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n\nThe end."},"html":{"text":"<h1>Thematic breaks</h1><p>Before the first break.</p><hr><hr><hr><hr><hr><p>A list item above a break:</p><ul><li>item</li></ul><hr><ul><li>item after the break</li></ul><h2>Text directly above dashes becomes a setext heading instead</h2><p>The end.</p>"},"changes":[]}
{"id":"doc/hr-variations/workflow/auto/signal","detected":"Markdown","cleaned":{"text":"# Thematic breaks\n\nBefore the first break.\n\n---\n\n***\n\n___\n\n- - -\n\n* * *\n\nA list item above a break:\n\n- item\n\n---\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n---\n\nThe end."},"output":{"text":"Thematic breaks\n\nBefore the first break.\n\n────────\n\n────────\n\n────────\n\n────────\n\n────────\n\nA list item above a break:\n\n- item\n\n────────\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n\nThe end."},"html":{"text":"<h1>Thematic breaks</h1><p>Before the first break.</p><hr><hr><hr><hr><hr><p>A list item above a break:</p><ul><li>item</li></ul><hr><ul><li>item after the break</li></ul><h2>Text directly above dashes becomes a setext heading instead</h2><p>The end.</p>"},"changes":[]}
{"id":"doc/hr-variations/workflow/auto/telegram","detected":"Markdown","cleaned":{"text":"# Thematic breaks\n\nBefore the first break.\n\n---\n\n***\n\n___\n\n- - -\n\n* * *\n\nA list item above a break:\n\n- item\n\n---\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n---\n\nThe end."},"output":{"text":"Thematic breaks\n\nBefore the first break.\n\n────────\n\n────────\n\n────────\n\n────────\n\n────────\n\nA list item above a break:\n\n- item\n\n────────\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n\nThe end."},"html":{"text":"<h1>Thematic breaks</h1><p>Before the first break.</p><hr><hr><hr><hr><hr><p>A list item above a break:</p><ul><li>item</li></ul><hr><ul><li>item after the break</li></ul><h2>Text directly above dashes becomes a setext heading instead</h2><p>The end.</p>"},"changes":[]}
{"id":"doc/hr-variations/workflow/auto/gmail","detected":"Markdown","cleaned":{"text":"# Thematic breaks\n\nBefore the first break.\n\n---\n\n***\n\n___\n\n- - -\n\n* * *\n\nA list item above a break:\n\n- item\n\n---\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n---\n\nThe end."},"output":{"text":"Thematic breaks\n\nBefore the first break.\n\n────────\n\n────────\n\n────────\n\n────────\n\n────────\n\nA list item above a break:\n\n- item\n\n────────\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n\nThe end."},"html":{"text":"<h1>Thematic breaks</h1><p>Before the first break.</p><hr><hr><hr><hr><hr><p>A list item above a break:</p><ul><li>item</li></ul><hr><ul><li>item after the break</li></ul><h2>Text directly above dashes becomes a setext heading instead</h2><p>The end.</p>"},"changes":[]}
{"id":"doc/hr-variations/workflow/auto/outlook","detected":"Markdown","cleaned":{"text":"# Thematic breaks\n\nBefore the first break.\n\n---\n\n***\n\n___\n\n- - -\n\n* * *\n\nA list item above a break:\n\n- item\n\n---\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n---\n\nThe end."},"output":{"text":"Thematic breaks\n\nBefore the first break.\n\n────────\n\n────────\n\n────────\n\n────────\n\n────────\n\nA list item above a break:\n\n- item\n\n────────\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n\nThe end."},"html":{"text":"<h1>Thematic breaks</h1><p>Before the first break.</p><hr><hr><hr><hr><hr><p>A list item above a break:</p><ul><li>item</li></ul><hr><ul><li>item after the break</li></ul><h2>Text directly above dashes becomes a setext heading instead</h2><p>The end.</p>"},"changes":[]}
{"id":"doc/hr-variations/workflow/auto/shortwave","detected":"Markdown","cleaned":{"text":"# Thematic breaks\n\nBefore the first break.\n\n---\n\n***\n\n___\n\n- - -\n\n* * *\n\nA list item above a break:\n\n- item\n\n---\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n---\n\nThe end."},"output":{"text":"Thematic breaks\n\nBefore the first break.\n\n────────\n\n────────\n\n────────\n\n────────\n\n────────\n\nA list item above a break:\n\n- item\n\n────────\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n\nThe end."},"html":{"text":"<h1>Thematic breaks</h1><p>Before the first break.</p><hr><hr><hr><hr><hr><p>A list item above a break:</p><ul><li>item</li></ul><hr><ul><li>item after the break</li></ul><h2>Text directly above dashes becomes a setext heading instead</h2><p>The end.</p>"},"changes":[]}
{"id":"doc/hr-variations/workflow/auto/notion","detected":"Markdown","cleaned":{"text":"# Thematic breaks\n\nBefore the first break.\n\n---\n\n***\n\n___\n\n- - -\n\n* * *\n\nA list item above a break:\n\n- item\n\n---\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n---\n\nThe end."},"output":{"text":"Thematic breaks\n\nBefore the first break.\n\n────────\n\n────────\n\n────────\n\n────────\n\n────────\n\nA list item above a break:\n\n- item\n\n────────\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n\nThe end."},"html":{"text":"<h1>Thematic breaks</h1><p>Before the first break.</p><hr><hr><hr><hr><hr><p>A list item above a break:</p><ul><li>item</li></ul><hr><ul><li>item after the break</li></ul><h2>Text directly above dashes becomes a setext heading instead</h2><p>The end.</p>"},"changes":[]}
{"id":"doc/hr-variations/workflow/auto/confluence","detected":"Markdown","cleaned":{"text":"# Thematic breaks\n\nBefore the first break.\n\n---\n\n***\n\n___\n\n- - -\n\n* * *\n\nA list item above a break:\n\n- item\n\n---\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n---\n\nThe end."},"output":{"text":"Thematic breaks\n\nBefore the first break.\n\n────────\n\n────────\n\n────────\n\n────────\n\n────────\n\nA list item above a break:\n\n- item\n\n────────\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n\nThe end."},"html":{"text":"<h1>Thematic breaks</h1><p>Before the first break.</p><hr><hr><hr><hr><hr><p>A list item above a break:</p><ul><li>item</li></ul><hr><ul><li>item after the break</li></ul><h2>Text directly above dashes becomes a setext heading instead</h2><p>The end.</p>"},"changes":[]}
{"id":"doc/hr-variations/workflow/auto/calendar","detected":"Markdown","cleaned":{"text":"# Thematic breaks\n\nBefore the first break.\n\n---\n\n***\n\n___\n\n- - -\n\n* * *\n\nA list item above a break:\n\n- item\n\n---\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n---\n\nThe end."},"output":{"text":"Thematic breaks\n\nBefore the first break.\n\n────────\n\n────────\n\n────────\n\n────────\n\n────────\n\nA list item above a break:\n\n- item\n\n────────\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n\nThe end."},"html":{"text":"<h1>Thematic breaks</h1><p>Before the first break.</p><hr><hr><hr><hr><hr><p>A list item above a break:</p><ul><li>item</li></ul><hr><ul><li>item after the break</li></ul><h2>Text directly above dashes becomes a setext heading instead</h2><p>The end.</p>"},"changes":[]}
{"id":"doc/hr-variations/workflow/auto/word","detected":"Markdown","cleaned":{"text":"# Thematic breaks\n\nBefore the first break.\n\n---\n\n***\n\n___\n\n- - -\n\n* * *\n\nA list item above a break:\n\n- item\n\n---\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n---\n\nThe end."},"output":{"text":"Thematic breaks\n\nBefore the first break.\n\n────────\n\n────────\n\n────────\n\n────────\n\n────────\n\nA list item above a break:\n\n- item\n\n────────\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n\nThe end."},"html":{"text":"<h1>Thematic breaks</h1><p>Before the first break.</p><hr><hr><hr><hr><hr><p>A list item above a break:</p><ul><li>item</li></ul><hr><ul><li>item after the break</li></ul><h2>Text directly above dashes becomes a setext heading instead</h2><p>The end.</p>"},"changes":[]}
{"id":"doc/hr-variations/workflow/auto/google-docs","detected":"Markdown","cleaned":{"text":"# Thematic breaks\n\nBefore the first break.\n\n---\n\n***\n\n___\n\n- - -\n\n* * *\n\nA list item above a break:\n\n- item\n\n---\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n---\n\nThe end."},"output":{"text":"Thematic breaks\n\nBefore the first break.\n\n────────\n\n────────\n\n────────\n\n────────\n\n────────\n\nA list item above a break:\n\n- item\n\n────────\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n\nThe end."},"html":{"text":"<h1>Thematic breaks</h1><p>Before the first break.</p><hr><hr><hr><hr><hr><p>A list item above a break:</p><ul><li>item</li></ul><hr><ul><li>item after the break</li></ul><h2>Text directly above dashes becomes a setext heading instead</h2><p>The end.</p>"},"changes":[]}
{"id":"doc/hr-variations/workflow/auto/markdown","detected":"Markdown","cleaned":{"text":"# Thematic breaks\n\nBefore the first break.\n\n---\n\n***\n\n___\n\n- - -\n\n* * *\n\nA list item above a break:\n\n- item\n\n---\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n---\n\nThe end."},"output":{"text":"# Thematic breaks\n\nBefore the first break.\n\n---\n\n***\n\n___\n\n- - -\n\n* * *\n\nA list item above a break:\n\n- item\n\n---\n\n- item after the break\n\nText directly above dashes becomes a setext heading instead\n---\n\nThe end."},"html":{"text":"<h1>Thematic breaks</h1><p>Before the first break.</p><hr><hr><hr><hr><hr><p>A list item above a break:</p><ul><li>item</li></ul><hr><ul><li>item after the break</li></ul><h2>Text directly above dashes becomes a setext heading instead</h2><p>The end.</p>"},"changes":[]}
{"id":"doc/hr-variations/workflow/markdown/whatsapp","detected":"Markdown","fnv":"c89209e8","len":798}
{"id":"doc/hr-variations/workflow/markdown/google-chat","detected":"Markdown","fnv":"c89209e8","len":798}
{"id":"doc/hr-variations/workflow/markdown/discord","detected":"Markdown","fnv":"be88545b","len":799}
{"id":"doc/hr-variations/workflow/markdown/slack","detected":"Markdown","fnv":"b6393da8","len":798}
{"id":"doc/hr-variations/workflow/markdown/teams","detected":"Markdown","fnv":"be88545b","len":799}
{"id":"doc/hr-variations/workflow/markdown/zendesk","detected":"Markdown","fnv":"53fecfef","len":769}
{"id":"doc/hr-variations/workflow/markdown/jira","detected":"Markdown","fnv":"53fecfef","len":769}
{"id":"doc/hr-variations/workflow/markdown/plain","detected":"Markdown","fnv":"9d92e3f6","len":794}
{"id":"doc/hr-variations/workflow/markdown/imessage","detected":"Markdown","fnv":"9d92e3f6","len":794}
{"id":"doc/hr-variations/workflow/markdown/signal","detected":"Markdown","fnv":"9d92e3f6","len":794}
{"id":"doc/hr-variations/workflow/markdown/telegram","detected":"Markdown","fnv":"9d92e3f6","len":794}
{"id":"doc/hr-variations/workflow/markdown/gmail","detected":"Markdown","fnv":"9d92e3f6","len":794}
{"id":"doc/hr-variations/workflow/markdown/outlook","detected":"Markdown","fnv":"9d92e3f6","len":794}
{"id":"doc/hr-variations/workflow/markdown/shortwave","detected":"Markdown","fnv":"9d92e3f6","len":794}
{"id":"doc/hr-variations/workflow/markdown/notion","detected":"Markdown","fnv":"9d92e3f6","len":794}
{"id":"doc/hr-variations/workflow/markdown/confluence","detected":"Markdown","fnv":"9d92e3f6","len":794}
{"id":"doc/hr-variations/workflow/markdown/calendar","detected":"Markdown","fnv":"9d92e3f6","len":794}
{"id":"doc/hr-variations/workflow/markdown/word","detected":"Markdown","fnv":"9d92e3f6","len":794}
{"id":"doc/hr-variations/workflow/markdown/google-docs","detected":"Markdown","fnv":"9d92e3f6","len":794}
{"id":"doc/hr-variations/workflow/markdown/markdown","detected":"Markdown","fnv":"ca196eaa","len":775}
{"id":"doc/hr-variations/workflow/plain/whatsapp","detected":"Markdown","fnv":"61d18d98","len":802}
{"id":"doc/hr-variations/workflow/plain/google-chat","detected":"Markdown","fnv":"61d18d98","len":802}
{"id":"doc/hr-variations/workflow/plain/discord","detected":"Markdown","fnv":"61d18d98","len":802}
{"id":"doc/hr-variations/workflow/plain/slack","detected":"Markdown","fnv":"61d18d98","len":802}
{"id":"doc/hr-variations/workflow/plain/teams","detected":"Markdown","fnv":"61d18d98","len":802}
{"id":"doc/hr-variations/workflow/plain/zendesk","detected":"Markdown","fnv":"61d18d98","len":802}
{"id":"doc/hr-variations/workflow/plain/jira","detected":"Markdown","fnv":"61d18d98","len":802}
{"id":"doc/hr-variations/workflow/plain/plain","detected":"Markdown","fnv":"61d18d98","len":802}
{"id":"doc/hr-variations/workflow/plain/imessage","detected":"Markdown","fnv":"61d18d98","len":802}
{"id":"doc/hr-variations/workflow/plain/signal","detected":"Markdown","fnv":"61d18d98","len":802}
{"id":"doc/hr-variations/workflow/plain/telegram","detected":"Markdown","fnv":"61d18d98","len":802}
{"id":"doc/hr-variations/workflow/plain/gmail","detected":"Markdown","fnv":"61d18d98","len":802}
{"id":"doc/hr-variations/workflow/plain/outlook","detected":"Markdown","fnv":"61d18d98","len":802}
{"id":"doc/hr-variations/workflow/plain/shortwave","detected":"Markdown","fnv":"61d18d98","len":802}
{"id":"doc/hr-variations/workflow/plain/notion","detected":"Markdown","fnv":"61d18d98","len":802}
{"id":"doc/hr-variations/workflow/plain/confluence","detected":"Markdown","fnv":"61d18d98","len":802}
{"id":"doc/hr-variations/workflow/plain/calendar","detected":"Markdown","fnv":"61d18d98","len":802}
{"id":"doc/hr-variations/workflow/plain/word","detected":"Markdown","fnv":"61d18d98","len":802}
{"id":"doc/hr-variations/workflow/plain/google-docs","detected":"Markdown","fnv":"61d18d98","len":802}
{"id":"doc/hr-variations/workflow/plain/markdown","detected":"Markdown","fnv":"61d18d98","len":802}
{"id":"doc/html-blocks/detect","val":"Markdown"}
{"id":"doc/html-blocks/words","val":120}
{"id":"doc/html-blocks/filename/md","val":"html-blocks-and-entities.md"}
{"id":"doc/html-blocks/filename/docx","val":"html-blocks-and-entities.docx"}
{"id":"doc/html-blocks/clean/default","text":"# HTML blocks and entities\n\n<div class=\"wrapper\">\n  <p>Paragraph inside a div with <b>bold</b> and <i>italic</i>.</p>\n  <span>Inline span<br>after a break</span>\n</div>\n\n<script>alert(\"never runs\")</script>\n\n<style>.hidden { display: none; }</style>\n\n<noscript>fallback text</noscript>\n\n<template><p>template content</p></template>\n\n<!-- a comment that should vanish entirely -->\n\nEntities: &amp; &lt; &gt; &quot; &apos; &nbsp; &mdash; &ndash; &hellip; &ldquo;quoted&rdquo; &lsquo;single&rsquo;\n\nNumeric entities: &#65; &#x42; &#128512; and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline <strong>html strong</strong> and <em>html em</em> mixed into Markdown **bold**.\n\n<table>\n  <tr><th>Cell A</th><th>Cell B</th></tr>\n  <tr><td>one</td><td>two</td></tr>\n</table>","changes":[]}
{"id":"doc/html-blocks/convert/whatsapp","cleaned":{"text":"# HTML blocks and entities\n\n<div class=\"wrapper\">\n  <p>Paragraph inside a div with <b>bold</b> and <i>italic</i>.</p>\n  <span>Inline span<br>after a break</span>\n</div>\n\n<script>alert(\"never runs\")</script>\n\n<style>.hidden { display: none; }</style>\n\n<noscript>fallback text</noscript>\n\n<template><p>template content</p></template>\n\n<!-- a comment that should vanish entirely -->\n\nEntities: &amp; &lt; &gt; &quot; &apos; &nbsp; &mdash; &ndash; &hellip; &ldquo;quoted&rdquo; &lsquo;single&rsquo;\n\nNumeric entities: &#65; &#x42; &#128512; and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline <strong>html strong</strong> and <em>html em</em> mixed into Markdown **bold**.\n\n<table>\n  <tr><th>Cell A</th><th>Cell B</th></tr>\n  <tr><td>one</td><td>two</td></tr>\n</table>"},"output":{"text":"*HTML blocks and entities*\n\nParagraph inside a div with bold and italic.\n\n  Inline span\nafter a break\n\nfallback text\n\ntemplate content\n\nEntities: & < > \" '   — – … “quoted” ‘single’\n\nNumeric entities: A B 😀 and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline html strong and html em mixed into Markdown *bold*.\n\nCell A\n\nCell B\n\none\n\ntwo"},"html":{"text":"<h1>HTML blocks and entities</h1><p>Paragraph inside a div with bold and italic.<br><br>  Inline span<br>after a break</p><p>fallback text</p><p>template content</p><p>Entities: &amp; &lt; &gt; &quot; &#039;   — – … “quoted” ‘single’</p><p>Numeric entities: A B 😀 and an out-of-range &amp;#1114112; plus unknown &amp;fake;</p><p>Paragraph with inline html strong and html em mixed into Markdown <strong>bold</strong>.</p><p>Cell A<br><br>Cell B<br><br>one<br><br>two</p>"},"changes":[]}
{"id":"doc/html-blocks/convert/google-chat","cleaned":{"text":"# HTML blocks and entities\n\n<div class=\"wrapper\">\n  <p>Paragraph inside a div with <b>bold</b> and <i>italic</i>.</p>\n  <span>Inline span<br>after a break</span>\n</div>\n\n<script>alert(\"never runs\")</script>\n\n<style>.hidden { display: none; }</style>\n\n<noscript>fallback text</noscript>\n\n<template><p>template content</p></template>\n\n<!-- a comment that should vanish entirely -->\n\nEntities: &amp; &lt; &gt; &quot; &apos; &nbsp; &mdash; &ndash; &hellip; &ldquo;quoted&rdquo; &lsquo;single&rsquo;\n\nNumeric entities: &#65; &#x42; &#128512; and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline <strong>html strong</strong> and <em>html em</em> mixed into Markdown **bold**.\n\n<table>\n  <tr><th>Cell A</th><th>Cell B</th></tr>\n  <tr><td>one</td><td>two</td></tr>\n</table>"},"output":{"text":"*HTML blocks and entities*\n\nParagraph inside a div with bold and italic.\n\n  Inline span\nafter a break\n\nfallback text\n\ntemplate content\n\nEntities: & < > \" '   — – … “quoted” ‘single’\n\nNumeric entities: A B 😀 and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline html strong and html em mixed into Markdown *bold*.\n\nCell A\n\nCell B\n\none\n\ntwo"},"html":{"text":"<h1>HTML blocks and entities</h1><p>Paragraph inside a div with bold and italic.<br><br>  Inline span<br>after a break</p><p>fallback text</p><p>template content</p><p>Entities: &amp; &lt; &gt; &quot; &#039;   — – … “quoted” ‘single’</p><p>Numeric entities: A B 😀 and an out-of-range &amp;#1114112; plus unknown &amp;fake;</p><p>Paragraph with inline html strong and html em mixed into Markdown <strong>bold</strong>.</p><p>Cell A<br><br>Cell B<br><br>one<br><br>two</p>"},"changes":[]}
{"id":"doc/html-blocks/convert/discord","cleaned":{"text":"# HTML blocks and entities\n\n<div class=\"wrapper\">\n  <p>Paragraph inside a div with <b>bold</b> and <i>italic</i>.</p>\n  <span>Inline span<br>after a break</span>\n</div>\n\n<script>alert(\"never runs\")</script>\n\n<style>.hidden { display: none; }</style>\n\n<noscript>fallback text</noscript>\n\n<template><p>template content</p></template>\n\n<!-- a comment that should vanish entirely -->\n\nEntities: &amp; &lt; &gt; &quot; &apos; &nbsp; &mdash; &ndash; &hellip; &ldquo;quoted&rdquo; &lsquo;single&rsquo;\n\nNumeric entities: &#65; &#x42; &#128512; and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline <strong>html strong</strong> and <em>html em</em> mixed into Markdown **bold**.\n\n<table>\n  <tr><th>Cell A</th><th>Cell B</th></tr>\n  <tr><td>one</td><td>two</td></tr>\n</table>"},"output":{"text":"# HTML blocks and entities\n\nParagraph inside a div with bold and italic.\n\n  Inline span\nafter a break\n\nfallback text\n\ntemplate content\n\nEntities: & < > \" '   — – … “quoted” ‘single’\n\nNumeric entities: A B 😀 and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline html strong and html em mixed into Markdown **bold**.\n\nCell A\n\nCell B\n\none\n\ntwo"},"html":{"text":"<h1>HTML blocks and entities</h1><p>Paragraph inside a div with bold and italic.<br><br>  Inline span<br>after a break</p><p>fallback text</p><p>template content</p><p>Entities: &amp; &lt; &gt; &quot; &#039;   — – … “quoted” ‘single’</p><p>Numeric entities: A B 😀 and an out-of-range &amp;#1114112; plus unknown &amp;fake;</p><p>Paragraph with inline html strong and html em mixed into Markdown <strong>bold</strong>.</p><p>Cell A<br><br>Cell B<br><br>one<br><br>two</p>"},"changes":[]}
{"id":"doc/html-blocks/convert/slack","cleaned":{"text":"# HTML blocks and entities\n\n<div class=\"wrapper\">\n  <p>Paragraph inside a div with <b>bold</b> and <i>italic</i>.</p>\n  <span>Inline span<br>after a break</span>\n</div>\n\n<script>alert(\"never runs\")</script>\n\n<style>.hidden { display: none; }</style>\n\n<noscript>fallback text</noscript>\n\n<template><p>template content</p></template>\n\n<!-- a comment that should vanish entirely -->\n\nEntities: &amp; &lt; &gt; &quot; &apos; &nbsp; &mdash; &ndash; &hellip; &ldquo;quoted&rdquo; &lsquo;single&rsquo;\n\nNumeric entities: &#65; &#x42; &#128512; and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline <strong>html strong</strong> and <em>html em</em> mixed into Markdown **bold**.\n\n<table>\n  <tr><th>Cell A</th><th>Cell B</th></tr>\n  <tr><td>one</td><td>two</td></tr>\n</table>"},"output":{"text":"*HTML blocks and entities*\n\nParagraph inside a div with bold and italic.\n\n  Inline span\nafter a break\n\nfallback text\n\ntemplate content\n\nEntities: & < > \" '   — – … “quoted” ‘single’\n\nNumeric entities: A B 😀 and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline html strong and html em mixed into Markdown *bold*.\n\nCell A\n\nCell B\n\none\n\ntwo"},"html":{"text":"<h1>HTML blocks and entities</h1><p>Paragraph inside a div with bold and italic.<br><br>  Inline span<br>after a break</p><p>fallback text</p><p>template content</p><p>Entities: &amp; &lt; &gt; &quot; &#039;   — – … “quoted” ‘single’</p><p>Numeric entities: A B 😀 and an out-of-range &amp;#1114112; plus unknown &amp;fake;</p><p>Paragraph with inline html strong and html em mixed into Markdown <strong>bold</strong>.</p><p>Cell A<br><br>Cell B<br><br>one<br><br>two</p>"},"changes":[]}
{"id":"doc/html-blocks/convert/teams","cleaned":{"text":"# HTML blocks and entities\n\n<div class=\"wrapper\">\n  <p>Paragraph inside a div with <b>bold</b> and <i>italic</i>.</p>\n  <span>Inline span<br>after a break</span>\n</div>\n\n<script>alert(\"never runs\")</script>\n\n<style>.hidden { display: none; }</style>\n\n<noscript>fallback text</noscript>\n\n<template><p>template content</p></template>\n\n<!-- a comment that should vanish entirely -->\n\nEntities: &amp; &lt; &gt; &quot; &apos; &nbsp; &mdash; &ndash; &hellip; &ldquo;quoted&rdquo; &lsquo;single&rsquo;\n\nNumeric entities: &#65; &#x42; &#128512; and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline <strong>html strong</strong> and <em>html em</em> mixed into Markdown **bold**.\n\n<table>\n  <tr><th>Cell A</th><th>Cell B</th></tr>\n  <tr><td>one</td><td>two</td></tr>\n</table>"},"output":{"text":"# HTML blocks and entities\n\nParagraph inside a div with bold and italic.\n\n  Inline span\nafter a break\n\nfallback text\n\ntemplate content\n\nEntities: & < > \" '   — – … “quoted” ‘single’\n\nNumeric entities: A B 😀 and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline html strong and html em mixed into Markdown *bold*.\n\nCell A\n\nCell B\n\none\n\ntwo"},"html":{"text":"<h1>HTML blocks and entities</h1><p>Paragraph inside a div with bold and italic.<br><br>  Inline span<br>after a break</p><p>fallback text</p><p>template content</p><p>Entities: &amp; &lt; &gt; &quot; &#039;   — – … “quoted” ‘single’</p><p>Numeric entities: A B 😀 and an out-of-range &amp;#1114112; plus unknown &amp;fake;</p><p>Paragraph with inline html strong and html em mixed into Markdown <strong>bold</strong>.</p><p>Cell A<br><br>Cell B<br><br>one<br><br>two</p>"},"changes":[]}
{"id":"doc/html-blocks/convert/zendesk","cleaned":{"text":"# HTML blocks and entities\n\n<div class=\"wrapper\">\n  <p>Paragraph inside a div with <b>bold</b> and <i>italic</i>.</p>\n  <span>Inline span<br>after a break</span>\n</div>\n\n<script>alert(\"never runs\")</script>\n\n<style>.hidden { display: none; }</style>\n\n<noscript>fallback text</noscript>\n\n<template><p>template content</p></template>\n\n<!-- a comment that should vanish entirely -->\n\nEntities: &amp; &lt; &gt; &quot; &apos; &nbsp; &mdash; &ndash; &hellip; &ldquo;quoted&rdquo; &lsquo;single&rsquo;\n\nNumeric entities: &#65; &#x42; &#128512; and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline <strong>html strong</strong> and <em>html em</em> mixed into Markdown **bold**.\n\n<table>\n  <tr><th>Cell A</th><th>Cell B</th></tr>\n  <tr><td>one</td><td>two</td></tr>\n</table>"},"output":{"text":"# HTML blocks and entities\n\nParagraph inside a div with bold and italic.\n\n  Inline span\nafter a break\n\nfallback text\n\ntemplate content\n\nEntities: & < > \" '   — – … “quoted” ‘single’\n\nNumeric entities: A B 😀 and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline html strong and html em mixed into Markdown **bold**.\n\nCell A\n\nCell B\n\none\n\ntwo"},"html":{"text":"<h1>HTML blocks and entities</h1><p>Paragraph inside a div with bold and italic.<br><br>  Inline span<br>after a break</p><p>fallback text</p><p>template content</p><p>Entities: &amp; &lt; &gt; &quot; &#039;   — – … “quoted” ‘single’</p><p>Numeric entities: A B 😀 and an out-of-range &amp;#1114112; plus unknown &amp;fake;</p><p>Paragraph with inline html strong and html em mixed into Markdown <strong>bold</strong>.</p><p>Cell A<br><br>Cell B<br><br>one<br><br>two</p>"},"changes":[]}
{"id":"doc/html-blocks/convert/jira","cleaned":{"text":"# HTML blocks and entities\n\n<div class=\"wrapper\">\n  <p>Paragraph inside a div with <b>bold</b> and <i>italic</i>.</p>\n  <span>Inline span<br>after a break</span>\n</div>\n\n<script>alert(\"never runs\")</script>\n\n<style>.hidden { display: none; }</style>\n\n<noscript>fallback text</noscript>\n\n<template><p>template content</p></template>\n\n<!-- a comment that should vanish entirely -->\n\nEntities: &amp; &lt; &gt; &quot; &apos; &nbsp; &mdash; &ndash; &hellip; &ldquo;quoted&rdquo; &lsquo;single&rsquo;\n\nNumeric entities: &#65; &#x42; &#128512; and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline <strong>html strong</strong> and <em>html em</em> mixed into Markdown **bold**.\n\n<table>\n  <tr><th>Cell A</th><th>Cell B</th></tr>\n  <tr><td>one</td><td>two</td></tr>\n</table>"},"output":{"text":"# HTML blocks and entities\n\nParagraph inside a div with bold and italic.\n\n  Inline span\nafter a break\n\nfallback text\n\ntemplate content\n\nEntities: & < > \" '   — – … “quoted” ‘single’\n\nNumeric entities: A B 😀 and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline html strong and html em mixed into Markdown **bold**.\n\nCell A\n\nCell B\n\none\n\ntwo"},"html":{"text":"<h1>HTML blocks and entities</h1><p>Paragraph inside a div with bold and italic.<br><br>  Inline span<br>after a break</p><p>fallback text</p><p>template content</p><p>Entities: &amp; &lt; &gt; &quot; &#039;   — – … “quoted” ‘single’</p><p>Numeric entities: A B 😀 and an out-of-range &amp;#1114112; plus unknown &amp;fake;</p><p>Paragraph with inline html strong and html em mixed into Markdown <strong>bold</strong>.</p><p>Cell A<br><br>Cell B<br><br>one<br><br>two</p>"},"changes":[]}
{"id":"doc/html-blocks/convert/plain","cleaned":{"text":"# HTML blocks and entities\n\n<div class=\"wrapper\">\n  <p>Paragraph inside a div with <b>bold</b> and <i>italic</i>.</p>\n  <span>Inline span<br>after a break</span>\n</div>\n\n<script>alert(\"never runs\")</script>\n\n<style>.hidden { display: none; }</style>\n\n<noscript>fallback text</noscript>\n\n<template><p>template content</p></template>\n\n<!-- a comment that should vanish entirely -->\n\nEntities: &amp; &lt; &gt; &quot; &apos; &nbsp; &mdash; &ndash; &hellip; &ldquo;quoted&rdquo; &lsquo;single&rsquo;\n\nNumeric entities: &#65; &#x42; &#128512; and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline <strong>html strong</strong> and <em>html em</em> mixed into Markdown **bold**.\n\n<table>\n  <tr><th>Cell A</th><th>Cell B</th></tr>\n  <tr><td>one</td><td>two</td></tr>\n</table>"},"output":{"text":"HTML blocks and entities\n\nParagraph inside a div with bold and italic.\n\n  Inline span\nafter a break\n\nfallback text\n\ntemplate content\n\nEntities: & < > \" '   — – … “quoted” ‘single’\n\nNumeric entities: A B 😀 and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline html strong and html em mixed into Markdown bold.\n\nCell A\n\nCell B\n\none\n\ntwo"},"html":{"text":"<h1>HTML blocks and entities</h1><p>Paragraph inside a div with bold and italic.<br><br>  Inline span<br>after a break</p><p>fallback text</p><p>template content</p><p>Entities: &amp; &lt; &gt; &quot; &#039;   — – … “quoted” ‘single’</p><p>Numeric entities: A B 😀 and an out-of-range &amp;#1114112; plus unknown &amp;fake;</p><p>Paragraph with inline html strong and html em mixed into Markdown <strong>bold</strong>.</p><p>Cell A<br><br>Cell B<br><br>one<br><br>two</p>"},"changes":[]}
{"id":"doc/html-blocks/whatsapp-preview","fnv":"87e808e1","len":1398}
{"id":"doc/html-blocks/diff-cleanup","val":[{"type":"same","value":"# HTML blocks and entities\n\n<div class=\"wrapper\">\n  <p>Paragraph inside a div with <b>bold</b> and <i>italic</i>.</p>\n  <span>Inline span<br>after a break</span>\n</div>\n\n<script>alert(\"never runs\")</script>\n\n<style>.hidden { display: none; }</style>\n\n<noscript>fallback text</noscript>\n\n<template><p>template content</p></template>\n\n<!-- a comment that should vanish entirely -->\n\nEntities: &amp; &lt; &gt; &quot; &apos; &nbsp; &mdash; &ndash; &hellip; &ldquo;quoted&rdquo; &lsquo;single&rsquo;\n\nNumeric entities: &#65; &#x42; &#128512; and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline <strong>html strong</strong> and <em>html em</em> mixed into Markdown **bold**.\n\n<table>\n  <tr><th>Cell A</th><th>Cell B</th></tr>\n  <tr><td>one</td><td>two</td></tr>\n</table>"},{"type":"removed","value":"\n"}]}
{"id":"doc/html-blocks/workflow/auto/whatsapp","detected":"Markdown","cleaned":{"text":"# HTML blocks and entities\n\n<div class=\"wrapper\">\n  <p>Paragraph inside a div with <b>bold</b> and <i>italic</i>.</p>\n  <span>Inline span<br>after a break</span>\n</div>\n\n<script>alert(\"never runs\")</script>\n\n<style>.hidden { display: none; }</style>\n\n<noscript>fallback text</noscript>\n\n<template><p>template content</p></template>\n\n<!-- a comment that should vanish entirely -->\n\nEntities: &amp; &lt; &gt; &quot; &apos; &nbsp; &mdash; &ndash; &hellip; &ldquo;quoted&rdquo; &lsquo;single&rsquo;\n\nNumeric entities: &#65; &#x42; &#128512; and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline <strong>html strong</strong> and <em>html em</em> mixed into Markdown **bold**.\n\n<table>\n  <tr><th>Cell A</th><th>Cell B</th></tr>\n  <tr><td>one</td><td>two</td></tr>\n</table>"},"output":{"text":"*HTML blocks and entities*\n\nParagraph inside a div with bold and italic.\n\n  Inline span\nafter a break\n\nfallback text\n\ntemplate content\n\nEntities: & < > \" '   — – … “quoted” ‘single’\n\nNumeric entities: A B 😀 and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline html strong and html em mixed into Markdown *bold*.\n\nCell A\n\nCell B\n\none\n\ntwo"},"html":{"text":"<h1>HTML blocks and entities</h1><p>Paragraph inside a div with bold and italic.<br><br>  Inline span<br>after a break</p><p>fallback text</p><p>template content</p><p>Entities: &amp; &lt; &gt; &quot; &#039;   — – … “quoted” ‘single’</p><p>Numeric entities: A B 😀 and an out-of-range &amp;#1114112; plus unknown &amp;fake;</p><p>Paragraph with inline html strong and html em mixed into Markdown <strong>bold</strong>.</p><p>Cell A<br><br>Cell B<br><br>one<br><br>two</p>"},"changes":[]}
{"id":"doc/html-blocks/workflow/auto/google-chat","detected":"Markdown","cleaned":{"text":"# HTML blocks and entities\n\n<div class=\"wrapper\">\n  <p>Paragraph inside a div with <b>bold</b> and <i>italic</i>.</p>\n  <span>Inline span<br>after a break</span>\n</div>\n\n<script>alert(\"never runs\")</script>\n\n<style>.hidden { display: none; }</style>\n\n<noscript>fallback text</noscript>\n\n<template><p>template content</p></template>\n\n<!-- a comment that should vanish entirely -->\n\nEntities: &amp; &lt; &gt; &quot; &apos; &nbsp; &mdash; &ndash; &hellip; &ldquo;quoted&rdquo; &lsquo;single&rsquo;\n\nNumeric entities: &#65; &#x42; &#128512; and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline <strong>html strong</strong> and <em>html em</em> mixed into Markdown **bold**.\n\n<table>\n  <tr><th>Cell A</th><th>Cell B</th></tr>\n  <tr><td>one</td><td>two</td></tr>\n</table>"},"output":{"text":"*HTML blocks and entities*\n\nParagraph inside a div with bold and italic.\n\n  Inline span\nafter a break\n\nfallback text\n\ntemplate content\n\nEntities: & < > \" '   — – … “quoted” ‘single’\n\nNumeric entities: A B 😀 and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline html strong and html em mixed into Markdown *bold*.\n\nCell A\n\nCell B\n\none\n\ntwo"},"html":{"text":"<h1>HTML blocks and entities</h1><p>Paragraph inside a div with bold and italic.<br><br>  Inline span<br>after a break</p><p>fallback text</p><p>template content</p><p>Entities: &amp; &lt; &gt; &quot; &#039;   — – … “quoted” ‘single’</p><p>Numeric entities: A B 😀 and an out-of-range &amp;#1114112; plus unknown &amp;fake;</p><p>Paragraph with inline html strong and html em mixed into Markdown <strong>bold</strong>.</p><p>Cell A<br><br>Cell B<br><br>one<br><br>two</p>"},"changes":[]}
{"id":"doc/html-blocks/workflow/auto/discord","detected":"Markdown","cleaned":{"text":"# HTML blocks and entities\n\n<div class=\"wrapper\">\n  <p>Paragraph inside a div with <b>bold</b> and <i>italic</i>.</p>\n  <span>Inline span<br>after a break</span>\n</div>\n\n<script>alert(\"never runs\")</script>\n\n<style>.hidden { display: none; }</style>\n\n<noscript>fallback text</noscript>\n\n<template><p>template content</p></template>\n\n<!-- a comment that should vanish entirely -->\n\nEntities: &amp; &lt; &gt; &quot; &apos; &nbsp; &mdash; &ndash; &hellip; &ldquo;quoted&rdquo; &lsquo;single&rsquo;\n\nNumeric entities: &#65; &#x42; &#128512; and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline <strong>html strong</strong> and <em>html em</em> mixed into Markdown **bold**.\n\n<table>\n  <tr><th>Cell A</th><th>Cell B</th></tr>\n  <tr><td>one</td><td>two</td></tr>\n</table>"},"output":{"text":"# HTML blocks and entities\n\nParagraph inside a div with bold and italic.\n\n  Inline span\nafter a break\n\nfallback text\n\ntemplate content\n\nEntities: & < > \" '   — – … “quoted” ‘single’\n\nNumeric entities: A B 😀 and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline html strong and html em mixed into Markdown **bold**.\n\nCell A\n\nCell B\n\none\n\ntwo"},"html":{"text":"<h1>HTML blocks and entities</h1><p>Paragraph inside a div with bold and italic.<br><br>  Inline span<br>after a break</p><p>fallback text</p><p>template content</p><p>Entities: &amp; &lt; &gt; &quot; &#039;   — – … “quoted” ‘single’</p><p>Numeric entities: A B 😀 and an out-of-range &amp;#1114112; plus unknown &amp;fake;</p><p>Paragraph with inline html strong and html em mixed into Markdown <strong>bold</strong>.</p><p>Cell A<br><br>Cell B<br><br>one<br><br>two</p>"},"changes":[]}
{"id":"doc/html-blocks/workflow/auto/slack","detected":"Markdown","cleaned":{"text":"# HTML blocks and entities\n\n<div class=\"wrapper\">\n  <p>Paragraph inside a div with <b>bold</b> and <i>italic</i>.</p>\n  <span>Inline span<br>after a break</span>\n</div>\n\n<script>alert(\"never runs\")</script>\n\n<style>.hidden { display: none; }</style>\n\n<noscript>fallback text</noscript>\n\n<template><p>template content</p></template>\n\n<!-- a comment that should vanish entirely -->\n\nEntities: &amp; &lt; &gt; &quot; &apos; &nbsp; &mdash; &ndash; &hellip; &ldquo;quoted&rdquo; &lsquo;single&rsquo;\n\nNumeric entities: &#65; &#x42; &#128512; and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline <strong>html strong</strong> and <em>html em</em> mixed into Markdown **bold**.\n\n<table>\n  <tr><th>Cell A</th><th>Cell B</th></tr>\n  <tr><td>one</td><td>two</td></tr>\n</table>"},"output":{"text":"*HTML blocks and entities*\n\nParagraph inside a div with bold and italic.\n\n  Inline span\nafter a break\n\nfallback text\n\ntemplate content\n\nEntities: & < > \" '   — – … “quoted” ‘single’\n\nNumeric entities: A B 😀 and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline html strong and html em mixed into Markdown *bold*.\n\nCell A\n\nCell B\n\none\n\ntwo"},"html":{"text":"<h1>HTML blocks and entities</h1><p>Paragraph inside a div with bold and italic.<br><br>  Inline span<br>after a break</p><p>fallback text</p><p>template content</p><p>Entities: &amp; &lt; &gt; &quot; &#039;   — – … “quoted” ‘single’</p><p>Numeric entities: A B 😀 and an out-of-range &amp;#1114112; plus unknown &amp;fake;</p><p>Paragraph with inline html strong and html em mixed into Markdown <strong>bold</strong>.</p><p>Cell A<br><br>Cell B<br><br>one<br><br>two</p>"},"changes":[]}
{"id":"doc/html-blocks/workflow/auto/teams","detected":"Markdown","cleaned":{"text":"# HTML blocks and entities\n\n<div class=\"wrapper\">\n  <p>Paragraph inside a div with <b>bold</b> and <i>italic</i>.</p>\n  <span>Inline span<br>after a break</span>\n</div>\n\n<script>alert(\"never runs\")</script>\n\n<style>.hidden { display: none; }</style>\n\n<noscript>fallback text</noscript>\n\n<template><p>template content</p></template>\n\n<!-- a comment that should vanish entirely -->\n\nEntities: &amp; &lt; &gt; &quot; &apos; &nbsp; &mdash; &ndash; &hellip; &ldquo;quoted&rdquo; &lsquo;single&rsquo;\n\nNumeric entities: &#65; &#x42; &#128512; and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline <strong>html strong</strong> and <em>html em</em> mixed into Markdown **bold**.\n\n<table>\n  <tr><th>Cell A</th><th>Cell B</th></tr>\n  <tr><td>one</td><td>two</td></tr>\n</table>"},"output":{"text":"# HTML blocks and entities\n\nParagraph inside a div with bold and italic.\n\n  Inline span\nafter a break\n\nfallback text\n\ntemplate content\n\nEntities: & < > \" '   — – … “quoted” ‘single’\n\nNumeric entities: A B 😀 and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline html strong and html em mixed into Markdown *bold*.\n\nCell A\n\nCell B\n\none\n\ntwo"},"html":{"text":"<h1>HTML blocks and entities</h1><p>Paragraph inside a div with bold and italic.<br><br>  Inline span<br>after a break</p><p>fallback text</p><p>template content</p><p>Entities: &amp; &lt; &gt; &quot; &#039;   — – … “quoted” ‘single’</p><p>Numeric entities: A B 😀 and an out-of-range &amp;#1114112; plus unknown &amp;fake;</p><p>Paragraph with inline html strong and html em mixed into Markdown <strong>bold</strong>.</p><p>Cell A<br><br>Cell B<br><br>one<br><br>two</p>"},"changes":[]}
{"id":"doc/html-blocks/workflow/auto/zendesk","detected":"Markdown","cleaned":{"text":"# HTML blocks and entities\n\n<div class=\"wrapper\">\n  <p>Paragraph inside a div with <b>bold</b> and <i>italic</i>.</p>\n  <span>Inline span<br>after a break</span>\n</div>\n\n<script>alert(\"never runs\")</script>\n\n<style>.hidden { display: none; }</style>\n\n<noscript>fallback text</noscript>\n\n<template><p>template content</p></template>\n\n<!-- a comment that should vanish entirely -->\n\nEntities: &amp; &lt; &gt; &quot; &apos; &nbsp; &mdash; &ndash; &hellip; &ldquo;quoted&rdquo; &lsquo;single&rsquo;\n\nNumeric entities: &#65; &#x42; &#128512; and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline <strong>html strong</strong> and <em>html em</em> mixed into Markdown **bold**.\n\n<table>\n  <tr><th>Cell A</th><th>Cell B</th></tr>\n  <tr><td>one</td><td>two</td></tr>\n</table>"},"output":{"text":"# HTML blocks and entities\n\nParagraph inside a div with bold and italic.\n\n  Inline span\nafter a break\n\nfallback text\n\ntemplate content\n\nEntities: & < > \" '   — – … “quoted” ‘single’\n\nNumeric entities: A B 😀 and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline html strong and html em mixed into Markdown **bold**.\n\nCell A\n\nCell B\n\none\n\ntwo"},"html":{"text":"<h1>HTML blocks and entities</h1><p>Paragraph inside a div with bold and italic.</p><p>  Inline span\nafter a break</p><p>fallback text</p><p>template content</p><p>Entities: &amp; &lt; &gt; &quot; &#039;   — – … “quoted” ‘single’</p><p>Numeric entities: A B 😀 and an out-of-range &amp;#1114112; plus unknown &amp;fake;</p><p>Paragraph with inline html strong and html em mixed into Markdown <strong>bold</strong>.</p><p>Cell A</p><p>Cell B</p><p>one</p><p>two</p>"},"changes":[]}
{"id":"doc/html-blocks/workflow/auto/jira","detected":"Markdown","cleaned":{"text":"# HTML blocks and entities\n\n<div class=\"wrapper\">\n  <p>Paragraph inside a div with <b>bold</b> and <i>italic</i>.</p>\n  <span>Inline span<br>after a break</span>\n</div>\n\n<script>alert(\"never runs\")</script>\n\n<style>.hidden { display: none; }</style>\n\n<noscript>fallback text</noscript>\n\n<template><p>template content</p></template>\n\n<!-- a comment that should vanish entirely -->\n\nEntities: &amp; &lt; &gt; &quot; &apos; &nbsp; &mdash; &ndash; &hellip; &ldquo;quoted&rdquo; &lsquo;single&rsquo;\n\nNumeric entities: &#65; &#x42; &#128512; and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline <strong>html strong</strong> and <em>html em</em> mixed into Markdown **bold**.\n\n<table>\n  <tr><th>Cell A</th><th>Cell B</th></tr>\n  <tr><td>one</td><td>two</td></tr>\n</table>"},"output":{"text":"# HTML blocks and entities\n\nParagraph inside a div with bold and italic.\n\n  Inline span\nafter a break\n\nfallback text\n\ntemplate content\n\nEntities: & < > \" '   — – … “quoted” ‘single’\n\nNumeric entities: A B 😀 and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline html strong and html em mixed into Markdown **bold**.\n\nCell A\n\nCell B\n\none\n\ntwo"},"html":{"text":"<h1>HTML blocks and entities</h1><p>Paragraph inside a div with bold and italic.</p><p>  Inline span\nafter a break</p><p>fallback text</p><p>template content</p><p>Entities: &amp; &lt; &gt; &quot; &#039;   — – … “quoted” ‘single’</p><p>Numeric entities: A B 😀 and an out-of-range &amp;#1114112; plus unknown &amp;fake;</p><p>Paragraph with inline html strong and html em mixed into Markdown <strong>bold</strong>.</p><p>Cell A</p><p>Cell B</p><p>one</p><p>two</p>"},"changes":[]}
{"id":"doc/html-blocks/workflow/auto/plain","detected":"Markdown","cleaned":{"text":"# HTML blocks and entities\n\n<div class=\"wrapper\">\n  <p>Paragraph inside a div with <b>bold</b> and <i>italic</i>.</p>\n  <span>Inline span<br>after a break</span>\n</div>\n\n<script>alert(\"never runs\")</script>\n\n<style>.hidden { display: none; }</style>\n\n<noscript>fallback text</noscript>\n\n<template><p>template content</p></template>\n\n<!-- a comment that should vanish entirely -->\n\nEntities: &amp; &lt; &gt; &quot; &apos; &nbsp; &mdash; &ndash; &hellip; &ldquo;quoted&rdquo; &lsquo;single&rsquo;\n\nNumeric entities: &#65; &#x42; &#128512; and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline <strong>html strong</strong> and <em>html em</em> mixed into Markdown **bold**.\n\n<table>\n  <tr><th>Cell A</th><th>Cell B</th></tr>\n  <tr><td>one</td><td>two</td></tr>\n</table>"},"output":{"text":"HTML blocks and entities\n\nParagraph inside a div with bold and italic.\n\n  Inline span\nafter a break\n\nfallback text\n\ntemplate content\n\nEntities: & < > \" '   — – … “quoted” ‘single’\n\nNumeric entities: A B 😀 and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline html strong and html em mixed into Markdown bold.\n\nCell A\n\nCell B\n\none\n\ntwo"},"html":{"text":"<h1>HTML blocks and entities</h1><p>Paragraph inside a div with bold and italic.<br><br>  Inline span<br>after a break</p><p>fallback text</p><p>template content</p><p>Entities: &amp; &lt; &gt; &quot; &#039;   — – … “quoted” ‘single’</p><p>Numeric entities: A B 😀 and an out-of-range &amp;#1114112; plus unknown &amp;fake;</p><p>Paragraph with inline html strong and html em mixed into Markdown <strong>bold</strong>.</p><p>Cell A<br><br>Cell B<br><br>one<br><br>two</p>"},"changes":[]}
{"id":"doc/html-blocks/workflow/auto/imessage","detected":"Markdown","cleaned":{"text":"# HTML blocks and entities\n\n<div class=\"wrapper\">\n  <p>Paragraph inside a div with <b>bold</b> and <i>italic</i>.</p>\n  <span>Inline span<br>after a break</span>\n</div>\n\n<script>alert(\"never runs\")</script>\n\n<style>.hidden { display: none; }</style>\n\n<noscript>fallback text</noscript>\n\n<template><p>template content</p></template>\n\n<!-- a comment that should vanish entirely -->\n\nEntities: &amp; &lt; &gt; &quot; &apos; &nbsp; &mdash; &ndash; &hellip; &ldquo;quoted&rdquo; &lsquo;single&rsquo;\n\nNumeric entities: &#65; &#x42; &#128512; and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline <strong>html strong</strong> and <em>html em</em> mixed into Markdown **bold**.\n\n<table>\n  <tr><th>Cell A</th><th>Cell B</th></tr>\n  <tr><td>one</td><td>two</td></tr>\n</table>"},"output":{"text":"HTML blocks and entities\n\nParagraph inside a div with bold and italic.\n\n  Inline span\nafter a break\n\nfallback text\n\ntemplate content\n\nEntities: & < > \" '   — – … “quoted” ‘single’\n\nNumeric entities: A B 😀 and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline html strong and html em mixed into Markdown bold.\n\nCell A\n\nCell B\n\none\n\ntwo"},"html":{"text":"<h1>HTML blocks and entities</h1><p>Paragraph inside a div with bold and italic.<br><br>  Inline span<br>after a break</p><p>fallback text</p><p>template content</p><p>Entities: &amp; &lt; &gt; &quot; &#039;   — – … “quoted” ‘single’</p><p>Numeric entities: A B 😀 and an out-of-range &amp;#1114112; plus unknown &amp;fake;</p><p>Paragraph with inline html strong and html em mixed into Markdown <strong>bold</strong>.</p><p>Cell A<br><br>Cell B<br><br>one<br><br>two</p>"},"changes":[]}
{"id":"doc/html-blocks/workflow/auto/signal","detected":"Markdown","cleaned":{"text":"# HTML blocks and entities\n\n<div class=\"wrapper\">\n  <p>Paragraph inside a div with <b>bold</b> and <i>italic</i>.</p>\n  <span>Inline span<br>after a break</span>\n</div>\n\n<script>alert(\"never runs\")</script>\n\n<style>.hidden { display: none; }</style>\n\n<noscript>fallback text</noscript>\n\n<template><p>template content</p></template>\n\n<!-- a comment that should vanish entirely -->\n\nEntities: &amp; &lt; &gt; &quot; &apos; &nbsp; &mdash; &ndash; &hellip; &ldquo;quoted&rdquo; &lsquo;single&rsquo;\n\nNumeric entities: &#65; &#x42; &#128512; and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline <strong>html strong</strong> and <em>html em</em> mixed into Markdown **bold**.\n\n<table>\n  <tr><th>Cell A</th><th>Cell B</th></tr>\n  <tr><td>one</td><td>two</td></tr>\n</table>"},"output":{"text":"HTML blocks and entities\n\nParagraph inside a div with bold and italic.\n\n  Inline span\nafter a break\n\nfallback text\n\ntemplate content\n\nEntities: & < > \" '   — – … “quoted” ‘single’\n\nNumeric entities: A B 😀 and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline html strong and html em mixed into Markdown bold.\n\nCell A\n\nCell B\n\none\n\ntwo"},"html":{"text":"<h1>HTML blocks and entities</h1><p>Paragraph inside a div with bold and italic.<br><br>  Inline span<br>after a break</p><p>fallback text</p><p>template content</p><p>Entities: &amp; &lt; &gt; &quot; &#039;   — – … “quoted” ‘single’</p><p>Numeric entities: A B 😀 and an out-of-range &amp;#1114112; plus unknown &amp;fake;</p><p>Paragraph with inline html strong and html em mixed into Markdown <strong>bold</strong>.</p><p>Cell A<br><br>Cell B<br><br>one<br><br>two</p>"},"changes":[]}
{"id":"doc/html-blocks/workflow/auto/telegram","detected":"Markdown","cleaned":{"text":"# HTML blocks and entities\n\n<div class=\"wrapper\">\n  <p>Paragraph inside a div with <b>bold</b> and <i>italic</i>.</p>\n  <span>Inline span<br>after a break</span>\n</div>\n\n<script>alert(\"never runs\")</script>\n\n<style>.hidden { display: none; }</style>\n\n<noscript>fallback text</noscript>\n\n<template><p>template content</p></template>\n\n<!-- a comment that should vanish entirely -->\n\nEntities: &amp; &lt; &gt; &quot; &apos; &nbsp; &mdash; &ndash; &hellip; &ldquo;quoted&rdquo; &lsquo;single&rsquo;\n\nNumeric entities: &#65; &#x42; &#128512; and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline <strong>html strong</strong> and <em>html em</em> mixed into Markdown **bold**.\n\n<table>\n  <tr><th>Cell A</th><th>Cell B</th></tr>\n  <tr><td>one</td><td>two</td></tr>\n</table>"},"output":{"text":"HTML blocks and entities\n\nParagraph inside a div with bold and italic.\n\n  Inline span\nafter a break\n\nfallback text\n\ntemplate content\n\nEntities: & < > \" '   — – … “quoted” ‘single’\n\nNumeric entities: A B 😀 and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline html strong and html em mixed into Markdown bold.\n\nCell A\n\nCell B\n\none\n\ntwo"},"html":{"text":"<h1>HTML blocks and entities</h1><p>Paragraph inside a div with bold and italic.<br><br>  Inline span<br>after a break</p><p>fallback text</p><p>template content</p><p>Entities: &amp; &lt; &gt; &quot; &#039;   — – … “quoted” ‘single’</p><p>Numeric entities: A B 😀 and an out-of-range &amp;#1114112; plus unknown &amp;fake;</p><p>Paragraph with inline html strong and html em mixed into Markdown <strong>bold</strong>.</p><p>Cell A<br><br>Cell B<br><br>one<br><br>two</p>"},"changes":[]}
{"id":"doc/html-blocks/workflow/auto/gmail","detected":"Markdown","cleaned":{"text":"# HTML blocks and entities\n\n<div class=\"wrapper\">\n  <p>Paragraph inside a div with <b>bold</b> and <i>italic</i>.</p>\n  <span>Inline span<br>after a break</span>\n</div>\n\n<script>alert(\"never runs\")</script>\n\n<style>.hidden { display: none; }</style>\n\n<noscript>fallback text</noscript>\n\n<template><p>template content</p></template>\n\n<!-- a comment that should vanish entirely -->\n\nEntities: &amp; &lt; &gt; &quot; &apos; &nbsp; &mdash; &ndash; &hellip; &ldquo;quoted&rdquo; &lsquo;single&rsquo;\n\nNumeric entities: &#65; &#x42; &#128512; and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline <strong>html strong</strong> and <em>html em</em> mixed into Markdown **bold**.\n\n<table>\n  <tr><th>Cell A</th><th>Cell B</th></tr>\n  <tr><td>one</td><td>two</td></tr>\n</table>"},"output":{"text":"HTML blocks and entities\n\nParagraph inside a div with bold and italic.\n\n  Inline span\nafter a break\n\nfallback text\n\ntemplate content\n\nEntities: & < > \" '   — – … “quoted” ‘single’\n\nNumeric entities: A B 😀 and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline html strong and html em mixed into Markdown bold.\n\nCell A\n\nCell B\n\none\n\ntwo"},"html":{"text":"<h1>HTML blocks and entities</h1><p>Paragraph inside a div with bold and italic.<br><br>  Inline span<br>after a break</p><p>fallback text</p><p>template content</p><p>Entities: &amp; &lt; &gt; &quot; &#039;   — – … “quoted” ‘single’</p><p>Numeric entities: A B 😀 and an out-of-range &amp;#1114112; plus unknown &amp;fake;</p><p>Paragraph with inline html strong and html em mixed into Markdown <strong>bold</strong>.</p><p>Cell A<br><br>Cell B<br><br>one<br><br>two</p>"},"changes":[]}
{"id":"doc/html-blocks/workflow/auto/outlook","detected":"Markdown","cleaned":{"text":"# HTML blocks and entities\n\n<div class=\"wrapper\">\n  <p>Paragraph inside a div with <b>bold</b> and <i>italic</i>.</p>\n  <span>Inline span<br>after a break</span>\n</div>\n\n<script>alert(\"never runs\")</script>\n\n<style>.hidden { display: none; }</style>\n\n<noscript>fallback text</noscript>\n\n<template><p>template content</p></template>\n\n<!-- a comment that should vanish entirely -->\n\nEntities: &amp; &lt; &gt; &quot; &apos; &nbsp; &mdash; &ndash; &hellip; &ldquo;quoted&rdquo; &lsquo;single&rsquo;\n\nNumeric entities: &#65; &#x42; &#128512; and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline <strong>html strong</strong> and <em>html em</em> mixed into Markdown **bold**.\n\n<table>\n  <tr><th>Cell A</th><th>Cell B</th></tr>\n  <tr><td>one</td><td>two</td></tr>\n</table>"},"output":{"text":"HTML blocks and entities\n\nParagraph inside a div with bold and italic.\n\n  Inline span\nafter a break\n\nfallback text\n\ntemplate content\n\nEntities: & < > \" '   — – … “quoted” ‘single’\n\nNumeric entities: A B 😀 and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline html strong and html em mixed into Markdown bold.\n\nCell A\n\nCell B\n\none\n\ntwo"},"html":{"text":"<h1>HTML blocks and entities</h1><p>Paragraph inside a div with bold and italic.<br><br>  Inline span<br>after a break</p><p>fallback text</p><p>template content</p><p>Entities: &amp; &lt; &gt; &quot; &#039;   — – … “quoted” ‘single’</p><p>Numeric entities: A B 😀 and an out-of-range &amp;#1114112; plus unknown &amp;fake;</p><p>Paragraph with inline html strong and html em mixed into Markdown <strong>bold</strong>.</p><p>Cell A<br><br>Cell B<br><br>one<br><br>two</p>"},"changes":[]}
{"id":"doc/html-blocks/workflow/auto/shortwave","detected":"Markdown","cleaned":{"text":"# HTML blocks and entities\n\n<div class=\"wrapper\">\n  <p>Paragraph inside a div with <b>bold</b> and <i>italic</i>.</p>\n  <span>Inline span<br>after a break</span>\n</div>\n\n<script>alert(\"never runs\")</script>\n\n<style>.hidden { display: none; }</style>\n\n<noscript>fallback text</noscript>\n\n<template><p>template content</p></template>\n\n<!-- a comment that should vanish entirely -->\n\nEntities: &amp; &lt; &gt; &quot; &apos; &nbsp; &mdash; &ndash; &hellip; &ldquo;quoted&rdquo; &lsquo;single&rsquo;\n\nNumeric entities: &#65; &#x42; &#128512; and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline <strong>html strong</strong> and <em>html em</em> mixed into Markdown **bold**.\n\n<table>\n  <tr><th>Cell A</th><th>Cell B</th></tr>\n  <tr><td>one</td><td>two</td></tr>\n</table>"},"output":{"text":"HTML blocks and entities\n\nParagraph inside a div with bold and italic.\n\n  Inline span\nafter a break\n\nfallback text\n\ntemplate content\n\nEntities: & < > \" '   — – … “quoted” ‘single’\n\nNumeric entities: A B 😀 and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline html strong and html em mixed into Markdown bold.\n\nCell A\n\nCell B\n\none\n\ntwo"},"html":{"text":"<h1>HTML blocks and entities</h1><p>Paragraph inside a div with bold and italic.<br><br>  Inline span<br>after a break</p><p>fallback text</p><p>template content</p><p>Entities: &amp; &lt; &gt; &quot; &#039;   — – … “quoted” ‘single’</p><p>Numeric entities: A B 😀 and an out-of-range &amp;#1114112; plus unknown &amp;fake;</p><p>Paragraph with inline html strong and html em mixed into Markdown <strong>bold</strong>.</p><p>Cell A<br><br>Cell B<br><br>one<br><br>two</p>"},"changes":[]}
{"id":"doc/html-blocks/workflow/auto/notion","detected":"Markdown","cleaned":{"text":"# HTML blocks and entities\n\n<div class=\"wrapper\">\n  <p>Paragraph inside a div with <b>bold</b> and <i>italic</i>.</p>\n  <span>Inline span<br>after a break</span>\n</div>\n\n<script>alert(\"never runs\")</script>\n\n<style>.hidden { display: none; }</style>\n\n<noscript>fallback text</noscript>\n\n<template><p>template content</p></template>\n\n<!-- a comment that should vanish entirely -->\n\nEntities: &amp; &lt; &gt; &quot; &apos; &nbsp; &mdash; &ndash; &hellip; &ldquo;quoted&rdquo; &lsquo;single&rsquo;\n\nNumeric entities: &#65; &#x42; &#128512; and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline <strong>html strong</strong> and <em>html em</em> mixed into Markdown **bold**.\n\n<table>\n  <tr><th>Cell A</th><th>Cell B</th></tr>\n  <tr><td>one</td><td>two</td></tr>\n</table>"},"output":{"text":"HTML blocks and entities\n\nParagraph inside a div with bold and italic.\n\n  Inline span\nafter a break\n\nfallback text\n\ntemplate content\n\nEntities: & < > \" '   — – … “quoted” ‘single’\n\nNumeric entities: A B 😀 and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline html strong and html em mixed into Markdown bold.\n\nCell A\n\nCell B\n\none\n\ntwo"},"html":{"text":"<h1>HTML blocks and entities</h1><p>Paragraph inside a div with bold and italic.<br><br>  Inline span<br>after a break</p><p>fallback text</p><p>template content</p><p>Entities: &amp; &lt; &gt; &quot; &#039;   — – … “quoted” ‘single’</p><p>Numeric entities: A B 😀 and an out-of-range &amp;#1114112; plus unknown &amp;fake;</p><p>Paragraph with inline html strong and html em mixed into Markdown <strong>bold</strong>.</p><p>Cell A<br><br>Cell B<br><br>one<br><br>two</p>"},"changes":[]}
{"id":"doc/html-blocks/workflow/auto/confluence","detected":"Markdown","cleaned":{"text":"# HTML blocks and entities\n\n<div class=\"wrapper\">\n  <p>Paragraph inside a div with <b>bold</b> and <i>italic</i>.</p>\n  <span>Inline span<br>after a break</span>\n</div>\n\n<script>alert(\"never runs\")</script>\n\n<style>.hidden { display: none; }</style>\n\n<noscript>fallback text</noscript>\n\n<template><p>template content</p></template>\n\n<!-- a comment that should vanish entirely -->\n\nEntities: &amp; &lt; &gt; &quot; &apos; &nbsp; &mdash; &ndash; &hellip; &ldquo;quoted&rdquo; &lsquo;single&rsquo;\n\nNumeric entities: &#65; &#x42; &#128512; and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline <strong>html strong</strong> and <em>html em</em> mixed into Markdown **bold**.\n\n<table>\n  <tr><th>Cell A</th><th>Cell B</th></tr>\n  <tr><td>one</td><td>two</td></tr>\n</table>"},"output":{"text":"HTML blocks and entities\n\nParagraph inside a div with bold and italic.\n\n  Inline span\nafter a break\n\nfallback text\n\ntemplate content\n\nEntities: & < > \" '   — – … “quoted” ‘single’\n\nNumeric entities: A B 😀 and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline html strong and html em mixed into Markdown bold.\n\nCell A\n\nCell B\n\none\n\ntwo"},"html":{"text":"<h1>HTML blocks and entities</h1><p>Paragraph inside a div with bold and italic.<br><br>  Inline span<br>after a break</p><p>fallback text</p><p>template content</p><p>Entities: &amp; &lt; &gt; &quot; &#039;   — – … “quoted” ‘single’</p><p>Numeric entities: A B 😀 and an out-of-range &amp;#1114112; plus unknown &amp;fake;</p><p>Paragraph with inline html strong and html em mixed into Markdown <strong>bold</strong>.</p><p>Cell A<br><br>Cell B<br><br>one<br><br>two</p>"},"changes":[]}
{"id":"doc/html-blocks/workflow/auto/calendar","detected":"Markdown","cleaned":{"text":"# HTML blocks and entities\n\n<div class=\"wrapper\">\n  <p>Paragraph inside a div with <b>bold</b> and <i>italic</i>.</p>\n  <span>Inline span<br>after a break</span>\n</div>\n\n<script>alert(\"never runs\")</script>\n\n<style>.hidden { display: none; }</style>\n\n<noscript>fallback text</noscript>\n\n<template><p>template content</p></template>\n\n<!-- a comment that should vanish entirely -->\n\nEntities: &amp; &lt; &gt; &quot; &apos; &nbsp; &mdash; &ndash; &hellip; &ldquo;quoted&rdquo; &lsquo;single&rsquo;\n\nNumeric entities: &#65; &#x42; &#128512; and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline <strong>html strong</strong> and <em>html em</em> mixed into Markdown **bold**.\n\n<table>\n  <tr><th>Cell A</th><th>Cell B</th></tr>\n  <tr><td>one</td><td>two</td></tr>\n</table>"},"output":{"text":"HTML blocks and entities\n\nParagraph inside a div with bold and italic.\n\n  Inline span\nafter a break\n\nfallback text\n\ntemplate content\n\nEntities: & < > \" '   — – … “quoted” ‘single’\n\nNumeric entities: A B 😀 and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline html strong and html em mixed into Markdown bold.\n\nCell A\n\nCell B\n\none\n\ntwo"},"html":{"text":"<h1>HTML blocks and entities</h1><p>Paragraph inside a div with bold and italic.<br><br>  Inline span<br>after a break</p><p>fallback text</p><p>template content</p><p>Entities: &amp; &lt; &gt; &quot; &#039;   — – … “quoted” ‘single’</p><p>Numeric entities: A B 😀 and an out-of-range &amp;#1114112; plus unknown &amp;fake;</p><p>Paragraph with inline html strong and html em mixed into Markdown <strong>bold</strong>.</p><p>Cell A<br><br>Cell B<br><br>one<br><br>two</p>"},"changes":[]}
{"id":"doc/html-blocks/workflow/auto/word","detected":"Markdown","cleaned":{"text":"# HTML blocks and entities\n\n<div class=\"wrapper\">\n  <p>Paragraph inside a div with <b>bold</b> and <i>italic</i>.</p>\n  <span>Inline span<br>after a break</span>\n</div>\n\n<script>alert(\"never runs\")</script>\n\n<style>.hidden { display: none; }</style>\n\n<noscript>fallback text</noscript>\n\n<template><p>template content</p></template>\n\n<!-- a comment that should vanish entirely -->\n\nEntities: &amp; &lt; &gt; &quot; &apos; &nbsp; &mdash; &ndash; &hellip; &ldquo;quoted&rdquo; &lsquo;single&rsquo;\n\nNumeric entities: &#65; &#x42; &#128512; and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline <strong>html strong</strong> and <em>html em</em> mixed into Markdown **bold**.\n\n<table>\n  <tr><th>Cell A</th><th>Cell B</th></tr>\n  <tr><td>one</td><td>two</td></tr>\n</table>"},"output":{"text":"HTML blocks and entities\n\nParagraph inside a div with bold and italic.\n\n  Inline span\nafter a break\n\nfallback text\n\ntemplate content\n\nEntities: & < > \" '   — – … “quoted” ‘single’\n\nNumeric entities: A B 😀 and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline html strong and html em mixed into Markdown bold.\n\nCell A\n\nCell B\n\none\n\ntwo"},"html":{"text":"<h1>HTML blocks and entities</h1><p>Paragraph inside a div with bold and italic.<br><br>  Inline span<br>after a break</p><p>fallback text</p><p>template content</p><p>Entities: &amp; &lt; &gt; &quot; &#039;   — – … “quoted” ‘single’</p><p>Numeric entities: A B 😀 and an out-of-range &amp;#1114112; plus unknown &amp;fake;</p><p>Paragraph with inline html strong and html em mixed into Markdown <strong>bold</strong>.</p><p>Cell A<br><br>Cell B<br><br>one<br><br>two</p>"},"changes":[]}
{"id":"doc/html-blocks/workflow/auto/google-docs","detected":"Markdown","cleaned":{"text":"# HTML blocks and entities\n\n<div class=\"wrapper\">\n  <p>Paragraph inside a div with <b>bold</b> and <i>italic</i>.</p>\n  <span>Inline span<br>after a break</span>\n</div>\n\n<script>alert(\"never runs\")</script>\n\n<style>.hidden { display: none; }</style>\n\n<noscript>fallback text</noscript>\n\n<template><p>template content</p></template>\n\n<!-- a comment that should vanish entirely -->\n\nEntities: &amp; &lt; &gt; &quot; &apos; &nbsp; &mdash; &ndash; &hellip; &ldquo;quoted&rdquo; &lsquo;single&rsquo;\n\nNumeric entities: &#65; &#x42; &#128512; and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline <strong>html strong</strong> and <em>html em</em> mixed into Markdown **bold**.\n\n<table>\n  <tr><th>Cell A</th><th>Cell B</th></tr>\n  <tr><td>one</td><td>two</td></tr>\n</table>"},"output":{"text":"HTML blocks and entities\n\nParagraph inside a div with bold and italic.\n\n  Inline span\nafter a break\n\nfallback text\n\ntemplate content\n\nEntities: & < > \" '   — – … “quoted” ‘single’\n\nNumeric entities: A B 😀 and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline html strong and html em mixed into Markdown bold.\n\nCell A\n\nCell B\n\none\n\ntwo"},"html":{"text":"<h1>HTML blocks and entities</h1><p>Paragraph inside a div with bold and italic.<br><br>  Inline span<br>after a break</p><p>fallback text</p><p>template content</p><p>Entities: &amp; &lt; &gt; &quot; &#039;   — – … “quoted” ‘single’</p><p>Numeric entities: A B 😀 and an out-of-range &amp;#1114112; plus unknown &amp;fake;</p><p>Paragraph with inline html strong and html em mixed into Markdown <strong>bold</strong>.</p><p>Cell A<br><br>Cell B<br><br>one<br><br>two</p>"},"changes":[]}
{"id":"doc/html-blocks/workflow/auto/markdown","detected":"Markdown","cleaned":{"text":"# HTML blocks and entities\n\n<div class=\"wrapper\">\n  <p>Paragraph inside a div with <b>bold</b> and <i>italic</i>.</p>\n  <span>Inline span<br>after a break</span>\n</div>\n\n<script>alert(\"never runs\")</script>\n\n<style>.hidden { display: none; }</style>\n\n<noscript>fallback text</noscript>\n\n<template><p>template content</p></template>\n\n<!-- a comment that should vanish entirely -->\n\nEntities: &amp; &lt; &gt; &quot; &apos; &nbsp; &mdash; &ndash; &hellip; &ldquo;quoted&rdquo; &lsquo;single&rsquo;\n\nNumeric entities: &#65; &#x42; &#128512; and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline <strong>html strong</strong> and <em>html em</em> mixed into Markdown **bold**.\n\n<table>\n  <tr><th>Cell A</th><th>Cell B</th></tr>\n  <tr><td>one</td><td>two</td></tr>\n</table>"},"output":{"text":"# HTML blocks and entities\n\n<div class=\"wrapper\">\n  <p>Paragraph inside a div with <b>bold</b> and <i>italic</i>.</p>\n  <span>Inline span<br>after a break</span>\n</div>\n\n<script>alert(\"never runs\")</script>\n\n<style>.hidden { display: none; }</style>\n\n<noscript>fallback text</noscript>\n\n<template><p>template content</p></template>\n\n<!-- a comment that should vanish entirely -->\n\nEntities: &amp; &lt; &gt; &quot; &apos; &nbsp; &mdash; &ndash; &hellip; &ldquo;quoted&rdquo; &lsquo;single&rsquo;\n\nNumeric entities: &#65; &#x42; &#128512; and an out-of-range &#1114112; plus unknown &fake;\n\nParagraph with inline <strong>html strong</strong> and <em>html em</em> mixed into Markdown **bold**.\n\n<table>\n  <tr><th>Cell A</th><th>Cell B</th></tr>\n  <tr><td>one</td><td>two</td></tr>\n</table>"},"html":{"text":"<h1>HTML blocks and entities</h1><p>Paragraph inside a div with bold and italic.<br><br>  Inline span<br>after a break</p><p>fallback text</p><p>template content</p><p>Entities: &amp; &lt; &gt; &quot; &#039;   — – … “quoted” ‘single’</p><p>Numeric entities: A B 😀 and an out-of-range &amp;#1114112; plus unknown &amp;fake;</p><p>Paragraph with inline html strong and html em mixed into Markdown <strong>bold</strong>.</p><p>Cell A<br><br>Cell B<br><br>one<br><br>two</p>"},"changes":[]}
{"id":"doc/html-blocks/workflow/markdown/whatsapp","detected":"Markdown","fnv":"97d3b319","len":1719}
{"id":"doc/html-blocks/workflow/markdown/google-chat","detected":"Markdown","fnv":"97d3b319","len":1719}
{"id":"doc/html-blocks/workflow/markdown/discord","detected":"Markdown","fnv":"8c84f8a4","len":1721}
{"id":"doc/html-blocks/workflow/markdown/slack","detected":"Markdown","fnv":"97d3b319","len":1719}
{"id":"doc/html-blocks/workflow/markdown/teams","detected":"Markdown","fnv":"b6d03d56","len":1719}
{"id":"doc/html-blocks/workflow/markdown/zendesk","detected":"Markdown","fnv":"d663b73c","len":1715}
{"id":"doc/html-blocks/workflow/markdown/jira","detected":"Markdown","fnv":"d663b73c","len":1715}
{"id":"doc/html-blocks/workflow/markdown/plain","detected":"Markdown","fnv":"660b44e5","len":1715}
{"id":"doc/html-blocks/workflow/markdown/imessage","detected":"Markdown","fnv":"660b44e5","len":1715}
{"id":"doc/html-blocks/workflow/markdown/signal","detected":"Markdown","fnv":"660b44e5","len":1715}
{"id":"doc/html-blocks/workflow/markdown/telegram","detected":"Markdown","fnv":"660b44e5","len":1715}
{"id":"doc/html-blocks/workflow/markdown/gmail","detected":"Markdown","fnv":"660b44e5","len":1715}
{"id":"doc/html-blocks/workflow/markdown/outlook","detected":"Markdown","fnv":"660b44e5","len":1715}
{"id":"doc/html-blocks/workflow/markdown/shortwave","detected":"Markdown","fnv":"660b44e5","len":1715}
{"id":"doc/html-blocks/workflow/markdown/notion","detected":"Markdown","fnv":"660b44e5","len":1715}
{"id":"doc/html-blocks/workflow/markdown/confluence","detected":"Markdown","fnv":"660b44e5","len":1715}
{"id":"doc/html-blocks/workflow/markdown/calendar","detected":"Markdown","fnv":"660b44e5","len":1715}
{"id":"doc/html-blocks/workflow/markdown/word","detected":"Markdown","fnv":"660b44e5","len":1715}
{"id":"doc/html-blocks/workflow/markdown/google-docs","detected":"Markdown","fnv":"660b44e5","len":1715}
{"id":"doc/html-blocks/workflow/markdown/markdown","detected":"Markdown","fnv":"8490cd5d","len":2152}
{"id":"doc/html-blocks/workflow/plain/whatsapp","detected":"Markdown","fnv":"b330c098","len":2874}
{"id":"doc/html-blocks/workflow/plain/google-chat","detected":"Markdown","fnv":"b330c098","len":2874}
{"id":"doc/html-blocks/workflow/plain/discord","detected":"Markdown","fnv":"b330c098","len":2874}
{"id":"doc/html-blocks/workflow/plain/slack","detected":"Markdown","fnv":"b330c098","len":2874}
{"id":"doc/html-blocks/workflow/plain/teams","detected":"Markdown","fnv":"b330c098","len":2874}
{"id":"doc/html-blocks/workflow/plain/zendesk","detected":"Markdown","fnv":"b330c098","len":2874}
{"id":"doc/html-blocks/workflow/plain/jira","detected":"Markdown","fnv":"b330c098","len":2874}
{"id":"doc/html-blocks/workflow/plain/plain","detected":"Markdown","fnv":"b330c098","len":2874}
{"id":"doc/html-blocks/workflow/plain/imessage","detected":"Markdown","fnv":"b330c098","len":2874}
{"id":"doc/html-blocks/workflow/plain/signal","detected":"Markdown","fnv":"b330c098","len":2874}
{"id":"doc/html-blocks/workflow/plain/telegram","detected":"Markdown","fnv":"b330c098","len":2874}
{"id":"doc/html-blocks/workflow/plain/gmail","detected":"Markdown","fnv":"b330c098","len":2874}
{"id":"doc/html-blocks/workflow/plain/outlook","detected":"Markdown","fnv":"b330c098","len":2874}
{"id":"doc/html-blocks/workflow/plain/shortwave","detected":"Markdown","fnv":"b330c098","len":2874}
{"id":"doc/html-blocks/workflow/plain/notion","detected":"Markdown","fnv":"b330c098","len":2874}
{"id":"doc/html-blocks/workflow/plain/confluence","detected":"Markdown","fnv":"b330c098","len":2874}
{"id":"doc/html-blocks/workflow/plain/calendar","detected":"Markdown","fnv":"b330c098","len":2874}
{"id":"doc/html-blocks/workflow/plain/word","detected":"Markdown","fnv":"b330c098","len":2874}
{"id":"doc/html-blocks/workflow/plain/google-docs","detected":"Markdown","fnv":"b330c098","len":2874}
{"id":"doc/html-blocks/workflow/plain/markdown","detected":"Markdown","fnv":"b330c098","len":2874}
{"id":"doc/lazy-continuation/detect","val":"Markdown"}
{"id":"doc/lazy-continuation/words","val":93}
{"id":"doc/lazy-continuation/filename/md","val":"lazy-continuation-paragraphs.md"}
{"id":"doc/lazy-continuation/filename/docx","val":"lazy-continuation-paragraphs.docx"}
{"id":"doc/lazy-continuation/clean/default","text":"# Lazy continuation paragraphs\n\n> A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.\n\n- A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.\n\nA plain paragraph that runs on\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> > inner quote with its own lazy\ncontinuation line inside the inner quote","changes":[]}
{"id":"doc/lazy-continuation/convert/whatsapp","cleaned":{"text":"# Lazy continuation paragraphs\n\n> A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.\n\n- A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.\n\nA plain paragraph that runs on\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> > inner quote with its own lazy\ncontinuation line inside the inner quote"},"output":{"text":"*Lazy continuation paragraphs*\n\n> A quoted first line\n> with a lazy continuation that stays inside the quote\n> and a second lazy line.\n\n- A list item whose text\n  wraps lazily onto the next line\n  still belongs to the item.\n\nA plain paragraph that runs on\n\n*and is interrupted by this ATX heading*\n\nAnother paragraph that runs on\n\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> \n> > inner quote with its own lazy\n> > continuation line inside the inner quote"},"html":{"text":"<h1>Lazy continuation paragraphs</h1><blockquote><p>A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.</p></blockquote><ul><li>A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.</li></ul><p>A plain paragraph that runs on</p><h1>and is interrupted by this ATX heading</h1><p>Another paragraph that runs on</p><ol><li>and is interrupted by an ordered list starting at one</li></ol><p>Another paragraph that runs on\n2. but two does not interrupt a paragraph</p><blockquote><p>Outer quote</p><blockquote><p>inner quote with its own lazy\ncontinuation line inside the inner quote</p></blockquote></blockquote>"},"changes":[]}
{"id":"doc/lazy-continuation/convert/google-chat","cleaned":{"text":"# Lazy continuation paragraphs\n\n> A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.\n\n- A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.\n\nA plain paragraph that runs on\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> > inner quote with its own lazy\ncontinuation line inside the inner quote"},"output":{"text":"*Lazy continuation paragraphs*\n\n> A quoted first line\n> with a lazy continuation that stays inside the quote\n> and a second lazy line.\n\n- A list item whose text\n  wraps lazily onto the next line\n  still belongs to the item.\n\nA plain paragraph that runs on\n\n*and is interrupted by this ATX heading*\n\nAnother paragraph that runs on\n\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> \n> > inner quote with its own lazy\n> > continuation line inside the inner quote"},"html":{"text":"<h1>Lazy continuation paragraphs</h1><blockquote><p>A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.</p></blockquote><ul><li>A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.</li></ul><p>A plain paragraph that runs on</p><h1>and is interrupted by this ATX heading</h1><p>Another paragraph that runs on</p><ol><li>and is interrupted by an ordered list starting at one</li></ol><p>Another paragraph that runs on\n2. but two does not interrupt a paragraph</p><blockquote><p>Outer quote</p><blockquote><p>inner quote with its own lazy\ncontinuation line inside the inner quote</p></blockquote></blockquote>"},"changes":[]}
{"id":"doc/lazy-continuation/convert/discord","cleaned":{"text":"# Lazy continuation paragraphs\n\n> A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.\n\n- A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.\n\nA plain paragraph that runs on\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> > inner quote with its own lazy\ncontinuation line inside the inner quote"},"output":{"text":"# Lazy continuation paragraphs\n\n> A quoted first line\n> with a lazy continuation that stays inside the quote\n> and a second lazy line.\n\n- A list item whose text\n  wraps lazily onto the next line\n  still belongs to the item.\n\nA plain paragraph that runs on\n\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> \n> > inner quote with its own lazy\n> > continuation line inside the inner quote"},"html":{"text":"<h1>Lazy continuation paragraphs</h1><blockquote><p>A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.</p></blockquote><ul><li>A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.</li></ul><p>A plain paragraph that runs on</p><h1>and is interrupted by this ATX heading</h1><p>Another paragraph that runs on</p><ol><li>and is interrupted by an ordered list starting at one</li></ol><p>Another paragraph that runs on\n2. but two does not interrupt a paragraph</p><blockquote><p>Outer quote</p><blockquote><p>inner quote with its own lazy\ncontinuation line inside the inner quote</p></blockquote></blockquote>"},"changes":[]}
{"id":"doc/lazy-continuation/convert/slack","cleaned":{"text":"# Lazy continuation paragraphs\n\n> A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.\n\n- A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.\n\nA plain paragraph that runs on\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> > inner quote with its own lazy\ncontinuation line inside the inner quote"},"output":{"text":"*Lazy continuation paragraphs*\n\n> A quoted first line\n> with a lazy continuation that stays inside the quote\n> and a second lazy line.\n\n• A list item whose text\n  wraps lazily onto the next line\n  still belongs to the item.\n\nA plain paragraph that runs on\n\n*and is interrupted by this ATX heading*\n\nAnother paragraph that runs on\n\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> \n> > inner quote with its own lazy\n> > continuation line inside the inner quote"},"html":{"text":"<h1>Lazy continuation paragraphs</h1><blockquote><p>A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.</p></blockquote><ul><li>A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.</li></ul><p>A plain paragraph that runs on</p><h1>and is interrupted by this ATX heading</h1><p>Another paragraph that runs on</p><ol><li>and is interrupted by an ordered list starting at one</li></ol><p>Another paragraph that runs on\n2. but two does not interrupt a paragraph</p><blockquote><p>Outer quote</p><blockquote><p>inner quote with its own lazy\ncontinuation line inside the inner quote</p></blockquote></blockquote>"},"changes":[]}
{"id":"doc/lazy-continuation/convert/teams","cleaned":{"text":"# Lazy continuation paragraphs\n\n> A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.\n\n- A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.\n\nA plain paragraph that runs on\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> > inner quote with its own lazy\ncontinuation line inside the inner quote"},"output":{"text":"# Lazy continuation paragraphs\n\n> A quoted first line\n> with a lazy continuation that stays inside the quote\n> and a second lazy line.\n\n- A list item whose text\n  wraps lazily onto the next line\n  still belongs to the item.\n\nA plain paragraph that runs on\n\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> \n> > inner quote with its own lazy\n> > continuation line inside the inner quote"},"html":{"text":"<h1>Lazy continuation paragraphs</h1><blockquote><p>A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.</p></blockquote><ul><li>A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.</li></ul><p>A plain paragraph that runs on</p><h1>and is interrupted by this ATX heading</h1><p>Another paragraph that runs on</p><ol><li>and is interrupted by an ordered list starting at one</li></ol><p>Another paragraph that runs on\n2. but two does not interrupt a paragraph</p><blockquote><p>Outer quote</p><blockquote><p>inner quote with its own lazy\ncontinuation line inside the inner quote</p></blockquote></blockquote>"},"changes":[]}
{"id":"doc/lazy-continuation/convert/zendesk","cleaned":{"text":"# Lazy continuation paragraphs\n\n> A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.\n\n- A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.\n\nA plain paragraph that runs on\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> > inner quote with its own lazy\ncontinuation line inside the inner quote"},"output":{"text":"# Lazy continuation paragraphs\n\n> A quoted first line\n> with a lazy continuation that stays inside the quote\n> and a second lazy line.\n\n- A list item whose text\n  wraps lazily onto the next line\n  still belongs to the item.\n\nA plain paragraph that runs on\n\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> \n> > inner quote with its own lazy\n> > continuation line inside the inner quote"},"html":{"text":"<h1>Lazy continuation paragraphs</h1><blockquote><p>A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.</p></blockquote><ul><li>A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.</li></ul><p>A plain paragraph that runs on</p><h1>and is interrupted by this ATX heading</h1><p>Another paragraph that runs on</p><ol><li>and is interrupted by an ordered list starting at one</li></ol><p>Another paragraph that runs on\n2. but two does not interrupt a paragraph</p><blockquote><p>Outer quote</p><blockquote><p>inner quote with its own lazy\ncontinuation line inside the inner quote</p></blockquote></blockquote>"},"changes":[]}
{"id":"doc/lazy-continuation/convert/jira","cleaned":{"text":"# Lazy continuation paragraphs\n\n> A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.\n\n- A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.\n\nA plain paragraph that runs on\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> > inner quote with its own lazy\ncontinuation line inside the inner quote"},"output":{"text":"# Lazy continuation paragraphs\n\n> A quoted first line\n> with a lazy continuation that stays inside the quote\n> and a second lazy line.\n\n- A list item whose text\n  wraps lazily onto the next line\n  still belongs to the item.\n\nA plain paragraph that runs on\n\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> \n> > inner quote with its own lazy\n> > continuation line inside the inner quote"},"html":{"text":"<h1>Lazy continuation paragraphs</h1><blockquote><p>A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.</p></blockquote><ul><li>A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.</li></ul><p>A plain paragraph that runs on</p><h1>and is interrupted by this ATX heading</h1><p>Another paragraph that runs on</p><ol><li>and is interrupted by an ordered list starting at one</li></ol><p>Another paragraph that runs on\n2. but two does not interrupt a paragraph</p><blockquote><p>Outer quote</p><blockquote><p>inner quote with its own lazy\ncontinuation line inside the inner quote</p></blockquote></blockquote>"},"changes":[]}
{"id":"doc/lazy-continuation/convert/plain","cleaned":{"text":"# Lazy continuation paragraphs\n\n> A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.\n\n- A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.\n\nA plain paragraph that runs on\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> > inner quote with its own lazy\ncontinuation line inside the inner quote"},"output":{"text":"Lazy continuation paragraphs\n\n> A quoted first line\n> with a lazy continuation that stays inside the quote\n> and a second lazy line.\n\n- A list item whose text\n  wraps lazily onto the next line\n  still belongs to the item.\n\nA plain paragraph that runs on\n\nand is interrupted by this ATX heading\n\nAnother paragraph that runs on\n\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> \n> > inner quote with its own lazy\n> > continuation line inside the inner quote"},"html":{"text":"<h1>Lazy continuation paragraphs</h1><blockquote><p>A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.</p></blockquote><ul><li>A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.</li></ul><p>A plain paragraph that runs on</p><h1>and is interrupted by this ATX heading</h1><p>Another paragraph that runs on</p><ol><li>and is interrupted by an ordered list starting at one</li></ol><p>Another paragraph that runs on\n2. but two does not interrupt a paragraph</p><blockquote><p>Outer quote</p><blockquote><p>inner quote with its own lazy\ncontinuation line inside the inner quote</p></blockquote></blockquote>"},"changes":[]}
{"id":"doc/lazy-continuation/whatsapp-preview","fnv":"857b8ae3","len":1638}
{"id":"doc/lazy-continuation/diff-cleanup","val":[{"type":"same","value":"# Lazy continuation paragraphs\n\n> A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.\n\n- A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.\n\nA plain paragraph that runs on\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> > inner quote with its own lazy\ncontinuation line inside the inner quote"},{"type":"removed","value":"\n"}]}
{"id":"doc/lazy-continuation/workflow/auto/whatsapp","detected":"Markdown","cleaned":{"text":"# Lazy continuation paragraphs\n\n> A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.\n\n- A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.\n\nA plain paragraph that runs on\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> > inner quote with its own lazy\ncontinuation line inside the inner quote"},"output":{"text":"*Lazy continuation paragraphs*\n\n> A quoted first line\n> with a lazy continuation that stays inside the quote\n> and a second lazy line.\n\n- A list item whose text\n  wraps lazily onto the next line\n  still belongs to the item.\n\nA plain paragraph that runs on\n\n*and is interrupted by this ATX heading*\n\nAnother paragraph that runs on\n\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> \n> > inner quote with its own lazy\n> > continuation line inside the inner quote"},"html":{"text":"<h1>Lazy continuation paragraphs</h1><blockquote><p>A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.</p></blockquote><ul><li>A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.</li></ul><p>A plain paragraph that runs on</p><h1>and is interrupted by this ATX heading</h1><p>Another paragraph that runs on</p><ol><li>and is interrupted by an ordered list starting at one</li></ol><p>Another paragraph that runs on\n2. but two does not interrupt a paragraph</p><blockquote><p>Outer quote</p><blockquote><p>inner quote with its own lazy\ncontinuation line inside the inner quote</p></blockquote></blockquote>"},"changes":[]}
{"id":"doc/lazy-continuation/workflow/auto/google-chat","detected":"Markdown","cleaned":{"text":"# Lazy continuation paragraphs\n\n> A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.\n\n- A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.\n\nA plain paragraph that runs on\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> > inner quote with its own lazy\ncontinuation line inside the inner quote"},"output":{"text":"*Lazy continuation paragraphs*\n\n> A quoted first line\n> with a lazy continuation that stays inside the quote\n> and a second lazy line.\n\n- A list item whose text\n  wraps lazily onto the next line\n  still belongs to the item.\n\nA plain paragraph that runs on\n\n*and is interrupted by this ATX heading*\n\nAnother paragraph that runs on\n\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> \n> > inner quote with its own lazy\n> > continuation line inside the inner quote"},"html":{"text":"<h1>Lazy continuation paragraphs</h1><blockquote><p>A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.</p></blockquote><ul><li>A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.</li></ul><p>A plain paragraph that runs on</p><h1>and is interrupted by this ATX heading</h1><p>Another paragraph that runs on</p><ol><li>and is interrupted by an ordered list starting at one</li></ol><p>Another paragraph that runs on\n2. but two does not interrupt a paragraph</p><blockquote><p>Outer quote</p><blockquote><p>inner quote with its own lazy\ncontinuation line inside the inner quote</p></blockquote></blockquote>"},"changes":[]}
{"id":"doc/lazy-continuation/workflow/auto/discord","detected":"Markdown","cleaned":{"text":"# Lazy continuation paragraphs\n\n> A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.\n\n- A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.\n\nA plain paragraph that runs on\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> > inner quote with its own lazy\ncontinuation line inside the inner quote"},"output":{"text":"# Lazy continuation paragraphs\n\n> A quoted first line\n> with a lazy continuation that stays inside the quote\n> and a second lazy line.\n\n- A list item whose text\n  wraps lazily onto the next line\n  still belongs to the item.\n\nA plain paragraph that runs on\n\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> \n> > inner quote with its own lazy\n> > continuation line inside the inner quote"},"html":{"text":"<h1>Lazy continuation paragraphs</h1><blockquote><p>A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.</p></blockquote><ul><li>A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.</li></ul><p>A plain paragraph that runs on</p><h1>and is interrupted by this ATX heading</h1><p>Another paragraph that runs on</p><ol><li>and is interrupted by an ordered list starting at one</li></ol><p>Another paragraph that runs on\n2. but two does not interrupt a paragraph</p><blockquote><p>Outer quote</p><blockquote><p>inner quote with its own lazy\ncontinuation line inside the inner quote</p></blockquote></blockquote>"},"changes":[]}
{"id":"doc/lazy-continuation/workflow/auto/slack","detected":"Markdown","cleaned":{"text":"# Lazy continuation paragraphs\n\n> A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.\n\n- A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.\n\nA plain paragraph that runs on\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> > inner quote with its own lazy\ncontinuation line inside the inner quote"},"output":{"text":"*Lazy continuation paragraphs*\n\n> A quoted first line\n> with a lazy continuation that stays inside the quote\n> and a second lazy line.\n\n• A list item whose text\n  wraps lazily onto the next line\n  still belongs to the item.\n\nA plain paragraph that runs on\n\n*and is interrupted by this ATX heading*\n\nAnother paragraph that runs on\n\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> \n> > inner quote with its own lazy\n> > continuation line inside the inner quote"},"html":{"text":"<h1>Lazy continuation paragraphs</h1><blockquote><p>A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.</p></blockquote><ul><li>A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.</li></ul><p>A plain paragraph that runs on</p><h1>and is interrupted by this ATX heading</h1><p>Another paragraph that runs on</p><ol><li>and is interrupted by an ordered list starting at one</li></ol><p>Another paragraph that runs on\n2. but two does not interrupt a paragraph</p><blockquote><p>Outer quote</p><blockquote><p>inner quote with its own lazy\ncontinuation line inside the inner quote</p></blockquote></blockquote>"},"changes":[]}
{"id":"doc/lazy-continuation/workflow/auto/teams","detected":"Markdown","cleaned":{"text":"# Lazy continuation paragraphs\n\n> A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.\n\n- A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.\n\nA plain paragraph that runs on\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> > inner quote with its own lazy\ncontinuation line inside the inner quote"},"output":{"text":"# Lazy continuation paragraphs\n\n> A quoted first line\n> with a lazy continuation that stays inside the quote\n> and a second lazy line.\n\n- A list item whose text\n  wraps lazily onto the next line\n  still belongs to the item.\n\nA plain paragraph that runs on\n\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> \n> > inner quote with its own lazy\n> > continuation line inside the inner quote"},"html":{"text":"<h1>Lazy continuation paragraphs</h1><blockquote><p>A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.</p></blockquote><ul><li>A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.</li></ul><p>A plain paragraph that runs on</p><h1>and is interrupted by this ATX heading</h1><p>Another paragraph that runs on</p><ol><li>and is interrupted by an ordered list starting at one</li></ol><p>Another paragraph that runs on\n2. but two does not interrupt a paragraph</p><blockquote><p>Outer quote</p><blockquote><p>inner quote with its own lazy\ncontinuation line inside the inner quote</p></blockquote></blockquote>"},"changes":[]}
{"id":"doc/lazy-continuation/workflow/auto/zendesk","detected":"Markdown","cleaned":{"text":"# Lazy continuation paragraphs\n\n> A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.\n\n- A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.\n\nA plain paragraph that runs on\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> > inner quote with its own lazy\ncontinuation line inside the inner quote"},"output":{"text":"# Lazy continuation paragraphs\n\n> A quoted first line\n> with a lazy continuation that stays inside the quote\n> and a second lazy line.\n\n- A list item whose text\n  wraps lazily onto the next line\n  still belongs to the item.\n\nA plain paragraph that runs on\n\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> \n> > inner quote with its own lazy\n> > continuation line inside the inner quote"},"html":{"text":"<h1>Lazy continuation paragraphs</h1><blockquote><p>A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.</p></blockquote><ul><li>A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.</li></ul><p>A plain paragraph that runs on</p><h1>and is interrupted by this ATX heading</h1><p>Another paragraph that runs on</p><ol><li>and is interrupted by an ordered list starting at one</li></ol><p>Another paragraph that runs on\n2. but two does not interrupt a paragraph</p><blockquote><p>Outer quote</p><blockquote><p>inner quote with its own lazy\ncontinuation line inside the inner quote</p></blockquote></blockquote>"},"changes":[]}
{"id":"doc/lazy-continuation/workflow/auto/jira","detected":"Markdown","cleaned":{"text":"# Lazy continuation paragraphs\n\n> A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.\n\n- A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.\n\nA plain paragraph that runs on\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> > inner quote with its own lazy\ncontinuation line inside the inner quote"},"output":{"text":"# Lazy continuation paragraphs\n\n> A quoted first line\n> with a lazy continuation that stays inside the quote\n> and a second lazy line.\n\n- A list item whose text\n  wraps lazily onto the next line\n  still belongs to the item.\n\nA plain paragraph that runs on\n\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> \n> > inner quote with its own lazy\n> > continuation line inside the inner quote"},"html":{"text":"<h1>Lazy continuation paragraphs</h1><blockquote><p>A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.</p></blockquote><ul><li>A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.</li></ul><p>A plain paragraph that runs on</p><h1>and is interrupted by this ATX heading</h1><p>Another paragraph that runs on</p><ol><li>and is interrupted by an ordered list starting at one</li></ol><p>Another paragraph that runs on\n2. but two does not interrupt a paragraph</p><blockquote><p>Outer quote</p><blockquote><p>inner quote with its own lazy\ncontinuation line inside the inner quote</p></blockquote></blockquote>"},"changes":[]}
{"id":"doc/lazy-continuation/workflow/auto/plain","detected":"Markdown","cleaned":{"text":"# Lazy continuation paragraphs\n\n> A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.\n\n- A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.\n\nA plain paragraph that runs on\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> > inner quote with its own lazy\ncontinuation line inside the inner quote"},"output":{"text":"Lazy continuation paragraphs\n\n> A quoted first line\n> with a lazy continuation that stays inside the quote\n> and a second lazy line.\n\n- A list item whose text\n  wraps lazily onto the next line\n  still belongs to the item.\n\nA plain paragraph that runs on\n\nand is interrupted by this ATX heading\n\nAnother paragraph that runs on\n\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> \n> > inner quote with its own lazy\n> > continuation line inside the inner quote"},"html":{"text":"<h1>Lazy continuation paragraphs</h1><blockquote><p>A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.</p></blockquote><ul><li>A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.</li></ul><p>A plain paragraph that runs on</p><h1>and is interrupted by this ATX heading</h1><p>Another paragraph that runs on</p><ol><li>and is interrupted by an ordered list starting at one</li></ol><p>Another paragraph that runs on\n2. but two does not interrupt a paragraph</p><blockquote><p>Outer quote</p><blockquote><p>inner quote with its own lazy\ncontinuation line inside the inner quote</p></blockquote></blockquote>"},"changes":[]}
{"id":"doc/lazy-continuation/workflow/auto/imessage","detected":"Markdown","cleaned":{"text":"# Lazy continuation paragraphs\n\n> A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.\n\n- A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.\n\nA plain paragraph that runs on\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> > inner quote with its own lazy\ncontinuation line inside the inner quote"},"output":{"text":"Lazy continuation paragraphs\n\n> A quoted first line\n> with a lazy continuation that stays inside the quote\n> and a second lazy line.\n\n- A list item whose text\n  wraps lazily onto the next line\n  still belongs to the item.\n\nA plain paragraph that runs on\n\nand is interrupted by this ATX heading\n\nAnother paragraph that runs on\n\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> \n> > inner quote with its own lazy\n> > continuation line inside the inner quote"},"html":{"text":"<h1>Lazy continuation paragraphs</h1><blockquote><p>A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.</p></blockquote><ul><li>A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.</li></ul><p>A plain paragraph that runs on</p><h1>and is interrupted by this ATX heading</h1><p>Another paragraph that runs on</p><ol><li>and is interrupted by an ordered list starting at one</li></ol><p>Another paragraph that runs on\n2. but two does not interrupt a paragraph</p><blockquote><p>Outer quote</p><blockquote><p>inner quote with its own lazy\ncontinuation line inside the inner quote</p></blockquote></blockquote>"},"changes":[]}
{"id":"doc/lazy-continuation/workflow/auto/signal","detected":"Markdown","cleaned":{"text":"# Lazy continuation paragraphs\n\n> A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.\n\n- A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.\n\nA plain paragraph that runs on\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> > inner quote with its own lazy\ncontinuation line inside the inner quote"},"output":{"text":"Lazy continuation paragraphs\n\n> A quoted first line\n> with a lazy continuation that stays inside the quote\n> and a second lazy line.\n\n- A list item whose text\n  wraps lazily onto the next line\n  still belongs to the item.\n\nA plain paragraph that runs on\n\nand is interrupted by this ATX heading\n\nAnother paragraph that runs on\n\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> \n> > inner quote with its own lazy\n> > continuation line inside the inner quote"},"html":{"text":"<h1>Lazy continuation paragraphs</h1><blockquote><p>A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.</p></blockquote><ul><li>A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.</li></ul><p>A plain paragraph that runs on</p><h1>and is interrupted by this ATX heading</h1><p>Another paragraph that runs on</p><ol><li>and is interrupted by an ordered list starting at one</li></ol><p>Another paragraph that runs on\n2. but two does not interrupt a paragraph</p><blockquote><p>Outer quote</p><blockquote><p>inner quote with its own lazy\ncontinuation line inside the inner quote</p></blockquote></blockquote>"},"changes":[]}
{"id":"doc/lazy-continuation/workflow/auto/telegram","detected":"Markdown","cleaned":{"text":"# Lazy continuation paragraphs\n\n> A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.\n\n- A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.\n\nA plain paragraph that runs on\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> > inner quote with its own lazy\ncontinuation line inside the inner quote"},"output":{"text":"Lazy continuation paragraphs\n\n> A quoted first line\n> with a lazy continuation that stays inside the quote\n> and a second lazy line.\n\n- A list item whose text\n  wraps lazily onto the next line\n  still belongs to the item.\n\nA plain paragraph that runs on\n\nand is interrupted by this ATX heading\n\nAnother paragraph that runs on\n\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> \n> > inner quote with its own lazy\n> > continuation line inside the inner quote"},"html":{"text":"<h1>Lazy continuation paragraphs</h1><blockquote><p>A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.</p></blockquote><ul><li>A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.</li></ul><p>A plain paragraph that runs on</p><h1>and is interrupted by this ATX heading</h1><p>Another paragraph that runs on</p><ol><li>and is interrupted by an ordered list starting at one</li></ol><p>Another paragraph that runs on\n2. but two does not interrupt a paragraph</p><blockquote><p>Outer quote</p><blockquote><p>inner quote with its own lazy\ncontinuation line inside the inner quote</p></blockquote></blockquote>"},"changes":[]}
{"id":"doc/lazy-continuation/workflow/auto/gmail","detected":"Markdown","cleaned":{"text":"# Lazy continuation paragraphs\n\n> A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.\n\n- A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.\n\nA plain paragraph that runs on\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> > inner quote with its own lazy\ncontinuation line inside the inner quote"},"output":{"text":"Lazy continuation paragraphs\n\n> A quoted first line\n> with a lazy continuation that stays inside the quote\n> and a second lazy line.\n\n- A list item whose text\n  wraps lazily onto the next line\n  still belongs to the item.\n\nA plain paragraph that runs on\n\nand is interrupted by this ATX heading\n\nAnother paragraph that runs on\n\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> \n> > inner quote with its own lazy\n> > continuation line inside the inner quote"},"html":{"text":"<h1>Lazy continuation paragraphs</h1><blockquote><p>A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.</p></blockquote><ul><li>A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.</li></ul><p>A plain paragraph that runs on</p><h1>and is interrupted by this ATX heading</h1><p>Another paragraph that runs on</p><ol><li>and is interrupted by an ordered list starting at one</li></ol><p>Another paragraph that runs on\n2. but two does not interrupt a paragraph</p><blockquote><p>Outer quote</p><blockquote><p>inner quote with its own lazy\ncontinuation line inside the inner quote</p></blockquote></blockquote>"},"changes":[]}
{"id":"doc/lazy-continuation/workflow/auto/outlook","detected":"Markdown","cleaned":{"text":"# Lazy continuation paragraphs\n\n> A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.\n\n- A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.\n\nA plain paragraph that runs on\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> > inner quote with its own lazy\ncontinuation line inside the inner quote"},"output":{"text":"Lazy continuation paragraphs\n\n> A quoted first line\n> with a lazy continuation that stays inside the quote\n> and a second lazy line.\n\n- A list item whose text\n  wraps lazily onto the next line\n  still belongs to the item.\n\nA plain paragraph that runs on\n\nand is interrupted by this ATX heading\n\nAnother paragraph that runs on\n\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> \n> > inner quote with its own lazy\n> > continuation line inside the inner quote"},"html":{"text":"<h1>Lazy continuation paragraphs</h1><blockquote><p>A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.</p></blockquote><ul><li>A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.</li></ul><p>A plain paragraph that runs on</p><h1>and is interrupted by this ATX heading</h1><p>Another paragraph that runs on</p><ol><li>and is interrupted by an ordered list starting at one</li></ol><p>Another paragraph that runs on\n2. but two does not interrupt a paragraph</p><blockquote><p>Outer quote</p><blockquote><p>inner quote with its own lazy\ncontinuation line inside the inner quote</p></blockquote></blockquote>"},"changes":[]}
{"id":"doc/lazy-continuation/workflow/auto/shortwave","detected":"Markdown","cleaned":{"text":"# Lazy continuation paragraphs\n\n> A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.\n\n- A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.\n\nA plain paragraph that runs on\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> > inner quote with its own lazy\ncontinuation line inside the inner quote"},"output":{"text":"Lazy continuation paragraphs\n\n> A quoted first line\n> with a lazy continuation that stays inside the quote\n> and a second lazy line.\n\n- A list item whose text\n  wraps lazily onto the next line\n  still belongs to the item.\n\nA plain paragraph that runs on\n\nand is interrupted by this ATX heading\n\nAnother paragraph that runs on\n\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> \n> > inner quote with its own lazy\n> > continuation line inside the inner quote"},"html":{"text":"<h1>Lazy continuation paragraphs</h1><blockquote><p>A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.</p></blockquote><ul><li>A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.</li></ul><p>A plain paragraph that runs on</p><h1>and is interrupted by this ATX heading</h1><p>Another paragraph that runs on</p><ol><li>and is interrupted by an ordered list starting at one</li></ol><p>Another paragraph that runs on\n2. but two does not interrupt a paragraph</p><blockquote><p>Outer quote</p><blockquote><p>inner quote with its own lazy\ncontinuation line inside the inner quote</p></blockquote></blockquote>"},"changes":[]}
{"id":"doc/lazy-continuation/workflow/auto/notion","detected":"Markdown","cleaned":{"text":"# Lazy continuation paragraphs\n\n> A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.\n\n- A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.\n\nA plain paragraph that runs on\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> > inner quote with its own lazy\ncontinuation line inside the inner quote"},"output":{"text":"Lazy continuation paragraphs\n\n> A quoted first line\n> with a lazy continuation that stays inside the quote\n> and a second lazy line.\n\n- A list item whose text\n  wraps lazily onto the next line\n  still belongs to the item.\n\nA plain paragraph that runs on\n\nand is interrupted by this ATX heading\n\nAnother paragraph that runs on\n\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> \n> > inner quote with its own lazy\n> > continuation line inside the inner quote"},"html":{"text":"<h1>Lazy continuation paragraphs</h1><blockquote><p>A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.</p></blockquote><ul><li>A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.</li></ul><p>A plain paragraph that runs on</p><h1>and is interrupted by this ATX heading</h1><p>Another paragraph that runs on</p><ol><li>and is interrupted by an ordered list starting at one</li></ol><p>Another paragraph that runs on\n2. but two does not interrupt a paragraph</p><blockquote><p>Outer quote</p><blockquote><p>inner quote with its own lazy\ncontinuation line inside the inner quote</p></blockquote></blockquote>"},"changes":[]}
{"id":"doc/lazy-continuation/workflow/auto/confluence","detected":"Markdown","cleaned":{"text":"# Lazy continuation paragraphs\n\n> A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.\n\n- A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.\n\nA plain paragraph that runs on\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> > inner quote with its own lazy\ncontinuation line inside the inner quote"},"output":{"text":"Lazy continuation paragraphs\n\n> A quoted first line\n> with a lazy continuation that stays inside the quote\n> and a second lazy line.\n\n- A list item whose text\n  wraps lazily onto the next line\n  still belongs to the item.\n\nA plain paragraph that runs on\n\nand is interrupted by this ATX heading\n\nAnother paragraph that runs on\n\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> \n> > inner quote with its own lazy\n> > continuation line inside the inner quote"},"html":{"text":"<h1>Lazy continuation paragraphs</h1><blockquote><p>A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.</p></blockquote><ul><li>A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.</li></ul><p>A plain paragraph that runs on</p><h1>and is interrupted by this ATX heading</h1><p>Another paragraph that runs on</p><ol><li>and is interrupted by an ordered list starting at one</li></ol><p>Another paragraph that runs on\n2. but two does not interrupt a paragraph</p><blockquote><p>Outer quote</p><blockquote><p>inner quote with its own lazy\ncontinuation line inside the inner quote</p></blockquote></blockquote>"},"changes":[]}
{"id":"doc/lazy-continuation/workflow/auto/calendar","detected":"Markdown","cleaned":{"text":"# Lazy continuation paragraphs\n\n> A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.\n\n- A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.\n\nA plain paragraph that runs on\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> > inner quote with its own lazy\ncontinuation line inside the inner quote"},"output":{"text":"Lazy continuation paragraphs\n\n> A quoted first line\n> with a lazy continuation that stays inside the quote\n> and a second lazy line.\n\n- A list item whose text\n  wraps lazily onto the next line\n  still belongs to the item.\n\nA plain paragraph that runs on\n\nand is interrupted by this ATX heading\n\nAnother paragraph that runs on\n\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> \n> > inner quote with its own lazy\n> > continuation line inside the inner quote"},"html":{"text":"<h1>Lazy continuation paragraphs</h1><blockquote><p>A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.</p></blockquote><ul><li>A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.</li></ul><p>A plain paragraph that runs on</p><h1>and is interrupted by this ATX heading</h1><p>Another paragraph that runs on</p><ol><li>and is interrupted by an ordered list starting at one</li></ol><p>Another paragraph that runs on\n2. but two does not interrupt a paragraph</p><blockquote><p>Outer quote</p><blockquote><p>inner quote with its own lazy\ncontinuation line inside the inner quote</p></blockquote></blockquote>"},"changes":[]}
{"id":"doc/lazy-continuation/workflow/auto/word","detected":"Markdown","cleaned":{"text":"# Lazy continuation paragraphs\n\n> A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.\n\n- A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.\n\nA plain paragraph that runs on\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> > inner quote with its own lazy\ncontinuation line inside the inner quote"},"output":{"text":"Lazy continuation paragraphs\n\n> A quoted first line\n> with a lazy continuation that stays inside the quote\n> and a second lazy line.\n\n- A list item whose text\n  wraps lazily onto the next line\n  still belongs to the item.\n\nA plain paragraph that runs on\n\nand is interrupted by this ATX heading\n\nAnother paragraph that runs on\n\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> \n> > inner quote with its own lazy\n> > continuation line inside the inner quote"},"html":{"text":"<h1>Lazy continuation paragraphs</h1><blockquote><p>A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.</p></blockquote><ul><li>A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.</li></ul><p>A plain paragraph that runs on</p><h1>and is interrupted by this ATX heading</h1><p>Another paragraph that runs on</p><ol><li>and is interrupted by an ordered list starting at one</li></ol><p>Another paragraph that runs on\n2. but two does not interrupt a paragraph</p><blockquote><p>Outer quote</p><blockquote><p>inner quote with its own lazy\ncontinuation line inside the inner quote</p></blockquote></blockquote>"},"changes":[]}
{"id":"doc/lazy-continuation/workflow/auto/google-docs","detected":"Markdown","cleaned":{"text":"# Lazy continuation paragraphs\n\n> A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.\n\n- A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.\n\nA plain paragraph that runs on\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> > inner quote with its own lazy\ncontinuation line inside the inner quote"},"output":{"text":"Lazy continuation paragraphs\n\n> A quoted first line\n> with a lazy continuation that stays inside the quote\n> and a second lazy line.\n\n- A list item whose text\n  wraps lazily onto the next line\n  still belongs to the item.\n\nA plain paragraph that runs on\n\nand is interrupted by this ATX heading\n\nAnother paragraph that runs on\n\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> \n> > inner quote with its own lazy\n> > continuation line inside the inner quote"},"html":{"text":"<h1>Lazy continuation paragraphs</h1><blockquote><p>A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.</p></blockquote><ul><li>A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.</li></ul><p>A plain paragraph that runs on</p><h1>and is interrupted by this ATX heading</h1><p>Another paragraph that runs on</p><ol><li>and is interrupted by an ordered list starting at one</li></ol><p>Another paragraph that runs on\n2. but two does not interrupt a paragraph</p><blockquote><p>Outer quote</p><blockquote><p>inner quote with its own lazy\ncontinuation line inside the inner quote</p></blockquote></blockquote>"},"changes":[]}
{"id":"doc/lazy-continuation/workflow/auto/markdown","detected":"Markdown","cleaned":{"text":"# Lazy continuation paragraphs\n\n> A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.\n\n- A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.\n\nA plain paragraph that runs on\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> > inner quote with its own lazy\ncontinuation line inside the inner quote"},"output":{"text":"# Lazy continuation paragraphs\n\n> A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.\n\n- A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.\n\nA plain paragraph that runs on\n# and is interrupted by this ATX heading\n\nAnother paragraph that runs on\n1. and is interrupted by an ordered list starting at one\n\nAnother paragraph that runs on\n2. but two does not interrupt a paragraph\n\n> Outer quote\n> > inner quote with its own lazy\ncontinuation line inside the inner quote"},"html":{"text":"<h1>Lazy continuation paragraphs</h1><blockquote><p>A quoted first line\nwith a lazy continuation that stays inside the quote\nand a second lazy line.</p></blockquote><ul><li>A list item whose text\nwraps lazily onto the next line\nstill belongs to the item.</li></ul><p>A plain paragraph that runs on</p><h1>and is interrupted by this ATX heading</h1><p>Another paragraph that runs on</p><ol><li>and is interrupted by an ordered list starting at one</li></ol><p>Another paragraph that runs on\n2. but two does not interrupt a paragraph</p><blockquote><p>Outer quote</p><blockquote><p>inner quote with its own lazy\ncontinuation line inside the inner quote</p></blockquote></blockquote>"},"changes":[]}
{"id":"doc/lazy-continuation/workflow/markdown/whatsapp","detected":"Markdown","fnv":"d3de6453","len":1879}
{"id":"doc/lazy-continuation/workflow/markdown/google-chat","detected":"Markdown","fnv":"d3de6453","len":1879}
{"id":"doc/lazy-continuation/workflow/markdown/discord","detected":"Markdown","fnv":"ad3cc507","len":1879}
{"id":"doc/lazy-continuation/workflow/markdown/slack","detected":"Markdown","fnv":"13188abe","len":1879}
{"id":"doc/lazy-continuation/workflow/markdown/teams","detected":"Markdown","fnv":"ad3cc507","len":1879}
{"id":"doc/lazy-continuation/workflow/markdown/zendesk","detected":"Markdown","fnv":"ad3cc507","len":1879}
{"id":"doc/lazy-continuation/workflow/markdown/jira","detected":"Markdown","fnv":"ad3cc507","len":1879}
{"id":"doc/lazy-continuation/workflow/markdown/plain","detected":"Markdown","fnv":"e9dcd911","len":1875}
{"id":"doc/lazy-continuation/workflow/markdown/imessage","detected":"Markdown","fnv":"e9dcd911","len":1875}
{"id":"doc/lazy-continuation/workflow/markdown/signal","detected":"Markdown","fnv":"e9dcd911","len":1875}
{"id":"doc/lazy-continuation/workflow/markdown/telegram","detected":"Markdown","fnv":"e9dcd911","len":1875}
{"id":"doc/lazy-continuation/workflow/markdown/gmail","detected":"Markdown","fnv":"e9dcd911","len":1875}
{"id":"doc/lazy-continuation/workflow/markdown/outlook","detected":"Markdown","fnv":"e9dcd911","len":1875}
{"id":"doc/lazy-continuation/workflow/markdown/shortwave","detected":"Markdown","fnv":"e9dcd911","len":1875}
{"id":"doc/lazy-continuation/workflow/markdown/notion","detected":"Markdown","fnv":"e9dcd911","len":1875}
{"id":"doc/lazy-continuation/workflow/markdown/confluence","detected":"Markdown","fnv":"e9dcd911","len":1875}
{"id":"doc/lazy-continuation/workflow/markdown/calendar","detected":"Markdown","fnv":"e9dcd911","len":1875}
{"id":"doc/lazy-continuation/workflow/markdown/word","detected":"Markdown","fnv":"e9dcd911","len":1875}
{"id":"doc/lazy-continuation/workflow/markdown/google-docs","detected":"Markdown","fnv":"e9dcd911","len":1875}
{"id":"doc/lazy-continuation/workflow/markdown/markdown","detected":"Markdown","fnv":"b97e68ff","len":1859}
{"id":"doc/lazy-continuation/workflow/plain/whatsapp","detected":"Markdown","fnv":"ff5f250f","len":1790}
{"id":"doc/lazy-continuation/workflow/plain/google-chat","detected":"Markdown","fnv":"ff5f250f","len":1790}
{"id":"doc/lazy-continuation/workflow/plain/discord","detected":"Markdown","fnv":"ff5f250f","len":1790}
{"id":"doc/lazy-continuation/workflow/plain/slack","detected":"Markdown","fnv":"ff5f250f","len":1790}
{"id":"doc/lazy-continuation/workflow/plain/teams","detected":"Markdown","fnv":"ff5f250f","len":1790}
{"id":"doc/lazy-continuation/workflow/plain/zendesk","detected":"Markdown","fnv":"ff5f250f","len":1790}
{"id":"doc/lazy-continuation/workflow/plain/jira","detected":"Markdown","fnv":"ff5f250f","len":1790}
{"id":"doc/lazy-continuation/workflow/plain/plain","detected":"Markdown","fnv":"ff5f250f","len":1790}
{"id":"doc/lazy-continuation/workflow/plain/imessage","detected":"Markdown","fnv":"ff5f250f","len":1790}
{"id":"doc/lazy-continuation/workflow/plain/signal","detected":"Markdown","fnv":"ff5f250f","len":1790}
{"id":"doc/lazy-continuation/workflow/plain/telegram","detected":"Markdown","fnv":"ff5f250f","len":1790}
{"id":"doc/lazy-continuation/workflow/plain/gmail","detected":"Markdown","fnv":"ff5f250f","len":1790}
{"id":"doc/lazy-continuation/workflow/plain/outlook","detected":"Markdown","fnv":"ff5f250f","len":1790}
{"id":"doc/lazy-continuation/workflow/plain/shortwave","detected":"Markdown","fnv":"ff5f250f","len":1790}
{"id":"doc/lazy-continuation/workflow/plain/notion","detected":"Markdown","fnv":"ff5f250f","len":1790}
{"id":"doc/lazy-continuation/workflow/plain/confluence","detected":"Markdown","fnv":"ff5f250f","len":1790}
{"id":"doc/lazy-continuation/workflow/plain/calendar","detected":"Markdown","fnv":"ff5f250f","len":1790}
{"id":"doc/lazy-continuation/workflow/plain/word","detected":"Markdown","fnv":"ff5f250f","len":1790}
{"id":"doc/lazy-continuation/workflow/plain/google-docs","detected":"Markdown","fnv":"ff5f250f","len":1790}
{"id":"doc/lazy-continuation/workflow/plain/markdown","detected":"Markdown","fnv":"ff5f250f","len":1790}
{"id":"doc/links-safety/detect","val":"Markdown"}
{"id":"doc/links-safety/words","val":125}
{"id":"doc/links-safety/filename/md","val":"links-safe-and-unsafe.md"}
{"id":"doc/links-safety/filename/docx","val":"links-safe-and-unsafe.docx"}
{"id":"doc/links-safety/clean/default","text":"# Links safe and unsafe\n\n[Safe absolute](https://example.com/page) and [safe http](http://example.com/insecure) and [mail](mailto:team@example.com?subject=Hi).\n\n[Unsafe javascript](javascript:alert(1)) and [unsafe data](data:text/html,<script>x</script>) and [unsafe vbscript](vbscript:msgbox) and [unsafe file](file:///etc/passwd).\n\n[Relative path](/pricing) and [bare relative](docs/guide) and [protocol relative](//evil.example.com/x) and [fragment](#section).\n\nAutolink <https://example.com/auto> and bare www.example.com/bare in prose.\n\n[Label equals href](https://example.com/self) versus [https://example.com/self](https://example.com/self).\n\n[**Bold label** link](https://example.com/bold-label) and [`code label`](https://example.com/code-label) and [empty href]().\n\n![Safe image](https://example.com/pic.png) and ![unsafe image](javascript:alert(2)) and ![](https://example.com/no-alt.png).\n\nLink with title: [titled](https://example.com/titled \"The title\").","changes":[]}
{"id":"doc/links-safety/convert/whatsapp","cleaned":{"text":"# Links safe and unsafe\n\n[Safe absolute](https://example.com/page) and [safe http](http://example.com/insecure) and [mail](mailto:team@example.com?subject=Hi).\n\n[Unsafe javascript](javascript:alert(1)) and [unsafe data](data:text/html,<script>x</script>) and [unsafe vbscript](vbscript:msgbox) and [unsafe file](file:///etc/passwd).\n\n[Relative path](/pricing) and [bare relative](docs/guide) and [protocol relative](//evil.example.com/x) and [fragment](#section).\n\nAutolink <https://example.com/auto> and bare www.example.com/bare in prose.\n\n[Label equals href](https://example.com/self) versus [https://example.com/self](https://example.com/self).\n\n[**Bold label** link](https://example.com/bold-label) and [`code label`](https://example.com/code-label) and [empty href]().\n\n![Safe image](https://example.com/pic.png) and ![unsafe image](javascript:alert(2)) and ![](https://example.com/no-alt.png).\n\nLink with title: [titled](https://example.com/titled \"The title\")."},"output":{"text":"*Links safe and unsafe*\n\nSafe absolute: https://example.com/page and safe http: http://example.com/insecure and mail: mailto:team@example.com?subject=Hi.\n\nUnsafe javascript and unsafe data and unsafe vbscript and unsafe file.\n\nRelative path: /pricing and bare relative: docs/guide and protocol relative: //evil.example.com/x and fragment: #section.\n\nAutolink https://example.com/auto and bare www.example.com/bare: http://www.example.com/bare in prose.\n\nLabel equals href: https://example.com/self versus https://example.com/self.\n\n*Bold label* link: https://example.com/bold-label and `code label`: https://example.com/code-label and empty href: .\n\nSafe image: https://example.com/pic.png and unsafe image and https://example.com/no-alt.png.\n\nLink with title: titled: https://example.com/titled."},"html":{"fnv":"2892865e","len":1254},"changes":[]}
{"id":"doc/links-safety/convert/google-chat","cleaned":{"text":"# Links safe and unsafe\n\n[Safe absolute](https://example.com/page) and [safe http](http://example.com/insecure) and [mail](mailto:team@example.com?subject=Hi).\n\n[Unsafe javascript](javascript:alert(1)) and [unsafe data](data:text/html,<script>x</script>) and [unsafe vbscript](vbscript:msgbox) and [unsafe file](file:///etc/passwd).\n\n[Relative path](/pricing) and [bare relative](docs/guide) and [protocol relative](//evil.example.com/x) and [fragment](#section).\n\nAutolink <https://example.com/auto> and bare www.example.com/bare in prose.\n\n[Label equals href](https://example.com/self) versus [https://example.com/self](https://example.com/self).\n\n[**Bold label** link](https://example.com/bold-label) and [`code label`](https://example.com/code-label) and [empty href]().\n\n![Safe image](https://example.com/pic.png) and ![unsafe image](javascript:alert(2)) and ![](https://example.com/no-alt.png).\n\nLink with title: [titled](https://example.com/titled \"The title\")."},"output":{"text":"*Links safe and unsafe*\n\nSafe absolute: https://example.com/page and safe http: http://example.com/insecure and mail: mailto:team@example.com?subject=Hi.\n\nUnsafe javascript and unsafe data and unsafe vbscript and unsafe file.\n\nRelative path: /pricing and bare relative: docs/guide and protocol relative: //evil.example.com/x and fragment: #section.\n\nAutolink https://example.com/auto and bare www.example.com/bare: http://www.example.com/bare in prose.\n\nLabel equals href: https://example.com/self versus https://example.com/self.\n\n*Bold label* link: https://example.com/bold-label and `code label`: https://example.com/code-label and empty href: .\n\nSafe image: https://example.com/pic.png and unsafe image and https://example.com/no-alt.png.\n\nLink with title: titled: https://example.com/titled."},"html":{"fnv":"2892865e","len":1254},"changes":[]}
{"id":"doc/links-safety/convert/discord","cleaned":{"text":"# Links safe and unsafe\n\n[Safe absolute](https://example.com/page) and [safe http](http://example.com/insecure) and [mail](mailto:team@example.com?subject=Hi).\n\n[Unsafe javascript](javascript:alert(1)) and [unsafe data](data:text/html,<script>x</script>) and [unsafe vbscript](vbscript:msgbox) and [unsafe file](file:///etc/passwd).\n\n[Relative path](/pricing) and [bare relative](docs/guide) and [protocol relative](//evil.example.com/x) and [fragment](#section).\n\nAutolink <https://example.com/auto> and bare www.example.com/bare in prose.\n\n[Label equals href](https://example.com/self) versus [https://example.com/self](https://example.com/self).\n\n[**Bold label** link](https://example.com/bold-label) and [`code label`](https://example.com/code-label) and [empty href]().\n\n![Safe image](https://example.com/pic.png) and ![unsafe image](javascript:alert(2)) and ![](https://example.com/no-alt.png).\n\nLink with title: [titled](https://example.com/titled \"The title\")."},"output":{"text":"# Links safe and unsafe\n\n[Safe absolute](https://example.com/page) and [safe http](http://example.com/insecure) and [mail](mailto:team@example.com?subject=Hi).\n\nUnsafe javascript and unsafe data and unsafe vbscript and unsafe file.\n\n[Relative path](/pricing) and [bare relative](docs/guide) and [protocol relative](//evil.example.com/x) and [fragment](#section).\n\nAutolink https://example.com/auto and bare [www.example.com/bare](http://www.example.com/bare) in prose.\n\n[Label equals href](https://example.com/self) versus https://example.com/self.\n\n[**Bold label** link](https://example.com/bold-label) and [`code label`](https://example.com/code-label) and [empty href]().\n\nSafe image: https://example.com/pic.png and unsafe image and https://example.com/no-alt.png.\n\nLink with title: [titled](https://example.com/titled)."},"html":{"fnv":"2892865e","len":1254},"changes":[]}
{"id":"doc/links-safety/convert/slack","cleaned":{"text":"# Links safe and unsafe\n\n[Safe absolute](https://example.com/page) and [safe http](http://example.com/insecure) and [mail](mailto:team@example.com?subject=Hi).\n\n[Unsafe javascript](javascript:alert(1)) and [unsafe data](data:text/html,<script>x</script>) and [unsafe vbscript](vbscript:msgbox) and [unsafe file](file:///etc/passwd).\n\n[Relative path](/pricing) and [bare relative](docs/guide) and [protocol relative](//evil.example.com/x) and [fragment](#section).\n\nAutolink <https://example.com/auto> and bare www.example.com/bare in prose.\n\n[Label equals href](https://example.com/self) versus [https://example.com/self](https://example.com/self).\n\n[**Bold label** link](https://example.com/bold-label) and [`code label`](https://example.com/code-label) and [empty href]().\n\n![Safe image](https://example.com/pic.png) and ![unsafe image](javascript:alert(2)) and ![](https://example.com/no-alt.png).\n\nLink with title: [titled](https://example.com/titled \"The title\")."},"output":{"text":"*Links safe and unsafe*\n\n<https://example.com/page|Safe absolute> and <http://example.com/insecure|safe http> and <mailto:team@example.com?subject=Hi|mail>.\n\nUnsafe javascript and unsafe data and unsafe vbscript and unsafe file.\n\n</pricing|Relative path> and <docs/guide|bare relative> and <//evil.example.com/x|protocol relative> and <#section|fragment>.\n\nAutolink https://example.com/auto and bare <http://www.example.com/bare|www.example.com/bare> in prose.\n\n<https://example.com/self|Label equals href> versus https://example.com/self.\n\n<https://example.com/bold-label|*Bold label* link> and <https://example.com/code-label|`code label`> and <|empty href>.\n\nSafe image: https://example.com/pic.png and unsafe image and https://example.com/no-alt.png.\n\nLink with title: <https://example.com/titled|titled>."},"html":{"fnv":"2892865e","len":1254},"changes":[]}
{"id":"doc/links-safety/convert/teams","cleaned":{"text":"# Links safe and unsafe\n\n[Safe absolute](https://example.com/page) and [safe http](http://example.com/insecure) and [mail](mailto:team@example.com?subject=Hi).\n\n[Unsafe javascript](javascript:alert(1)) and [unsafe data](data:text/html,<script>x</script>) and [unsafe vbscript](vbscript:msgbox) and [unsafe file](file:///etc/passwd).\n\n[Relative path](/pricing) and [bare relative](docs/guide) and [protocol relative](//evil.example.com/x) and [fragment](#section).\n\nAutolink <https://example.com/auto> and bare www.example.com/bare in prose.\n\n[Label equals href](https://example.com/self) versus [https://example.com/self](https://example.com/self).\n\n[**Bold label** link](https://example.com/bold-label) and [`code label`](https://example.com/code-label) and [empty href]().\n\n![Safe image](https://example.com/pic.png) and ![unsafe image](javascript:alert(2)) and ![](https://example.com/no-alt.png).\n\nLink with title: [titled](https://example.com/titled \"The title\")."},"output":{"text":"# Links safe and unsafe\n\n[Safe absolute](https://example.com/page) and [safe http](http://example.com/insecure) and [mail](mailto:team@example.com?subject=Hi).\n\nUnsafe javascript and unsafe data and unsafe vbscript and unsafe file.\n\n[Relative path](/pricing) and [bare relative](docs/guide) and [protocol relative](//evil.example.com/x) and [fragment](#section).\n\nAutolink https://example.com/auto and bare [www.example.com/bare](http://www.example.com/bare) in prose.\n\n[Label equals href](https://example.com/self) versus https://example.com/self.\n\n[*Bold label* link](https://example.com/bold-label) and [`code label`](https://example.com/code-label) and [empty href]().\n\nSafe image: https://example.com/pic.png and unsafe image and https://example.com/no-alt.png.\n\nLink with title: [titled](https://example.com/titled)."},"html":{"fnv":"2892865e","len":1254},"changes":[]}
{"id":"doc/links-safety/convert/zendesk","cleaned":{"text":"# Links safe and unsafe\n\n[Safe absolute](https://example.com/page) and [safe http](http://example.com/insecure) and [mail](mailto:team@example.com?subject=Hi).\n\n[Unsafe javascript](javascript:alert(1)) and [unsafe data](data:text/html,<script>x</script>) and [unsafe vbscript](vbscript:msgbox) and [unsafe file](file:///etc/passwd).\n\n[Relative path](/pricing) and [bare relative](docs/guide) and [protocol relative](//evil.example.com/x) and [fragment](#section).\n\nAutolink <https://example.com/auto> and bare www.example.com/bare in prose.\n\n[Label equals href](https://example.com/self) versus [https://example.com/self](https://example.com/self).\n\n[**Bold label** link](https://example.com/bold-label) and [`code label`](https://example.com/code-label) and [empty href]().\n\n![Safe image](https://example.com/pic.png) and ![unsafe image](javascript:alert(2)) and ![](https://example.com/no-alt.png).\n\nLink with title: [titled](https://example.com/titled \"The title\")."},"output":{"text":"# Links safe and unsafe\n\n[Safe absolute](https://example.com/page) and [safe http](http://example.com/insecure) and [mail](mailto:team@example.com?subject=Hi).\n\nUnsafe javascript and unsafe data and unsafe vbscript and unsafe file.\n\n[Relative path](/pricing) and [bare relative](docs/guide) and [protocol relative](//evil.example.com/x) and [fragment](#section).\n\nAutolink https://example.com/auto and bare [www.example.com/bare](http://www.example.com/bare) in prose.\n\n[Label equals href](https://example.com/self) versus https://example.com/self.\n\n[**Bold label** link](https://example.com/bold-label) and [`code label`](https://example.com/code-label) and [empty href]().\n\nSafe image: https://example.com/pic.png and unsafe image and https://example.com/no-alt.png.\n\nLink with title: [titled](https://example.com/titled)."},"html":{"fnv":"2892865e","len":1254},"changes":[]}
{"id":"doc/links-safety/convert/jira","cleaned":{"text":"# Links safe and unsafe\n\n[Safe absolute](https://example.com/page) and [safe http](http://example.com/insecure) and [mail](mailto:team@example.com?subject=Hi).\n\n[Unsafe javascript](javascript:alert(1)) and [unsafe data](data:text/html,<script>x</script>) and [unsafe vbscript](vbscript:msgbox) and [unsafe file](file:///etc/passwd).\n\n[Relative path](/pricing) and [bare relative](docs/guide) and [protocol relative](//evil.example.com/x) and [fragment](#section).\n\nAutolink <https://example.com/auto> and bare www.example.com/bare in prose.\n\n[Label equals href](https://example.com/self) versus [https://example.com/self](https://example.com/self).\n\n[**Bold label** link](https://example.com/bold-label) and [`code label`](https://example.com/code-label) and [empty href]().\n\n![Safe image](https://example.com/pic.png) and ![unsafe image](javascript:alert(2)) and ![](https://example.com/no-alt.png).\n\nLink with title: [titled](https://example.com/titled \"The title\")."},"output":{"text":"# Links safe and unsafe\n\n[Safe absolute](https://example.com/page) and [safe http](http://example.com/insecure) and [mail](mailto:team@example.com?subject=Hi).\n\nUnsafe javascript and unsafe data and unsafe vbscript and unsafe file.\n\n[Relative path](/pricing) and [bare relative](docs/guide) and [protocol relative](//evil.example.com/x) and [fragment](#section).\n\nAutolink https://example.com/auto and bare [www.example.com/bare](http://www.example.com/bare) in prose.\n\n[Label equals href](https://example.com/self) versus https://example.com/self.\n\n[**Bold label** link](https://example.com/bold-label) and [`code label`](https://example.com/code-label) and [empty href]().\n\nSafe image: https://example.com/pic.png and unsafe image and https://example.com/no-alt.png.\n\nLink with title: [titled](https://example.com/titled)."},"html":{"fnv":"2892865e","len":1254},"changes":[]}
{"id":"doc/links-safety/convert/plain","cleaned":{"text":"# Links safe and unsafe\n\n[Safe absolute](https://example.com/page) and [safe http](http://example.com/insecure) and [mail](mailto:team@example.com?subject=Hi).\n\n[Unsafe javascript](javascript:alert(1)) and [unsafe data](data:text/html,<script>x</script>) and [unsafe vbscript](vbscript:msgbox) and [unsafe file](file:///etc/passwd).\n\n[Relative path](/pricing) and [bare relative](docs/guide) and [protocol relative](//evil.example.com/x) and [fragment](#section).\n\nAutolink <https://example.com/auto> and bare www.example.com/bare in prose.\n\n[Label equals href](https://example.com/self) versus [https://example.com/self](https://example.com/self).\n\n[**Bold label** link](https://example.com/bold-label) and [`code label`](https://example.com/code-label) and [empty href]().\n\n![Safe image](https://example.com/pic.png) and ![unsafe image](javascript:alert(2)) and ![](https://example.com/no-alt.png).\n\nLink with title: [titled](https://example.com/titled \"The title\")."},"output":{"text":"Links safe and unsafe\n\nSafe absolute (https://example.com/page) and safe http (http://example.com/insecure) and mail (mailto:team@example.com?subject=Hi).\n\nUnsafe javascript and unsafe data and unsafe vbscript and unsafe file.\n\nRelative path (/pricing) and bare relative (docs/guide) and protocol relative (//evil.example.com/x) and fragment (#section).\n\nAutolink https://example.com/auto and bare www.example.com/bare (http://www.example.com/bare) in prose.\n\nLabel equals href (https://example.com/self) versus https://example.com/self.\n\nBold label link (https://example.com/bold-label) and code label (https://example.com/code-label) and empty href ().\n\nSafe image: https://example.com/pic.png and unsafe image and https://example.com/no-alt.png.\n\nLink with title: titled (https://example.com/titled)."},"html":{"fnv":"2892865e","len":1254},"changes":[]}
{"id":"doc/links-safety/whatsapp-preview","fnv":"a00f7a8e","len":1570}
{"id":"doc/links-safety/diff-cleanup","fnv":"cd4f2485","len":2033}
{"id":"doc/links-safety/workflow/auto/whatsapp","detected":"Markdown","cleaned":{"text":"# Links safe and unsafe\n\n[Safe absolute](https://example.com/page) and [safe http](http://example.com/insecure) and [mail](mailto:team@example.com?subject=Hi).\n\n[Unsafe javascript](javascript:alert(1)) and [unsafe data](data:text/html,<script>x</script>) and [unsafe vbscript](vbscript:msgbox) and [unsafe file](file:///etc/passwd).\n\n[Relative path](/pricing) and [bare relative](docs/guide) and [protocol relative](//evil.example.com/x) and [fragment](#section).\n\nAutolink <https://example.com/auto> and bare www.example.com/bare in prose.\n\n[Label equals href](https://example.com/self) versus [https://example.com/self](https://example.com/self).\n\n[**Bold label** link](https://example.com/bold-label) and [`code label`](https://example.com/code-label) and [empty href]().\n\n![Safe image](https://example.com/pic.png) and ![unsafe image](javascript:alert(2)) and ![](https://example.com/no-alt.png).\n\nLink with title: [titled](https://example.com/titled \"The title\")."},"output":{"text":"*Links safe and unsafe*\n\nSafe absolute: https://example.com/page and safe http: http://example.com/insecure and mail: mailto:team@example.com?subject=Hi.\n\nUnsafe javascript and unsafe data and unsafe vbscript and unsafe file.\n\nRelative path: /pricing and bare relative: docs/guide and protocol relative: //evil.example.com/x and fragment: #section.\n\nAutolink https://example.com/auto and bare www.example.com/bare: http://www.example.com/bare in prose.\n\nLabel equals href: https://example.com/self versus https://example.com/self.\n\n*Bold label* link: https://example.com/bold-label and `code label`: https://example.com/code-label and empty href: .\n\nSafe image: https://example.com/pic.png and unsafe image and https://example.com/no-alt.png.\n\nLink with title: titled: https://example.com/titled."},"html":{"fnv":"2892865e","len":1254},"changes":[]}
{"id":"doc/links-safety/workflow/auto/google-chat","detected":"Markdown","cleaned":{"text":"# Links safe and unsafe\n\n[Safe absolute](https://example.com/page) and [safe http](http://example.com/insecure) and [mail](mailto:team@example.com?subject=Hi).\n\n[Unsafe javascript](javascript:alert(1)) and [unsafe data](data:text/html,<script>x</script>) and [unsafe vbscript](vbscript:msgbox) and [unsafe file](file:///etc/passwd).\n\n[Relative path](/pricing) and [bare relative](docs/guide) and [protocol relative](//evil.example.com/x) and [fragment](#section).\n\nAutolink <https://example.com/auto> and bare www.example.com/bare in prose.\n\n[Label equals href](https://example.com/self) versus [https://example.com/self](https://example.com/self).\n\n[**Bold label** link](https://example.com/bold-label) and [`code label`](https://example.com/code-label) and [empty href]().\n\n![Safe image](https://example.com/pic.png) and ![unsafe image](javascript:alert(2)) and ![](https://example.com/no-alt.png).\n\nLink with title: [titled](https://example.com/titled \"The title\")."},"output":{"text":"*Links safe and unsafe*\n\nSafe absolute: https://example.com/page and safe http: http://example.com/insecure and mail: mailto:team@example.com?subject=Hi.\n\nUnsafe javascript and unsafe data and unsafe vbscript and unsafe file.\n\nRelative path: /pricing and bare relative: docs/guide and protocol relative: //evil.example.com/x and fragment: #section.\n\nAutolink https://example.com/auto and bare www.example.com/bare: http://www.example.com/bare in prose.\n\nLabel equals href: https://example.com/self versus https://example.com/self.\n\n*Bold label* link: https://example.com/bold-label and `code label`: https://example.com/code-label and empty href: .\n\nSafe image: https://example.com/pic.png and unsafe image and https://example.com/no-alt.png.\n\nLink with title: titled: https://example.com/titled."},"html":{"fnv":"2892865e","len":1254},"changes":[]}
{"id":"doc/links-safety/workflow/auto/discord","detected":"Markdown","cleaned":{"text":"# Links safe and unsafe\n\n[Safe absolute](https://example.com/page) and [safe http](http://example.com/insecure) and [mail](mailto:team@example.com?subject=Hi).\n\n[Unsafe javascript](javascript:alert(1)) and [unsafe data](data:text/html,<script>x</script>) and [unsafe vbscript](vbscript:msgbox) and [unsafe file](file:///etc/passwd).\n\n[Relative path](/pricing) and [bare relative](docs/guide) and [protocol relative](//evil.example.com/x) and [fragment](#section).\n\nAutolink <https://example.com/auto> and bare www.example.com/bare in prose.\n\n[Label equals href](https://example.com/self) versus [https://example.com/self](https://example.com/self).\n\n[**Bold label** link](https://example.com/bold-label) and [`code label`](https://example.com/code-label) and [empty href]().\n\n![Safe image](https://example.com/pic.png) and ![unsafe image](javascript:alert(2)) and ![](https://example.com/no-alt.png).\n\nLink with title: [titled](https://example.com/titled \"The title\")."},"output":{"text":"# Links safe and unsafe\n\n[Safe absolute](https://example.com/page) and [safe http](http://example.com/insecure) and [mail](mailto:team@example.com?subject=Hi).\n\nUnsafe javascript and unsafe data and unsafe vbscript and unsafe file.\n\n[Relative path](/pricing) and [bare relative](docs/guide) and [protocol relative](//evil.example.com/x) and [fragment](#section).\n\nAutolink https://example.com/auto and bare [www.example.com/bare](http://www.example.com/bare) in prose.\n\n[Label equals href](https://example.com/self) versus https://example.com/self.\n\n[**Bold label** link](https://example.com/bold-label) and [`code label`](https://example.com/code-label) and [empty href]().\n\nSafe image: https://example.com/pic.png and unsafe image and https://example.com/no-alt.png.\n\nLink with title: [titled](https://example.com/titled)."},"html":{"fnv":"2892865e","len":1254},"changes":[]}
{"id":"doc/links-safety/workflow/auto/slack","detected":"Markdown","cleaned":{"text":"# Links safe and unsafe\n\n[Safe absolute](https://example.com/page) and [safe http](http://example.com/insecure) and [mail](mailto:team@example.com?subject=Hi).\n\n[Unsafe javascript](javascript:alert(1)) and [unsafe data](data:text/html,<script>x</script>) and [unsafe vbscript](vbscript:msgbox) and [unsafe file](file:///etc/passwd).\n\n[Relative path](/pricing) and [bare relative](docs/guide) and [protocol relative](//evil.example.com/x) and [fragment](#section).\n\nAutolink <https://example.com/auto> and bare www.example.com/bare in prose.\n\n[Label equals href](https://example.com/self) versus [https://example.com/self](https://example.com/self).\n\n[**Bold label** link](https://example.com/bold-label) and [`code label`](https://example.com/code-label) and [empty href]().\n\n![Safe image](https://example.com/pic.png) and ![unsafe image](javascript:alert(2)) and ![](https://example.com/no-alt.png).\n\nLink with title: [titled](https://example.com/titled \"The title\")."},"output":{"text":"*Links safe and unsafe*\n\n<https://example.com/page|Safe absolute> and <http://example.com/insecure|safe http> and <mailto:team@example.com?subject=Hi|mail>.\n\nUnsafe javascript and unsafe data and unsafe vbscript and unsafe file.\n\n</pricing|Relative path> and <docs/guide|bare relative> and <//evil.example.com/x|protocol relative> and <#section|fragment>.\n\nAutolink https://example.com/auto and bare <http://www.example.com/bare|www.example.com/bare> in prose.\n\n<https://example.com/self|Label equals href> versus https://example.com/self.\n\n<https://example.com/bold-label|*Bold label* link> and <https://example.com/code-label|`code label`> and <|empty href>.\n\nSafe image: https://example.com/pic.png and unsafe image and https://example.com/no-alt.png.\n\nLink with title: <https://example.com/titled|titled>."},"html":{"fnv":"2892865e","len":1254},"changes":[]}
{"id":"doc/links-safety/workflow/auto/teams","detected":"Markdown","cleaned":{"text":"# Links safe and unsafe\n\n[Safe absolute](https://example.com/page) and [safe http](http://example.com/insecure) and [mail](mailto:team@example.com?subject=Hi).\n\n[Unsafe javascript](javascript:alert(1)) and [unsafe data](data:text/html,<script>x</script>) and [unsafe vbscript](vbscript:msgbox) and [unsafe file](file:///etc/passwd).\n\n[Relative path](/pricing) and [bare relative](docs/guide) and [protocol relative](//evil.example.com/x) and [fragment](#section).\n\nAutolink <https://example.com/auto> and bare www.example.com/bare in prose.\n\n[Label equals href](https://example.com/self) versus [https://example.com/self](https://example.com/self).\n\n[**Bold label** link](https://example.com/bold-label) and [`code label`](https://example.com/code-label) and [empty href]().\n\n![Safe image](https://example.com/pic.png) and ![unsafe image](javascript:alert(2)) and ![](https://example.com/no-alt.png).\n\nLink with title: [titled](https://example.com/titled \"The title\")."},"output":{"text":"# Links safe and unsafe\n\n[Safe absolute](https://example.com/page) and [safe http](http://example.com/insecure) and [mail](mailto:team@example.com?subject=Hi).\n\nUnsafe javascript and unsafe data and unsafe vbscript and unsafe file.\n\n[Relative path](/pricing) and [bare relative](docs/guide) and [protocol relative](//evil.example.com/x) and [fragment](#section).\n\nAutolink https://example.com/auto and bare [www.example.com/bare](http://www.example.com/bare) in prose.\n\n[Label equals href](https://example.com/self) versus https://example.com/self.\n\n[*Bold label* link](https://example.com/bold-label) and [`code label`](https://example.com/code-label) and [empty href]().\n\nSafe image: https://example.com/pic.png and unsafe image and https://example.com/no-alt.png.\n\nLink with title: [titled](https://example.com/titled)."},"html":{"fnv":"2892865e","len":1254},"changes":[]}
{"id":"doc/links-safety/workflow/auto/zendesk","detected":"Markdown","cleaned":{"text":"# Links safe and unsafe\n\n[Safe absolute](https://example.com/page) and [safe http](http://example.com/insecure) and [mail](mailto:team@example.com?subject=Hi).\n\n[Unsafe javascript](javascript:alert(1)) and [unsafe data](data:text/html,<script>x</script>) and [unsafe vbscript](vbscript:msgbox) and [unsafe file](file:///etc/passwd).\n\n[Relative path](/pricing) and [bare relative](docs/guide) and [protocol relative](//evil.example.com/x) and [fragment](#section).\n\nAutolink <https://example.com/auto> and bare www.example.com/bare in prose.\n\n[Label equals href](https://example.com/self) versus [https://example.com/self](https://example.com/self).\n\n[**Bold label** link](https://example.com/bold-label) and [`code label`](https://example.com/code-label) and [empty href]().\n\n![Safe image](https://example.com/pic.png) and ![unsafe image](javascript:alert(2)) and ![](https://example.com/no-alt.png).\n\nLink with title: [titled](https://example.com/titled \"The title\")."},"output":{"text":"# Links safe and unsafe\n\n[Safe absolute](https://example.com/page) and [safe http](http://example.com/insecure) and [mail](mailto:team@example.com?subject=Hi).\n\nUnsafe javascript and unsafe data and unsafe vbscript and unsafe file.\n\n[Relative path](/pricing) and [bare relative](docs/guide) and [protocol relative](//evil.example.com/x) and [fragment](#section).\n\nAutolink https://example.com/auto and bare [www.example.com/bare](http://www.example.com/bare) in prose.\n\n[Label equals href](https://example.com/self) versus https://example.com/self.\n\n[**Bold label** link](https://example.com/bold-label) and [`code label`](https://example.com/code-label) and [empty href]().\n\nSafe image: https://example.com/pic.png and unsafe image and https://example.com/no-alt.png.\n\nLink with title: [titled](https://example.com/titled)."},"html":{"fnv":"df7dd170","len":1203},"changes":[]}
{"id":"doc/links-safety/workflow/auto/jira","detected":"Markdown","cleaned":{"text":"# Links safe and unsafe\n\n[Safe absolute](https://example.com/page) and [safe http](http://example.com/insecure) and [mail](mailto:team@example.com?subject=Hi).\n\n[Unsafe javascript](javascript:alert(1)) and [unsafe data](data:text/html,<script>x</script>) and [unsafe vbscript](vbscript:msgbox) and [unsafe file](file:///etc/passwd).\n\n[Relative path](/pricing) and [bare relative](docs/guide) and [protocol relative](//evil.example.com/x) and [fragment](#section).\n\nAutolink <https://example.com/auto> and bare www.example.com/bare in prose.\n\n[Label equals href](https://example.com/self) versus [https://example.com/self](https://example.com/self).\n\n[**Bold label** link](https://example.com/bold-label) and [`code label`](https://example.com/code-label) and [empty href]().\n\n![Safe image](https://example.com/pic.png) and ![unsafe image](javascript:alert(2)) and ![](https://example.com/no-alt.png).\n\nLink with title: [titled](https://example.com/titled \"The title\")."},"output":{"text":"# Links safe and unsafe\n\n[Safe absolute](https://example.com/page) and [safe http](http://example.com/insecure) and [mail](mailto:team@example.com?subject=Hi).\n\nUnsafe javascript and unsafe data and unsafe vbscript and unsafe file.\n\n[Relative path](/pricing) and [bare relative](docs/guide) and [protocol relative](//evil.example.com/x) and [fragment](#section).\n\nAutolink https://example.com/auto and bare [www.example.com/bare](http://www.example.com/bare) in prose.\n\n[Label equals href](https://example.com/self) versus https://example.com/self.\n\n[**Bold label** link](https://example.com/bold-label) and [`code label`](https://example.com/code-label) and [empty href]().\n\nSafe image: https://example.com/pic.png and unsafe image and https://example.com/no-alt.png.\n\nLink with title: [titled](https://example.com/titled)."},"html":{"fnv":"df7dd170","len":1203},"changes":[]}
{"id":"doc/links-safety/workflow/auto/plain","detected":"Markdown","cleaned":{"text":"# Links safe and unsafe\n\n[Safe absolute](https://example.com/page) and [safe http](http://example.com/insecure) and [mail](mailto:team@example.com?subject=Hi).\n\n[Unsafe javascript](javascript:alert(1)) and [unsafe data](data:text/html,<script>x</script>) and [unsafe vbscript](vbscript:msgbox) and [unsafe file](file:///etc/passwd).\n\n[Relative path](/pricing) and [bare relative](docs/guide) and [protocol relative](//evil.example.com/x) and [fragment](#section).\n\nAutolink <https://example.com/auto> and bare www.example.com/bare in prose.\n\n[Label equals href](https://example.com/self) versus [https://example.com/self](https://example.com/self).\n\n[**Bold label** link](https://example.com/bold-label) and [`code label`](https://example.com/code-label) and [empty href]().\n\n![Safe image](https://example.com/pic.png) and ![unsafe image](javascript:alert(2)) and ![](https://example.com/no-alt.png).\n\nLink with title: [titled](https://example.com/titled \"The title\")."},"output":{"text":"Links safe and unsafe\n\nSafe absolute (https://example.com/page) and safe http (http://example.com/insecure) and mail (mailto:team@example.com?subject=Hi).\n\nUnsafe javascript and unsafe data and unsafe vbscript and unsafe file.\n\nRelative path (/pricing) and bare relative (docs/guide) and protocol relative (//evil.example.com/x) and fragment (#section).\n\nAutolink https://example.com/auto and bare www.example.com/bare (http://www.example.com/bare) in prose.\n\nLabel equals href (https://example.com/self) versus https://example.com/self.\n\nBold label link (https://example.com/bold-label) and code label (https://example.com/code-label) and empty href ().\n\nSafe image: https://example.com/pic.png and unsafe image and https://example.com/no-alt.png.\n\nLink with title: titled (https://example.com/titled)."},"html":{"fnv":"2892865e","len":1254},"changes":[]}
{"id":"doc/links-safety/workflow/auto/imessage","detected":"Markdown","cleaned":{"text":"# Links safe and unsafe\n\n[Safe absolute](https://example.com/page) and [safe http](http://example.com/insecure) and [mail](mailto:team@example.com?subject=Hi).\n\n[Unsafe javascript](javascript:alert(1)) and [unsafe data](data:text/html,<script>x</script>) and [unsafe vbscript](vbscript:msgbox) and [unsafe file](file:///etc/passwd).\n\n[Relative path](/pricing) and [bare relative](docs/guide) and [protocol relative](//evil.example.com/x) and [fragment](#section).\n\nAutolink <https://example.com/auto> and bare www.example.com/bare in prose.\n\n[Label equals href](https://example.com/self) versus [https://example.com/self](https://example.com/self).\n\n[**Bold label** link](https://example.com/bold-label) and [`code label`](https://example.com/code-label) and [empty href]().\n\n![Safe image](https://example.com/pic.png) and ![unsafe image](javascript:alert(2)) and ![](https://example.com/no-alt.png).\n\nLink with title: [titled](https://example.com/titled \"The title\")."},"output":{"text":"Links safe and unsafe\n\nSafe absolute (https://example.com/page) and safe http (http://example.com/insecure) and mail (mailto:team@example.com?subject=Hi).\n\nUnsafe javascript and unsafe data and unsafe vbscript and unsafe file.\n\nRelative path (/pricing) and bare relative (docs/guide) and protocol relative (//evil.example.com/x) and fragment (#section).\n\nAutolink https://example.com/auto and bare www.example.com/bare (http://www.example.com/bare) in prose.\n\nLabel equals href (https://example.com/self) versus https://example.com/self.\n\nBold label link (https://example.com/bold-label) and code label (https://example.com/code-label) and empty href ().\n\nSafe image: https://example.com/pic.png and unsafe image and https://example.com/no-alt.png.\n\nLink with title: titled (https://example.com/titled)."},"html":{"fnv":"2892865e","len":1254},"changes":[]}
{"id":"doc/links-safety/workflow/auto/signal","detected":"Markdown","cleaned":{"text":"# Links safe and unsafe\n\n[Safe absolute](https://example.com/page) and [safe http](http://example.com/insecure) and [mail](mailto:team@example.com?subject=Hi).\n\n[Unsafe javascript](javascript:alert(1)) and [unsafe data](data:text/html,<script>x</script>) and [unsafe vbscript](vbscript:msgbox) and [unsafe file](file:///etc/passwd).\n\n[Relative path](/pricing) and [bare relative](docs/guide) and [protocol relative](//evil.example.com/x) and [fragment](#section).\n\nAutolink <https://example.com/auto> and bare www.example.com/bare in prose.\n\n[Label equals href](https://example.com/self) versus [https://example.com/self](https://example.com/self).\n\n[**Bold label** link](https://example.com/bold-label) and [`code label`](https://example.com/code-label) and [empty href]().\n\n![Safe image](https://example.com/pic.png) and ![unsafe image](javascript:alert(2)) and ![](https://example.com/no-alt.png).\n\nLink with title: [titled](https://example.com/titled \"The title\")."},"output":{"text":"Links safe and unsafe\n\nSafe absolute (https://example.com/page) and safe http (http://example.com/insecure) and mail (mailto:team@example.com?subject=Hi).\n\nUnsafe javascript and unsafe data and unsafe vbscript and unsafe file.\n\nRelative path (/pricing) and bare relative (docs/guide) and protocol relative (//evil.example.com/x) and fragment (#section).\n\nAutolink https://example.com/auto and bare www.example.com/bare (http://www.example.com/bare) in prose.\n\nLabel equals href (https://example.com/self) versus https://example.com/self.\n\nBold label link (https://example.com/bold-label) and code label (https://example.com/code-label) and empty href ().\n\nSafe image: https://example.com/pic.png and unsafe image and https://example.com/no-alt.png.\n\nLink with title: titled (https://example.com/titled)."},"html":{"fnv":"2892865e","len":1254},"changes":[]}
{"id":"doc/links-safety/workflow/auto/telegram","detected":"Markdown","cleaned":{"text":"# Links safe and unsafe\n\n[Safe absolute](https://example.com/page) and [safe http](http://example.com/insecure) and [mail](mailto:team@example.com?subject=Hi).\n\n[Unsafe javascript](javascript:alert(1)) and [unsafe data](data:text/html,<script>x</script>) and [unsafe vbscript](vbscript:msgbox) and [unsafe file](file:///etc/passwd).\n\n[Relative path](/pricing) and [bare relative](docs/guide) and [protocol relative](//evil.example.com/x) and [fragment](#section).\n\nAutolink <https://example.com/auto> and bare www.example.com/bare in prose.\n\n[Label equals href](https://example.com/self) versus [https://example.com/self](https://example.com/self).\n\n[**Bold label** link](https://example.com/bold-label) and [`code label`](https://example.com/code-label) and [empty href]().\n\n![Safe image](https://example.com/pic.png) and ![unsafe image](javascript:alert(2)) and ![](https://example.com/no-alt.png).\n\nLink with title: [titled](https://example.com/titled \"The title\")."},"output":{"text":"Links safe and unsafe\n\nSafe absolute (https://example.com/page) and safe http (http://example.com/insecure) and mail (mailto:team@example.com?subject=Hi).\n\nUnsafe javascript and unsafe data and unsafe vbscript and unsafe file.\n\nRelative path (/pricing) and bare relative (docs/guide) and protocol relative (//evil.example.com/x) and fragment (#section).\n\nAutolink https://example.com/auto and bare www.example.com/bare (http://www.example.com/bare) in prose.\n\nLabel equals href (https://example.com/self) versus https://example.com/self.\n\nBold label link (https://example.com/bold-label) and code label (https://example.com/code-label) and empty href ().\n\nSafe image: https://example.com/pic.png and unsafe image and https://example.com/no-alt.png.\n\nLink with title: titled (https://example.com/titled)."},"html":{"fnv":"2892865e","len":1254},"changes":[]}
{"id":"doc/links-safety/workflow/auto/gmail","detected":"Markdown","cleaned":{"text":"# Links safe and unsafe\n\n[Safe absolute](https://example.com/page) and [safe http](http://example.com/insecure) and [mail](mailto:team@example.com?subject=Hi).\n\n[Unsafe javascript](javascript:alert(1)) and [unsafe data](data:text/html,<script>x</script>) and [unsafe vbscript](vbscript:msgbox) and [unsafe file](file:///etc/passwd).\n\n[Relative path](/pricing) and [bare relative](docs/guide) and [protocol relative](//evil.example.com/x) and [fragment](#section).\n\nAutolink <https://example.com/auto> and bare www.example.com/bare in prose.\n\n[Label equals href](https://example.com/self) versus [https://example.com/self](https://example.com/self).\n\n[**Bold label** link](https://example.com/bold-label) and [`code label`](https://example.com/code-label) and [empty href]().\n\n![Safe image](https://example.com/pic.png) and ![unsafe image](javascript:alert(2)) and ![](https://example.com/no-alt.png).\n\nLink with title: [titled](https://example.com/titled \"The title\")."},"output":{"text":"Links safe and unsafe\n\nSafe absolute (https://example.com/page) and safe http (http://example.com/insecure) and mail (mailto:team@example.com?subject=Hi).\n\nUnsafe javascript and unsafe data and unsafe vbscript and unsafe file.\n\nRelative path (/pricing) and bare relative (docs/guide) and protocol relative (//evil.example.com/x) and fragment (#section).\n\nAutolink https://example.com/auto and bare www.example.com/bare (http://www.example.com/bare) in prose.\n\nLabel equals href (https://example.com/self) versus https://example.com/self.\n\nBold label link (https://example.com/bold-label) and code label (https://example.com/code-label) and empty href ().\n\nSafe image: https://example.com/pic.png and unsafe image and https://example.com/no-alt.png.\n\nLink with title: titled (https://example.com/titled)."},"html":{"fnv":"2892865e","len":1254},"changes":[]}
{"id":"doc/links-safety/workflow/auto/outlook","detected":"Markdown","cleaned":{"text":"# Links safe and unsafe\n\n[Safe absolute](https://example.com/page) and [safe http](http://example.com/insecure) and [mail](mailto:team@example.com?subject=Hi).\n\n[Unsafe javascript](javascript:alert(1)) and [unsafe data](data:text/html,<script>x</script>) and [unsafe vbscript](vbscript:msgbox) and [unsafe file](file:///etc/passwd).\n\n[Relative path](/pricing) and [bare relative](docs/guide) and [protocol relative](//evil.example.com/x) and [fragment](#section).\n\nAutolink <https://example.com/auto> and bare www.example.com/bare in prose.\n\n[Label equals href](https://example.com/self) versus [https://example.com/self](https://example.com/self).\n\n[**Bold label** link](https://example.com/bold-label) and [`code label`](https://example.com/code-label) and [empty href]().\n\n![Safe image](https://example.com/pic.png) and ![unsafe image](javascript:alert(2)) and ![](https://example.com/no-alt.png).\n\nLink with title: [titled](https://example.com/titled \"The title\")."},"output":{"text":"Links safe and unsafe\n\nSafe absolute (https://example.com/page) and safe http (http://example.com/insecure) and mail (mailto:team@example.com?subject=Hi).\n\nUnsafe javascript and unsafe data and unsafe vbscript and unsafe file.\n\nRelative path (/pricing) and bare relative (docs/guide) and protocol relative (//evil.example.com/x) and fragment (#section).\n\nAutolink https://example.com/auto and bare www.example.com/bare (http://www.example.com/bare) in prose.\n\nLabel equals href (https://example.com/self) versus https://example.com/self.\n\nBold label link (https://example.com/bold-label) and code label (https://example.com/code-label) and empty href ().\n\nSafe image: https://example.com/pic.png and unsafe image and https://example.com/no-alt.png.\n\nLink with title: titled (https://example.com/titled)."},"html":{"fnv":"2892865e","len":1254},"changes":[]}
{"id":"doc/links-safety/workflow/auto/shortwave","detected":"Markdown","cleaned":{"text":"# Links safe and unsafe\n\n[Safe absolute](https://example.com/page) and [safe http](http://example.com/insecure) and [mail](mailto:team@example.com?subject=Hi).\n\n[Unsafe javascript](javascript:alert(1)) and [unsafe data](data:text/html,<script>x</script>) and [unsafe vbscript](vbscript:msgbox) and [unsafe file](file:///etc/passwd).\n\n[Relative path](/pricing) and [bare relative](docs/guide) and [protocol relative](//evil.example.com/x) and [fragment](#section).\n\nAutolink <https://example.com/auto> and bare www.example.com/bare in prose.\n\n[Label equals href](https://example.com/self) versus [https://example.com/self](https://example.com/self).\n\n[**Bold label** link](https://example.com/bold-label) and [`code label`](https://example.com/code-label) and [empty href]().\n\n![Safe image](https://example.com/pic.png) and ![unsafe image](javascript:alert(2)) and ![](https://example.com/no-alt.png).\n\nLink with title: [titled](https://example.com/titled \"The title\")."},"output":{"text":"Links safe and unsafe\n\nSafe absolute (https://example.com/page) and safe http (http://example.com/insecure) and mail (mailto:team@example.com?subject=Hi).\n\nUnsafe javascript and unsafe data and unsafe vbscript and unsafe file.\n\nRelative path (/pricing) and bare relative (docs/guide) and protocol relative (//evil.example.com/x) and fragment (#section).\n\nAutolink https://example.com/auto and bare www.example.com/bare (http://www.example.com/bare) in prose.\n\nLabel equals href (https://example.com/self) versus https://example.com/self.\n\nBold label link (https://example.com/bold-label) and code label (https://example.com/code-label) and empty href ().\n\nSafe image: https://example.com/pic.png and unsafe image and https://example.com/no-alt.png.\n\nLink with title: titled (https://example.com/titled)."},"html":{"fnv":"2892865e","len":1254},"changes":[]}
{"id":"doc/links-safety/workflow/auto/notion","detected":"Markdown","cleaned":{"text":"# Links safe and unsafe\n\n[Safe absolute](https://example.com/page) and [safe http](http://example.com/insecure) and [mail](mailto:team@example.com?subject=Hi).\n\n[Unsafe javascript](javascript:alert(1)) and [unsafe data](data:text/html,<script>x</script>) and [unsafe vbscript](vbscript:msgbox) and [unsafe file](file:///etc/passwd).\n\n[Relative path](/pricing) and [bare relative](docs/guide) and [protocol relative](//evil.example.com/x) and [fragment](#section).\n\nAutolink <https://example.com/auto> and bare www.example.com/bare in prose.\n\n[Label equals href](https://example.com/self) versus [https://example.com/self](https://example.com/self).\n\n[**Bold label** link](https://example.com/bold-label) and [`code label`](https://example.com/code-label) and [empty href]().\n\n![Safe image](https://example.com/pic.png) and ![unsafe image](javascript:alert(2)) and ![](https://example.com/no-alt.png).\n\nLink with title: [titled](https://example.com/titled \"The title\")."},"output":{"text":"Links safe and unsafe\n\nSafe absolute (https://example.com/page) and safe http (http://example.com/insecure) and mail (mailto:team@example.com?subject=Hi).\n\nUnsafe javascript and unsafe data and unsafe vbscript and unsafe file.\n\nRelative path (/pricing) and bare relative (docs/guide) and protocol relative (//evil.example.com/x) and fragment (#section).\n\nAutolink https://example.com/auto and bare www.example.com/bare (http://www.example.com/bare) in prose.\n\nLabel equals href (https://example.com/self) versus https://example.com/self.\n\nBold label link (https://example.com/bold-label) and code label (https://example.com/code-label) and empty href ().\n\nSafe image: https://example.com/pic.png and unsafe image and https://example.com/no-alt.png.\n\nLink with title: titled (https://example.com/titled)."},"html":{"fnv":"2892865e","len":1254},"changes":[]}
{"id":"doc/links-safety/workflow/auto/confluence","detected":"Markdown","cleaned":{"text":"# Links safe and unsafe\n\n[Safe absolute](https://example.com/page) and [safe http](http://example.com/insecure) and [mail](mailto:team@example.com?subject=Hi).\n\n[Unsafe javascript](javascript:alert(1)) and [unsafe data](data:text/html,<script>x</script>) and [unsafe vbscript](vbscript:msgbox) and [unsafe file](file:///etc/passwd).\n\n[Relative path](/pricing) and [bare relative](docs/guide) and [protocol relative](//evil.example.com/x) and [fragment](#section).\n\nAutolink <https://example.com/auto> and bare www.example.com/bare in prose.\n\n[Label equals href](https://example.com/self) versus [https://example.com/self](https://example.com/self).\n\n[**Bold label** link](https://example.com/bold-label) and [`code label`](https://example.com/code-label) and [empty href]().\n\n![Safe image](https://example.com/pic.png) and ![unsafe image](javascript:alert(2)) and ![](https://example.com/no-alt.png).\n\nLink with title: [titled](https://example.com/titled \"The title\")."},"output":{"text":"Links safe and unsafe\n\nSafe absolute (https://example.com/page) and safe http (http://example.com/insecure) and mail (mailto:team@example.com?subject=Hi).\n\nUnsafe javascript and unsafe data and unsafe vbscript and unsafe file.\n\nRelative path (/pricing) and bare relative (docs/guide) and protocol relative (//evil.example.com/x) and fragment (#section).\n\nAutolink https://example.com/auto and bare www.example.com/bare (http://www.example.com/bare) in prose.\n\nLabel equals href (https://example.com/self) versus https://example.com/self.\n\nBold label link (https://example.com/bold-label) and code label (https://example.com/code-label) and empty href ().\n\nSafe image: https://example.com/pic.png and unsafe image and https://example.com/no-alt.png.\n\nLink with title: titled (https://example.com/titled)."},"html":{"fnv":"2892865e","len":1254},"changes":[]}
{"id":"doc/links-safety/workflow/auto/calendar","detected":"Markdown","cleaned":{"text":"# Links safe and unsafe\n\n[Safe absolute](https://example.com/page) and [safe http](http://example.com/insecure) and [mail](mailto:team@example.com?subject=Hi).\n\n[Unsafe javascript](javascript:alert(1)) and [unsafe data](data:text/html,<script>x</script>) and [unsafe vbscript](vbscript:msgbox) and [unsafe file](file:///etc/passwd).\n\n[Relative path](/pricing) and [bare relative](docs/guide) and [protocol relative](//evil.example.com/x) and [fragment](#section).\n\nAutolink <https://example.com/auto> and bare www.example.com/bare in prose.\n\n[Label equals href](https://example.com/self) versus [https://example.com/self](https://example.com/self).\n\n[**Bold label** link](https://example.com/bold-label) and [`code label`](https://example.com/code-label) and [empty href]().\n\n![Safe image](https://example.com/pic.png) and ![unsafe image](javascript:alert(2)) and ![](https://example.com/no-alt.png).\n\nLink with title: [titled](https://example.com/titled \"The title\")."},"output":{"text":"Links safe and unsafe\n\nSafe absolute (https://example.com/page) and safe http (http://example.com/insecure) and mail (mailto:team@example.com?subject=Hi).\n\nUnsafe javascript and unsafe data and unsafe vbscript and unsafe file.\n\nRelative path (/pricing) and bare relative (docs/guide) and protocol relative (//evil.example.com/x) and fragment (#section).\n\nAutolink https://example.com/auto and bare www.example.com/bare (http://www.example.com/bare) in prose.\n\nLabel equals href (https://example.com/self) versus https://example.com/self.\n\nBold label link (https://example.com/bold-label) and code label (https://example.com/code-label) and empty href ().\n\nSafe image: https://example.com/pic.png and unsafe image and https://example.com/no-alt.png.\n\nLink with title: titled (https://example.com/titled)."},"html":{"fnv":"2892865e","len":1254},"changes":[]}
{"id":"doc/links-safety/workflow/auto/word","detected":"Markdown","cleaned":{"text":"# Links safe and unsafe\n\n[Safe absolute](https://example.com/page) and [safe http](http://example.com/insecure) and [mail](mailto:team@example.com?subject=Hi).\n\n[Unsafe javascript](javascript:alert(1)) and [unsafe data](data:text/html,<script>x</script>) and [unsafe vbscript](vbscript:msgbox) and [unsafe file](file:///etc/passwd).\n\n[Relative path](/pricing) and [bare relative](docs/guide) and [protocol relative](//evil.example.com/x) and [fragment](#section).\n\nAutolink <https://example.com/auto> and bare www.example.com/bare in prose.\n\n[Label equals href](https://example.com/self) versus [https://example.com/self](https://example.com/self).\n\n[**Bold label** link](https://example.com/bold-label) and [`code label`](https://example.com/code-label) and [empty href]().\n\n![Safe image](https://example.com/pic.png) and ![unsafe image](javascript:alert(2)) and ![](https://example.com/no-alt.png).\n\nLink with title: [titled](https://example.com/titled \"The title\")."},"output":{"text":"Links safe and unsafe\n\nSafe absolute (https://example.com/page) and safe http (http://example.com/insecure) and mail (mailto:team@example.com?subject=Hi).\n\nUnsafe javascript and unsafe data and unsafe vbscript and unsafe file.\n\nRelative path (/pricing) and bare relative (docs/guide) and protocol relative (//evil.example.com/x) and fragment (#section).\n\nAutolink https://example.com/auto and bare www.example.com/bare (http://www.example.com/bare) in prose.\n\nLabel equals href (https://example.com/self) versus https://example.com/self.\n\nBold label link (https://example.com/bold-label) and code label (https://example.com/code-label) and empty href ().\n\nSafe image: https://example.com/pic.png and unsafe image and https://example.com/no-alt.png.\n\nLink with title: titled (https://example.com/titled)."},"html":{"fnv":"2892865e","len":1254},"changes":[]}
{"id":"doc/links-safety/workflow/auto/google-docs","detected":"Markdown","cleaned":{"text":"# Links safe and unsafe\n\n[Safe absolute](https://example.com/page) and [safe http](http://example.com/insecure) and [mail](mailto:team@example.com?subject=Hi).\n\n[Unsafe javascript](javascript:alert(1)) and [unsafe data](data:text/html,<script>x</script>) and [unsafe vbscript](vbscript:msgbox) and [unsafe file](file:///etc/passwd).\n\n[Relative path](/pricing) and [bare relative](docs/guide) and [protocol relative](//evil.example.com/x) and [fragment](#section).\n\nAutolink <https://example.com/auto> and bare www.example.com/bare in prose.\n\n[Label equals href](https://example.com/self) versus [https://example.com/self](https://example.com/self).\n\n[**Bold label** link](https://example.com/bold-label) and [`code label`](https://example.com/code-label) and [empty href]().\n\n![Safe image](https://example.com/pic.png) and ![unsafe image](javascript:alert(2)) and ![](https://example.com/no-alt.png).\n\nLink with title: [titled](https://example.com/titled \"The title\")."},"output":{"text":"Links safe and unsafe\n\nSafe absolute (https://example.com/page) and safe http (http://example.com/insecure) and mail (mailto:team@example.com?subject=Hi).\n\nUnsafe javascript and unsafe data and unsafe vbscript and unsafe file.\n\nRelative path (/pricing) and bare relative (docs/guide) and protocol relative (//evil.example.com/x) and fragment (#section).\n\nAutolink https://example.com/auto and bare www.example.com/bare (http://www.example.com/bare) in prose.\n\nLabel equals href (https://example.com/self) versus https://example.com/self.\n\nBold label link (https://example.com/bold-label) and code label (https://example.com/code-label) and empty href ().\n\nSafe image: https://example.com/pic.png and unsafe image and https://example.com/no-alt.png.\n\nLink with title: titled (https://example.com/titled)."},"html":{"fnv":"2892865e","len":1254},"changes":[]}
{"id":"doc/links-safety/workflow/auto/markdown","detected":"Markdown","cleaned":{"text":"# Links safe and unsafe\n\n[Safe absolute](https://example.com/page) and [safe http](http://example.com/insecure) and [mail](mailto:team@example.com?subject=Hi).\n\n[Unsafe javascript](javascript:alert(1)) and [unsafe data](data:text/html,<script>x</script>) and [unsafe vbscript](vbscript:msgbox) and [unsafe file](file:///etc/passwd).\n\n[Relative path](/pricing) and [bare relative](docs/guide) and [protocol relative](//evil.example.com/x) and [fragment](#section).\n\nAutolink <https://example.com/auto> and bare www.example.com/bare in prose.\n\n[Label equals href](https://example.com/self) versus [https://example.com/self](https://example.com/self).\n\n[**Bold label** link](https://example.com/bold-label) and [`code label`](https://example.com/code-label) and [empty href]().\n\n![Safe image](https://example.com/pic.png) and ![unsafe image](javascript:alert(2)) and ![](https://example.com/no-alt.png).\n\nLink with title: [titled](https://example.com/titled \"The title\")."},"output":{"text":"# Links safe and unsafe\n\n[Safe absolute](https://example.com/page) and [safe http](http://example.com/insecure) and [mail](mailto:team@example.com?subject=Hi).\n\n[Unsafe javascript](javascript:alert(1)) and [unsafe data](data:text/html,<script>x</script>) and [unsafe vbscript](vbscript:msgbox) and [unsafe file](file:///etc/passwd).\n\n[Relative path](/pricing) and [bare relative](docs/guide) and [protocol relative](//evil.example.com/x) and [fragment](#section).\n\nAutolink <https://example.com/auto> and bare www.example.com/bare in prose.\n\n[Label equals href](https://example.com/self) versus [https://example.com/self](https://example.com/self).\n\n[**Bold label** link](https://example.com/bold-label) and [`code label`](https://example.com/code-label) and [empty href]().\n\n![Safe image](https://example.com/pic.png) and ![unsafe image](javascript:alert(2)) and ![](https://example.com/no-alt.png).\n\nLink with title: [titled](https://example.com/titled \"The title\")."},"html":{"fnv":"2892865e","len":1254},"changes":[]}
{"id":"doc/links-safety/workflow/markdown/whatsapp","detected":"Markdown","fnv":"0fdb696c","len":3145}
{"id":"doc/links-safety/workflow/markdown/google-chat","detected":"Markdown","fnv":"0fdb696c","len":3145}
{"id":"doc/links-safety/workflow/markdown/discord","detected":"Markdown","fnv":"a7eb574a","len":3173}
{"id":"doc/links-safety/workflow/markdown/slack","detected":"Markdown","fnv":"fa815c90","len":3158}
{"id":"doc/links-safety/workflow/markdown/teams","detected":"Markdown","fnv":"b717ba1c","len":3171}
{"id":"doc/links-safety/workflow/markdown/zendesk","detected":"Markdown","fnv":"9a6c886a","len":3112}
{"id":"doc/links-safety/workflow/markdown/jira","detected":"Markdown","fnv":"9a6c886a","len":3112}
{"id":"doc/links-safety/workflow/markdown/plain","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/markdown/imessage","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/markdown/signal","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/markdown/telegram","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/markdown/gmail","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/markdown/outlook","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/markdown/shortwave","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/markdown/notion","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/markdown/confluence","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/markdown/calendar","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/markdown/word","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/markdown/google-docs","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/markdown/markdown","detected":"Markdown","fnv":"e332ce43","len":3319}
{"id":"doc/links-safety/workflow/chatgpt/whatsapp","detected":"Markdown","fnv":"0fdb696c","len":3145}
{"id":"doc/links-safety/workflow/chatgpt/google-chat","detected":"Markdown","fnv":"0fdb696c","len":3145}
{"id":"doc/links-safety/workflow/chatgpt/discord","detected":"Markdown","fnv":"a7eb574a","len":3173}
{"id":"doc/links-safety/workflow/chatgpt/slack","detected":"Markdown","fnv":"fa815c90","len":3158}
{"id":"doc/links-safety/workflow/chatgpt/teams","detected":"Markdown","fnv":"b717ba1c","len":3171}
{"id":"doc/links-safety/workflow/chatgpt/zendesk","detected":"Markdown","fnv":"9a6c886a","len":3112}
{"id":"doc/links-safety/workflow/chatgpt/jira","detected":"Markdown","fnv":"9a6c886a","len":3112}
{"id":"doc/links-safety/workflow/chatgpt/plain","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/chatgpt/imessage","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/chatgpt/signal","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/chatgpt/telegram","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/chatgpt/gmail","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/chatgpt/outlook","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/chatgpt/shortwave","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/chatgpt/notion","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/chatgpt/confluence","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/chatgpt/calendar","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/chatgpt/word","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/chatgpt/google-docs","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/chatgpt/markdown","detected":"Markdown","fnv":"e332ce43","len":3319}
{"id":"doc/links-safety/workflow/claude/whatsapp","detected":"Markdown","fnv":"0fdb696c","len":3145}
{"id":"doc/links-safety/workflow/claude/google-chat","detected":"Markdown","fnv":"0fdb696c","len":3145}
{"id":"doc/links-safety/workflow/claude/discord","detected":"Markdown","fnv":"a7eb574a","len":3173}
{"id":"doc/links-safety/workflow/claude/slack","detected":"Markdown","fnv":"fa815c90","len":3158}
{"id":"doc/links-safety/workflow/claude/teams","detected":"Markdown","fnv":"b717ba1c","len":3171}
{"id":"doc/links-safety/workflow/claude/zendesk","detected":"Markdown","fnv":"9a6c886a","len":3112}
{"id":"doc/links-safety/workflow/claude/jira","detected":"Markdown","fnv":"9a6c886a","len":3112}
{"id":"doc/links-safety/workflow/claude/plain","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/claude/imessage","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/claude/signal","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/claude/telegram","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/claude/gmail","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/claude/outlook","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/claude/shortwave","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/claude/notion","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/claude/confluence","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/claude/calendar","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/claude/word","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/claude/google-docs","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/claude/markdown","detected":"Markdown","fnv":"e332ce43","len":3319}
{"id":"doc/links-safety/workflow/gemini/whatsapp","detected":"Markdown","fnv":"0fdb696c","len":3145}
{"id":"doc/links-safety/workflow/gemini/google-chat","detected":"Markdown","fnv":"0fdb696c","len":3145}
{"id":"doc/links-safety/workflow/gemini/discord","detected":"Markdown","fnv":"a7eb574a","len":3173}
{"id":"doc/links-safety/workflow/gemini/slack","detected":"Markdown","fnv":"fa815c90","len":3158}
{"id":"doc/links-safety/workflow/gemini/teams","detected":"Markdown","fnv":"b717ba1c","len":3171}
{"id":"doc/links-safety/workflow/gemini/zendesk","detected":"Markdown","fnv":"9a6c886a","len":3112}
{"id":"doc/links-safety/workflow/gemini/jira","detected":"Markdown","fnv":"9a6c886a","len":3112}
{"id":"doc/links-safety/workflow/gemini/plain","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/gemini/imessage","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/gemini/signal","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/gemini/telegram","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/gemini/gmail","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/gemini/outlook","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/gemini/shortwave","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/gemini/notion","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/gemini/confluence","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/gemini/calendar","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/gemini/word","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/gemini/google-docs","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/gemini/markdown","detected":"Markdown","fnv":"e332ce43","len":3319}
{"id":"doc/links-safety/workflow/ai-studio/whatsapp","detected":"Markdown","fnv":"0fdb696c","len":3145}
{"id":"doc/links-safety/workflow/ai-studio/google-chat","detected":"Markdown","fnv":"0fdb696c","len":3145}
{"id":"doc/links-safety/workflow/ai-studio/discord","detected":"Markdown","fnv":"a7eb574a","len":3173}
{"id":"doc/links-safety/workflow/ai-studio/slack","detected":"Markdown","fnv":"fa815c90","len":3158}
{"id":"doc/links-safety/workflow/ai-studio/teams","detected":"Markdown","fnv":"b717ba1c","len":3171}
{"id":"doc/links-safety/workflow/ai-studio/zendesk","detected":"Markdown","fnv":"9a6c886a","len":3112}
{"id":"doc/links-safety/workflow/ai-studio/jira","detected":"Markdown","fnv":"9a6c886a","len":3112}
{"id":"doc/links-safety/workflow/ai-studio/plain","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/ai-studio/imessage","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/ai-studio/signal","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/ai-studio/telegram","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/ai-studio/gmail","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/ai-studio/outlook","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/ai-studio/shortwave","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/ai-studio/notion","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/ai-studio/confluence","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/ai-studio/calendar","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/ai-studio/word","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/ai-studio/google-docs","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/ai-studio/markdown","detected":"Markdown","fnv":"e332ce43","len":3319}
{"id":"doc/links-safety/workflow/granola/whatsapp","detected":"Markdown","fnv":"0fdb696c","len":3145}
{"id":"doc/links-safety/workflow/granola/google-chat","detected":"Markdown","fnv":"0fdb696c","len":3145}
{"id":"doc/links-safety/workflow/granola/discord","detected":"Markdown","fnv":"a7eb574a","len":3173}
{"id":"doc/links-safety/workflow/granola/slack","detected":"Markdown","fnv":"fa815c90","len":3158}
{"id":"doc/links-safety/workflow/granola/teams","detected":"Markdown","fnv":"b717ba1c","len":3171}
{"id":"doc/links-safety/workflow/granola/zendesk","detected":"Markdown","fnv":"9a6c886a","len":3112}
{"id":"doc/links-safety/workflow/granola/jira","detected":"Markdown","fnv":"9a6c886a","len":3112}
{"id":"doc/links-safety/workflow/granola/plain","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/granola/imessage","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/granola/signal","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/granola/telegram","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/granola/gmail","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/granola/outlook","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/granola/shortwave","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/granola/notion","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/granola/confluence","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/granola/calendar","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/granola/word","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/granola/google-docs","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/granola/markdown","detected":"Markdown","fnv":"e332ce43","len":3319}
{"id":"doc/links-safety/workflow/google-docs/whatsapp","detected":"Markdown","fnv":"0fdb696c","len":3145}
{"id":"doc/links-safety/workflow/google-docs/google-chat","detected":"Markdown","fnv":"0fdb696c","len":3145}
{"id":"doc/links-safety/workflow/google-docs/discord","detected":"Markdown","fnv":"a7eb574a","len":3173}
{"id":"doc/links-safety/workflow/google-docs/slack","detected":"Markdown","fnv":"fa815c90","len":3158}
{"id":"doc/links-safety/workflow/google-docs/teams","detected":"Markdown","fnv":"b717ba1c","len":3171}
{"id":"doc/links-safety/workflow/google-docs/zendesk","detected":"Markdown","fnv":"9a6c886a","len":3112}
{"id":"doc/links-safety/workflow/google-docs/jira","detected":"Markdown","fnv":"9a6c886a","len":3112}
{"id":"doc/links-safety/workflow/google-docs/plain","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/google-docs/imessage","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/google-docs/signal","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/google-docs/telegram","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/google-docs/gmail","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/google-docs/outlook","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/google-docs/shortwave","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/google-docs/notion","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/google-docs/confluence","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/google-docs/calendar","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/google-docs/word","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/google-docs/google-docs","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/google-docs/markdown","detected":"Markdown","fnv":"e332ce43","len":3319}
{"id":"doc/links-safety/workflow/word/whatsapp","detected":"Markdown","fnv":"0fdb696c","len":3145}
{"id":"doc/links-safety/workflow/word/google-chat","detected":"Markdown","fnv":"0fdb696c","len":3145}
{"id":"doc/links-safety/workflow/word/discord","detected":"Markdown","fnv":"a7eb574a","len":3173}
{"id":"doc/links-safety/workflow/word/slack","detected":"Markdown","fnv":"fa815c90","len":3158}
{"id":"doc/links-safety/workflow/word/teams","detected":"Markdown","fnv":"b717ba1c","len":3171}
{"id":"doc/links-safety/workflow/word/zendesk","detected":"Markdown","fnv":"9a6c886a","len":3112}
{"id":"doc/links-safety/workflow/word/jira","detected":"Markdown","fnv":"9a6c886a","len":3112}
{"id":"doc/links-safety/workflow/word/plain","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/word/imessage","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/word/signal","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/word/telegram","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/word/gmail","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/word/outlook","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/word/shortwave","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/word/notion","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/word/confluence","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/word/calendar","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/word/word","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/word/google-docs","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/word/markdown","detected":"Markdown","fnv":"e332ce43","len":3319}
{"id":"doc/links-safety/workflow/notion/whatsapp","detected":"Markdown","fnv":"0fdb696c","len":3145}
{"id":"doc/links-safety/workflow/notion/google-chat","detected":"Markdown","fnv":"0fdb696c","len":3145}
{"id":"doc/links-safety/workflow/notion/discord","detected":"Markdown","fnv":"a7eb574a","len":3173}
{"id":"doc/links-safety/workflow/notion/slack","detected":"Markdown","fnv":"fa815c90","len":3158}
{"id":"doc/links-safety/workflow/notion/teams","detected":"Markdown","fnv":"b717ba1c","len":3171}
{"id":"doc/links-safety/workflow/notion/zendesk","detected":"Markdown","fnv":"9a6c886a","len":3112}
{"id":"doc/links-safety/workflow/notion/jira","detected":"Markdown","fnv":"9a6c886a","len":3112}
{"id":"doc/links-safety/workflow/notion/plain","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/notion/imessage","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/notion/signal","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/notion/telegram","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/notion/gmail","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/notion/outlook","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/notion/shortwave","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/notion/notion","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/notion/confluence","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/notion/calendar","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/notion/word","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/notion/google-docs","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/notion/markdown","detected":"Markdown","fnv":"e332ce43","len":3319}
{"id":"doc/links-safety/workflow/imessage/whatsapp","detected":"Markdown","fnv":"0fdb696c","len":3145}
{"id":"doc/links-safety/workflow/imessage/google-chat","detected":"Markdown","fnv":"0fdb696c","len":3145}
{"id":"doc/links-safety/workflow/imessage/discord","detected":"Markdown","fnv":"a7eb574a","len":3173}
{"id":"doc/links-safety/workflow/imessage/slack","detected":"Markdown","fnv":"fa815c90","len":3158}
{"id":"doc/links-safety/workflow/imessage/teams","detected":"Markdown","fnv":"b717ba1c","len":3171}
{"id":"doc/links-safety/workflow/imessage/zendesk","detected":"Markdown","fnv":"9a6c886a","len":3112}
{"id":"doc/links-safety/workflow/imessage/jira","detected":"Markdown","fnv":"9a6c886a","len":3112}
{"id":"doc/links-safety/workflow/imessage/plain","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/imessage/imessage","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/imessage/signal","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/imessage/telegram","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/imessage/gmail","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/imessage/outlook","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/imessage/shortwave","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/imessage/notion","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/imessage/confluence","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/imessage/calendar","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/imessage/word","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/imessage/google-docs","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/imessage/markdown","detected":"Markdown","fnv":"e332ce43","len":3319}
{"id":"doc/links-safety/workflow/signal/whatsapp","detected":"Markdown","fnv":"0fdb696c","len":3145}
{"id":"doc/links-safety/workflow/signal/google-chat","detected":"Markdown","fnv":"0fdb696c","len":3145}
{"id":"doc/links-safety/workflow/signal/discord","detected":"Markdown","fnv":"a7eb574a","len":3173}
{"id":"doc/links-safety/workflow/signal/slack","detected":"Markdown","fnv":"fa815c90","len":3158}
{"id":"doc/links-safety/workflow/signal/teams","detected":"Markdown","fnv":"b717ba1c","len":3171}
{"id":"doc/links-safety/workflow/signal/zendesk","detected":"Markdown","fnv":"9a6c886a","len":3112}
{"id":"doc/links-safety/workflow/signal/jira","detected":"Markdown","fnv":"9a6c886a","len":3112}
{"id":"doc/links-safety/workflow/signal/plain","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/signal/imessage","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/signal/signal","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/signal/telegram","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/signal/gmail","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/signal/outlook","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/signal/shortwave","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/signal/notion","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/signal/confluence","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/signal/calendar","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/signal/word","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/signal/google-docs","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/signal/markdown","detected":"Markdown","fnv":"e332ce43","len":3319}
{"id":"doc/links-safety/workflow/telegram/whatsapp","detected":"Markdown","fnv":"0fdb696c","len":3145}
{"id":"doc/links-safety/workflow/telegram/google-chat","detected":"Markdown","fnv":"0fdb696c","len":3145}
{"id":"doc/links-safety/workflow/telegram/discord","detected":"Markdown","fnv":"a7eb574a","len":3173}
{"id":"doc/links-safety/workflow/telegram/slack","detected":"Markdown","fnv":"fa815c90","len":3158}
{"id":"doc/links-safety/workflow/telegram/teams","detected":"Markdown","fnv":"b717ba1c","len":3171}
{"id":"doc/links-safety/workflow/telegram/zendesk","detected":"Markdown","fnv":"9a6c886a","len":3112}
{"id":"doc/links-safety/workflow/telegram/jira","detected":"Markdown","fnv":"9a6c886a","len":3112}
{"id":"doc/links-safety/workflow/telegram/plain","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/telegram/imessage","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/telegram/signal","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/telegram/telegram","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/telegram/gmail","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/telegram/outlook","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/telegram/shortwave","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/telegram/notion","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/telegram/confluence","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/telegram/calendar","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/telegram/word","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/telegram/google-docs","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/telegram/markdown","detected":"Markdown","fnv":"e332ce43","len":3319}
{"id":"doc/links-safety/workflow/google-chat/whatsapp","detected":"Markdown","fnv":"0fdb696c","len":3145}
{"id":"doc/links-safety/workflow/google-chat/google-chat","detected":"Markdown","fnv":"0fdb696c","len":3145}
{"id":"doc/links-safety/workflow/google-chat/discord","detected":"Markdown","fnv":"a7eb574a","len":3173}
{"id":"doc/links-safety/workflow/google-chat/slack","detected":"Markdown","fnv":"fa815c90","len":3158}
{"id":"doc/links-safety/workflow/google-chat/teams","detected":"Markdown","fnv":"b717ba1c","len":3171}
{"id":"doc/links-safety/workflow/google-chat/zendesk","detected":"Markdown","fnv":"9a6c886a","len":3112}
{"id":"doc/links-safety/workflow/google-chat/jira","detected":"Markdown","fnv":"9a6c886a","len":3112}
{"id":"doc/links-safety/workflow/google-chat/plain","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/google-chat/imessage","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/google-chat/signal","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/google-chat/telegram","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/google-chat/gmail","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/google-chat/outlook","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/google-chat/shortwave","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/google-chat/notion","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/google-chat/confluence","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/google-chat/calendar","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/google-chat/word","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/google-chat/google-docs","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/google-chat/markdown","detected":"Markdown","fnv":"e332ce43","len":3319}
{"id":"doc/links-safety/workflow/discord/whatsapp","detected":"Markdown","fnv":"0fdb696c","len":3145}
{"id":"doc/links-safety/workflow/discord/google-chat","detected":"Markdown","fnv":"0fdb696c","len":3145}
{"id":"doc/links-safety/workflow/discord/discord","detected":"Markdown","fnv":"a7eb574a","len":3173}
{"id":"doc/links-safety/workflow/discord/slack","detected":"Markdown","fnv":"fa815c90","len":3158}
{"id":"doc/links-safety/workflow/discord/teams","detected":"Markdown","fnv":"b717ba1c","len":3171}
{"id":"doc/links-safety/workflow/discord/zendesk","detected":"Markdown","fnv":"9a6c886a","len":3112}
{"id":"doc/links-safety/workflow/discord/jira","detected":"Markdown","fnv":"9a6c886a","len":3112}
{"id":"doc/links-safety/workflow/discord/plain","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/discord/imessage","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/discord/signal","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/discord/telegram","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/discord/gmail","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/discord/outlook","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/discord/shortwave","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/discord/notion","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/discord/confluence","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/discord/calendar","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/discord/word","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/discord/google-docs","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/discord/markdown","detected":"Markdown","fnv":"e332ce43","len":3319}
{"id":"doc/links-safety/workflow/calendar/whatsapp","detected":"Markdown","fnv":"0fdb696c","len":3145}
{"id":"doc/links-safety/workflow/calendar/google-chat","detected":"Markdown","fnv":"0fdb696c","len":3145}
{"id":"doc/links-safety/workflow/calendar/discord","detected":"Markdown","fnv":"a7eb574a","len":3173}
{"id":"doc/links-safety/workflow/calendar/slack","detected":"Markdown","fnv":"fa815c90","len":3158}
{"id":"doc/links-safety/workflow/calendar/teams","detected":"Markdown","fnv":"b717ba1c","len":3171}
{"id":"doc/links-safety/workflow/calendar/zendesk","detected":"Markdown","fnv":"9a6c886a","len":3112}
{"id":"doc/links-safety/workflow/calendar/jira","detected":"Markdown","fnv":"9a6c886a","len":3112}
{"id":"doc/links-safety/workflow/calendar/plain","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/calendar/imessage","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/calendar/signal","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/calendar/telegram","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/calendar/gmail","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/calendar/outlook","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/calendar/shortwave","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/calendar/notion","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/calendar/confluence","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/calendar/calendar","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/calendar/word","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/calendar/google-docs","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/calendar/markdown","detected":"Markdown","fnv":"e332ce43","len":3319}
{"id":"doc/links-safety/workflow/teams/whatsapp","detected":"Markdown","fnv":"0fdb696c","len":3145}
{"id":"doc/links-safety/workflow/teams/google-chat","detected":"Markdown","fnv":"0fdb696c","len":3145}
{"id":"doc/links-safety/workflow/teams/discord","detected":"Markdown","fnv":"a7eb574a","len":3173}
{"id":"doc/links-safety/workflow/teams/slack","detected":"Markdown","fnv":"fa815c90","len":3158}
{"id":"doc/links-safety/workflow/teams/teams","detected":"Markdown","fnv":"b717ba1c","len":3171}
{"id":"doc/links-safety/workflow/teams/zendesk","detected":"Markdown","fnv":"9a6c886a","len":3112}
{"id":"doc/links-safety/workflow/teams/jira","detected":"Markdown","fnv":"9a6c886a","len":3112}
{"id":"doc/links-safety/workflow/teams/plain","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/teams/imessage","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/teams/signal","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/teams/telegram","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/teams/gmail","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/teams/outlook","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/teams/shortwave","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/teams/notion","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/teams/confluence","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/teams/calendar","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/teams/word","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/teams/google-docs","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/teams/markdown","detected":"Markdown","fnv":"e332ce43","len":3319}
{"id":"doc/links-safety/workflow/slack/whatsapp","detected":"Markdown","fnv":"0fdb696c","len":3145}
{"id":"doc/links-safety/workflow/slack/google-chat","detected":"Markdown","fnv":"0fdb696c","len":3145}
{"id":"doc/links-safety/workflow/slack/discord","detected":"Markdown","fnv":"a7eb574a","len":3173}
{"id":"doc/links-safety/workflow/slack/slack","detected":"Markdown","fnv":"fa815c90","len":3158}
{"id":"doc/links-safety/workflow/slack/teams","detected":"Markdown","fnv":"b717ba1c","len":3171}
{"id":"doc/links-safety/workflow/slack/zendesk","detected":"Markdown","fnv":"9a6c886a","len":3112}
{"id":"doc/links-safety/workflow/slack/jira","detected":"Markdown","fnv":"9a6c886a","len":3112}
{"id":"doc/links-safety/workflow/slack/plain","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/slack/imessage","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/slack/signal","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/slack/telegram","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/slack/gmail","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/slack/outlook","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/slack/shortwave","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/slack/notion","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/slack/confluence","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/slack/calendar","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/slack/word","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/slack/google-docs","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/slack/markdown","detected":"Markdown","fnv":"e332ce43","len":3319}
{"id":"doc/links-safety/workflow/rich/whatsapp","detected":"Markdown","fnv":"0fdb696c","len":3145}
{"id":"doc/links-safety/workflow/rich/google-chat","detected":"Markdown","fnv":"0fdb696c","len":3145}
{"id":"doc/links-safety/workflow/rich/discord","detected":"Markdown","fnv":"a7eb574a","len":3173}
{"id":"doc/links-safety/workflow/rich/slack","detected":"Markdown","fnv":"fa815c90","len":3158}
{"id":"doc/links-safety/workflow/rich/teams","detected":"Markdown","fnv":"b717ba1c","len":3171}
{"id":"doc/links-safety/workflow/rich/zendesk","detected":"Markdown","fnv":"9a6c886a","len":3112}
{"id":"doc/links-safety/workflow/rich/jira","detected":"Markdown","fnv":"9a6c886a","len":3112}
{"id":"doc/links-safety/workflow/rich/plain","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/rich/imessage","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/rich/signal","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/rich/telegram","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/rich/gmail","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/rich/outlook","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/rich/shortwave","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/rich/notion","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/rich/confluence","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/rich/calendar","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/rich/word","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/rich/google-docs","detected":"Markdown","fnv":"d4020fa1","len":3152}
{"id":"doc/links-safety/workflow/rich/markdown","detected":"Markdown","fnv":"e332ce43","len":3319}
{"id":"doc/links-safety/workflow/plain/whatsapp","detected":"Markdown","fnv":"0cc37478","len":3064}
{"id":"doc/links-safety/workflow/plain/google-chat","detected":"Markdown","fnv":"0cc37478","len":3064}
{"id":"doc/links-safety/workflow/plain/discord","detected":"Markdown","fnv":"0cc37478","len":3064}
{"id":"doc/links-safety/workflow/plain/slack","detected":"Markdown","fnv":"0cc37478","len":3064}
{"id":"doc/links-safety/workflow/plain/teams","detected":"Markdown","fnv":"0cc37478","len":3064}
{"id":"doc/links-safety/workflow/plain/zendesk","detected":"Markdown","fnv":"0cc37478","len":3064}
{"id":"doc/links-safety/workflow/plain/jira","detected":"Markdown","fnv":"0cc37478","len":3064}
{"id":"doc/links-safety/workflow/plain/plain","detected":"Markdown","fnv":"0cc37478","len":3064}
{"id":"doc/links-safety/workflow/plain/imessage","detected":"Markdown","fnv":"0cc37478","len":3064}
{"id":"doc/links-safety/workflow/plain/signal","detected":"Markdown","fnv":"0cc37478","len":3064}
{"id":"doc/links-safety/workflow/plain/telegram","detected":"Markdown","fnv":"0cc37478","len":3064}
{"id":"doc/links-safety/workflow/plain/gmail","detected":"Markdown","fnv":"0cc37478","len":3064}
{"id":"doc/links-safety/workflow/plain/outlook","detected":"Markdown","fnv":"0cc37478","len":3064}
{"id":"doc/links-safety/workflow/plain/shortwave","detected":"Markdown","fnv":"0cc37478","len":3064}
{"id":"doc/links-safety/workflow/plain/notion","detected":"Markdown","fnv":"0cc37478","len":3064}
{"id":"doc/links-safety/workflow/plain/confluence","detected":"Markdown","fnv":"0cc37478","len":3064}
{"id":"doc/links-safety/workflow/plain/calendar","detected":"Markdown","fnv":"0cc37478","len":3064}
{"id":"doc/links-safety/workflow/plain/word","detected":"Markdown","fnv":"0cc37478","len":3064}
{"id":"doc/links-safety/workflow/plain/google-docs","detected":"Markdown","fnv":"0cc37478","len":3064}
{"id":"doc/links-safety/workflow/plain/markdown","detected":"Markdown","fnv":"0cc37478","len":3064}
{"id":"doc/malformed-repair/detect","val":"Markdown"}
{"id":"doc/malformed-repair/words","val":84}
{"id":"doc/malformed-repair/filename/md","val":"pasteful-document.md"}
{"id":"doc/malformed-repair/filename/docx","val":"pasteful-document.docx"}
{"id":"doc/malformed-repair/clean/default","text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\n\nAfter the gap.","changes":[{"key":"markdown","count":9,"label":"Markdown joins"}]}
{"id":"doc/malformed-repair/clean/no-invisible","text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\n\nAfter the gap.","changes":[{"key":"markdown","count":9,"label":"Markdown joins"}]}
{"id":"doc/malformed-repair/clean/no-spacing","text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\n\nAfter the gap.","changes":[{"key":"markdown","count":9,"label":"Markdown joins"}]}
{"id":"doc/malformed-repair/clean/no-punctuation","text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\n\nAfter the gap.","changes":[{"key":"markdown","count":9,"label":"Markdown joins"}]}
{"id":"doc/malformed-repair/clean/no-markdown","text":"*Candidate Background** MBA details follow the broken heading\n\nThe pipeline covers companiesTicket sizes and revenue joins.\n\nRaised $25MTurned around the division in a year.\n\n#Heading without a space after the hashes\n\n##Another squashed heading\n\n**Inline Heading** Immediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboardMetrics splits, while runtimeJavaScriptCore also matches.\n\nToo many blank lines collapse below.\n\n\n\n\nAfter the gap.","changes":[]}
{"id":"doc/malformed-repair/clean/none","text":"*Candidate Background** MBA details follow the broken heading\n\nThe pipeline covers companiesTicket sizes and revenue joins.\n\nRaised $25MTurned around the division in a year.\n\n#Heading without a space after the hashes\n\n##Another squashed heading\n\n**Inline Heading** Immediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboardMetrics splits, while runtimeJavaScriptCore also matches.\n\nToo many blank lines collapse below.\n\n\n\n\nAfter the gap.","changes":[]}
{"id":"doc/malformed-repair/clean/only-invisible","text":"*Candidate Background** MBA details follow the broken heading\n\nThe pipeline covers companiesTicket sizes and revenue joins.\n\nRaised $25MTurned around the division in a year.\n\n#Heading without a space after the hashes\n\n##Another squashed heading\n\n**Inline Heading** Immediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboardMetrics splits, while runtimeJavaScriptCore also matches.\n\nToo many blank lines collapse below.\n\n\n\n\nAfter the gap.","changes":[]}
{"id":"doc/malformed-repair/clean/only-spacing","text":"*Candidate Background** MBA details follow the broken heading\n\nThe pipeline covers companiesTicket sizes and revenue joins.\n\nRaised $25MTurned around the division in a year.\n\n#Heading without a space after the hashes\n\n##Another squashed heading\n\n**Inline Heading** Immediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboardMetrics splits, while runtimeJavaScriptCore also matches.\n\nToo many blank lines collapse below.\n\n\n\n\nAfter the gap.","changes":[]}
{"id":"doc/malformed-repair/clean/only-punctuation","text":"*Candidate Background** MBA details follow the broken heading\n\nThe pipeline covers companiesTicket sizes and revenue joins.\n\nRaised $25MTurned around the division in a year.\n\n#Heading without a space after the hashes\n\n##Another squashed heading\n\n**Inline Heading** Immediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboardMetrics splits, while runtimeJavaScriptCore also matches.\n\nToo many blank lines collapse below.\n\n\n\n\nAfter the gap.","changes":[]}
{"id":"doc/malformed-repair/clean/only-markdown","text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\n\nAfter the gap.","changes":[{"key":"markdown","count":9,"label":"Markdown joins"}]}
{"id":"doc/malformed-repair/convert-raw/plain","output":{"text":"Candidate Background* MBA details follow the broken heading\n\nThe pipeline covers companiesTicket sizes and revenue joins.\n\nRaised $25MTurned around the division in a year.\n\n#Heading without a space after the hashes\n\n##Another squashed heading\n\nInline Heading Immediately followed by capitalised prose on one line.\n\nImportant: do this with ChatGPT and someJoinedIdentifier untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboardMetrics splits, while runtimeJavaScriptCore also matches.\n\nToo many blank lines collapse below.\n\nAfter the gap."},"html":{"text":"<p><em>Candidate Background</em>* MBA details follow the broken heading</p><p>The pipeline covers companiesTicket sizes and revenue joins.</p><p>Raised $25MTurned around the division in a year.</p><p>#Heading without a space after the hashes</p><p>##Another squashed heading</p><p><strong>Inline Heading</strong> Immediately followed by capitalised prose on one line.</p><p><strong>Important:</strong> do this with ChatGPT and <code>someJoinedIdentifier</code> untouched.</p><p>Known product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.</p><p>A custom camel join like dashboardMetrics splits, while runtimeJavaScriptCore also matches.</p><p>Too many blank lines collapse below.</p><p>After the gap.</p>"},"changes":[]}
{"id":"doc/malformed-repair/convert-raw/whatsapp","output":{"text":"_Candidate Background_* MBA details follow the broken heading\n\nThe pipeline covers companiesTicket sizes and revenue joins.\n\nRaised $25MTurned around the division in a year.\n\n#Heading without a space after the hashes\n\n##Another squashed heading\n\n*Inline Heading* Immediately followed by capitalised prose on one line.\n\n*Important:* do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboardMetrics splits, while runtimeJavaScriptCore also matches.\n\nToo many blank lines collapse below.\n\nAfter the gap."},"html":{"text":"<p><em>Candidate Background</em>* MBA details follow the broken heading</p><p>The pipeline covers companiesTicket sizes and revenue joins.</p><p>Raised $25MTurned around the division in a year.</p><p>#Heading without a space after the hashes</p><p>##Another squashed heading</p><p><strong>Inline Heading</strong> Immediately followed by capitalised prose on one line.</p><p><strong>Important:</strong> do this with ChatGPT and <code>someJoinedIdentifier</code> untouched.</p><p>Known product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.</p><p>A custom camel join like dashboardMetrics splits, while runtimeJavaScriptCore also matches.</p><p>Too many blank lines collapse below.</p><p>After the gap.</p>"},"changes":[]}
{"id":"doc/malformed-repair/convert/whatsapp","cleaned":{"text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\n\nAfter the gap."},"output":{"text":"*Candidate Background*\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n*Heading without a space after the hashes*\n\n*Another squashed heading*\n\n*Inline Heading*\n\nImmediately followed by capitalised prose on one line.\n\n*Important:* do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\nAfter the gap."},"html":{"text":"<p><strong>Candidate Background</strong></p><p>MBA details follow the broken heading</p><p>The pipeline covers companies. Ticket sizes and revenue joins.</p><p>Raised $25M. Turned around the division in a year.</p><h1>Heading without a space after the hashes</h1><h2>Another squashed heading</h2><p><strong>Inline Heading</strong></p><p>Immediately followed by capitalised prose on one line.</p><p><strong>Important:</strong> do this with ChatGPT and <code>someJoinedIdentifier</code> untouched.</p><p>Known product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.</p><p>A custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.</p><p>Too many blank lines collapse below.</p><p>After the gap.</p>"},"changes":[{"key":"markdown","count":9,"label":"Markdown joins"}]}
{"id":"doc/malformed-repair/convert/google-chat","cleaned":{"text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\n\nAfter the gap."},"output":{"text":"*Candidate Background*\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n*Heading without a space after the hashes*\n\n*Another squashed heading*\n\n*Inline Heading*\n\nImmediately followed by capitalised prose on one line.\n\n*Important:* do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\nAfter the gap."},"html":{"text":"<p><strong>Candidate Background</strong></p><p>MBA details follow the broken heading</p><p>The pipeline covers companies. Ticket sizes and revenue joins.</p><p>Raised $25M. Turned around the division in a year.</p><h1>Heading without a space after the hashes</h1><h2>Another squashed heading</h2><p><strong>Inline Heading</strong></p><p>Immediately followed by capitalised prose on one line.</p><p><strong>Important:</strong> do this with ChatGPT and <code>someJoinedIdentifier</code> untouched.</p><p>Known product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.</p><p>A custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.</p><p>Too many blank lines collapse below.</p><p>After the gap.</p>"},"changes":[{"key":"markdown","count":9,"label":"Markdown joins"}]}
{"id":"doc/malformed-repair/convert/discord","cleaned":{"text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\n\nAfter the gap."},"output":{"text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\nAfter the gap."},"html":{"text":"<p><strong>Candidate Background</strong></p><p>MBA details follow the broken heading</p><p>The pipeline covers companies. Ticket sizes and revenue joins.</p><p>Raised $25M. Turned around the division in a year.</p><h1>Heading without a space after the hashes</h1><h2>Another squashed heading</h2><p><strong>Inline Heading</strong></p><p>Immediately followed by capitalised prose on one line.</p><p><strong>Important:</strong> do this with ChatGPT and <code>someJoinedIdentifier</code> untouched.</p><p>Known product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.</p><p>A custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.</p><p>Too many blank lines collapse below.</p><p>After the gap.</p>"},"changes":[{"key":"markdown","count":9,"label":"Markdown joins"}]}
{"id":"doc/malformed-repair/convert/slack","cleaned":{"text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\n\nAfter the gap."},"output":{"text":"*Candidate Background*\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n*Heading without a space after the hashes*\n\n*Another squashed heading*\n\n*Inline Heading*\n\nImmediately followed by capitalised prose on one line.\n\n*Important:* do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\nAfter the gap."},"html":{"text":"<p><strong>Candidate Background</strong></p><p>MBA details follow the broken heading</p><p>The pipeline covers companies. Ticket sizes and revenue joins.</p><p>Raised $25M. Turned around the division in a year.</p><h1>Heading without a space after the hashes</h1><h2>Another squashed heading</h2><p><strong>Inline Heading</strong></p><p>Immediately followed by capitalised prose on one line.</p><p><strong>Important:</strong> do this with ChatGPT and <code>someJoinedIdentifier</code> untouched.</p><p>Known product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.</p><p>A custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.</p><p>Too many blank lines collapse below.</p><p>After the gap.</p>"},"changes":[{"key":"markdown","count":9,"label":"Markdown joins"}]}
{"id":"doc/malformed-repair/convert/teams","cleaned":{"text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\n\nAfter the gap."},"output":{"text":"*Candidate Background*\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n*Inline Heading*\n\nImmediately followed by capitalised prose on one line.\n\n*Important:* do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\nAfter the gap."},"html":{"text":"<p><strong>Candidate Background</strong></p><p>MBA details follow the broken heading</p><p>The pipeline covers companies. Ticket sizes and revenue joins.</p><p>Raised $25M. Turned around the division in a year.</p><h1>Heading without a space after the hashes</h1><h2>Another squashed heading</h2><p><strong>Inline Heading</strong></p><p>Immediately followed by capitalised prose on one line.</p><p><strong>Important:</strong> do this with ChatGPT and <code>someJoinedIdentifier</code> untouched.</p><p>Known product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.</p><p>A custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.</p><p>Too many blank lines collapse below.</p><p>After the gap.</p>"},"changes":[{"key":"markdown","count":9,"label":"Markdown joins"}]}
{"id":"doc/malformed-repair/convert/zendesk","cleaned":{"text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\n\nAfter the gap."},"output":{"text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\nAfter the gap."},"html":{"text":"<p><strong>Candidate Background</strong></p><p>MBA details follow the broken heading</p><p>The pipeline covers companies. Ticket sizes and revenue joins.</p><p>Raised $25M. Turned around the division in a year.</p><h1>Heading without a space after the hashes</h1><h2>Another squashed heading</h2><p><strong>Inline Heading</strong></p><p>Immediately followed by capitalised prose on one line.</p><p><strong>Important:</strong> do this with ChatGPT and <code>someJoinedIdentifier</code> untouched.</p><p>Known product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.</p><p>A custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.</p><p>Too many blank lines collapse below.</p><p>After the gap.</p>"},"changes":[{"key":"markdown","count":9,"label":"Markdown joins"}]}
{"id":"doc/malformed-repair/convert/jira","cleaned":{"text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\n\nAfter the gap."},"output":{"text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\nAfter the gap."},"html":{"text":"<p><strong>Candidate Background</strong></p><p>MBA details follow the broken heading</p><p>The pipeline covers companies. Ticket sizes and revenue joins.</p><p>Raised $25M. Turned around the division in a year.</p><h1>Heading without a space after the hashes</h1><h2>Another squashed heading</h2><p><strong>Inline Heading</strong></p><p>Immediately followed by capitalised prose on one line.</p><p><strong>Important:</strong> do this with ChatGPT and <code>someJoinedIdentifier</code> untouched.</p><p>Known product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.</p><p>A custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.</p><p>Too many blank lines collapse below.</p><p>After the gap.</p>"},"changes":[{"key":"markdown","count":9,"label":"Markdown joins"}]}
{"id":"doc/malformed-repair/convert/plain","cleaned":{"text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\n\nAfter the gap."},"output":{"text":"Candidate Background\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\nHeading without a space after the hashes\n\nAnother squashed heading\n\nInline Heading\n\nImmediately followed by capitalised prose on one line.\n\nImportant: do this with ChatGPT and someJoinedIdentifier untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\nAfter the gap."},"html":{"text":"<p><strong>Candidate Background</strong></p><p>MBA details follow the broken heading</p><p>The pipeline covers companies. Ticket sizes and revenue joins.</p><p>Raised $25M. Turned around the division in a year.</p><h1>Heading without a space after the hashes</h1><h2>Another squashed heading</h2><p><strong>Inline Heading</strong></p><p>Immediately followed by capitalised prose on one line.</p><p><strong>Important:</strong> do this with ChatGPT and <code>someJoinedIdentifier</code> untouched.</p><p>Known product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.</p><p>A custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.</p><p>Too many blank lines collapse below.</p><p>After the gap.</p>"},"changes":[{"key":"markdown","count":9,"label":"Markdown joins"}]}
{"id":"doc/malformed-repair/whatsapp-preview","fnv":"95c50b52","len":1747}
{"id":"doc/malformed-repair/diff-cleanup","fnv":"22851caf","len":1787}
{"id":"doc/malformed-repair/workflow/auto/whatsapp","detected":"Markdown","cleaned":{"text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\n\nAfter the gap."},"output":{"text":"*Candidate Background*\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n*Heading without a space after the hashes*\n\n*Another squashed heading*\n\n*Inline Heading*\n\nImmediately followed by capitalised prose on one line.\n\n*Important:* do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\nAfter the gap."},"html":{"text":"<p><strong>Candidate Background</strong></p><p>MBA details follow the broken heading</p><p>The pipeline covers companies. Ticket sizes and revenue joins.</p><p>Raised $25M. Turned around the division in a year.</p><h1>Heading without a space after the hashes</h1><h2>Another squashed heading</h2><p><strong>Inline Heading</strong></p><p>Immediately followed by capitalised prose on one line.</p><p><strong>Important:</strong> do this with ChatGPT and <code>someJoinedIdentifier</code> untouched.</p><p>Known product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.</p><p>A custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.</p><p>Too many blank lines collapse below.</p><p>After the gap.</p>"},"changes":[{"key":"markdown","count":9,"label":"Markdown joins"}]}
{"id":"doc/malformed-repair/workflow/auto/google-chat","detected":"Markdown","cleaned":{"text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\n\nAfter the gap."},"output":{"text":"*Candidate Background*\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n*Heading without a space after the hashes*\n\n*Another squashed heading*\n\n*Inline Heading*\n\nImmediately followed by capitalised prose on one line.\n\n*Important:* do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\nAfter the gap."},"html":{"text":"<p><strong>Candidate Background</strong></p><p>MBA details follow the broken heading</p><p>The pipeline covers companies. Ticket sizes and revenue joins.</p><p>Raised $25M. Turned around the division in a year.</p><h1>Heading without a space after the hashes</h1><h2>Another squashed heading</h2><p><strong>Inline Heading</strong></p><p>Immediately followed by capitalised prose on one line.</p><p><strong>Important:</strong> do this with ChatGPT and <code>someJoinedIdentifier</code> untouched.</p><p>Known product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.</p><p>A custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.</p><p>Too many blank lines collapse below.</p><p>After the gap.</p>"},"changes":[{"key":"markdown","count":9,"label":"Markdown joins"}]}
{"id":"doc/malformed-repair/workflow/auto/discord","detected":"Markdown","cleaned":{"text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\n\nAfter the gap."},"output":{"text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\nAfter the gap."},"html":{"text":"<p><strong>Candidate Background</strong></p><p>MBA details follow the broken heading</p><p>The pipeline covers companies. Ticket sizes and revenue joins.</p><p>Raised $25M. Turned around the division in a year.</p><h1>Heading without a space after the hashes</h1><h2>Another squashed heading</h2><p><strong>Inline Heading</strong></p><p>Immediately followed by capitalised prose on one line.</p><p><strong>Important:</strong> do this with ChatGPT and <code>someJoinedIdentifier</code> untouched.</p><p>Known product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.</p><p>A custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.</p><p>Too many blank lines collapse below.</p><p>After the gap.</p>"},"changes":[{"key":"markdown","count":9,"label":"Markdown joins"}]}
{"id":"doc/malformed-repair/workflow/auto/slack","detected":"Markdown","cleaned":{"text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\n\nAfter the gap."},"output":{"text":"*Candidate Background*\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n*Heading without a space after the hashes*\n\n*Another squashed heading*\n\n*Inline Heading*\n\nImmediately followed by capitalised prose on one line.\n\n*Important:* do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\nAfter the gap."},"html":{"text":"<p><strong>Candidate Background</strong></p><p>MBA details follow the broken heading</p><p>The pipeline covers companies. Ticket sizes and revenue joins.</p><p>Raised $25M. Turned around the division in a year.</p><h1>Heading without a space after the hashes</h1><h2>Another squashed heading</h2><p><strong>Inline Heading</strong></p><p>Immediately followed by capitalised prose on one line.</p><p><strong>Important:</strong> do this with ChatGPT and <code>someJoinedIdentifier</code> untouched.</p><p>Known product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.</p><p>A custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.</p><p>Too many blank lines collapse below.</p><p>After the gap.</p>"},"changes":[{"key":"markdown","count":9,"label":"Markdown joins"}]}
{"id":"doc/malformed-repair/workflow/auto/teams","detected":"Markdown","cleaned":{"text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\n\nAfter the gap."},"output":{"text":"*Candidate Background*\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n*Inline Heading*\n\nImmediately followed by capitalised prose on one line.\n\n*Important:* do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\nAfter the gap."},"html":{"text":"<p><strong>Candidate Background</strong></p><p>MBA details follow the broken heading</p><p>The pipeline covers companies. Ticket sizes and revenue joins.</p><p>Raised $25M. Turned around the division in a year.</p><h1>Heading without a space after the hashes</h1><h2>Another squashed heading</h2><p><strong>Inline Heading</strong></p><p>Immediately followed by capitalised prose on one line.</p><p><strong>Important:</strong> do this with ChatGPT and <code>someJoinedIdentifier</code> untouched.</p><p>Known product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.</p><p>A custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.</p><p>Too many blank lines collapse below.</p><p>After the gap.</p>"},"changes":[{"key":"markdown","count":9,"label":"Markdown joins"}]}
{"id":"doc/malformed-repair/workflow/auto/zendesk","detected":"Markdown","cleaned":{"text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\n\nAfter the gap."},"output":{"text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\nAfter the gap."},"html":{"text":"<p><strong>Candidate Background</strong></p><p>MBA details follow the broken heading</p><p>The pipeline covers companies. Ticket sizes and revenue joins.</p><p>Raised $25M. Turned around the division in a year.</p><h1>Heading without a space after the hashes</h1><h2>Another squashed heading</h2><p><strong>Inline Heading</strong></p><p>Immediately followed by capitalised prose on one line.</p><p><strong>Important:</strong> do this with ChatGPT and <code>someJoinedIdentifier</code> untouched.</p><p>Known product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.</p><p>A custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.</p><p>Too many blank lines collapse below.</p><p>After the gap.</p>"},"changes":[{"key":"markdown","count":9,"label":"Markdown joins"}]}
{"id":"doc/malformed-repair/workflow/auto/jira","detected":"Markdown","cleaned":{"text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\n\nAfter the gap."},"output":{"text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\nAfter the gap."},"html":{"text":"<p><strong>Candidate Background</strong></p><p>MBA details follow the broken heading</p><p>The pipeline covers companies. Ticket sizes and revenue joins.</p><p>Raised $25M. Turned around the division in a year.</p><h1>Heading without a space after the hashes</h1><h2>Another squashed heading</h2><p><strong>Inline Heading</strong></p><p>Immediately followed by capitalised prose on one line.</p><p><strong>Important:</strong> do this with ChatGPT and <code>someJoinedIdentifier</code> untouched.</p><p>Known product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.</p><p>A custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.</p><p>Too many blank lines collapse below.</p><p>After the gap.</p>"},"changes":[{"key":"markdown","count":9,"label":"Markdown joins"}]}
{"id":"doc/malformed-repair/workflow/auto/plain","detected":"Markdown","cleaned":{"text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\n\nAfter the gap."},"output":{"text":"Candidate Background\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\nHeading without a space after the hashes\n\nAnother squashed heading\n\nInline Heading\n\nImmediately followed by capitalised prose on one line.\n\nImportant: do this with ChatGPT and someJoinedIdentifier untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\nAfter the gap."},"html":{"text":"<p><strong>Candidate Background</strong></p><p>MBA details follow the broken heading</p><p>The pipeline covers companies. Ticket sizes and revenue joins.</p><p>Raised $25M. Turned around the division in a year.</p><h1>Heading without a space after the hashes</h1><h2>Another squashed heading</h2><p><strong>Inline Heading</strong></p><p>Immediately followed by capitalised prose on one line.</p><p><strong>Important:</strong> do this with ChatGPT and <code>someJoinedIdentifier</code> untouched.</p><p>Known product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.</p><p>A custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.</p><p>Too many blank lines collapse below.</p><p>After the gap.</p>"},"changes":[{"key":"markdown","count":9,"label":"Markdown joins"}]}
{"id":"doc/malformed-repair/workflow/auto/imessage","detected":"Markdown","cleaned":{"text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\n\nAfter the gap."},"output":{"text":"Candidate Background\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\nHeading without a space after the hashes\n\nAnother squashed heading\n\nInline Heading\n\nImmediately followed by capitalised prose on one line.\n\nImportant: do this with ChatGPT and someJoinedIdentifier untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\nAfter the gap."},"html":{"text":"<p><strong>Candidate Background</strong></p><p>MBA details follow the broken heading</p><p>The pipeline covers companies. Ticket sizes and revenue joins.</p><p>Raised $25M. Turned around the division in a year.</p><h1>Heading without a space after the hashes</h1><h2>Another squashed heading</h2><p><strong>Inline Heading</strong></p><p>Immediately followed by capitalised prose on one line.</p><p><strong>Important:</strong> do this with ChatGPT and <code>someJoinedIdentifier</code> untouched.</p><p>Known product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.</p><p>A custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.</p><p>Too many blank lines collapse below.</p><p>After the gap.</p>"},"changes":[{"key":"markdown","count":9,"label":"Markdown joins"}]}
{"id":"doc/malformed-repair/workflow/auto/signal","detected":"Markdown","cleaned":{"text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\n\nAfter the gap."},"output":{"text":"Candidate Background\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\nHeading without a space after the hashes\n\nAnother squashed heading\n\nInline Heading\n\nImmediately followed by capitalised prose on one line.\n\nImportant: do this with ChatGPT and someJoinedIdentifier untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\nAfter the gap."},"html":{"text":"<p><strong>Candidate Background</strong></p><p>MBA details follow the broken heading</p><p>The pipeline covers companies. Ticket sizes and revenue joins.</p><p>Raised $25M. Turned around the division in a year.</p><h1>Heading without a space after the hashes</h1><h2>Another squashed heading</h2><p><strong>Inline Heading</strong></p><p>Immediately followed by capitalised prose on one line.</p><p><strong>Important:</strong> do this with ChatGPT and <code>someJoinedIdentifier</code> untouched.</p><p>Known product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.</p><p>A custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.</p><p>Too many blank lines collapse below.</p><p>After the gap.</p>"},"changes":[{"key":"markdown","count":9,"label":"Markdown joins"}]}
{"id":"doc/malformed-repair/workflow/auto/telegram","detected":"Markdown","cleaned":{"text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\n\nAfter the gap."},"output":{"text":"Candidate Background\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\nHeading without a space after the hashes\n\nAnother squashed heading\n\nInline Heading\n\nImmediately followed by capitalised prose on one line.\n\nImportant: do this with ChatGPT and someJoinedIdentifier untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\nAfter the gap."},"html":{"text":"<p><strong>Candidate Background</strong></p><p>MBA details follow the broken heading</p><p>The pipeline covers companies. Ticket sizes and revenue joins.</p><p>Raised $25M. Turned around the division in a year.</p><h1>Heading without a space after the hashes</h1><h2>Another squashed heading</h2><p><strong>Inline Heading</strong></p><p>Immediately followed by capitalised prose on one line.</p><p><strong>Important:</strong> do this with ChatGPT and <code>someJoinedIdentifier</code> untouched.</p><p>Known product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.</p><p>A custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.</p><p>Too many blank lines collapse below.</p><p>After the gap.</p>"},"changes":[{"key":"markdown","count":9,"label":"Markdown joins"}]}
{"id":"doc/malformed-repair/workflow/auto/gmail","detected":"Markdown","cleaned":{"text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\n\nAfter the gap."},"output":{"text":"Candidate Background\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\nHeading without a space after the hashes\n\nAnother squashed heading\n\nInline Heading\n\nImmediately followed by capitalised prose on one line.\n\nImportant: do this with ChatGPT and someJoinedIdentifier untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\nAfter the gap."},"html":{"text":"<p><strong>Candidate Background</strong></p><p>MBA details follow the broken heading</p><p>The pipeline covers companies. Ticket sizes and revenue joins.</p><p>Raised $25M. Turned around the division in a year.</p><h1>Heading without a space after the hashes</h1><h2>Another squashed heading</h2><p><strong>Inline Heading</strong></p><p>Immediately followed by capitalised prose on one line.</p><p><strong>Important:</strong> do this with ChatGPT and <code>someJoinedIdentifier</code> untouched.</p><p>Known product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.</p><p>A custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.</p><p>Too many blank lines collapse below.</p><p>After the gap.</p>"},"changes":[{"key":"markdown","count":9,"label":"Markdown joins"}]}
{"id":"doc/malformed-repair/workflow/auto/outlook","detected":"Markdown","cleaned":{"text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\n\nAfter the gap."},"output":{"text":"Candidate Background\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\nHeading without a space after the hashes\n\nAnother squashed heading\n\nInline Heading\n\nImmediately followed by capitalised prose on one line.\n\nImportant: do this with ChatGPT and someJoinedIdentifier untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\nAfter the gap."},"html":{"text":"<p><strong>Candidate Background</strong></p><p>MBA details follow the broken heading</p><p>The pipeline covers companies. Ticket sizes and revenue joins.</p><p>Raised $25M. Turned around the division in a year.</p><h1>Heading without a space after the hashes</h1><h2>Another squashed heading</h2><p><strong>Inline Heading</strong></p><p>Immediately followed by capitalised prose on one line.</p><p><strong>Important:</strong> do this with ChatGPT and <code>someJoinedIdentifier</code> untouched.</p><p>Known product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.</p><p>A custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.</p><p>Too many blank lines collapse below.</p><p>After the gap.</p>"},"changes":[{"key":"markdown","count":9,"label":"Markdown joins"}]}
{"id":"doc/malformed-repair/workflow/auto/shortwave","detected":"Markdown","cleaned":{"text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\n\nAfter the gap."},"output":{"text":"Candidate Background\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\nHeading without a space after the hashes\n\nAnother squashed heading\n\nInline Heading\n\nImmediately followed by capitalised prose on one line.\n\nImportant: do this with ChatGPT and someJoinedIdentifier untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\nAfter the gap."},"html":{"text":"<p><strong>Candidate Background</strong></p><p>MBA details follow the broken heading</p><p>The pipeline covers companies. Ticket sizes and revenue joins.</p><p>Raised $25M. Turned around the division in a year.</p><h1>Heading without a space after the hashes</h1><h2>Another squashed heading</h2><p><strong>Inline Heading</strong></p><p>Immediately followed by capitalised prose on one line.</p><p><strong>Important:</strong> do this with ChatGPT and <code>someJoinedIdentifier</code> untouched.</p><p>Known product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.</p><p>A custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.</p><p>Too many blank lines collapse below.</p><p>After the gap.</p>"},"changes":[{"key":"markdown","count":9,"label":"Markdown joins"}]}
{"id":"doc/malformed-repair/workflow/auto/notion","detected":"Markdown","cleaned":{"text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\n\nAfter the gap."},"output":{"text":"Candidate Background\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\nHeading without a space after the hashes\n\nAnother squashed heading\n\nInline Heading\n\nImmediately followed by capitalised prose on one line.\n\nImportant: do this with ChatGPT and someJoinedIdentifier untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\nAfter the gap."},"html":{"text":"<p><strong>Candidate Background</strong></p><p>MBA details follow the broken heading</p><p>The pipeline covers companies. Ticket sizes and revenue joins.</p><p>Raised $25M. Turned around the division in a year.</p><h1>Heading without a space after the hashes</h1><h2>Another squashed heading</h2><p><strong>Inline Heading</strong></p><p>Immediately followed by capitalised prose on one line.</p><p><strong>Important:</strong> do this with ChatGPT and <code>someJoinedIdentifier</code> untouched.</p><p>Known product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.</p><p>A custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.</p><p>Too many blank lines collapse below.</p><p>After the gap.</p>"},"changes":[{"key":"markdown","count":9,"label":"Markdown joins"}]}
{"id":"doc/malformed-repair/workflow/auto/confluence","detected":"Markdown","cleaned":{"text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\n\nAfter the gap."},"output":{"text":"Candidate Background\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\nHeading without a space after the hashes\n\nAnother squashed heading\n\nInline Heading\n\nImmediately followed by capitalised prose on one line.\n\nImportant: do this with ChatGPT and someJoinedIdentifier untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\nAfter the gap."},"html":{"text":"<p><strong>Candidate Background</strong></p><p>MBA details follow the broken heading</p><p>The pipeline covers companies. Ticket sizes and revenue joins.</p><p>Raised $25M. Turned around the division in a year.</p><h1>Heading without a space after the hashes</h1><h2>Another squashed heading</h2><p><strong>Inline Heading</strong></p><p>Immediately followed by capitalised prose on one line.</p><p><strong>Important:</strong> do this with ChatGPT and <code>someJoinedIdentifier</code> untouched.</p><p>Known product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.</p><p>A custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.</p><p>Too many blank lines collapse below.</p><p>After the gap.</p>"},"changes":[{"key":"markdown","count":9,"label":"Markdown joins"}]}
{"id":"doc/malformed-repair/workflow/auto/calendar","detected":"Markdown","cleaned":{"text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\n\nAfter the gap."},"output":{"text":"Candidate Background\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\nHeading without a space after the hashes\n\nAnother squashed heading\n\nInline Heading\n\nImmediately followed by capitalised prose on one line.\n\nImportant: do this with ChatGPT and someJoinedIdentifier untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\nAfter the gap."},"html":{"text":"<p><strong>Candidate Background</strong></p><p>MBA details follow the broken heading</p><p>The pipeline covers companies. Ticket sizes and revenue joins.</p><p>Raised $25M. Turned around the division in a year.</p><h1>Heading without a space after the hashes</h1><h2>Another squashed heading</h2><p><strong>Inline Heading</strong></p><p>Immediately followed by capitalised prose on one line.</p><p><strong>Important:</strong> do this with ChatGPT and <code>someJoinedIdentifier</code> untouched.</p><p>Known product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.</p><p>A custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.</p><p>Too many blank lines collapse below.</p><p>After the gap.</p>"},"changes":[{"key":"markdown","count":9,"label":"Markdown joins"}]}
{"id":"doc/malformed-repair/workflow/auto/word","detected":"Markdown","cleaned":{"text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\n\nAfter the gap."},"output":{"text":"Candidate Background\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\nHeading without a space after the hashes\n\nAnother squashed heading\n\nInline Heading\n\nImmediately followed by capitalised prose on one line.\n\nImportant: do this with ChatGPT and someJoinedIdentifier untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\nAfter the gap."},"html":{"text":"<p><strong>Candidate Background</strong></p><p>MBA details follow the broken heading</p><p>The pipeline covers companies. Ticket sizes and revenue joins.</p><p>Raised $25M. Turned around the division in a year.</p><h1>Heading without a space after the hashes</h1><h2>Another squashed heading</h2><p><strong>Inline Heading</strong></p><p>Immediately followed by capitalised prose on one line.</p><p><strong>Important:</strong> do this with ChatGPT and <code>someJoinedIdentifier</code> untouched.</p><p>Known product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.</p><p>A custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.</p><p>Too many blank lines collapse below.</p><p>After the gap.</p>"},"changes":[{"key":"markdown","count":9,"label":"Markdown joins"}]}
{"id":"doc/malformed-repair/workflow/auto/google-docs","detected":"Markdown","cleaned":{"text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\n\nAfter the gap."},"output":{"text":"Candidate Background\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\nHeading without a space after the hashes\n\nAnother squashed heading\n\nInline Heading\n\nImmediately followed by capitalised prose on one line.\n\nImportant: do this with ChatGPT and someJoinedIdentifier untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\nAfter the gap."},"html":{"text":"<p><strong>Candidate Background</strong></p><p>MBA details follow the broken heading</p><p>The pipeline covers companies. Ticket sizes and revenue joins.</p><p>Raised $25M. Turned around the division in a year.</p><h1>Heading without a space after the hashes</h1><h2>Another squashed heading</h2><p><strong>Inline Heading</strong></p><p>Immediately followed by capitalised prose on one line.</p><p><strong>Important:</strong> do this with ChatGPT and <code>someJoinedIdentifier</code> untouched.</p><p>Known product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.</p><p>A custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.</p><p>Too many blank lines collapse below.</p><p>After the gap.</p>"},"changes":[{"key":"markdown","count":9,"label":"Markdown joins"}]}
{"id":"doc/malformed-repair/workflow/auto/markdown","detected":"Markdown","cleaned":{"text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\n\nAfter the gap."},"output":{"text":"**Candidate Background**\n\nMBA details follow the broken heading\n\nThe pipeline covers companies. Ticket sizes and revenue joins.\n\nRaised $25M. Turned around the division in a year.\n\n# Heading without a space after the hashes\n\n## Another squashed heading\n\n**Inline Heading**\n\nImmediately followed by capitalised prose on one line.\n\n**Important:** do this with ChatGPT and `someJoinedIdentifier` untouched.\n\nKnown product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.\n\nA custom camel join like dashboard. Metrics splits, while runtimeJavaScript. Core also matches.\n\nToo many blank lines collapse below.\n\n\nAfter the gap."},"html":{"text":"<p><strong>Candidate Background</strong></p><p>MBA details follow the broken heading</p><p>The pipeline covers companies. Ticket sizes and revenue joins.</p><p>Raised $25M. Turned around the division in a year.</p><h1>Heading without a space after the hashes</h1><h2>Another squashed heading</h2><p><strong>Inline Heading</strong></p><p>Immediately followed by capitalised prose on one line.</p><p><strong>Important:</strong> do this with ChatGPT and <code>someJoinedIdentifier</code> untouched.</p><p>Known product names stay whole: WhatsApp LinkedIn GitHub TypeScript PowerPoint macOS iPhone.</p><p>A custom camel join like dashboard. Metrics splits, while runtimeJava. Script. Core also matches.</p><p>Too many blank lines collapse below.</p><p>After the gap.</p>"},"changes":[{"key":"markdown","count":9,"label":"Markdown joins"}]}
{"id":"doc/malformed-repair/workflow/markdown/whatsapp","detected":"Markdown","fnv":"cdb3bdcc","len":2205}
{"id":"doc/malformed-repair/workflow/markdown/google-chat","detected":"Markdown","fnv":"cdb3bdcc","len":2205}
{"id":"doc/malformed-repair/workflow/markdown/discord","detected":"Markdown","fnv":"abff76d9","len":2212}
{"id":"doc/malformed-repair/workflow/markdown/slack","detected":"Markdown","fnv":"cdb3bdcc","len":2205}
{"id":"doc/malformed-repair/workflow/markdown/teams","detected":"Markdown","fnv":"2e58c1a1","len":2206}
{"id":"doc/malformed-repair/workflow/markdown/zendesk","detected":"Markdown","fnv":"abff76d9","len":2212}
{"id":"doc/malformed-repair/workflow/markdown/jira","detected":"Markdown","fnv":"abff76d9","len":2212}
{"id":"doc/malformed-repair/workflow/markdown/plain","detected":"Markdown","fnv":"6944663e","len":2193}
{"id":"doc/malformed-repair/workflow/markdown/imessage","detected":"Markdown","fnv":"6944663e","len":2193}
{"id":"doc/malformed-repair/workflow/markdown/signal","detected":"Markdown","fnv":"6944663e","len":2193}
{"id":"doc/malformed-repair/workflow/markdown/telegram","detected":"Markdown","fnv":"6944663e","len":2193}
{"id":"doc/malformed-repair/workflow/markdown/gmail","detected":"Markdown","fnv":"6944663e","len":2193}
{"id":"doc/malformed-repair/workflow/markdown/outlook","detected":"Markdown","fnv":"6944663e","len":2193}
{"id":"doc/malformed-repair/workflow/markdown/shortwave","detected":"Markdown","fnv":"6944663e","len":2193}
{"id":"doc/malformed-repair/workflow/markdown/notion","detected":"Markdown","fnv":"6944663e","len":2193}
{"id":"doc/malformed-repair/workflow/markdown/confluence","detected":"Markdown","fnv":"6944663e","len":2193}
{"id":"doc/malformed-repair/workflow/markdown/calendar","detected":"Markdown","fnv":"6944663e","len":2193}
{"id":"doc/malformed-repair/workflow/markdown/word","detected":"Markdown","fnv":"6944663e","len":2193}
{"id":"doc/malformed-repair/workflow/markdown/google-docs","detected":"Markdown","fnv":"6944663e","len":2193}
{"id":"doc/malformed-repair/workflow/markdown/markdown","detected":"Markdown","fnv":"ca4d74b5","len":2216}
{"id":"doc/malformed-repair/workflow/plain/whatsapp","detected":"Markdown","fnv":"ba82bf4c","len":2063}
{"id":"doc/malformed-repair/workflow/plain/google-chat","detected":"Markdown","fnv":"ba82bf4c","len":2063}
{"id":"doc/malformed-repair/workflow/plain/discord","detected":"Markdown","fnv":"ba82bf4c","len":2063}
{"id":"doc/malformed-repair/workflow/plain/slack","detected":"Markdown","fnv":"ba82bf4c","len":2063}
{"id":"doc/malformed-repair/workflow/plain/teams","detected":"Markdown","fnv":"ba82bf4c","len":2063}
{"id":"doc/malformed-repair/workflow/plain/zendesk","detected":"Markdown","fnv":"ba82bf4c","len":2063}
{"id":"doc/malformed-repair/workflow/plain/jira","detected":"Markdown","fnv":"ba82bf4c","len":2063}
{"id":"doc/malformed-repair/workflow/plain/plain","detected":"Markdown","fnv":"ba82bf4c","len":2063}
{"id":"doc/malformed-repair/workflow/plain/imessage","detected":"Markdown","fnv":"ba82bf4c","len":2063}
{"id":"doc/malformed-repair/workflow/plain/signal","detected":"Markdown","fnv":"ba82bf4c","len":2063}
{"id":"doc/malformed-repair/workflow/plain/telegram","detected":"Markdown","fnv":"ba82bf4c","len":2063}
{"id":"doc/malformed-repair/workflow/plain/gmail","detected":"Markdown","fnv":"ba82bf4c","len":2063}
{"id":"doc/malformed-repair/workflow/plain/outlook","detected":"Markdown","fnv":"ba82bf4c","len":2063}
{"id":"doc/malformed-repair/workflow/plain/shortwave","detected":"Markdown","fnv":"ba82bf4c","len":2063}
{"id":"doc/malformed-repair/workflow/plain/notion","detected":"Markdown","fnv":"ba82bf4c","len":2063}
{"id":"doc/malformed-repair/workflow/plain/confluence","detected":"Markdown","fnv":"ba82bf4c","len":2063}
{"id":"doc/malformed-repair/workflow/plain/calendar","detected":"Markdown","fnv":"ba82bf4c","len":2063}
{"id":"doc/malformed-repair/workflow/plain/word","detected":"Markdown","fnv":"ba82bf4c","len":2063}
{"id":"doc/malformed-repair/workflow/plain/google-docs","detected":"Markdown","fnv":"ba82bf4c","len":2063}
{"id":"doc/malformed-repair/workflow/plain/markdown","detected":"Markdown","fnv":"ba82bf4c","len":2063}
{"id":"doc/mixed-inline/detect","val":"Markdown"}
{"id":"doc/mixed-inline/words","val":77}
{"id":"doc/mixed-inline/filename/md","val":"mixed-inline-formatting.md"}
{"id":"doc/mixed-inline/filename/docx","val":"mixed-inline-formatting.docx"}
{"id":"doc/mixed-inline/clean/default","text":"# Mixed inline formatting\n\n**Bold**, *italic*, ***bold italic***, ~~strike~~, and **bold with *nested italic* inside**.\n\nEscapes stay literal: \\*not emphasis\\* and \\# not a heading and \\[not a link\\].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish &amp; chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: **kept ~~removed~~ kept**.\n\n`code` beside **bold** beside [link](https://example.com/mix) beside *em*.","changes":[]}
{"id":"doc/mixed-inline/convert/whatsapp","cleaned":{"text":"# Mixed inline formatting\n\n**Bold**, *italic*, ***bold italic***, ~~strike~~, and **bold with *nested italic* inside**.\n\nEscapes stay literal: \\*not emphasis\\* and \\# not a heading and \\[not a link\\].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish &amp; chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: **kept ~~removed~~ kept**.\n\n`code` beside **bold** beside [link](https://example.com/mix) beside *em*."},"output":{"text":"*Mixed inline formatting*\n\n*Bold*, _italic_, _*bold italic*_, ~strike~, and *bold with _nested italic_ inside*.\n\nEscapes stay literal: *not emphasis* and # not a heading and [not a link].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish & chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: *kept ~removed~ kept*.\n\n`code` beside *bold* beside link: https://example.com/mix beside _em_."},"html":{"text":"<h1>Mixed inline formatting</h1><p><strong>Bold</strong>, <em>italic</em>, <em><strong>bold italic</strong></em>, <s>strike</s>, and <strong>bold with <em>nested italic</em> inside</strong>.</p><p>Escapes stay literal: *not emphasis* and # not a heading and [not a link].</p><p>Snake_case_words and mid_word_underscores stay intact.</p><p>A hard break follows this line\nand this line arrives after it.</p><p>Entity in prose: fish &amp; chips. Angle text: 1 &lt; 2 and 3 &gt; 2.</p><p>Strike inside bold: <strong>kept <s>removed</s> kept</strong>.</p><p><code>code</code> beside <strong>bold</strong> beside <a href=\"https://example.com/mix\">link</a> beside <em>em</em>.</p>"},"changes":[]}
{"id":"doc/mixed-inline/convert/google-chat","cleaned":{"text":"# Mixed inline formatting\n\n**Bold**, *italic*, ***bold italic***, ~~strike~~, and **bold with *nested italic* inside**.\n\nEscapes stay literal: \\*not emphasis\\* and \\# not a heading and \\[not a link\\].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish &amp; chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: **kept ~~removed~~ kept**.\n\n`code` beside **bold** beside [link](https://example.com/mix) beside *em*."},"output":{"text":"*Mixed inline formatting*\n\n*Bold*, _italic_, _*bold italic*_, ~strike~, and *bold with _nested italic_ inside*.\n\nEscapes stay literal: *not emphasis* and # not a heading and [not a link].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish & chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: *kept ~removed~ kept*.\n\n`code` beside *bold* beside link: https://example.com/mix beside _em_."},"html":{"text":"<h1>Mixed inline formatting</h1><p><strong>Bold</strong>, <em>italic</em>, <em><strong>bold italic</strong></em>, <s>strike</s>, and <strong>bold with <em>nested italic</em> inside</strong>.</p><p>Escapes stay literal: *not emphasis* and # not a heading and [not a link].</p><p>Snake_case_words and mid_word_underscores stay intact.</p><p>A hard break follows this line\nand this line arrives after it.</p><p>Entity in prose: fish &amp; chips. Angle text: 1 &lt; 2 and 3 &gt; 2.</p><p>Strike inside bold: <strong>kept <s>removed</s> kept</strong>.</p><p><code>code</code> beside <strong>bold</strong> beside <a href=\"https://example.com/mix\">link</a> beside <em>em</em>.</p>"},"changes":[]}
{"id":"doc/mixed-inline/convert/discord","cleaned":{"text":"# Mixed inline formatting\n\n**Bold**, *italic*, ***bold italic***, ~~strike~~, and **bold with *nested italic* inside**.\n\nEscapes stay literal: \\*not emphasis\\* and \\# not a heading and \\[not a link\\].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish &amp; chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: **kept ~~removed~~ kept**.\n\n`code` beside **bold** beside [link](https://example.com/mix) beside *em*."},"output":{"text":"# Mixed inline formatting\n\n**Bold**, *italic*, ***bold italic***, ~~strike~~, and **bold with *nested italic* inside**.\n\nEscapes stay literal: *not emphasis* and # not a heading and [not a link].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish & chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: **kept ~~removed~~ kept**.\n\n`code` beside **bold** beside [link](https://example.com/mix) beside *em*."},"html":{"text":"<h1>Mixed inline formatting</h1><p><strong>Bold</strong>, <em>italic</em>, <em><strong>bold italic</strong></em>, <s>strike</s>, and <strong>bold with <em>nested italic</em> inside</strong>.</p><p>Escapes stay literal: *not emphasis* and # not a heading and [not a link].</p><p>Snake_case_words and mid_word_underscores stay intact.</p><p>A hard break follows this line\nand this line arrives after it.</p><p>Entity in prose: fish &amp; chips. Angle text: 1 &lt; 2 and 3 &gt; 2.</p><p>Strike inside bold: <strong>kept <s>removed</s> kept</strong>.</p><p><code>code</code> beside <strong>bold</strong> beside <a href=\"https://example.com/mix\">link</a> beside <em>em</em>.</p>"},"changes":[]}
{"id":"doc/mixed-inline/convert/slack","cleaned":{"text":"# Mixed inline formatting\n\n**Bold**, *italic*, ***bold italic***, ~~strike~~, and **bold with *nested italic* inside**.\n\nEscapes stay literal: \\*not emphasis\\* and \\# not a heading and \\[not a link\\].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish &amp; chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: **kept ~~removed~~ kept**.\n\n`code` beside **bold** beside [link](https://example.com/mix) beside *em*."},"output":{"text":"*Mixed inline formatting*\n\n*Bold*, _italic_, _*bold italic*_, ~strike~, and *bold with _nested italic_ inside*.\n\nEscapes stay literal: *not emphasis* and # not a heading and [not a link].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish & chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: *kept ~removed~ kept*.\n\n`code` beside *bold* beside <https://example.com/mix|link> beside _em_."},"html":{"text":"<h1>Mixed inline formatting</h1><p><strong>Bold</strong>, <em>italic</em>, <em><strong>bold italic</strong></em>, <s>strike</s>, and <strong>bold with <em>nested italic</em> inside</strong>.</p><p>Escapes stay literal: *not emphasis* and # not a heading and [not a link].</p><p>Snake_case_words and mid_word_underscores stay intact.</p><p>A hard break follows this line\nand this line arrives after it.</p><p>Entity in prose: fish &amp; chips. Angle text: 1 &lt; 2 and 3 &gt; 2.</p><p>Strike inside bold: <strong>kept <s>removed</s> kept</strong>.</p><p><code>code</code> beside <strong>bold</strong> beside <a href=\"https://example.com/mix\">link</a> beside <em>em</em>.</p>"},"changes":[]}
{"id":"doc/mixed-inline/convert/teams","cleaned":{"text":"# Mixed inline formatting\n\n**Bold**, *italic*, ***bold italic***, ~~strike~~, and **bold with *nested italic* inside**.\n\nEscapes stay literal: \\*not emphasis\\* and \\# not a heading and \\[not a link\\].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish &amp; chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: **kept ~~removed~~ kept**.\n\n`code` beside **bold** beside [link](https://example.com/mix) beside *em*."},"output":{"text":"# Mixed inline formatting\n\n*Bold*, _italic_, _*bold italic*_, ~strike~, and *bold with _nested italic_ inside*.\n\nEscapes stay literal: *not emphasis* and # not a heading and [not a link].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish & chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: *kept ~removed~ kept*.\n\n`code` beside *bold* beside [link](https://example.com/mix) beside _em_."},"html":{"text":"<h1>Mixed inline formatting</h1><p><strong>Bold</strong>, <em>italic</em>, <em><strong>bold italic</strong></em>, <s>strike</s>, and <strong>bold with <em>nested italic</em> inside</strong>.</p><p>Escapes stay literal: *not emphasis* and # not a heading and [not a link].</p><p>Snake_case_words and mid_word_underscores stay intact.</p><p>A hard break follows this line\nand this line arrives after it.</p><p>Entity in prose: fish &amp; chips. Angle text: 1 &lt; 2 and 3 &gt; 2.</p><p>Strike inside bold: <strong>kept <s>removed</s> kept</strong>.</p><p><code>code</code> beside <strong>bold</strong> beside <a href=\"https://example.com/mix\">link</a> beside <em>em</em>.</p>"},"changes":[]}
{"id":"doc/mixed-inline/convert/zendesk","cleaned":{"text":"# Mixed inline formatting\n\n**Bold**, *italic*, ***bold italic***, ~~strike~~, and **bold with *nested italic* inside**.\n\nEscapes stay literal: \\*not emphasis\\* and \\# not a heading and \\[not a link\\].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish &amp; chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: **kept ~~removed~~ kept**.\n\n`code` beside **bold** beside [link](https://example.com/mix) beside *em*."},"output":{"text":"# Mixed inline formatting\n\n**Bold**, *italic*, ***bold italic***, ~~strike~~, and **bold with *nested italic* inside**.\n\nEscapes stay literal: *not emphasis* and # not a heading and [not a link].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish & chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: **kept ~~removed~~ kept**.\n\n`code` beside **bold** beside [link](https://example.com/mix) beside *em*."},"html":{"text":"<h1>Mixed inline formatting</h1><p><strong>Bold</strong>, <em>italic</em>, <em><strong>bold italic</strong></em>, <s>strike</s>, and <strong>bold with <em>nested italic</em> inside</strong>.</p><p>Escapes stay literal: *not emphasis* and # not a heading and [not a link].</p><p>Snake_case_words and mid_word_underscores stay intact.</p><p>A hard break follows this line\nand this line arrives after it.</p><p>Entity in prose: fish &amp; chips. Angle text: 1 &lt; 2 and 3 &gt; 2.</p><p>Strike inside bold: <strong>kept <s>removed</s> kept</strong>.</p><p><code>code</code> beside <strong>bold</strong> beside <a href=\"https://example.com/mix\">link</a> beside <em>em</em>.</p>"},"changes":[]}
{"id":"doc/mixed-inline/convert/jira","cleaned":{"text":"# Mixed inline formatting\n\n**Bold**, *italic*, ***bold italic***, ~~strike~~, and **bold with *nested italic* inside**.\n\nEscapes stay literal: \\*not emphasis\\* and \\# not a heading and \\[not a link\\].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish &amp; chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: **kept ~~removed~~ kept**.\n\n`code` beside **bold** beside [link](https://example.com/mix) beside *em*."},"output":{"text":"# Mixed inline formatting\n\n**Bold**, *italic*, ***bold italic***, ~~strike~~, and **bold with *nested italic* inside**.\n\nEscapes stay literal: *not emphasis* and # not a heading and [not a link].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish & chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: **kept ~~removed~~ kept**.\n\n`code` beside **bold** beside [link](https://example.com/mix) beside *em*."},"html":{"text":"<h1>Mixed inline formatting</h1><p><strong>Bold</strong>, <em>italic</em>, <em><strong>bold italic</strong></em>, <s>strike</s>, and <strong>bold with <em>nested italic</em> inside</strong>.</p><p>Escapes stay literal: *not emphasis* and # not a heading and [not a link].</p><p>Snake_case_words and mid_word_underscores stay intact.</p><p>A hard break follows this line\nand this line arrives after it.</p><p>Entity in prose: fish &amp; chips. Angle text: 1 &lt; 2 and 3 &gt; 2.</p><p>Strike inside bold: <strong>kept <s>removed</s> kept</strong>.</p><p><code>code</code> beside <strong>bold</strong> beside <a href=\"https://example.com/mix\">link</a> beside <em>em</em>.</p>"},"changes":[]}
{"id":"doc/mixed-inline/convert/plain","cleaned":{"text":"# Mixed inline formatting\n\n**Bold**, *italic*, ***bold italic***, ~~strike~~, and **bold with *nested italic* inside**.\n\nEscapes stay literal: \\*not emphasis\\* and \\# not a heading and \\[not a link\\].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish &amp; chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: **kept ~~removed~~ kept**.\n\n`code` beside **bold** beside [link](https://example.com/mix) beside *em*."},"output":{"text":"Mixed inline formatting\n\nBold, italic, bold italic, strike, and bold with nested italic inside.\n\nEscapes stay literal: *not emphasis* and # not a heading and [not a link].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish & chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: kept removed kept.\n\ncode beside bold beside link (https://example.com/mix) beside em."},"html":{"text":"<h1>Mixed inline formatting</h1><p><strong>Bold</strong>, <em>italic</em>, <em><strong>bold italic</strong></em>, <s>strike</s>, and <strong>bold with <em>nested italic</em> inside</strong>.</p><p>Escapes stay literal: *not emphasis* and # not a heading and [not a link].</p><p>Snake_case_words and mid_word_underscores stay intact.</p><p>A hard break follows this line\nand this line arrives after it.</p><p>Entity in prose: fish &amp; chips. Angle text: 1 &lt; 2 and 3 &gt; 2.</p><p>Strike inside bold: <strong>kept <s>removed</s> kept</strong>.</p><p><code>code</code> beside <strong>bold</strong> beside <a href=\"https://example.com/mix\">link</a> beside <em>em</em>.</p>"},"changes":[]}
{"id":"doc/mixed-inline/whatsapp-preview","fnv":"023668d9","len":1853}
{"id":"doc/mixed-inline/diff-cleanup","val":[{"type":"same","value":"# Mixed inline formatting\n\n**Bold**, *italic*, ***bold italic***, ~~strike~~, and **bold with *nested italic* inside**.\n\nEscapes stay literal: \\*not emphasis\\* and \\# not a heading and \\[not a link\\].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line"},{"type":"removed","value":"  \n"},{"type":"added","value":"\n"},{"type":"same","value":"and this line arrives after it.\n\nEntity in prose: fish &amp; chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: **kept ~~removed~~ kept**.\n\n`code` beside **bold** beside [link](https://example.com/mix) beside *em*."},{"type":"removed","value":"\n"}]}
{"id":"doc/mixed-inline/workflow/auto/whatsapp","detected":"Markdown","cleaned":{"text":"# Mixed inline formatting\n\n**Bold**, *italic*, ***bold italic***, ~~strike~~, and **bold with *nested italic* inside**.\n\nEscapes stay literal: \\*not emphasis\\* and \\# not a heading and \\[not a link\\].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish &amp; chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: **kept ~~removed~~ kept**.\n\n`code` beside **bold** beside [link](https://example.com/mix) beside *em*."},"output":{"text":"*Mixed inline formatting*\n\n*Bold*, _italic_, _*bold italic*_, ~strike~, and *bold with _nested italic_ inside*.\n\nEscapes stay literal: *not emphasis* and # not a heading and [not a link].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish & chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: *kept ~removed~ kept*.\n\n`code` beside *bold* beside link: https://example.com/mix beside _em_."},"html":{"text":"<h1>Mixed inline formatting</h1><p><strong>Bold</strong>, <em>italic</em>, <em><strong>bold italic</strong></em>, <s>strike</s>, and <strong>bold with <em>nested italic</em> inside</strong>.</p><p>Escapes stay literal: *not emphasis* and # not a heading and [not a link].</p><p>Snake_case_words and mid_word_underscores stay intact.</p><p>A hard break follows this line\nand this line arrives after it.</p><p>Entity in prose: fish &amp; chips. Angle text: 1 &lt; 2 and 3 &gt; 2.</p><p>Strike inside bold: <strong>kept <s>removed</s> kept</strong>.</p><p><code>code</code> beside <strong>bold</strong> beside <a href=\"https://example.com/mix\">link</a> beside <em>em</em>.</p>"},"changes":[]}
{"id":"doc/mixed-inline/workflow/auto/google-chat","detected":"Markdown","cleaned":{"text":"# Mixed inline formatting\n\n**Bold**, *italic*, ***bold italic***, ~~strike~~, and **bold with *nested italic* inside**.\n\nEscapes stay literal: \\*not emphasis\\* and \\# not a heading and \\[not a link\\].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish &amp; chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: **kept ~~removed~~ kept**.\n\n`code` beside **bold** beside [link](https://example.com/mix) beside *em*."},"output":{"text":"*Mixed inline formatting*\n\n*Bold*, _italic_, _*bold italic*_, ~strike~, and *bold with _nested italic_ inside*.\n\nEscapes stay literal: *not emphasis* and # not a heading and [not a link].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish & chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: *kept ~removed~ kept*.\n\n`code` beside *bold* beside link: https://example.com/mix beside _em_."},"html":{"text":"<h1>Mixed inline formatting</h1><p><strong>Bold</strong>, <em>italic</em>, <em><strong>bold italic</strong></em>, <s>strike</s>, and <strong>bold with <em>nested italic</em> inside</strong>.</p><p>Escapes stay literal: *not emphasis* and # not a heading and [not a link].</p><p>Snake_case_words and mid_word_underscores stay intact.</p><p>A hard break follows this line\nand this line arrives after it.</p><p>Entity in prose: fish &amp; chips. Angle text: 1 &lt; 2 and 3 &gt; 2.</p><p>Strike inside bold: <strong>kept <s>removed</s> kept</strong>.</p><p><code>code</code> beside <strong>bold</strong> beside <a href=\"https://example.com/mix\">link</a> beside <em>em</em>.</p>"},"changes":[]}
{"id":"doc/mixed-inline/workflow/auto/discord","detected":"Markdown","cleaned":{"text":"# Mixed inline formatting\n\n**Bold**, *italic*, ***bold italic***, ~~strike~~, and **bold with *nested italic* inside**.\n\nEscapes stay literal: \\*not emphasis\\* and \\# not a heading and \\[not a link\\].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish &amp; chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: **kept ~~removed~~ kept**.\n\n`code` beside **bold** beside [link](https://example.com/mix) beside *em*."},"output":{"text":"# Mixed inline formatting\n\n**Bold**, *italic*, ***bold italic***, ~~strike~~, and **bold with *nested italic* inside**.\n\nEscapes stay literal: *not emphasis* and # not a heading and [not a link].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish & chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: **kept ~~removed~~ kept**.\n\n`code` beside **bold** beside [link](https://example.com/mix) beside *em*."},"html":{"text":"<h1>Mixed inline formatting</h1><p><strong>Bold</strong>, <em>italic</em>, <em><strong>bold italic</strong></em>, <s>strike</s>, and <strong>bold with <em>nested italic</em> inside</strong>.</p><p>Escapes stay literal: *not emphasis* and # not a heading and [not a link].</p><p>Snake_case_words and mid_word_underscores stay intact.</p><p>A hard break follows this line\nand this line arrives after it.</p><p>Entity in prose: fish &amp; chips. Angle text: 1 &lt; 2 and 3 &gt; 2.</p><p>Strike inside bold: <strong>kept <s>removed</s> kept</strong>.</p><p><code>code</code> beside <strong>bold</strong> beside <a href=\"https://example.com/mix\">link</a> beside <em>em</em>.</p>"},"changes":[]}
{"id":"doc/mixed-inline/workflow/auto/slack","detected":"Markdown","cleaned":{"text":"# Mixed inline formatting\n\n**Bold**, *italic*, ***bold italic***, ~~strike~~, and **bold with *nested italic* inside**.\n\nEscapes stay literal: \\*not emphasis\\* and \\# not a heading and \\[not a link\\].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish &amp; chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: **kept ~~removed~~ kept**.\n\n`code` beside **bold** beside [link](https://example.com/mix) beside *em*."},"output":{"text":"*Mixed inline formatting*\n\n*Bold*, _italic_, _*bold italic*_, ~strike~, and *bold with _nested italic_ inside*.\n\nEscapes stay literal: *not emphasis* and # not a heading and [not a link].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish & chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: *kept ~removed~ kept*.\n\n`code` beside *bold* beside <https://example.com/mix|link> beside _em_."},"html":{"text":"<h1>Mixed inline formatting</h1><p><strong>Bold</strong>, <em>italic</em>, <em><strong>bold italic</strong></em>, <s>strike</s>, and <strong>bold with <em>nested italic</em> inside</strong>.</p><p>Escapes stay literal: *not emphasis* and # not a heading and [not a link].</p><p>Snake_case_words and mid_word_underscores stay intact.</p><p>A hard break follows this line\nand this line arrives after it.</p><p>Entity in prose: fish &amp; chips. Angle text: 1 &lt; 2 and 3 &gt; 2.</p><p>Strike inside bold: <strong>kept <s>removed</s> kept</strong>.</p><p><code>code</code> beside <strong>bold</strong> beside <a href=\"https://example.com/mix\">link</a> beside <em>em</em>.</p>"},"changes":[]}
{"id":"doc/mixed-inline/workflow/auto/teams","detected":"Markdown","cleaned":{"text":"# Mixed inline formatting\n\n**Bold**, *italic*, ***bold italic***, ~~strike~~, and **bold with *nested italic* inside**.\n\nEscapes stay literal: \\*not emphasis\\* and \\# not a heading and \\[not a link\\].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish &amp; chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: **kept ~~removed~~ kept**.\n\n`code` beside **bold** beside [link](https://example.com/mix) beside *em*."},"output":{"text":"# Mixed inline formatting\n\n*Bold*, _italic_, _*bold italic*_, ~strike~, and *bold with _nested italic_ inside*.\n\nEscapes stay literal: *not emphasis* and # not a heading and [not a link].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish & chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: *kept ~removed~ kept*.\n\n`code` beside *bold* beside [link](https://example.com/mix) beside _em_."},"html":{"text":"<h1>Mixed inline formatting</h1><p><strong>Bold</strong>, <em>italic</em>, <em><strong>bold italic</strong></em>, <s>strike</s>, and <strong>bold with <em>nested italic</em> inside</strong>.</p><p>Escapes stay literal: *not emphasis* and # not a heading and [not a link].</p><p>Snake_case_words and mid_word_underscores stay intact.</p><p>A hard break follows this line\nand this line arrives after it.</p><p>Entity in prose: fish &amp; chips. Angle text: 1 &lt; 2 and 3 &gt; 2.</p><p>Strike inside bold: <strong>kept <s>removed</s> kept</strong>.</p><p><code>code</code> beside <strong>bold</strong> beside <a href=\"https://example.com/mix\">link</a> beside <em>em</em>.</p>"},"changes":[]}
{"id":"doc/mixed-inline/workflow/auto/zendesk","detected":"Markdown","cleaned":{"text":"# Mixed inline formatting\n\n**Bold**, *italic*, ***bold italic***, ~~strike~~, and **bold with *nested italic* inside**.\n\nEscapes stay literal: \\*not emphasis\\* and \\# not a heading and \\[not a link\\].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish &amp; chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: **kept ~~removed~~ kept**.\n\n`code` beside **bold** beside [link](https://example.com/mix) beside *em*."},"output":{"text":"# Mixed inline formatting\n\n**Bold**, *italic*, ***bold italic***, ~~strike~~, and **bold with *nested italic* inside**.\n\nEscapes stay literal: *not emphasis* and # not a heading and [not a link].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish & chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: **kept ~~removed~~ kept**.\n\n`code` beside **bold** beside [link](https://example.com/mix) beside *em*."},"html":{"text":"<h1>Mixed inline formatting</h1><p><strong>Bold</strong>, <em>italic</em>, <em><strong>bold italic</strong></em>, <s>strike</s>, and <strong>bold with <em>nested italic</em> inside</strong>.</p><p>Escapes stay literal: <em>not emphasis</em> and # not a heading and [not a link].</p><p>Snake_case_words and mid_word_underscores stay intact.</p><p>A hard break follows this line\nand this line arrives after it.</p><p>Entity in prose: fish &amp; chips. Angle text: 1 &lt; 2 and 3 &gt; 2.</p><p>Strike inside bold: <strong>kept <s>removed</s> kept</strong>.</p><p><code>code</code> beside <strong>bold</strong> beside <a href=\"https://example.com/mix\">link</a> beside <em>em</em>.</p>"},"changes":[]}
{"id":"doc/mixed-inline/workflow/auto/jira","detected":"Markdown","cleaned":{"text":"# Mixed inline formatting\n\n**Bold**, *italic*, ***bold italic***, ~~strike~~, and **bold with *nested italic* inside**.\n\nEscapes stay literal: \\*not emphasis\\* and \\# not a heading and \\[not a link\\].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish &amp; chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: **kept ~~removed~~ kept**.\n\n`code` beside **bold** beside [link](https://example.com/mix) beside *em*."},"output":{"text":"# Mixed inline formatting\n\n**Bold**, *italic*, ***bold italic***, ~~strike~~, and **bold with *nested italic* inside**.\n\nEscapes stay literal: *not emphasis* and # not a heading and [not a link].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish & chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: **kept ~~removed~~ kept**.\n\n`code` beside **bold** beside [link](https://example.com/mix) beside *em*."},"html":{"text":"<h1>Mixed inline formatting</h1><p><strong>Bold</strong>, <em>italic</em>, <em><strong>bold italic</strong></em>, <s>strike</s>, and <strong>bold with <em>nested italic</em> inside</strong>.</p><p>Escapes stay literal: <em>not emphasis</em> and # not a heading and [not a link].</p><p>Snake_case_words and mid_word_underscores stay intact.</p><p>A hard break follows this line\nand this line arrives after it.</p><p>Entity in prose: fish &amp; chips. Angle text: 1 &lt; 2 and 3 &gt; 2.</p><p>Strike inside bold: <strong>kept <s>removed</s> kept</strong>.</p><p><code>code</code> beside <strong>bold</strong> beside <a href=\"https://example.com/mix\">link</a> beside <em>em</em>.</p>"},"changes":[]}
{"id":"doc/mixed-inline/workflow/auto/plain","detected":"Markdown","cleaned":{"text":"# Mixed inline formatting\n\n**Bold**, *italic*, ***bold italic***, ~~strike~~, and **bold with *nested italic* inside**.\n\nEscapes stay literal: \\*not emphasis\\* and \\# not a heading and \\[not a link\\].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish &amp; chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: **kept ~~removed~~ kept**.\n\n`code` beside **bold** beside [link](https://example.com/mix) beside *em*."},"output":{"text":"Mixed inline formatting\n\nBold, italic, bold italic, strike, and bold with nested italic inside.\n\nEscapes stay literal: *not emphasis* and # not a heading and [not a link].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish & chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: kept removed kept.\n\ncode beside bold beside link (https://example.com/mix) beside em."},"html":{"text":"<h1>Mixed inline formatting</h1><p><strong>Bold</strong>, <em>italic</em>, <em><strong>bold italic</strong></em>, <s>strike</s>, and <strong>bold with <em>nested italic</em> inside</strong>.</p><p>Escapes stay literal: *not emphasis* and # not a heading and [not a link].</p><p>Snake_case_words and mid_word_underscores stay intact.</p><p>A hard break follows this line\nand this line arrives after it.</p><p>Entity in prose: fish &amp; chips. Angle text: 1 &lt; 2 and 3 &gt; 2.</p><p>Strike inside bold: <strong>kept <s>removed</s> kept</strong>.</p><p><code>code</code> beside <strong>bold</strong> beside <a href=\"https://example.com/mix\">link</a> beside <em>em</em>.</p>"},"changes":[]}
{"id":"doc/mixed-inline/workflow/auto/imessage","detected":"Markdown","cleaned":{"text":"# Mixed inline formatting\n\n**Bold**, *italic*, ***bold italic***, ~~strike~~, and **bold with *nested italic* inside**.\n\nEscapes stay literal: \\*not emphasis\\* and \\# not a heading and \\[not a link\\].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish &amp; chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: **kept ~~removed~~ kept**.\n\n`code` beside **bold** beside [link](https://example.com/mix) beside *em*."},"output":{"text":"Mixed inline formatting\n\nBold, italic, bold italic, strike, and bold with nested italic inside.\n\nEscapes stay literal: *not emphasis* and # not a heading and [not a link].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish & chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: kept removed kept.\n\ncode beside bold beside link (https://example.com/mix) beside em."},"html":{"text":"<h1>Mixed inline formatting</h1><p><strong>Bold</strong>, <em>italic</em>, <em><strong>bold italic</strong></em>, <s>strike</s>, and <strong>bold with <em>nested italic</em> inside</strong>.</p><p>Escapes stay literal: *not emphasis* and # not a heading and [not a link].</p><p>Snake_case_words and mid_word_underscores stay intact.</p><p>A hard break follows this line\nand this line arrives after it.</p><p>Entity in prose: fish &amp; chips. Angle text: 1 &lt; 2 and 3 &gt; 2.</p><p>Strike inside bold: <strong>kept <s>removed</s> kept</strong>.</p><p><code>code</code> beside <strong>bold</strong> beside <a href=\"https://example.com/mix\">link</a> beside <em>em</em>.</p>"},"changes":[]}
{"id":"doc/mixed-inline/workflow/auto/signal","detected":"Markdown","cleaned":{"text":"# Mixed inline formatting\n\n**Bold**, *italic*, ***bold italic***, ~~strike~~, and **bold with *nested italic* inside**.\n\nEscapes stay literal: \\*not emphasis\\* and \\# not a heading and \\[not a link\\].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish &amp; chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: **kept ~~removed~~ kept**.\n\n`code` beside **bold** beside [link](https://example.com/mix) beside *em*."},"output":{"text":"Mixed inline formatting\n\nBold, italic, bold italic, strike, and bold with nested italic inside.\n\nEscapes stay literal: *not emphasis* and # not a heading and [not a link].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish & chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: kept removed kept.\n\ncode beside bold beside link (https://example.com/mix) beside em."},"html":{"text":"<h1>Mixed inline formatting</h1><p><strong>Bold</strong>, <em>italic</em>, <em><strong>bold italic</strong></em>, <s>strike</s>, and <strong>bold with <em>nested italic</em> inside</strong>.</p><p>Escapes stay literal: *not emphasis* and # not a heading and [not a link].</p><p>Snake_case_words and mid_word_underscores stay intact.</p><p>A hard break follows this line\nand this line arrives after it.</p><p>Entity in prose: fish &amp; chips. Angle text: 1 &lt; 2 and 3 &gt; 2.</p><p>Strike inside bold: <strong>kept <s>removed</s> kept</strong>.</p><p><code>code</code> beside <strong>bold</strong> beside <a href=\"https://example.com/mix\">link</a> beside <em>em</em>.</p>"},"changes":[]}
{"id":"doc/mixed-inline/workflow/auto/telegram","detected":"Markdown","cleaned":{"text":"# Mixed inline formatting\n\n**Bold**, *italic*, ***bold italic***, ~~strike~~, and **bold with *nested italic* inside**.\n\nEscapes stay literal: \\*not emphasis\\* and \\# not a heading and \\[not a link\\].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish &amp; chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: **kept ~~removed~~ kept**.\n\n`code` beside **bold** beside [link](https://example.com/mix) beside *em*."},"output":{"text":"Mixed inline formatting\n\nBold, italic, bold italic, strike, and bold with nested italic inside.\n\nEscapes stay literal: *not emphasis* and # not a heading and [not a link].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish & chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: kept removed kept.\n\ncode beside bold beside link (https://example.com/mix) beside em."},"html":{"text":"<h1>Mixed inline formatting</h1><p><strong>Bold</strong>, <em>italic</em>, <em><strong>bold italic</strong></em>, <s>strike</s>, and <strong>bold with <em>nested italic</em> inside</strong>.</p><p>Escapes stay literal: *not emphasis* and # not a heading and [not a link].</p><p>Snake_case_words and mid_word_underscores stay intact.</p><p>A hard break follows this line\nand this line arrives after it.</p><p>Entity in prose: fish &amp; chips. Angle text: 1 &lt; 2 and 3 &gt; 2.</p><p>Strike inside bold: <strong>kept <s>removed</s> kept</strong>.</p><p><code>code</code> beside <strong>bold</strong> beside <a href=\"https://example.com/mix\">link</a> beside <em>em</em>.</p>"},"changes":[]}
{"id":"doc/mixed-inline/workflow/auto/gmail","detected":"Markdown","cleaned":{"text":"# Mixed inline formatting\n\n**Bold**, *italic*, ***bold italic***, ~~strike~~, and **bold with *nested italic* inside**.\n\nEscapes stay literal: \\*not emphasis\\* and \\# not a heading and \\[not a link\\].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish &amp; chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: **kept ~~removed~~ kept**.\n\n`code` beside **bold** beside [link](https://example.com/mix) beside *em*."},"output":{"text":"Mixed inline formatting\n\nBold, italic, bold italic, strike, and bold with nested italic inside.\n\nEscapes stay literal: *not emphasis* and # not a heading and [not a link].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish & chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: kept removed kept.\n\ncode beside bold beside link (https://example.com/mix) beside em."},"html":{"text":"<h1>Mixed inline formatting</h1><p><strong>Bold</strong>, <em>italic</em>, <em><strong>bold italic</strong></em>, <s>strike</s>, and <strong>bold with <em>nested italic</em> inside</strong>.</p><p>Escapes stay literal: *not emphasis* and # not a heading and [not a link].</p><p>Snake_case_words and mid_word_underscores stay intact.</p><p>A hard break follows this line\nand this line arrives after it.</p><p>Entity in prose: fish &amp; chips. Angle text: 1 &lt; 2 and 3 &gt; 2.</p><p>Strike inside bold: <strong>kept <s>removed</s> kept</strong>.</p><p><code>code</code> beside <strong>bold</strong> beside <a href=\"https://example.com/mix\">link</a> beside <em>em</em>.</p>"},"changes":[]}
{"id":"doc/mixed-inline/workflow/auto/outlook","detected":"Markdown","cleaned":{"text":"# Mixed inline formatting\n\n**Bold**, *italic*, ***bold italic***, ~~strike~~, and **bold with *nested italic* inside**.\n\nEscapes stay literal: \\*not emphasis\\* and \\# not a heading and \\[not a link\\].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish &amp; chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: **kept ~~removed~~ kept**.\n\n`code` beside **bold** beside [link](https://example.com/mix) beside *em*."},"output":{"text":"Mixed inline formatting\n\nBold, italic, bold italic, strike, and bold with nested italic inside.\n\nEscapes stay literal: *not emphasis* and # not a heading and [not a link].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish & chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: kept removed kept.\n\ncode beside bold beside link (https://example.com/mix) beside em."},"html":{"text":"<h1>Mixed inline formatting</h1><p><strong>Bold</strong>, <em>italic</em>, <em><strong>bold italic</strong></em>, <s>strike</s>, and <strong>bold with <em>nested italic</em> inside</strong>.</p><p>Escapes stay literal: *not emphasis* and # not a heading and [not a link].</p><p>Snake_case_words and mid_word_underscores stay intact.</p><p>A hard break follows this line\nand this line arrives after it.</p><p>Entity in prose: fish &amp; chips. Angle text: 1 &lt; 2 and 3 &gt; 2.</p><p>Strike inside bold: <strong>kept <s>removed</s> kept</strong>.</p><p><code>code</code> beside <strong>bold</strong> beside <a href=\"https://example.com/mix\">link</a> beside <em>em</em>.</p>"},"changes":[]}
{"id":"doc/mixed-inline/workflow/auto/shortwave","detected":"Markdown","cleaned":{"text":"# Mixed inline formatting\n\n**Bold**, *italic*, ***bold italic***, ~~strike~~, and **bold with *nested italic* inside**.\n\nEscapes stay literal: \\*not emphasis\\* and \\# not a heading and \\[not a link\\].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish &amp; chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: **kept ~~removed~~ kept**.\n\n`code` beside **bold** beside [link](https://example.com/mix) beside *em*."},"output":{"text":"Mixed inline formatting\n\nBold, italic, bold italic, strike, and bold with nested italic inside.\n\nEscapes stay literal: *not emphasis* and # not a heading and [not a link].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish & chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: kept removed kept.\n\ncode beside bold beside link (https://example.com/mix) beside em."},"html":{"text":"<h1>Mixed inline formatting</h1><p><strong>Bold</strong>, <em>italic</em>, <em><strong>bold italic</strong></em>, <s>strike</s>, and <strong>bold with <em>nested italic</em> inside</strong>.</p><p>Escapes stay literal: *not emphasis* and # not a heading and [not a link].</p><p>Snake_case_words and mid_word_underscores stay intact.</p><p>A hard break follows this line\nand this line arrives after it.</p><p>Entity in prose: fish &amp; chips. Angle text: 1 &lt; 2 and 3 &gt; 2.</p><p>Strike inside bold: <strong>kept <s>removed</s> kept</strong>.</p><p><code>code</code> beside <strong>bold</strong> beside <a href=\"https://example.com/mix\">link</a> beside <em>em</em>.</p>"},"changes":[]}
{"id":"doc/mixed-inline/workflow/auto/notion","detected":"Markdown","cleaned":{"text":"# Mixed inline formatting\n\n**Bold**, *italic*, ***bold italic***, ~~strike~~, and **bold with *nested italic* inside**.\n\nEscapes stay literal: \\*not emphasis\\* and \\# not a heading and \\[not a link\\].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish &amp; chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: **kept ~~removed~~ kept**.\n\n`code` beside **bold** beside [link](https://example.com/mix) beside *em*."},"output":{"text":"Mixed inline formatting\n\nBold, italic, bold italic, strike, and bold with nested italic inside.\n\nEscapes stay literal: *not emphasis* and # not a heading and [not a link].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish & chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: kept removed kept.\n\ncode beside bold beside link (https://example.com/mix) beside em."},"html":{"text":"<h1>Mixed inline formatting</h1><p><strong>Bold</strong>, <em>italic</em>, <em><strong>bold italic</strong></em>, <s>strike</s>, and <strong>bold with <em>nested italic</em> inside</strong>.</p><p>Escapes stay literal: *not emphasis* and # not a heading and [not a link].</p><p>Snake_case_words and mid_word_underscores stay intact.</p><p>A hard break follows this line\nand this line arrives after it.</p><p>Entity in prose: fish &amp; chips. Angle text: 1 &lt; 2 and 3 &gt; 2.</p><p>Strike inside bold: <strong>kept <s>removed</s> kept</strong>.</p><p><code>code</code> beside <strong>bold</strong> beside <a href=\"https://example.com/mix\">link</a> beside <em>em</em>.</p>"},"changes":[]}
{"id":"doc/mixed-inline/workflow/auto/confluence","detected":"Markdown","cleaned":{"text":"# Mixed inline formatting\n\n**Bold**, *italic*, ***bold italic***, ~~strike~~, and **bold with *nested italic* inside**.\n\nEscapes stay literal: \\*not emphasis\\* and \\# not a heading and \\[not a link\\].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish &amp; chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: **kept ~~removed~~ kept**.\n\n`code` beside **bold** beside [link](https://example.com/mix) beside *em*."},"output":{"text":"Mixed inline formatting\n\nBold, italic, bold italic, strike, and bold with nested italic inside.\n\nEscapes stay literal: *not emphasis* and # not a heading and [not a link].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish & chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: kept removed kept.\n\ncode beside bold beside link (https://example.com/mix) beside em."},"html":{"text":"<h1>Mixed inline formatting</h1><p><strong>Bold</strong>, <em>italic</em>, <em><strong>bold italic</strong></em>, <s>strike</s>, and <strong>bold with <em>nested italic</em> inside</strong>.</p><p>Escapes stay literal: *not emphasis* and # not a heading and [not a link].</p><p>Snake_case_words and mid_word_underscores stay intact.</p><p>A hard break follows this line\nand this line arrives after it.</p><p>Entity in prose: fish &amp; chips. Angle text: 1 &lt; 2 and 3 &gt; 2.</p><p>Strike inside bold: <strong>kept <s>removed</s> kept</strong>.</p><p><code>code</code> beside <strong>bold</strong> beside <a href=\"https://example.com/mix\">link</a> beside <em>em</em>.</p>"},"changes":[]}
{"id":"doc/mixed-inline/workflow/auto/calendar","detected":"Markdown","cleaned":{"text":"# Mixed inline formatting\n\n**Bold**, *italic*, ***bold italic***, ~~strike~~, and **bold with *nested italic* inside**.\n\nEscapes stay literal: \\*not emphasis\\* and \\# not a heading and \\[not a link\\].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish &amp; chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: **kept ~~removed~~ kept**.\n\n`code` beside **bold** beside [link](https://example.com/mix) beside *em*."},"output":{"text":"Mixed inline formatting\n\nBold, italic, bold italic, strike, and bold with nested italic inside.\n\nEscapes stay literal: *not emphasis* and # not a heading and [not a link].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish & chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: kept removed kept.\n\ncode beside bold beside link (https://example.com/mix) beside em."},"html":{"text":"<h1>Mixed inline formatting</h1><p><strong>Bold</strong>, <em>italic</em>, <em><strong>bold italic</strong></em>, <s>strike</s>, and <strong>bold with <em>nested italic</em> inside</strong>.</p><p>Escapes stay literal: *not emphasis* and # not a heading and [not a link].</p><p>Snake_case_words and mid_word_underscores stay intact.</p><p>A hard break follows this line\nand this line arrives after it.</p><p>Entity in prose: fish &amp; chips. Angle text: 1 &lt; 2 and 3 &gt; 2.</p><p>Strike inside bold: <strong>kept <s>removed</s> kept</strong>.</p><p><code>code</code> beside <strong>bold</strong> beside <a href=\"https://example.com/mix\">link</a> beside <em>em</em>.</p>"},"changes":[]}
{"id":"doc/mixed-inline/workflow/auto/word","detected":"Markdown","cleaned":{"text":"# Mixed inline formatting\n\n**Bold**, *italic*, ***bold italic***, ~~strike~~, and **bold with *nested italic* inside**.\n\nEscapes stay literal: \\*not emphasis\\* and \\# not a heading and \\[not a link\\].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish &amp; chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: **kept ~~removed~~ kept**.\n\n`code` beside **bold** beside [link](https://example.com/mix) beside *em*."},"output":{"text":"Mixed inline formatting\n\nBold, italic, bold italic, strike, and bold with nested italic inside.\n\nEscapes stay literal: *not emphasis* and # not a heading and [not a link].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish & chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: kept removed kept.\n\ncode beside bold beside link (https://example.com/mix) beside em."},"html":{"text":"<h1>Mixed inline formatting</h1><p><strong>Bold</strong>, <em>italic</em>, <em><strong>bold italic</strong></em>, <s>strike</s>, and <strong>bold with <em>nested italic</em> inside</strong>.</p><p>Escapes stay literal: *not emphasis* and # not a heading and [not a link].</p><p>Snake_case_words and mid_word_underscores stay intact.</p><p>A hard break follows this line\nand this line arrives after it.</p><p>Entity in prose: fish &amp; chips. Angle text: 1 &lt; 2 and 3 &gt; 2.</p><p>Strike inside bold: <strong>kept <s>removed</s> kept</strong>.</p><p><code>code</code> beside <strong>bold</strong> beside <a href=\"https://example.com/mix\">link</a> beside <em>em</em>.</p>"},"changes":[]}
{"id":"doc/mixed-inline/workflow/auto/google-docs","detected":"Markdown","cleaned":{"text":"# Mixed inline formatting\n\n**Bold**, *italic*, ***bold italic***, ~~strike~~, and **bold with *nested italic* inside**.\n\nEscapes stay literal: \\*not emphasis\\* and \\# not a heading and \\[not a link\\].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish &amp; chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: **kept ~~removed~~ kept**.\n\n`code` beside **bold** beside [link](https://example.com/mix) beside *em*."},"output":{"text":"Mixed inline formatting\n\nBold, italic, bold italic, strike, and bold with nested italic inside.\n\nEscapes stay literal: *not emphasis* and # not a heading and [not a link].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish & chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: kept removed kept.\n\ncode beside bold beside link (https://example.com/mix) beside em."},"html":{"text":"<h1>Mixed inline formatting</h1><p><strong>Bold</strong>, <em>italic</em>, <em><strong>bold italic</strong></em>, <s>strike</s>, and <strong>bold with <em>nested italic</em> inside</strong>.</p><p>Escapes stay literal: *not emphasis* and # not a heading and [not a link].</p><p>Snake_case_words and mid_word_underscores stay intact.</p><p>A hard break follows this line\nand this line arrives after it.</p><p>Entity in prose: fish &amp; chips. Angle text: 1 &lt; 2 and 3 &gt; 2.</p><p>Strike inside bold: <strong>kept <s>removed</s> kept</strong>.</p><p><code>code</code> beside <strong>bold</strong> beside <a href=\"https://example.com/mix\">link</a> beside <em>em</em>.</p>"},"changes":[]}
{"id":"doc/mixed-inline/workflow/auto/markdown","detected":"Markdown","cleaned":{"text":"# Mixed inline formatting\n\n**Bold**, *italic*, ***bold italic***, ~~strike~~, and **bold with *nested italic* inside**.\n\nEscapes stay literal: \\*not emphasis\\* and \\# not a heading and \\[not a link\\].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish &amp; chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: **kept ~~removed~~ kept**.\n\n`code` beside **bold** beside [link](https://example.com/mix) beside *em*."},"output":{"text":"# Mixed inline formatting\n\n**Bold**, *italic*, ***bold italic***, ~~strike~~, and **bold with *nested italic* inside**.\n\nEscapes stay literal: \\*not emphasis\\* and \\# not a heading and \\[not a link\\].\n\nSnake_case_words and mid_word_underscores stay intact.\n\nA hard break follows this line\nand this line arrives after it.\n\nEntity in prose: fish &amp; chips. Angle text: 1 < 2 and 3 > 2.\n\nStrike inside bold: **kept ~~removed~~ kept**.\n\n`code` beside **bold** beside [link](https://example.com/mix) beside *em*."},"html":{"text":"<h1>Mixed inline formatting</h1><p><strong>Bold</strong>, <em>italic</em>, <em><strong>bold italic</strong></em>, <s>strike</s>, and <strong>bold with <em>nested italic</em> inside</strong>.</p><p>Escapes stay literal: *not emphasis* and # not a heading and [not a link].</p><p>Snake_case_words and mid_word_underscores stay intact.</p><p>A hard break follows this line\nand this line arrives after it.</p><p>Entity in prose: fish &amp; chips. Angle text: 1 &lt; 2 and 3 &gt; 2.</p><p>Strike inside bold: <strong>kept <s>removed</s> kept</strong>.</p><p><code>code</code> beside <strong>bold</strong> beside <a href=\"https://example.com/mix\">link</a> beside <em>em</em>.</p>"},"changes":[]}
{"id":"doc/mixed-inline/workflow/markdown/whatsapp","detected":"Markdown","fnv":"577a650b","len":1753}
{"id":"doc/mixed-inline/workflow/markdown/google-chat","detected":"Markdown","fnv":"577a650b","len":1753}
{"id":"doc/mixed-inline/workflow/markdown/discord","detected":"Markdown","fnv":"9c608597","len":1769}
{"id":"doc/mixed-inline/workflow/markdown/slack","detected":"Markdown","fnv":"028779c5","len":1754}
{"id":"doc/mixed-inline/workflow/markdown/teams","detected":"Markdown","fnv":"dc0f83fd","len":1755}
{"id":"doc/mixed-inline/workflow/markdown/zendesk","detected":"Markdown","fnv":"6256920c","len":1776}
{"id":"doc/mixed-inline/workflow/markdown/jira","detected":"Markdown","fnv":"6256920c","len":1776}
{"id":"doc/mixed-inline/workflow/markdown/plain","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/markdown/imessage","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/markdown/signal","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/markdown/telegram","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/markdown/gmail","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/markdown/outlook","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/markdown/shortwave","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/markdown/notion","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/markdown/confluence","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/markdown/calendar","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/markdown/word","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/markdown/google-docs","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/markdown/markdown","detected":"Markdown","fnv":"19e49536","len":1783}
{"id":"doc/mixed-inline/workflow/chatgpt/whatsapp","detected":"Markdown","fnv":"577a650b","len":1753}
{"id":"doc/mixed-inline/workflow/chatgpt/google-chat","detected":"Markdown","fnv":"577a650b","len":1753}
{"id":"doc/mixed-inline/workflow/chatgpt/discord","detected":"Markdown","fnv":"9c608597","len":1769}
{"id":"doc/mixed-inline/workflow/chatgpt/slack","detected":"Markdown","fnv":"028779c5","len":1754}
{"id":"doc/mixed-inline/workflow/chatgpt/teams","detected":"Markdown","fnv":"dc0f83fd","len":1755}
{"id":"doc/mixed-inline/workflow/chatgpt/zendesk","detected":"Markdown","fnv":"6256920c","len":1776}
{"id":"doc/mixed-inline/workflow/chatgpt/jira","detected":"Markdown","fnv":"6256920c","len":1776}
{"id":"doc/mixed-inline/workflow/chatgpt/plain","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/chatgpt/imessage","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/chatgpt/signal","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/chatgpt/telegram","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/chatgpt/gmail","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/chatgpt/outlook","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/chatgpt/shortwave","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/chatgpt/notion","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/chatgpt/confluence","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/chatgpt/calendar","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/chatgpt/word","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/chatgpt/google-docs","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/chatgpt/markdown","detected":"Markdown","fnv":"19e49536","len":1783}
{"id":"doc/mixed-inline/workflow/claude/whatsapp","detected":"Markdown","fnv":"577a650b","len":1753}
{"id":"doc/mixed-inline/workflow/claude/google-chat","detected":"Markdown","fnv":"577a650b","len":1753}
{"id":"doc/mixed-inline/workflow/claude/discord","detected":"Markdown","fnv":"9c608597","len":1769}
{"id":"doc/mixed-inline/workflow/claude/slack","detected":"Markdown","fnv":"028779c5","len":1754}
{"id":"doc/mixed-inline/workflow/claude/teams","detected":"Markdown","fnv":"dc0f83fd","len":1755}
{"id":"doc/mixed-inline/workflow/claude/zendesk","detected":"Markdown","fnv":"6256920c","len":1776}
{"id":"doc/mixed-inline/workflow/claude/jira","detected":"Markdown","fnv":"6256920c","len":1776}
{"id":"doc/mixed-inline/workflow/claude/plain","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/claude/imessage","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/claude/signal","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/claude/telegram","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/claude/gmail","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/claude/outlook","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/claude/shortwave","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/claude/notion","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/claude/confluence","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/claude/calendar","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/claude/word","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/claude/google-docs","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/claude/markdown","detected":"Markdown","fnv":"19e49536","len":1783}
{"id":"doc/mixed-inline/workflow/gemini/whatsapp","detected":"Markdown","fnv":"577a650b","len":1753}
{"id":"doc/mixed-inline/workflow/gemini/google-chat","detected":"Markdown","fnv":"577a650b","len":1753}
{"id":"doc/mixed-inline/workflow/gemini/discord","detected":"Markdown","fnv":"9c608597","len":1769}
{"id":"doc/mixed-inline/workflow/gemini/slack","detected":"Markdown","fnv":"028779c5","len":1754}
{"id":"doc/mixed-inline/workflow/gemini/teams","detected":"Markdown","fnv":"dc0f83fd","len":1755}
{"id":"doc/mixed-inline/workflow/gemini/zendesk","detected":"Markdown","fnv":"6256920c","len":1776}
{"id":"doc/mixed-inline/workflow/gemini/jira","detected":"Markdown","fnv":"6256920c","len":1776}
{"id":"doc/mixed-inline/workflow/gemini/plain","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/gemini/imessage","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/gemini/signal","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/gemini/telegram","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/gemini/gmail","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/gemini/outlook","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/gemini/shortwave","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/gemini/notion","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/gemini/confluence","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/gemini/calendar","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/gemini/word","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/gemini/google-docs","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/gemini/markdown","detected":"Markdown","fnv":"19e49536","len":1783}
{"id":"doc/mixed-inline/workflow/ai-studio/whatsapp","detected":"Markdown","fnv":"577a650b","len":1753}
{"id":"doc/mixed-inline/workflow/ai-studio/google-chat","detected":"Markdown","fnv":"577a650b","len":1753}
{"id":"doc/mixed-inline/workflow/ai-studio/discord","detected":"Markdown","fnv":"9c608597","len":1769}
{"id":"doc/mixed-inline/workflow/ai-studio/slack","detected":"Markdown","fnv":"028779c5","len":1754}
{"id":"doc/mixed-inline/workflow/ai-studio/teams","detected":"Markdown","fnv":"dc0f83fd","len":1755}
{"id":"doc/mixed-inline/workflow/ai-studio/zendesk","detected":"Markdown","fnv":"6256920c","len":1776}
{"id":"doc/mixed-inline/workflow/ai-studio/jira","detected":"Markdown","fnv":"6256920c","len":1776}
{"id":"doc/mixed-inline/workflow/ai-studio/plain","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/ai-studio/imessage","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/ai-studio/signal","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/ai-studio/telegram","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/ai-studio/gmail","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/ai-studio/outlook","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/ai-studio/shortwave","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/ai-studio/notion","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/ai-studio/confluence","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/ai-studio/calendar","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/ai-studio/word","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/ai-studio/google-docs","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/ai-studio/markdown","detected":"Markdown","fnv":"19e49536","len":1783}
{"id":"doc/mixed-inline/workflow/granola/whatsapp","detected":"Markdown","fnv":"577a650b","len":1753}
{"id":"doc/mixed-inline/workflow/granola/google-chat","detected":"Markdown","fnv":"577a650b","len":1753}
{"id":"doc/mixed-inline/workflow/granola/discord","detected":"Markdown","fnv":"9c608597","len":1769}
{"id":"doc/mixed-inline/workflow/granola/slack","detected":"Markdown","fnv":"028779c5","len":1754}
{"id":"doc/mixed-inline/workflow/granola/teams","detected":"Markdown","fnv":"dc0f83fd","len":1755}
{"id":"doc/mixed-inline/workflow/granola/zendesk","detected":"Markdown","fnv":"6256920c","len":1776}
{"id":"doc/mixed-inline/workflow/granola/jira","detected":"Markdown","fnv":"6256920c","len":1776}
{"id":"doc/mixed-inline/workflow/granola/plain","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/granola/imessage","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/granola/signal","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/granola/telegram","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/granola/gmail","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/granola/outlook","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/granola/shortwave","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/granola/notion","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/granola/confluence","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/granola/calendar","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/granola/word","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/granola/google-docs","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/granola/markdown","detected":"Markdown","fnv":"19e49536","len":1783}
{"id":"doc/mixed-inline/workflow/google-docs/whatsapp","detected":"Markdown","fnv":"577a650b","len":1753}
{"id":"doc/mixed-inline/workflow/google-docs/google-chat","detected":"Markdown","fnv":"577a650b","len":1753}
{"id":"doc/mixed-inline/workflow/google-docs/discord","detected":"Markdown","fnv":"9c608597","len":1769}
{"id":"doc/mixed-inline/workflow/google-docs/slack","detected":"Markdown","fnv":"028779c5","len":1754}
{"id":"doc/mixed-inline/workflow/google-docs/teams","detected":"Markdown","fnv":"dc0f83fd","len":1755}
{"id":"doc/mixed-inline/workflow/google-docs/zendesk","detected":"Markdown","fnv":"6256920c","len":1776}
{"id":"doc/mixed-inline/workflow/google-docs/jira","detected":"Markdown","fnv":"6256920c","len":1776}
{"id":"doc/mixed-inline/workflow/google-docs/plain","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/google-docs/imessage","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/google-docs/signal","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/google-docs/telegram","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/google-docs/gmail","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/google-docs/outlook","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/google-docs/shortwave","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/google-docs/notion","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/google-docs/confluence","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/google-docs/calendar","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/google-docs/word","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/google-docs/google-docs","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/google-docs/markdown","detected":"Markdown","fnv":"19e49536","len":1783}
{"id":"doc/mixed-inline/workflow/word/whatsapp","detected":"Markdown","fnv":"577a650b","len":1753}
{"id":"doc/mixed-inline/workflow/word/google-chat","detected":"Markdown","fnv":"577a650b","len":1753}
{"id":"doc/mixed-inline/workflow/word/discord","detected":"Markdown","fnv":"9c608597","len":1769}
{"id":"doc/mixed-inline/workflow/word/slack","detected":"Markdown","fnv":"028779c5","len":1754}
{"id":"doc/mixed-inline/workflow/word/teams","detected":"Markdown","fnv":"dc0f83fd","len":1755}
{"id":"doc/mixed-inline/workflow/word/zendesk","detected":"Markdown","fnv":"6256920c","len":1776}
{"id":"doc/mixed-inline/workflow/word/jira","detected":"Markdown","fnv":"6256920c","len":1776}
{"id":"doc/mixed-inline/workflow/word/plain","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/word/imessage","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/word/signal","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/word/telegram","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/word/gmail","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/word/outlook","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/word/shortwave","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/word/notion","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/word/confluence","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/word/calendar","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/word/word","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/word/google-docs","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/word/markdown","detected":"Markdown","fnv":"19e49536","len":1783}
{"id":"doc/mixed-inline/workflow/notion/whatsapp","detected":"Markdown","fnv":"577a650b","len":1753}
{"id":"doc/mixed-inline/workflow/notion/google-chat","detected":"Markdown","fnv":"577a650b","len":1753}
{"id":"doc/mixed-inline/workflow/notion/discord","detected":"Markdown","fnv":"9c608597","len":1769}
{"id":"doc/mixed-inline/workflow/notion/slack","detected":"Markdown","fnv":"028779c5","len":1754}
{"id":"doc/mixed-inline/workflow/notion/teams","detected":"Markdown","fnv":"dc0f83fd","len":1755}
{"id":"doc/mixed-inline/workflow/notion/zendesk","detected":"Markdown","fnv":"6256920c","len":1776}
{"id":"doc/mixed-inline/workflow/notion/jira","detected":"Markdown","fnv":"6256920c","len":1776}
{"id":"doc/mixed-inline/workflow/notion/plain","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/notion/imessage","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/notion/signal","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/notion/telegram","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/notion/gmail","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/notion/outlook","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/notion/shortwave","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/notion/notion","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/notion/confluence","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/notion/calendar","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/notion/word","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/notion/google-docs","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/notion/markdown","detected":"Markdown","fnv":"19e49536","len":1783}
{"id":"doc/mixed-inline/workflow/imessage/whatsapp","detected":"Markdown","fnv":"577a650b","len":1753}
{"id":"doc/mixed-inline/workflow/imessage/google-chat","detected":"Markdown","fnv":"577a650b","len":1753}
{"id":"doc/mixed-inline/workflow/imessage/discord","detected":"Markdown","fnv":"9c608597","len":1769}
{"id":"doc/mixed-inline/workflow/imessage/slack","detected":"Markdown","fnv":"028779c5","len":1754}
{"id":"doc/mixed-inline/workflow/imessage/teams","detected":"Markdown","fnv":"dc0f83fd","len":1755}
{"id":"doc/mixed-inline/workflow/imessage/zendesk","detected":"Markdown","fnv":"6256920c","len":1776}
{"id":"doc/mixed-inline/workflow/imessage/jira","detected":"Markdown","fnv":"6256920c","len":1776}
{"id":"doc/mixed-inline/workflow/imessage/plain","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/imessage/imessage","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/imessage/signal","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/imessage/telegram","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/imessage/gmail","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/imessage/outlook","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/imessage/shortwave","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/imessage/notion","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/imessage/confluence","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/imessage/calendar","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/imessage/word","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/imessage/google-docs","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/imessage/markdown","detected":"Markdown","fnv":"19e49536","len":1783}
{"id":"doc/mixed-inline/workflow/signal/whatsapp","detected":"Markdown","fnv":"577a650b","len":1753}
{"id":"doc/mixed-inline/workflow/signal/google-chat","detected":"Markdown","fnv":"577a650b","len":1753}
{"id":"doc/mixed-inline/workflow/signal/discord","detected":"Markdown","fnv":"9c608597","len":1769}
{"id":"doc/mixed-inline/workflow/signal/slack","detected":"Markdown","fnv":"028779c5","len":1754}
{"id":"doc/mixed-inline/workflow/signal/teams","detected":"Markdown","fnv":"dc0f83fd","len":1755}
{"id":"doc/mixed-inline/workflow/signal/zendesk","detected":"Markdown","fnv":"6256920c","len":1776}
{"id":"doc/mixed-inline/workflow/signal/jira","detected":"Markdown","fnv":"6256920c","len":1776}
{"id":"doc/mixed-inline/workflow/signal/plain","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/signal/imessage","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/signal/signal","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/signal/telegram","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/signal/gmail","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/signal/outlook","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/signal/shortwave","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/signal/notion","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/signal/confluence","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/signal/calendar","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/signal/word","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/signal/google-docs","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/signal/markdown","detected":"Markdown","fnv":"19e49536","len":1783}
{"id":"doc/mixed-inline/workflow/telegram/whatsapp","detected":"Markdown","fnv":"577a650b","len":1753}
{"id":"doc/mixed-inline/workflow/telegram/google-chat","detected":"Markdown","fnv":"577a650b","len":1753}
{"id":"doc/mixed-inline/workflow/telegram/discord","detected":"Markdown","fnv":"9c608597","len":1769}
{"id":"doc/mixed-inline/workflow/telegram/slack","detected":"Markdown","fnv":"028779c5","len":1754}
{"id":"doc/mixed-inline/workflow/telegram/teams","detected":"Markdown","fnv":"dc0f83fd","len":1755}
{"id":"doc/mixed-inline/workflow/telegram/zendesk","detected":"Markdown","fnv":"6256920c","len":1776}
{"id":"doc/mixed-inline/workflow/telegram/jira","detected":"Markdown","fnv":"6256920c","len":1776}
{"id":"doc/mixed-inline/workflow/telegram/plain","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/telegram/imessage","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/telegram/signal","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/telegram/telegram","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/telegram/gmail","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/telegram/outlook","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/telegram/shortwave","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/telegram/notion","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/telegram/confluence","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/telegram/calendar","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/telegram/word","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/telegram/google-docs","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/telegram/markdown","detected":"Markdown","fnv":"19e49536","len":1783}
{"id":"doc/mixed-inline/workflow/google-chat/whatsapp","detected":"Markdown","fnv":"577a650b","len":1753}
{"id":"doc/mixed-inline/workflow/google-chat/google-chat","detected":"Markdown","fnv":"577a650b","len":1753}
{"id":"doc/mixed-inline/workflow/google-chat/discord","detected":"Markdown","fnv":"9c608597","len":1769}
{"id":"doc/mixed-inline/workflow/google-chat/slack","detected":"Markdown","fnv":"028779c5","len":1754}
{"id":"doc/mixed-inline/workflow/google-chat/teams","detected":"Markdown","fnv":"dc0f83fd","len":1755}
{"id":"doc/mixed-inline/workflow/google-chat/zendesk","detected":"Markdown","fnv":"6256920c","len":1776}
{"id":"doc/mixed-inline/workflow/google-chat/jira","detected":"Markdown","fnv":"6256920c","len":1776}
{"id":"doc/mixed-inline/workflow/google-chat/plain","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/google-chat/imessage","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/google-chat/signal","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/google-chat/telegram","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/google-chat/gmail","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/google-chat/outlook","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/google-chat/shortwave","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/google-chat/notion","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/google-chat/confluence","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/google-chat/calendar","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/google-chat/word","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/google-chat/google-docs","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/google-chat/markdown","detected":"Markdown","fnv":"19e49536","len":1783}
{"id":"doc/mixed-inline/workflow/discord/whatsapp","detected":"Markdown","fnv":"577a650b","len":1753}
{"id":"doc/mixed-inline/workflow/discord/google-chat","detected":"Markdown","fnv":"577a650b","len":1753}
{"id":"doc/mixed-inline/workflow/discord/discord","detected":"Markdown","fnv":"9c608597","len":1769}
{"id":"doc/mixed-inline/workflow/discord/slack","detected":"Markdown","fnv":"028779c5","len":1754}
{"id":"doc/mixed-inline/workflow/discord/teams","detected":"Markdown","fnv":"dc0f83fd","len":1755}
{"id":"doc/mixed-inline/workflow/discord/zendesk","detected":"Markdown","fnv":"6256920c","len":1776}
{"id":"doc/mixed-inline/workflow/discord/jira","detected":"Markdown","fnv":"6256920c","len":1776}
{"id":"doc/mixed-inline/workflow/discord/plain","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/discord/imessage","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/discord/signal","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/discord/telegram","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/discord/gmail","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/discord/outlook","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/discord/shortwave","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/discord/notion","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/discord/confluence","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/discord/calendar","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/discord/word","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/discord/google-docs","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/discord/markdown","detected":"Markdown","fnv":"19e49536","len":1783}
{"id":"doc/mixed-inline/workflow/calendar/whatsapp","detected":"Markdown","fnv":"577a650b","len":1753}
{"id":"doc/mixed-inline/workflow/calendar/google-chat","detected":"Markdown","fnv":"577a650b","len":1753}
{"id":"doc/mixed-inline/workflow/calendar/discord","detected":"Markdown","fnv":"9c608597","len":1769}
{"id":"doc/mixed-inline/workflow/calendar/slack","detected":"Markdown","fnv":"028779c5","len":1754}
{"id":"doc/mixed-inline/workflow/calendar/teams","detected":"Markdown","fnv":"dc0f83fd","len":1755}
{"id":"doc/mixed-inline/workflow/calendar/zendesk","detected":"Markdown","fnv":"6256920c","len":1776}
{"id":"doc/mixed-inline/workflow/calendar/jira","detected":"Markdown","fnv":"6256920c","len":1776}
{"id":"doc/mixed-inline/workflow/calendar/plain","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/calendar/imessage","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/calendar/signal","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/calendar/telegram","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/calendar/gmail","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/calendar/outlook","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/calendar/shortwave","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/calendar/notion","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/calendar/confluence","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/calendar/calendar","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/calendar/word","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/calendar/google-docs","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/calendar/markdown","detected":"Markdown","fnv":"19e49536","len":1783}
{"id":"doc/mixed-inline/workflow/teams/whatsapp","detected":"Markdown","fnv":"577a650b","len":1753}
{"id":"doc/mixed-inline/workflow/teams/google-chat","detected":"Markdown","fnv":"577a650b","len":1753}
{"id":"doc/mixed-inline/workflow/teams/discord","detected":"Markdown","fnv":"9c608597","len":1769}
{"id":"doc/mixed-inline/workflow/teams/slack","detected":"Markdown","fnv":"028779c5","len":1754}
{"id":"doc/mixed-inline/workflow/teams/teams","detected":"Markdown","fnv":"dc0f83fd","len":1755}
{"id":"doc/mixed-inline/workflow/teams/zendesk","detected":"Markdown","fnv":"6256920c","len":1776}
{"id":"doc/mixed-inline/workflow/teams/jira","detected":"Markdown","fnv":"6256920c","len":1776}
{"id":"doc/mixed-inline/workflow/teams/plain","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/teams/imessage","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/teams/signal","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/teams/telegram","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/teams/gmail","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/teams/outlook","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/teams/shortwave","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/teams/notion","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/teams/confluence","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/teams/calendar","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/teams/word","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/teams/google-docs","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/teams/markdown","detected":"Markdown","fnv":"19e49536","len":1783}
{"id":"doc/mixed-inline/workflow/slack/whatsapp","detected":"Markdown","fnv":"577a650b","len":1753}
{"id":"doc/mixed-inline/workflow/slack/google-chat","detected":"Markdown","fnv":"577a650b","len":1753}
{"id":"doc/mixed-inline/workflow/slack/discord","detected":"Markdown","fnv":"9c608597","len":1769}
{"id":"doc/mixed-inline/workflow/slack/slack","detected":"Markdown","fnv":"028779c5","len":1754}
{"id":"doc/mixed-inline/workflow/slack/teams","detected":"Markdown","fnv":"dc0f83fd","len":1755}
{"id":"doc/mixed-inline/workflow/slack/zendesk","detected":"Markdown","fnv":"6256920c","len":1776}
{"id":"doc/mixed-inline/workflow/slack/jira","detected":"Markdown","fnv":"6256920c","len":1776}
{"id":"doc/mixed-inline/workflow/slack/plain","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/slack/imessage","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/slack/signal","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/slack/telegram","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/slack/gmail","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/slack/outlook","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/slack/shortwave","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/slack/notion","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/slack/confluence","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/slack/calendar","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/slack/word","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/slack/google-docs","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/slack/markdown","detected":"Markdown","fnv":"19e49536","len":1783}
{"id":"doc/mixed-inline/workflow/rich/whatsapp","detected":"Markdown","fnv":"577a650b","len":1753}
{"id":"doc/mixed-inline/workflow/rich/google-chat","detected":"Markdown","fnv":"577a650b","len":1753}
{"id":"doc/mixed-inline/workflow/rich/discord","detected":"Markdown","fnv":"9c608597","len":1769}
{"id":"doc/mixed-inline/workflow/rich/slack","detected":"Markdown","fnv":"028779c5","len":1754}
{"id":"doc/mixed-inline/workflow/rich/teams","detected":"Markdown","fnv":"dc0f83fd","len":1755}
{"id":"doc/mixed-inline/workflow/rich/zendesk","detected":"Markdown","fnv":"6256920c","len":1776}
{"id":"doc/mixed-inline/workflow/rich/jira","detected":"Markdown","fnv":"6256920c","len":1776}
{"id":"doc/mixed-inline/workflow/rich/plain","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/rich/imessage","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/rich/signal","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/rich/telegram","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/rich/gmail","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/rich/outlook","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/rich/shortwave","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/rich/notion","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/rich/confluence","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/rich/calendar","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/rich/word","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/rich/google-docs","detected":"Markdown","fnv":"6a97a9d4","len":1728}
{"id":"doc/mixed-inline/workflow/rich/markdown","detected":"Markdown","fnv":"19e49536","len":1783}
{"id":"doc/mixed-inline/workflow/plain/whatsapp","detected":"Markdown","fnv":"2fa08d92","len":1676}
{"id":"doc/mixed-inline/workflow/plain/google-chat","detected":"Markdown","fnv":"2fa08d92","len":1676}
{"id":"doc/mixed-inline/workflow/plain/discord","detected":"Markdown","fnv":"2fa08d92","len":1676}
{"id":"doc/mixed-inline/workflow/plain/slack","detected":"Markdown","fnv":"2fa08d92","len":1676}
{"id":"doc/mixed-inline/workflow/plain/teams","detected":"Markdown","fnv":"2fa08d92","len":1676}
{"id":"doc/mixed-inline/workflow/plain/zendesk","detected":"Markdown","fnv":"2fa08d92","len":1676}
{"id":"doc/mixed-inline/workflow/plain/jira","detected":"Markdown","fnv":"2fa08d92","len":1676}
{"id":"doc/mixed-inline/workflow/plain/plain","detected":"Markdown","fnv":"2fa08d92","len":1676}
{"id":"doc/mixed-inline/workflow/plain/imessage","detected":"Markdown","fnv":"2fa08d92","len":1676}
{"id":"doc/mixed-inline/workflow/plain/signal","detected":"Markdown","fnv":"2fa08d92","len":1676}
{"id":"doc/mixed-inline/workflow/plain/telegram","detected":"Markdown","fnv":"2fa08d92","len":1676}
{"id":"doc/mixed-inline/workflow/plain/gmail","detected":"Markdown","fnv":"2fa08d92","len":1676}
{"id":"doc/mixed-inline/workflow/plain/outlook","detected":"Markdown","fnv":"2fa08d92","len":1676}
{"id":"doc/mixed-inline/workflow/plain/shortwave","detected":"Markdown","fnv":"2fa08d92","len":1676}
{"id":"doc/mixed-inline/workflow/plain/notion","detected":"Markdown","fnv":"2fa08d92","len":1676}
{"id":"doc/mixed-inline/workflow/plain/confluence","detected":"Markdown","fnv":"2fa08d92","len":1676}
{"id":"doc/mixed-inline/workflow/plain/calendar","detected":"Markdown","fnv":"2fa08d92","len":1676}
{"id":"doc/mixed-inline/workflow/plain/word","detected":"Markdown","fnv":"2fa08d92","len":1676}
{"id":"doc/mixed-inline/workflow/plain/google-docs","detected":"Markdown","fnv":"2fa08d92","len":1676}
{"id":"doc/mixed-inline/workflow/plain/markdown","detected":"Markdown","fnv":"2fa08d92","len":1676}
{"id":"doc/nested-lists/detect","val":"Markdown"}
{"id":"doc/nested-lists/words","val":100}
{"id":"doc/nested-lists/filename/md","val":"deeply-nested-lists.md"}
{"id":"doc/nested-lists/filename/docx","val":"deeply-nested-lists.docx"}
{"id":"doc/nested-lists/clean/default","text":"# Deeply nested lists\n\n- level one\n  - level two with **bold**\n    - level three with [a link](https://example.com/depth)\n      - level four with `code`\n        - level five leaf\n- second top item\ncontinued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n     with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n   - [ ] unchecked task inside ordered\n   - [x] checked task with *emphasis*\n\n1. item containing a fence\n\n   ```\n   - not a list, just code\n   # not a heading either\n   ```\n\n2. item containing a quote\n\n   > quoted inside a list item\n\n- dash marker item\n* asterisk marker sibling\n+ plus marker sibling","changes":[]}
{"id":"doc/nested-lists/convert/whatsapp","cleaned":{"text":"# Deeply nested lists\n\n- level one\n  - level two with **bold**\n    - level three with [a link](https://example.com/depth)\n      - level four with `code`\n        - level five leaf\n- second top item\ncontinued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n     with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n   - [ ] unchecked task inside ordered\n   - [x] checked task with *emphasis*\n\n1. item containing a fence\n\n   ```\n   - not a list, just code\n   # not a heading either\n   ```\n\n2. item containing a quote\n\n   > quoted inside a list item\n\n- dash marker item\n* asterisk marker sibling\n+ plus marker sibling"},"output":{"text":"*Deeply nested lists*\n\n- level one\n  - level two with *bold*\n    - level three with a link: https://example.com/depth\n      - level four with `code`\n        - level five leaf\n- second top item\n  continued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n    with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n  - ☐ unchecked task inside ordered\n  - ☑ checked task with _emphasis_\n5. item containing a fence\n  ```\n  - not a list, just code\n  # not a heading either\n  ```\n6. item containing a quote\n  > quoted inside a list item\n\n- dash marker item\n\n- asterisk marker sibling\n\n- plus marker sibling"},"html":{"text":"<h1>Deeply nested lists</h1><ul><li>level one<ul><li>level two with <strong>bold</strong><ul><li>level three with <a href=\"https://example.com/depth\">a link</a><ul><li>level four with <code>code</code><ul><li>level five leaf</li></ul></li></ul></li></ul></li></ul></li><li>second top item\ncontinued by a lazy line that belongs to the item above<ol><li>ordered child</li><li>second child\nwith its own lazy continuation</li></ol></li></ul><ol><li><p>ordered start at three</p></li><li><p>next ordered item</p><ul><li>☐ unchecked task inside ordered</li><li>☑ checked task with <em>emphasis</em></li></ul></li><li><p>item containing a fence</p><pre><code>- not a list, just code\n# not a heading either</code></pre></li><li><p>item containing a quote</p><blockquote><p>quoted inside a list item</p></blockquote></li></ol><ul><li>dash marker item</li></ul><ul><li>asterisk marker sibling</li></ul><ul><li>plus marker sibling</li></ul>"},"changes":[]}
{"id":"doc/nested-lists/convert/google-chat","cleaned":{"text":"# Deeply nested lists\n\n- level one\n  - level two with **bold**\n    - level three with [a link](https://example.com/depth)\n      - level four with `code`\n        - level five leaf\n- second top item\ncontinued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n     with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n   - [ ] unchecked task inside ordered\n   - [x] checked task with *emphasis*\n\n1. item containing a fence\n\n   ```\n   - not a list, just code\n   # not a heading either\n   ```\n\n2. item containing a quote\n\n   > quoted inside a list item\n\n- dash marker item\n* asterisk marker sibling\n+ plus marker sibling"},"output":{"text":"*Deeply nested lists*\n\n- level one\n  - level two with *bold*\n    - level three with a link: https://example.com/depth\n      - level four with `code`\n        - level five leaf\n- second top item\n  continued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n    with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n  - ☐ unchecked task inside ordered\n  - ☑ checked task with _emphasis_\n5. item containing a fence\n  ```\n  - not a list, just code\n  # not a heading either\n  ```\n6. item containing a quote\n  > quoted inside a list item\n\n- dash marker item\n\n- asterisk marker sibling\n\n- plus marker sibling"},"html":{"text":"<h1>Deeply nested lists</h1><ul><li>level one<ul><li>level two with <strong>bold</strong><ul><li>level three with <a href=\"https://example.com/depth\">a link</a><ul><li>level four with <code>code</code><ul><li>level five leaf</li></ul></li></ul></li></ul></li></ul></li><li>second top item\ncontinued by a lazy line that belongs to the item above<ol><li>ordered child</li><li>second child\nwith its own lazy continuation</li></ol></li></ul><ol><li><p>ordered start at three</p></li><li><p>next ordered item</p><ul><li>☐ unchecked task inside ordered</li><li>☑ checked task with <em>emphasis</em></li></ul></li><li><p>item containing a fence</p><pre><code>- not a list, just code\n# not a heading either</code></pre></li><li><p>item containing a quote</p><blockquote><p>quoted inside a list item</p></blockquote></li></ol><ul><li>dash marker item</li></ul><ul><li>asterisk marker sibling</li></ul><ul><li>plus marker sibling</li></ul>"},"changes":[]}
{"id":"doc/nested-lists/convert/discord","cleaned":{"text":"# Deeply nested lists\n\n- level one\n  - level two with **bold**\n    - level three with [a link](https://example.com/depth)\n      - level four with `code`\n        - level five leaf\n- second top item\ncontinued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n     with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n   - [ ] unchecked task inside ordered\n   - [x] checked task with *emphasis*\n\n1. item containing a fence\n\n   ```\n   - not a list, just code\n   # not a heading either\n   ```\n\n2. item containing a quote\n\n   > quoted inside a list item\n\n- dash marker item\n* asterisk marker sibling\n+ plus marker sibling"},"output":{"text":"# Deeply nested lists\n\n- level one\n  - level two with **bold**\n    - level three with [a link](https://example.com/depth)\n      - level four with `code`\n        - level five leaf\n- second top item\n  continued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n    with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n  - ☐ unchecked task inside ordered\n  - ☑ checked task with *emphasis*\n5. item containing a fence\n  ```\n  - not a list, just code\n  # not a heading either\n  ```\n6. item containing a quote\n  > quoted inside a list item\n\n- dash marker item\n\n- asterisk marker sibling\n\n- plus marker sibling"},"html":{"text":"<h1>Deeply nested lists</h1><ul><li>level one<ul><li>level two with <strong>bold</strong><ul><li>level three with <a href=\"https://example.com/depth\">a link</a><ul><li>level four with <code>code</code><ul><li>level five leaf</li></ul></li></ul></li></ul></li></ul></li><li>second top item\ncontinued by a lazy line that belongs to the item above<ol><li>ordered child</li><li>second child\nwith its own lazy continuation</li></ol></li></ul><ol><li><p>ordered start at three</p></li><li><p>next ordered item</p><ul><li>☐ unchecked task inside ordered</li><li>☑ checked task with <em>emphasis</em></li></ul></li><li><p>item containing a fence</p><pre><code>- not a list, just code\n# not a heading either</code></pre></li><li><p>item containing a quote</p><blockquote><p>quoted inside a list item</p></blockquote></li></ol><ul><li>dash marker item</li></ul><ul><li>asterisk marker sibling</li></ul><ul><li>plus marker sibling</li></ul>"},"changes":[]}
{"id":"doc/nested-lists/convert/slack","cleaned":{"text":"# Deeply nested lists\n\n- level one\n  - level two with **bold**\n    - level three with [a link](https://example.com/depth)\n      - level four with `code`\n        - level five leaf\n- second top item\ncontinued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n     with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n   - [ ] unchecked task inside ordered\n   - [x] checked task with *emphasis*\n\n1. item containing a fence\n\n   ```\n   - not a list, just code\n   # not a heading either\n   ```\n\n2. item containing a quote\n\n   > quoted inside a list item\n\n- dash marker item\n* asterisk marker sibling\n+ plus marker sibling"},"output":{"text":"*Deeply nested lists*\n\n• level one\n  ◦ level two with *bold*\n    ▪ level three with <https://example.com/depth|a link>\n      ▪ level four with `code`\n        ▪ level five leaf\n• second top item\n  continued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n    with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n  ◦ ☐ unchecked task inside ordered\n  ◦ ☑ checked task with _emphasis_\n5. item containing a fence\n  ```\n  - not a list, just code\n  # not a heading either\n  ```\n6. item containing a quote\n  > quoted inside a list item\n\n• dash marker item\n\n• asterisk marker sibling\n\n• plus marker sibling"},"html":{"text":"<h1>Deeply nested lists</h1><ul><li>level one<ul><li>level two with <strong>bold</strong><ul><li>level three with <a href=\"https://example.com/depth\">a link</a><ul><li>level four with <code>code</code><ul><li>level five leaf</li></ul></li></ul></li></ul></li></ul></li><li>second top item\ncontinued by a lazy line that belongs to the item above<ol><li>ordered child</li><li>second child\nwith its own lazy continuation</li></ol></li></ul><ol><li><p>ordered start at three</p></li><li><p>next ordered item</p><ul><li>☐ unchecked task inside ordered</li><li>☑ checked task with <em>emphasis</em></li></ul></li><li><p>item containing a fence</p><pre><code>- not a list, just code\n# not a heading either</code></pre></li><li><p>item containing a quote</p><blockquote><p>quoted inside a list item</p></blockquote></li></ol><ul><li>dash marker item</li></ul><ul><li>asterisk marker sibling</li></ul><ul><li>plus marker sibling</li></ul>"},"changes":[]}
{"id":"doc/nested-lists/convert/teams","cleaned":{"text":"# Deeply nested lists\n\n- level one\n  - level two with **bold**\n    - level three with [a link](https://example.com/depth)\n      - level four with `code`\n        - level five leaf\n- second top item\ncontinued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n     with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n   - [ ] unchecked task inside ordered\n   - [x] checked task with *emphasis*\n\n1. item containing a fence\n\n   ```\n   - not a list, just code\n   # not a heading either\n   ```\n\n2. item containing a quote\n\n   > quoted inside a list item\n\n- dash marker item\n* asterisk marker sibling\n+ plus marker sibling"},"output":{"text":"# Deeply nested lists\n\n- level one\n  - level two with *bold*\n    - level three with [a link](https://example.com/depth)\n      - level four with `code`\n        - level five leaf\n- second top item\n  continued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n    with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n  - ☐ unchecked task inside ordered\n  - ☑ checked task with _emphasis_\n5. item containing a fence\n  ```\n  - not a list, just code\n  # not a heading either\n  ```\n6. item containing a quote\n  > quoted inside a list item\n\n- dash marker item\n\n- asterisk marker sibling\n\n- plus marker sibling"},"html":{"text":"<h1>Deeply nested lists</h1><ul><li>level one<ul><li>level two with <strong>bold</strong><ul><li>level three with <a href=\"https://example.com/depth\">a link</a><ul><li>level four with <code>code</code><ul><li>level five leaf</li></ul></li></ul></li></ul></li></ul></li><li>second top item\ncontinued by a lazy line that belongs to the item above<ol><li>ordered child</li><li>second child\nwith its own lazy continuation</li></ol></li></ul><ol><li><p>ordered start at three</p></li><li><p>next ordered item</p><ul><li>☐ unchecked task inside ordered</li><li>☑ checked task with <em>emphasis</em></li></ul></li><li><p>item containing a fence</p><pre><code>- not a list, just code\n# not a heading either</code></pre></li><li><p>item containing a quote</p><blockquote><p>quoted inside a list item</p></blockquote></li></ol><ul><li>dash marker item</li></ul><ul><li>asterisk marker sibling</li></ul><ul><li>plus marker sibling</li></ul>"},"changes":[]}
{"id":"doc/nested-lists/convert/zendesk","cleaned":{"text":"# Deeply nested lists\n\n- level one\n  - level two with **bold**\n    - level three with [a link](https://example.com/depth)\n      - level four with `code`\n        - level five leaf\n- second top item\ncontinued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n     with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n   - [ ] unchecked task inside ordered\n   - [x] checked task with *emphasis*\n\n1. item containing a fence\n\n   ```\n   - not a list, just code\n   # not a heading either\n   ```\n\n2. item containing a quote\n\n   > quoted inside a list item\n\n- dash marker item\n* asterisk marker sibling\n+ plus marker sibling"},"output":{"text":"# Deeply nested lists\n\n- level one\n- level two with **bold**\n- level three with [a link](https://example.com/depth)\n- level four with `code`\n- level five leaf\n- second top item\n  continued by a lazy line that belongs to the item above\n1. ordered child\n2. second child\n  with its own lazy continuation\n\n1. ordered start at three\n2. next ordered item\n- ☐ unchecked task inside ordered\n- ☑ checked task with *emphasis*\n3. item containing a fence\n  > - not a list, just code\n  > # not a heading either\n4. item containing a quote\n  > quoted inside a list item\n\n- dash marker item\n\n- asterisk marker sibling\n\n- plus marker sibling"},"html":{"text":"<h1>Deeply nested lists</h1><ul><li>level one<ul><li>level two with <strong>bold</strong><ul><li>level three with <a href=\"https://example.com/depth\">a link</a><ul><li>level four with <code>code</code><ul><li>level five leaf</li></ul></li></ul></li></ul></li></ul></li><li>second top item\ncontinued by a lazy line that belongs to the item above<ol><li>ordered child</li><li>second child\nwith its own lazy continuation</li></ol></li></ul><ol><li><p>ordered start at three</p></li><li><p>next ordered item</p><ul><li>☐ unchecked task inside ordered</li><li>☑ checked task with <em>emphasis</em></li></ul></li><li><p>item containing a fence</p><pre><code>- not a list, just code\n# not a heading either</code></pre></li><li><p>item containing a quote</p><blockquote><p>quoted inside a list item</p></blockquote></li></ol><ul><li>dash marker item</li></ul><ul><li>asterisk marker sibling</li></ul><ul><li>plus marker sibling</li></ul>"},"changes":[]}
{"id":"doc/nested-lists/convert/jira","cleaned":{"text":"# Deeply nested lists\n\n- level one\n  - level two with **bold**\n    - level three with [a link](https://example.com/depth)\n      - level four with `code`\n        - level five leaf\n- second top item\ncontinued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n     with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n   - [ ] unchecked task inside ordered\n   - [x] checked task with *emphasis*\n\n1. item containing a fence\n\n   ```\n   - not a list, just code\n   # not a heading either\n   ```\n\n2. item containing a quote\n\n   > quoted inside a list item\n\n- dash marker item\n* asterisk marker sibling\n+ plus marker sibling"},"output":{"text":"# Deeply nested lists\n\n- level one\n  - level two with **bold**\n    - level three with [a link](https://example.com/depth)\n      - level four with `code`\n        - level five leaf\n- second top item\n  continued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n    with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n  - ☐ unchecked task inside ordered\n  - ☑ checked task with *emphasis*\n5. item containing a fence\n  ```\n  - not a list, just code\n  # not a heading either\n  ```\n6. item containing a quote\n  > quoted inside a list item\n\n- dash marker item\n\n- asterisk marker sibling\n\n- plus marker sibling"},"html":{"text":"<h1>Deeply nested lists</h1><ul><li>level one<ul><li>level two with <strong>bold</strong><ul><li>level three with <a href=\"https://example.com/depth\">a link</a><ul><li>level four with <code>code</code><ul><li>level five leaf</li></ul></li></ul></li></ul></li></ul></li><li>second top item\ncontinued by a lazy line that belongs to the item above<ol><li>ordered child</li><li>second child\nwith its own lazy continuation</li></ol></li></ul><ol><li><p>ordered start at three</p></li><li><p>next ordered item</p><ul><li>☐ unchecked task inside ordered</li><li>☑ checked task with <em>emphasis</em></li></ul></li><li><p>item containing a fence</p><pre><code>- not a list, just code\n# not a heading either</code></pre></li><li><p>item containing a quote</p><blockquote><p>quoted inside a list item</p></blockquote></li></ol><ul><li>dash marker item</li></ul><ul><li>asterisk marker sibling</li></ul><ul><li>plus marker sibling</li></ul>"},"changes":[]}
{"id":"doc/nested-lists/convert/plain","cleaned":{"text":"# Deeply nested lists\n\n- level one\n  - level two with **bold**\n    - level three with [a link](https://example.com/depth)\n      - level four with `code`\n        - level five leaf\n- second top item\ncontinued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n     with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n   - [ ] unchecked task inside ordered\n   - [x] checked task with *emphasis*\n\n1. item containing a fence\n\n   ```\n   - not a list, just code\n   # not a heading either\n   ```\n\n2. item containing a quote\n\n   > quoted inside a list item\n\n- dash marker item\n* asterisk marker sibling\n+ plus marker sibling"},"output":{"text":"Deeply nested lists\n\n- level one\n  - level two with bold\n    - level three with a link (https://example.com/depth)\n      - level four with code\n        - level five leaf\n- second top item\n  continued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n    with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n  - ☐ unchecked task inside ordered\n  - ☑ checked task with emphasis\n5. item containing a fence\n  - not a list, just code\n  # not a heading either\n6. item containing a quote\n  > quoted inside a list item\n\n- dash marker item\n\n- asterisk marker sibling\n\n- plus marker sibling"},"html":{"text":"<h1>Deeply nested lists</h1><ul><li>level one<ul><li>level two with <strong>bold</strong><ul><li>level three with <a href=\"https://example.com/depth\">a link</a><ul><li>level four with <code>code</code><ul><li>level five leaf</li></ul></li></ul></li></ul></li></ul></li><li>second top item\ncontinued by a lazy line that belongs to the item above<ol><li>ordered child</li><li>second child\nwith its own lazy continuation</li></ol></li></ul><ol><li><p>ordered start at three</p></li><li><p>next ordered item</p><ul><li>☐ unchecked task inside ordered</li><li>☑ checked task with <em>emphasis</em></li></ul></li><li><p>item containing a fence</p><pre><code>- not a list, just code\n# not a heading either</code></pre></li><li><p>item containing a quote</p><blockquote><p>quoted inside a list item</p></blockquote></li></ol><ul><li>dash marker item</li></ul><ul><li>asterisk marker sibling</li></ul><ul><li>plus marker sibling</li></ul>"},"changes":[]}
{"id":"doc/nested-lists/whatsapp-preview","fnv":"5869dc52","len":2167}
{"id":"doc/nested-lists/diff-cleanup","val":[{"type":"same","value":"# Deeply nested lists\n\n- level one\n  - level two with **bold**\n    - level three with [a link](https://example.com/depth)\n      - level four with `code`\n        - level five leaf\n- second top item\ncontinued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n     with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n   - [ ] unchecked task inside ordered\n   - [x] checked task with *emphasis*\n\n1. item containing a fence\n\n   ```\n   - not a list, just code\n   # not a heading either\n   ```\n\n2. item containing a quote\n\n   > quoted inside a list item\n\n- dash marker item\n* asterisk marker sibling\n+ plus marker sibling"},{"type":"removed","value":"\n"}]}
{"id":"doc/nested-lists/workflow/auto/whatsapp","detected":"Markdown","cleaned":{"text":"# Deeply nested lists\n\n- level one\n  - level two with **bold**\n    - level three with [a link](https://example.com/depth)\n      - level four with `code`\n        - level five leaf\n- second top item\ncontinued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n     with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n   - [ ] unchecked task inside ordered\n   - [x] checked task with *emphasis*\n\n1. item containing a fence\n\n   ```\n   - not a list, just code\n   # not a heading either\n   ```\n\n2. item containing a quote\n\n   > quoted inside a list item\n\n- dash marker item\n* asterisk marker sibling\n+ plus marker sibling"},"output":{"text":"*Deeply nested lists*\n\n- level one\n  - level two with *bold*\n    - level three with a link: https://example.com/depth\n      - level four with `code`\n        - level five leaf\n- second top item\n  continued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n    with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n  - ☐ unchecked task inside ordered\n  - ☑ checked task with _emphasis_\n5. item containing a fence\n  ```\n  - not a list, just code\n  # not a heading either\n  ```\n6. item containing a quote\n  > quoted inside a list item\n\n- dash marker item\n\n- asterisk marker sibling\n\n- plus marker sibling"},"html":{"text":"<h1>Deeply nested lists</h1><ul><li>level one<ul><li>level two with <strong>bold</strong><ul><li>level three with <a href=\"https://example.com/depth\">a link</a><ul><li>level four with <code>code</code><ul><li>level five leaf</li></ul></li></ul></li></ul></li></ul></li><li>second top item\ncontinued by a lazy line that belongs to the item above<ol><li>ordered child</li><li>second child\nwith its own lazy continuation</li></ol></li></ul><ol><li><p>ordered start at three</p></li><li><p>next ordered item</p><ul><li>☐ unchecked task inside ordered</li><li>☑ checked task with <em>emphasis</em></li></ul></li><li><p>item containing a fence</p><pre><code>- not a list, just code\n# not a heading either</code></pre></li><li><p>item containing a quote</p><blockquote><p>quoted inside a list item</p></blockquote></li></ol><ul><li>dash marker item</li></ul><ul><li>asterisk marker sibling</li></ul><ul><li>plus marker sibling</li></ul>"},"changes":[]}
{"id":"doc/nested-lists/workflow/auto/google-chat","detected":"Markdown","cleaned":{"text":"# Deeply nested lists\n\n- level one\n  - level two with **bold**\n    - level three with [a link](https://example.com/depth)\n      - level four with `code`\n        - level five leaf\n- second top item\ncontinued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n     with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n   - [ ] unchecked task inside ordered\n   - [x] checked task with *emphasis*\n\n1. item containing a fence\n\n   ```\n   - not a list, just code\n   # not a heading either\n   ```\n\n2. item containing a quote\n\n   > quoted inside a list item\n\n- dash marker item\n* asterisk marker sibling\n+ plus marker sibling"},"output":{"text":"*Deeply nested lists*\n\n- level one\n  - level two with *bold*\n    - level three with a link: https://example.com/depth\n      - level four with `code`\n        - level five leaf\n- second top item\n  continued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n    with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n  - ☐ unchecked task inside ordered\n  - ☑ checked task with _emphasis_\n5. item containing a fence\n  ```\n  - not a list, just code\n  # not a heading either\n  ```\n6. item containing a quote\n  > quoted inside a list item\n\n- dash marker item\n\n- asterisk marker sibling\n\n- plus marker sibling"},"html":{"text":"<h1>Deeply nested lists</h1><ul><li>level one<ul><li>level two with <strong>bold</strong><ul><li>level three with <a href=\"https://example.com/depth\">a link</a><ul><li>level four with <code>code</code><ul><li>level five leaf</li></ul></li></ul></li></ul></li></ul></li><li>second top item\ncontinued by a lazy line that belongs to the item above<ol><li>ordered child</li><li>second child\nwith its own lazy continuation</li></ol></li></ul><ol><li><p>ordered start at three</p></li><li><p>next ordered item</p><ul><li>☐ unchecked task inside ordered</li><li>☑ checked task with <em>emphasis</em></li></ul></li><li><p>item containing a fence</p><pre><code>- not a list, just code\n# not a heading either</code></pre></li><li><p>item containing a quote</p><blockquote><p>quoted inside a list item</p></blockquote></li></ol><ul><li>dash marker item</li></ul><ul><li>asterisk marker sibling</li></ul><ul><li>plus marker sibling</li></ul>"},"changes":[]}
{"id":"doc/nested-lists/workflow/auto/discord","detected":"Markdown","cleaned":{"text":"# Deeply nested lists\n\n- level one\n  - level two with **bold**\n    - level three with [a link](https://example.com/depth)\n      - level four with `code`\n        - level five leaf\n- second top item\ncontinued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n     with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n   - [ ] unchecked task inside ordered\n   - [x] checked task with *emphasis*\n\n1. item containing a fence\n\n   ```\n   - not a list, just code\n   # not a heading either\n   ```\n\n2. item containing a quote\n\n   > quoted inside a list item\n\n- dash marker item\n* asterisk marker sibling\n+ plus marker sibling"},"output":{"text":"# Deeply nested lists\n\n- level one\n  - level two with **bold**\n    - level three with [a link](https://example.com/depth)\n      - level four with `code`\n        - level five leaf\n- second top item\n  continued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n    with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n  - ☐ unchecked task inside ordered\n  - ☑ checked task with *emphasis*\n5. item containing a fence\n  ```\n  - not a list, just code\n  # not a heading either\n  ```\n6. item containing a quote\n  > quoted inside a list item\n\n- dash marker item\n\n- asterisk marker sibling\n\n- plus marker sibling"},"html":{"text":"<h1>Deeply nested lists</h1><ul><li>level one<ul><li>level two with <strong>bold</strong><ul><li>level three with <a href=\"https://example.com/depth\">a link</a><ul><li>level four with <code>code</code><ul><li>level five leaf</li></ul></li></ul></li></ul></li></ul></li><li>second top item\ncontinued by a lazy line that belongs to the item above<ol><li>ordered child</li><li>second child\nwith its own lazy continuation</li></ol></li></ul><ol><li><p>ordered start at three</p></li><li><p>next ordered item</p><ul><li>☐ unchecked task inside ordered</li><li>☑ checked task with <em>emphasis</em></li></ul></li><li><p>item containing a fence</p><pre><code>- not a list, just code\n# not a heading either</code></pre></li><li><p>item containing a quote</p><blockquote><p>quoted inside a list item</p></blockquote></li></ol><ul><li>dash marker item</li></ul><ul><li>asterisk marker sibling</li></ul><ul><li>plus marker sibling</li></ul>"},"changes":[]}
{"id":"doc/nested-lists/workflow/auto/slack","detected":"Markdown","cleaned":{"text":"# Deeply nested lists\n\n- level one\n  - level two with **bold**\n    - level three with [a link](https://example.com/depth)\n      - level four with `code`\n        - level five leaf\n- second top item\ncontinued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n     with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n   - [ ] unchecked task inside ordered\n   - [x] checked task with *emphasis*\n\n1. item containing a fence\n\n   ```\n   - not a list, just code\n   # not a heading either\n   ```\n\n2. item containing a quote\n\n   > quoted inside a list item\n\n- dash marker item\n* asterisk marker sibling\n+ plus marker sibling"},"output":{"text":"*Deeply nested lists*\n\n• level one\n  ◦ level two with *bold*\n    ▪ level three with <https://example.com/depth|a link>\n      ▪ level four with `code`\n        ▪ level five leaf\n• second top item\n  continued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n    with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n  ◦ ☐ unchecked task inside ordered\n  ◦ ☑ checked task with _emphasis_\n5. item containing a fence\n  ```\n  - not a list, just code\n  # not a heading either\n  ```\n6. item containing a quote\n  > quoted inside a list item\n\n• dash marker item\n\n• asterisk marker sibling\n\n• plus marker sibling"},"html":{"text":"<h1>Deeply nested lists</h1><ul><li>level one<ul><li>level two with <strong>bold</strong><ul><li>level three with <a href=\"https://example.com/depth\">a link</a><ul><li>level four with <code>code</code><ul><li>level five leaf</li></ul></li></ul></li></ul></li></ul></li><li>second top item\ncontinued by a lazy line that belongs to the item above<ol><li>ordered child</li><li>second child\nwith its own lazy continuation</li></ol></li></ul><ol><li><p>ordered start at three</p></li><li><p>next ordered item</p><ul><li>☐ unchecked task inside ordered</li><li>☑ checked task with <em>emphasis</em></li></ul></li><li><p>item containing a fence</p><pre><code>- not a list, just code\n# not a heading either</code></pre></li><li><p>item containing a quote</p><blockquote><p>quoted inside a list item</p></blockquote></li></ol><ul><li>dash marker item</li></ul><ul><li>asterisk marker sibling</li></ul><ul><li>plus marker sibling</li></ul>"},"changes":[]}
{"id":"doc/nested-lists/workflow/auto/teams","detected":"Markdown","cleaned":{"text":"# Deeply nested lists\n\n- level one\n  - level two with **bold**\n    - level three with [a link](https://example.com/depth)\n      - level four with `code`\n        - level five leaf\n- second top item\ncontinued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n     with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n   - [ ] unchecked task inside ordered\n   - [x] checked task with *emphasis*\n\n1. item containing a fence\n\n   ```\n   - not a list, just code\n   # not a heading either\n   ```\n\n2. item containing a quote\n\n   > quoted inside a list item\n\n- dash marker item\n* asterisk marker sibling\n+ plus marker sibling"},"output":{"text":"# Deeply nested lists\n\n- level one\n  - level two with *bold*\n    - level three with [a link](https://example.com/depth)\n      - level four with `code`\n        - level five leaf\n- second top item\n  continued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n    with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n  - ☐ unchecked task inside ordered\n  - ☑ checked task with _emphasis_\n5. item containing a fence\n  ```\n  - not a list, just code\n  # not a heading either\n  ```\n6. item containing a quote\n  > quoted inside a list item\n\n- dash marker item\n\n- asterisk marker sibling\n\n- plus marker sibling"},"html":{"text":"<h1>Deeply nested lists</h1><ul><li>level one<ul><li>level two with <strong>bold</strong><ul><li>level three with <a href=\"https://example.com/depth\">a link</a><ul><li>level four with <code>code</code><ul><li>level five leaf</li></ul></li></ul></li></ul></li></ul></li><li>second top item\ncontinued by a lazy line that belongs to the item above<ol><li>ordered child</li><li>second child\nwith its own lazy continuation</li></ol></li></ul><ol><li><p>ordered start at three</p></li><li><p>next ordered item</p><ul><li>☐ unchecked task inside ordered</li><li>☑ checked task with <em>emphasis</em></li></ul></li><li><p>item containing a fence</p><pre><code>- not a list, just code\n# not a heading either</code></pre></li><li><p>item containing a quote</p><blockquote><p>quoted inside a list item</p></blockquote></li></ol><ul><li>dash marker item</li></ul><ul><li>asterisk marker sibling</li></ul><ul><li>plus marker sibling</li></ul>"},"changes":[]}
{"id":"doc/nested-lists/workflow/auto/zendesk","detected":"Markdown","cleaned":{"text":"# Deeply nested lists\n\n- level one\n  - level two with **bold**\n    - level three with [a link](https://example.com/depth)\n      - level four with `code`\n        - level five leaf\n- second top item\ncontinued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n     with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n   - [ ] unchecked task inside ordered\n   - [x] checked task with *emphasis*\n\n1. item containing a fence\n\n   ```\n   - not a list, just code\n   # not a heading either\n   ```\n\n2. item containing a quote\n\n   > quoted inside a list item\n\n- dash marker item\n* asterisk marker sibling\n+ plus marker sibling"},"output":{"text":"# Deeply nested lists\n\n- level one\n- level two with **bold**\n- level three with [a link](https://example.com/depth)\n- level four with `code`\n- level five leaf\n- second top item\n  continued by a lazy line that belongs to the item above\n1. ordered child\n2. second child\n  with its own lazy continuation\n\n1. ordered start at three\n2. next ordered item\n- ☐ unchecked task inside ordered\n- ☑ checked task with *emphasis*\n3. item containing a fence\n  > - not a list, just code\n  > # not a heading either\n4. item containing a quote\n  > quoted inside a list item\n\n- dash marker item\n\n- asterisk marker sibling\n\n- plus marker sibling"},"html":{"text":"<h1>Deeply nested lists</h1><ul><li>level one</li><li>level two with <strong>bold</strong></li><li>level three with <a href=\"https://example.com/depth\">a link</a></li><li>level four with <code>code</code></li><li>level five leaf</li><li>second top item\ncontinued by a lazy line that belongs to the item above</li></ul><ol><li><p>ordered child</p></li><li><p>second child\n  with its own lazy continuation</p></li><li><p>ordered start at three</p></li><li><p>next ordered item</p></li></ol><ul><li>☐ unchecked task inside ordered</li><li>☑ checked task with <em>emphasis</em></li></ul><ol><li>item containing a fence</li></ol><blockquote><ul><li>not a list, just code</li></ul><h1>not a heading either</h1></blockquote><ol><li>item containing a quote</li></ol><blockquote><p>quoted inside a list item</p></blockquote><ul><li><p>dash marker item</p></li><li><p>asterisk marker sibling</p></li><li><p>plus marker sibling</p></li></ul>"},"changes":[]}
{"id":"doc/nested-lists/workflow/auto/jira","detected":"Markdown","cleaned":{"text":"# Deeply nested lists\n\n- level one\n  - level two with **bold**\n    - level three with [a link](https://example.com/depth)\n      - level four with `code`\n        - level five leaf\n- second top item\ncontinued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n     with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n   - [ ] unchecked task inside ordered\n   - [x] checked task with *emphasis*\n\n1. item containing a fence\n\n   ```\n   - not a list, just code\n   # not a heading either\n   ```\n\n2. item containing a quote\n\n   > quoted inside a list item\n\n- dash marker item\n* asterisk marker sibling\n+ plus marker sibling"},"output":{"text":"# Deeply nested lists\n\n- level one\n  - level two with **bold**\n    - level three with [a link](https://example.com/depth)\n      - level four with `code`\n        - level five leaf\n- second top item\n  continued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n    with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n  - ☐ unchecked task inside ordered\n  - ☑ checked task with *emphasis*\n5. item containing a fence\n  ```\n  - not a list, just code\n  # not a heading either\n  ```\n6. item containing a quote\n  > quoted inside a list item\n\n- dash marker item\n\n- asterisk marker sibling\n\n- plus marker sibling"},"html":{"text":"<h1>Deeply nested lists</h1><ul><li>level one<ul><li>level two with <strong>bold</strong><ul><li>level three with <a href=\"https://example.com/depth\">a link</a><ul><li>level four with <code>code</code><ul><li>level five leaf</li></ul></li></ul></li></ul></li></ul></li><li>second top item\ncontinued by a lazy line that belongs to the item above<ol><li>ordered child</li><li>second child\n  with its own lazy continuation</li></ol></li></ul><ol><li>ordered start at three</li><li>next ordered item</li></ol><ul><li>☐ unchecked task inside ordered</li><li>☑ checked task with <em>emphasis</em></li></ul><ol><li>item containing a fence</li></ol><pre><code>- not a list, just code\n# not a heading either</code></pre><ol><li>item containing a quote</li></ol><blockquote><p>quoted inside a list item</p></blockquote><ul><li><p>dash marker item</p></li><li><p>asterisk marker sibling</p></li><li><p>plus marker sibling</p></li></ul>"},"changes":[]}
{"id":"doc/nested-lists/workflow/auto/plain","detected":"Markdown","cleaned":{"text":"# Deeply nested lists\n\n- level one\n  - level two with **bold**\n    - level three with [a link](https://example.com/depth)\n      - level four with `code`\n        - level five leaf\n- second top item\ncontinued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n     with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n   - [ ] unchecked task inside ordered\n   - [x] checked task with *emphasis*\n\n1. item containing a fence\n\n   ```\n   - not a list, just code\n   # not a heading either\n   ```\n\n2. item containing a quote\n\n   > quoted inside a list item\n\n- dash marker item\n* asterisk marker sibling\n+ plus marker sibling"},"output":{"text":"Deeply nested lists\n\n- level one\n  - level two with bold\n    - level three with a link (https://example.com/depth)\n      - level four with code\n        - level five leaf\n- second top item\n  continued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n    with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n  - ☐ unchecked task inside ordered\n  - ☑ checked task with emphasis\n5. item containing a fence\n  - not a list, just code\n  # not a heading either\n6. item containing a quote\n  > quoted inside a list item\n\n- dash marker item\n\n- asterisk marker sibling\n\n- plus marker sibling"},"html":{"text":"<h1>Deeply nested lists</h1><ul><li>level one<ul><li>level two with <strong>bold</strong><ul><li>level three with <a href=\"https://example.com/depth\">a link</a><ul><li>level four with <code>code</code><ul><li>level five leaf</li></ul></li></ul></li></ul></li></ul></li><li>second top item\ncontinued by a lazy line that belongs to the item above<ol><li>ordered child</li><li>second child\nwith its own lazy continuation</li></ol></li></ul><ol><li><p>ordered start at three</p></li><li><p>next ordered item</p><ul><li>☐ unchecked task inside ordered</li><li>☑ checked task with <em>emphasis</em></li></ul></li><li><p>item containing a fence</p><pre><code>- not a list, just code\n# not a heading either</code></pre></li><li><p>item containing a quote</p><blockquote><p>quoted inside a list item</p></blockquote></li></ol><ul><li>dash marker item</li></ul><ul><li>asterisk marker sibling</li></ul><ul><li>plus marker sibling</li></ul>"},"changes":[]}
{"id":"doc/nested-lists/workflow/auto/imessage","detected":"Markdown","cleaned":{"text":"# Deeply nested lists\n\n- level one\n  - level two with **bold**\n    - level three with [a link](https://example.com/depth)\n      - level four with `code`\n        - level five leaf\n- second top item\ncontinued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n     with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n   - [ ] unchecked task inside ordered\n   - [x] checked task with *emphasis*\n\n1. item containing a fence\n\n   ```\n   - not a list, just code\n   # not a heading either\n   ```\n\n2. item containing a quote\n\n   > quoted inside a list item\n\n- dash marker item\n* asterisk marker sibling\n+ plus marker sibling"},"output":{"text":"Deeply nested lists\n\n- level one\n  - level two with bold\n    - level three with a link (https://example.com/depth)\n      - level four with code\n        - level five leaf\n- second top item\n  continued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n    with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n  - ☐ unchecked task inside ordered\n  - ☑ checked task with emphasis\n5. item containing a fence\n  - not a list, just code\n  # not a heading either\n6. item containing a quote\n  > quoted inside a list item\n\n- dash marker item\n\n- asterisk marker sibling\n\n- plus marker sibling"},"html":{"text":"<h1>Deeply nested lists</h1><ul><li>level one<ul><li>level two with <strong>bold</strong><ul><li>level three with <a href=\"https://example.com/depth\">a link</a><ul><li>level four with <code>code</code><ul><li>level five leaf</li></ul></li></ul></li></ul></li></ul></li><li>second top item\ncontinued by a lazy line that belongs to the item above<ol><li>ordered child</li><li>second child\nwith its own lazy continuation</li></ol></li></ul><ol><li><p>ordered start at three</p></li><li><p>next ordered item</p><ul><li>☐ unchecked task inside ordered</li><li>☑ checked task with <em>emphasis</em></li></ul></li><li><p>item containing a fence</p><pre><code>- not a list, just code\n# not a heading either</code></pre></li><li><p>item containing a quote</p><blockquote><p>quoted inside a list item</p></blockquote></li></ol><ul><li>dash marker item</li></ul><ul><li>asterisk marker sibling</li></ul><ul><li>plus marker sibling</li></ul>"},"changes":[]}
{"id":"doc/nested-lists/workflow/auto/signal","detected":"Markdown","cleaned":{"text":"# Deeply nested lists\n\n- level one\n  - level two with **bold**\n    - level three with [a link](https://example.com/depth)\n      - level four with `code`\n        - level five leaf\n- second top item\ncontinued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n     with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n   - [ ] unchecked task inside ordered\n   - [x] checked task with *emphasis*\n\n1. item containing a fence\n\n   ```\n   - not a list, just code\n   # not a heading either\n   ```\n\n2. item containing a quote\n\n   > quoted inside a list item\n\n- dash marker item\n* asterisk marker sibling\n+ plus marker sibling"},"output":{"text":"Deeply nested lists\n\n- level one\n  - level two with bold\n    - level three with a link (https://example.com/depth)\n      - level four with code\n        - level five leaf\n- second top item\n  continued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n    with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n  - ☐ unchecked task inside ordered\n  - ☑ checked task with emphasis\n5. item containing a fence\n  - not a list, just code\n  # not a heading either\n6. item containing a quote\n  > quoted inside a list item\n\n- dash marker item\n\n- asterisk marker sibling\n\n- plus marker sibling"},"html":{"text":"<h1>Deeply nested lists</h1><ul><li>level one<ul><li>level two with <strong>bold</strong><ul><li>level three with <a href=\"https://example.com/depth\">a link</a><ul><li>level four with <code>code</code><ul><li>level five leaf</li></ul></li></ul></li></ul></li></ul></li><li>second top item\ncontinued by a lazy line that belongs to the item above<ol><li>ordered child</li><li>second child\nwith its own lazy continuation</li></ol></li></ul><ol><li><p>ordered start at three</p></li><li><p>next ordered item</p><ul><li>☐ unchecked task inside ordered</li><li>☑ checked task with <em>emphasis</em></li></ul></li><li><p>item containing a fence</p><pre><code>- not a list, just code\n# not a heading either</code></pre></li><li><p>item containing a quote</p><blockquote><p>quoted inside a list item</p></blockquote></li></ol><ul><li>dash marker item</li></ul><ul><li>asterisk marker sibling</li></ul><ul><li>plus marker sibling</li></ul>"},"changes":[]}
{"id":"doc/nested-lists/workflow/auto/telegram","detected":"Markdown","cleaned":{"text":"# Deeply nested lists\n\n- level one\n  - level two with **bold**\n    - level three with [a link](https://example.com/depth)\n      - level four with `code`\n        - level five leaf\n- second top item\ncontinued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n     with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n   - [ ] unchecked task inside ordered\n   - [x] checked task with *emphasis*\n\n1. item containing a fence\n\n   ```\n   - not a list, just code\n   # not a heading either\n   ```\n\n2. item containing a quote\n\n   > quoted inside a list item\n\n- dash marker item\n* asterisk marker sibling\n+ plus marker sibling"},"output":{"text":"Deeply nested lists\n\n- level one\n  - level two with bold\n    - level three with a link (https://example.com/depth)\n      - level four with code\n        - level five leaf\n- second top item\n  continued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n    with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n  - ☐ unchecked task inside ordered\n  - ☑ checked task with emphasis\n5. item containing a fence\n  - not a list, just code\n  # not a heading either\n6. item containing a quote\n  > quoted inside a list item\n\n- dash marker item\n\n- asterisk marker sibling\n\n- plus marker sibling"},"html":{"text":"<h1>Deeply nested lists</h1><ul><li>level one<ul><li>level two with <strong>bold</strong><ul><li>level three with <a href=\"https://example.com/depth\">a link</a><ul><li>level four with <code>code</code><ul><li>level five leaf</li></ul></li></ul></li></ul></li></ul></li><li>second top item\ncontinued by a lazy line that belongs to the item above<ol><li>ordered child</li><li>second child\nwith its own lazy continuation</li></ol></li></ul><ol><li><p>ordered start at three</p></li><li><p>next ordered item</p><ul><li>☐ unchecked task inside ordered</li><li>☑ checked task with <em>emphasis</em></li></ul></li><li><p>item containing a fence</p><pre><code>- not a list, just code\n# not a heading either</code></pre></li><li><p>item containing a quote</p><blockquote><p>quoted inside a list item</p></blockquote></li></ol><ul><li>dash marker item</li></ul><ul><li>asterisk marker sibling</li></ul><ul><li>plus marker sibling</li></ul>"},"changes":[]}
{"id":"doc/nested-lists/workflow/auto/gmail","detected":"Markdown","cleaned":{"text":"# Deeply nested lists\n\n- level one\n  - level two with **bold**\n    - level three with [a link](https://example.com/depth)\n      - level four with `code`\n        - level five leaf\n- second top item\ncontinued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n     with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n   - [ ] unchecked task inside ordered\n   - [x] checked task with *emphasis*\n\n1. item containing a fence\n\n   ```\n   - not a list, just code\n   # not a heading either\n   ```\n\n2. item containing a quote\n\n   > quoted inside a list item\n\n- dash marker item\n* asterisk marker sibling\n+ plus marker sibling"},"output":{"text":"Deeply nested lists\n\n- level one\n  - level two with bold\n    - level three with a link (https://example.com/depth)\n      - level four with code\n        - level five leaf\n- second top item\n  continued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n    with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n  - ☐ unchecked task inside ordered\n  - ☑ checked task with emphasis\n5. item containing a fence\n  - not a list, just code\n  # not a heading either\n6. item containing a quote\n  > quoted inside a list item\n\n- dash marker item\n\n- asterisk marker sibling\n\n- plus marker sibling"},"html":{"text":"<h1>Deeply nested lists</h1><ul><li>level one<ul><li>level two with <strong>bold</strong><ul><li>level three with <a href=\"https://example.com/depth\">a link</a><ul><li>level four with <code>code</code><ul><li>level five leaf</li></ul></li></ul></li></ul></li></ul></li><li>second top item\ncontinued by a lazy line that belongs to the item above<ol><li>ordered child</li><li>second child\nwith its own lazy continuation</li></ol></li></ul><ol><li><p>ordered start at three</p></li><li><p>next ordered item</p><ul><li>☐ unchecked task inside ordered</li><li>☑ checked task with <em>emphasis</em></li></ul></li><li><p>item containing a fence</p><pre><code>- not a list, just code\n# not a heading either</code></pre></li><li><p>item containing a quote</p><blockquote><p>quoted inside a list item</p></blockquote></li></ol><ul><li>dash marker item</li></ul><ul><li>asterisk marker sibling</li></ul><ul><li>plus marker sibling</li></ul>"},"changes":[]}
{"id":"doc/nested-lists/workflow/auto/outlook","detected":"Markdown","cleaned":{"text":"# Deeply nested lists\n\n- level one\n  - level two with **bold**\n    - level three with [a link](https://example.com/depth)\n      - level four with `code`\n        - level five leaf\n- second top item\ncontinued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n     with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n   - [ ] unchecked task inside ordered\n   - [x] checked task with *emphasis*\n\n1. item containing a fence\n\n   ```\n   - not a list, just code\n   # not a heading either\n   ```\n\n2. item containing a quote\n\n   > quoted inside a list item\n\n- dash marker item\n* asterisk marker sibling\n+ plus marker sibling"},"output":{"text":"Deeply nested lists\n\n- level one\n  - level two with bold\n    - level three with a link (https://example.com/depth)\n      - level four with code\n        - level five leaf\n- second top item\n  continued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n    with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n  - ☐ unchecked task inside ordered\n  - ☑ checked task with emphasis\n5. item containing a fence\n  - not a list, just code\n  # not a heading either\n6. item containing a quote\n  > quoted inside a list item\n\n- dash marker item\n\n- asterisk marker sibling\n\n- plus marker sibling"},"html":{"text":"<h1>Deeply nested lists</h1><ul><li>level one<ul><li>level two with <strong>bold</strong><ul><li>level three with <a href=\"https://example.com/depth\">a link</a><ul><li>level four with <code>code</code><ul><li>level five leaf</li></ul></li></ul></li></ul></li></ul></li><li>second top item\ncontinued by a lazy line that belongs to the item above<ol><li>ordered child</li><li>second child\nwith its own lazy continuation</li></ol></li></ul><ol><li><p>ordered start at three</p></li><li><p>next ordered item</p><ul><li>☐ unchecked task inside ordered</li><li>☑ checked task with <em>emphasis</em></li></ul></li><li><p>item containing a fence</p><pre><code>- not a list, just code\n# not a heading either</code></pre></li><li><p>item containing a quote</p><blockquote><p>quoted inside a list item</p></blockquote></li></ol><ul><li>dash marker item</li></ul><ul><li>asterisk marker sibling</li></ul><ul><li>plus marker sibling</li></ul>"},"changes":[]}
{"id":"doc/nested-lists/workflow/auto/shortwave","detected":"Markdown","cleaned":{"text":"# Deeply nested lists\n\n- level one\n  - level two with **bold**\n    - level three with [a link](https://example.com/depth)\n      - level four with `code`\n        - level five leaf\n- second top item\ncontinued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n     with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n   - [ ] unchecked task inside ordered\n   - [x] checked task with *emphasis*\n\n1. item containing a fence\n\n   ```\n   - not a list, just code\n   # not a heading either\n   ```\n\n2. item containing a quote\n\n   > quoted inside a list item\n\n- dash marker item\n* asterisk marker sibling\n+ plus marker sibling"},"output":{"text":"Deeply nested lists\n\n- level one\n  - level two with bold\n    - level three with a link (https://example.com/depth)\n      - level four with code\n        - level five leaf\n- second top item\n  continued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n    with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n  - ☐ unchecked task inside ordered\n  - ☑ checked task with emphasis\n5. item containing a fence\n  - not a list, just code\n  # not a heading either\n6. item containing a quote\n  > quoted inside a list item\n\n- dash marker item\n\n- asterisk marker sibling\n\n- plus marker sibling"},"html":{"text":"<h1>Deeply nested lists</h1><ul><li>level one<ul><li>level two with <strong>bold</strong><ul><li>level three with <a href=\"https://example.com/depth\">a link</a><ul><li>level four with <code>code</code><ul><li>level five leaf</li></ul></li></ul></li></ul></li></ul></li><li>second top item\ncontinued by a lazy line that belongs to the item above<ol><li>ordered child</li><li>second child\nwith its own lazy continuation</li></ol></li></ul><ol><li><p>ordered start at three</p></li><li><p>next ordered item</p><ul><li>☐ unchecked task inside ordered</li><li>☑ checked task with <em>emphasis</em></li></ul></li><li><p>item containing a fence</p><pre><code>- not a list, just code\n# not a heading either</code></pre></li><li><p>item containing a quote</p><blockquote><p>quoted inside a list item</p></blockquote></li></ol><ul><li>dash marker item</li></ul><ul><li>asterisk marker sibling</li></ul><ul><li>plus marker sibling</li></ul>"},"changes":[]}
{"id":"doc/nested-lists/workflow/auto/notion","detected":"Markdown","cleaned":{"text":"# Deeply nested lists\n\n- level one\n  - level two with **bold**\n    - level three with [a link](https://example.com/depth)\n      - level four with `code`\n        - level five leaf\n- second top item\ncontinued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n     with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n   - [ ] unchecked task inside ordered\n   - [x] checked task with *emphasis*\n\n1. item containing a fence\n\n   ```\n   - not a list, just code\n   # not a heading either\n   ```\n\n2. item containing a quote\n\n   > quoted inside a list item\n\n- dash marker item\n* asterisk marker sibling\n+ plus marker sibling"},"output":{"text":"Deeply nested lists\n\n- level one\n  - level two with bold\n    - level three with a link (https://example.com/depth)\n      - level four with code\n        - level five leaf\n- second top item\n  continued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n    with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n  - ☐ unchecked task inside ordered\n  - ☑ checked task with emphasis\n5. item containing a fence\n  - not a list, just code\n  # not a heading either\n6. item containing a quote\n  > quoted inside a list item\n\n- dash marker item\n\n- asterisk marker sibling\n\n- plus marker sibling"},"html":{"text":"<h1>Deeply nested lists</h1><ul><li>level one<ul><li>level two with <strong>bold</strong><ul><li>level three with <a href=\"https://example.com/depth\">a link</a><ul><li>level four with <code>code</code><ul><li>level five leaf</li></ul></li></ul></li></ul></li></ul></li><li>second top item\ncontinued by a lazy line that belongs to the item above<ol><li>ordered child</li><li>second child\nwith its own lazy continuation</li></ol></li></ul><ol><li><p>ordered start at three</p></li><li><p>next ordered item</p><ul><li>☐ unchecked task inside ordered</li><li>☑ checked task with <em>emphasis</em></li></ul></li><li><p>item containing a fence</p><pre><code>- not a list, just code\n# not a heading either</code></pre></li><li><p>item containing a quote</p><blockquote><p>quoted inside a list item</p></blockquote></li></ol><ul><li>dash marker item</li></ul><ul><li>asterisk marker sibling</li></ul><ul><li>plus marker sibling</li></ul>"},"changes":[]}
{"id":"doc/nested-lists/workflow/auto/confluence","detected":"Markdown","cleaned":{"text":"# Deeply nested lists\n\n- level one\n  - level two with **bold**\n    - level three with [a link](https://example.com/depth)\n      - level four with `code`\n        - level five leaf\n- second top item\ncontinued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n     with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n   - [ ] unchecked task inside ordered\n   - [x] checked task with *emphasis*\n\n1. item containing a fence\n\n   ```\n   - not a list, just code\n   # not a heading either\n   ```\n\n2. item containing a quote\n\n   > quoted inside a list item\n\n- dash marker item\n* asterisk marker sibling\n+ plus marker sibling"},"output":{"text":"Deeply nested lists\n\n- level one\n  - level two with bold\n    - level three with a link (https://example.com/depth)\n      - level four with code\n        - level five leaf\n- second top item\n  continued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n    with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n  - ☐ unchecked task inside ordered\n  - ☑ checked task with emphasis\n5. item containing a fence\n  - not a list, just code\n  # not a heading either\n6. item containing a quote\n  > quoted inside a list item\n\n- dash marker item\n\n- asterisk marker sibling\n\n- plus marker sibling"},"html":{"text":"<h1>Deeply nested lists</h1><ul><li>level one<ul><li>level two with <strong>bold</strong><ul><li>level three with <a href=\"https://example.com/depth\">a link</a><ul><li>level four with <code>code</code><ul><li>level five leaf</li></ul></li></ul></li></ul></li></ul></li><li>second top item\ncontinued by a lazy line that belongs to the item above<ol><li>ordered child</li><li>second child\nwith its own lazy continuation</li></ol></li></ul><ol><li><p>ordered start at three</p></li><li><p>next ordered item</p><ul><li>☐ unchecked task inside ordered</li><li>☑ checked task with <em>emphasis</em></li></ul></li><li><p>item containing a fence</p><pre><code>- not a list, just code\n# not a heading either</code></pre></li><li><p>item containing a quote</p><blockquote><p>quoted inside a list item</p></blockquote></li></ol><ul><li>dash marker item</li></ul><ul><li>asterisk marker sibling</li></ul><ul><li>plus marker sibling</li></ul>"},"changes":[]}
{"id":"doc/nested-lists/workflow/auto/calendar","detected":"Markdown","cleaned":{"text":"# Deeply nested lists\n\n- level one\n  - level two with **bold**\n    - level three with [a link](https://example.com/depth)\n      - level four with `code`\n        - level five leaf\n- second top item\ncontinued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n     with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n   - [ ] unchecked task inside ordered\n   - [x] checked task with *emphasis*\n\n1. item containing a fence\n\n   ```\n   - not a list, just code\n   # not a heading either\n   ```\n\n2. item containing a quote\n\n   > quoted inside a list item\n\n- dash marker item\n* asterisk marker sibling\n+ plus marker sibling"},"output":{"text":"Deeply nested lists\n\n- level one\n  - level two with bold\n    - level three with a link (https://example.com/depth)\n      - level four with code\n        - level five leaf\n- second top item\n  continued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n    with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n  - ☐ unchecked task inside ordered\n  - ☑ checked task with emphasis\n5. item containing a fence\n  - not a list, just code\n  # not a heading either\n6. item containing a quote\n  > quoted inside a list item\n\n- dash marker item\n\n- asterisk marker sibling\n\n- plus marker sibling"},"html":{"text":"<h1>Deeply nested lists</h1><ul><li>level one<ul><li>level two with <strong>bold</strong><ul><li>level three with <a href=\"https://example.com/depth\">a link</a><ul><li>level four with <code>code</code><ul><li>level five leaf</li></ul></li></ul></li></ul></li></ul></li><li>second top item\ncontinued by a lazy line that belongs to the item above<ol><li>ordered child</li><li>second child\nwith its own lazy continuation</li></ol></li></ul><ol><li><p>ordered start at three</p></li><li><p>next ordered item</p><ul><li>☐ unchecked task inside ordered</li><li>☑ checked task with <em>emphasis</em></li></ul></li><li><p>item containing a fence</p><pre><code>- not a list, just code\n# not a heading either</code></pre></li><li><p>item containing a quote</p><blockquote><p>quoted inside a list item</p></blockquote></li></ol><ul><li>dash marker item</li></ul><ul><li>asterisk marker sibling</li></ul><ul><li>plus marker sibling</li></ul>"},"changes":[]}
{"id":"doc/nested-lists/workflow/auto/word","detected":"Markdown","cleaned":{"text":"# Deeply nested lists\n\n- level one\n  - level two with **bold**\n    - level three with [a link](https://example.com/depth)\n      - level four with `code`\n        - level five leaf\n- second top item\ncontinued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n     with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n   - [ ] unchecked task inside ordered\n   - [x] checked task with *emphasis*\n\n1. item containing a fence\n\n   ```\n   - not a list, just code\n   # not a heading either\n   ```\n\n2. item containing a quote\n\n   > quoted inside a list item\n\n- dash marker item\n* asterisk marker sibling\n+ plus marker sibling"},"output":{"text":"Deeply nested lists\n\n- level one\n  - level two with bold\n    - level three with a link (https://example.com/depth)\n      - level four with code\n        - level five leaf\n- second top item\n  continued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n    with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n  - ☐ unchecked task inside ordered\n  - ☑ checked task with emphasis\n5. item containing a fence\n  - not a list, just code\n  # not a heading either\n6. item containing a quote\n  > quoted inside a list item\n\n- dash marker item\n\n- asterisk marker sibling\n\n- plus marker sibling"},"html":{"text":"<h1>Deeply nested lists</h1><ul><li>level one<ul><li>level two with <strong>bold</strong><ul><li>level three with <a href=\"https://example.com/depth\">a link</a><ul><li>level four with <code>code</code><ul><li>level five leaf</li></ul></li></ul></li></ul></li></ul></li><li>second top item\ncontinued by a lazy line that belongs to the item above<ol><li>ordered child</li><li>second child\nwith its own lazy continuation</li></ol></li></ul><ol><li><p>ordered start at three</p></li><li><p>next ordered item</p><ul><li>☐ unchecked task inside ordered</li><li>☑ checked task with <em>emphasis</em></li></ul></li><li><p>item containing a fence</p><pre><code>- not a list, just code\n# not a heading either</code></pre></li><li><p>item containing a quote</p><blockquote><p>quoted inside a list item</p></blockquote></li></ol><ul><li>dash marker item</li></ul><ul><li>asterisk marker sibling</li></ul><ul><li>plus marker sibling</li></ul>"},"changes":[]}
{"id":"doc/nested-lists/workflow/auto/google-docs","detected":"Markdown","cleaned":{"text":"# Deeply nested lists\n\n- level one\n  - level two with **bold**\n    - level three with [a link](https://example.com/depth)\n      - level four with `code`\n        - level five leaf\n- second top item\ncontinued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n     with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n   - [ ] unchecked task inside ordered\n   - [x] checked task with *emphasis*\n\n1. item containing a fence\n\n   ```\n   - not a list, just code\n   # not a heading either\n   ```\n\n2. item containing a quote\n\n   > quoted inside a list item\n\n- dash marker item\n* asterisk marker sibling\n+ plus marker sibling"},"output":{"text":"Deeply nested lists\n\n- level one\n  - level two with bold\n    - level three with a link (https://example.com/depth)\n      - level four with code\n        - level five leaf\n- second top item\n  continued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n    with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n  - ☐ unchecked task inside ordered\n  - ☑ checked task with emphasis\n5. item containing a fence\n  - not a list, just code\n  # not a heading either\n6. item containing a quote\n  > quoted inside a list item\n\n- dash marker item\n\n- asterisk marker sibling\n\n- plus marker sibling"},"html":{"text":"<h1>Deeply nested lists</h1><ul><li>level one<ul><li>level two with <strong>bold</strong><ul><li>level three with <a href=\"https://example.com/depth\">a link</a><ul><li>level four with <code>code</code><ul><li>level five leaf</li></ul></li></ul></li></ul></li></ul></li><li>second top item\ncontinued by a lazy line that belongs to the item above<ol><li>ordered child</li><li>second child\nwith its own lazy continuation</li></ol></li></ul><ol><li><p>ordered start at three</p></li><li><p>next ordered item</p><ul><li>☐ unchecked task inside ordered</li><li>☑ checked task with <em>emphasis</em></li></ul></li><li><p>item containing a fence</p><pre><code>- not a list, just code\n# not a heading either</code></pre></li><li><p>item containing a quote</p><blockquote><p>quoted inside a list item</p></blockquote></li></ol><ul><li>dash marker item</li></ul><ul><li>asterisk marker sibling</li></ul><ul><li>plus marker sibling</li></ul>"},"changes":[]}
{"id":"doc/nested-lists/workflow/auto/markdown","detected":"Markdown","cleaned":{"text":"# Deeply nested lists\n\n- level one\n  - level two with **bold**\n    - level three with [a link](https://example.com/depth)\n      - level four with `code`\n        - level five leaf\n- second top item\ncontinued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n     with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n   - [ ] unchecked task inside ordered\n   - [x] checked task with *emphasis*\n\n1. item containing a fence\n\n   ```\n   - not a list, just code\n   # not a heading either\n   ```\n\n2. item containing a quote\n\n   > quoted inside a list item\n\n- dash marker item\n* asterisk marker sibling\n+ plus marker sibling"},"output":{"text":"# Deeply nested lists\n\n- level one\n  - level two with **bold**\n    - level three with [a link](https://example.com/depth)\n      - level four with `code`\n        - level five leaf\n- second top item\ncontinued by a lazy line that belongs to the item above\n  1. ordered child\n  2. second child\n     with its own lazy continuation\n\n3. ordered start at three\n4. next ordered item\n   - [ ] unchecked task inside ordered\n   - [x] checked task with *emphasis*\n\n1. item containing a fence\n\n   ```\n   - not a list, just code\n   # not a heading either\n   ```\n\n2. item containing a quote\n\n   > quoted inside a list item\n\n- dash marker item\n* asterisk marker sibling\n+ plus marker sibling"},"html":{"text":"<h1>Deeply nested lists</h1><ul><li>level one<ul><li>level two with <strong>bold</strong><ul><li>level three with <a href=\"https://example.com/depth\">a link</a><ul><li>level four with <code>code</code><ul><li>level five leaf</li></ul></li></ul></li></ul></li></ul></li><li>second top item\ncontinued by a lazy line that belongs to the item above<ol><li>ordered child</li><li>second child\nwith its own lazy continuation</li></ol></li></ul><ol><li><p>ordered start at three</p></li><li><p>next ordered item</p><ul><li>☐ unchecked task inside ordered</li><li>☑ checked task with <em>emphasis</em></li></ul></li><li><p>item containing a fence</p><pre><code>- not a list, just code\n# not a heading either</code></pre></li><li><p>item containing a quote</p><blockquote><p>quoted inside a list item</p></blockquote></li></ol><ul><li>dash marker item</li></ul><ul><li>asterisk marker sibling</li></ul><ul><li>plus marker sibling</li></ul>"},"changes":[]}
{"id":"doc/nested-lists/workflow/markdown/whatsapp","detected":"Markdown","fnv":"9f239add","len":2375}
{"id":"doc/nested-lists/workflow/markdown/google-chat","detected":"Markdown","fnv":"9f239add","len":2375}
{"id":"doc/nested-lists/workflow/markdown/discord","detected":"Markdown","fnv":"e4e9bd21","len":2379}
{"id":"doc/nested-lists/workflow/markdown/slack","detected":"Markdown","fnv":"3503be86","len":2376}
{"id":"doc/nested-lists/workflow/markdown/teams","detected":"Markdown","fnv":"2a6849c9","len":2377}
{"id":"doc/nested-lists/workflow/markdown/zendesk","detected":"Markdown","fnv":"3c4af7cf","len":2339}
{"id":"doc/nested-lists/workflow/markdown/jira","detected":"Markdown","fnv":"74846c0a","len":2374}
{"id":"doc/nested-lists/workflow/markdown/plain","detected":"Markdown","fnv":"a157e89c","len":2354}
{"id":"doc/nested-lists/workflow/markdown/imessage","detected":"Markdown","fnv":"a157e89c","len":2354}
{"id":"doc/nested-lists/workflow/markdown/signal","detected":"Markdown","fnv":"a157e89c","len":2354}
{"id":"doc/nested-lists/workflow/markdown/telegram","detected":"Markdown","fnv":"a157e89c","len":2354}
{"id":"doc/nested-lists/workflow/markdown/gmail","detected":"Markdown","fnv":"a157e89c","len":2354}
{"id":"doc/nested-lists/workflow/markdown/outlook","detected":"Markdown","fnv":"a157e89c","len":2354}
{"id":"doc/nested-lists/workflow/markdown/shortwave","detected":"Markdown","fnv":"a157e89c","len":2354}
{"id":"doc/nested-lists/workflow/markdown/notion","detected":"Markdown","fnv":"a157e89c","len":2354}
{"id":"doc/nested-lists/workflow/markdown/confluence","detected":"Markdown","fnv":"a157e89c","len":2354}
{"id":"doc/nested-lists/workflow/markdown/calendar","detected":"Markdown","fnv":"a157e89c","len":2354}
{"id":"doc/nested-lists/workflow/markdown/word","detected":"Markdown","fnv":"a157e89c","len":2354}
{"id":"doc/nested-lists/workflow/markdown/google-docs","detected":"Markdown","fnv":"a157e89c","len":2354}
{"id":"doc/nested-lists/workflow/markdown/markdown","detected":"Markdown","fnv":"31b69a69","len":2393}
{"id":"doc/nested-lists/workflow/plain/whatsapp","detected":"Markdown","fnv":"2610569a","len":2229}
{"id":"doc/nested-lists/workflow/plain/google-chat","detected":"Markdown","fnv":"2610569a","len":2229}
{"id":"doc/nested-lists/workflow/plain/discord","detected":"Markdown","fnv":"2610569a","len":2229}
{"id":"doc/nested-lists/workflow/plain/slack","detected":"Markdown","fnv":"2610569a","len":2229}
{"id":"doc/nested-lists/workflow/plain/teams","detected":"Markdown","fnv":"2610569a","len":2229}
{"id":"doc/nested-lists/workflow/plain/zendesk","detected":"Markdown","fnv":"2610569a","len":2229}
{"id":"doc/nested-lists/workflow/plain/jira","detected":"Markdown","fnv":"2610569a","len":2229}
{"id":"doc/nested-lists/workflow/plain/plain","detected":"Markdown","fnv":"2610569a","len":2229}
{"id":"doc/nested-lists/workflow/plain/imessage","detected":"Markdown","fnv":"2610569a","len":2229}
{"id":"doc/nested-lists/workflow/plain/signal","detected":"Markdown","fnv":"2610569a","len":2229}
{"id":"doc/nested-lists/workflow/plain/telegram","detected":"Markdown","fnv":"2610569a","len":2229}
{"id":"doc/nested-lists/workflow/plain/gmail","detected":"Markdown","fnv":"2610569a","len":2229}
{"id":"doc/nested-lists/workflow/plain/outlook","detected":"Markdown","fnv":"2610569a","len":2229}
{"id":"doc/nested-lists/workflow/plain/shortwave","detected":"Markdown","fnv":"2610569a","len":2229}
{"id":"doc/nested-lists/workflow/plain/notion","detected":"Markdown","fnv":"2610569a","len":2229}
{"id":"doc/nested-lists/workflow/plain/confluence","detected":"Markdown","fnv":"2610569a","len":2229}
{"id":"doc/nested-lists/workflow/plain/calendar","detected":"Markdown","fnv":"2610569a","len":2229}
{"id":"doc/nested-lists/workflow/plain/word","detected":"Markdown","fnv":"2610569a","len":2229}
{"id":"doc/nested-lists/workflow/plain/google-docs","detected":"Markdown","fnv":"2610569a","len":2229}
{"id":"doc/nested-lists/workflow/plain/markdown","detected":"Markdown","fnv":"2610569a","len":2229}
{"id":"doc/plain-notes/detect","val":"Plain text"}
{"id":"doc/plain-notes/words","val":69}
{"id":"doc/plain-notes/filename/md","val":"pasteful-document.md"}
{"id":"doc/plain-notes/filename/docx","val":"pasteful-document.docx"}
{"id":"doc/plain-notes/clean/default","text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker.","changes":[]}
{"id":"doc/plain-notes/convert/whatsapp","cleaned":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"output":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"html":{"text":"<p>Meeting notes from Tuesday</p><p>Attendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.</p><p>Budget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.</p><p>No markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.</p><p>Final line without a trailing newline marker.</p>"},"changes":[]}
{"id":"doc/plain-notes/convert/google-chat","cleaned":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"output":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"html":{"text":"<p>Meeting notes from Tuesday</p><p>Attendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.</p><p>Budget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.</p><p>No markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.</p><p>Final line without a trailing newline marker.</p>"},"changes":[]}
{"id":"doc/plain-notes/convert/discord","cleaned":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"output":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"html":{"text":"<p>Meeting notes from Tuesday</p><p>Attendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.</p><p>Budget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.</p><p>No markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.</p><p>Final line without a trailing newline marker.</p>"},"changes":[]}
{"id":"doc/plain-notes/convert/slack","cleaned":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"output":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"html":{"text":"<p>Meeting notes from Tuesday</p><p>Attendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.</p><p>Budget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.</p><p>No markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.</p><p>Final line without a trailing newline marker.</p>"},"changes":[]}
{"id":"doc/plain-notes/convert/teams","cleaned":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"output":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"html":{"text":"<p>Meeting notes from Tuesday</p><p>Attendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.</p><p>Budget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.</p><p>No markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.</p><p>Final line without a trailing newline marker.</p>"},"changes":[]}
{"id":"doc/plain-notes/convert/zendesk","cleaned":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"output":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"html":{"text":"<p>Meeting notes from Tuesday</p><p>Attendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.</p><p>Budget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.</p><p>No markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.</p><p>Final line without a trailing newline marker.</p>"},"changes":[]}
{"id":"doc/plain-notes/convert/jira","cleaned":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"output":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"html":{"text":"<p>Meeting notes from Tuesday</p><p>Attendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.</p><p>Budget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.</p><p>No markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.</p><p>Final line without a trailing newline marker.</p>"},"changes":[]}
{"id":"doc/plain-notes/convert/plain","cleaned":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"output":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"html":{"text":"<p>Meeting notes from Tuesday</p><p>Attendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.</p><p>Budget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.</p><p>No markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.</p><p>Final line without a trailing newline marker.</p>"},"changes":[]}
{"id":"doc/plain-notes/whatsapp-preview","val":[{"kind":"text","segments":[{"text":"Meeting notes from Tuesday","marks":[]}]},{"kind":"text","segments":[]},{"kind":"text","segments":[{"text":"Attendees were the platform group and two guests.","marks":[]}]},{"kind":"text","segments":[{"text":"Decisions landed quickly and the follow-ups are owned.","marks":[]}]},{"kind":"text","segments":[]},{"kind":"text","segments":[{"text":"Budget review moved to next week. Legal sign-off arrived.","marks":[]}]},{"kind":"text","segments":[{"text":"The vendor call is booked for Thursday morning at nine.","marks":[]}]},{"kind":"text","segments":[]},{"kind":"text","segments":[{"text":"No markdown markers appear anywhere in this document, so","marks":[]}]},{"kind":"text","segments":[{"text":"auto-detection must classify it as plain text and leave","marks":[]}]},{"kind":"text","segments":[{"text":"the layout exactly as written.","marks":[]}]},{"kind":"text","segments":[]},{"kind":"text","segments":[{"text":"Final line without a trailing newline marker.","marks":[]}]}]}
{"id":"doc/plain-notes/diff-cleanup","val":[{"type":"same","value":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},{"type":"removed","value":"\n"}]}
{"id":"doc/plain-notes/workflow/auto/whatsapp","detected":"Plain text","cleaned":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"output":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"html":{"text":"<p>Meeting notes from Tuesday</p><p>Attendees were the platform group and two guests.<br>Decisions landed quickly and the follow-ups are owned.</p><p>Budget review moved to next week. Legal sign-off arrived.<br>The vendor call is booked for Thursday morning at nine.</p><p>No markdown markers appear anywhere in this document, so<br>auto-detection must classify it as plain text and leave<br>the layout exactly as written.</p><p>Final line without a trailing newline marker.</p>"},"changes":[]}
{"id":"doc/plain-notes/workflow/auto/google-chat","detected":"Plain text","cleaned":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"output":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"html":{"text":"<p>Meeting notes from Tuesday</p><p>Attendees were the platform group and two guests.<br>Decisions landed quickly and the follow-ups are owned.</p><p>Budget review moved to next week. Legal sign-off arrived.<br>The vendor call is booked for Thursday morning at nine.</p><p>No markdown markers appear anywhere in this document, so<br>auto-detection must classify it as plain text and leave<br>the layout exactly as written.</p><p>Final line without a trailing newline marker.</p>"},"changes":[]}
{"id":"doc/plain-notes/workflow/auto/discord","detected":"Plain text","cleaned":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"output":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"html":{"text":"<p>Meeting notes from Tuesday</p><p>Attendees were the platform group and two guests.<br>Decisions landed quickly and the follow-ups are owned.</p><p>Budget review moved to next week. Legal sign-off arrived.<br>The vendor call is booked for Thursday morning at nine.</p><p>No markdown markers appear anywhere in this document, so<br>auto-detection must classify it as plain text and leave<br>the layout exactly as written.</p><p>Final line without a trailing newline marker.</p>"},"changes":[]}
{"id":"doc/plain-notes/workflow/auto/slack","detected":"Plain text","cleaned":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"output":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"html":{"text":"<p>Meeting notes from Tuesday</p><p>Attendees were the platform group and two guests.<br>Decisions landed quickly and the follow-ups are owned.</p><p>Budget review moved to next week. Legal sign-off arrived.<br>The vendor call is booked for Thursday morning at nine.</p><p>No markdown markers appear anywhere in this document, so<br>auto-detection must classify it as plain text and leave<br>the layout exactly as written.</p><p>Final line without a trailing newline marker.</p>"},"changes":[]}
{"id":"doc/plain-notes/workflow/auto/teams","detected":"Plain text","cleaned":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"output":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"html":{"text":"<p>Meeting notes from Tuesday</p><p>Attendees were the platform group and two guests.<br>Decisions landed quickly and the follow-ups are owned.</p><p>Budget review moved to next week. Legal sign-off arrived.<br>The vendor call is booked for Thursday morning at nine.</p><p>No markdown markers appear anywhere in this document, so<br>auto-detection must classify it as plain text and leave<br>the layout exactly as written.</p><p>Final line without a trailing newline marker.</p>"},"changes":[]}
{"id":"doc/plain-notes/workflow/auto/zendesk","detected":"Plain text","cleaned":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"output":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"html":{"text":"<p>Meeting notes from Tuesday</p><p>Attendees were the platform group and two guests.<br>Decisions landed quickly and the follow-ups are owned.</p><p>Budget review moved to next week. Legal sign-off arrived.<br>The vendor call is booked for Thursday morning at nine.</p><p>No markdown markers appear anywhere in this document, so<br>auto-detection must classify it as plain text and leave<br>the layout exactly as written.</p><p>Final line without a trailing newline marker.</p>"},"changes":[]}
{"id":"doc/plain-notes/workflow/auto/jira","detected":"Plain text","cleaned":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"output":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"html":{"text":"<p>Meeting notes from Tuesday</p><p>Attendees were the platform group and two guests.<br>Decisions landed quickly and the follow-ups are owned.</p><p>Budget review moved to next week. Legal sign-off arrived.<br>The vendor call is booked for Thursday morning at nine.</p><p>No markdown markers appear anywhere in this document, so<br>auto-detection must classify it as plain text and leave<br>the layout exactly as written.</p><p>Final line without a trailing newline marker.</p>"},"changes":[]}
{"id":"doc/plain-notes/workflow/auto/plain","detected":"Plain text","cleaned":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"output":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"html":{"text":"<p>Meeting notes from Tuesday</p><p>Attendees were the platform group and two guests.<br>Decisions landed quickly and the follow-ups are owned.</p><p>Budget review moved to next week. Legal sign-off arrived.<br>The vendor call is booked for Thursday morning at nine.</p><p>No markdown markers appear anywhere in this document, so<br>auto-detection must classify it as plain text and leave<br>the layout exactly as written.</p><p>Final line without a trailing newline marker.</p>"},"changes":[]}
{"id":"doc/plain-notes/workflow/auto/imessage","detected":"Plain text","cleaned":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"output":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"html":{"text":"<p>Meeting notes from Tuesday</p><p>Attendees were the platform group and two guests.<br>Decisions landed quickly and the follow-ups are owned.</p><p>Budget review moved to next week. Legal sign-off arrived.<br>The vendor call is booked for Thursday morning at nine.</p><p>No markdown markers appear anywhere in this document, so<br>auto-detection must classify it as plain text and leave<br>the layout exactly as written.</p><p>Final line without a trailing newline marker.</p>"},"changes":[]}
{"id":"doc/plain-notes/workflow/auto/signal","detected":"Plain text","cleaned":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"output":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"html":{"text":"<p>Meeting notes from Tuesday</p><p>Attendees were the platform group and two guests.<br>Decisions landed quickly and the follow-ups are owned.</p><p>Budget review moved to next week. Legal sign-off arrived.<br>The vendor call is booked for Thursday morning at nine.</p><p>No markdown markers appear anywhere in this document, so<br>auto-detection must classify it as plain text and leave<br>the layout exactly as written.</p><p>Final line without a trailing newline marker.</p>"},"changes":[]}
{"id":"doc/plain-notes/workflow/auto/telegram","detected":"Plain text","cleaned":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"output":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"html":{"text":"<p>Meeting notes from Tuesday</p><p>Attendees were the platform group and two guests.<br>Decisions landed quickly and the follow-ups are owned.</p><p>Budget review moved to next week. Legal sign-off arrived.<br>The vendor call is booked for Thursday morning at nine.</p><p>No markdown markers appear anywhere in this document, so<br>auto-detection must classify it as plain text and leave<br>the layout exactly as written.</p><p>Final line without a trailing newline marker.</p>"},"changes":[]}
{"id":"doc/plain-notes/workflow/auto/gmail","detected":"Plain text","cleaned":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"output":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"html":{"text":"<p>Meeting notes from Tuesday</p><p>Attendees were the platform group and two guests.<br>Decisions landed quickly and the follow-ups are owned.</p><p>Budget review moved to next week. Legal sign-off arrived.<br>The vendor call is booked for Thursday morning at nine.</p><p>No markdown markers appear anywhere in this document, so<br>auto-detection must classify it as plain text and leave<br>the layout exactly as written.</p><p>Final line without a trailing newline marker.</p>"},"changes":[]}
{"id":"doc/plain-notes/workflow/auto/outlook","detected":"Plain text","cleaned":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"output":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"html":{"text":"<p>Meeting notes from Tuesday</p><p>Attendees were the platform group and two guests.<br>Decisions landed quickly and the follow-ups are owned.</p><p>Budget review moved to next week. Legal sign-off arrived.<br>The vendor call is booked for Thursday morning at nine.</p><p>No markdown markers appear anywhere in this document, so<br>auto-detection must classify it as plain text and leave<br>the layout exactly as written.</p><p>Final line without a trailing newline marker.</p>"},"changes":[]}
{"id":"doc/plain-notes/workflow/auto/shortwave","detected":"Plain text","cleaned":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"output":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"html":{"text":"<p>Meeting notes from Tuesday</p><p>Attendees were the platform group and two guests.<br>Decisions landed quickly and the follow-ups are owned.</p><p>Budget review moved to next week. Legal sign-off arrived.<br>The vendor call is booked for Thursday morning at nine.</p><p>No markdown markers appear anywhere in this document, so<br>auto-detection must classify it as plain text and leave<br>the layout exactly as written.</p><p>Final line without a trailing newline marker.</p>"},"changes":[]}
{"id":"doc/plain-notes/workflow/auto/notion","detected":"Plain text","cleaned":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"output":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"html":{"text":"<p>Meeting notes from Tuesday</p><p>Attendees were the platform group and two guests.<br>Decisions landed quickly and the follow-ups are owned.</p><p>Budget review moved to next week. Legal sign-off arrived.<br>The vendor call is booked for Thursday morning at nine.</p><p>No markdown markers appear anywhere in this document, so<br>auto-detection must classify it as plain text and leave<br>the layout exactly as written.</p><p>Final line without a trailing newline marker.</p>"},"changes":[]}
{"id":"doc/plain-notes/workflow/auto/confluence","detected":"Plain text","cleaned":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"output":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"html":{"text":"<p>Meeting notes from Tuesday</p><p>Attendees were the platform group and two guests.<br>Decisions landed quickly and the follow-ups are owned.</p><p>Budget review moved to next week. Legal sign-off arrived.<br>The vendor call is booked for Thursday morning at nine.</p><p>No markdown markers appear anywhere in this document, so<br>auto-detection must classify it as plain text and leave<br>the layout exactly as written.</p><p>Final line without a trailing newline marker.</p>"},"changes":[]}
{"id":"doc/plain-notes/workflow/auto/calendar","detected":"Plain text","cleaned":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"output":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"html":{"text":"<p>Meeting notes from Tuesday</p><p>Attendees were the platform group and two guests.<br>Decisions landed quickly and the follow-ups are owned.</p><p>Budget review moved to next week. Legal sign-off arrived.<br>The vendor call is booked for Thursday morning at nine.</p><p>No markdown markers appear anywhere in this document, so<br>auto-detection must classify it as plain text and leave<br>the layout exactly as written.</p><p>Final line without a trailing newline marker.</p>"},"changes":[]}
{"id":"doc/plain-notes/workflow/auto/word","detected":"Plain text","cleaned":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"output":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"html":{"text":"<p>Meeting notes from Tuesday</p><p>Attendees were the platform group and two guests.<br>Decisions landed quickly and the follow-ups are owned.</p><p>Budget review moved to next week. Legal sign-off arrived.<br>The vendor call is booked for Thursday morning at nine.</p><p>No markdown markers appear anywhere in this document, so<br>auto-detection must classify it as plain text and leave<br>the layout exactly as written.</p><p>Final line without a trailing newline marker.</p>"},"changes":[]}
{"id":"doc/plain-notes/workflow/auto/google-docs","detected":"Plain text","cleaned":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"output":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"html":{"text":"<p>Meeting notes from Tuesday</p><p>Attendees were the platform group and two guests.<br>Decisions landed quickly and the follow-ups are owned.</p><p>Budget review moved to next week. Legal sign-off arrived.<br>The vendor call is booked for Thursday morning at nine.</p><p>No markdown markers appear anywhere in this document, so<br>auto-detection must classify it as plain text and leave<br>the layout exactly as written.</p><p>Final line without a trailing newline marker.</p>"},"changes":[]}
{"id":"doc/plain-notes/workflow/auto/markdown","detected":"Plain text","cleaned":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"output":{"text":"Meeting notes from Tuesday\n\nAttendees were the platform group and two guests.\nDecisions landed quickly and the follow-ups are owned.\n\nBudget review moved to next week. Legal sign-off arrived.\nThe vendor call is booked for Thursday morning at nine.\n\nNo markdown markers appear anywhere in this document, so\nauto-detection must classify it as plain text and leave\nthe layout exactly as written.\n\nFinal line without a trailing newline marker."},"html":{"text":"<p>Meeting notes from Tuesday</p><p>Attendees were the platform group and two guests.<br>Decisions landed quickly and the follow-ups are owned.</p><p>Budget review moved to next week. Legal sign-off arrived.<br>The vendor call is booked for Thursday morning at nine.</p><p>No markdown markers appear anywhere in this document, so<br>auto-detection must classify it as plain text and leave<br>the layout exactly as written.</p><p>Final line without a trailing newline marker.</p>"},"changes":[]}
{"id":"doc/plain-notes/workflow/markdown/whatsapp","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/markdown/google-chat","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/markdown/discord","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/markdown/slack","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/markdown/teams","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/markdown/zendesk","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/markdown/jira","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/markdown/plain","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/markdown/imessage","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/markdown/signal","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/markdown/telegram","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/markdown/gmail","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/markdown/outlook","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/markdown/shortwave","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/markdown/notion","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/markdown/confluence","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/markdown/calendar","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/markdown/word","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/markdown/google-docs","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/markdown/markdown","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/chatgpt/whatsapp","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/chatgpt/google-chat","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/chatgpt/discord","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/chatgpt/slack","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/chatgpt/teams","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/chatgpt/zendesk","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/chatgpt/jira","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/chatgpt/plain","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/chatgpt/imessage","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/chatgpt/signal","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/chatgpt/telegram","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/chatgpt/gmail","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/chatgpt/outlook","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/chatgpt/shortwave","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/chatgpt/notion","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/chatgpt/confluence","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/chatgpt/calendar","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/chatgpt/word","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/chatgpt/google-docs","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/chatgpt/markdown","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/claude/whatsapp","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/claude/google-chat","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/claude/discord","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/claude/slack","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/claude/teams","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/claude/zendesk","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/claude/jira","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/claude/plain","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/claude/imessage","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/claude/signal","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/claude/telegram","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/claude/gmail","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/claude/outlook","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/claude/shortwave","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/claude/notion","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/claude/confluence","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/claude/calendar","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/claude/word","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/claude/google-docs","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/claude/markdown","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/gemini/whatsapp","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/gemini/google-chat","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/gemini/discord","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/gemini/slack","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/gemini/teams","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/gemini/zendesk","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/gemini/jira","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/gemini/plain","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/gemini/imessage","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/gemini/signal","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/gemini/telegram","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/gemini/gmail","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/gemini/outlook","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/gemini/shortwave","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/gemini/notion","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/gemini/confluence","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/gemini/calendar","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/gemini/word","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/gemini/google-docs","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/gemini/markdown","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/ai-studio/whatsapp","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/ai-studio/google-chat","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/ai-studio/discord","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/ai-studio/slack","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/ai-studio/teams","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/ai-studio/zendesk","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/ai-studio/jira","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/ai-studio/plain","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/ai-studio/imessage","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/ai-studio/signal","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/ai-studio/telegram","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/ai-studio/gmail","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/ai-studio/outlook","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/ai-studio/shortwave","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/ai-studio/notion","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/ai-studio/confluence","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/ai-studio/calendar","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/ai-studio/word","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/ai-studio/google-docs","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/ai-studio/markdown","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/granola/whatsapp","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/granola/google-chat","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/granola/discord","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/granola/slack","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/granola/teams","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/granola/zendesk","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/granola/jira","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/granola/plain","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/granola/imessage","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/granola/signal","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/granola/telegram","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/granola/gmail","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/granola/outlook","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/granola/shortwave","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/granola/notion","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/granola/confluence","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/granola/calendar","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/granola/word","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/granola/google-docs","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/granola/markdown","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/google-docs/whatsapp","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-docs/google-chat","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-docs/discord","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-docs/slack","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-docs/teams","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-docs/zendesk","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-docs/jira","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-docs/plain","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-docs/imessage","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-docs/signal","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-docs/telegram","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-docs/gmail","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-docs/outlook","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-docs/shortwave","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-docs/notion","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-docs/confluence","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-docs/calendar","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-docs/word","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-docs/google-docs","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-docs/markdown","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/word/whatsapp","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/word/google-chat","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/word/discord","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/word/slack","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/word/teams","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/word/zendesk","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/word/jira","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/word/plain","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/word/imessage","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/word/signal","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/word/telegram","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/word/gmail","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/word/outlook","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/word/shortwave","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/word/notion","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/word/confluence","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/word/calendar","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/word/word","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/word/google-docs","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/word/markdown","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/notion/whatsapp","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/notion/google-chat","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/notion/discord","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/notion/slack","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/notion/teams","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/notion/zendesk","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/notion/jira","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/notion/plain","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/notion/imessage","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/notion/signal","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/notion/telegram","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/notion/gmail","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/notion/outlook","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/notion/shortwave","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/notion/notion","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/notion/confluence","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/notion/calendar","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/notion/word","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/notion/google-docs","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/notion/markdown","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/imessage/whatsapp","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/imessage/google-chat","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/imessage/discord","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/imessage/slack","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/imessage/teams","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/imessage/zendesk","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/imessage/jira","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/imessage/plain","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/imessage/imessage","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/imessage/signal","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/imessage/telegram","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/imessage/gmail","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/imessage/outlook","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/imessage/shortwave","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/imessage/notion","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/imessage/confluence","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/imessage/calendar","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/imessage/word","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/imessage/google-docs","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/imessage/markdown","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/signal/whatsapp","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/signal/google-chat","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/signal/discord","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/signal/slack","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/signal/teams","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/signal/zendesk","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/signal/jira","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/signal/plain","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/signal/imessage","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/signal/signal","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/signal/telegram","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/signal/gmail","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/signal/outlook","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/signal/shortwave","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/signal/notion","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/signal/confluence","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/signal/calendar","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/signal/word","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/signal/google-docs","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/signal/markdown","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/telegram/whatsapp","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/telegram/google-chat","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/telegram/discord","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/telegram/slack","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/telegram/teams","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/telegram/zendesk","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/telegram/jira","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/telegram/plain","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/telegram/imessage","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/telegram/signal","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/telegram/telegram","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/telegram/gmail","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/telegram/outlook","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/telegram/shortwave","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/telegram/notion","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/telegram/confluence","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/telegram/calendar","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/telegram/word","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/telegram/google-docs","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/telegram/markdown","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-chat/whatsapp","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-chat/google-chat","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-chat/discord","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-chat/slack","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-chat/teams","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-chat/zendesk","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-chat/jira","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-chat/plain","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-chat/imessage","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-chat/signal","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-chat/telegram","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-chat/gmail","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-chat/outlook","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-chat/shortwave","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-chat/notion","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-chat/confluence","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-chat/calendar","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-chat/word","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-chat/google-docs","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/google-chat/markdown","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/discord/whatsapp","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/discord/google-chat","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/discord/discord","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/discord/slack","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/discord/teams","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/discord/zendesk","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/discord/jira","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/discord/plain","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/discord/imessage","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/discord/signal","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/discord/telegram","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/discord/gmail","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/discord/outlook","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/discord/shortwave","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/discord/notion","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/discord/confluence","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/discord/calendar","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/discord/word","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/discord/google-docs","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/discord/markdown","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/calendar/whatsapp","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/calendar/google-chat","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/calendar/discord","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/calendar/slack","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/calendar/teams","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/calendar/zendesk","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/calendar/jira","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/calendar/plain","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/calendar/imessage","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/calendar/signal","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/calendar/telegram","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/calendar/gmail","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/calendar/outlook","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/calendar/shortwave","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/calendar/notion","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/calendar/confluence","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/calendar/calendar","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/calendar/word","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/calendar/google-docs","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/calendar/markdown","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/teams/whatsapp","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/teams/google-chat","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/teams/discord","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/teams/slack","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/teams/teams","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/teams/zendesk","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/teams/jira","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/teams/plain","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/teams/imessage","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/teams/signal","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/teams/telegram","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/teams/gmail","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/teams/outlook","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/teams/shortwave","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/teams/notion","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/teams/confluence","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/teams/calendar","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/teams/word","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/teams/google-docs","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/teams/markdown","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/slack/whatsapp","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/slack/google-chat","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/slack/discord","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/slack/slack","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/slack/teams","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/slack/zendesk","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/slack/jira","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/slack/plain","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/slack/imessage","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/slack/signal","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/slack/telegram","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/slack/gmail","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/slack/outlook","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/slack/shortwave","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/slack/notion","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/slack/confluence","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/slack/calendar","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/slack/word","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/slack/google-docs","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/slack/markdown","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/rich/whatsapp","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/rich/google-chat","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/rich/discord","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/rich/slack","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/rich/teams","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/rich/zendesk","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/rich/jira","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/rich/plain","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/rich/imessage","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/rich/signal","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/rich/telegram","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/rich/gmail","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/rich/outlook","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/rich/shortwave","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/rich/notion","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/rich/confluence","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/rich/calendar","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/rich/word","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/rich/google-docs","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/rich/markdown","detected":"Plain text","fnv":"f7492de1","len":1421}
{"id":"doc/plain-notes/workflow/plain/whatsapp","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/plain/google-chat","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/plain/discord","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/plain/slack","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/plain/teams","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/plain/zendesk","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/plain/jira","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/plain/plain","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/plain/imessage","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/plain/signal","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/plain/telegram","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/plain/gmail","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/plain/outlook","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/plain/shortwave","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/plain/notion","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/plain/confluence","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/plain/calendar","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/plain/word","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/plain/google-docs","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/plain-notes/workflow/plain/markdown","detected":"Plain text","fnv":"56af2a79","len":1429}
{"id":"doc/reference-links/detect","val":"Markdown"}
{"id":"doc/reference-links/words","val":97}
{"id":"doc/reference-links/filename/md","val":"reference-links-defined-far-away.md"}
{"id":"doc/reference-links/filename/docx","val":"reference-links-defined-far-away.docx"}
{"id":"doc/reference-links/clean/default","text":"# Reference links defined far away\n\nThe [first reference][alpha] appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch][ALPHA] must resolve the same target.\n\nA [second reference][beta] with a title, an ![image reference][pic],\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha] and collapsed style: [beta][].\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.\n\n[alpha]: https://example.com/alpha\n[beta]: https://example.com/beta \"Beta title\"\n[alpha]: https://example.com/duplicate-ignored\n[pic]: https://example.com/pic.png","changes":[]}
{"id":"doc/reference-links/convert/whatsapp","cleaned":{"text":"# Reference links defined far away\n\nThe [first reference][alpha] appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch][ALPHA] must resolve the same target.\n\nA [second reference][beta] with a title, an ![image reference][pic],\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha] and collapsed style: [beta][].\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.\n\n[alpha]: https://example.com/alpha\n[beta]: https://example.com/beta \"Beta title\"\n[alpha]: https://example.com/duplicate-ignored\n[pic]: https://example.com/pic.png"},"output":{"text":"*Reference links defined far away*\n\nThe first reference: https://example.com/alpha appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn inline case-mismatch: https://example.com/alpha must resolve the same target.\n\nA second reference: https://example.com/beta with a title, an image reference: https://example.com/pic.png,\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: alpha: https://example.com/alpha and collapsed style: beta: https://example.com/beta.\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest."},"html":{"text":"<h1>Reference links defined far away</h1><p>The <a href=\"https://example.com/alpha\">first reference</a> appears at the top, while its definition\nsits at the very bottom of the document.</p><p>An <a href=\"https://example.com/alpha\">inline case-mismatch</a> must resolve the same target.</p><p>A <a href=\"https://example.com/beta\">second reference</a> with a title, an <a href=\"https://example.com/pic.png\">image reference</a>,\nand an [undefined reference][missing] that stays literal.</p><p>Shortcut style: <a href=\"https://example.com/alpha\">alpha</a> and collapsed style: <a href=\"https://example.com/beta\">beta</a>.</p><p>Paragraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.</p>"},"changes":[]}
{"id":"doc/reference-links/convert/google-chat","cleaned":{"text":"# Reference links defined far away\n\nThe [first reference][alpha] appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch][ALPHA] must resolve the same target.\n\nA [second reference][beta] with a title, an ![image reference][pic],\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha] and collapsed style: [beta][].\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.\n\n[alpha]: https://example.com/alpha\n[beta]: https://example.com/beta \"Beta title\"\n[alpha]: https://example.com/duplicate-ignored\n[pic]: https://example.com/pic.png"},"output":{"text":"*Reference links defined far away*\n\nThe first reference: https://example.com/alpha appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn inline case-mismatch: https://example.com/alpha must resolve the same target.\n\nA second reference: https://example.com/beta with a title, an image reference: https://example.com/pic.png,\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: alpha: https://example.com/alpha and collapsed style: beta: https://example.com/beta.\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest."},"html":{"text":"<h1>Reference links defined far away</h1><p>The <a href=\"https://example.com/alpha\">first reference</a> appears at the top, while its definition\nsits at the very bottom of the document.</p><p>An <a href=\"https://example.com/alpha\">inline case-mismatch</a> must resolve the same target.</p><p>A <a href=\"https://example.com/beta\">second reference</a> with a title, an <a href=\"https://example.com/pic.png\">image reference</a>,\nand an [undefined reference][missing] that stays literal.</p><p>Shortcut style: <a href=\"https://example.com/alpha\">alpha</a> and collapsed style: <a href=\"https://example.com/beta\">beta</a>.</p><p>Paragraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.</p>"},"changes":[]}
{"id":"doc/reference-links/convert/discord","cleaned":{"text":"# Reference links defined far away\n\nThe [first reference][alpha] appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch][ALPHA] must resolve the same target.\n\nA [second reference][beta] with a title, an ![image reference][pic],\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha] and collapsed style: [beta][].\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.\n\n[alpha]: https://example.com/alpha\n[beta]: https://example.com/beta \"Beta title\"\n[alpha]: https://example.com/duplicate-ignored\n[pic]: https://example.com/pic.png"},"output":{"text":"# Reference links defined far away\n\nThe [first reference](https://example.com/alpha) appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch](https://example.com/alpha) must resolve the same target.\n\nA [second reference](https://example.com/beta) with a title, an image reference: https://example.com/pic.png,\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha](https://example.com/alpha) and collapsed style: [beta](https://example.com/beta).\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest."},"html":{"text":"<h1>Reference links defined far away</h1><p>The <a href=\"https://example.com/alpha\">first reference</a> appears at the top, while its definition\nsits at the very bottom of the document.</p><p>An <a href=\"https://example.com/alpha\">inline case-mismatch</a> must resolve the same target.</p><p>A <a href=\"https://example.com/beta\">second reference</a> with a title, an <a href=\"https://example.com/pic.png\">image reference</a>,\nand an [undefined reference][missing] that stays literal.</p><p>Shortcut style: <a href=\"https://example.com/alpha\">alpha</a> and collapsed style: <a href=\"https://example.com/beta\">beta</a>.</p><p>Paragraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.</p>"},"changes":[]}
{"id":"doc/reference-links/convert/slack","cleaned":{"text":"# Reference links defined far away\n\nThe [first reference][alpha] appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch][ALPHA] must resolve the same target.\n\nA [second reference][beta] with a title, an ![image reference][pic],\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha] and collapsed style: [beta][].\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.\n\n[alpha]: https://example.com/alpha\n[beta]: https://example.com/beta \"Beta title\"\n[alpha]: https://example.com/duplicate-ignored\n[pic]: https://example.com/pic.png"},"output":{"text":"*Reference links defined far away*\n\nThe <https://example.com/alpha|first reference> appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn <https://example.com/alpha|inline case-mismatch> must resolve the same target.\n\nA <https://example.com/beta|second reference> with a title, an image reference: https://example.com/pic.png,\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: <https://example.com/alpha|alpha> and collapsed style: <https://example.com/beta|beta>.\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest."},"html":{"text":"<h1>Reference links defined far away</h1><p>The <a href=\"https://example.com/alpha\">first reference</a> appears at the top, while its definition\nsits at the very bottom of the document.</p><p>An <a href=\"https://example.com/alpha\">inline case-mismatch</a> must resolve the same target.</p><p>A <a href=\"https://example.com/beta\">second reference</a> with a title, an <a href=\"https://example.com/pic.png\">image reference</a>,\nand an [undefined reference][missing] that stays literal.</p><p>Shortcut style: <a href=\"https://example.com/alpha\">alpha</a> and collapsed style: <a href=\"https://example.com/beta\">beta</a>.</p><p>Paragraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.</p>"},"changes":[]}
{"id":"doc/reference-links/convert/teams","cleaned":{"text":"# Reference links defined far away\n\nThe [first reference][alpha] appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch][ALPHA] must resolve the same target.\n\nA [second reference][beta] with a title, an ![image reference][pic],\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha] and collapsed style: [beta][].\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.\n\n[alpha]: https://example.com/alpha\n[beta]: https://example.com/beta \"Beta title\"\n[alpha]: https://example.com/duplicate-ignored\n[pic]: https://example.com/pic.png"},"output":{"text":"# Reference links defined far away\n\nThe [first reference](https://example.com/alpha) appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch](https://example.com/alpha) must resolve the same target.\n\nA [second reference](https://example.com/beta) with a title, an image reference: https://example.com/pic.png,\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha](https://example.com/alpha) and collapsed style: [beta](https://example.com/beta).\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest."},"html":{"text":"<h1>Reference links defined far away</h1><p>The <a href=\"https://example.com/alpha\">first reference</a> appears at the top, while its definition\nsits at the very bottom of the document.</p><p>An <a href=\"https://example.com/alpha\">inline case-mismatch</a> must resolve the same target.</p><p>A <a href=\"https://example.com/beta\">second reference</a> with a title, an <a href=\"https://example.com/pic.png\">image reference</a>,\nand an [undefined reference][missing] that stays literal.</p><p>Shortcut style: <a href=\"https://example.com/alpha\">alpha</a> and collapsed style: <a href=\"https://example.com/beta\">beta</a>.</p><p>Paragraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.</p>"},"changes":[]}
{"id":"doc/reference-links/convert/zendesk","cleaned":{"text":"# Reference links defined far away\n\nThe [first reference][alpha] appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch][ALPHA] must resolve the same target.\n\nA [second reference][beta] with a title, an ![image reference][pic],\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha] and collapsed style: [beta][].\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.\n\n[alpha]: https://example.com/alpha\n[beta]: https://example.com/beta \"Beta title\"\n[alpha]: https://example.com/duplicate-ignored\n[pic]: https://example.com/pic.png"},"output":{"text":"# Reference links defined far away\n\nThe [first reference](https://example.com/alpha) appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch](https://example.com/alpha) must resolve the same target.\n\nA [second reference](https://example.com/beta) with a title, an image reference: https://example.com/pic.png,\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha](https://example.com/alpha) and collapsed style: [beta](https://example.com/beta).\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest."},"html":{"text":"<h1>Reference links defined far away</h1><p>The <a href=\"https://example.com/alpha\">first reference</a> appears at the top, while its definition\nsits at the very bottom of the document.</p><p>An <a href=\"https://example.com/alpha\">inline case-mismatch</a> must resolve the same target.</p><p>A <a href=\"https://example.com/beta\">second reference</a> with a title, an <a href=\"https://example.com/pic.png\">image reference</a>,\nand an [undefined reference][missing] that stays literal.</p><p>Shortcut style: <a href=\"https://example.com/alpha\">alpha</a> and collapsed style: <a href=\"https://example.com/beta\">beta</a>.</p><p>Paragraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.</p>"},"changes":[]}
{"id":"doc/reference-links/convert/jira","cleaned":{"text":"# Reference links defined far away\n\nThe [first reference][alpha] appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch][ALPHA] must resolve the same target.\n\nA [second reference][beta] with a title, an ![image reference][pic],\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha] and collapsed style: [beta][].\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.\n\n[alpha]: https://example.com/alpha\n[beta]: https://example.com/beta \"Beta title\"\n[alpha]: https://example.com/duplicate-ignored\n[pic]: https://example.com/pic.png"},"output":{"text":"# Reference links defined far away\n\nThe [first reference](https://example.com/alpha) appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch](https://example.com/alpha) must resolve the same target.\n\nA [second reference](https://example.com/beta) with a title, an image reference: https://example.com/pic.png,\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha](https://example.com/alpha) and collapsed style: [beta](https://example.com/beta).\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest."},"html":{"text":"<h1>Reference links defined far away</h1><p>The <a href=\"https://example.com/alpha\">first reference</a> appears at the top, while its definition\nsits at the very bottom of the document.</p><p>An <a href=\"https://example.com/alpha\">inline case-mismatch</a> must resolve the same target.</p><p>A <a href=\"https://example.com/beta\">second reference</a> with a title, an <a href=\"https://example.com/pic.png\">image reference</a>,\nand an [undefined reference][missing] that stays literal.</p><p>Shortcut style: <a href=\"https://example.com/alpha\">alpha</a> and collapsed style: <a href=\"https://example.com/beta\">beta</a>.</p><p>Paragraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.</p>"},"changes":[]}
{"id":"doc/reference-links/convert/plain","cleaned":{"text":"# Reference links defined far away\n\nThe [first reference][alpha] appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch][ALPHA] must resolve the same target.\n\nA [second reference][beta] with a title, an ![image reference][pic],\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha] and collapsed style: [beta][].\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.\n\n[alpha]: https://example.com/alpha\n[beta]: https://example.com/beta \"Beta title\"\n[alpha]: https://example.com/duplicate-ignored\n[pic]: https://example.com/pic.png"},"output":{"text":"Reference links defined far away\n\nThe first reference (https://example.com/alpha) appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn inline case-mismatch (https://example.com/alpha) must resolve the same target.\n\nA second reference (https://example.com/beta) with a title, an image reference: https://example.com/pic.png,\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: alpha (https://example.com/alpha) and collapsed style: beta (https://example.com/beta).\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest."},"html":{"text":"<h1>Reference links defined far away</h1><p>The <a href=\"https://example.com/alpha\">first reference</a> appears at the top, while its definition\nsits at the very bottom of the document.</p><p>An <a href=\"https://example.com/alpha\">inline case-mismatch</a> must resolve the same target.</p><p>A <a href=\"https://example.com/beta\">second reference</a> with a title, an <a href=\"https://example.com/pic.png\">image reference</a>,\nand an [undefined reference][missing] that stays literal.</p><p>Shortcut style: <a href=\"https://example.com/alpha\">alpha</a> and collapsed style: <a href=\"https://example.com/beta\">beta</a>.</p><p>Paragraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.</p>"},"changes":[]}
{"id":"doc/reference-links/whatsapp-preview","fnv":"1e9db3b2","len":1258}
{"id":"doc/reference-links/diff-cleanup","val":[{"type":"same","value":"# Reference links defined far away\n\nThe [first reference][alpha] appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch][ALPHA] must resolve the same target.\n\nA [second reference][beta] with a title, an ![image reference][pic],\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha] and collapsed style: [beta][].\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.\n\n[alpha]: https://example.com/alpha\n[beta]: https://example.com/beta \"Beta title\"\n[alpha]: https://example.com/duplicate-ignored\n[pic]: https://example.com/pic.png"},{"type":"removed","value":"\n"}]}
{"id":"doc/reference-links/workflow/auto/whatsapp","detected":"Markdown","cleaned":{"text":"# Reference links defined far away\n\nThe [first reference][alpha] appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch][ALPHA] must resolve the same target.\n\nA [second reference][beta] with a title, an ![image reference][pic],\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha] and collapsed style: [beta][].\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.\n\n[alpha]: https://example.com/alpha\n[beta]: https://example.com/beta \"Beta title\"\n[alpha]: https://example.com/duplicate-ignored\n[pic]: https://example.com/pic.png"},"output":{"text":"*Reference links defined far away*\n\nThe first reference: https://example.com/alpha appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn inline case-mismatch: https://example.com/alpha must resolve the same target.\n\nA second reference: https://example.com/beta with a title, an image reference: https://example.com/pic.png,\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: alpha: https://example.com/alpha and collapsed style: beta: https://example.com/beta.\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest."},"html":{"text":"<h1>Reference links defined far away</h1><p>The <a href=\"https://example.com/alpha\">first reference</a> appears at the top, while its definition\nsits at the very bottom of the document.</p><p>An <a href=\"https://example.com/alpha\">inline case-mismatch</a> must resolve the same target.</p><p>A <a href=\"https://example.com/beta\">second reference</a> with a title, an <a href=\"https://example.com/pic.png\">image reference</a>,\nand an [undefined reference][missing] that stays literal.</p><p>Shortcut style: <a href=\"https://example.com/alpha\">alpha</a> and collapsed style: <a href=\"https://example.com/beta\">beta</a>.</p><p>Paragraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.</p>"},"changes":[]}
{"id":"doc/reference-links/workflow/auto/google-chat","detected":"Markdown","cleaned":{"text":"# Reference links defined far away\n\nThe [first reference][alpha] appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch][ALPHA] must resolve the same target.\n\nA [second reference][beta] with a title, an ![image reference][pic],\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha] and collapsed style: [beta][].\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.\n\n[alpha]: https://example.com/alpha\n[beta]: https://example.com/beta \"Beta title\"\n[alpha]: https://example.com/duplicate-ignored\n[pic]: https://example.com/pic.png"},"output":{"text":"*Reference links defined far away*\n\nThe first reference: https://example.com/alpha appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn inline case-mismatch: https://example.com/alpha must resolve the same target.\n\nA second reference: https://example.com/beta with a title, an image reference: https://example.com/pic.png,\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: alpha: https://example.com/alpha and collapsed style: beta: https://example.com/beta.\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest."},"html":{"text":"<h1>Reference links defined far away</h1><p>The <a href=\"https://example.com/alpha\">first reference</a> appears at the top, while its definition\nsits at the very bottom of the document.</p><p>An <a href=\"https://example.com/alpha\">inline case-mismatch</a> must resolve the same target.</p><p>A <a href=\"https://example.com/beta\">second reference</a> with a title, an <a href=\"https://example.com/pic.png\">image reference</a>,\nand an [undefined reference][missing] that stays literal.</p><p>Shortcut style: <a href=\"https://example.com/alpha\">alpha</a> and collapsed style: <a href=\"https://example.com/beta\">beta</a>.</p><p>Paragraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.</p>"},"changes":[]}
{"id":"doc/reference-links/workflow/auto/discord","detected":"Markdown","cleaned":{"text":"# Reference links defined far away\n\nThe [first reference][alpha] appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch][ALPHA] must resolve the same target.\n\nA [second reference][beta] with a title, an ![image reference][pic],\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha] and collapsed style: [beta][].\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.\n\n[alpha]: https://example.com/alpha\n[beta]: https://example.com/beta \"Beta title\"\n[alpha]: https://example.com/duplicate-ignored\n[pic]: https://example.com/pic.png"},"output":{"text":"# Reference links defined far away\n\nThe [first reference](https://example.com/alpha) appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch](https://example.com/alpha) must resolve the same target.\n\nA [second reference](https://example.com/beta) with a title, an image reference: https://example.com/pic.png,\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha](https://example.com/alpha) and collapsed style: [beta](https://example.com/beta).\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest."},"html":{"text":"<h1>Reference links defined far away</h1><p>The <a href=\"https://example.com/alpha\">first reference</a> appears at the top, while its definition\nsits at the very bottom of the document.</p><p>An <a href=\"https://example.com/alpha\">inline case-mismatch</a> must resolve the same target.</p><p>A <a href=\"https://example.com/beta\">second reference</a> with a title, an <a href=\"https://example.com/pic.png\">image reference</a>,\nand an [undefined reference][missing] that stays literal.</p><p>Shortcut style: <a href=\"https://example.com/alpha\">alpha</a> and collapsed style: <a href=\"https://example.com/beta\">beta</a>.</p><p>Paragraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.</p>"},"changes":[]}
{"id":"doc/reference-links/workflow/auto/slack","detected":"Markdown","cleaned":{"text":"# Reference links defined far away\n\nThe [first reference][alpha] appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch][ALPHA] must resolve the same target.\n\nA [second reference][beta] with a title, an ![image reference][pic],\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha] and collapsed style: [beta][].\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.\n\n[alpha]: https://example.com/alpha\n[beta]: https://example.com/beta \"Beta title\"\n[alpha]: https://example.com/duplicate-ignored\n[pic]: https://example.com/pic.png"},"output":{"text":"*Reference links defined far away*\n\nThe <https://example.com/alpha|first reference> appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn <https://example.com/alpha|inline case-mismatch> must resolve the same target.\n\nA <https://example.com/beta|second reference> with a title, an image reference: https://example.com/pic.png,\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: <https://example.com/alpha|alpha> and collapsed style: <https://example.com/beta|beta>.\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest."},"html":{"text":"<h1>Reference links defined far away</h1><p>The <a href=\"https://example.com/alpha\">first reference</a> appears at the top, while its definition\nsits at the very bottom of the document.</p><p>An <a href=\"https://example.com/alpha\">inline case-mismatch</a> must resolve the same target.</p><p>A <a href=\"https://example.com/beta\">second reference</a> with a title, an <a href=\"https://example.com/pic.png\">image reference</a>,\nand an [undefined reference][missing] that stays literal.</p><p>Shortcut style: <a href=\"https://example.com/alpha\">alpha</a> and collapsed style: <a href=\"https://example.com/beta\">beta</a>.</p><p>Paragraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.</p>"},"changes":[]}
{"id":"doc/reference-links/workflow/auto/teams","detected":"Markdown","cleaned":{"text":"# Reference links defined far away\n\nThe [first reference][alpha] appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch][ALPHA] must resolve the same target.\n\nA [second reference][beta] with a title, an ![image reference][pic],\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha] and collapsed style: [beta][].\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.\n\n[alpha]: https://example.com/alpha\n[beta]: https://example.com/beta \"Beta title\"\n[alpha]: https://example.com/duplicate-ignored\n[pic]: https://example.com/pic.png"},"output":{"text":"# Reference links defined far away\n\nThe [first reference](https://example.com/alpha) appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch](https://example.com/alpha) must resolve the same target.\n\nA [second reference](https://example.com/beta) with a title, an image reference: https://example.com/pic.png,\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha](https://example.com/alpha) and collapsed style: [beta](https://example.com/beta).\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest."},"html":{"text":"<h1>Reference links defined far away</h1><p>The <a href=\"https://example.com/alpha\">first reference</a> appears at the top, while its definition\nsits at the very bottom of the document.</p><p>An <a href=\"https://example.com/alpha\">inline case-mismatch</a> must resolve the same target.</p><p>A <a href=\"https://example.com/beta\">second reference</a> with a title, an <a href=\"https://example.com/pic.png\">image reference</a>,\nand an [undefined reference][missing] that stays literal.</p><p>Shortcut style: <a href=\"https://example.com/alpha\">alpha</a> and collapsed style: <a href=\"https://example.com/beta\">beta</a>.</p><p>Paragraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.</p>"},"changes":[]}
{"id":"doc/reference-links/workflow/auto/zendesk","detected":"Markdown","cleaned":{"text":"# Reference links defined far away\n\nThe [first reference][alpha] appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch][ALPHA] must resolve the same target.\n\nA [second reference][beta] with a title, an ![image reference][pic],\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha] and collapsed style: [beta][].\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.\n\n[alpha]: https://example.com/alpha\n[beta]: https://example.com/beta \"Beta title\"\n[alpha]: https://example.com/duplicate-ignored\n[pic]: https://example.com/pic.png"},"output":{"text":"# Reference links defined far away\n\nThe [first reference](https://example.com/alpha) appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch](https://example.com/alpha) must resolve the same target.\n\nA [second reference](https://example.com/beta) with a title, an image reference: https://example.com/pic.png,\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha](https://example.com/alpha) and collapsed style: [beta](https://example.com/beta).\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest."},"html":{"text":"<h1>Reference links defined far away</h1><p>The <a href=\"https://example.com/alpha\">first reference</a> appears at the top, while its definition\nsits at the very bottom of the document.</p><p>An <a href=\"https://example.com/alpha\">inline case-mismatch</a> must resolve the same target.</p><p>A <a href=\"https://example.com/beta\">second reference</a> with a title, an image reference: <a href=\"https://example.com/pic.png\">https://example.com/pic.png</a>,\nand an [undefined reference][missing] that stays literal.</p><p>Shortcut style: <a href=\"https://example.com/alpha\">alpha</a> and collapsed style: <a href=\"https://example.com/beta\">beta</a>.</p><p>Paragraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.</p>"},"changes":[]}
{"id":"doc/reference-links/workflow/auto/jira","detected":"Markdown","cleaned":{"text":"# Reference links defined far away\n\nThe [first reference][alpha] appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch][ALPHA] must resolve the same target.\n\nA [second reference][beta] with a title, an ![image reference][pic],\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha] and collapsed style: [beta][].\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.\n\n[alpha]: https://example.com/alpha\n[beta]: https://example.com/beta \"Beta title\"\n[alpha]: https://example.com/duplicate-ignored\n[pic]: https://example.com/pic.png"},"output":{"text":"# Reference links defined far away\n\nThe [first reference](https://example.com/alpha) appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch](https://example.com/alpha) must resolve the same target.\n\nA [second reference](https://example.com/beta) with a title, an image reference: https://example.com/pic.png,\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha](https://example.com/alpha) and collapsed style: [beta](https://example.com/beta).\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest."},"html":{"text":"<h1>Reference links defined far away</h1><p>The <a href=\"https://example.com/alpha\">first reference</a> appears at the top, while its definition\nsits at the very bottom of the document.</p><p>An <a href=\"https://example.com/alpha\">inline case-mismatch</a> must resolve the same target.</p><p>A <a href=\"https://example.com/beta\">second reference</a> with a title, an image reference: <a href=\"https://example.com/pic.png\">https://example.com/pic.png</a>,\nand an [undefined reference][missing] that stays literal.</p><p>Shortcut style: <a href=\"https://example.com/alpha\">alpha</a> and collapsed style: <a href=\"https://example.com/beta\">beta</a>.</p><p>Paragraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.</p>"},"changes":[]}
{"id":"doc/reference-links/workflow/auto/plain","detected":"Markdown","cleaned":{"text":"# Reference links defined far away\n\nThe [first reference][alpha] appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch][ALPHA] must resolve the same target.\n\nA [second reference][beta] with a title, an ![image reference][pic],\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha] and collapsed style: [beta][].\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.\n\n[alpha]: https://example.com/alpha\n[beta]: https://example.com/beta \"Beta title\"\n[alpha]: https://example.com/duplicate-ignored\n[pic]: https://example.com/pic.png"},"output":{"text":"Reference links defined far away\n\nThe first reference (https://example.com/alpha) appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn inline case-mismatch (https://example.com/alpha) must resolve the same target.\n\nA second reference (https://example.com/beta) with a title, an image reference: https://example.com/pic.png,\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: alpha (https://example.com/alpha) and collapsed style: beta (https://example.com/beta).\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest."},"html":{"text":"<h1>Reference links defined far away</h1><p>The <a href=\"https://example.com/alpha\">first reference</a> appears at the top, while its definition\nsits at the very bottom of the document.</p><p>An <a href=\"https://example.com/alpha\">inline case-mismatch</a> must resolve the same target.</p><p>A <a href=\"https://example.com/beta\">second reference</a> with a title, an <a href=\"https://example.com/pic.png\">image reference</a>,\nand an [undefined reference][missing] that stays literal.</p><p>Shortcut style: <a href=\"https://example.com/alpha\">alpha</a> and collapsed style: <a href=\"https://example.com/beta\">beta</a>.</p><p>Paragraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.</p>"},"changes":[]}
{"id":"doc/reference-links/workflow/auto/imessage","detected":"Markdown","cleaned":{"text":"# Reference links defined far away\n\nThe [first reference][alpha] appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch][ALPHA] must resolve the same target.\n\nA [second reference][beta] with a title, an ![image reference][pic],\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha] and collapsed style: [beta][].\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.\n\n[alpha]: https://example.com/alpha\n[beta]: https://example.com/beta \"Beta title\"\n[alpha]: https://example.com/duplicate-ignored\n[pic]: https://example.com/pic.png"},"output":{"text":"Reference links defined far away\n\nThe first reference (https://example.com/alpha) appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn inline case-mismatch (https://example.com/alpha) must resolve the same target.\n\nA second reference (https://example.com/beta) with a title, an image reference: https://example.com/pic.png,\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: alpha (https://example.com/alpha) and collapsed style: beta (https://example.com/beta).\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest."},"html":{"text":"<h1>Reference links defined far away</h1><p>The <a href=\"https://example.com/alpha\">first reference</a> appears at the top, while its definition\nsits at the very bottom of the document.</p><p>An <a href=\"https://example.com/alpha\">inline case-mismatch</a> must resolve the same target.</p><p>A <a href=\"https://example.com/beta\">second reference</a> with a title, an <a href=\"https://example.com/pic.png\">image reference</a>,\nand an [undefined reference][missing] that stays literal.</p><p>Shortcut style: <a href=\"https://example.com/alpha\">alpha</a> and collapsed style: <a href=\"https://example.com/beta\">beta</a>.</p><p>Paragraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.</p>"},"changes":[]}
{"id":"doc/reference-links/workflow/auto/signal","detected":"Markdown","cleaned":{"text":"# Reference links defined far away\n\nThe [first reference][alpha] appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch][ALPHA] must resolve the same target.\n\nA [second reference][beta] with a title, an ![image reference][pic],\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha] and collapsed style: [beta][].\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.\n\n[alpha]: https://example.com/alpha\n[beta]: https://example.com/beta \"Beta title\"\n[alpha]: https://example.com/duplicate-ignored\n[pic]: https://example.com/pic.png"},"output":{"text":"Reference links defined far away\n\nThe first reference (https://example.com/alpha) appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn inline case-mismatch (https://example.com/alpha) must resolve the same target.\n\nA second reference (https://example.com/beta) with a title, an image reference: https://example.com/pic.png,\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: alpha (https://example.com/alpha) and collapsed style: beta (https://example.com/beta).\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest."},"html":{"text":"<h1>Reference links defined far away</h1><p>The <a href=\"https://example.com/alpha\">first reference</a> appears at the top, while its definition\nsits at the very bottom of the document.</p><p>An <a href=\"https://example.com/alpha\">inline case-mismatch</a> must resolve the same target.</p><p>A <a href=\"https://example.com/beta\">second reference</a> with a title, an <a href=\"https://example.com/pic.png\">image reference</a>,\nand an [undefined reference][missing] that stays literal.</p><p>Shortcut style: <a href=\"https://example.com/alpha\">alpha</a> and collapsed style: <a href=\"https://example.com/beta\">beta</a>.</p><p>Paragraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.</p>"},"changes":[]}
{"id":"doc/reference-links/workflow/auto/telegram","detected":"Markdown","cleaned":{"text":"# Reference links defined far away\n\nThe [first reference][alpha] appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch][ALPHA] must resolve the same target.\n\nA [second reference][beta] with a title, an ![image reference][pic],\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha] and collapsed style: [beta][].\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.\n\n[alpha]: https://example.com/alpha\n[beta]: https://example.com/beta \"Beta title\"\n[alpha]: https://example.com/duplicate-ignored\n[pic]: https://example.com/pic.png"},"output":{"text":"Reference links defined far away\n\nThe first reference (https://example.com/alpha) appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn inline case-mismatch (https://example.com/alpha) must resolve the same target.\n\nA second reference (https://example.com/beta) with a title, an image reference: https://example.com/pic.png,\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: alpha (https://example.com/alpha) and collapsed style: beta (https://example.com/beta).\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest."},"html":{"text":"<h1>Reference links defined far away</h1><p>The <a href=\"https://example.com/alpha\">first reference</a> appears at the top, while its definition\nsits at the very bottom of the document.</p><p>An <a href=\"https://example.com/alpha\">inline case-mismatch</a> must resolve the same target.</p><p>A <a href=\"https://example.com/beta\">second reference</a> with a title, an <a href=\"https://example.com/pic.png\">image reference</a>,\nand an [undefined reference][missing] that stays literal.</p><p>Shortcut style: <a href=\"https://example.com/alpha\">alpha</a> and collapsed style: <a href=\"https://example.com/beta\">beta</a>.</p><p>Paragraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.</p>"},"changes":[]}
{"id":"doc/reference-links/workflow/auto/gmail","detected":"Markdown","cleaned":{"text":"# Reference links defined far away\n\nThe [first reference][alpha] appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch][ALPHA] must resolve the same target.\n\nA [second reference][beta] with a title, an ![image reference][pic],\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha] and collapsed style: [beta][].\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.\n\n[alpha]: https://example.com/alpha\n[beta]: https://example.com/beta \"Beta title\"\n[alpha]: https://example.com/duplicate-ignored\n[pic]: https://example.com/pic.png"},"output":{"text":"Reference links defined far away\n\nThe first reference (https://example.com/alpha) appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn inline case-mismatch (https://example.com/alpha) must resolve the same target.\n\nA second reference (https://example.com/beta) with a title, an image reference: https://example.com/pic.png,\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: alpha (https://example.com/alpha) and collapsed style: beta (https://example.com/beta).\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest."},"html":{"text":"<h1>Reference links defined far away</h1><p>The <a href=\"https://example.com/alpha\">first reference</a> appears at the top, while its definition\nsits at the very bottom of the document.</p><p>An <a href=\"https://example.com/alpha\">inline case-mismatch</a> must resolve the same target.</p><p>A <a href=\"https://example.com/beta\">second reference</a> with a title, an <a href=\"https://example.com/pic.png\">image reference</a>,\nand an [undefined reference][missing] that stays literal.</p><p>Shortcut style: <a href=\"https://example.com/alpha\">alpha</a> and collapsed style: <a href=\"https://example.com/beta\">beta</a>.</p><p>Paragraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.</p>"},"changes":[]}
{"id":"doc/reference-links/workflow/auto/outlook","detected":"Markdown","cleaned":{"text":"# Reference links defined far away\n\nThe [first reference][alpha] appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch][ALPHA] must resolve the same target.\n\nA [second reference][beta] with a title, an ![image reference][pic],\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha] and collapsed style: [beta][].\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.\n\n[alpha]: https://example.com/alpha\n[beta]: https://example.com/beta \"Beta title\"\n[alpha]: https://example.com/duplicate-ignored\n[pic]: https://example.com/pic.png"},"output":{"text":"Reference links defined far away\n\nThe first reference (https://example.com/alpha) appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn inline case-mismatch (https://example.com/alpha) must resolve the same target.\n\nA second reference (https://example.com/beta) with a title, an image reference: https://example.com/pic.png,\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: alpha (https://example.com/alpha) and collapsed style: beta (https://example.com/beta).\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest."},"html":{"text":"<h1>Reference links defined far away</h1><p>The <a href=\"https://example.com/alpha\">first reference</a> appears at the top, while its definition\nsits at the very bottom of the document.</p><p>An <a href=\"https://example.com/alpha\">inline case-mismatch</a> must resolve the same target.</p><p>A <a href=\"https://example.com/beta\">second reference</a> with a title, an <a href=\"https://example.com/pic.png\">image reference</a>,\nand an [undefined reference][missing] that stays literal.</p><p>Shortcut style: <a href=\"https://example.com/alpha\">alpha</a> and collapsed style: <a href=\"https://example.com/beta\">beta</a>.</p><p>Paragraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.</p>"},"changes":[]}
{"id":"doc/reference-links/workflow/auto/shortwave","detected":"Markdown","cleaned":{"text":"# Reference links defined far away\n\nThe [first reference][alpha] appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch][ALPHA] must resolve the same target.\n\nA [second reference][beta] with a title, an ![image reference][pic],\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha] and collapsed style: [beta][].\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.\n\n[alpha]: https://example.com/alpha\n[beta]: https://example.com/beta \"Beta title\"\n[alpha]: https://example.com/duplicate-ignored\n[pic]: https://example.com/pic.png"},"output":{"text":"Reference links defined far away\n\nThe first reference (https://example.com/alpha) appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn inline case-mismatch (https://example.com/alpha) must resolve the same target.\n\nA second reference (https://example.com/beta) with a title, an image reference: https://example.com/pic.png,\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: alpha (https://example.com/alpha) and collapsed style: beta (https://example.com/beta).\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest."},"html":{"text":"<h1>Reference links defined far away</h1><p>The <a href=\"https://example.com/alpha\">first reference</a> appears at the top, while its definition\nsits at the very bottom of the document.</p><p>An <a href=\"https://example.com/alpha\">inline case-mismatch</a> must resolve the same target.</p><p>A <a href=\"https://example.com/beta\">second reference</a> with a title, an <a href=\"https://example.com/pic.png\">image reference</a>,\nand an [undefined reference][missing] that stays literal.</p><p>Shortcut style: <a href=\"https://example.com/alpha\">alpha</a> and collapsed style: <a href=\"https://example.com/beta\">beta</a>.</p><p>Paragraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.</p>"},"changes":[]}
{"id":"doc/reference-links/workflow/auto/notion","detected":"Markdown","cleaned":{"text":"# Reference links defined far away\n\nThe [first reference][alpha] appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch][ALPHA] must resolve the same target.\n\nA [second reference][beta] with a title, an ![image reference][pic],\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha] and collapsed style: [beta][].\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.\n\n[alpha]: https://example.com/alpha\n[beta]: https://example.com/beta \"Beta title\"\n[alpha]: https://example.com/duplicate-ignored\n[pic]: https://example.com/pic.png"},"output":{"text":"Reference links defined far away\n\nThe first reference (https://example.com/alpha) appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn inline case-mismatch (https://example.com/alpha) must resolve the same target.\n\nA second reference (https://example.com/beta) with a title, an image reference: https://example.com/pic.png,\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: alpha (https://example.com/alpha) and collapsed style: beta (https://example.com/beta).\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest."},"html":{"text":"<h1>Reference links defined far away</h1><p>The <a href=\"https://example.com/alpha\">first reference</a> appears at the top, while its definition\nsits at the very bottom of the document.</p><p>An <a href=\"https://example.com/alpha\">inline case-mismatch</a> must resolve the same target.</p><p>A <a href=\"https://example.com/beta\">second reference</a> with a title, an <a href=\"https://example.com/pic.png\">image reference</a>,\nand an [undefined reference][missing] that stays literal.</p><p>Shortcut style: <a href=\"https://example.com/alpha\">alpha</a> and collapsed style: <a href=\"https://example.com/beta\">beta</a>.</p><p>Paragraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.</p>"},"changes":[]}
{"id":"doc/reference-links/workflow/auto/confluence","detected":"Markdown","cleaned":{"text":"# Reference links defined far away\n\nThe [first reference][alpha] appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch][ALPHA] must resolve the same target.\n\nA [second reference][beta] with a title, an ![image reference][pic],\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha] and collapsed style: [beta][].\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.\n\n[alpha]: https://example.com/alpha\n[beta]: https://example.com/beta \"Beta title\"\n[alpha]: https://example.com/duplicate-ignored\n[pic]: https://example.com/pic.png"},"output":{"text":"Reference links defined far away\n\nThe first reference (https://example.com/alpha) appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn inline case-mismatch (https://example.com/alpha) must resolve the same target.\n\nA second reference (https://example.com/beta) with a title, an image reference: https://example.com/pic.png,\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: alpha (https://example.com/alpha) and collapsed style: beta (https://example.com/beta).\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest."},"html":{"text":"<h1>Reference links defined far away</h1><p>The <a href=\"https://example.com/alpha\">first reference</a> appears at the top, while its definition\nsits at the very bottom of the document.</p><p>An <a href=\"https://example.com/alpha\">inline case-mismatch</a> must resolve the same target.</p><p>A <a href=\"https://example.com/beta\">second reference</a> with a title, an <a href=\"https://example.com/pic.png\">image reference</a>,\nand an [undefined reference][missing] that stays literal.</p><p>Shortcut style: <a href=\"https://example.com/alpha\">alpha</a> and collapsed style: <a href=\"https://example.com/beta\">beta</a>.</p><p>Paragraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.</p>"},"changes":[]}
{"id":"doc/reference-links/workflow/auto/calendar","detected":"Markdown","cleaned":{"text":"# Reference links defined far away\n\nThe [first reference][alpha] appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch][ALPHA] must resolve the same target.\n\nA [second reference][beta] with a title, an ![image reference][pic],\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha] and collapsed style: [beta][].\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.\n\n[alpha]: https://example.com/alpha\n[beta]: https://example.com/beta \"Beta title\"\n[alpha]: https://example.com/duplicate-ignored\n[pic]: https://example.com/pic.png"},"output":{"text":"Reference links defined far away\n\nThe first reference (https://example.com/alpha) appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn inline case-mismatch (https://example.com/alpha) must resolve the same target.\n\nA second reference (https://example.com/beta) with a title, an image reference: https://example.com/pic.png,\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: alpha (https://example.com/alpha) and collapsed style: beta (https://example.com/beta).\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest."},"html":{"text":"<h1>Reference links defined far away</h1><p>The <a href=\"https://example.com/alpha\">first reference</a> appears at the top, while its definition\nsits at the very bottom of the document.</p><p>An <a href=\"https://example.com/alpha\">inline case-mismatch</a> must resolve the same target.</p><p>A <a href=\"https://example.com/beta\">second reference</a> with a title, an <a href=\"https://example.com/pic.png\">image reference</a>,\nand an [undefined reference][missing] that stays literal.</p><p>Shortcut style: <a href=\"https://example.com/alpha\">alpha</a> and collapsed style: <a href=\"https://example.com/beta\">beta</a>.</p><p>Paragraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.</p>"},"changes":[]}
{"id":"doc/reference-links/workflow/auto/word","detected":"Markdown","cleaned":{"text":"# Reference links defined far away\n\nThe [first reference][alpha] appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch][ALPHA] must resolve the same target.\n\nA [second reference][beta] with a title, an ![image reference][pic],\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha] and collapsed style: [beta][].\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.\n\n[alpha]: https://example.com/alpha\n[beta]: https://example.com/beta \"Beta title\"\n[alpha]: https://example.com/duplicate-ignored\n[pic]: https://example.com/pic.png"},"output":{"text":"Reference links defined far away\n\nThe first reference (https://example.com/alpha) appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn inline case-mismatch (https://example.com/alpha) must resolve the same target.\n\nA second reference (https://example.com/beta) with a title, an image reference: https://example.com/pic.png,\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: alpha (https://example.com/alpha) and collapsed style: beta (https://example.com/beta).\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest."},"html":{"text":"<h1>Reference links defined far away</h1><p>The <a href=\"https://example.com/alpha\">first reference</a> appears at the top, while its definition\nsits at the very bottom of the document.</p><p>An <a href=\"https://example.com/alpha\">inline case-mismatch</a> must resolve the same target.</p><p>A <a href=\"https://example.com/beta\">second reference</a> with a title, an <a href=\"https://example.com/pic.png\">image reference</a>,\nand an [undefined reference][missing] that stays literal.</p><p>Shortcut style: <a href=\"https://example.com/alpha\">alpha</a> and collapsed style: <a href=\"https://example.com/beta\">beta</a>.</p><p>Paragraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.</p>"},"changes":[]}
{"id":"doc/reference-links/workflow/auto/google-docs","detected":"Markdown","cleaned":{"text":"# Reference links defined far away\n\nThe [first reference][alpha] appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch][ALPHA] must resolve the same target.\n\nA [second reference][beta] with a title, an ![image reference][pic],\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha] and collapsed style: [beta][].\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.\n\n[alpha]: https://example.com/alpha\n[beta]: https://example.com/beta \"Beta title\"\n[alpha]: https://example.com/duplicate-ignored\n[pic]: https://example.com/pic.png"},"output":{"text":"Reference links defined far away\n\nThe first reference (https://example.com/alpha) appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn inline case-mismatch (https://example.com/alpha) must resolve the same target.\n\nA second reference (https://example.com/beta) with a title, an image reference: https://example.com/pic.png,\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: alpha (https://example.com/alpha) and collapsed style: beta (https://example.com/beta).\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest."},"html":{"text":"<h1>Reference links defined far away</h1><p>The <a href=\"https://example.com/alpha\">first reference</a> appears at the top, while its definition\nsits at the very bottom of the document.</p><p>An <a href=\"https://example.com/alpha\">inline case-mismatch</a> must resolve the same target.</p><p>A <a href=\"https://example.com/beta\">second reference</a> with a title, an <a href=\"https://example.com/pic.png\">image reference</a>,\nand an [undefined reference][missing] that stays literal.</p><p>Shortcut style: <a href=\"https://example.com/alpha\">alpha</a> and collapsed style: <a href=\"https://example.com/beta\">beta</a>.</p><p>Paragraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.</p>"},"changes":[]}
{"id":"doc/reference-links/workflow/auto/markdown","detected":"Markdown","cleaned":{"text":"# Reference links defined far away\n\nThe [first reference][alpha] appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch][ALPHA] must resolve the same target.\n\nA [second reference][beta] with a title, an ![image reference][pic],\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha] and collapsed style: [beta][].\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.\n\n[alpha]: https://example.com/alpha\n[beta]: https://example.com/beta \"Beta title\"\n[alpha]: https://example.com/duplicate-ignored\n[pic]: https://example.com/pic.png"},"output":{"text":"# Reference links defined far away\n\nThe [first reference][alpha] appears at the top, while its definition\nsits at the very bottom of the document.\n\nAn [inline case-mismatch][ALPHA] must resolve the same target.\n\nA [second reference][beta] with a title, an ![image reference][pic],\nand an [undefined reference][missing] that stays literal.\n\nShortcut style: [alpha] and collapsed style: [beta][].\n\nParagraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.\n\n[alpha]: https://example.com/alpha\n[beta]: https://example.com/beta \"Beta title\"\n[alpha]: https://example.com/duplicate-ignored\n[pic]: https://example.com/pic.png"},"html":{"text":"<h1>Reference links defined far away</h1><p>The <a href=\"https://example.com/alpha\">first reference</a> appears at the top, while its definition\nsits at the very bottom of the document.</p><p>An <a href=\"https://example.com/alpha\">inline case-mismatch</a> must resolve the same target.</p><p>A <a href=\"https://example.com/beta\">second reference</a> with a title, an <a href=\"https://example.com/pic.png\">image reference</a>,\nand an [undefined reference][missing] that stays literal.</p><p>Shortcut style: <a href=\"https://example.com/alpha\">alpha</a> and collapsed style: <a href=\"https://example.com/beta\">beta</a>.</p><p>Paragraphs of filler so the definitions live far from first use.\nMore filler prose keeps the reference resolution distance honest.</p>"},"changes":[]}
{"id":"doc/reference-links/workflow/markdown/whatsapp","detected":"Markdown","fnv":"a641b219","len":2193}
{"id":"doc/reference-links/workflow/markdown/google-chat","detected":"Markdown","fnv":"a641b219","len":2193}
{"id":"doc/reference-links/workflow/markdown/discord","detected":"Markdown","fnv":"427cacd5","len":2203}
{"id":"doc/reference-links/workflow/markdown/slack","detected":"Markdown","fnv":"b7ea6383","len":2198}
{"id":"doc/reference-links/workflow/markdown/teams","detected":"Markdown","fnv":"427cacd5","len":2203}
{"id":"doc/reference-links/workflow/markdown/zendesk","detected":"Markdown","fnv":"9d4542c3","len":2232}
{"id":"doc/reference-links/workflow/markdown/jira","detected":"Markdown","fnv":"9d4542c3","len":2232}
{"id":"doc/reference-links/workflow/markdown/plain","detected":"Markdown","fnv":"d27f4cb0","len":2196}
{"id":"doc/reference-links/workflow/markdown/imessage","detected":"Markdown","fnv":"d27f4cb0","len":2196}
{"id":"doc/reference-links/workflow/markdown/signal","detected":"Markdown","fnv":"d27f4cb0","len":2196}
{"id":"doc/reference-links/workflow/markdown/telegram","detected":"Markdown","fnv":"d27f4cb0","len":2196}
{"id":"doc/reference-links/workflow/markdown/gmail","detected":"Markdown","fnv":"d27f4cb0","len":2196}
{"id":"doc/reference-links/workflow/markdown/outlook","detected":"Markdown","fnv":"d27f4cb0","len":2196}
{"id":"doc/reference-links/workflow/markdown/shortwave","detected":"Markdown","fnv":"d27f4cb0","len":2196}
{"id":"doc/reference-links/workflow/markdown/notion","detected":"Markdown","fnv":"d27f4cb0","len":2196}
{"id":"doc/reference-links/workflow/markdown/confluence","detected":"Markdown","fnv":"d27f4cb0","len":2196}
{"id":"doc/reference-links/workflow/markdown/calendar","detected":"Markdown","fnv":"d27f4cb0","len":2196}
{"id":"doc/reference-links/workflow/markdown/word","detected":"Markdown","fnv":"d27f4cb0","len":2196}
{"id":"doc/reference-links/workflow/markdown/google-docs","detected":"Markdown","fnv":"d27f4cb0","len":2196}
{"id":"doc/reference-links/workflow/markdown/markdown","detected":"Markdown","fnv":"2d0eaec9","len":2242}
{"id":"doc/reference-links/workflow/plain/whatsapp","detected":"Markdown","fnv":"11c6c600","len":2224}
{"id":"doc/reference-links/workflow/plain/google-chat","detected":"Markdown","fnv":"11c6c600","len":2224}
{"id":"doc/reference-links/workflow/plain/discord","detected":"Markdown","fnv":"11c6c600","len":2224}
{"id":"doc/reference-links/workflow/plain/slack","detected":"Markdown","fnv":"11c6c600","len":2224}
{"id":"doc/reference-links/workflow/plain/teams","detected":"Markdown","fnv":"11c6c600","len":2224}
{"id":"doc/reference-links/workflow/plain/zendesk","detected":"Markdown","fnv":"11c6c600","len":2224}
{"id":"doc/reference-links/workflow/plain/jira","detected":"Markdown","fnv":"11c6c600","len":2224}
{"id":"doc/reference-links/workflow/plain/plain","detected":"Markdown","fnv":"11c6c600","len":2224}
{"id":"doc/reference-links/workflow/plain/imessage","detected":"Markdown","fnv":"11c6c600","len":2224}
{"id":"doc/reference-links/workflow/plain/signal","detected":"Markdown","fnv":"11c6c600","len":2224}
{"id":"doc/reference-links/workflow/plain/telegram","detected":"Markdown","fnv":"11c6c600","len":2224}
{"id":"doc/reference-links/workflow/plain/gmail","detected":"Markdown","fnv":"11c6c600","len":2224}
{"id":"doc/reference-links/workflow/plain/outlook","detected":"Markdown","fnv":"11c6c600","len":2224}
{"id":"doc/reference-links/workflow/plain/shortwave","detected":"Markdown","fnv":"11c6c600","len":2224}
{"id":"doc/reference-links/workflow/plain/notion","detected":"Markdown","fnv":"11c6c600","len":2224}
{"id":"doc/reference-links/workflow/plain/confluence","detected":"Markdown","fnv":"11c6c600","len":2224}
{"id":"doc/reference-links/workflow/plain/calendar","detected":"Markdown","fnv":"11c6c600","len":2224}
{"id":"doc/reference-links/workflow/plain/word","detected":"Markdown","fnv":"11c6c600","len":2224}
{"id":"doc/reference-links/workflow/plain/google-docs","detected":"Markdown","fnv":"11c6c600","len":2224}
{"id":"doc/reference-links/workflow/plain/markdown","detected":"Markdown","fnv":"11c6c600","len":2224}
{"id":"doc/rtl-bidi/detect","val":"Markdown"}
{"id":"doc/rtl-bidi/words","val":89}
{"id":"doc/rtl-bidi/filename/md","val":"rtl-and-bidi.md"}
{"id":"doc/rtl-bidi/filename/docx","val":"rtl-and-bidi.docx"}
{"id":"doc/rtl-bidi/clean/default","text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text.","changes":[{"key":"invisible","count":2,"label":"invisible characters"}]}
{"id":"doc/rtl-bidi/clean/no-invisible","text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: ⁧مثال معزول⁩ followed by plain text.","changes":[]}
{"id":"doc/rtl-bidi/clean/no-spacing","text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text.","changes":[{"key":"invisible","count":2,"label":"invisible characters"}]}
{"id":"doc/rtl-bidi/clean/no-punctuation","text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text.","changes":[{"key":"invisible","count":2,"label":"invisible characters"}]}
{"id":"doc/rtl-bidi/clean/no-markdown","text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text.","changes":[{"key":"invisible","count":2,"label":"invisible characters"}]}
{"id":"doc/rtl-bidi/clean/none","text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: ⁧مثال معزول⁩ followed by plain text.","changes":[]}
{"id":"doc/rtl-bidi/clean/only-invisible","text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text.","changes":[{"key":"invisible","count":2,"label":"invisible characters"}]}
{"id":"doc/rtl-bidi/clean/only-spacing","text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: ⁧مثال معزول⁩ followed by plain text.","changes":[]}
{"id":"doc/rtl-bidi/clean/only-punctuation","text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: ⁧مثال معزول⁩ followed by plain text.","changes":[]}
{"id":"doc/rtl-bidi/clean/only-markdown","text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: ⁧مثال معزول⁩ followed by plain text.","changes":[]}
{"id":"doc/rtl-bidi/convert-raw/plain","output":{"text":"نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם הדגשה ועם קישור (https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\nعنوان عربي مع English كلمات\n\nاللغة: العربية · الاتجاه: RTL\nاللغة: English · الاتجاه: LTR\n\n> اقتباس عربي مع كود بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: ⁧مثال معزول⁩ followed by plain text."},"html":{"text":"<h1>نص ثنائي الاتجاه RTL and bidi</h1><p>فقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.</p><p>פסקה בעברית עם <strong>הדגשה</strong> ועם <a href=\"https://example.com/rtl\">קישור</a> בפנים.</p><p>Mixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.</p><ul><li>عنصر قائمة عربي أول</li><li>عنصר שני בעברית</li><li>third item in English</li></ul><h2>عنوان عربي مع English كلمات</h2><table><thead><tr><th>اللغة</th><th>الاتجاه</th></tr></thead><tbody><tr><td>العربية</td><td>RTL</td></tr><tr><td>English</td><td>LTR</td></tr></tbody></table><blockquote><p>اقتباس عربي مع <code>كود</code> بداخله.</p></blockquote><p>Numbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.</p><p>Isolated bidi controls: ⁧مثال معزول⁩ followed by plain text.</p>"},"changes":[]}
{"id":"doc/rtl-bidi/convert-raw/whatsapp","output":{"text":"*نص ثنائي الاتجاه RTL and bidi*\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם *הדגשה* ועם קישור: https://example.com/rtl בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n*عنوان عربي مع English كلمات*\n\n*اللغة:* العربية · *الاتجاه:* RTL\n*اللغة:* English · *الاتجاه:* LTR\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: ⁧مثال معزول⁩ followed by plain text."},"html":{"text":"<h1>نص ثنائي الاتجاه RTL and bidi</h1><p>فقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.</p><p>פסקה בעברית עם <strong>הדגשה</strong> ועם <a href=\"https://example.com/rtl\">קישור</a> בפנים.</p><p>Mixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.</p><ul><li>عنصر قائمة عربي أول</li><li>عنصר שני בעברית</li><li>third item in English</li></ul><h2>عنوان عربي مع English كلمات</h2><table><thead><tr><th>اللغة</th><th>الاتجاه</th></tr></thead><tbody><tr><td>العربية</td><td>RTL</td></tr><tr><td>English</td><td>LTR</td></tr></tbody></table><blockquote><p>اقتباس عربي مع <code>كود</code> بداخله.</p></blockquote><p>Numbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.</p><p>Isolated bidi controls: ⁧مثال معزول⁩ followed by plain text.</p>"},"changes":[]}
{"id":"doc/rtl-bidi/convert/whatsapp","cleaned":{"text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"output":{"text":"*نص ثنائي الاتجاه RTL and bidi*\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם *הדגשה* ועם קישור: https://example.com/rtl בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n*عنوان عربي مع English كلمات*\n\n*اللغة:* العربية · *الاتجاه:* RTL\n*اللغة:* English · *الاتجاه:* LTR\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"html":{"text":"<h1>نص ثنائي الاتجاه RTL and bidi</h1><p>فقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.</p><p>פסקה בעברית עם <strong>הדגשה</strong> ועם <a href=\"https://example.com/rtl\">קישור</a> בפנים.</p><p>Mixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.</p><ul><li>عنصر قائمة عربي أول</li><li>عنصר שני בעברית</li><li>third item in English</li></ul><h2>عنوان عربي مع English كلمات</h2><table><thead><tr><th>اللغة</th><th>الاتجاه</th></tr></thead><tbody><tr><td>العربية</td><td>RTL</td></tr><tr><td>English</td><td>LTR</td></tr></tbody></table><blockquote><p>اقتباس عربي مع <code>كود</code> بداخله.</p></blockquote><p>Numbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.</p><p>Isolated bidi controls: مثال معزول followed by plain text.</p>"},"changes":[{"key":"invisible","count":2,"label":"invisible characters"}]}
{"id":"doc/rtl-bidi/convert/google-chat","cleaned":{"text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"output":{"text":"*نص ثنائي الاتجاه RTL and bidi*\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם *הדגשה* ועם קישור: https://example.com/rtl בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n*عنوان عربي مع English كلمات*\n\n*اللغة:* العربية · *الاتجاه:* RTL\n*اللغة:* English · *الاتجاه:* LTR\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"html":{"text":"<h1>نص ثنائي الاتجاه RTL and bidi</h1><p>فقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.</p><p>פסקה בעברית עם <strong>הדגשה</strong> ועם <a href=\"https://example.com/rtl\">קישור</a> בפנים.</p><p>Mixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.</p><ul><li>عنصر قائمة عربي أول</li><li>عنصר שני בעברית</li><li>third item in English</li></ul><h2>عنوان عربي مع English كلمات</h2><table><thead><tr><th>اللغة</th><th>الاتجاه</th></tr></thead><tbody><tr><td>العربية</td><td>RTL</td></tr><tr><td>English</td><td>LTR</td></tr></tbody></table><blockquote><p>اقتباس عربي مع <code>كود</code> بداخله.</p></blockquote><p>Numbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.</p><p>Isolated bidi controls: مثال معزول followed by plain text.</p>"},"changes":[{"key":"invisible","count":2,"label":"invisible characters"}]}
{"id":"doc/rtl-bidi/convert/discord","cleaned":{"text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"output":{"text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n**اللغة:** العربية · **الاتجاه:** RTL\n**اللغة:** English · **الاتجاه:** LTR\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"html":{"text":"<h1>نص ثنائي الاتجاه RTL and bidi</h1><p>فقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.</p><p>פסקה בעברית עם <strong>הדגשה</strong> ועם <a href=\"https://example.com/rtl\">קישור</a> בפנים.</p><p>Mixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.</p><ul><li>عنصر قائمة عربي أول</li><li>عنصר שני בעברית</li><li>third item in English</li></ul><h2>عنوان عربي مع English كلمات</h2><table><thead><tr><th>اللغة</th><th>الاتجاه</th></tr></thead><tbody><tr><td>العربية</td><td>RTL</td></tr><tr><td>English</td><td>LTR</td></tr></tbody></table><blockquote><p>اقتباس عربي مع <code>كود</code> بداخله.</p></blockquote><p>Numbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.</p><p>Isolated bidi controls: مثال معزول followed by plain text.</p>"},"changes":[{"key":"invisible","count":2,"label":"invisible characters"}]}
{"id":"doc/rtl-bidi/convert/slack","cleaned":{"text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"output":{"text":"*نص ثنائي الاتجاه RTL and bidi*\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם *הדגשה* ועם <https://example.com/rtl|קישור> בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n• عنصر قائمة عربي أول\n• عنصר שני בעברית\n• third item in English\n\n*عنوان عربي مع English كلمات*\n\n*اللغة:* العربية · *الاتجاه:* RTL\n*اللغة:* English · *الاتجاه:* LTR\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"html":{"text":"<h1>نص ثنائي الاتجاه RTL and bidi</h1><p>فقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.</p><p>פסקה בעברית עם <strong>הדגשה</strong> ועם <a href=\"https://example.com/rtl\">קישור</a> בפנים.</p><p>Mixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.</p><ul><li>عنصر قائمة عربي أول</li><li>عنصר שני בעברית</li><li>third item in English</li></ul><h2>عنوان عربي مع English كلمات</h2><table><thead><tr><th>اللغة</th><th>الاتجاه</th></tr></thead><tbody><tr><td>العربية</td><td>RTL</td></tr><tr><td>English</td><td>LTR</td></tr></tbody></table><blockquote><p>اقتباس عربي مع <code>كود</code> بداخله.</p></blockquote><p>Numbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.</p><p>Isolated bidi controls: مثال معزول followed by plain text.</p>"},"changes":[{"key":"invisible","count":2,"label":"invisible characters"}]}
{"id":"doc/rtl-bidi/convert/teams","cleaned":{"text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"output":{"text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם *הדגשה* ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n*اللغة:* العربية · *الاتجاه:* RTL\n*اللغة:* English · *الاتجاه:* LTR\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"html":{"text":"<h1>نص ثنائي الاتجاه RTL and bidi</h1><p>فقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.</p><p>פסקה בעברית עם <strong>הדגשה</strong> ועם <a href=\"https://example.com/rtl\">קישור</a> בפנים.</p><p>Mixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.</p><ul><li>عنصر قائمة عربي أول</li><li>عنصר שני בעברית</li><li>third item in English</li></ul><h2>عنوان عربي مع English كلمات</h2><table><thead><tr><th>اللغة</th><th>الاتجاه</th></tr></thead><tbody><tr><td>العربية</td><td>RTL</td></tr><tr><td>English</td><td>LTR</td></tr></tbody></table><blockquote><p>اقتباس عربي مع <code>كود</code> بداخله.</p></blockquote><p>Numbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.</p><p>Isolated bidi controls: مثال معزول followed by plain text.</p>"},"changes":[{"key":"invisible","count":2,"label":"invisible characters"}]}
{"id":"doc/rtl-bidi/convert/zendesk","cleaned":{"text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"output":{"text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n**اللغة:** العربية · **الاتجاه:** RTL\n**اللغة:** English · **الاتجاه:** LTR\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"html":{"text":"<h1>نص ثنائي الاتجاه RTL and bidi</h1><p>فقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.</p><p>פסקה בעברית עם <strong>הדגשה</strong> ועם <a href=\"https://example.com/rtl\">קישור</a> בפנים.</p><p>Mixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.</p><ul><li>عنصر قائمة عربي أول</li><li>عنصר שני בעברית</li><li>third item in English</li></ul><h2>عنوان عربي مع English كلمات</h2><table><thead><tr><th>اللغة</th><th>الاتجاه</th></tr></thead><tbody><tr><td>العربية</td><td>RTL</td></tr><tr><td>English</td><td>LTR</td></tr></tbody></table><blockquote><p>اقتباس عربي مع <code>كود</code> بداخله.</p></blockquote><p>Numbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.</p><p>Isolated bidi controls: مثال معزول followed by plain text.</p>"},"changes":[{"key":"invisible","count":2,"label":"invisible characters"}]}
{"id":"doc/rtl-bidi/convert/jira","cleaned":{"text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"output":{"text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n**اللغة:** العربية · **الاتجاه:** RTL\n**اللغة:** English · **الاتجاه:** LTR\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"html":{"text":"<h1>نص ثنائي الاتجاه RTL and bidi</h1><p>فقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.</p><p>פסקה בעברית עם <strong>הדגשה</strong> ועם <a href=\"https://example.com/rtl\">קישור</a> בפנים.</p><p>Mixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.</p><ul><li>عنصر قائمة عربي أول</li><li>عنصר שני בעברית</li><li>third item in English</li></ul><h2>عنوان عربي مع English كلمات</h2><table><thead><tr><th>اللغة</th><th>الاتجاه</th></tr></thead><tbody><tr><td>العربية</td><td>RTL</td></tr><tr><td>English</td><td>LTR</td></tr></tbody></table><blockquote><p>اقتباس عربي مع <code>كود</code> بداخله.</p></blockquote><p>Numbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.</p><p>Isolated bidi controls: مثال معزول followed by plain text.</p>"},"changes":[{"key":"invisible","count":2,"label":"invisible characters"}]}
{"id":"doc/rtl-bidi/convert/plain","cleaned":{"text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"output":{"text":"نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם הדגשה ועם קישור (https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\nعنوان عربي مع English كلمات\n\nاللغة: العربية · الاتجاه: RTL\nاللغة: English · الاتجاه: LTR\n\n> اقتباس عربي مع كود بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"html":{"text":"<h1>نص ثنائي الاتجاه RTL and bidi</h1><p>فقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.</p><p>פסקה בעברית עם <strong>הדגשה</strong> ועם <a href=\"https://example.com/rtl\">קישור</a> בפנים.</p><p>Mixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.</p><ul><li>عنصر قائمة عربي أول</li><li>عنصר שני בעברית</li><li>third item in English</li></ul><h2>عنوان عربي مع English كلمات</h2><table><thead><tr><th>اللغة</th><th>الاتجاه</th></tr></thead><tbody><tr><td>العربية</td><td>RTL</td></tr><tr><td>English</td><td>LTR</td></tr></tbody></table><blockquote><p>اقتباس عربي مع <code>كود</code> بداخله.</p></blockquote><p>Numbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.</p><p>Isolated bidi controls: مثال معزول followed by plain text.</p>"},"changes":[{"key":"invisible","count":2,"label":"invisible characters"}]}
{"id":"doc/rtl-bidi/whatsapp-preview","fnv":"c08e6aeb","len":1778}
{"id":"doc/rtl-bidi/diff-cleanup","val":[{"type":"same","value":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: "},{"type":"removed","value":"⟦right-to-left isolate⟧"},{"type":"same","value":"مثال معزول"},{"type":"removed","value":"⟦pop directional isolate⟧"},{"type":"same","value":" followed by plain text."},{"type":"removed","value":"\n"}]}
{"id":"doc/rtl-bidi/workflow/auto/whatsapp","detected":"Markdown","cleaned":{"text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"output":{"text":"*نص ثنائي الاتجاه RTL and bidi*\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם *הדגשה* ועם קישור: https://example.com/rtl בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n*عنوان عربي مع English كلمات*\n\n*اللغة:* العربية · *الاتجاه:* RTL\n*اللغة:* English · *الاتجاه:* LTR\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"html":{"text":"<h1>نص ثنائي الاتجاه RTL and bidi</h1><p>فقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.</p><p>פסקה בעברית עם <strong>הדגשה</strong> ועם <a href=\"https://example.com/rtl\">קישור</a> בפנים.</p><p>Mixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.</p><ul><li>عنصر قائمة عربي أول</li><li>عنصר שני בעברית</li><li>third item in English</li></ul><h2>عنوان عربي مع English كلمات</h2><table><thead><tr><th>اللغة</th><th>الاتجاه</th></tr></thead><tbody><tr><td>العربية</td><td>RTL</td></tr><tr><td>English</td><td>LTR</td></tr></tbody></table><blockquote><p>اقتباس عربي مع <code>كود</code> بداخله.</p></blockquote><p>Numbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.</p><p>Isolated bidi controls: مثال معزول followed by plain text.</p>"},"changes":[{"key":"invisible","count":2,"label":"invisible characters"}]}
{"id":"doc/rtl-bidi/workflow/auto/google-chat","detected":"Markdown","cleaned":{"text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"output":{"text":"*نص ثنائي الاتجاه RTL and bidi*\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם *הדגשה* ועם קישור: https://example.com/rtl בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n*عنوان عربي مع English كلمات*\n\n*اللغة:* العربية · *الاتجاه:* RTL\n*اللغة:* English · *الاتجاه:* LTR\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"html":{"text":"<h1>نص ثنائي الاتجاه RTL and bidi</h1><p>فقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.</p><p>פסקה בעברית עם <strong>הדגשה</strong> ועם <a href=\"https://example.com/rtl\">קישור</a> בפנים.</p><p>Mixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.</p><ul><li>عنصر قائمة عربي أول</li><li>عنصר שני בעברית</li><li>third item in English</li></ul><h2>عنوان عربي مع English كلمات</h2><table><thead><tr><th>اللغة</th><th>الاتجاه</th></tr></thead><tbody><tr><td>العربية</td><td>RTL</td></tr><tr><td>English</td><td>LTR</td></tr></tbody></table><blockquote><p>اقتباس عربي مع <code>كود</code> بداخله.</p></blockquote><p>Numbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.</p><p>Isolated bidi controls: مثال معزول followed by plain text.</p>"},"changes":[{"key":"invisible","count":2,"label":"invisible characters"}]}
{"id":"doc/rtl-bidi/workflow/auto/discord","detected":"Markdown","cleaned":{"text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"output":{"text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n**اللغة:** العربية · **الاتجاه:** RTL\n**اللغة:** English · **الاتجاه:** LTR\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"html":{"text":"<h1>نص ثنائي الاتجاه RTL and bidi</h1><p>فقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.</p><p>פסקה בעברית עם <strong>הדגשה</strong> ועם <a href=\"https://example.com/rtl\">קישור</a> בפנים.</p><p>Mixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.</p><ul><li>عنصر قائمة عربي أول</li><li>عنصר שני בעברית</li><li>third item in English</li></ul><h2>عنوان عربي مع English كلمات</h2><table><thead><tr><th>اللغة</th><th>الاتجاه</th></tr></thead><tbody><tr><td>العربية</td><td>RTL</td></tr><tr><td>English</td><td>LTR</td></tr></tbody></table><blockquote><p>اقتباس عربي مع <code>كود</code> بداخله.</p></blockquote><p>Numbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.</p><p>Isolated bidi controls: مثال معزول followed by plain text.</p>"},"changes":[{"key":"invisible","count":2,"label":"invisible characters"}]}
{"id":"doc/rtl-bidi/workflow/auto/slack","detected":"Markdown","cleaned":{"text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"output":{"text":"*نص ثنائي الاتجاه RTL and bidi*\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם *הדגשה* ועם <https://example.com/rtl|קישור> בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n• عنصر قائمة عربي أول\n• عنصר שני בעברית\n• third item in English\n\n*عنوان عربي مع English كلمات*\n\n*اللغة:* العربية · *الاتجاه:* RTL\n*اللغة:* English · *الاتجاه:* LTR\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"html":{"text":"<h1>نص ثنائي الاتجاه RTL and bidi</h1><p>فقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.</p><p>פסקה בעברית עם <strong>הדגשה</strong> ועם <a href=\"https://example.com/rtl\">קישור</a> בפנים.</p><p>Mixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.</p><ul><li>عنصر قائمة عربي أول</li><li>عنصר שני בעברית</li><li>third item in English</li></ul><h2>عنوان عربي مع English كلمات</h2><table><thead><tr><th>اللغة</th><th>الاتجاه</th></tr></thead><tbody><tr><td>العربية</td><td>RTL</td></tr><tr><td>English</td><td>LTR</td></tr></tbody></table><blockquote><p>اقتباس عربي مع <code>كود</code> بداخله.</p></blockquote><p>Numbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.</p><p>Isolated bidi controls: مثال معزول followed by plain text.</p>"},"changes":[{"key":"invisible","count":2,"label":"invisible characters"}]}
{"id":"doc/rtl-bidi/workflow/auto/teams","detected":"Markdown","cleaned":{"text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"output":{"text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם *הדגשה* ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n*اللغة:* العربية · *الاتجاه:* RTL\n*اللغة:* English · *الاتجاه:* LTR\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"html":{"text":"<h1>نص ثنائي الاتجاه RTL and bidi</h1><p>فقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.</p><p>פסקה בעברית עם <strong>הדגשה</strong> ועם <a href=\"https://example.com/rtl\">קישור</a> בפנים.</p><p>Mixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.</p><ul><li>عنصر قائمة عربي أول</li><li>عنصר שני בעברית</li><li>third item in English</li></ul><h2>عنوان عربي مع English كلمات</h2><table><thead><tr><th>اللغة</th><th>الاتجاه</th></tr></thead><tbody><tr><td>العربية</td><td>RTL</td></tr><tr><td>English</td><td>LTR</td></tr></tbody></table><blockquote><p>اقتباس عربي مع <code>كود</code> بداخله.</p></blockquote><p>Numbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.</p><p>Isolated bidi controls: مثال معزول followed by plain text.</p>"},"changes":[{"key":"invisible","count":2,"label":"invisible characters"}]}
{"id":"doc/rtl-bidi/workflow/auto/zendesk","detected":"Markdown","cleaned":{"text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"output":{"text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n**اللغة:** العربية · **الاتجاه:** RTL\n**اللغة:** English · **الاتجاه:** LTR\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"html":{"text":"<h1>نص ثنائي الاتجاه RTL and bidi</h1><p>فقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.</p><p>פסקה בעברית עם <strong>הדגשה</strong> ועם <a href=\"https://example.com/rtl\">קישור</a> בפנים.</p><p>Mixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.</p><ul><li>عنصر قائمة عربي أول</li><li>عنصר שני בעברית</li><li>third item in English</li></ul><h2>عنوان عربي مع English كلمات</h2><p><strong>اللغة:</strong> العربية · <strong>الاتجاه:</strong> RTL\n<strong>اللغة:</strong> English · <strong>الاتجاه:</strong> LTR</p><blockquote><p>اقتباس عربي مع <code>كود</code> بداخله.</p></blockquote><p>Numbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.</p><p>Isolated bidi controls: مثال معزول followed by plain text.</p>"},"changes":[{"key":"invisible","count":2,"label":"invisible characters"}]}
{"id":"doc/rtl-bidi/workflow/auto/jira","detected":"Markdown","cleaned":{"text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"output":{"text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n**اللغة:** العربية · **الاتجاه:** RTL\n**اللغة:** English · **الاتجاه:** LTR\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"html":{"text":"<h1>نص ثنائي الاتجاه RTL and bidi</h1><p>فقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.</p><p>פסקה בעברית עם <strong>הדגשה</strong> ועם <a href=\"https://example.com/rtl\">קישור</a> בפנים.</p><p>Mixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.</p><ul><li>عنصر قائمة عربي أول</li><li>عنصר שני בעברית</li><li>third item in English</li></ul><h2>عنوان عربي مع English كلمات</h2><p><strong>اللغة:</strong> العربية · <strong>الاتجاه:</strong> RTL\n<strong>اللغة:</strong> English · <strong>الاتجاه:</strong> LTR</p><blockquote><p>اقتباس عربي مع <code>كود</code> بداخله.</p></blockquote><p>Numbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.</p><p>Isolated bidi controls: مثال معزول followed by plain text.</p>"},"changes":[{"key":"invisible","count":2,"label":"invisible characters"}]}
{"id":"doc/rtl-bidi/workflow/auto/plain","detected":"Markdown","cleaned":{"text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"output":{"text":"نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם הדגשה ועם קישור (https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\nعنوان عربي مع English كلمات\n\nاللغة: العربية · الاتجاه: RTL\nاللغة: English · الاتجاه: LTR\n\n> اقتباس عربي مع كود بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"html":{"text":"<h1>نص ثنائي الاتجاه RTL and bidi</h1><p>فقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.</p><p>פסקה בעברית עם <strong>הדגשה</strong> ועם <a href=\"https://example.com/rtl\">קישור</a> בפנים.</p><p>Mixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.</p><ul><li>عنصر قائمة عربي أول</li><li>عنصר שני בעברית</li><li>third item in English</li></ul><h2>عنوان عربي مع English كلمات</h2><table><thead><tr><th>اللغة</th><th>الاتجاه</th></tr></thead><tbody><tr><td>العربية</td><td>RTL</td></tr><tr><td>English</td><td>LTR</td></tr></tbody></table><blockquote><p>اقتباس عربي مع <code>كود</code> بداخله.</p></blockquote><p>Numbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.</p><p>Isolated bidi controls: مثال معزول followed by plain text.</p>"},"changes":[{"key":"invisible","count":2,"label":"invisible characters"}]}
{"id":"doc/rtl-bidi/workflow/auto/imessage","detected":"Markdown","cleaned":{"text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"output":{"text":"نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם הדגשה ועם קישור (https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\nعنوان عربي مع English كلمات\n\nاللغة: العربية · الاتجاه: RTL\nاللغة: English · الاتجاه: LTR\n\n> اقتباس عربي مع كود بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"html":{"text":"<h1>نص ثنائي الاتجاه RTL and bidi</h1><p>فقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.</p><p>פסקה בעברית עם <strong>הדגשה</strong> ועם <a href=\"https://example.com/rtl\">קישור</a> בפנים.</p><p>Mixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.</p><ul><li>عنصر قائمة عربي أول</li><li>عنصר שני בעברית</li><li>third item in English</li></ul><h2>عنوان عربي مع English كلمات</h2><table><thead><tr><th>اللغة</th><th>الاتجاه</th></tr></thead><tbody><tr><td>العربية</td><td>RTL</td></tr><tr><td>English</td><td>LTR</td></tr></tbody></table><blockquote><p>اقتباس عربي مع <code>كود</code> بداخله.</p></blockquote><p>Numbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.</p><p>Isolated bidi controls: مثال معزول followed by plain text.</p>"},"changes":[{"key":"invisible","count":2,"label":"invisible characters"}]}
{"id":"doc/rtl-bidi/workflow/auto/signal","detected":"Markdown","cleaned":{"text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"output":{"text":"نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם הדגשה ועם קישור (https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\nعنوان عربي مع English كلمات\n\nاللغة: العربية · الاتجاه: RTL\nاللغة: English · الاتجاه: LTR\n\n> اقتباس عربي مع كود بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"html":{"text":"<h1>نص ثنائي الاتجاه RTL and bidi</h1><p>فقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.</p><p>פסקה בעברית עם <strong>הדגשה</strong> ועם <a href=\"https://example.com/rtl\">קישור</a> בפנים.</p><p>Mixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.</p><ul><li>عنصر قائمة عربي أول</li><li>عنصר שני בעברית</li><li>third item in English</li></ul><h2>عنوان عربي مع English كلمات</h2><table><thead><tr><th>اللغة</th><th>الاتجاه</th></tr></thead><tbody><tr><td>العربية</td><td>RTL</td></tr><tr><td>English</td><td>LTR</td></tr></tbody></table><blockquote><p>اقتباس عربي مع <code>كود</code> بداخله.</p></blockquote><p>Numbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.</p><p>Isolated bidi controls: مثال معزول followed by plain text.</p>"},"changes":[{"key":"invisible","count":2,"label":"invisible characters"}]}
{"id":"doc/rtl-bidi/workflow/auto/telegram","detected":"Markdown","cleaned":{"text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"output":{"text":"نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם הדגשה ועם קישור (https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\nعنوان عربي مع English كلمات\n\nاللغة: العربية · الاتجاه: RTL\nاللغة: English · الاتجاه: LTR\n\n> اقتباس عربي مع كود بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"html":{"text":"<h1>نص ثنائي الاتجاه RTL and bidi</h1><p>فقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.</p><p>פסקה בעברית עם <strong>הדגשה</strong> ועם <a href=\"https://example.com/rtl\">קישור</a> בפנים.</p><p>Mixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.</p><ul><li>عنصر قائمة عربي أول</li><li>عنصר שני בעברית</li><li>third item in English</li></ul><h2>عنوان عربي مع English كلمات</h2><table><thead><tr><th>اللغة</th><th>الاتجاه</th></tr></thead><tbody><tr><td>العربية</td><td>RTL</td></tr><tr><td>English</td><td>LTR</td></tr></tbody></table><blockquote><p>اقتباس عربي مع <code>كود</code> بداخله.</p></blockquote><p>Numbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.</p><p>Isolated bidi controls: مثال معزول followed by plain text.</p>"},"changes":[{"key":"invisible","count":2,"label":"invisible characters"}]}
{"id":"doc/rtl-bidi/workflow/auto/gmail","detected":"Markdown","cleaned":{"text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"output":{"text":"نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם הדגשה ועם קישור (https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\nعنوان عربي مع English كلمات\n\nاللغة: العربية · الاتجاه: RTL\nاللغة: English · الاتجاه: LTR\n\n> اقتباس عربي مع كود بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"html":{"text":"<h1>نص ثنائي الاتجاه RTL and bidi</h1><p>فقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.</p><p>פסקה בעברית עם <strong>הדגשה</strong> ועם <a href=\"https://example.com/rtl\">קישור</a> בפנים.</p><p>Mixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.</p><ul><li>عنصر قائمة عربي أول</li><li>عنصר שני בעברית</li><li>third item in English</li></ul><h2>عنوان عربي مع English كلمات</h2><table><thead><tr><th>اللغة</th><th>الاتجاه</th></tr></thead><tbody><tr><td>العربية</td><td>RTL</td></tr><tr><td>English</td><td>LTR</td></tr></tbody></table><blockquote><p>اقتباس عربي مع <code>كود</code> بداخله.</p></blockquote><p>Numbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.</p><p>Isolated bidi controls: مثال معزول followed by plain text.</p>"},"changes":[{"key":"invisible","count":2,"label":"invisible characters"}]}
{"id":"doc/rtl-bidi/workflow/auto/outlook","detected":"Markdown","cleaned":{"text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"output":{"text":"نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם הדגשה ועם קישור (https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\nعنوان عربي مع English كلمات\n\nاللغة: العربية · الاتجاه: RTL\nاللغة: English · الاتجاه: LTR\n\n> اقتباس عربي مع كود بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"html":{"text":"<h1>نص ثنائي الاتجاه RTL and bidi</h1><p>فقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.</p><p>פסקה בעברית עם <strong>הדגשה</strong> ועם <a href=\"https://example.com/rtl\">קישור</a> בפנים.</p><p>Mixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.</p><ul><li>عنصر قائمة عربي أول</li><li>عنصר שני בעברית</li><li>third item in English</li></ul><h2>عنوان عربي مع English كلمات</h2><table><thead><tr><th>اللغة</th><th>الاتجاه</th></tr></thead><tbody><tr><td>العربية</td><td>RTL</td></tr><tr><td>English</td><td>LTR</td></tr></tbody></table><blockquote><p>اقتباس عربي مع <code>كود</code> بداخله.</p></blockquote><p>Numbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.</p><p>Isolated bidi controls: مثال معزول followed by plain text.</p>"},"changes":[{"key":"invisible","count":2,"label":"invisible characters"}]}
{"id":"doc/rtl-bidi/workflow/auto/shortwave","detected":"Markdown","cleaned":{"text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"output":{"text":"نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם הדגשה ועם קישור (https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\nعنوان عربي مع English كلمات\n\nاللغة: العربية · الاتجاه: RTL\nاللغة: English · الاتجاه: LTR\n\n> اقتباس عربي مع كود بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"html":{"text":"<h1>نص ثنائي الاتجاه RTL and bidi</h1><p>فقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.</p><p>פסקה בעברית עם <strong>הדגשה</strong> ועם <a href=\"https://example.com/rtl\">קישור</a> בפנים.</p><p>Mixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.</p><ul><li>عنصر قائمة عربي أول</li><li>عنصר שני בעברית</li><li>third item in English</li></ul><h2>عنوان عربي مع English كلمات</h2><table><thead><tr><th>اللغة</th><th>الاتجاه</th></tr></thead><tbody><tr><td>العربية</td><td>RTL</td></tr><tr><td>English</td><td>LTR</td></tr></tbody></table><blockquote><p>اقتباس عربي مع <code>كود</code> بداخله.</p></blockquote><p>Numbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.</p><p>Isolated bidi controls: مثال معزول followed by plain text.</p>"},"changes":[{"key":"invisible","count":2,"label":"invisible characters"}]}
{"id":"doc/rtl-bidi/workflow/auto/notion","detected":"Markdown","cleaned":{"text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"output":{"text":"نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם הדגשה ועם קישור (https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\nعنوان عربي مع English كلمات\n\nاللغة: العربية · الاتجاه: RTL\nاللغة: English · الاتجاه: LTR\n\n> اقتباس عربي مع كود بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"html":{"text":"<h1>نص ثنائي الاتجاه RTL and bidi</h1><p>فقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.</p><p>פסקה בעברית עם <strong>הדגשה</strong> ועם <a href=\"https://example.com/rtl\">קישור</a> בפנים.</p><p>Mixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.</p><ul><li>عنصر قائمة عربي أول</li><li>عنصר שני בעברית</li><li>third item in English</li></ul><h2>عنوان عربي مع English كلمات</h2><table><thead><tr><th>اللغة</th><th>الاتجاه</th></tr></thead><tbody><tr><td>العربية</td><td>RTL</td></tr><tr><td>English</td><td>LTR</td></tr></tbody></table><blockquote><p>اقتباس عربي مع <code>كود</code> بداخله.</p></blockquote><p>Numbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.</p><p>Isolated bidi controls: مثال معزول followed by plain text.</p>"},"changes":[{"key":"invisible","count":2,"label":"invisible characters"}]}
{"id":"doc/rtl-bidi/workflow/auto/confluence","detected":"Markdown","cleaned":{"text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"output":{"text":"نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם הדגשה ועם קישור (https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\nعنوان عربي مع English كلمات\n\nاللغة: العربية · الاتجاه: RTL\nاللغة: English · الاتجاه: LTR\n\n> اقتباس عربي مع كود بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"html":{"text":"<h1>نص ثنائي الاتجاه RTL and bidi</h1><p>فقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.</p><p>פסקה בעברית עם <strong>הדגשה</strong> ועם <a href=\"https://example.com/rtl\">קישור</a> בפנים.</p><p>Mixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.</p><ul><li>عنصر قائمة عربي أول</li><li>عنصר שני בעברית</li><li>third item in English</li></ul><h2>عنوان عربي مع English كلمات</h2><table><thead><tr><th>اللغة</th><th>الاتجاه</th></tr></thead><tbody><tr><td>العربية</td><td>RTL</td></tr><tr><td>English</td><td>LTR</td></tr></tbody></table><blockquote><p>اقتباس عربي مع <code>كود</code> بداخله.</p></blockquote><p>Numbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.</p><p>Isolated bidi controls: مثال معزول followed by plain text.</p>"},"changes":[{"key":"invisible","count":2,"label":"invisible characters"}]}
{"id":"doc/rtl-bidi/workflow/auto/calendar","detected":"Markdown","cleaned":{"text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"output":{"text":"نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם הדגשה ועם קישור (https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\nعنوان عربي مع English كلمات\n\nاللغة: العربية · الاتجاه: RTL\nاللغة: English · الاتجاه: LTR\n\n> اقتباس عربي مع كود بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"html":{"text":"<h1>نص ثنائي الاتجاه RTL and bidi</h1><p>فقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.</p><p>פסקה בעברית עם <strong>הדגשה</strong> ועם <a href=\"https://example.com/rtl\">קישור</a> בפנים.</p><p>Mixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.</p><ul><li>عنصر قائمة عربي أول</li><li>عنصר שני בעברית</li><li>third item in English</li></ul><h2>عنوان عربي مع English كلمات</h2><table><thead><tr><th>اللغة</th><th>الاتجاه</th></tr></thead><tbody><tr><td>العربية</td><td>RTL</td></tr><tr><td>English</td><td>LTR</td></tr></tbody></table><blockquote><p>اقتباس عربي مع <code>كود</code> بداخله.</p></blockquote><p>Numbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.</p><p>Isolated bidi controls: مثال معزول followed by plain text.</p>"},"changes":[{"key":"invisible","count":2,"label":"invisible characters"}]}
{"id":"doc/rtl-bidi/workflow/auto/word","detected":"Markdown","cleaned":{"text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"output":{"text":"نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם הדגשה ועם קישור (https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\nعنوان عربي مع English كلمات\n\nاللغة: العربية · الاتجاه: RTL\nاللغة: English · الاتجاه: LTR\n\n> اقتباس عربي مع كود بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"html":{"text":"<h1>نص ثنائي الاتجاه RTL and bidi</h1><p>فقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.</p><p>פסקה בעברית עם <strong>הדגשה</strong> ועם <a href=\"https://example.com/rtl\">קישור</a> בפנים.</p><p>Mixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.</p><ul><li>عنصر قائمة عربي أول</li><li>عنصר שני בעברית</li><li>third item in English</li></ul><h2>عنوان عربي مع English كلمات</h2><table><thead><tr><th>اللغة</th><th>الاتجاه</th></tr></thead><tbody><tr><td>العربية</td><td>RTL</td></tr><tr><td>English</td><td>LTR</td></tr></tbody></table><blockquote><p>اقتباس عربي مع <code>كود</code> بداخله.</p></blockquote><p>Numbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.</p><p>Isolated bidi controls: مثال معزول followed by plain text.</p>"},"changes":[{"key":"invisible","count":2,"label":"invisible characters"}]}
{"id":"doc/rtl-bidi/workflow/auto/google-docs","detected":"Markdown","cleaned":{"text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"output":{"text":"نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם הדגשה ועם קישור (https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\nعنوان عربي مع English كلمات\n\nاللغة: العربية · الاتجاه: RTL\nاللغة: English · الاتجاه: LTR\n\n> اقتباس عربي مع كود بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"html":{"text":"<h1>نص ثنائي الاتجاه RTL and bidi</h1><p>فقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.</p><p>פסקה בעברית עם <strong>הדגשה</strong> ועם <a href=\"https://example.com/rtl\">קישור</a> בפנים.</p><p>Mixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.</p><ul><li>عنصر قائمة عربي أول</li><li>عنصר שני בעברית</li><li>third item in English</li></ul><h2>عنوان عربي مع English كلمات</h2><table><thead><tr><th>اللغة</th><th>الاتجاه</th></tr></thead><tbody><tr><td>العربية</td><td>RTL</td></tr><tr><td>English</td><td>LTR</td></tr></tbody></table><blockquote><p>اقتباس عربي مع <code>كود</code> بداخله.</p></blockquote><p>Numbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.</p><p>Isolated bidi controls: مثال معزول followed by plain text.</p>"},"changes":[{"key":"invisible","count":2,"label":"invisible characters"}]}
{"id":"doc/rtl-bidi/workflow/auto/markdown","detected":"Markdown","cleaned":{"text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"output":{"text":"# نص ثنائي الاتجاه RTL and bidi\n\nفقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.\n\nפסקה בעברית עם **הדגשה** ועם [קישור](https://example.com/rtl) בפנים.\n\nMixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.\n\n- عنصر قائمة عربي أول\n- عنصר שני בעברית\n- third item in English\n\n## عنوان عربي مع English كلمات\n\n| اللغة | الاتجاه |\n| --- | --- |\n| العربية | RTL |\n| English | LTR |\n\n> اقتباس عربي مع `كود` بداخله.\n\nNumbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.\n\nIsolated bidi controls: مثال معزول followed by plain text."},"html":{"text":"<h1>نص ثنائي الاتجاه RTL and bidi</h1><p>فقرة عربية كاملة تشرح الفكرة بوضوح ثم تنتهي بنقطة.</p><p>פסקה בעברית עם <strong>הדגשה</strong> ועם <a href=\"https://example.com/rtl\">קישור</a> בפנים.</p><p>Mixed direction: the phrase مرحبا بالعالم sits inside English prose, and English sits inside العربية مثل هذا النص here.</p><ul><li>عنصر قائمة عربي أول</li><li>عنصר שני בעברית</li><li>third item in English</li></ul><h2>عنوان عربي مع English كلمات</h2><table><thead><tr><th>اللغة</th><th>الاتجاه</th></tr></thead><tbody><tr><td>العربية</td><td>RTL</td></tr><tr><td>English</td><td>LTR</td></tr></tbody></table><blockquote><p>اقتباس عربي مع <code>كود</code> بداخله.</p></blockquote><p>Numbers in RTL context: التكلفة 1500 دولار والموعد 2026-08-25.</p><p>Isolated bidi controls: مثال معزول followed by plain text.</p>"},"changes":[{"key":"invisible","count":2,"label":"invisible characters"}]}
{"id":"doc/rtl-bidi/workflow/markdown/whatsapp","detected":"Markdown","fnv":"7a708bef","len":2154}
{"id":"doc/rtl-bidi/workflow/markdown/google-chat","detected":"Markdown","fnv":"7a708bef","len":2154}
{"id":"doc/rtl-bidi/workflow/markdown/discord","detected":"Markdown","fnv":"fd5d2925","len":2167}
{"id":"doc/rtl-bidi/workflow/markdown/slack","detected":"Markdown","fnv":"6246cae6","len":2155}
{"id":"doc/rtl-bidi/workflow/markdown/teams","detected":"Markdown","fnv":"89b3c661","len":2157}
{"id":"doc/rtl-bidi/workflow/markdown/zendesk","detected":"Markdown","fnv":"f16d24dc","len":2144}
{"id":"doc/rtl-bidi/workflow/markdown/jira","detected":"Markdown","fnv":"f16d24dc","len":2144}
{"id":"doc/rtl-bidi/workflow/markdown/plain","detected":"Markdown","fnv":"ada5b40c","len":2139}
{"id":"doc/rtl-bidi/workflow/markdown/imessage","detected":"Markdown","fnv":"ada5b40c","len":2139}
{"id":"doc/rtl-bidi/workflow/markdown/signal","detected":"Markdown","fnv":"ada5b40c","len":2139}
{"id":"doc/rtl-bidi/workflow/markdown/telegram","detected":"Markdown","fnv":"ada5b40c","len":2139}
{"id":"doc/rtl-bidi/workflow/markdown/gmail","detected":"Markdown","fnv":"ada5b40c","len":2139}
{"id":"doc/rtl-bidi/workflow/markdown/outlook","detected":"Markdown","fnv":"ada5b40c","len":2139}
{"id":"doc/rtl-bidi/workflow/markdown/shortwave","detected":"Markdown","fnv":"ada5b40c","len":2139}
{"id":"doc/rtl-bidi/workflow/markdown/notion","detected":"Markdown","fnv":"ada5b40c","len":2139}
{"id":"doc/rtl-bidi/workflow/markdown/confluence","detected":"Markdown","fnv":"ada5b40c","len":2139}
{"id":"doc/rtl-bidi/workflow/markdown/calendar","detected":"Markdown","fnv":"ada5b40c","len":2139}
{"id":"doc/rtl-bidi/workflow/markdown/word","detected":"Markdown","fnv":"ada5b40c","len":2139}
{"id":"doc/rtl-bidi/workflow/markdown/google-docs","detected":"Markdown","fnv":"ada5b40c","len":2139}
{"id":"doc/rtl-bidi/workflow/markdown/markdown","detected":"Markdown","fnv":"8626eb1f","len":2163}
{"id":"doc/rtl-bidi/workflow/plain/whatsapp","detected":"Markdown","fnv":"6b075d5a","len":2019}
{"id":"doc/rtl-bidi/workflow/plain/google-chat","detected":"Markdown","fnv":"6b075d5a","len":2019}
{"id":"doc/rtl-bidi/workflow/plain/discord","detected":"Markdown","fnv":"6b075d5a","len":2019}
{"id":"doc/rtl-bidi/workflow/plain/slack","detected":"Markdown","fnv":"6b075d5a","len":2019}
{"id":"doc/rtl-bidi/workflow/plain/teams","detected":"Markdown","fnv":"6b075d5a","len":2019}
{"id":"doc/rtl-bidi/workflow/plain/zendesk","detected":"Markdown","fnv":"6b075d5a","len":2019}
{"id":"doc/rtl-bidi/workflow/plain/jira","detected":"Markdown","fnv":"6b075d5a","len":2019}
{"id":"doc/rtl-bidi/workflow/plain/plain","detected":"Markdown","fnv":"6b075d5a","len":2019}
{"id":"doc/rtl-bidi/workflow/plain/imessage","detected":"Markdown","fnv":"6b075d5a","len":2019}
{"id":"doc/rtl-bidi/workflow/plain/signal","detected":"Markdown","fnv":"6b075d5a","len":2019}
{"id":"doc/rtl-bidi/workflow/plain/telegram","detected":"Markdown","fnv":"6b075d5a","len":2019}
{"id":"doc/rtl-bidi/workflow/plain/gmail","detected":"Markdown","fnv":"6b075d5a","len":2019}
{"id":"doc/rtl-bidi/workflow/plain/outlook","detected":"Markdown","fnv":"6b075d5a","len":2019}
{"id":"doc/rtl-bidi/workflow/plain/shortwave","detected":"Markdown","fnv":"6b075d5a","len":2019}
{"id":"doc/rtl-bidi/workflow/plain/notion","detected":"Markdown","fnv":"6b075d5a","len":2019}
{"id":"doc/rtl-bidi/workflow/plain/confluence","detected":"Markdown","fnv":"6b075d5a","len":2019}
{"id":"doc/rtl-bidi/workflow/plain/calendar","detected":"Markdown","fnv":"6b075d5a","len":2019}
{"id":"doc/rtl-bidi/workflow/plain/word","detected":"Markdown","fnv":"6b075d5a","len":2019}
{"id":"doc/rtl-bidi/workflow/plain/google-docs","detected":"Markdown","fnv":"6b075d5a","len":2019}
{"id":"doc/rtl-bidi/workflow/plain/markdown","detected":"Markdown","fnv":"6b075d5a","len":2019}
{"id":"doc/setext-headings/detect","val":"Markdown"}
{"id":"doc/setext-headings/words","val":65}
{"id":"doc/setext-headings/filename/md","val":"pasteful-document.md"}
{"id":"doc/setext-headings/filename/docx","val":"pasteful-document.docx"}
{"id":"doc/setext-headings/clean/default","text":"Setext level one\n================\n\nIntro paragraph under a setext heading.\n\nSetext level two\n----------------\n\nA paragraph that is immediately followed by dashes\n---\n\nThe dashes above attach to the paragraph as a setext underline.\n\n---\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n=\n\nUnderline with trailing spaces\n===\n\nNot a setext because of the blank line\n\n===\n\n| looks | like a table |\n| --- | --- |\n| but this | is one |","changes":[]}
{"id":"doc/setext-headings/convert/whatsapp","cleaned":{"text":"Setext level one\n================\n\nIntro paragraph under a setext heading.\n\nSetext level two\n----------------\n\nA paragraph that is immediately followed by dashes\n---\n\nThe dashes above attach to the paragraph as a setext underline.\n\n---\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n=\n\nUnderline with trailing spaces\n===\n\nNot a setext because of the blank line\n\n===\n\n| looks | like a table |\n| --- | --- |\n| but this | is one |"},"output":{"text":"*Setext level one*\n\nIntro paragraph under a setext heading.\n\n*Setext level two*\n\n*A paragraph that is immediately followed by dashes*\n\nThe dashes above attach to the paragraph as a setext underline.\n\n────────\n\nThe dashes above, after a blank line, are a thematic break instead.\n\n*Short underline*\n\n*Underline with trailing spaces*\n\nNot a setext because of the blank line\n\n===\n\n*looks:* but this · *like a table:* is one"},"html":{"text":"<h1>Setext level one</h1><p>Intro paragraph under a setext heading.</p><h2>Setext level two</h2><h2>A paragraph that is immediately followed by dashes</h2><p>The dashes above attach to the paragraph as a setext underline.</p><hr><p>The dashes above, after a blank line, are a thematic break instead.</p><h1>Short underline</h1><h1>Underline with trailing spaces</h1><p>Not a setext because of the blank line</p><p>===</p><table><thead><tr><th>looks</th><th>like a table</th></tr></thead><tbody><tr><td>but this</td><td>is one</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/setext-headings/convert/google-chat","cleaned":{"text":"Setext level one\n================\n\nIntro paragraph under a setext heading.\n\nSetext level two\n----------------\n\nA paragraph that is immediately followed by dashes\n---\n\nThe dashes above attach to the paragraph as a setext underline.\n\n---\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n=\n\nUnderline with trailing spaces\n===\n\nNot a setext because of the blank line\n\n===\n\n| looks | like a table |\n| --- | --- |\n| but this | is one |"},"output":{"text":"*Setext level one*\n\nIntro paragraph under a setext heading.\n\n*Setext level two*\n\n*A paragraph that is immediately followed by dashes*\n\nThe dashes above attach to the paragraph as a setext underline.\n\n────────\n\nThe dashes above, after a blank line, are a thematic break instead.\n\n*Short underline*\n\n*Underline with trailing spaces*\n\nNot a setext because of the blank line\n\n===\n\n*looks:* but this · *like a table:* is one"},"html":{"text":"<h1>Setext level one</h1><p>Intro paragraph under a setext heading.</p><h2>Setext level two</h2><h2>A paragraph that is immediately followed by dashes</h2><p>The dashes above attach to the paragraph as a setext underline.</p><hr><p>The dashes above, after a blank line, are a thematic break instead.</p><h1>Short underline</h1><h1>Underline with trailing spaces</h1><p>Not a setext because of the blank line</p><p>===</p><table><thead><tr><th>looks</th><th>like a table</th></tr></thead><tbody><tr><td>but this</td><td>is one</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/setext-headings/convert/discord","cleaned":{"text":"Setext level one\n================\n\nIntro paragraph under a setext heading.\n\nSetext level two\n----------------\n\nA paragraph that is immediately followed by dashes\n---\n\nThe dashes above attach to the paragraph as a setext underline.\n\n---\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n=\n\nUnderline with trailing spaces\n===\n\nNot a setext because of the blank line\n\n===\n\n| looks | like a table |\n| --- | --- |\n| but this | is one |"},"output":{"text":"# Setext level one\n\nIntro paragraph under a setext heading.\n\n## Setext level two\n\n## A paragraph that is immediately followed by dashes\n\nThe dashes above attach to the paragraph as a setext underline.\n\n────────\n\nThe dashes above, after a blank line, are a thematic break instead.\n\n# Short underline\n\n# Underline with trailing spaces\n\nNot a setext because of the blank line\n\n===\n\n**looks:** but this · **like a table:** is one"},"html":{"text":"<h1>Setext level one</h1><p>Intro paragraph under a setext heading.</p><h2>Setext level two</h2><h2>A paragraph that is immediately followed by dashes</h2><p>The dashes above attach to the paragraph as a setext underline.</p><hr><p>The dashes above, after a blank line, are a thematic break instead.</p><h1>Short underline</h1><h1>Underline with trailing spaces</h1><p>Not a setext because of the blank line</p><p>===</p><table><thead><tr><th>looks</th><th>like a table</th></tr></thead><tbody><tr><td>but this</td><td>is one</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/setext-headings/convert/slack","cleaned":{"text":"Setext level one\n================\n\nIntro paragraph under a setext heading.\n\nSetext level two\n----------------\n\nA paragraph that is immediately followed by dashes\n---\n\nThe dashes above attach to the paragraph as a setext underline.\n\n---\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n=\n\nUnderline with trailing spaces\n===\n\nNot a setext because of the blank line\n\n===\n\n| looks | like a table |\n| --- | --- |\n| but this | is one |"},"output":{"text":"*Setext level one*\n\nIntro paragraph under a setext heading.\n\n*Setext level two*\n\n*A paragraph that is immediately followed by dashes*\n\nThe dashes above attach to the paragraph as a setext underline.\n\n────────\n\nThe dashes above, after a blank line, are a thematic break instead.\n\n*Short underline*\n\n*Underline with trailing spaces*\n\nNot a setext because of the blank line\n\n===\n\n*looks:* but this · *like a table:* is one"},"html":{"text":"<h1>Setext level one</h1><p>Intro paragraph under a setext heading.</p><h2>Setext level two</h2><h2>A paragraph that is immediately followed by dashes</h2><p>The dashes above attach to the paragraph as a setext underline.</p><hr><p>The dashes above, after a blank line, are a thematic break instead.</p><h1>Short underline</h1><h1>Underline with trailing spaces</h1><p>Not a setext because of the blank line</p><p>===</p><table><thead><tr><th>looks</th><th>like a table</th></tr></thead><tbody><tr><td>but this</td><td>is one</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/setext-headings/convert/teams","cleaned":{"text":"Setext level one\n================\n\nIntro paragraph under a setext heading.\n\nSetext level two\n----------------\n\nA paragraph that is immediately followed by dashes\n---\n\nThe dashes above attach to the paragraph as a setext underline.\n\n---\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n=\n\nUnderline with trailing spaces\n===\n\nNot a setext because of the blank line\n\n===\n\n| looks | like a table |\n| --- | --- |\n| but this | is one |"},"output":{"text":"# Setext level one\n\nIntro paragraph under a setext heading.\n\n## Setext level two\n\n## A paragraph that is immediately followed by dashes\n\nThe dashes above attach to the paragraph as a setext underline.\n\n────────\n\nThe dashes above, after a blank line, are a thematic break instead.\n\n# Short underline\n\n# Underline with trailing spaces\n\nNot a setext because of the blank line\n\n===\n\n*looks:* but this · *like a table:* is one"},"html":{"text":"<h1>Setext level one</h1><p>Intro paragraph under a setext heading.</p><h2>Setext level two</h2><h2>A paragraph that is immediately followed by dashes</h2><p>The dashes above attach to the paragraph as a setext underline.</p><hr><p>The dashes above, after a blank line, are a thematic break instead.</p><h1>Short underline</h1><h1>Underline with trailing spaces</h1><p>Not a setext because of the blank line</p><p>===</p><table><thead><tr><th>looks</th><th>like a table</th></tr></thead><tbody><tr><td>but this</td><td>is one</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/setext-headings/convert/zendesk","cleaned":{"text":"Setext level one\n================\n\nIntro paragraph under a setext heading.\n\nSetext level two\n----------------\n\nA paragraph that is immediately followed by dashes\n---\n\nThe dashes above attach to the paragraph as a setext underline.\n\n---\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n=\n\nUnderline with trailing spaces\n===\n\nNot a setext because of the blank line\n\n===\n\n| looks | like a table |\n| --- | --- |\n| but this | is one |"},"output":{"text":"# Setext level one\n\nIntro paragraph under a setext heading.\n\n## Setext level two\n\n## A paragraph that is immediately followed by dashes\n\nThe dashes above attach to the paragraph as a setext underline.\n\n---\n\nThe dashes above, after a blank line, are a thematic break instead.\n\n# Short underline\n\n# Underline with trailing spaces\n\nNot a setext because of the blank line\n\n===\n\n**looks:** but this · **like a table:** is one"},"html":{"text":"<h1>Setext level one</h1><p>Intro paragraph under a setext heading.</p><h2>Setext level two</h2><h2>A paragraph that is immediately followed by dashes</h2><p>The dashes above attach to the paragraph as a setext underline.</p><hr><p>The dashes above, after a blank line, are a thematic break instead.</p><h1>Short underline</h1><h1>Underline with trailing spaces</h1><p>Not a setext because of the blank line</p><p>===</p><table><thead><tr><th>looks</th><th>like a table</th></tr></thead><tbody><tr><td>but this</td><td>is one</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/setext-headings/convert/jira","cleaned":{"text":"Setext level one\n================\n\nIntro paragraph under a setext heading.\n\nSetext level two\n----------------\n\nA paragraph that is immediately followed by dashes\n---\n\nThe dashes above attach to the paragraph as a setext underline.\n\n---\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n=\n\nUnderline with trailing spaces\n===\n\nNot a setext because of the blank line\n\n===\n\n| looks | like a table |\n| --- | --- |\n| but this | is one |"},"output":{"text":"# Setext level one\n\nIntro paragraph under a setext heading.\n\n## Setext level two\n\n## A paragraph that is immediately followed by dashes\n\nThe dashes above attach to the paragraph as a setext underline.\n\n---\n\nThe dashes above, after a blank line, are a thematic break instead.\n\n# Short underline\n\n# Underline with trailing spaces\n\nNot a setext because of the blank line\n\n===\n\n**looks:** but this · **like a table:** is one"},"html":{"text":"<h1>Setext level one</h1><p>Intro paragraph under a setext heading.</p><h2>Setext level two</h2><h2>A paragraph that is immediately followed by dashes</h2><p>The dashes above attach to the paragraph as a setext underline.</p><hr><p>The dashes above, after a blank line, are a thematic break instead.</p><h1>Short underline</h1><h1>Underline with trailing spaces</h1><p>Not a setext because of the blank line</p><p>===</p><table><thead><tr><th>looks</th><th>like a table</th></tr></thead><tbody><tr><td>but this</td><td>is one</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/setext-headings/convert/plain","cleaned":{"text":"Setext level one\n================\n\nIntro paragraph under a setext heading.\n\nSetext level two\n----------------\n\nA paragraph that is immediately followed by dashes\n---\n\nThe dashes above attach to the paragraph as a setext underline.\n\n---\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n=\n\nUnderline with trailing spaces\n===\n\nNot a setext because of the blank line\n\n===\n\n| looks | like a table |\n| --- | --- |\n| but this | is one |"},"output":{"text":"Setext level one\n\nIntro paragraph under a setext heading.\n\nSetext level two\n\nA paragraph that is immediately followed by dashes\n\nThe dashes above attach to the paragraph as a setext underline.\n\n────────\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n\nUnderline with trailing spaces\n\nNot a setext because of the blank line\n\n===\n\nlooks: but this · like a table: is one"},"html":{"text":"<h1>Setext level one</h1><p>Intro paragraph under a setext heading.</p><h2>Setext level two</h2><h2>A paragraph that is immediately followed by dashes</h2><p>The dashes above attach to the paragraph as a setext underline.</p><hr><p>The dashes above, after a blank line, are a thematic break instead.</p><h1>Short underline</h1><h1>Underline with trailing spaces</h1><p>Not a setext because of the blank line</p><p>===</p><table><thead><tr><th>looks</th><th>like a table</th></tr></thead><tbody><tr><td>but this</td><td>is one</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/setext-headings/whatsapp-preview","fnv":"c67e4001","len":1449}
{"id":"doc/setext-headings/diff-cleanup","val":[{"type":"same","value":"Setext level one\n================\n\nIntro paragraph under a setext heading.\n\nSetext level two\n----------------\n\nA paragraph that is immediately followed by dashes\n---\n\nThe dashes above attach to the paragraph as a setext underline.\n\n---\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n=\n\nUnderline with trailing spaces\n==="},{"type":"removed","value":"   \n\n"},{"type":"added","value":"\n\n"},{"type":"same","value":"Not a setext because of the blank line\n\n===\n\n| looks | like a table |\n| --- | --- |\n| but this | is one |"},{"type":"removed","value":"\n"}]}
{"id":"doc/setext-headings/workflow/auto/whatsapp","detected":"Markdown","cleaned":{"text":"Setext level one\n================\n\nIntro paragraph under a setext heading.\n\nSetext level two\n----------------\n\nA paragraph that is immediately followed by dashes\n---\n\nThe dashes above attach to the paragraph as a setext underline.\n\n---\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n=\n\nUnderline with trailing spaces\n===\n\nNot a setext because of the blank line\n\n===\n\n| looks | like a table |\n| --- | --- |\n| but this | is one |"},"output":{"text":"*Setext level one*\n\nIntro paragraph under a setext heading.\n\n*Setext level two*\n\n*A paragraph that is immediately followed by dashes*\n\nThe dashes above attach to the paragraph as a setext underline.\n\n────────\n\nThe dashes above, after a blank line, are a thematic break instead.\n\n*Short underline*\n\n*Underline with trailing spaces*\n\nNot a setext because of the blank line\n\n===\n\n*looks:* but this · *like a table:* is one"},"html":{"text":"<h1>Setext level one</h1><p>Intro paragraph under a setext heading.</p><h2>Setext level two</h2><h2>A paragraph that is immediately followed by dashes</h2><p>The dashes above attach to the paragraph as a setext underline.</p><hr><p>The dashes above, after a blank line, are a thematic break instead.</p><h1>Short underline</h1><h1>Underline with trailing spaces</h1><p>Not a setext because of the blank line</p><p>===</p><table><thead><tr><th>looks</th><th>like a table</th></tr></thead><tbody><tr><td>but this</td><td>is one</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/setext-headings/workflow/auto/google-chat","detected":"Markdown","cleaned":{"text":"Setext level one\n================\n\nIntro paragraph under a setext heading.\n\nSetext level two\n----------------\n\nA paragraph that is immediately followed by dashes\n---\n\nThe dashes above attach to the paragraph as a setext underline.\n\n---\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n=\n\nUnderline with trailing spaces\n===\n\nNot a setext because of the blank line\n\n===\n\n| looks | like a table |\n| --- | --- |\n| but this | is one |"},"output":{"text":"*Setext level one*\n\nIntro paragraph under a setext heading.\n\n*Setext level two*\n\n*A paragraph that is immediately followed by dashes*\n\nThe dashes above attach to the paragraph as a setext underline.\n\n────────\n\nThe dashes above, after a blank line, are a thematic break instead.\n\n*Short underline*\n\n*Underline with trailing spaces*\n\nNot a setext because of the blank line\n\n===\n\n*looks:* but this · *like a table:* is one"},"html":{"text":"<h1>Setext level one</h1><p>Intro paragraph under a setext heading.</p><h2>Setext level two</h2><h2>A paragraph that is immediately followed by dashes</h2><p>The dashes above attach to the paragraph as a setext underline.</p><hr><p>The dashes above, after a blank line, are a thematic break instead.</p><h1>Short underline</h1><h1>Underline with trailing spaces</h1><p>Not a setext because of the blank line</p><p>===</p><table><thead><tr><th>looks</th><th>like a table</th></tr></thead><tbody><tr><td>but this</td><td>is one</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/setext-headings/workflow/auto/discord","detected":"Markdown","cleaned":{"text":"Setext level one\n================\n\nIntro paragraph under a setext heading.\n\nSetext level two\n----------------\n\nA paragraph that is immediately followed by dashes\n---\n\nThe dashes above attach to the paragraph as a setext underline.\n\n---\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n=\n\nUnderline with trailing spaces\n===\n\nNot a setext because of the blank line\n\n===\n\n| looks | like a table |\n| --- | --- |\n| but this | is one |"},"output":{"text":"# Setext level one\n\nIntro paragraph under a setext heading.\n\n## Setext level two\n\n## A paragraph that is immediately followed by dashes\n\nThe dashes above attach to the paragraph as a setext underline.\n\n────────\n\nThe dashes above, after a blank line, are a thematic break instead.\n\n# Short underline\n\n# Underline with trailing spaces\n\nNot a setext because of the blank line\n\n===\n\n**looks:** but this · **like a table:** is one"},"html":{"text":"<h1>Setext level one</h1><p>Intro paragraph under a setext heading.</p><h2>Setext level two</h2><h2>A paragraph that is immediately followed by dashes</h2><p>The dashes above attach to the paragraph as a setext underline.</p><hr><p>The dashes above, after a blank line, are a thematic break instead.</p><h1>Short underline</h1><h1>Underline with trailing spaces</h1><p>Not a setext because of the blank line</p><p>===</p><table><thead><tr><th>looks</th><th>like a table</th></tr></thead><tbody><tr><td>but this</td><td>is one</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/setext-headings/workflow/auto/slack","detected":"Markdown","cleaned":{"text":"Setext level one\n================\n\nIntro paragraph under a setext heading.\n\nSetext level two\n----------------\n\nA paragraph that is immediately followed by dashes\n---\n\nThe dashes above attach to the paragraph as a setext underline.\n\n---\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n=\n\nUnderline with trailing spaces\n===\n\nNot a setext because of the blank line\n\n===\n\n| looks | like a table |\n| --- | --- |\n| but this | is one |"},"output":{"text":"*Setext level one*\n\nIntro paragraph under a setext heading.\n\n*Setext level two*\n\n*A paragraph that is immediately followed by dashes*\n\nThe dashes above attach to the paragraph as a setext underline.\n\n────────\n\nThe dashes above, after a blank line, are a thematic break instead.\n\n*Short underline*\n\n*Underline with trailing spaces*\n\nNot a setext because of the blank line\n\n===\n\n*looks:* but this · *like a table:* is one"},"html":{"text":"<h1>Setext level one</h1><p>Intro paragraph under a setext heading.</p><h2>Setext level two</h2><h2>A paragraph that is immediately followed by dashes</h2><p>The dashes above attach to the paragraph as a setext underline.</p><hr><p>The dashes above, after a blank line, are a thematic break instead.</p><h1>Short underline</h1><h1>Underline with trailing spaces</h1><p>Not a setext because of the blank line</p><p>===</p><table><thead><tr><th>looks</th><th>like a table</th></tr></thead><tbody><tr><td>but this</td><td>is one</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/setext-headings/workflow/auto/teams","detected":"Markdown","cleaned":{"text":"Setext level one\n================\n\nIntro paragraph under a setext heading.\n\nSetext level two\n----------------\n\nA paragraph that is immediately followed by dashes\n---\n\nThe dashes above attach to the paragraph as a setext underline.\n\n---\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n=\n\nUnderline with trailing spaces\n===\n\nNot a setext because of the blank line\n\n===\n\n| looks | like a table |\n| --- | --- |\n| but this | is one |"},"output":{"text":"# Setext level one\n\nIntro paragraph under a setext heading.\n\n## Setext level two\n\n## A paragraph that is immediately followed by dashes\n\nThe dashes above attach to the paragraph as a setext underline.\n\n────────\n\nThe dashes above, after a blank line, are a thematic break instead.\n\n# Short underline\n\n# Underline with trailing spaces\n\nNot a setext because of the blank line\n\n===\n\n*looks:* but this · *like a table:* is one"},"html":{"text":"<h1>Setext level one</h1><p>Intro paragraph under a setext heading.</p><h2>Setext level two</h2><h2>A paragraph that is immediately followed by dashes</h2><p>The dashes above attach to the paragraph as a setext underline.</p><hr><p>The dashes above, after a blank line, are a thematic break instead.</p><h1>Short underline</h1><h1>Underline with trailing spaces</h1><p>Not a setext because of the blank line</p><p>===</p><table><thead><tr><th>looks</th><th>like a table</th></tr></thead><tbody><tr><td>but this</td><td>is one</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/setext-headings/workflow/auto/zendesk","detected":"Markdown","cleaned":{"text":"Setext level one\n================\n\nIntro paragraph under a setext heading.\n\nSetext level two\n----------------\n\nA paragraph that is immediately followed by dashes\n---\n\nThe dashes above attach to the paragraph as a setext underline.\n\n---\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n=\n\nUnderline with trailing spaces\n===\n\nNot a setext because of the blank line\n\n===\n\n| looks | like a table |\n| --- | --- |\n| but this | is one |"},"output":{"text":"# Setext level one\n\nIntro paragraph under a setext heading.\n\n## Setext level two\n\n## A paragraph that is immediately followed by dashes\n\nThe dashes above attach to the paragraph as a setext underline.\n\n---\n\nThe dashes above, after a blank line, are a thematic break instead.\n\n# Short underline\n\n# Underline with trailing spaces\n\nNot a setext because of the blank line\n\n===\n\n**looks:** but this · **like a table:** is one"},"html":{"text":"<h1>Setext level one</h1><p>Intro paragraph under a setext heading.</p><h2>Setext level two</h2><h2>A paragraph that is immediately followed by dashes</h2><p>The dashes above attach to the paragraph as a setext underline.</p><hr><p>The dashes above, after a blank line, are a thematic break instead.</p><h1>Short underline</h1><h1>Underline with trailing spaces</h1><p>Not a setext because of the blank line</p><p>===</p><p><strong>looks:</strong> but this · <strong>like a table:</strong> is one</p>"},"changes":[]}
{"id":"doc/setext-headings/workflow/auto/jira","detected":"Markdown","cleaned":{"text":"Setext level one\n================\n\nIntro paragraph under a setext heading.\n\nSetext level two\n----------------\n\nA paragraph that is immediately followed by dashes\n---\n\nThe dashes above attach to the paragraph as a setext underline.\n\n---\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n=\n\nUnderline with trailing spaces\n===\n\nNot a setext because of the blank line\n\n===\n\n| looks | like a table |\n| --- | --- |\n| but this | is one |"},"output":{"text":"# Setext level one\n\nIntro paragraph under a setext heading.\n\n## Setext level two\n\n## A paragraph that is immediately followed by dashes\n\nThe dashes above attach to the paragraph as a setext underline.\n\n---\n\nThe dashes above, after a blank line, are a thematic break instead.\n\n# Short underline\n\n# Underline with trailing spaces\n\nNot a setext because of the blank line\n\n===\n\n**looks:** but this · **like a table:** is one"},"html":{"text":"<h1>Setext level one</h1><p>Intro paragraph under a setext heading.</p><h2>Setext level two</h2><h2>A paragraph that is immediately followed by dashes</h2><p>The dashes above attach to the paragraph as a setext underline.</p><hr><p>The dashes above, after a blank line, are a thematic break instead.</p><h1>Short underline</h1><h1>Underline with trailing spaces</h1><p>Not a setext because of the blank line</p><p>===</p><p><strong>looks:</strong> but this · <strong>like a table:</strong> is one</p>"},"changes":[]}
{"id":"doc/setext-headings/workflow/auto/plain","detected":"Markdown","cleaned":{"text":"Setext level one\n================\n\nIntro paragraph under a setext heading.\n\nSetext level two\n----------------\n\nA paragraph that is immediately followed by dashes\n---\n\nThe dashes above attach to the paragraph as a setext underline.\n\n---\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n=\n\nUnderline with trailing spaces\n===\n\nNot a setext because of the blank line\n\n===\n\n| looks | like a table |\n| --- | --- |\n| but this | is one |"},"output":{"text":"Setext level one\n\nIntro paragraph under a setext heading.\n\nSetext level two\n\nA paragraph that is immediately followed by dashes\n\nThe dashes above attach to the paragraph as a setext underline.\n\n────────\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n\nUnderline with trailing spaces\n\nNot a setext because of the blank line\n\n===\n\nlooks: but this · like a table: is one"},"html":{"text":"<h1>Setext level one</h1><p>Intro paragraph under a setext heading.</p><h2>Setext level two</h2><h2>A paragraph that is immediately followed by dashes</h2><p>The dashes above attach to the paragraph as a setext underline.</p><hr><p>The dashes above, after a blank line, are a thematic break instead.</p><h1>Short underline</h1><h1>Underline with trailing spaces</h1><p>Not a setext because of the blank line</p><p>===</p><table><thead><tr><th>looks</th><th>like a table</th></tr></thead><tbody><tr><td>but this</td><td>is one</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/setext-headings/workflow/auto/imessage","detected":"Markdown","cleaned":{"text":"Setext level one\n================\n\nIntro paragraph under a setext heading.\n\nSetext level two\n----------------\n\nA paragraph that is immediately followed by dashes\n---\n\nThe dashes above attach to the paragraph as a setext underline.\n\n---\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n=\n\nUnderline with trailing spaces\n===\n\nNot a setext because of the blank line\n\n===\n\n| looks | like a table |\n| --- | --- |\n| but this | is one |"},"output":{"text":"Setext level one\n\nIntro paragraph under a setext heading.\n\nSetext level two\n\nA paragraph that is immediately followed by dashes\n\nThe dashes above attach to the paragraph as a setext underline.\n\n────────\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n\nUnderline with trailing spaces\n\nNot a setext because of the blank line\n\n===\n\nlooks: but this · like a table: is one"},"html":{"text":"<h1>Setext level one</h1><p>Intro paragraph under a setext heading.</p><h2>Setext level two</h2><h2>A paragraph that is immediately followed by dashes</h2><p>The dashes above attach to the paragraph as a setext underline.</p><hr><p>The dashes above, after a blank line, are a thematic break instead.</p><h1>Short underline</h1><h1>Underline with trailing spaces</h1><p>Not a setext because of the blank line</p><p>===</p><table><thead><tr><th>looks</th><th>like a table</th></tr></thead><tbody><tr><td>but this</td><td>is one</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/setext-headings/workflow/auto/signal","detected":"Markdown","cleaned":{"text":"Setext level one\n================\n\nIntro paragraph under a setext heading.\n\nSetext level two\n----------------\n\nA paragraph that is immediately followed by dashes\n---\n\nThe dashes above attach to the paragraph as a setext underline.\n\n---\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n=\n\nUnderline with trailing spaces\n===\n\nNot a setext because of the blank line\n\n===\n\n| looks | like a table |\n| --- | --- |\n| but this | is one |"},"output":{"text":"Setext level one\n\nIntro paragraph under a setext heading.\n\nSetext level two\n\nA paragraph that is immediately followed by dashes\n\nThe dashes above attach to the paragraph as a setext underline.\n\n────────\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n\nUnderline with trailing spaces\n\nNot a setext because of the blank line\n\n===\n\nlooks: but this · like a table: is one"},"html":{"text":"<h1>Setext level one</h1><p>Intro paragraph under a setext heading.</p><h2>Setext level two</h2><h2>A paragraph that is immediately followed by dashes</h2><p>The dashes above attach to the paragraph as a setext underline.</p><hr><p>The dashes above, after a blank line, are a thematic break instead.</p><h1>Short underline</h1><h1>Underline with trailing spaces</h1><p>Not a setext because of the blank line</p><p>===</p><table><thead><tr><th>looks</th><th>like a table</th></tr></thead><tbody><tr><td>but this</td><td>is one</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/setext-headings/workflow/auto/telegram","detected":"Markdown","cleaned":{"text":"Setext level one\n================\n\nIntro paragraph under a setext heading.\n\nSetext level two\n----------------\n\nA paragraph that is immediately followed by dashes\n---\n\nThe dashes above attach to the paragraph as a setext underline.\n\n---\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n=\n\nUnderline with trailing spaces\n===\n\nNot a setext because of the blank line\n\n===\n\n| looks | like a table |\n| --- | --- |\n| but this | is one |"},"output":{"text":"Setext level one\n\nIntro paragraph under a setext heading.\n\nSetext level two\n\nA paragraph that is immediately followed by dashes\n\nThe dashes above attach to the paragraph as a setext underline.\n\n────────\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n\nUnderline with trailing spaces\n\nNot a setext because of the blank line\n\n===\n\nlooks: but this · like a table: is one"},"html":{"text":"<h1>Setext level one</h1><p>Intro paragraph under a setext heading.</p><h2>Setext level two</h2><h2>A paragraph that is immediately followed by dashes</h2><p>The dashes above attach to the paragraph as a setext underline.</p><hr><p>The dashes above, after a blank line, are a thematic break instead.</p><h1>Short underline</h1><h1>Underline with trailing spaces</h1><p>Not a setext because of the blank line</p><p>===</p><table><thead><tr><th>looks</th><th>like a table</th></tr></thead><tbody><tr><td>but this</td><td>is one</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/setext-headings/workflow/auto/gmail","detected":"Markdown","cleaned":{"text":"Setext level one\n================\n\nIntro paragraph under a setext heading.\n\nSetext level two\n----------------\n\nA paragraph that is immediately followed by dashes\n---\n\nThe dashes above attach to the paragraph as a setext underline.\n\n---\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n=\n\nUnderline with trailing spaces\n===\n\nNot a setext because of the blank line\n\n===\n\n| looks | like a table |\n| --- | --- |\n| but this | is one |"},"output":{"text":"Setext level one\n\nIntro paragraph under a setext heading.\n\nSetext level two\n\nA paragraph that is immediately followed by dashes\n\nThe dashes above attach to the paragraph as a setext underline.\n\n────────\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n\nUnderline with trailing spaces\n\nNot a setext because of the blank line\n\n===\n\nlooks: but this · like a table: is one"},"html":{"text":"<h1>Setext level one</h1><p>Intro paragraph under a setext heading.</p><h2>Setext level two</h2><h2>A paragraph that is immediately followed by dashes</h2><p>The dashes above attach to the paragraph as a setext underline.</p><hr><p>The dashes above, after a blank line, are a thematic break instead.</p><h1>Short underline</h1><h1>Underline with trailing spaces</h1><p>Not a setext because of the blank line</p><p>===</p><table><thead><tr><th>looks</th><th>like a table</th></tr></thead><tbody><tr><td>but this</td><td>is one</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/setext-headings/workflow/auto/outlook","detected":"Markdown","cleaned":{"text":"Setext level one\n================\n\nIntro paragraph under a setext heading.\n\nSetext level two\n----------------\n\nA paragraph that is immediately followed by dashes\n---\n\nThe dashes above attach to the paragraph as a setext underline.\n\n---\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n=\n\nUnderline with trailing spaces\n===\n\nNot a setext because of the blank line\n\n===\n\n| looks | like a table |\n| --- | --- |\n| but this | is one |"},"output":{"text":"Setext level one\n\nIntro paragraph under a setext heading.\n\nSetext level two\n\nA paragraph that is immediately followed by dashes\n\nThe dashes above attach to the paragraph as a setext underline.\n\n────────\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n\nUnderline with trailing spaces\n\nNot a setext because of the blank line\n\n===\n\nlooks: but this · like a table: is one"},"html":{"text":"<h1>Setext level one</h1><p>Intro paragraph under a setext heading.</p><h2>Setext level two</h2><h2>A paragraph that is immediately followed by dashes</h2><p>The dashes above attach to the paragraph as a setext underline.</p><hr><p>The dashes above, after a blank line, are a thematic break instead.</p><h1>Short underline</h1><h1>Underline with trailing spaces</h1><p>Not a setext because of the blank line</p><p>===</p><table><thead><tr><th>looks</th><th>like a table</th></tr></thead><tbody><tr><td>but this</td><td>is one</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/setext-headings/workflow/auto/shortwave","detected":"Markdown","cleaned":{"text":"Setext level one\n================\n\nIntro paragraph under a setext heading.\n\nSetext level two\n----------------\n\nA paragraph that is immediately followed by dashes\n---\n\nThe dashes above attach to the paragraph as a setext underline.\n\n---\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n=\n\nUnderline with trailing spaces\n===\n\nNot a setext because of the blank line\n\n===\n\n| looks | like a table |\n| --- | --- |\n| but this | is one |"},"output":{"text":"Setext level one\n\nIntro paragraph under a setext heading.\n\nSetext level two\n\nA paragraph that is immediately followed by dashes\n\nThe dashes above attach to the paragraph as a setext underline.\n\n────────\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n\nUnderline with trailing spaces\n\nNot a setext because of the blank line\n\n===\n\nlooks: but this · like a table: is one"},"html":{"text":"<h1>Setext level one</h1><p>Intro paragraph under a setext heading.</p><h2>Setext level two</h2><h2>A paragraph that is immediately followed by dashes</h2><p>The dashes above attach to the paragraph as a setext underline.</p><hr><p>The dashes above, after a blank line, are a thematic break instead.</p><h1>Short underline</h1><h1>Underline with trailing spaces</h1><p>Not a setext because of the blank line</p><p>===</p><table><thead><tr><th>looks</th><th>like a table</th></tr></thead><tbody><tr><td>but this</td><td>is one</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/setext-headings/workflow/auto/notion","detected":"Markdown","cleaned":{"text":"Setext level one\n================\n\nIntro paragraph under a setext heading.\n\nSetext level two\n----------------\n\nA paragraph that is immediately followed by dashes\n---\n\nThe dashes above attach to the paragraph as a setext underline.\n\n---\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n=\n\nUnderline with trailing spaces\n===\n\nNot a setext because of the blank line\n\n===\n\n| looks | like a table |\n| --- | --- |\n| but this | is one |"},"output":{"text":"Setext level one\n\nIntro paragraph under a setext heading.\n\nSetext level two\n\nA paragraph that is immediately followed by dashes\n\nThe dashes above attach to the paragraph as a setext underline.\n\n────────\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n\nUnderline with trailing spaces\n\nNot a setext because of the blank line\n\n===\n\nlooks: but this · like a table: is one"},"html":{"text":"<h1>Setext level one</h1><p>Intro paragraph under a setext heading.</p><h2>Setext level two</h2><h2>A paragraph that is immediately followed by dashes</h2><p>The dashes above attach to the paragraph as a setext underline.</p><hr><p>The dashes above, after a blank line, are a thematic break instead.</p><h1>Short underline</h1><h1>Underline with trailing spaces</h1><p>Not a setext because of the blank line</p><p>===</p><table><thead><tr><th>looks</th><th>like a table</th></tr></thead><tbody><tr><td>but this</td><td>is one</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/setext-headings/workflow/auto/confluence","detected":"Markdown","cleaned":{"text":"Setext level one\n================\n\nIntro paragraph under a setext heading.\n\nSetext level two\n----------------\n\nA paragraph that is immediately followed by dashes\n---\n\nThe dashes above attach to the paragraph as a setext underline.\n\n---\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n=\n\nUnderline with trailing spaces\n===\n\nNot a setext because of the blank line\n\n===\n\n| looks | like a table |\n| --- | --- |\n| but this | is one |"},"output":{"text":"Setext level one\n\nIntro paragraph under a setext heading.\n\nSetext level two\n\nA paragraph that is immediately followed by dashes\n\nThe dashes above attach to the paragraph as a setext underline.\n\n────────\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n\nUnderline with trailing spaces\n\nNot a setext because of the blank line\n\n===\n\nlooks: but this · like a table: is one"},"html":{"text":"<h1>Setext level one</h1><p>Intro paragraph under a setext heading.</p><h2>Setext level two</h2><h2>A paragraph that is immediately followed by dashes</h2><p>The dashes above attach to the paragraph as a setext underline.</p><hr><p>The dashes above, after a blank line, are a thematic break instead.</p><h1>Short underline</h1><h1>Underline with trailing spaces</h1><p>Not a setext because of the blank line</p><p>===</p><table><thead><tr><th>looks</th><th>like a table</th></tr></thead><tbody><tr><td>but this</td><td>is one</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/setext-headings/workflow/auto/calendar","detected":"Markdown","cleaned":{"text":"Setext level one\n================\n\nIntro paragraph under a setext heading.\n\nSetext level two\n----------------\n\nA paragraph that is immediately followed by dashes\n---\n\nThe dashes above attach to the paragraph as a setext underline.\n\n---\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n=\n\nUnderline with trailing spaces\n===\n\nNot a setext because of the blank line\n\n===\n\n| looks | like a table |\n| --- | --- |\n| but this | is one |"},"output":{"text":"Setext level one\n\nIntro paragraph under a setext heading.\n\nSetext level two\n\nA paragraph that is immediately followed by dashes\n\nThe dashes above attach to the paragraph as a setext underline.\n\n────────\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n\nUnderline with trailing spaces\n\nNot a setext because of the blank line\n\n===\n\nlooks: but this · like a table: is one"},"html":{"text":"<h1>Setext level one</h1><p>Intro paragraph under a setext heading.</p><h2>Setext level two</h2><h2>A paragraph that is immediately followed by dashes</h2><p>The dashes above attach to the paragraph as a setext underline.</p><hr><p>The dashes above, after a blank line, are a thematic break instead.</p><h1>Short underline</h1><h1>Underline with trailing spaces</h1><p>Not a setext because of the blank line</p><p>===</p><table><thead><tr><th>looks</th><th>like a table</th></tr></thead><tbody><tr><td>but this</td><td>is one</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/setext-headings/workflow/auto/word","detected":"Markdown","cleaned":{"text":"Setext level one\n================\n\nIntro paragraph under a setext heading.\n\nSetext level two\n----------------\n\nA paragraph that is immediately followed by dashes\n---\n\nThe dashes above attach to the paragraph as a setext underline.\n\n---\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n=\n\nUnderline with trailing spaces\n===\n\nNot a setext because of the blank line\n\n===\n\n| looks | like a table |\n| --- | --- |\n| but this | is one |"},"output":{"text":"Setext level one\n\nIntro paragraph under a setext heading.\n\nSetext level two\n\nA paragraph that is immediately followed by dashes\n\nThe dashes above attach to the paragraph as a setext underline.\n\n────────\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n\nUnderline with trailing spaces\n\nNot a setext because of the blank line\n\n===\n\nlooks: but this · like a table: is one"},"html":{"text":"<h1>Setext level one</h1><p>Intro paragraph under a setext heading.</p><h2>Setext level two</h2><h2>A paragraph that is immediately followed by dashes</h2><p>The dashes above attach to the paragraph as a setext underline.</p><hr><p>The dashes above, after a blank line, are a thematic break instead.</p><h1>Short underline</h1><h1>Underline with trailing spaces</h1><p>Not a setext because of the blank line</p><p>===</p><table><thead><tr><th>looks</th><th>like a table</th></tr></thead><tbody><tr><td>but this</td><td>is one</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/setext-headings/workflow/auto/google-docs","detected":"Markdown","cleaned":{"text":"Setext level one\n================\n\nIntro paragraph under a setext heading.\n\nSetext level two\n----------------\n\nA paragraph that is immediately followed by dashes\n---\n\nThe dashes above attach to the paragraph as a setext underline.\n\n---\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n=\n\nUnderline with trailing spaces\n===\n\nNot a setext because of the blank line\n\n===\n\n| looks | like a table |\n| --- | --- |\n| but this | is one |"},"output":{"text":"Setext level one\n\nIntro paragraph under a setext heading.\n\nSetext level two\n\nA paragraph that is immediately followed by dashes\n\nThe dashes above attach to the paragraph as a setext underline.\n\n────────\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n\nUnderline with trailing spaces\n\nNot a setext because of the blank line\n\n===\n\nlooks: but this · like a table: is one"},"html":{"text":"<h1>Setext level one</h1><p>Intro paragraph under a setext heading.</p><h2>Setext level two</h2><h2>A paragraph that is immediately followed by dashes</h2><p>The dashes above attach to the paragraph as a setext underline.</p><hr><p>The dashes above, after a blank line, are a thematic break instead.</p><h1>Short underline</h1><h1>Underline with trailing spaces</h1><p>Not a setext because of the blank line</p><p>===</p><table><thead><tr><th>looks</th><th>like a table</th></tr></thead><tbody><tr><td>but this</td><td>is one</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/setext-headings/workflow/auto/markdown","detected":"Markdown","cleaned":{"text":"Setext level one\n================\n\nIntro paragraph under a setext heading.\n\nSetext level two\n----------------\n\nA paragraph that is immediately followed by dashes\n---\n\nThe dashes above attach to the paragraph as a setext underline.\n\n---\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n=\n\nUnderline with trailing spaces\n===\n\nNot a setext because of the blank line\n\n===\n\n| looks | like a table |\n| --- | --- |\n| but this | is one |"},"output":{"text":"Setext level one\n================\n\nIntro paragraph under a setext heading.\n\nSetext level two\n----------------\n\nA paragraph that is immediately followed by dashes\n---\n\nThe dashes above attach to the paragraph as a setext underline.\n\n---\n\nThe dashes above, after a blank line, are a thematic break instead.\n\nShort underline\n=\n\nUnderline with trailing spaces\n===\n\nNot a setext because of the blank line\n\n===\n\n| looks | like a table |\n| --- | --- |\n| but this | is one |"},"html":{"text":"<h1>Setext level one</h1><p>Intro paragraph under a setext heading.</p><h2>Setext level two</h2><h2>A paragraph that is immediately followed by dashes</h2><p>The dashes above attach to the paragraph as a setext underline.</p><hr><p>The dashes above, after a blank line, are a thematic break instead.</p><h1>Short underline</h1><h1>Underline with trailing spaces</h1><p>Not a setext because of the blank line</p><p>===</p><table><thead><tr><th>looks</th><th>like a table</th></tr></thead><tbody><tr><td>but this</td><td>is one</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/setext-headings/workflow/markdown/whatsapp","detected":"Markdown","fnv":"8698befc","len":1536}
{"id":"doc/setext-headings/workflow/markdown/google-chat","detected":"Markdown","fnv":"8698befc","len":1536}
{"id":"doc/setext-headings/workflow/markdown/discord","detected":"Markdown","fnv":"eace0899","len":1542}
{"id":"doc/setext-headings/workflow/markdown/slack","detected":"Markdown","fnv":"8698befc","len":1536}
{"id":"doc/setext-headings/workflow/markdown/teams","detected":"Markdown","fnv":"70bff051","len":1538}
{"id":"doc/setext-headings/workflow/markdown/zendesk","detected":"Markdown","fnv":"bf56cc61","len":1486}
{"id":"doc/setext-headings/workflow/markdown/jira","detected":"Markdown","fnv":"bf56cc61","len":1486}
{"id":"doc/setext-headings/workflow/markdown/plain","detected":"Markdown","fnv":"ac68f2e4","len":1522}
{"id":"doc/setext-headings/workflow/markdown/imessage","detected":"Markdown","fnv":"ac68f2e4","len":1522}
{"id":"doc/setext-headings/workflow/markdown/signal","detected":"Markdown","fnv":"ac68f2e4","len":1522}
{"id":"doc/setext-headings/workflow/markdown/telegram","detected":"Markdown","fnv":"ac68f2e4","len":1522}
{"id":"doc/setext-headings/workflow/markdown/gmail","detected":"Markdown","fnv":"ac68f2e4","len":1522}
{"id":"doc/setext-headings/workflow/markdown/outlook","detected":"Markdown","fnv":"ac68f2e4","len":1522}
{"id":"doc/setext-headings/workflow/markdown/shortwave","detected":"Markdown","fnv":"ac68f2e4","len":1522}
{"id":"doc/setext-headings/workflow/markdown/notion","detected":"Markdown","fnv":"ac68f2e4","len":1522}
{"id":"doc/setext-headings/workflow/markdown/confluence","detected":"Markdown","fnv":"ac68f2e4","len":1522}
{"id":"doc/setext-headings/workflow/markdown/calendar","detected":"Markdown","fnv":"ac68f2e4","len":1522}
{"id":"doc/setext-headings/workflow/markdown/word","detected":"Markdown","fnv":"ac68f2e4","len":1522}
{"id":"doc/setext-headings/workflow/markdown/google-docs","detected":"Markdown","fnv":"ac68f2e4","len":1522}
{"id":"doc/setext-headings/workflow/markdown/markdown","detected":"Markdown","fnv":"e3626cb1","len":1590}
{"id":"doc/setext-headings/workflow/plain/whatsapp","detected":"Markdown","fnv":"40515c70","len":1588}
{"id":"doc/setext-headings/workflow/plain/google-chat","detected":"Markdown","fnv":"40515c70","len":1588}
{"id":"doc/setext-headings/workflow/plain/discord","detected":"Markdown","fnv":"40515c70","len":1588}
{"id":"doc/setext-headings/workflow/plain/slack","detected":"Markdown","fnv":"40515c70","len":1588}
{"id":"doc/setext-headings/workflow/plain/teams","detected":"Markdown","fnv":"40515c70","len":1588}
{"id":"doc/setext-headings/workflow/plain/zendesk","detected":"Markdown","fnv":"40515c70","len":1588}
{"id":"doc/setext-headings/workflow/plain/jira","detected":"Markdown","fnv":"40515c70","len":1588}
{"id":"doc/setext-headings/workflow/plain/plain","detected":"Markdown","fnv":"40515c70","len":1588}
{"id":"doc/setext-headings/workflow/plain/imessage","detected":"Markdown","fnv":"40515c70","len":1588}
{"id":"doc/setext-headings/workflow/plain/signal","detected":"Markdown","fnv":"40515c70","len":1588}
{"id":"doc/setext-headings/workflow/plain/telegram","detected":"Markdown","fnv":"40515c70","len":1588}
{"id":"doc/setext-headings/workflow/plain/gmail","detected":"Markdown","fnv":"40515c70","len":1588}
{"id":"doc/setext-headings/workflow/plain/outlook","detected":"Markdown","fnv":"40515c70","len":1588}
{"id":"doc/setext-headings/workflow/plain/shortwave","detected":"Markdown","fnv":"40515c70","len":1588}
{"id":"doc/setext-headings/workflow/plain/notion","detected":"Markdown","fnv":"40515c70","len":1588}
{"id":"doc/setext-headings/workflow/plain/confluence","detected":"Markdown","fnv":"40515c70","len":1588}
{"id":"doc/setext-headings/workflow/plain/calendar","detected":"Markdown","fnv":"40515c70","len":1588}
{"id":"doc/setext-headings/workflow/plain/word","detected":"Markdown","fnv":"40515c70","len":1588}
{"id":"doc/setext-headings/workflow/plain/google-docs","detected":"Markdown","fnv":"40515c70","len":1588}
{"id":"doc/setext-headings/workflow/plain/markdown","detected":"Markdown","fnv":"40515c70","len":1588}
{"id":"doc/synthetic-crlf/detect","val":"Markdown"}
{"id":"doc/synthetic-crlf/words","val":12}
{"id":"doc/synthetic-crlf/filename/md","val":"title.md"}
{"id":"doc/synthetic-crlf/filename/docx","val":"title.docx"}
{"id":"doc/synthetic-crlf/clean/default","text":"# Title\nline one\n\n- item\nlazy line\n\nsmart \"quotes\" and a dash - here","changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/synthetic-crlf/clean/no-invisible","text":"# Title\nline one\n\n- item\nlazy line\n\nsmart \"quotes\" and a dash - here","changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/synthetic-crlf/clean/no-spacing","text":"# Title\nline one\n\n- item\nlazy line\n\nsmart \"quotes\" and a dash - here","changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/synthetic-crlf/clean/no-punctuation","text":"# Title\nline one\n\n- item\nlazy line\n\nsmart “quotes” and a dash — here","changes":[]}
{"id":"doc/synthetic-crlf/clean/no-markdown","text":"# Title\nline one\n\n- item\nlazy line\n\nsmart \"quotes\" and a dash - here","changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/synthetic-crlf/clean/none","text":"# Title\nline one\n\n- item\nlazy line\n\nsmart “quotes” and a dash — here","changes":[]}
{"id":"doc/synthetic-crlf/clean/only-invisible","text":"# Title\nline one\n\n- item\nlazy line\n\nsmart “quotes” and a dash — here","changes":[]}
{"id":"doc/synthetic-crlf/clean/only-spacing","text":"# Title\nline one\n\n- item\nlazy line\n\nsmart “quotes” and a dash — here","changes":[]}
{"id":"doc/synthetic-crlf/clean/only-punctuation","text":"# Title\nline one\n\n- item\nlazy line\n\nsmart \"quotes\" and a dash - here","changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/synthetic-crlf/clean/only-markdown","text":"# Title\nline one\n\n- item\nlazy line\n\nsmart “quotes” and a dash — here","changes":[]}
{"id":"doc/synthetic-crlf/convert-raw/plain","output":{"text":"Title\n\nline one\n\n- item\n  lazy line\n\nsmart “quotes” and a dash — here"},"html":{"text":"<h1>Title</h1><p>line one</p><ul><li>item\nlazy line</li></ul><p>smart “quotes” and a dash — here</p>"},"changes":[]}
{"id":"doc/synthetic-crlf/convert-raw/whatsapp","output":{"text":"*Title*\n\nline one\n\n- item\n  lazy line\n\nsmart “quotes” and a dash — here"},"html":{"text":"<h1>Title</h1><p>line one</p><ul><li>item\nlazy line</li></ul><p>smart “quotes” and a dash — here</p>"},"changes":[]}
{"id":"doc/synthetic-crlf/convert/whatsapp","cleaned":{"text":"# Title\nline one\n\n- item\nlazy line\n\nsmart \"quotes\" and a dash - here"},"output":{"text":"*Title*\n\nline one\n\n- item\n  lazy line\n\nsmart \"quotes\" and a dash - here"},"html":{"text":"<h1>Title</h1><p>line one</p><ul><li>item\nlazy line</li></ul><p>smart &quot;quotes&quot; and a dash - here</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/synthetic-crlf/convert/google-chat","cleaned":{"text":"# Title\nline one\n\n- item\nlazy line\n\nsmart \"quotes\" and a dash - here"},"output":{"text":"*Title*\n\nline one\n\n- item\n  lazy line\n\nsmart \"quotes\" and a dash - here"},"html":{"text":"<h1>Title</h1><p>line one</p><ul><li>item\nlazy line</li></ul><p>smart &quot;quotes&quot; and a dash - here</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/synthetic-crlf/convert/discord","cleaned":{"text":"# Title\nline one\n\n- item\nlazy line\n\nsmart \"quotes\" and a dash - here"},"output":{"text":"# Title\n\nline one\n\n- item\n  lazy line\n\nsmart \"quotes\" and a dash - here"},"html":{"text":"<h1>Title</h1><p>line one</p><ul><li>item\nlazy line</li></ul><p>smart &quot;quotes&quot; and a dash - here</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/synthetic-crlf/convert/slack","cleaned":{"text":"# Title\nline one\n\n- item\nlazy line\n\nsmart \"quotes\" and a dash - here"},"output":{"text":"*Title*\n\nline one\n\n• item\n  lazy line\n\nsmart \"quotes\" and a dash - here"},"html":{"text":"<h1>Title</h1><p>line one</p><ul><li>item\nlazy line</li></ul><p>smart &quot;quotes&quot; and a dash - here</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/synthetic-crlf/convert/teams","cleaned":{"text":"# Title\nline one\n\n- item\nlazy line\n\nsmart \"quotes\" and a dash - here"},"output":{"text":"# Title\n\nline one\n\n- item\n  lazy line\n\nsmart \"quotes\" and a dash - here"},"html":{"text":"<h1>Title</h1><p>line one</p><ul><li>item\nlazy line</li></ul><p>smart &quot;quotes&quot; and a dash - here</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/synthetic-crlf/convert/zendesk","cleaned":{"text":"# Title\nline one\n\n- item\nlazy line\n\nsmart \"quotes\" and a dash - here"},"output":{"text":"# Title\n\nline one\n\n- item\n  lazy line\n\nsmart \"quotes\" and a dash - here"},"html":{"text":"<h1>Title</h1><p>line one</p><ul><li>item\nlazy line</li></ul><p>smart &quot;quotes&quot; and a dash - here</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/synthetic-crlf/convert/jira","cleaned":{"text":"# Title\nline one\n\n- item\nlazy line\n\nsmart \"quotes\" and a dash - here"},"output":{"text":"# Title\n\nline one\n\n- item\n  lazy line\n\nsmart \"quotes\" and a dash - here"},"html":{"text":"<h1>Title</h1><p>line one</p><ul><li>item\nlazy line</li></ul><p>smart &quot;quotes&quot; and a dash - here</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/synthetic-crlf/convert/plain","cleaned":{"text":"# Title\nline one\n\n- item\nlazy line\n\nsmart \"quotes\" and a dash - here"},"output":{"text":"Title\n\nline one\n\n- item\n  lazy line\n\nsmart \"quotes\" and a dash - here"},"html":{"text":"<h1>Title</h1><p>line one</p><ul><li>item\nlazy line</li></ul><p>smart &quot;quotes&quot; and a dash - here</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/synthetic-crlf/whatsapp-preview","val":[{"kind":"text","segments":[{"text":"Title","marks":["bold"]}]},{"kind":"text","segments":[]},{"kind":"text","segments":[{"text":"line one","marks":[]}]},{"kind":"text","segments":[]},{"kind":"text","segments":[{"text":"- item","marks":[]}]},{"kind":"text","segments":[{"text":"  lazy line","marks":[]}]},{"kind":"text","segments":[]},{"kind":"text","segments":[{"text":"smart \"quotes\" and a dash - here","marks":[]}]}]}
{"id":"doc/synthetic-crlf/diff-cleanup","val":[{"type":"same","value":"# Title"},{"type":"removed","value":"\r\n"},{"type":"added","value":"\n"},{"type":"same","value":"line one"},{"type":"removed","value":"\r\n\r\n"},{"type":"added","value":"\n\n"},{"type":"same","value":"- item"},{"type":"removed","value":"\r\n"},{"type":"added","value":"\n"},{"type":"same","value":"lazy line"},{"type":"removed","value":"\r\n\r\n"},{"type":"added","value":"\n\n"},{"type":"same","value":"smart "},{"type":"removed","value":"“"},{"type":"added","value":"\""},{"type":"same","value":"quotes"},{"type":"removed","value":"”"},{"type":"added","value":"\""},{"type":"same","value":" and a dash "},{"type":"removed","value":"—"},{"type":"added","value":"-"},{"type":"same","value":" here"},{"type":"removed","value":"\r\n"}]}
{"id":"doc/synthetic-crlf/workflow/auto/whatsapp","detected":"Markdown","cleaned":{"text":"# Title\nline one\n\n- item\nlazy line\n\nsmart \"quotes\" and a dash - here"},"output":{"text":"*Title*\n\nline one\n\n- item\n  lazy line\n\nsmart \"quotes\" and a dash - here"},"html":{"text":"<h1>Title</h1><p>line one</p><ul><li>item\nlazy line</li></ul><p>smart &quot;quotes&quot; and a dash - here</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/synthetic-crlf/workflow/auto/google-chat","detected":"Markdown","cleaned":{"text":"# Title\nline one\n\n- item\nlazy line\n\nsmart \"quotes\" and a dash - here"},"output":{"text":"*Title*\n\nline one\n\n- item\n  lazy line\n\nsmart \"quotes\" and a dash - here"},"html":{"text":"<h1>Title</h1><p>line one</p><ul><li>item\nlazy line</li></ul><p>smart &quot;quotes&quot; and a dash - here</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/synthetic-crlf/workflow/auto/discord","detected":"Markdown","cleaned":{"text":"# Title\nline one\n\n- item\nlazy line\n\nsmart \"quotes\" and a dash - here"},"output":{"text":"# Title\n\nline one\n\n- item\n  lazy line\n\nsmart \"quotes\" and a dash - here"},"html":{"text":"<h1>Title</h1><p>line one</p><ul><li>item\nlazy line</li></ul><p>smart &quot;quotes&quot; and a dash - here</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/synthetic-crlf/workflow/auto/slack","detected":"Markdown","cleaned":{"text":"# Title\nline one\n\n- item\nlazy line\n\nsmart \"quotes\" and a dash - here"},"output":{"text":"*Title*\n\nline one\n\n• item\n  lazy line\n\nsmart \"quotes\" and a dash - here"},"html":{"text":"<h1>Title</h1><p>line one</p><ul><li>item\nlazy line</li></ul><p>smart &quot;quotes&quot; and a dash - here</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/synthetic-crlf/workflow/auto/teams","detected":"Markdown","cleaned":{"text":"# Title\nline one\n\n- item\nlazy line\n\nsmart \"quotes\" and a dash - here"},"output":{"text":"# Title\n\nline one\n\n- item\n  lazy line\n\nsmart \"quotes\" and a dash - here"},"html":{"text":"<h1>Title</h1><p>line one</p><ul><li>item\nlazy line</li></ul><p>smart &quot;quotes&quot; and a dash - here</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/synthetic-crlf/workflow/auto/zendesk","detected":"Markdown","cleaned":{"text":"# Title\nline one\n\n- item\nlazy line\n\nsmart \"quotes\" and a dash - here"},"output":{"text":"# Title\n\nline one\n\n- item\n  lazy line\n\nsmart \"quotes\" and a dash - here"},"html":{"text":"<h1>Title</h1><p>line one</p><ul><li>item\nlazy line</li></ul><p>smart &quot;quotes&quot; and a dash - here</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/synthetic-crlf/workflow/auto/jira","detected":"Markdown","cleaned":{"text":"# Title\nline one\n\n- item\nlazy line\n\nsmart \"quotes\" and a dash - here"},"output":{"text":"# Title\n\nline one\n\n- item\n  lazy line\n\nsmart \"quotes\" and a dash - here"},"html":{"text":"<h1>Title</h1><p>line one</p><ul><li>item\nlazy line</li></ul><p>smart &quot;quotes&quot; and a dash - here</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/synthetic-crlf/workflow/auto/plain","detected":"Markdown","cleaned":{"text":"# Title\nline one\n\n- item\nlazy line\n\nsmart \"quotes\" and a dash - here"},"output":{"text":"Title\n\nline one\n\n- item\n  lazy line\n\nsmart \"quotes\" and a dash - here"},"html":{"text":"<h1>Title</h1><p>line one</p><ul><li>item\nlazy line</li></ul><p>smart &quot;quotes&quot; and a dash - here</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/synthetic-crlf/workflow/auto/imessage","detected":"Markdown","cleaned":{"text":"# Title\nline one\n\n- item\nlazy line\n\nsmart \"quotes\" and a dash - here"},"output":{"text":"Title\n\nline one\n\n- item\n  lazy line\n\nsmart \"quotes\" and a dash - here"},"html":{"text":"<h1>Title</h1><p>line one</p><ul><li>item\nlazy line</li></ul><p>smart &quot;quotes&quot; and a dash - here</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/synthetic-crlf/workflow/auto/signal","detected":"Markdown","cleaned":{"text":"# Title\nline one\n\n- item\nlazy line\n\nsmart \"quotes\" and a dash - here"},"output":{"text":"Title\n\nline one\n\n- item\n  lazy line\n\nsmart \"quotes\" and a dash - here"},"html":{"text":"<h1>Title</h1><p>line one</p><ul><li>item\nlazy line</li></ul><p>smart &quot;quotes&quot; and a dash - here</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/synthetic-crlf/workflow/auto/telegram","detected":"Markdown","cleaned":{"text":"# Title\nline one\n\n- item\nlazy line\n\nsmart \"quotes\" and a dash - here"},"output":{"text":"Title\n\nline one\n\n- item\n  lazy line\n\nsmart \"quotes\" and a dash - here"},"html":{"text":"<h1>Title</h1><p>line one</p><ul><li>item\nlazy line</li></ul><p>smart &quot;quotes&quot; and a dash - here</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/synthetic-crlf/workflow/auto/gmail","detected":"Markdown","cleaned":{"text":"# Title\nline one\n\n- item\nlazy line\n\nsmart \"quotes\" and a dash - here"},"output":{"text":"Title\n\nline one\n\n- item\n  lazy line\n\nsmart \"quotes\" and a dash - here"},"html":{"text":"<h1>Title</h1><p>line one</p><ul><li>item\nlazy line</li></ul><p>smart &quot;quotes&quot; and a dash - here</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/synthetic-crlf/workflow/auto/outlook","detected":"Markdown","cleaned":{"text":"# Title\nline one\n\n- item\nlazy line\n\nsmart \"quotes\" and a dash - here"},"output":{"text":"Title\n\nline one\n\n- item\n  lazy line\n\nsmart \"quotes\" and a dash - here"},"html":{"text":"<h1>Title</h1><p>line one</p><ul><li>item\nlazy line</li></ul><p>smart &quot;quotes&quot; and a dash - here</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/synthetic-crlf/workflow/auto/shortwave","detected":"Markdown","cleaned":{"text":"# Title\nline one\n\n- item\nlazy line\n\nsmart \"quotes\" and a dash - here"},"output":{"text":"Title\n\nline one\n\n- item\n  lazy line\n\nsmart \"quotes\" and a dash - here"},"html":{"text":"<h1>Title</h1><p>line one</p><ul><li>item\nlazy line</li></ul><p>smart &quot;quotes&quot; and a dash - here</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/synthetic-crlf/workflow/auto/notion","detected":"Markdown","cleaned":{"text":"# Title\nline one\n\n- item\nlazy line\n\nsmart \"quotes\" and a dash - here"},"output":{"text":"Title\n\nline one\n\n- item\n  lazy line\n\nsmart \"quotes\" and a dash - here"},"html":{"text":"<h1>Title</h1><p>line one</p><ul><li>item\nlazy line</li></ul><p>smart &quot;quotes&quot; and a dash - here</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/synthetic-crlf/workflow/auto/confluence","detected":"Markdown","cleaned":{"text":"# Title\nline one\n\n- item\nlazy line\n\nsmart \"quotes\" and a dash - here"},"output":{"text":"Title\n\nline one\n\n- item\n  lazy line\n\nsmart \"quotes\" and a dash - here"},"html":{"text":"<h1>Title</h1><p>line one</p><ul><li>item\nlazy line</li></ul><p>smart &quot;quotes&quot; and a dash - here</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/synthetic-crlf/workflow/auto/calendar","detected":"Markdown","cleaned":{"text":"# Title\nline one\n\n- item\nlazy line\n\nsmart \"quotes\" and a dash - here"},"output":{"text":"Title\n\nline one\n\n- item\n  lazy line\n\nsmart \"quotes\" and a dash - here"},"html":{"text":"<h1>Title</h1><p>line one</p><ul><li>item\nlazy line</li></ul><p>smart &quot;quotes&quot; and a dash - here</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/synthetic-crlf/workflow/auto/word","detected":"Markdown","cleaned":{"text":"# Title\nline one\n\n- item\nlazy line\n\nsmart \"quotes\" and a dash - here"},"output":{"text":"Title\n\nline one\n\n- item\n  lazy line\n\nsmart \"quotes\" and a dash - here"},"html":{"text":"<h1>Title</h1><p>line one</p><ul><li>item\nlazy line</li></ul><p>smart &quot;quotes&quot; and a dash - here</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/synthetic-crlf/workflow/auto/google-docs","detected":"Markdown","cleaned":{"text":"# Title\nline one\n\n- item\nlazy line\n\nsmart \"quotes\" and a dash - here"},"output":{"text":"Title\n\nline one\n\n- item\n  lazy line\n\nsmart \"quotes\" and a dash - here"},"html":{"text":"<h1>Title</h1><p>line one</p><ul><li>item\nlazy line</li></ul><p>smart &quot;quotes&quot; and a dash - here</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/synthetic-crlf/workflow/auto/markdown","detected":"Markdown","cleaned":{"text":"# Title\nline one\n\n- item\nlazy line\n\nsmart \"quotes\" and a dash - here"},"output":{"text":"# Title\nline one\n\n- item\nlazy line\n\nsmart \"quotes\" and a dash - here"},"html":{"text":"<h1>Title</h1><p>line one</p><ul><li>item\nlazy line</li></ul><p>smart &quot;quotes&quot; and a dash - here</p>"},"changes":[{"key":"punctuation","count":3,"label":"typography artifacts"}]}
{"id":"doc/synthetic-crlf/workflow/markdown/whatsapp","detected":"Markdown","fnv":"a366d1bd","len":378}
{"id":"doc/synthetic-crlf/workflow/markdown/google-chat","detected":"Markdown","fnv":"a366d1bd","len":378}
{"id":"doc/synthetic-crlf/workflow/markdown/discord","detected":"Markdown","fnv":"021659ba","len":378}
{"id":"doc/synthetic-crlf/workflow/markdown/slack","detected":"Markdown","fnv":"c8778820","len":378}
{"id":"doc/synthetic-crlf/workflow/markdown/teams","detected":"Markdown","fnv":"021659ba","len":378}
{"id":"doc/synthetic-crlf/workflow/markdown/zendesk","detected":"Markdown","fnv":"021659ba","len":378}
{"id":"doc/synthetic-crlf/workflow/markdown/jira","detected":"Markdown","fnv":"021659ba","len":378}
{"id":"doc/synthetic-crlf/workflow/markdown/plain","detected":"Markdown","fnv":"811f4f75","len":376}
{"id":"doc/synthetic-crlf/workflow/markdown/imessage","detected":"Markdown","fnv":"811f4f75","len":376}
{"id":"doc/synthetic-crlf/workflow/markdown/signal","detected":"Markdown","fnv":"811f4f75","len":376}
{"id":"doc/synthetic-crlf/workflow/markdown/telegram","detected":"Markdown","fnv":"811f4f75","len":376}
{"id":"doc/synthetic-crlf/workflow/markdown/gmail","detected":"Markdown","fnv":"811f4f75","len":376}
{"id":"doc/synthetic-crlf/workflow/markdown/outlook","detected":"Markdown","fnv":"811f4f75","len":376}
{"id":"doc/synthetic-crlf/workflow/markdown/shortwave","detected":"Markdown","fnv":"811f4f75","len":376}
{"id":"doc/synthetic-crlf/workflow/markdown/notion","detected":"Markdown","fnv":"811f4f75","len":376}
{"id":"doc/synthetic-crlf/workflow/markdown/confluence","detected":"Markdown","fnv":"811f4f75","len":376}
{"id":"doc/synthetic-crlf/workflow/markdown/calendar","detected":"Markdown","fnv":"811f4f75","len":376}
{"id":"doc/synthetic-crlf/workflow/markdown/word","detected":"Markdown","fnv":"811f4f75","len":376}
{"id":"doc/synthetic-crlf/workflow/markdown/google-docs","detected":"Markdown","fnv":"811f4f75","len":376}
{"id":"doc/synthetic-crlf/workflow/markdown/markdown","detected":"Markdown","fnv":"5979434c","len":374}
{"id":"doc/synthetic-crlf/workflow/plain/whatsapp","detected":"Markdown","fnv":"121d89c8","len":364}
{"id":"doc/synthetic-crlf/workflow/plain/google-chat","detected":"Markdown","fnv":"121d89c8","len":364}
{"id":"doc/synthetic-crlf/workflow/plain/discord","detected":"Markdown","fnv":"121d89c8","len":364}
{"id":"doc/synthetic-crlf/workflow/plain/slack","detected":"Markdown","fnv":"121d89c8","len":364}
{"id":"doc/synthetic-crlf/workflow/plain/teams","detected":"Markdown","fnv":"121d89c8","len":364}
{"id":"doc/synthetic-crlf/workflow/plain/zendesk","detected":"Markdown","fnv":"121d89c8","len":364}
{"id":"doc/synthetic-crlf/workflow/plain/jira","detected":"Markdown","fnv":"121d89c8","len":364}
{"id":"doc/synthetic-crlf/workflow/plain/plain","detected":"Markdown","fnv":"121d89c8","len":364}
{"id":"doc/synthetic-crlf/workflow/plain/imessage","detected":"Markdown","fnv":"121d89c8","len":364}
{"id":"doc/synthetic-crlf/workflow/plain/signal","detected":"Markdown","fnv":"121d89c8","len":364}
{"id":"doc/synthetic-crlf/workflow/plain/telegram","detected":"Markdown","fnv":"121d89c8","len":364}
{"id":"doc/synthetic-crlf/workflow/plain/gmail","detected":"Markdown","fnv":"121d89c8","len":364}
{"id":"doc/synthetic-crlf/workflow/plain/outlook","detected":"Markdown","fnv":"121d89c8","len":364}
{"id":"doc/synthetic-crlf/workflow/plain/shortwave","detected":"Markdown","fnv":"121d89c8","len":364}
{"id":"doc/synthetic-crlf/workflow/plain/notion","detected":"Markdown","fnv":"121d89c8","len":364}
{"id":"doc/synthetic-crlf/workflow/plain/confluence","detected":"Markdown","fnv":"121d89c8","len":364}
{"id":"doc/synthetic-crlf/workflow/plain/calendar","detected":"Markdown","fnv":"121d89c8","len":364}
{"id":"doc/synthetic-crlf/workflow/plain/word","detected":"Markdown","fnv":"121d89c8","len":364}
{"id":"doc/synthetic-crlf/workflow/plain/google-docs","detected":"Markdown","fnv":"121d89c8","len":364}
{"id":"doc/synthetic-crlf/workflow/plain/markdown","detected":"Markdown","fnv":"121d89c8","len":364}
{"id":"doc/synthetic-empty/detect","val":"Waiting for text"}
{"id":"doc/synthetic-empty/words","val":0}
{"id":"doc/synthetic-empty/filename/md","val":"pasteful-document.md"}
{"id":"doc/synthetic-empty/filename/docx","val":"pasteful-document.docx"}
{"id":"doc/synthetic-empty/clean/default","text":"","changes":[]}
{"id":"doc/synthetic-empty/convert/whatsapp","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-empty/convert/google-chat","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-empty/convert/discord","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-empty/convert/slack","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-empty/convert/teams","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-empty/convert/zendesk","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-empty/convert/jira","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-empty/convert/plain","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-empty/whatsapp-preview","val":[{"kind":"text","segments":[]}]}
{"id":"doc/synthetic-empty/diff-cleanup","val":[]}
{"id":"doc/synthetic-empty/workflow/auto/whatsapp","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-empty/workflow/auto/google-chat","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-empty/workflow/auto/discord","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-empty/workflow/auto/slack","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-empty/workflow/auto/teams","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-empty/workflow/auto/zendesk","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-empty/workflow/auto/jira","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-empty/workflow/auto/plain","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-empty/workflow/auto/imessage","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-empty/workflow/auto/signal","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-empty/workflow/auto/telegram","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-empty/workflow/auto/gmail","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-empty/workflow/auto/outlook","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-empty/workflow/auto/shortwave","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-empty/workflow/auto/notion","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-empty/workflow/auto/confluence","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-empty/workflow/auto/calendar","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-empty/workflow/auto/word","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-empty/workflow/auto/google-docs","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-empty/workflow/auto/markdown","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-empty/workflow/markdown/whatsapp","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-empty/workflow/markdown/google-chat","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-empty/workflow/markdown/discord","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-empty/workflow/markdown/slack","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-empty/workflow/markdown/teams","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-empty/workflow/markdown/zendesk","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-empty/workflow/markdown/jira","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-empty/workflow/markdown/plain","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-empty/workflow/markdown/imessage","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-empty/workflow/markdown/signal","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-empty/workflow/markdown/telegram","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-empty/workflow/markdown/gmail","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-empty/workflow/markdown/outlook","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-empty/workflow/markdown/shortwave","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-empty/workflow/markdown/notion","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-empty/workflow/markdown/confluence","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-empty/workflow/markdown/calendar","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-empty/workflow/markdown/word","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-empty/workflow/markdown/google-docs","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-empty/workflow/markdown/markdown","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-empty/workflow/plain/whatsapp","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-empty/workflow/plain/google-chat","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-empty/workflow/plain/discord","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-empty/workflow/plain/slack","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-empty/workflow/plain/teams","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-empty/workflow/plain/zendesk","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-empty/workflow/plain/jira","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-empty/workflow/plain/plain","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-empty/workflow/plain/imessage","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-empty/workflow/plain/signal","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-empty/workflow/plain/telegram","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-empty/workflow/plain/gmail","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-empty/workflow/plain/outlook","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-empty/workflow/plain/shortwave","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-empty/workflow/plain/notion","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-empty/workflow/plain/confluence","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-empty/workflow/plain/calendar","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-empty/workflow/plain/word","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-empty/workflow/plain/google-docs","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-empty/workflow/plain/markdown","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-large/detect","val":"Markdown"}
{"id":"doc/synthetic-large/words","val":16739}
{"id":"doc/synthetic-large/filename/md","val":"synthetic-workspace-document.md"}
{"id":"doc/synthetic-large/filename/docx","val":"synthetic-workspace-document.docx"}
{"id":"doc/synthetic-large/clean/default","fnv":"0ef0246e","len":119978,"changes":[]}
{"id":"doc/synthetic-large/convert/whatsapp","cleaned":{"fnv":"0ef0246e","len":119978},"output":{"fnv":"80e57ad0","len":117718},"html":{"fnv":"5e27fea2","len":135639},"changes":[]}
{"id":"doc/synthetic-large/convert/google-chat","cleaned":{"fnv":"0ef0246e","len":119978},"output":{"fnv":"80e57ad0","len":117718},"html":{"fnv":"5e27fea2","len":135639},"changes":[]}
{"id":"doc/synthetic-large/convert/discord","cleaned":{"fnv":"0ef0246e","len":119978},"output":{"fnv":"240ff468","len":118388},"html":{"fnv":"5e27fea2","len":135639},"changes":[]}
{"id":"doc/synthetic-large/convert/slack","cleaned":{"fnv":"0ef0246e","len":119978},"output":{"fnv":"7b5d6874","len":117720},"html":{"fnv":"5e27fea2","len":135639},"changes":[]}
{"id":"doc/synthetic-large/convert/teams","cleaned":{"fnv":"0ef0246e","len":119978},"output":{"fnv":"55e22458","len":117860},"html":{"fnv":"5e27fea2","len":135639},"changes":[]}
{"id":"doc/synthetic-large/convert/zendesk","cleaned":{"fnv":"0ef0246e","len":119978},"output":{"fnv":"5af85210","len":117334},"html":{"fnv":"5e27fea2","len":135639},"changes":[]}
{"id":"doc/synthetic-large/convert/jira","cleaned":{"fnv":"0ef0246e","len":119978},"output":{"fnv":"82f73a88","len":117968},"html":{"fnv":"5e27fea2","len":135639},"changes":[]}
{"id":"doc/synthetic-large/convert/plain","cleaned":{"fnv":"0ef0246e","len":119978},"output":{"fnv":"8b842e3c","len":114938},"html":{"fnv":"5e27fea2","len":135639},"changes":[]}
{"id":"doc/synthetic-large/whatsapp-preview","fnv":"3bc76ac5","len":267265}
{"id":"doc/synthetic-large/diff-cleanup","fnv":"2d43617b","len":248455}
{"id":"doc/synthetic-large/workflow/auto/whatsapp","detected":"Markdown","cleaned":{"fnv":"0ef0246e","len":119978},"output":{"fnv":"80e57ad0","len":117718},"html":{"fnv":"5e27fea2","len":135639},"changes":[]}
{"id":"doc/synthetic-large/workflow/auto/slack","detected":"Markdown","cleaned":{"fnv":"0ef0246e","len":119978},"output":{"fnv":"7b5d6874","len":117720},"html":{"fnv":"5e27fea2","len":135639},"changes":[]}
{"id":"doc/synthetic-large/workflow/auto/zendesk","detected":"Markdown","cleaned":{"fnv":"0ef0246e","len":119978},"output":{"fnv":"5af85210","len":117334},"html":{"fnv":"527e17b8","len":135465},"changes":[]}
{"id":"doc/synthetic-large/workflow/auto/markdown","detected":"Markdown","cleaned":{"fnv":"0ef0246e","len":119978},"output":{"fnv":"0ef0246e","len":119978},"html":{"fnv":"5e27fea2","len":135639},"changes":[]}
{"id":"doc/synthetic-whitespace/detect","val":"Waiting for text"}
{"id":"doc/synthetic-whitespace/words","val":0}
{"id":"doc/synthetic-whitespace/filename/md","val":"pasteful-document.md"}
{"id":"doc/synthetic-whitespace/filename/docx","val":"pasteful-document.docx"}
{"id":"doc/synthetic-whitespace/clean/default","text":"","changes":[]}
{"id":"doc/synthetic-whitespace/convert/whatsapp","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-whitespace/convert/google-chat","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-whitespace/convert/discord","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-whitespace/convert/slack","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-whitespace/convert/teams","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-whitespace/convert/zendesk","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-whitespace/convert/jira","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-whitespace/convert/plain","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-whitespace/whatsapp-preview","val":[{"kind":"text","segments":[]}]}
{"id":"doc/synthetic-whitespace/diff-cleanup","val":[{"type":"removed","value":"  \n\t\n   \n"}]}
{"id":"doc/synthetic-whitespace/workflow/auto/whatsapp","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-whitespace/workflow/auto/google-chat","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-whitespace/workflow/auto/discord","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-whitespace/workflow/auto/slack","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-whitespace/workflow/auto/teams","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-whitespace/workflow/auto/zendesk","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-whitespace/workflow/auto/jira","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-whitespace/workflow/auto/plain","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-whitespace/workflow/auto/imessage","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-whitespace/workflow/auto/signal","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-whitespace/workflow/auto/telegram","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-whitespace/workflow/auto/gmail","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-whitespace/workflow/auto/outlook","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-whitespace/workflow/auto/shortwave","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-whitespace/workflow/auto/notion","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-whitespace/workflow/auto/confluence","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-whitespace/workflow/auto/calendar","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-whitespace/workflow/auto/word","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-whitespace/workflow/auto/google-docs","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-whitespace/workflow/auto/markdown","detected":"Waiting for text","cleaned":{"text":""},"output":{"text":""},"html":{"text":""},"changes":[]}
{"id":"doc/synthetic-whitespace/workflow/markdown/whatsapp","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-whitespace/workflow/markdown/google-chat","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-whitespace/workflow/markdown/discord","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-whitespace/workflow/markdown/slack","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-whitespace/workflow/markdown/teams","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-whitespace/workflow/markdown/zendesk","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-whitespace/workflow/markdown/jira","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-whitespace/workflow/markdown/plain","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-whitespace/workflow/markdown/imessage","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-whitespace/workflow/markdown/signal","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-whitespace/workflow/markdown/telegram","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-whitespace/workflow/markdown/gmail","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-whitespace/workflow/markdown/outlook","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-whitespace/workflow/markdown/shortwave","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-whitespace/workflow/markdown/notion","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-whitespace/workflow/markdown/confluence","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-whitespace/workflow/markdown/calendar","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-whitespace/workflow/markdown/word","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-whitespace/workflow/markdown/google-docs","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-whitespace/workflow/markdown/markdown","detected":"Waiting for text","fnv":"af54c93a","len":49}
{"id":"doc/synthetic-whitespace/workflow/plain/whatsapp","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-whitespace/workflow/plain/google-chat","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-whitespace/workflow/plain/discord","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-whitespace/workflow/plain/slack","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-whitespace/workflow/plain/teams","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-whitespace/workflow/plain/zendesk","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-whitespace/workflow/plain/jira","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-whitespace/workflow/plain/plain","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-whitespace/workflow/plain/imessage","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-whitespace/workflow/plain/signal","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-whitespace/workflow/plain/telegram","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-whitespace/workflow/plain/gmail","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-whitespace/workflow/plain/outlook","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-whitespace/workflow/plain/shortwave","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-whitespace/workflow/plain/notion","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-whitespace/workflow/plain/confluence","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-whitespace/workflow/plain/calendar","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-whitespace/workflow/plain/word","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-whitespace/workflow/plain/google-docs","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/synthetic-whitespace/workflow/plain/markdown","detected":"Waiting for text","fnv":"68357665","len":56}
{"id":"doc/tables/detect","val":"Markdown"}
{"id":"doc/tables/words","val":60}
{"id":"doc/tables/filename/md","val":"tables.md"}
{"id":"doc/tables/filename/docx","val":"tables.docx"}
{"id":"doc/tables/clean/default","text":"# Tables\n\n| Name | Status | Notes |\n| :--- | :----: | ----: |\n| Launch | Ready | All checks passed |\n| Docs | **Bold cell** | With [a link](https://example.com/docs) |\n| Escaped \\| pipe | `code \\| span` | plain |\n| | empty first cell | |\n\nHeader-only table:\n\n| Alpha | Beta |\n| --- | --- |\n\nRow with more cells than headers:\n\n| One | Two |\n| --- | --- |\n| a | b | c | d |\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n|x|y|\n|-|-|\n|1|2|","changes":[]}
{"id":"doc/tables/convert/whatsapp","cleaned":{"text":"# Tables\n\n| Name | Status | Notes |\n| :--- | :----: | ----: |\n| Launch | Ready | All checks passed |\n| Docs | **Bold cell** | With [a link](https://example.com/docs) |\n| Escaped \\| pipe | `code \\| span` | plain |\n| | empty first cell | |\n\nHeader-only table:\n\n| Alpha | Beta |\n| --- | --- |\n\nRow with more cells than headers:\n\n| One | Two |\n| --- | --- |\n| a | b | c | d |\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n|x|y|\n|-|-|\n|1|2|"},"output":{"text":"*Tables*\n\n*Name:* Launch · *Status:* Ready · *Notes:* All checks passed\n*Name:* Docs · *Status:* *Bold cell* · *Notes:* With a link: https://example.com/docs\n*Name:* Escaped | pipe · *Status:* `code | span` · *Notes:* plain\n*Name:* - · *Status:* empty first cell · *Notes:* -\n\nHeader-only table:\n\nAlpha | Beta\n\nRow with more cells than headers:\n\n*One:* a · *Two:* b\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n*x:* 1 · *y:* 2"},"html":{"text":"<h1>Tables</h1><table><thead><tr><th>Name</th><th>Status</th><th>Notes</th></tr></thead><tbody><tr><td>Launch</td><td>Ready</td><td>All checks passed</td></tr><tr><td>Docs</td><td><strong>Bold cell</strong></td><td>With <a href=\"https://example.com/docs\">a link</a></td></tr><tr><td>Escaped | pipe</td><td><code>code | span</code></td><td>plain</td></tr><tr><td></td><td>empty first cell</td><td></td></tr></tbody></table><p>Header-only table:</p><table><thead><tr><th>Alpha</th><th>Beta</th></tr></thead><tbody></tbody></table><p>Row with more cells than headers:</p><table><thead><tr><th>One</th><th>Two</th></tr></thead><tbody><tr><td>a</td><td>b</td></tr></tbody></table><p>Table between paragraphs stays a table even when the delimiter row\nuses minimal dashes:</p><table><thead><tr><th>x</th><th>y</th></tr></thead><tbody><tr><td>1</td><td>2</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/tables/convert/google-chat","cleaned":{"text":"# Tables\n\n| Name | Status | Notes |\n| :--- | :----: | ----: |\n| Launch | Ready | All checks passed |\n| Docs | **Bold cell** | With [a link](https://example.com/docs) |\n| Escaped \\| pipe | `code \\| span` | plain |\n| | empty first cell | |\n\nHeader-only table:\n\n| Alpha | Beta |\n| --- | --- |\n\nRow with more cells than headers:\n\n| One | Two |\n| --- | --- |\n| a | b | c | d |\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n|x|y|\n|-|-|\n|1|2|"},"output":{"text":"*Tables*\n\n*Name:* Launch · *Status:* Ready · *Notes:* All checks passed\n*Name:* Docs · *Status:* *Bold cell* · *Notes:* With a link: https://example.com/docs\n*Name:* Escaped | pipe · *Status:* `code | span` · *Notes:* plain\n*Name:* - · *Status:* empty first cell · *Notes:* -\n\nHeader-only table:\n\nAlpha | Beta\n\nRow with more cells than headers:\n\n*One:* a · *Two:* b\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n*x:* 1 · *y:* 2"},"html":{"text":"<h1>Tables</h1><table><thead><tr><th>Name</th><th>Status</th><th>Notes</th></tr></thead><tbody><tr><td>Launch</td><td>Ready</td><td>All checks passed</td></tr><tr><td>Docs</td><td><strong>Bold cell</strong></td><td>With <a href=\"https://example.com/docs\">a link</a></td></tr><tr><td>Escaped | pipe</td><td><code>code | span</code></td><td>plain</td></tr><tr><td></td><td>empty first cell</td><td></td></tr></tbody></table><p>Header-only table:</p><table><thead><tr><th>Alpha</th><th>Beta</th></tr></thead><tbody></tbody></table><p>Row with more cells than headers:</p><table><thead><tr><th>One</th><th>Two</th></tr></thead><tbody><tr><td>a</td><td>b</td></tr></tbody></table><p>Table between paragraphs stays a table even when the delimiter row\nuses minimal dashes:</p><table><thead><tr><th>x</th><th>y</th></tr></thead><tbody><tr><td>1</td><td>2</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/tables/convert/discord","cleaned":{"text":"# Tables\n\n| Name | Status | Notes |\n| :--- | :----: | ----: |\n| Launch | Ready | All checks passed |\n| Docs | **Bold cell** | With [a link](https://example.com/docs) |\n| Escaped \\| pipe | `code \\| span` | plain |\n| | empty first cell | |\n\nHeader-only table:\n\n| Alpha | Beta |\n| --- | --- |\n\nRow with more cells than headers:\n\n| One | Two |\n| --- | --- |\n| a | b | c | d |\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n|x|y|\n|-|-|\n|1|2|"},"output":{"text":"# Tables\n\n**Name:** Launch · **Status:** Ready · **Notes:** All checks passed\n**Name:** Docs · **Status:** **Bold cell** · **Notes:** With [a link](https://example.com/docs)\n**Name:** Escaped | pipe · **Status:** `code | span` · **Notes:** plain\n**Name:** - · **Status:** empty first cell · **Notes:** -\n\nHeader-only table:\n\nAlpha | Beta\n\nRow with more cells than headers:\n\n**One:** a · **Two:** b\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n**x:** 1 · **y:** 2"},"html":{"text":"<h1>Tables</h1><table><thead><tr><th>Name</th><th>Status</th><th>Notes</th></tr></thead><tbody><tr><td>Launch</td><td>Ready</td><td>All checks passed</td></tr><tr><td>Docs</td><td><strong>Bold cell</strong></td><td>With <a href=\"https://example.com/docs\">a link</a></td></tr><tr><td>Escaped | pipe</td><td><code>code | span</code></td><td>plain</td></tr><tr><td></td><td>empty first cell</td><td></td></tr></tbody></table><p>Header-only table:</p><table><thead><tr><th>Alpha</th><th>Beta</th></tr></thead><tbody></tbody></table><p>Row with more cells than headers:</p><table><thead><tr><th>One</th><th>Two</th></tr></thead><tbody><tr><td>a</td><td>b</td></tr></tbody></table><p>Table between paragraphs stays a table even when the delimiter row\nuses minimal dashes:</p><table><thead><tr><th>x</th><th>y</th></tr></thead><tbody><tr><td>1</td><td>2</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/tables/convert/slack","cleaned":{"text":"# Tables\n\n| Name | Status | Notes |\n| :--- | :----: | ----: |\n| Launch | Ready | All checks passed |\n| Docs | **Bold cell** | With [a link](https://example.com/docs) |\n| Escaped \\| pipe | `code \\| span` | plain |\n| | empty first cell | |\n\nHeader-only table:\n\n| Alpha | Beta |\n| --- | --- |\n\nRow with more cells than headers:\n\n| One | Two |\n| --- | --- |\n| a | b | c | d |\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n|x|y|\n|-|-|\n|1|2|"},"output":{"text":"*Tables*\n\n*Name:* Launch · *Status:* Ready · *Notes:* All checks passed\n*Name:* Docs · *Status:* *Bold cell* · *Notes:* With <https://example.com/docs|a link>\n*Name:* Escaped | pipe · *Status:* `code | span` · *Notes:* plain\n*Name:* - · *Status:* empty first cell · *Notes:* -\n\nHeader-only table:\n\nAlpha | Beta\n\nRow with more cells than headers:\n\n*One:* a · *Two:* b\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n*x:* 1 · *y:* 2"},"html":{"text":"<h1>Tables</h1><table><thead><tr><th>Name</th><th>Status</th><th>Notes</th></tr></thead><tbody><tr><td>Launch</td><td>Ready</td><td>All checks passed</td></tr><tr><td>Docs</td><td><strong>Bold cell</strong></td><td>With <a href=\"https://example.com/docs\">a link</a></td></tr><tr><td>Escaped | pipe</td><td><code>code | span</code></td><td>plain</td></tr><tr><td></td><td>empty first cell</td><td></td></tr></tbody></table><p>Header-only table:</p><table><thead><tr><th>Alpha</th><th>Beta</th></tr></thead><tbody></tbody></table><p>Row with more cells than headers:</p><table><thead><tr><th>One</th><th>Two</th></tr></thead><tbody><tr><td>a</td><td>b</td></tr></tbody></table><p>Table between paragraphs stays a table even when the delimiter row\nuses minimal dashes:</p><table><thead><tr><th>x</th><th>y</th></tr></thead><tbody><tr><td>1</td><td>2</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/tables/convert/teams","cleaned":{"text":"# Tables\n\n| Name | Status | Notes |\n| :--- | :----: | ----: |\n| Launch | Ready | All checks passed |\n| Docs | **Bold cell** | With [a link](https://example.com/docs) |\n| Escaped \\| pipe | `code \\| span` | plain |\n| | empty first cell | |\n\nHeader-only table:\n\n| Alpha | Beta |\n| --- | --- |\n\nRow with more cells than headers:\n\n| One | Two |\n| --- | --- |\n| a | b | c | d |\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n|x|y|\n|-|-|\n|1|2|"},"output":{"text":"# Tables\n\n*Name:* Launch · *Status:* Ready · *Notes:* All checks passed\n*Name:* Docs · *Status:* *Bold cell* · *Notes:* With [a link](https://example.com/docs)\n*Name:* Escaped | pipe · *Status:* `code | span` · *Notes:* plain\n*Name:* - · *Status:* empty first cell · *Notes:* -\n\nHeader-only table:\n\nAlpha | Beta\n\nRow with more cells than headers:\n\n*One:* a · *Two:* b\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n*x:* 1 · *y:* 2"},"html":{"text":"<h1>Tables</h1><table><thead><tr><th>Name</th><th>Status</th><th>Notes</th></tr></thead><tbody><tr><td>Launch</td><td>Ready</td><td>All checks passed</td></tr><tr><td>Docs</td><td><strong>Bold cell</strong></td><td>With <a href=\"https://example.com/docs\">a link</a></td></tr><tr><td>Escaped | pipe</td><td><code>code | span</code></td><td>plain</td></tr><tr><td></td><td>empty first cell</td><td></td></tr></tbody></table><p>Header-only table:</p><table><thead><tr><th>Alpha</th><th>Beta</th></tr></thead><tbody></tbody></table><p>Row with more cells than headers:</p><table><thead><tr><th>One</th><th>Two</th></tr></thead><tbody><tr><td>a</td><td>b</td></tr></tbody></table><p>Table between paragraphs stays a table even when the delimiter row\nuses minimal dashes:</p><table><thead><tr><th>x</th><th>y</th></tr></thead><tbody><tr><td>1</td><td>2</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/tables/convert/zendesk","cleaned":{"text":"# Tables\n\n| Name | Status | Notes |\n| :--- | :----: | ----: |\n| Launch | Ready | All checks passed |\n| Docs | **Bold cell** | With [a link](https://example.com/docs) |\n| Escaped \\| pipe | `code \\| span` | plain |\n| | empty first cell | |\n\nHeader-only table:\n\n| Alpha | Beta |\n| --- | --- |\n\nRow with more cells than headers:\n\n| One | Two |\n| --- | --- |\n| a | b | c | d |\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n|x|y|\n|-|-|\n|1|2|"},"output":{"text":"# Tables\n\n**Name:** Launch · **Status:** Ready · **Notes:** All checks passed\n**Name:** Docs · **Status:** **Bold cell** · **Notes:** With [a link](https://example.com/docs)\n**Name:** Escaped | pipe · **Status:** `code | span` · **Notes:** plain\n**Name:** - · **Status:** empty first cell · **Notes:** -\n\nHeader-only table:\n\nAlpha | Beta\n\nRow with more cells than headers:\n\n**One:** a · **Two:** b\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n**x:** 1 · **y:** 2"},"html":{"text":"<h1>Tables</h1><table><thead><tr><th>Name</th><th>Status</th><th>Notes</th></tr></thead><tbody><tr><td>Launch</td><td>Ready</td><td>All checks passed</td></tr><tr><td>Docs</td><td><strong>Bold cell</strong></td><td>With <a href=\"https://example.com/docs\">a link</a></td></tr><tr><td>Escaped | pipe</td><td><code>code | span</code></td><td>plain</td></tr><tr><td></td><td>empty first cell</td><td></td></tr></tbody></table><p>Header-only table:</p><table><thead><tr><th>Alpha</th><th>Beta</th></tr></thead><tbody></tbody></table><p>Row with more cells than headers:</p><table><thead><tr><th>One</th><th>Two</th></tr></thead><tbody><tr><td>a</td><td>b</td></tr></tbody></table><p>Table between paragraphs stays a table even when the delimiter row\nuses minimal dashes:</p><table><thead><tr><th>x</th><th>y</th></tr></thead><tbody><tr><td>1</td><td>2</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/tables/convert/jira","cleaned":{"text":"# Tables\n\n| Name | Status | Notes |\n| :--- | :----: | ----: |\n| Launch | Ready | All checks passed |\n| Docs | **Bold cell** | With [a link](https://example.com/docs) |\n| Escaped \\| pipe | `code \\| span` | plain |\n| | empty first cell | |\n\nHeader-only table:\n\n| Alpha | Beta |\n| --- | --- |\n\nRow with more cells than headers:\n\n| One | Two |\n| --- | --- |\n| a | b | c | d |\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n|x|y|\n|-|-|\n|1|2|"},"output":{"text":"# Tables\n\n**Name:** Launch · **Status:** Ready · **Notes:** All checks passed\n**Name:** Docs · **Status:** **Bold cell** · **Notes:** With [a link](https://example.com/docs)\n**Name:** Escaped | pipe · **Status:** `code | span` · **Notes:** plain\n**Name:** - · **Status:** empty first cell · **Notes:** -\n\nHeader-only table:\n\nAlpha | Beta\n\nRow with more cells than headers:\n\n**One:** a · **Two:** b\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n**x:** 1 · **y:** 2"},"html":{"text":"<h1>Tables</h1><table><thead><tr><th>Name</th><th>Status</th><th>Notes</th></tr></thead><tbody><tr><td>Launch</td><td>Ready</td><td>All checks passed</td></tr><tr><td>Docs</td><td><strong>Bold cell</strong></td><td>With <a href=\"https://example.com/docs\">a link</a></td></tr><tr><td>Escaped | pipe</td><td><code>code | span</code></td><td>plain</td></tr><tr><td></td><td>empty first cell</td><td></td></tr></tbody></table><p>Header-only table:</p><table><thead><tr><th>Alpha</th><th>Beta</th></tr></thead><tbody></tbody></table><p>Row with more cells than headers:</p><table><thead><tr><th>One</th><th>Two</th></tr></thead><tbody><tr><td>a</td><td>b</td></tr></tbody></table><p>Table between paragraphs stays a table even when the delimiter row\nuses minimal dashes:</p><table><thead><tr><th>x</th><th>y</th></tr></thead><tbody><tr><td>1</td><td>2</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/tables/convert/plain","cleaned":{"text":"# Tables\n\n| Name | Status | Notes |\n| :--- | :----: | ----: |\n| Launch | Ready | All checks passed |\n| Docs | **Bold cell** | With [a link](https://example.com/docs) |\n| Escaped \\| pipe | `code \\| span` | plain |\n| | empty first cell | |\n\nHeader-only table:\n\n| Alpha | Beta |\n| --- | --- |\n\nRow with more cells than headers:\n\n| One | Two |\n| --- | --- |\n| a | b | c | d |\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n|x|y|\n|-|-|\n|1|2|"},"output":{"text":"Tables\n\nName: Launch · Status: Ready · Notes: All checks passed\nName: Docs · Status: Bold cell · Notes: With a link (https://example.com/docs)\nName: Escaped | pipe · Status: code | span · Notes: plain\nName: - · Status: empty first cell · Notes: -\n\nHeader-only table:\n\nAlpha | Beta\n\nRow with more cells than headers:\n\nOne: a · Two: b\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\nx: 1 · y: 2"},"html":{"text":"<h1>Tables</h1><table><thead><tr><th>Name</th><th>Status</th><th>Notes</th></tr></thead><tbody><tr><td>Launch</td><td>Ready</td><td>All checks passed</td></tr><tr><td>Docs</td><td><strong>Bold cell</strong></td><td>With <a href=\"https://example.com/docs\">a link</a></td></tr><tr><td>Escaped | pipe</td><td><code>code | span</code></td><td>plain</td></tr><tr><td></td><td>empty first cell</td><td></td></tr></tbody></table><p>Header-only table:</p><table><thead><tr><th>Alpha</th><th>Beta</th></tr></thead><tbody></tbody></table><p>Row with more cells than headers:</p><table><thead><tr><th>One</th><th>Two</th></tr></thead><tbody><tr><td>a</td><td>b</td></tr></tbody></table><p>Table between paragraphs stays a table even when the delimiter row\nuses minimal dashes:</p><table><thead><tr><th>x</th><th>y</th></tr></thead><tbody><tr><td>1</td><td>2</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/tables/whatsapp-preview","fnv":"c76bf99f","len":2054}
{"id":"doc/tables/diff-cleanup","val":[{"type":"same","value":"# Tables\n\n| Name | Status | Notes |\n| :--- | :----: | ----: |\n| Launch | Ready | All checks passed |\n| Docs | **Bold cell** | With [a link](https://example.com/docs) |\n| Escaped \\| pipe | `code \\| span` | plain |\n| | empty first cell | |\n\nHeader-only table:\n\n| Alpha | Beta |\n| --- | --- |\n\nRow with more cells than headers:\n\n| One | Two |\n| --- | --- |\n| a | b | c | d |\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n|x|y|\n|-|-|\n|1|2|"},{"type":"removed","value":"\n"}]}
{"id":"doc/tables/workflow/auto/whatsapp","detected":"Markdown","cleaned":{"text":"# Tables\n\n| Name | Status | Notes |\n| :--- | :----: | ----: |\n| Launch | Ready | All checks passed |\n| Docs | **Bold cell** | With [a link](https://example.com/docs) |\n| Escaped \\| pipe | `code \\| span` | plain |\n| | empty first cell | |\n\nHeader-only table:\n\n| Alpha | Beta |\n| --- | --- |\n\nRow with more cells than headers:\n\n| One | Two |\n| --- | --- |\n| a | b | c | d |\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n|x|y|\n|-|-|\n|1|2|"},"output":{"text":"*Tables*\n\n*Name:* Launch · *Status:* Ready · *Notes:* All checks passed\n*Name:* Docs · *Status:* *Bold cell* · *Notes:* With a link: https://example.com/docs\n*Name:* Escaped | pipe · *Status:* `code | span` · *Notes:* plain\n*Name:* - · *Status:* empty first cell · *Notes:* -\n\nHeader-only table:\n\nAlpha | Beta\n\nRow with more cells than headers:\n\n*One:* a · *Two:* b\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n*x:* 1 · *y:* 2"},"html":{"text":"<h1>Tables</h1><table><thead><tr><th>Name</th><th>Status</th><th>Notes</th></tr></thead><tbody><tr><td>Launch</td><td>Ready</td><td>All checks passed</td></tr><tr><td>Docs</td><td><strong>Bold cell</strong></td><td>With <a href=\"https://example.com/docs\">a link</a></td></tr><tr><td>Escaped | pipe</td><td><code>code | span</code></td><td>plain</td></tr><tr><td></td><td>empty first cell</td><td></td></tr></tbody></table><p>Header-only table:</p><table><thead><tr><th>Alpha</th><th>Beta</th></tr></thead><tbody></tbody></table><p>Row with more cells than headers:</p><table><thead><tr><th>One</th><th>Two</th></tr></thead><tbody><tr><td>a</td><td>b</td></tr></tbody></table><p>Table between paragraphs stays a table even when the delimiter row\nuses minimal dashes:</p><table><thead><tr><th>x</th><th>y</th></tr></thead><tbody><tr><td>1</td><td>2</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/tables/workflow/auto/google-chat","detected":"Markdown","cleaned":{"text":"# Tables\n\n| Name | Status | Notes |\n| :--- | :----: | ----: |\n| Launch | Ready | All checks passed |\n| Docs | **Bold cell** | With [a link](https://example.com/docs) |\n| Escaped \\| pipe | `code \\| span` | plain |\n| | empty first cell | |\n\nHeader-only table:\n\n| Alpha | Beta |\n| --- | --- |\n\nRow with more cells than headers:\n\n| One | Two |\n| --- | --- |\n| a | b | c | d |\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n|x|y|\n|-|-|\n|1|2|"},"output":{"text":"*Tables*\n\n*Name:* Launch · *Status:* Ready · *Notes:* All checks passed\n*Name:* Docs · *Status:* *Bold cell* · *Notes:* With a link: https://example.com/docs\n*Name:* Escaped | pipe · *Status:* `code | span` · *Notes:* plain\n*Name:* - · *Status:* empty first cell · *Notes:* -\n\nHeader-only table:\n\nAlpha | Beta\n\nRow with more cells than headers:\n\n*One:* a · *Two:* b\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n*x:* 1 · *y:* 2"},"html":{"text":"<h1>Tables</h1><table><thead><tr><th>Name</th><th>Status</th><th>Notes</th></tr></thead><tbody><tr><td>Launch</td><td>Ready</td><td>All checks passed</td></tr><tr><td>Docs</td><td><strong>Bold cell</strong></td><td>With <a href=\"https://example.com/docs\">a link</a></td></tr><tr><td>Escaped | pipe</td><td><code>code | span</code></td><td>plain</td></tr><tr><td></td><td>empty first cell</td><td></td></tr></tbody></table><p>Header-only table:</p><table><thead><tr><th>Alpha</th><th>Beta</th></tr></thead><tbody></tbody></table><p>Row with more cells than headers:</p><table><thead><tr><th>One</th><th>Two</th></tr></thead><tbody><tr><td>a</td><td>b</td></tr></tbody></table><p>Table between paragraphs stays a table even when the delimiter row\nuses minimal dashes:</p><table><thead><tr><th>x</th><th>y</th></tr></thead><tbody><tr><td>1</td><td>2</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/tables/workflow/auto/discord","detected":"Markdown","cleaned":{"text":"# Tables\n\n| Name | Status | Notes |\n| :--- | :----: | ----: |\n| Launch | Ready | All checks passed |\n| Docs | **Bold cell** | With [a link](https://example.com/docs) |\n| Escaped \\| pipe | `code \\| span` | plain |\n| | empty first cell | |\n\nHeader-only table:\n\n| Alpha | Beta |\n| --- | --- |\n\nRow with more cells than headers:\n\n| One | Two |\n| --- | --- |\n| a | b | c | d |\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n|x|y|\n|-|-|\n|1|2|"},"output":{"text":"# Tables\n\n**Name:** Launch · **Status:** Ready · **Notes:** All checks passed\n**Name:** Docs · **Status:** **Bold cell** · **Notes:** With [a link](https://example.com/docs)\n**Name:** Escaped | pipe · **Status:** `code | span` · **Notes:** plain\n**Name:** - · **Status:** empty first cell · **Notes:** -\n\nHeader-only table:\n\nAlpha | Beta\n\nRow with more cells than headers:\n\n**One:** a · **Two:** b\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n**x:** 1 · **y:** 2"},"html":{"text":"<h1>Tables</h1><table><thead><tr><th>Name</th><th>Status</th><th>Notes</th></tr></thead><tbody><tr><td>Launch</td><td>Ready</td><td>All checks passed</td></tr><tr><td>Docs</td><td><strong>Bold cell</strong></td><td>With <a href=\"https://example.com/docs\">a link</a></td></tr><tr><td>Escaped | pipe</td><td><code>code | span</code></td><td>plain</td></tr><tr><td></td><td>empty first cell</td><td></td></tr></tbody></table><p>Header-only table:</p><table><thead><tr><th>Alpha</th><th>Beta</th></tr></thead><tbody></tbody></table><p>Row with more cells than headers:</p><table><thead><tr><th>One</th><th>Two</th></tr></thead><tbody><tr><td>a</td><td>b</td></tr></tbody></table><p>Table between paragraphs stays a table even when the delimiter row\nuses minimal dashes:</p><table><thead><tr><th>x</th><th>y</th></tr></thead><tbody><tr><td>1</td><td>2</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/tables/workflow/auto/slack","detected":"Markdown","cleaned":{"text":"# Tables\n\n| Name | Status | Notes |\n| :--- | :----: | ----: |\n| Launch | Ready | All checks passed |\n| Docs | **Bold cell** | With [a link](https://example.com/docs) |\n| Escaped \\| pipe | `code \\| span` | plain |\n| | empty first cell | |\n\nHeader-only table:\n\n| Alpha | Beta |\n| --- | --- |\n\nRow with more cells than headers:\n\n| One | Two |\n| --- | --- |\n| a | b | c | d |\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n|x|y|\n|-|-|\n|1|2|"},"output":{"text":"*Tables*\n\n*Name:* Launch · *Status:* Ready · *Notes:* All checks passed\n*Name:* Docs · *Status:* *Bold cell* · *Notes:* With <https://example.com/docs|a link>\n*Name:* Escaped | pipe · *Status:* `code | span` · *Notes:* plain\n*Name:* - · *Status:* empty first cell · *Notes:* -\n\nHeader-only table:\n\nAlpha | Beta\n\nRow with more cells than headers:\n\n*One:* a · *Two:* b\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n*x:* 1 · *y:* 2"},"html":{"text":"<h1>Tables</h1><table><thead><tr><th>Name</th><th>Status</th><th>Notes</th></tr></thead><tbody><tr><td>Launch</td><td>Ready</td><td>All checks passed</td></tr><tr><td>Docs</td><td><strong>Bold cell</strong></td><td>With <a href=\"https://example.com/docs\">a link</a></td></tr><tr><td>Escaped | pipe</td><td><code>code | span</code></td><td>plain</td></tr><tr><td></td><td>empty first cell</td><td></td></tr></tbody></table><p>Header-only table:</p><table><thead><tr><th>Alpha</th><th>Beta</th></tr></thead><tbody></tbody></table><p>Row with more cells than headers:</p><table><thead><tr><th>One</th><th>Two</th></tr></thead><tbody><tr><td>a</td><td>b</td></tr></tbody></table><p>Table between paragraphs stays a table even when the delimiter row\nuses minimal dashes:</p><table><thead><tr><th>x</th><th>y</th></tr></thead><tbody><tr><td>1</td><td>2</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/tables/workflow/auto/teams","detected":"Markdown","cleaned":{"text":"# Tables\n\n| Name | Status | Notes |\n| :--- | :----: | ----: |\n| Launch | Ready | All checks passed |\n| Docs | **Bold cell** | With [a link](https://example.com/docs) |\n| Escaped \\| pipe | `code \\| span` | plain |\n| | empty first cell | |\n\nHeader-only table:\n\n| Alpha | Beta |\n| --- | --- |\n\nRow with more cells than headers:\n\n| One | Two |\n| --- | --- |\n| a | b | c | d |\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n|x|y|\n|-|-|\n|1|2|"},"output":{"text":"# Tables\n\n*Name:* Launch · *Status:* Ready · *Notes:* All checks passed\n*Name:* Docs · *Status:* *Bold cell* · *Notes:* With [a link](https://example.com/docs)\n*Name:* Escaped | pipe · *Status:* `code | span` · *Notes:* plain\n*Name:* - · *Status:* empty first cell · *Notes:* -\n\nHeader-only table:\n\nAlpha | Beta\n\nRow with more cells than headers:\n\n*One:* a · *Two:* b\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n*x:* 1 · *y:* 2"},"html":{"text":"<h1>Tables</h1><table><thead><tr><th>Name</th><th>Status</th><th>Notes</th></tr></thead><tbody><tr><td>Launch</td><td>Ready</td><td>All checks passed</td></tr><tr><td>Docs</td><td><strong>Bold cell</strong></td><td>With <a href=\"https://example.com/docs\">a link</a></td></tr><tr><td>Escaped | pipe</td><td><code>code | span</code></td><td>plain</td></tr><tr><td></td><td>empty first cell</td><td></td></tr></tbody></table><p>Header-only table:</p><table><thead><tr><th>Alpha</th><th>Beta</th></tr></thead><tbody></tbody></table><p>Row with more cells than headers:</p><table><thead><tr><th>One</th><th>Two</th></tr></thead><tbody><tr><td>a</td><td>b</td></tr></tbody></table><p>Table between paragraphs stays a table even when the delimiter row\nuses minimal dashes:</p><table><thead><tr><th>x</th><th>y</th></tr></thead><tbody><tr><td>1</td><td>2</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/tables/workflow/auto/zendesk","detected":"Markdown","cleaned":{"text":"# Tables\n\n| Name | Status | Notes |\n| :--- | :----: | ----: |\n| Launch | Ready | All checks passed |\n| Docs | **Bold cell** | With [a link](https://example.com/docs) |\n| Escaped \\| pipe | `code \\| span` | plain |\n| | empty first cell | |\n\nHeader-only table:\n\n| Alpha | Beta |\n| --- | --- |\n\nRow with more cells than headers:\n\n| One | Two |\n| --- | --- |\n| a | b | c | d |\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n|x|y|\n|-|-|\n|1|2|"},"output":{"text":"# Tables\n\n**Name:** Launch · **Status:** Ready · **Notes:** All checks passed\n**Name:** Docs · **Status:** **Bold cell** · **Notes:** With [a link](https://example.com/docs)\n**Name:** Escaped | pipe · **Status:** `code | span` · **Notes:** plain\n**Name:** - · **Status:** empty first cell · **Notes:** -\n\nHeader-only table:\n\nAlpha | Beta\n\nRow with more cells than headers:\n\n**One:** a · **Two:** b\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n**x:** 1 · **y:** 2"},"html":{"text":"<h1>Tables</h1><p><strong>Name:</strong> Launch · <strong>Status:</strong> Ready · <strong>Notes:</strong> All checks passed\n<strong>Name:</strong> Docs · <strong>Status:</strong> <strong>Bold cell</strong> · <strong>Notes:</strong> With <a href=\"https://example.com/docs\">a link</a>\n<strong>Name:</strong> Escaped | pipe · <strong>Status:</strong> <code>code | span</code> · <strong>Notes:</strong> plain\n<strong>Name:</strong> - · <strong>Status:</strong> empty first cell · <strong>Notes:</strong> -</p><p>Header-only table:</p><p>Alpha | Beta</p><p>Row with more cells than headers:</p><p><strong>One:</strong> a · <strong>Two:</strong> b</p><p>Table between paragraphs stays a table even when the delimiter row\nuses minimal dashes:</p><p><strong>x:</strong> 1 · <strong>y:</strong> 2</p>"},"changes":[]}
{"id":"doc/tables/workflow/auto/jira","detected":"Markdown","cleaned":{"text":"# Tables\n\n| Name | Status | Notes |\n| :--- | :----: | ----: |\n| Launch | Ready | All checks passed |\n| Docs | **Bold cell** | With [a link](https://example.com/docs) |\n| Escaped \\| pipe | `code \\| span` | plain |\n| | empty first cell | |\n\nHeader-only table:\n\n| Alpha | Beta |\n| --- | --- |\n\nRow with more cells than headers:\n\n| One | Two |\n| --- | --- |\n| a | b | c | d |\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n|x|y|\n|-|-|\n|1|2|"},"output":{"text":"# Tables\n\n**Name:** Launch · **Status:** Ready · **Notes:** All checks passed\n**Name:** Docs · **Status:** **Bold cell** · **Notes:** With [a link](https://example.com/docs)\n**Name:** Escaped | pipe · **Status:** `code | span` · **Notes:** plain\n**Name:** - · **Status:** empty first cell · **Notes:** -\n\nHeader-only table:\n\nAlpha | Beta\n\nRow with more cells than headers:\n\n**One:** a · **Two:** b\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n**x:** 1 · **y:** 2"},"html":{"text":"<h1>Tables</h1><p><strong>Name:</strong> Launch · <strong>Status:</strong> Ready · <strong>Notes:</strong> All checks passed\n<strong>Name:</strong> Docs · <strong>Status:</strong> <strong>Bold cell</strong> · <strong>Notes:</strong> With <a href=\"https://example.com/docs\">a link</a>\n<strong>Name:</strong> Escaped | pipe · <strong>Status:</strong> <code>code | span</code> · <strong>Notes:</strong> plain\n<strong>Name:</strong> - · <strong>Status:</strong> empty first cell · <strong>Notes:</strong> -</p><p>Header-only table:</p><p>Alpha | Beta</p><p>Row with more cells than headers:</p><p><strong>One:</strong> a · <strong>Two:</strong> b</p><p>Table between paragraphs stays a table even when the delimiter row\nuses minimal dashes:</p><p><strong>x:</strong> 1 · <strong>y:</strong> 2</p>"},"changes":[]}
{"id":"doc/tables/workflow/auto/plain","detected":"Markdown","cleaned":{"text":"# Tables\n\n| Name | Status | Notes |\n| :--- | :----: | ----: |\n| Launch | Ready | All checks passed |\n| Docs | **Bold cell** | With [a link](https://example.com/docs) |\n| Escaped \\| pipe | `code \\| span` | plain |\n| | empty first cell | |\n\nHeader-only table:\n\n| Alpha | Beta |\n| --- | --- |\n\nRow with more cells than headers:\n\n| One | Two |\n| --- | --- |\n| a | b | c | d |\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n|x|y|\n|-|-|\n|1|2|"},"output":{"text":"Tables\n\nName: Launch · Status: Ready · Notes: All checks passed\nName: Docs · Status: Bold cell · Notes: With a link (https://example.com/docs)\nName: Escaped | pipe · Status: code | span · Notes: plain\nName: - · Status: empty first cell · Notes: -\n\nHeader-only table:\n\nAlpha | Beta\n\nRow with more cells than headers:\n\nOne: a · Two: b\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\nx: 1 · y: 2"},"html":{"text":"<h1>Tables</h1><table><thead><tr><th>Name</th><th>Status</th><th>Notes</th></tr></thead><tbody><tr><td>Launch</td><td>Ready</td><td>All checks passed</td></tr><tr><td>Docs</td><td><strong>Bold cell</strong></td><td>With <a href=\"https://example.com/docs\">a link</a></td></tr><tr><td>Escaped | pipe</td><td><code>code | span</code></td><td>plain</td></tr><tr><td></td><td>empty first cell</td><td></td></tr></tbody></table><p>Header-only table:</p><table><thead><tr><th>Alpha</th><th>Beta</th></tr></thead><tbody></tbody></table><p>Row with more cells than headers:</p><table><thead><tr><th>One</th><th>Two</th></tr></thead><tbody><tr><td>a</td><td>b</td></tr></tbody></table><p>Table between paragraphs stays a table even when the delimiter row\nuses minimal dashes:</p><table><thead><tr><th>x</th><th>y</th></tr></thead><tbody><tr><td>1</td><td>2</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/tables/workflow/auto/imessage","detected":"Markdown","cleaned":{"text":"# Tables\n\n| Name | Status | Notes |\n| :--- | :----: | ----: |\n| Launch | Ready | All checks passed |\n| Docs | **Bold cell** | With [a link](https://example.com/docs) |\n| Escaped \\| pipe | `code \\| span` | plain |\n| | empty first cell | |\n\nHeader-only table:\n\n| Alpha | Beta |\n| --- | --- |\n\nRow with more cells than headers:\n\n| One | Two |\n| --- | --- |\n| a | b | c | d |\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n|x|y|\n|-|-|\n|1|2|"},"output":{"text":"Tables\n\nName: Launch · Status: Ready · Notes: All checks passed\nName: Docs · Status: Bold cell · Notes: With a link (https://example.com/docs)\nName: Escaped | pipe · Status: code | span · Notes: plain\nName: - · Status: empty first cell · Notes: -\n\nHeader-only table:\n\nAlpha | Beta\n\nRow with more cells than headers:\n\nOne: a · Two: b\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\nx: 1 · y: 2"},"html":{"text":"<h1>Tables</h1><table><thead><tr><th>Name</th><th>Status</th><th>Notes</th></tr></thead><tbody><tr><td>Launch</td><td>Ready</td><td>All checks passed</td></tr><tr><td>Docs</td><td><strong>Bold cell</strong></td><td>With <a href=\"https://example.com/docs\">a link</a></td></tr><tr><td>Escaped | pipe</td><td><code>code | span</code></td><td>plain</td></tr><tr><td></td><td>empty first cell</td><td></td></tr></tbody></table><p>Header-only table:</p><table><thead><tr><th>Alpha</th><th>Beta</th></tr></thead><tbody></tbody></table><p>Row with more cells than headers:</p><table><thead><tr><th>One</th><th>Two</th></tr></thead><tbody><tr><td>a</td><td>b</td></tr></tbody></table><p>Table between paragraphs stays a table even when the delimiter row\nuses minimal dashes:</p><table><thead><tr><th>x</th><th>y</th></tr></thead><tbody><tr><td>1</td><td>2</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/tables/workflow/auto/signal","detected":"Markdown","cleaned":{"text":"# Tables\n\n| Name | Status | Notes |\n| :--- | :----: | ----: |\n| Launch | Ready | All checks passed |\n| Docs | **Bold cell** | With [a link](https://example.com/docs) |\n| Escaped \\| pipe | `code \\| span` | plain |\n| | empty first cell | |\n\nHeader-only table:\n\n| Alpha | Beta |\n| --- | --- |\n\nRow with more cells than headers:\n\n| One | Two |\n| --- | --- |\n| a | b | c | d |\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n|x|y|\n|-|-|\n|1|2|"},"output":{"text":"Tables\n\nName: Launch · Status: Ready · Notes: All checks passed\nName: Docs · Status: Bold cell · Notes: With a link (https://example.com/docs)\nName: Escaped | pipe · Status: code | span · Notes: plain\nName: - · Status: empty first cell · Notes: -\n\nHeader-only table:\n\nAlpha | Beta\n\nRow with more cells than headers:\n\nOne: a · Two: b\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\nx: 1 · y: 2"},"html":{"text":"<h1>Tables</h1><table><thead><tr><th>Name</th><th>Status</th><th>Notes</th></tr></thead><tbody><tr><td>Launch</td><td>Ready</td><td>All checks passed</td></tr><tr><td>Docs</td><td><strong>Bold cell</strong></td><td>With <a href=\"https://example.com/docs\">a link</a></td></tr><tr><td>Escaped | pipe</td><td><code>code | span</code></td><td>plain</td></tr><tr><td></td><td>empty first cell</td><td></td></tr></tbody></table><p>Header-only table:</p><table><thead><tr><th>Alpha</th><th>Beta</th></tr></thead><tbody></tbody></table><p>Row with more cells than headers:</p><table><thead><tr><th>One</th><th>Two</th></tr></thead><tbody><tr><td>a</td><td>b</td></tr></tbody></table><p>Table between paragraphs stays a table even when the delimiter row\nuses minimal dashes:</p><table><thead><tr><th>x</th><th>y</th></tr></thead><tbody><tr><td>1</td><td>2</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/tables/workflow/auto/telegram","detected":"Markdown","cleaned":{"text":"# Tables\n\n| Name | Status | Notes |\n| :--- | :----: | ----: |\n| Launch | Ready | All checks passed |\n| Docs | **Bold cell** | With [a link](https://example.com/docs) |\n| Escaped \\| pipe | `code \\| span` | plain |\n| | empty first cell | |\n\nHeader-only table:\n\n| Alpha | Beta |\n| --- | --- |\n\nRow with more cells than headers:\n\n| One | Two |\n| --- | --- |\n| a | b | c | d |\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n|x|y|\n|-|-|\n|1|2|"},"output":{"text":"Tables\n\nName: Launch · Status: Ready · Notes: All checks passed\nName: Docs · Status: Bold cell · Notes: With a link (https://example.com/docs)\nName: Escaped | pipe · Status: code | span · Notes: plain\nName: - · Status: empty first cell · Notes: -\n\nHeader-only table:\n\nAlpha | Beta\n\nRow with more cells than headers:\n\nOne: a · Two: b\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\nx: 1 · y: 2"},"html":{"text":"<h1>Tables</h1><table><thead><tr><th>Name</th><th>Status</th><th>Notes</th></tr></thead><tbody><tr><td>Launch</td><td>Ready</td><td>All checks passed</td></tr><tr><td>Docs</td><td><strong>Bold cell</strong></td><td>With <a href=\"https://example.com/docs\">a link</a></td></tr><tr><td>Escaped | pipe</td><td><code>code | span</code></td><td>plain</td></tr><tr><td></td><td>empty first cell</td><td></td></tr></tbody></table><p>Header-only table:</p><table><thead><tr><th>Alpha</th><th>Beta</th></tr></thead><tbody></tbody></table><p>Row with more cells than headers:</p><table><thead><tr><th>One</th><th>Two</th></tr></thead><tbody><tr><td>a</td><td>b</td></tr></tbody></table><p>Table between paragraphs stays a table even when the delimiter row\nuses minimal dashes:</p><table><thead><tr><th>x</th><th>y</th></tr></thead><tbody><tr><td>1</td><td>2</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/tables/workflow/auto/gmail","detected":"Markdown","cleaned":{"text":"# Tables\n\n| Name | Status | Notes |\n| :--- | :----: | ----: |\n| Launch | Ready | All checks passed |\n| Docs | **Bold cell** | With [a link](https://example.com/docs) |\n| Escaped \\| pipe | `code \\| span` | plain |\n| | empty first cell | |\n\nHeader-only table:\n\n| Alpha | Beta |\n| --- | --- |\n\nRow with more cells than headers:\n\n| One | Two |\n| --- | --- |\n| a | b | c | d |\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n|x|y|\n|-|-|\n|1|2|"},"output":{"text":"Tables\n\nName: Launch · Status: Ready · Notes: All checks passed\nName: Docs · Status: Bold cell · Notes: With a link (https://example.com/docs)\nName: Escaped | pipe · Status: code | span · Notes: plain\nName: - · Status: empty first cell · Notes: -\n\nHeader-only table:\n\nAlpha | Beta\n\nRow with more cells than headers:\n\nOne: a · Two: b\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\nx: 1 · y: 2"},"html":{"text":"<h1>Tables</h1><table><thead><tr><th>Name</th><th>Status</th><th>Notes</th></tr></thead><tbody><tr><td>Launch</td><td>Ready</td><td>All checks passed</td></tr><tr><td>Docs</td><td><strong>Bold cell</strong></td><td>With <a href=\"https://example.com/docs\">a link</a></td></tr><tr><td>Escaped | pipe</td><td><code>code | span</code></td><td>plain</td></tr><tr><td></td><td>empty first cell</td><td></td></tr></tbody></table><p>Header-only table:</p><table><thead><tr><th>Alpha</th><th>Beta</th></tr></thead><tbody></tbody></table><p>Row with more cells than headers:</p><table><thead><tr><th>One</th><th>Two</th></tr></thead><tbody><tr><td>a</td><td>b</td></tr></tbody></table><p>Table between paragraphs stays a table even when the delimiter row\nuses minimal dashes:</p><table><thead><tr><th>x</th><th>y</th></tr></thead><tbody><tr><td>1</td><td>2</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/tables/workflow/auto/outlook","detected":"Markdown","cleaned":{"text":"# Tables\n\n| Name | Status | Notes |\n| :--- | :----: | ----: |\n| Launch | Ready | All checks passed |\n| Docs | **Bold cell** | With [a link](https://example.com/docs) |\n| Escaped \\| pipe | `code \\| span` | plain |\n| | empty first cell | |\n\nHeader-only table:\n\n| Alpha | Beta |\n| --- | --- |\n\nRow with more cells than headers:\n\n| One | Two |\n| --- | --- |\n| a | b | c | d |\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n|x|y|\n|-|-|\n|1|2|"},"output":{"text":"Tables\n\nName: Launch · Status: Ready · Notes: All checks passed\nName: Docs · Status: Bold cell · Notes: With a link (https://example.com/docs)\nName: Escaped | pipe · Status: code | span · Notes: plain\nName: - · Status: empty first cell · Notes: -\n\nHeader-only table:\n\nAlpha | Beta\n\nRow with more cells than headers:\n\nOne: a · Two: b\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\nx: 1 · y: 2"},"html":{"text":"<h1>Tables</h1><table><thead><tr><th>Name</th><th>Status</th><th>Notes</th></tr></thead><tbody><tr><td>Launch</td><td>Ready</td><td>All checks passed</td></tr><tr><td>Docs</td><td><strong>Bold cell</strong></td><td>With <a href=\"https://example.com/docs\">a link</a></td></tr><tr><td>Escaped | pipe</td><td><code>code | span</code></td><td>plain</td></tr><tr><td></td><td>empty first cell</td><td></td></tr></tbody></table><p>Header-only table:</p><table><thead><tr><th>Alpha</th><th>Beta</th></tr></thead><tbody></tbody></table><p>Row with more cells than headers:</p><table><thead><tr><th>One</th><th>Two</th></tr></thead><tbody><tr><td>a</td><td>b</td></tr></tbody></table><p>Table between paragraphs stays a table even when the delimiter row\nuses minimal dashes:</p><table><thead><tr><th>x</th><th>y</th></tr></thead><tbody><tr><td>1</td><td>2</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/tables/workflow/auto/shortwave","detected":"Markdown","cleaned":{"text":"# Tables\n\n| Name | Status | Notes |\n| :--- | :----: | ----: |\n| Launch | Ready | All checks passed |\n| Docs | **Bold cell** | With [a link](https://example.com/docs) |\n| Escaped \\| pipe | `code \\| span` | plain |\n| | empty first cell | |\n\nHeader-only table:\n\n| Alpha | Beta |\n| --- | --- |\n\nRow with more cells than headers:\n\n| One | Two |\n| --- | --- |\n| a | b | c | d |\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n|x|y|\n|-|-|\n|1|2|"},"output":{"text":"Tables\n\nName: Launch · Status: Ready · Notes: All checks passed\nName: Docs · Status: Bold cell · Notes: With a link (https://example.com/docs)\nName: Escaped | pipe · Status: code | span · Notes: plain\nName: - · Status: empty first cell · Notes: -\n\nHeader-only table:\n\nAlpha | Beta\n\nRow with more cells than headers:\n\nOne: a · Two: b\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\nx: 1 · y: 2"},"html":{"text":"<h1>Tables</h1><table><thead><tr><th>Name</th><th>Status</th><th>Notes</th></tr></thead><tbody><tr><td>Launch</td><td>Ready</td><td>All checks passed</td></tr><tr><td>Docs</td><td><strong>Bold cell</strong></td><td>With <a href=\"https://example.com/docs\">a link</a></td></tr><tr><td>Escaped | pipe</td><td><code>code | span</code></td><td>plain</td></tr><tr><td></td><td>empty first cell</td><td></td></tr></tbody></table><p>Header-only table:</p><table><thead><tr><th>Alpha</th><th>Beta</th></tr></thead><tbody></tbody></table><p>Row with more cells than headers:</p><table><thead><tr><th>One</th><th>Two</th></tr></thead><tbody><tr><td>a</td><td>b</td></tr></tbody></table><p>Table between paragraphs stays a table even when the delimiter row\nuses minimal dashes:</p><table><thead><tr><th>x</th><th>y</th></tr></thead><tbody><tr><td>1</td><td>2</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/tables/workflow/auto/notion","detected":"Markdown","cleaned":{"text":"# Tables\n\n| Name | Status | Notes |\n| :--- | :----: | ----: |\n| Launch | Ready | All checks passed |\n| Docs | **Bold cell** | With [a link](https://example.com/docs) |\n| Escaped \\| pipe | `code \\| span` | plain |\n| | empty first cell | |\n\nHeader-only table:\n\n| Alpha | Beta |\n| --- | --- |\n\nRow with more cells than headers:\n\n| One | Two |\n| --- | --- |\n| a | b | c | d |\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n|x|y|\n|-|-|\n|1|2|"},"output":{"text":"Tables\n\nName: Launch · Status: Ready · Notes: All checks passed\nName: Docs · Status: Bold cell · Notes: With a link (https://example.com/docs)\nName: Escaped | pipe · Status: code | span · Notes: plain\nName: - · Status: empty first cell · Notes: -\n\nHeader-only table:\n\nAlpha | Beta\n\nRow with more cells than headers:\n\nOne: a · Two: b\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\nx: 1 · y: 2"},"html":{"text":"<h1>Tables</h1><table><thead><tr><th>Name</th><th>Status</th><th>Notes</th></tr></thead><tbody><tr><td>Launch</td><td>Ready</td><td>All checks passed</td></tr><tr><td>Docs</td><td><strong>Bold cell</strong></td><td>With <a href=\"https://example.com/docs\">a link</a></td></tr><tr><td>Escaped | pipe</td><td><code>code | span</code></td><td>plain</td></tr><tr><td></td><td>empty first cell</td><td></td></tr></tbody></table><p>Header-only table:</p><table><thead><tr><th>Alpha</th><th>Beta</th></tr></thead><tbody></tbody></table><p>Row with more cells than headers:</p><table><thead><tr><th>One</th><th>Two</th></tr></thead><tbody><tr><td>a</td><td>b</td></tr></tbody></table><p>Table between paragraphs stays a table even when the delimiter row\nuses minimal dashes:</p><table><thead><tr><th>x</th><th>y</th></tr></thead><tbody><tr><td>1</td><td>2</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/tables/workflow/auto/confluence","detected":"Markdown","cleaned":{"text":"# Tables\n\n| Name | Status | Notes |\n| :--- | :----: | ----: |\n| Launch | Ready | All checks passed |\n| Docs | **Bold cell** | With [a link](https://example.com/docs) |\n| Escaped \\| pipe | `code \\| span` | plain |\n| | empty first cell | |\n\nHeader-only table:\n\n| Alpha | Beta |\n| --- | --- |\n\nRow with more cells than headers:\n\n| One | Two |\n| --- | --- |\n| a | b | c | d |\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n|x|y|\n|-|-|\n|1|2|"},"output":{"text":"Tables\n\nName: Launch · Status: Ready · Notes: All checks passed\nName: Docs · Status: Bold cell · Notes: With a link (https://example.com/docs)\nName: Escaped | pipe · Status: code | span · Notes: plain\nName: - · Status: empty first cell · Notes: -\n\nHeader-only table:\n\nAlpha | Beta\n\nRow with more cells than headers:\n\nOne: a · Two: b\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\nx: 1 · y: 2"},"html":{"text":"<h1>Tables</h1><table><thead><tr><th>Name</th><th>Status</th><th>Notes</th></tr></thead><tbody><tr><td>Launch</td><td>Ready</td><td>All checks passed</td></tr><tr><td>Docs</td><td><strong>Bold cell</strong></td><td>With <a href=\"https://example.com/docs\">a link</a></td></tr><tr><td>Escaped | pipe</td><td><code>code | span</code></td><td>plain</td></tr><tr><td></td><td>empty first cell</td><td></td></tr></tbody></table><p>Header-only table:</p><table><thead><tr><th>Alpha</th><th>Beta</th></tr></thead><tbody></tbody></table><p>Row with more cells than headers:</p><table><thead><tr><th>One</th><th>Two</th></tr></thead><tbody><tr><td>a</td><td>b</td></tr></tbody></table><p>Table between paragraphs stays a table even when the delimiter row\nuses minimal dashes:</p><table><thead><tr><th>x</th><th>y</th></tr></thead><tbody><tr><td>1</td><td>2</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/tables/workflow/auto/calendar","detected":"Markdown","cleaned":{"text":"# Tables\n\n| Name | Status | Notes |\n| :--- | :----: | ----: |\n| Launch | Ready | All checks passed |\n| Docs | **Bold cell** | With [a link](https://example.com/docs) |\n| Escaped \\| pipe | `code \\| span` | plain |\n| | empty first cell | |\n\nHeader-only table:\n\n| Alpha | Beta |\n| --- | --- |\n\nRow with more cells than headers:\n\n| One | Two |\n| --- | --- |\n| a | b | c | d |\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n|x|y|\n|-|-|\n|1|2|"},"output":{"text":"Tables\n\nName: Launch · Status: Ready · Notes: All checks passed\nName: Docs · Status: Bold cell · Notes: With a link (https://example.com/docs)\nName: Escaped | pipe · Status: code | span · Notes: plain\nName: - · Status: empty first cell · Notes: -\n\nHeader-only table:\n\nAlpha | Beta\n\nRow with more cells than headers:\n\nOne: a · Two: b\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\nx: 1 · y: 2"},"html":{"text":"<h1>Tables</h1><table><thead><tr><th>Name</th><th>Status</th><th>Notes</th></tr></thead><tbody><tr><td>Launch</td><td>Ready</td><td>All checks passed</td></tr><tr><td>Docs</td><td><strong>Bold cell</strong></td><td>With <a href=\"https://example.com/docs\">a link</a></td></tr><tr><td>Escaped | pipe</td><td><code>code | span</code></td><td>plain</td></tr><tr><td></td><td>empty first cell</td><td></td></tr></tbody></table><p>Header-only table:</p><table><thead><tr><th>Alpha</th><th>Beta</th></tr></thead><tbody></tbody></table><p>Row with more cells than headers:</p><table><thead><tr><th>One</th><th>Two</th></tr></thead><tbody><tr><td>a</td><td>b</td></tr></tbody></table><p>Table between paragraphs stays a table even when the delimiter row\nuses minimal dashes:</p><table><thead><tr><th>x</th><th>y</th></tr></thead><tbody><tr><td>1</td><td>2</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/tables/workflow/auto/word","detected":"Markdown","cleaned":{"text":"# Tables\n\n| Name | Status | Notes |\n| :--- | :----: | ----: |\n| Launch | Ready | All checks passed |\n| Docs | **Bold cell** | With [a link](https://example.com/docs) |\n| Escaped \\| pipe | `code \\| span` | plain |\n| | empty first cell | |\n\nHeader-only table:\n\n| Alpha | Beta |\n| --- | --- |\n\nRow with more cells than headers:\n\n| One | Two |\n| --- | --- |\n| a | b | c | d |\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n|x|y|\n|-|-|\n|1|2|"},"output":{"text":"Tables\n\nName: Launch · Status: Ready · Notes: All checks passed\nName: Docs · Status: Bold cell · Notes: With a link (https://example.com/docs)\nName: Escaped | pipe · Status: code | span · Notes: plain\nName: - · Status: empty first cell · Notes: -\n\nHeader-only table:\n\nAlpha | Beta\n\nRow with more cells than headers:\n\nOne: a · Two: b\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\nx: 1 · y: 2"},"html":{"text":"<h1>Tables</h1><table><thead><tr><th>Name</th><th>Status</th><th>Notes</th></tr></thead><tbody><tr><td>Launch</td><td>Ready</td><td>All checks passed</td></tr><tr><td>Docs</td><td><strong>Bold cell</strong></td><td>With <a href=\"https://example.com/docs\">a link</a></td></tr><tr><td>Escaped | pipe</td><td><code>code | span</code></td><td>plain</td></tr><tr><td></td><td>empty first cell</td><td></td></tr></tbody></table><p>Header-only table:</p><table><thead><tr><th>Alpha</th><th>Beta</th></tr></thead><tbody></tbody></table><p>Row with more cells than headers:</p><table><thead><tr><th>One</th><th>Two</th></tr></thead><tbody><tr><td>a</td><td>b</td></tr></tbody></table><p>Table between paragraphs stays a table even when the delimiter row\nuses minimal dashes:</p><table><thead><tr><th>x</th><th>y</th></tr></thead><tbody><tr><td>1</td><td>2</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/tables/workflow/auto/google-docs","detected":"Markdown","cleaned":{"text":"# Tables\n\n| Name | Status | Notes |\n| :--- | :----: | ----: |\n| Launch | Ready | All checks passed |\n| Docs | **Bold cell** | With [a link](https://example.com/docs) |\n| Escaped \\| pipe | `code \\| span` | plain |\n| | empty first cell | |\n\nHeader-only table:\n\n| Alpha | Beta |\n| --- | --- |\n\nRow with more cells than headers:\n\n| One | Two |\n| --- | --- |\n| a | b | c | d |\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n|x|y|\n|-|-|\n|1|2|"},"output":{"text":"Tables\n\nName: Launch · Status: Ready · Notes: All checks passed\nName: Docs · Status: Bold cell · Notes: With a link (https://example.com/docs)\nName: Escaped | pipe · Status: code | span · Notes: plain\nName: - · Status: empty first cell · Notes: -\n\nHeader-only table:\n\nAlpha | Beta\n\nRow with more cells than headers:\n\nOne: a · Two: b\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\nx: 1 · y: 2"},"html":{"text":"<h1>Tables</h1><table><thead><tr><th>Name</th><th>Status</th><th>Notes</th></tr></thead><tbody><tr><td>Launch</td><td>Ready</td><td>All checks passed</td></tr><tr><td>Docs</td><td><strong>Bold cell</strong></td><td>With <a href=\"https://example.com/docs\">a link</a></td></tr><tr><td>Escaped | pipe</td><td><code>code | span</code></td><td>plain</td></tr><tr><td></td><td>empty first cell</td><td></td></tr></tbody></table><p>Header-only table:</p><table><thead><tr><th>Alpha</th><th>Beta</th></tr></thead><tbody></tbody></table><p>Row with more cells than headers:</p><table><thead><tr><th>One</th><th>Two</th></tr></thead><tbody><tr><td>a</td><td>b</td></tr></tbody></table><p>Table between paragraphs stays a table even when the delimiter row\nuses minimal dashes:</p><table><thead><tr><th>x</th><th>y</th></tr></thead><tbody><tr><td>1</td><td>2</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/tables/workflow/auto/markdown","detected":"Markdown","cleaned":{"text":"# Tables\n\n| Name | Status | Notes |\n| :--- | :----: | ----: |\n| Launch | Ready | All checks passed |\n| Docs | **Bold cell** | With [a link](https://example.com/docs) |\n| Escaped \\| pipe | `code \\| span` | plain |\n| | empty first cell | |\n\nHeader-only table:\n\n| Alpha | Beta |\n| --- | --- |\n\nRow with more cells than headers:\n\n| One | Two |\n| --- | --- |\n| a | b | c | d |\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n|x|y|\n|-|-|\n|1|2|"},"output":{"text":"# Tables\n\n| Name | Status | Notes |\n| :--- | :----: | ----: |\n| Launch | Ready | All checks passed |\n| Docs | **Bold cell** | With [a link](https://example.com/docs) |\n| Escaped \\| pipe | `code \\| span` | plain |\n| | empty first cell | |\n\nHeader-only table:\n\n| Alpha | Beta |\n| --- | --- |\n\nRow with more cells than headers:\n\n| One | Two |\n| --- | --- |\n| a | b | c | d |\n\nTable between paragraphs stays a table even when the delimiter row\nuses minimal dashes:\n\n|x|y|\n|-|-|\n|1|2|"},"html":{"text":"<h1>Tables</h1><table><thead><tr><th>Name</th><th>Status</th><th>Notes</th></tr></thead><tbody><tr><td>Launch</td><td>Ready</td><td>All checks passed</td></tr><tr><td>Docs</td><td><strong>Bold cell</strong></td><td>With <a href=\"https://example.com/docs\">a link</a></td></tr><tr><td>Escaped | pipe</td><td><code>code | span</code></td><td>plain</td></tr><tr><td></td><td>empty first cell</td><td></td></tr></tbody></table><p>Header-only table:</p><table><thead><tr><th>Alpha</th><th>Beta</th></tr></thead><tbody></tbody></table><p>Row with more cells than headers:</p><table><thead><tr><th>One</th><th>Two</th></tr></thead><tbody><tr><td>a</td><td>b</td></tr></tbody></table><p>Table between paragraphs stays a table even when the delimiter row\nuses minimal dashes:</p><table><thead><tr><th>x</th><th>y</th></tr></thead><tbody><tr><td>1</td><td>2</td></tr></tbody></table>"},"changes":[]}
{"id":"doc/tables/workflow/markdown/whatsapp","detected":"Markdown","fnv":"d9f98ee0","len":1919}
{"id":"doc/tables/workflow/markdown/google-chat","detected":"Markdown","fnv":"d9f98ee0","len":1919}
{"id":"doc/tables/workflow/markdown/discord","detected":"Markdown","fnv":"12e1fede","len":1955}
{"id":"doc/tables/workflow/markdown/slack","detected":"Markdown","fnv":"4228beae","len":1920}
{"id":"doc/tables/workflow/markdown/teams","detected":"Markdown","fnv":"8d4d04c2","len":1921}
{"id":"doc/tables/workflow/markdown/zendesk","detected":"Markdown","fnv":"6a630529","len":1878}
{"id":"doc/tables/workflow/markdown/jira","detected":"Markdown","fnv":"6a630529","len":1878}
{"id":"doc/tables/workflow/markdown/plain","detected":"Markdown","fnv":"be6566cd","len":1882}
{"id":"doc/tables/workflow/markdown/imessage","detected":"Markdown","fnv":"be6566cd","len":1882}
{"id":"doc/tables/workflow/markdown/signal","detected":"Markdown","fnv":"be6566cd","len":1882}
{"id":"doc/tables/workflow/markdown/telegram","detected":"Markdown","fnv":"be6566cd","len":1882}
{"id":"doc/tables/workflow/markdown/gmail","detected":"Markdown","fnv":"be6566cd","len":1882}
{"id":"doc/tables/workflow/markdown/outlook","detected":"Markdown","fnv":"be6566cd","len":1882}
{"id":"doc/tables/workflow/markdown/shortwave","detected":"Markdown","fnv":"be6566cd","len":1882}
{"id":"doc/tables/workflow/markdown/notion","detected":"Markdown","fnv":"be6566cd","len":1882}
{"id":"doc/tables/workflow/markdown/confluence","detected":"Markdown","fnv":"be6566cd","len":1882}
{"id":"doc/tables/workflow/markdown/calendar","detected":"Markdown","fnv":"be6566cd","len":1882}
{"id":"doc/tables/workflow/markdown/word","detected":"Markdown","fnv":"be6566cd","len":1882}
{"id":"doc/tables/workflow/markdown/google-docs","detected":"Markdown","fnv":"be6566cd","len":1882}
{"id":"doc/tables/workflow/markdown/markdown","detected":"Markdown","fnv":"20c86bce","len":1936}
{"id":"doc/tables/workflow/plain/whatsapp","detected":"Markdown","fnv":"70f2cfb6","len":1617}
{"id":"doc/tables/workflow/plain/google-chat","detected":"Markdown","fnv":"70f2cfb6","len":1617}
{"id":"doc/tables/workflow/plain/discord","detected":"Markdown","fnv":"70f2cfb6","len":1617}
{"id":"doc/tables/workflow/plain/slack","detected":"Markdown","fnv":"70f2cfb6","len":1617}
{"id":"doc/tables/workflow/plain/teams","detected":"Markdown","fnv":"70f2cfb6","len":1617}
{"id":"doc/tables/workflow/plain/zendesk","detected":"Markdown","fnv":"70f2cfb6","len":1617}
{"id":"doc/tables/workflow/plain/jira","detected":"Markdown","fnv":"70f2cfb6","len":1617}
{"id":"doc/tables/workflow/plain/plain","detected":"Markdown","fnv":"70f2cfb6","len":1617}
{"id":"doc/tables/workflow/plain/imessage","detected":"Markdown","fnv":"70f2cfb6","len":1617}
{"id":"doc/tables/workflow/plain/signal","detected":"Markdown","fnv":"70f2cfb6","len":1617}
{"id":"doc/tables/workflow/plain/telegram","detected":"Markdown","fnv":"70f2cfb6","len":1617}
{"id":"doc/tables/workflow/plain/gmail","detected":"Markdown","fnv":"70f2cfb6","len":1617}
{"id":"doc/tables/workflow/plain/outlook","detected":"Markdown","fnv":"70f2cfb6","len":1617}
{"id":"doc/tables/workflow/plain/shortwave","detected":"Markdown","fnv":"70f2cfb6","len":1617}
{"id":"doc/tables/workflow/plain/notion","detected":"Markdown","fnv":"70f2cfb6","len":1617}
{"id":"doc/tables/workflow/plain/confluence","detected":"Markdown","fnv":"70f2cfb6","len":1617}
{"id":"doc/tables/workflow/plain/calendar","detected":"Markdown","fnv":"70f2cfb6","len":1617}
{"id":"doc/tables/workflow/plain/word","detected":"Markdown","fnv":"70f2cfb6","len":1617}
{"id":"doc/tables/workflow/plain/google-docs","detected":"Markdown","fnv":"70f2cfb6","len":1617}
{"id":"doc/tables/workflow/plain/markdown","detected":"Markdown","fnv":"70f2cfb6","len":1617}
{"id":"doc/typography-invisible/detect","val":"Markdown"}
{"id":"doc/typography-invisible/words","val":129}
{"id":"doc/typography-invisible/filename/md","val":"typography-and-invisible-characters.md"}
{"id":"doc/typography-invisible/filename/docx","val":"typography-and-invisible-characters.docx"}
{"id":"doc/typography-invisible/clean/default","text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n - \nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab","changes":[{"key":"invisible","count":24,"label":"invisible characters"},{"key":"spacing","count":8,"label":"unusual spaces"},{"key":"punctuation","count":10,"label":"typography artifacts"}]}
{"id":"doc/typography-invisible/clean/no-invisible","text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n - \nAfter the dash line.\n\nInvisible injections: zero​width space, non‌joiner, injected‍joiner, word⁠joiner, soft­hyphen, combining͏grapheme joiner, mid﻿file byte-order mark.\n\nDirectional controls: ‫embedded rtl‬ and isolates ⁦ltr isolate⁩ ⁧rtl isolate⁩ ⁨first strong⁩ with marks‎‏ here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolian separator, hangulㅤfiller, halfwidthﾠfiller.\n\nVariation selectors on plain text: A️ B︀ stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisible󠁁󠁿tags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab","changes":[{"key":"spacing","count":9,"label":"unusual spaces"},{"key":"punctuation","count":10,"label":"typography artifacts"}]}
{"id":"doc/typography-invisible/clean/no-spacing","text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n - \nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic　space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:   \n\tTab-led line with trailing tab","changes":[{"key":"invisible","count":24,"label":"invisible characters"},{"key":"punctuation","count":10,"label":"typography artifacts"}]}
{"id":"doc/typography-invisible/clean/no-punctuation","text":"# Typography and invisible characters\n\nSmart quotes: “double” and ‘single’ in prose.\n\nDashes: word — spaced em, word—tight em, range 3–5 en dash.\n\nEllipsis… mid-sentence and at the end…\n\nStandalone dash line follows:\n—\nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab","changes":[{"key":"invisible","count":24,"label":"invisible characters"},{"key":"spacing","count":8,"label":"unusual spaces"}]}
{"id":"doc/typography-invisible/clean/no-markdown","text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n - \nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab","changes":[{"key":"invisible","count":24,"label":"invisible characters"},{"key":"spacing","count":8,"label":"unusual spaces"},{"key":"punctuation","count":10,"label":"typography artifacts"}]}
{"id":"doc/typography-invisible/clean/none","text":"# Typography and invisible characters\n\nSmart quotes: “double” and ‘single’ in prose.\n\nDashes: word — spaced em, word—tight em, range 3–5 en dash.\n\nEllipsis… mid-sentence and at the end…\n\nStandalone dash line follows:\n—\nAfter the dash line.\n\nInvisible injections: zero​width space, non‌joiner, injected‍joiner, word⁠joiner, soft­hyphen, combining͏grapheme joiner, mid﻿file byte-order mark.\n\nDirectional controls: ‫embedded rtl‬ and isolates ⁦ltr isolate⁩ ⁧rtl isolate⁩ ⁨first strong⁩ with marks‎‏ here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic　space, en space, em space, thin space, hair space, ogham mark, mongolian᠎separator, hangulㅤfiller, halfwidthﾠfiller.\n\nVariation selectors on plain text: A️ B︀ stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisible󠁁󠁿tags.\n\nTrailing spaces end this line:   \n\tTab-led line with trailing tab","changes":[]}
{"id":"doc/typography-invisible/clean/only-invisible","text":"# Typography and invisible characters\n\nSmart quotes: “double” and ‘single’ in prose.\n\nDashes: word — spaced em, word—tight em, range 3–5 en dash.\n\nEllipsis… mid-sentence and at the end…\n\nStandalone dash line follows:\n—\nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic　space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:   \n\tTab-led line with trailing tab","changes":[{"key":"invisible","count":24,"label":"invisible characters"}]}
{"id":"doc/typography-invisible/clean/only-spacing","text":"# Typography and invisible characters\n\nSmart quotes: “double” and ‘single’ in prose.\n\nDashes: word — spaced em, word—tight em, range 3–5 en dash.\n\nEllipsis… mid-sentence and at the end…\n\nStandalone dash line follows:\n—\nAfter the dash line.\n\nInvisible injections: zero​width space, non‌joiner, injected‍joiner, word⁠joiner, soft­hyphen, combining͏grapheme joiner, mid﻿file byte-order mark.\n\nDirectional controls: ‫embedded rtl‬ and isolates ⁦ltr isolate⁩ ⁧rtl isolate⁩ ⁨first strong⁩ with marks‎‏ here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolian separator, hangulㅤfiller, halfwidthﾠfiller.\n\nVariation selectors on plain text: A️ B︀ stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisible󠁁󠁿tags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab","changes":[{"key":"spacing","count":9,"label":"unusual spaces"}]}
{"id":"doc/typography-invisible/clean/only-punctuation","text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n - \nAfter the dash line.\n\nInvisible injections: zero​width space, non‌joiner, injected‍joiner, word⁠joiner, soft­hyphen, combining͏grapheme joiner, mid﻿file byte-order mark.\n\nDirectional controls: ‫embedded rtl‬ and isolates ⁦ltr isolate⁩ ⁧rtl isolate⁩ ⁨first strong⁩ with marks‎‏ here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic　space, en space, em space, thin space, hair space, ogham mark, mongolian᠎separator, hangulㅤfiller, halfwidthﾠfiller.\n\nVariation selectors on plain text: A️ B︀ stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisible󠁁󠁿tags.\n\nTrailing spaces end this line:   \n\tTab-led line with trailing tab","changes":[{"key":"punctuation","count":10,"label":"typography artifacts"}]}
{"id":"doc/typography-invisible/clean/only-markdown","text":"# Typography and invisible characters\n\nSmart quotes: “double” and ‘single’ in prose.\n\nDashes: word — spaced em, word—tight em, range 3–5 en dash.\n\nEllipsis… mid-sentence and at the end…\n\nStandalone dash line follows:\n—\nAfter the dash line.\n\nInvisible injections: zero​width space, non‌joiner, injected‍joiner, word⁠joiner, soft­hyphen, combining͏grapheme joiner, mid﻿file byte-order mark.\n\nDirectional controls: ‫embedded rtl‬ and isolates ⁦ltr isolate⁩ ⁧rtl isolate⁩ ⁨first strong⁩ with marks‎‏ here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic　space, en space, em space, thin space, hair space, ogham mark, mongolian᠎separator, hangulㅤfiller, halfwidthﾠfiller.\n\nVariation selectors on plain text: A️ B︀ stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisible󠁁󠁿tags.\n\nTrailing spaces end this line:   \n\tTab-led line with trailing tab","changes":[]}
{"id":"doc/typography-invisible/convert-raw/plain","output":{"text":"Typography and invisible characters\n\nSmart quotes: “double” and ‘single’ in prose.\n\nDashes: word — spaced em, word—tight em, range 3–5 en dash.\n\nEllipsis… mid-sentence and at the end…\n\nStandalone dash line follows:\n—\nAfter the dash line.\n\nInvisible injections: zero​width space, non‌joiner, injected‍joiner, word⁠joiner, soft­hyphen, combining͏grapheme joiner, mid﻿file byte-order mark.\n\nDirectional controls: ‫embedded rtl‬ and isolates ⁦ltr isolate⁩ ⁧rtl isolate⁩ ⁨first strong⁩ with marks‎‏ here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic　space, en space, em space, thin space, hair space, ogham mark, mongolian᠎separator, hangulㅤfiller, halfwidthﾠfiller.\n\nVariation selectors on plain text: A️ B︀ stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisible󠁁󠁿tags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"html":{"text":"<h1>Typography and invisible characters</h1><p>Smart quotes: “double” and ‘single’ in prose.</p><p>Dashes: word — spaced em, word—tight em, range 3–5 en dash.</p><p>Ellipsis… mid-sentence and at the end…</p><p>Standalone dash line follows:\n—\nAfter the dash line.</p><p>Invisible injections: zero​width space, non‌joiner, injected‍joiner, word⁠joiner, soft­hyphen, combining͏grapheme joiner, mid﻿file byte-order mark.</p><p>Directional controls: ‫embedded rtl‬ and isolates ⁦ltr isolate⁩ ⁧rtl isolate⁩ ⁨first strong⁩ with marks‎‏ here.</p><p>Unusual spaces: nbsp here, narrow nbsp, ideographic　space, en space, em space, thin space, hair space, ogham mark, mongolian᠎separator, hangulㅤfiller, halfwidthﾠfiller.</p><p>Variation selectors on plain text: A️ B︀ stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.</p><p>Tag characters hide here: invisible󠁁󠁿tags.</p><p>Trailing spaces end this line:<br>\tTab-led line with trailing tab</p>"},"changes":[]}
{"id":"doc/typography-invisible/convert-raw/whatsapp","output":{"text":"*Typography and invisible characters*\n\nSmart quotes: “double” and ‘single’ in prose.\n\nDashes: word — spaced em, word—tight em, range 3–5 en dash.\n\nEllipsis… mid-sentence and at the end…\n\nStandalone dash line follows:\n—\nAfter the dash line.\n\nInvisible injections: zero​width space, non‌joiner, injected‍joiner, word⁠joiner, soft­hyphen, combining͏grapheme joiner, mid﻿file byte-order mark.\n\nDirectional controls: ‫embedded rtl‬ and isolates ⁦ltr isolate⁩ ⁧rtl isolate⁩ ⁨first strong⁩ with marks‎‏ here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic　space, en space, em space, thin space, hair space, ogham mark, mongolian᠎separator, hangulㅤfiller, halfwidthﾠfiller.\n\nVariation selectors on plain text: A️ B︀ stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisible󠁁󠁿tags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"html":{"text":"<h1>Typography and invisible characters</h1><p>Smart quotes: “double” and ‘single’ in prose.</p><p>Dashes: word — spaced em, word—tight em, range 3–5 en dash.</p><p>Ellipsis… mid-sentence and at the end…</p><p>Standalone dash line follows:\n—\nAfter the dash line.</p><p>Invisible injections: zero​width space, non‌joiner, injected‍joiner, word⁠joiner, soft­hyphen, combining͏grapheme joiner, mid﻿file byte-order mark.</p><p>Directional controls: ‫embedded rtl‬ and isolates ⁦ltr isolate⁩ ⁧rtl isolate⁩ ⁨first strong⁩ with marks‎‏ here.</p><p>Unusual spaces: nbsp here, narrow nbsp, ideographic　space, en space, em space, thin space, hair space, ogham mark, mongolian᠎separator, hangulㅤfiller, halfwidthﾠfiller.</p><p>Variation selectors on plain text: A️ B︀ stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.</p><p>Tag characters hide here: invisible󠁁󠁿tags.</p><p>Trailing spaces end this line:<br>\tTab-led line with trailing tab</p>"},"changes":[]}
{"id":"doc/typography-invisible/convert/whatsapp","cleaned":{"text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n - \nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"output":{"text":"*Typography and invisible characters*\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\n*Standalone dash line follows:*\n\nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"html":{"text":"<h1>Typography and invisible characters</h1><p>Smart quotes: &quot;double&quot; and &#039;single&#039; in prose.</p><p>Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.</p><p>Ellipsis... mid-sentence and at the end...</p><h2>Standalone dash line follows:</h2><p>After the dash line.</p><p>Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.</p><p>Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.</p><p>Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.</p><p>Variation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.</p><p>Tag characters hide here: invisibletags.</p><p>Trailing spaces end this line:\n\tTab-led line with trailing tab</p>"},"changes":[{"key":"invisible","count":24,"label":"invisible characters"},{"key":"spacing","count":8,"label":"unusual spaces"},{"key":"punctuation","count":10,"label":"typography artifacts"}]}
{"id":"doc/typography-invisible/convert/google-chat","cleaned":{"text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n - \nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"output":{"text":"*Typography and invisible characters*\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\n*Standalone dash line follows:*\n\nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"html":{"text":"<h1>Typography and invisible characters</h1><p>Smart quotes: &quot;double&quot; and &#039;single&#039; in prose.</p><p>Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.</p><p>Ellipsis... mid-sentence and at the end...</p><h2>Standalone dash line follows:</h2><p>After the dash line.</p><p>Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.</p><p>Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.</p><p>Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.</p><p>Variation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.</p><p>Tag characters hide here: invisibletags.</p><p>Trailing spaces end this line:\n\tTab-led line with trailing tab</p>"},"changes":[{"key":"invisible","count":24,"label":"invisible characters"},{"key":"spacing","count":8,"label":"unusual spaces"},{"key":"punctuation","count":10,"label":"typography artifacts"}]}
{"id":"doc/typography-invisible/convert/discord","cleaned":{"text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n - \nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"output":{"text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\n## Standalone dash line follows:\n\nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"html":{"text":"<h1>Typography and invisible characters</h1><p>Smart quotes: &quot;double&quot; and &#039;single&#039; in prose.</p><p>Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.</p><p>Ellipsis... mid-sentence and at the end...</p><h2>Standalone dash line follows:</h2><p>After the dash line.</p><p>Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.</p><p>Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.</p><p>Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.</p><p>Variation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.</p><p>Tag characters hide here: invisibletags.</p><p>Trailing spaces end this line:\n\tTab-led line with trailing tab</p>"},"changes":[{"key":"invisible","count":24,"label":"invisible characters"},{"key":"spacing","count":8,"label":"unusual spaces"},{"key":"punctuation","count":10,"label":"typography artifacts"}]}
{"id":"doc/typography-invisible/convert/slack","cleaned":{"text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n - \nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"output":{"text":"*Typography and invisible characters*\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\n*Standalone dash line follows:*\n\nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"html":{"text":"<h1>Typography and invisible characters</h1><p>Smart quotes: &quot;double&quot; and &#039;single&#039; in prose.</p><p>Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.</p><p>Ellipsis... mid-sentence and at the end...</p><h2>Standalone dash line follows:</h2><p>After the dash line.</p><p>Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.</p><p>Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.</p><p>Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.</p><p>Variation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.</p><p>Tag characters hide here: invisibletags.</p><p>Trailing spaces end this line:\n\tTab-led line with trailing tab</p>"},"changes":[{"key":"invisible","count":24,"label":"invisible characters"},{"key":"spacing","count":8,"label":"unusual spaces"},{"key":"punctuation","count":10,"label":"typography artifacts"}]}
{"id":"doc/typography-invisible/convert/teams","cleaned":{"text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n - \nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"output":{"text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\n## Standalone dash line follows:\n\nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"html":{"text":"<h1>Typography and invisible characters</h1><p>Smart quotes: &quot;double&quot; and &#039;single&#039; in prose.</p><p>Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.</p><p>Ellipsis... mid-sentence and at the end...</p><h2>Standalone dash line follows:</h2><p>After the dash line.</p><p>Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.</p><p>Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.</p><p>Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.</p><p>Variation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.</p><p>Tag characters hide here: invisibletags.</p><p>Trailing spaces end this line:\n\tTab-led line with trailing tab</p>"},"changes":[{"key":"invisible","count":24,"label":"invisible characters"},{"key":"spacing","count":8,"label":"unusual spaces"},{"key":"punctuation","count":10,"label":"typography artifacts"}]}
{"id":"doc/typography-invisible/convert/zendesk","cleaned":{"text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n - \nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"output":{"text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\n## Standalone dash line follows:\n\nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"html":{"text":"<h1>Typography and invisible characters</h1><p>Smart quotes: &quot;double&quot; and &#039;single&#039; in prose.</p><p>Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.</p><p>Ellipsis... mid-sentence and at the end...</p><h2>Standalone dash line follows:</h2><p>After the dash line.</p><p>Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.</p><p>Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.</p><p>Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.</p><p>Variation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.</p><p>Tag characters hide here: invisibletags.</p><p>Trailing spaces end this line:\n\tTab-led line with trailing tab</p>"},"changes":[{"key":"invisible","count":24,"label":"invisible characters"},{"key":"spacing","count":8,"label":"unusual spaces"},{"key":"punctuation","count":10,"label":"typography artifacts"}]}
{"id":"doc/typography-invisible/convert/jira","cleaned":{"text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n - \nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"output":{"text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\n## Standalone dash line follows:\n\nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"html":{"text":"<h1>Typography and invisible characters</h1><p>Smart quotes: &quot;double&quot; and &#039;single&#039; in prose.</p><p>Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.</p><p>Ellipsis... mid-sentence and at the end...</p><h2>Standalone dash line follows:</h2><p>After the dash line.</p><p>Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.</p><p>Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.</p><p>Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.</p><p>Variation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.</p><p>Tag characters hide here: invisibletags.</p><p>Trailing spaces end this line:\n\tTab-led line with trailing tab</p>"},"changes":[{"key":"invisible","count":24,"label":"invisible characters"},{"key":"spacing","count":8,"label":"unusual spaces"},{"key":"punctuation","count":10,"label":"typography artifacts"}]}
{"id":"doc/typography-invisible/convert/plain","cleaned":{"text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n - \nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"output":{"text":"Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n\nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"html":{"text":"<h1>Typography and invisible characters</h1><p>Smart quotes: &quot;double&quot; and &#039;single&#039; in prose.</p><p>Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.</p><p>Ellipsis... mid-sentence and at the end...</p><h2>Standalone dash line follows:</h2><p>After the dash line.</p><p>Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.</p><p>Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.</p><p>Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.</p><p>Variation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.</p><p>Tag characters hide here: invisibletags.</p><p>Trailing spaces end this line:\n\tTab-led line with trailing tab</p>"},"changes":[{"key":"invisible","count":24,"label":"invisible characters"},{"key":"spacing","count":8,"label":"unusual spaces"},{"key":"punctuation","count":10,"label":"typography artifacts"}]}
{"id":"doc/typography-invisible/whatsapp-preview","fnv":"2e4d7494","len":1878}
{"id":"doc/typography-invisible/diff-cleanup","fnv":"7c30d41f","len":4649}
{"id":"doc/typography-invisible/workflow/auto/whatsapp","detected":"Markdown","cleaned":{"text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n - \nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"output":{"text":"*Typography and invisible characters*\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\n*Standalone dash line follows:*\n\nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"html":{"text":"<h1>Typography and invisible characters</h1><p>Smart quotes: &quot;double&quot; and &#039;single&#039; in prose.</p><p>Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.</p><p>Ellipsis... mid-sentence and at the end...</p><h2>Standalone dash line follows:</h2><p>After the dash line.</p><p>Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.</p><p>Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.</p><p>Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.</p><p>Variation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.</p><p>Tag characters hide here: invisibletags.</p><p>Trailing spaces end this line:\n\tTab-led line with trailing tab</p>"},"changes":[{"key":"invisible","count":24,"label":"invisible characters"},{"key":"spacing","count":8,"label":"unusual spaces"},{"key":"punctuation","count":10,"label":"typography artifacts"}]}
{"id":"doc/typography-invisible/workflow/auto/google-chat","detected":"Markdown","cleaned":{"text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n - \nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"output":{"text":"*Typography and invisible characters*\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\n*Standalone dash line follows:*\n\nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"html":{"text":"<h1>Typography and invisible characters</h1><p>Smart quotes: &quot;double&quot; and &#039;single&#039; in prose.</p><p>Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.</p><p>Ellipsis... mid-sentence and at the end...</p><h2>Standalone dash line follows:</h2><p>After the dash line.</p><p>Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.</p><p>Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.</p><p>Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.</p><p>Variation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.</p><p>Tag characters hide here: invisibletags.</p><p>Trailing spaces end this line:\n\tTab-led line with trailing tab</p>"},"changes":[{"key":"invisible","count":24,"label":"invisible characters"},{"key":"spacing","count":8,"label":"unusual spaces"},{"key":"punctuation","count":10,"label":"typography artifacts"}]}
{"id":"doc/typography-invisible/workflow/auto/discord","detected":"Markdown","cleaned":{"text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n - \nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"output":{"text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\n## Standalone dash line follows:\n\nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"html":{"text":"<h1>Typography and invisible characters</h1><p>Smart quotes: &quot;double&quot; and &#039;single&#039; in prose.</p><p>Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.</p><p>Ellipsis... mid-sentence and at the end...</p><h2>Standalone dash line follows:</h2><p>After the dash line.</p><p>Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.</p><p>Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.</p><p>Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.</p><p>Variation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.</p><p>Tag characters hide here: invisibletags.</p><p>Trailing spaces end this line:\n\tTab-led line with trailing tab</p>"},"changes":[{"key":"invisible","count":24,"label":"invisible characters"},{"key":"spacing","count":8,"label":"unusual spaces"},{"key":"punctuation","count":10,"label":"typography artifacts"}]}
{"id":"doc/typography-invisible/workflow/auto/slack","detected":"Markdown","cleaned":{"text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n - \nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"output":{"text":"*Typography and invisible characters*\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\n*Standalone dash line follows:*\n\nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"html":{"text":"<h1>Typography and invisible characters</h1><p>Smart quotes: &quot;double&quot; and &#039;single&#039; in prose.</p><p>Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.</p><p>Ellipsis... mid-sentence and at the end...</p><h2>Standalone dash line follows:</h2><p>After the dash line.</p><p>Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.</p><p>Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.</p><p>Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.</p><p>Variation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.</p><p>Tag characters hide here: invisibletags.</p><p>Trailing spaces end this line:\n\tTab-led line with trailing tab</p>"},"changes":[{"key":"invisible","count":24,"label":"invisible characters"},{"key":"spacing","count":8,"label":"unusual spaces"},{"key":"punctuation","count":10,"label":"typography artifacts"}]}
{"id":"doc/typography-invisible/workflow/auto/teams","detected":"Markdown","cleaned":{"text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n - \nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"output":{"text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\n## Standalone dash line follows:\n\nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"html":{"text":"<h1>Typography and invisible characters</h1><p>Smart quotes: &quot;double&quot; and &#039;single&#039; in prose.</p><p>Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.</p><p>Ellipsis... mid-sentence and at the end...</p><h2>Standalone dash line follows:</h2><p>After the dash line.</p><p>Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.</p><p>Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.</p><p>Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.</p><p>Variation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.</p><p>Tag characters hide here: invisibletags.</p><p>Trailing spaces end this line:\n\tTab-led line with trailing tab</p>"},"changes":[{"key":"invisible","count":24,"label":"invisible characters"},{"key":"spacing","count":8,"label":"unusual spaces"},{"key":"punctuation","count":10,"label":"typography artifacts"}]}
{"id":"doc/typography-invisible/workflow/auto/zendesk","detected":"Markdown","cleaned":{"text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n - \nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"output":{"text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\n## Standalone dash line follows:\n\nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"html":{"text":"<h1>Typography and invisible characters</h1><p>Smart quotes: &quot;double&quot; and &#039;single&#039; in prose.</p><p>Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.</p><p>Ellipsis... mid-sentence and at the end...</p><h2>Standalone dash line follows:</h2><p>After the dash line.</p><p>Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.</p><p>Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.</p><p>Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.</p><p>Variation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.</p><p>Tag characters hide here: invisibletags.</p><p>Trailing spaces end this line:\n\tTab-led line with trailing tab</p>"},"changes":[{"key":"invisible","count":24,"label":"invisible characters"},{"key":"spacing","count":8,"label":"unusual spaces"},{"key":"punctuation","count":10,"label":"typography artifacts"}]}
{"id":"doc/typography-invisible/workflow/auto/jira","detected":"Markdown","cleaned":{"text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n - \nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"output":{"text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\n## Standalone dash line follows:\n\nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"html":{"text":"<h1>Typography and invisible characters</h1><p>Smart quotes: &quot;double&quot; and &#039;single&#039; in prose.</p><p>Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.</p><p>Ellipsis... mid-sentence and at the end...</p><h2>Standalone dash line follows:</h2><p>After the dash line.</p><p>Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.</p><p>Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.</p><p>Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.</p><p>Variation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.</p><p>Tag characters hide here: invisibletags.</p><p>Trailing spaces end this line:\n\tTab-led line with trailing tab</p>"},"changes":[{"key":"invisible","count":24,"label":"invisible characters"},{"key":"spacing","count":8,"label":"unusual spaces"},{"key":"punctuation","count":10,"label":"typography artifacts"}]}
{"id":"doc/typography-invisible/workflow/auto/plain","detected":"Markdown","cleaned":{"text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n - \nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"output":{"text":"Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n\nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"html":{"text":"<h1>Typography and invisible characters</h1><p>Smart quotes: &quot;double&quot; and &#039;single&#039; in prose.</p><p>Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.</p><p>Ellipsis... mid-sentence and at the end...</p><h2>Standalone dash line follows:</h2><p>After the dash line.</p><p>Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.</p><p>Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.</p><p>Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.</p><p>Variation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.</p><p>Tag characters hide here: invisibletags.</p><p>Trailing spaces end this line:\n\tTab-led line with trailing tab</p>"},"changes":[{"key":"invisible","count":24,"label":"invisible characters"},{"key":"spacing","count":8,"label":"unusual spaces"},{"key":"punctuation","count":10,"label":"typography artifacts"}]}
{"id":"doc/typography-invisible/workflow/auto/imessage","detected":"Markdown","cleaned":{"text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n - \nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"output":{"text":"Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n\nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"html":{"text":"<h1>Typography and invisible characters</h1><p>Smart quotes: &quot;double&quot; and &#039;single&#039; in prose.</p><p>Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.</p><p>Ellipsis... mid-sentence and at the end...</p><h2>Standalone dash line follows:</h2><p>After the dash line.</p><p>Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.</p><p>Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.</p><p>Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.</p><p>Variation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.</p><p>Tag characters hide here: invisibletags.</p><p>Trailing spaces end this line:\n\tTab-led line with trailing tab</p>"},"changes":[{"key":"invisible","count":24,"label":"invisible characters"},{"key":"spacing","count":8,"label":"unusual spaces"},{"key":"punctuation","count":10,"label":"typography artifacts"}]}
{"id":"doc/typography-invisible/workflow/auto/signal","detected":"Markdown","cleaned":{"text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n - \nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"output":{"text":"Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n\nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"html":{"text":"<h1>Typography and invisible characters</h1><p>Smart quotes: &quot;double&quot; and &#039;single&#039; in prose.</p><p>Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.</p><p>Ellipsis... mid-sentence and at the end...</p><h2>Standalone dash line follows:</h2><p>After the dash line.</p><p>Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.</p><p>Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.</p><p>Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.</p><p>Variation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.</p><p>Tag characters hide here: invisibletags.</p><p>Trailing spaces end this line:\n\tTab-led line with trailing tab</p>"},"changes":[{"key":"invisible","count":24,"label":"invisible characters"},{"key":"spacing","count":8,"label":"unusual spaces"},{"key":"punctuation","count":10,"label":"typography artifacts"}]}
{"id":"doc/typography-invisible/workflow/auto/telegram","detected":"Markdown","cleaned":{"text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n - \nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"output":{"text":"Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n\nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"html":{"text":"<h1>Typography and invisible characters</h1><p>Smart quotes: &quot;double&quot; and &#039;single&#039; in prose.</p><p>Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.</p><p>Ellipsis... mid-sentence and at the end...</p><h2>Standalone dash line follows:</h2><p>After the dash line.</p><p>Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.</p><p>Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.</p><p>Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.</p><p>Variation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.</p><p>Tag characters hide here: invisibletags.</p><p>Trailing spaces end this line:\n\tTab-led line with trailing tab</p>"},"changes":[{"key":"invisible","count":24,"label":"invisible characters"},{"key":"spacing","count":8,"label":"unusual spaces"},{"key":"punctuation","count":10,"label":"typography artifacts"}]}
{"id":"doc/typography-invisible/workflow/auto/gmail","detected":"Markdown","cleaned":{"text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n - \nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"output":{"text":"Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n\nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"html":{"text":"<h1>Typography and invisible characters</h1><p>Smart quotes: &quot;double&quot; and &#039;single&#039; in prose.</p><p>Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.</p><p>Ellipsis... mid-sentence and at the end...</p><h2>Standalone dash line follows:</h2><p>After the dash line.</p><p>Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.</p><p>Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.</p><p>Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.</p><p>Variation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.</p><p>Tag characters hide here: invisibletags.</p><p>Trailing spaces end this line:\n\tTab-led line with trailing tab</p>"},"changes":[{"key":"invisible","count":24,"label":"invisible characters"},{"key":"spacing","count":8,"label":"unusual spaces"},{"key":"punctuation","count":10,"label":"typography artifacts"}]}
{"id":"doc/typography-invisible/workflow/auto/outlook","detected":"Markdown","cleaned":{"text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n - \nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"output":{"text":"Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n\nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"html":{"text":"<h1>Typography and invisible characters</h1><p>Smart quotes: &quot;double&quot; and &#039;single&#039; in prose.</p><p>Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.</p><p>Ellipsis... mid-sentence and at the end...</p><h2>Standalone dash line follows:</h2><p>After the dash line.</p><p>Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.</p><p>Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.</p><p>Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.</p><p>Variation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.</p><p>Tag characters hide here: invisibletags.</p><p>Trailing spaces end this line:\n\tTab-led line with trailing tab</p>"},"changes":[{"key":"invisible","count":24,"label":"invisible characters"},{"key":"spacing","count":8,"label":"unusual spaces"},{"key":"punctuation","count":10,"label":"typography artifacts"}]}
{"id":"doc/typography-invisible/workflow/auto/shortwave","detected":"Markdown","cleaned":{"text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n - \nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"output":{"text":"Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n\nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"html":{"text":"<h1>Typography and invisible characters</h1><p>Smart quotes: &quot;double&quot; and &#039;single&#039; in prose.</p><p>Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.</p><p>Ellipsis... mid-sentence and at the end...</p><h2>Standalone dash line follows:</h2><p>After the dash line.</p><p>Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.</p><p>Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.</p><p>Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.</p><p>Variation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.</p><p>Tag characters hide here: invisibletags.</p><p>Trailing spaces end this line:\n\tTab-led line with trailing tab</p>"},"changes":[{"key":"invisible","count":24,"label":"invisible characters"},{"key":"spacing","count":8,"label":"unusual spaces"},{"key":"punctuation","count":10,"label":"typography artifacts"}]}
{"id":"doc/typography-invisible/workflow/auto/notion","detected":"Markdown","cleaned":{"text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n - \nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"output":{"text":"Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n\nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"html":{"text":"<h1>Typography and invisible characters</h1><p>Smart quotes: &quot;double&quot; and &#039;single&#039; in prose.</p><p>Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.</p><p>Ellipsis... mid-sentence and at the end...</p><h2>Standalone dash line follows:</h2><p>After the dash line.</p><p>Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.</p><p>Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.</p><p>Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.</p><p>Variation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.</p><p>Tag characters hide here: invisibletags.</p><p>Trailing spaces end this line:\n\tTab-led line with trailing tab</p>"},"changes":[{"key":"invisible","count":24,"label":"invisible characters"},{"key":"spacing","count":8,"label":"unusual spaces"},{"key":"punctuation","count":10,"label":"typography artifacts"}]}
{"id":"doc/typography-invisible/workflow/auto/confluence","detected":"Markdown","cleaned":{"text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n - \nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"output":{"text":"Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n\nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"html":{"text":"<h1>Typography and invisible characters</h1><p>Smart quotes: &quot;double&quot; and &#039;single&#039; in prose.</p><p>Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.</p><p>Ellipsis... mid-sentence and at the end...</p><h2>Standalone dash line follows:</h2><p>After the dash line.</p><p>Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.</p><p>Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.</p><p>Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.</p><p>Variation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.</p><p>Tag characters hide here: invisibletags.</p><p>Trailing spaces end this line:\n\tTab-led line with trailing tab</p>"},"changes":[{"key":"invisible","count":24,"label":"invisible characters"},{"key":"spacing","count":8,"label":"unusual spaces"},{"key":"punctuation","count":10,"label":"typography artifacts"}]}
{"id":"doc/typography-invisible/workflow/auto/calendar","detected":"Markdown","cleaned":{"text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n - \nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"output":{"text":"Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n\nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"html":{"text":"<h1>Typography and invisible characters</h1><p>Smart quotes: &quot;double&quot; and &#039;single&#039; in prose.</p><p>Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.</p><p>Ellipsis... mid-sentence and at the end...</p><h2>Standalone dash line follows:</h2><p>After the dash line.</p><p>Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.</p><p>Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.</p><p>Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.</p><p>Variation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.</p><p>Tag characters hide here: invisibletags.</p><p>Trailing spaces end this line:\n\tTab-led line with trailing tab</p>"},"changes":[{"key":"invisible","count":24,"label":"invisible characters"},{"key":"spacing","count":8,"label":"unusual spaces"},{"key":"punctuation","count":10,"label":"typography artifacts"}]}
{"id":"doc/typography-invisible/workflow/auto/word","detected":"Markdown","cleaned":{"text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n - \nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"output":{"text":"Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n\nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"html":{"text":"<h1>Typography and invisible characters</h1><p>Smart quotes: &quot;double&quot; and &#039;single&#039; in prose.</p><p>Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.</p><p>Ellipsis... mid-sentence and at the end...</p><h2>Standalone dash line follows:</h2><p>After the dash line.</p><p>Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.</p><p>Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.</p><p>Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.</p><p>Variation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.</p><p>Tag characters hide here: invisibletags.</p><p>Trailing spaces end this line:\n\tTab-led line with trailing tab</p>"},"changes":[{"key":"invisible","count":24,"label":"invisible characters"},{"key":"spacing","count":8,"label":"unusual spaces"},{"key":"punctuation","count":10,"label":"typography artifacts"}]}
{"id":"doc/typography-invisible/workflow/auto/google-docs","detected":"Markdown","cleaned":{"text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n - \nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"output":{"text":"Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n\nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"html":{"text":"<h1>Typography and invisible characters</h1><p>Smart quotes: &quot;double&quot; and &#039;single&#039; in prose.</p><p>Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.</p><p>Ellipsis... mid-sentence and at the end...</p><h2>Standalone dash line follows:</h2><p>After the dash line.</p><p>Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.</p><p>Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.</p><p>Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.</p><p>Variation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.</p><p>Tag characters hide here: invisibletags.</p><p>Trailing spaces end this line:\n\tTab-led line with trailing tab</p>"},"changes":[{"key":"invisible","count":24,"label":"invisible characters"},{"key":"spacing","count":8,"label":"unusual spaces"},{"key":"punctuation","count":10,"label":"typography artifacts"}]}
{"id":"doc/typography-invisible/workflow/auto/markdown","detected":"Markdown","cleaned":{"text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n - \nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"output":{"text":"# Typography and invisible characters\n\nSmart quotes: \"double\" and 'single' in prose.\n\nDashes: word - spaced em, word - tight em, range 3 - 5 en dash.\n\nEllipsis... mid-sentence and at the end...\n\nStandalone dash line follows:\n - \nAfter the dash line.\n\nInvisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.\n\nDirectional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.\n\nUnusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.\n\nVariation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.\n\nTag characters hide here: invisibletags.\n\nTrailing spaces end this line:\n\tTab-led line with trailing tab"},"html":{"text":"<h1>Typography and invisible characters</h1><p>Smart quotes: &quot;double&quot; and &#039;single&#039; in prose.</p><p>Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.</p><p>Ellipsis... mid-sentence and at the end...</p><h2>Standalone dash line follows:</h2><p>After the dash line.</p><p>Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.</p><p>Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.</p><p>Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.</p><p>Variation selectors on plain text: A B stay meaningless here, while ❤️ keeps its selector and 1️⃣ keeps the keycap.</p><p>Tag characters hide here: invisibletags.</p><p>Trailing spaces end this line:\n\tTab-led line with trailing tab</p>"},"changes":[{"key":"invisible","count":24,"label":"invisible characters"},{"key":"spacing","count":8,"label":"unusual spaces"},{"key":"punctuation","count":10,"label":"typography artifacts"}]}
{"id":"doc/typography-invisible/workflow/markdown/whatsapp","detected":"Markdown","fnv":"b54db848","len":3013}
{"id":"doc/typography-invisible/workflow/markdown/google-chat","detected":"Markdown","fnv":"b54db848","len":3013}
{"id":"doc/typography-invisible/workflow/markdown/discord","detected":"Markdown","fnv":"625d8e01","len":3014}
{"id":"doc/typography-invisible/workflow/markdown/slack","detected":"Markdown","fnv":"b54db848","len":3013}
{"id":"doc/typography-invisible/workflow/markdown/teams","detected":"Markdown","fnv":"625d8e01","len":3014}
{"id":"doc/typography-invisible/workflow/markdown/zendesk","detected":"Markdown","fnv":"625d8e01","len":3014}
{"id":"doc/typography-invisible/workflow/markdown/jira","detected":"Markdown","fnv":"625d8e01","len":3014}
{"id":"doc/typography-invisible/workflow/markdown/plain","detected":"Markdown","fnv":"7c667940","len":3009}
{"id":"doc/typography-invisible/workflow/markdown/imessage","detected":"Markdown","fnv":"7c667940","len":3009}
{"id":"doc/typography-invisible/workflow/markdown/signal","detected":"Markdown","fnv":"7c667940","len":3009}
{"id":"doc/typography-invisible/workflow/markdown/telegram","detected":"Markdown","fnv":"7c667940","len":3009}
{"id":"doc/typography-invisible/workflow/markdown/gmail","detected":"Markdown","fnv":"7c667940","len":3009}
{"id":"doc/typography-invisible/workflow/markdown/outlook","detected":"Markdown","fnv":"7c667940","len":3009}
{"id":"doc/typography-invisible/workflow/markdown/shortwave","detected":"Markdown","fnv":"7c667940","len":3009}
{"id":"doc/typography-invisible/workflow/markdown/notion","detected":"Markdown","fnv":"7c667940","len":3009}
{"id":"doc/typography-invisible/workflow/markdown/confluence","detected":"Markdown","fnv":"7c667940","len":3009}
{"id":"doc/typography-invisible/workflow/markdown/calendar","detected":"Markdown","fnv":"7c667940","len":3009}
{"id":"doc/typography-invisible/workflow/markdown/word","detected":"Markdown","fnv":"7c667940","len":3009}
{"id":"doc/typography-invisible/workflow/markdown/google-docs","detected":"Markdown","fnv":"7c667940","len":3009}
{"id":"doc/typography-invisible/workflow/markdown/markdown","detected":"Markdown","fnv":"1c0d05e2","len":3014}
{"id":"doc/typography-invisible/workflow/plain/whatsapp","detected":"Markdown","fnv":"d9c10a35","len":3018}
{"id":"doc/typography-invisible/workflow/plain/google-chat","detected":"Markdown","fnv":"d9c10a35","len":3018}
{"id":"doc/typography-invisible/workflow/plain/discord","detected":"Markdown","fnv":"d9c10a35","len":3018}
{"id":"doc/typography-invisible/workflow/plain/slack","detected":"Markdown","fnv":"d9c10a35","len":3018}
{"id":"doc/typography-invisible/workflow/plain/teams","detected":"Markdown","fnv":"d9c10a35","len":3018}
{"id":"doc/typography-invisible/workflow/plain/zendesk","detected":"Markdown","fnv":"d9c10a35","len":3018}
{"id":"doc/typography-invisible/workflow/plain/jira","detected":"Markdown","fnv":"d9c10a35","len":3018}
{"id":"doc/typography-invisible/workflow/plain/plain","detected":"Markdown","fnv":"d9c10a35","len":3018}
{"id":"doc/typography-invisible/workflow/plain/imessage","detected":"Markdown","fnv":"d9c10a35","len":3018}
{"id":"doc/typography-invisible/workflow/plain/signal","detected":"Markdown","fnv":"d9c10a35","len":3018}
{"id":"doc/typography-invisible/workflow/plain/telegram","detected":"Markdown","fnv":"d9c10a35","len":3018}
{"id":"doc/typography-invisible/workflow/plain/gmail","detected":"Markdown","fnv":"d9c10a35","len":3018}
{"id":"doc/typography-invisible/workflow/plain/outlook","detected":"Markdown","fnv":"d9c10a35","len":3018}
{"id":"doc/typography-invisible/workflow/plain/shortwave","detected":"Markdown","fnv":"d9c10a35","len":3018}
{"id":"doc/typography-invisible/workflow/plain/notion","detected":"Markdown","fnv":"d9c10a35","len":3018}
{"id":"doc/typography-invisible/workflow/plain/confluence","detected":"Markdown","fnv":"d9c10a35","len":3018}
{"id":"doc/typography-invisible/workflow/plain/calendar","detected":"Markdown","fnv":"d9c10a35","len":3018}
{"id":"doc/typography-invisible/workflow/plain/word","detected":"Markdown","fnv":"d9c10a35","len":3018}
{"id":"doc/typography-invisible/workflow/plain/google-docs","detected":"Markdown","fnv":"d9c10a35","len":3018}
{"id":"doc/typography-invisible/workflow/plain/markdown","detected":"Markdown","fnv":"d9c10a35","len":3018}
{"id":"doc/unclosed-fence/detect","val":"Markdown"}
{"id":"doc/unclosed-fence/words","val":49}
{"id":"doc/unclosed-fence/filename/md","val":"unclosed-fence-swallows-the-rest.md"}
{"id":"doc/unclosed-fence/filename/docx","val":"unclosed-fence-swallows-the-rest.docx"}
{"id":"doc/unclosed-fence/clean/default","text":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n```python\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.","changes":[]}
{"id":"doc/unclosed-fence/convert/whatsapp","cleaned":{"text":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n```python\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"output":{"text":"*Unclosed fence swallows the rest*\n\nA normal paragraph before the fence.\n\n```\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.\n```"},"html":{"text":"<h1>Unclosed fence swallows the rest</h1><p>A normal paragraph before the fence.</p><pre><code>def visible():\n    return &quot;this code block never closes&quot;\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.</code></pre>"},"changes":[]}
{"id":"doc/unclosed-fence/convert/google-chat","cleaned":{"text":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n```python\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"output":{"text":"*Unclosed fence swallows the rest*\n\nA normal paragraph before the fence.\n\n```\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.\n```"},"html":{"text":"<h1>Unclosed fence swallows the rest</h1><p>A normal paragraph before the fence.</p><pre><code>def visible():\n    return &quot;this code block never closes&quot;\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.</code></pre>"},"changes":[]}
{"id":"doc/unclosed-fence/convert/discord","cleaned":{"text":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n```python\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"output":{"text":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n```\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.\n```"},"html":{"text":"<h1>Unclosed fence swallows the rest</h1><p>A normal paragraph before the fence.</p><pre><code>def visible():\n    return &quot;this code block never closes&quot;\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.</code></pre>"},"changes":[]}
{"id":"doc/unclosed-fence/convert/slack","cleaned":{"text":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n```python\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"output":{"text":"*Unclosed fence swallows the rest*\n\nA normal paragraph before the fence.\n\n```\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.\n```"},"html":{"text":"<h1>Unclosed fence swallows the rest</h1><p>A normal paragraph before the fence.</p><pre><code>def visible():\n    return &quot;this code block never closes&quot;\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.</code></pre>"},"changes":[]}
{"id":"doc/unclosed-fence/convert/teams","cleaned":{"text":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n```python\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"output":{"text":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n```\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.\n```"},"html":{"text":"<h1>Unclosed fence swallows the rest</h1><p>A normal paragraph before the fence.</p><pre><code>def visible():\n    return &quot;this code block never closes&quot;\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.</code></pre>"},"changes":[]}
{"id":"doc/unclosed-fence/convert/zendesk","cleaned":{"text":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n```python\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"output":{"text":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n> def visible():\n>     return \"this code block never closes\"\n> \n> # looks like a heading but is inside the open fence\n> - looks like a list but is inside the open fence\n> \n> The document ends while the fence is still open."},"html":{"text":"<h1>Unclosed fence swallows the rest</h1><p>A normal paragraph before the fence.</p><pre><code>def visible():\n    return &quot;this code block never closes&quot;\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.</code></pre>"},"changes":[]}
{"id":"doc/unclosed-fence/convert/jira","cleaned":{"text":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n```python\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"output":{"text":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n```\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.\n```"},"html":{"text":"<h1>Unclosed fence swallows the rest</h1><p>A normal paragraph before the fence.</p><pre><code>def visible():\n    return &quot;this code block never closes&quot;\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.</code></pre>"},"changes":[]}
{"id":"doc/unclosed-fence/convert/plain","cleaned":{"text":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n```python\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"output":{"text":"Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"html":{"text":"<h1>Unclosed fence swallows the rest</h1><p>A normal paragraph before the fence.</p><pre><code>def visible():\n    return &quot;this code block never closes&quot;\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.</code></pre>"},"changes":[]}
{"id":"doc/unclosed-fence/whatsapp-preview","val":[{"kind":"text","segments":[{"text":"Unclosed fence swallows the rest","marks":["bold"]}]},{"kind":"text","segments":[]},{"kind":"text","segments":[{"text":"A normal paragraph before the fence.","marks":[]}]},{"kind":"text","segments":[]},{"kind":"code","segments":[{"text":"def visible():","marks":["code"]}]},{"kind":"code","segments":[{"text":"    return \"this code block never closes\"","marks":["code"]}]},{"kind":"code","segments":[]},{"kind":"code","segments":[{"text":"# looks like a heading but is inside the open fence","marks":["code"]}]},{"kind":"code","segments":[{"text":"- looks like a list but is inside the open fence","marks":["code"]}]},{"kind":"code","segments":[]},{"kind":"code","segments":[{"text":"The document ends while the fence is still open.","marks":["code"]}]}]}
{"id":"doc/unclosed-fence/diff-cleanup","val":[{"type":"same","value":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n```python\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},{"type":"removed","value":"\n"}]}
{"id":"doc/unclosed-fence/workflow/auto/whatsapp","detected":"Markdown","cleaned":{"text":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n```python\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"output":{"text":"*Unclosed fence swallows the rest*\n\nA normal paragraph before the fence.\n\n```\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.\n```"},"html":{"text":"<h1>Unclosed fence swallows the rest</h1><p>A normal paragraph before the fence.</p><pre><code>def visible():\n    return &quot;this code block never closes&quot;\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.</code></pre>"},"changes":[]}
{"id":"doc/unclosed-fence/workflow/auto/google-chat","detected":"Markdown","cleaned":{"text":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n```python\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"output":{"text":"*Unclosed fence swallows the rest*\n\nA normal paragraph before the fence.\n\n```\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.\n```"},"html":{"text":"<h1>Unclosed fence swallows the rest</h1><p>A normal paragraph before the fence.</p><pre><code>def visible():\n    return &quot;this code block never closes&quot;\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.</code></pre>"},"changes":[]}
{"id":"doc/unclosed-fence/workflow/auto/discord","detected":"Markdown","cleaned":{"text":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n```python\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"output":{"text":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n```\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.\n```"},"html":{"text":"<h1>Unclosed fence swallows the rest</h1><p>A normal paragraph before the fence.</p><pre><code>def visible():\n    return &quot;this code block never closes&quot;\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.</code></pre>"},"changes":[]}
{"id":"doc/unclosed-fence/workflow/auto/slack","detected":"Markdown","cleaned":{"text":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n```python\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"output":{"text":"*Unclosed fence swallows the rest*\n\nA normal paragraph before the fence.\n\n```\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.\n```"},"html":{"text":"<h1>Unclosed fence swallows the rest</h1><p>A normal paragraph before the fence.</p><pre><code>def visible():\n    return &quot;this code block never closes&quot;\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.</code></pre>"},"changes":[]}
{"id":"doc/unclosed-fence/workflow/auto/teams","detected":"Markdown","cleaned":{"text":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n```python\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"output":{"text":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n```\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.\n```"},"html":{"text":"<h1>Unclosed fence swallows the rest</h1><p>A normal paragraph before the fence.</p><pre><code>def visible():\n    return &quot;this code block never closes&quot;\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.</code></pre>"},"changes":[]}
{"id":"doc/unclosed-fence/workflow/auto/zendesk","detected":"Markdown","cleaned":{"text":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n```python\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"output":{"text":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n> def visible():\n>     return \"this code block never closes\"\n> \n> # looks like a heading but is inside the open fence\n> - looks like a list but is inside the open fence\n> \n> The document ends while the fence is still open."},"html":{"text":"<h1>Unclosed fence swallows the rest</h1><p>A normal paragraph before the fence.</p><blockquote><p>def visible():\n    return &quot;this code block never closes&quot;</p><h1>looks like a heading but is inside the open fence</h1><ul><li>looks like a list but is inside the open fence</li></ul><p>The document ends while the fence is still open.</p></blockquote>"},"changes":[]}
{"id":"doc/unclosed-fence/workflow/auto/jira","detected":"Markdown","cleaned":{"text":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n```python\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"output":{"text":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n```\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.\n```"},"html":{"text":"<h1>Unclosed fence swallows the rest</h1><p>A normal paragraph before the fence.</p><pre><code>def visible():\n    return &quot;this code block never closes&quot;\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.</code></pre>"},"changes":[]}
{"id":"doc/unclosed-fence/workflow/auto/plain","detected":"Markdown","cleaned":{"text":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n```python\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"output":{"text":"Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"html":{"text":"<h1>Unclosed fence swallows the rest</h1><p>A normal paragraph before the fence.</p><pre><code>def visible():\n    return &quot;this code block never closes&quot;\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.</code></pre>"},"changes":[]}
{"id":"doc/unclosed-fence/workflow/auto/imessage","detected":"Markdown","cleaned":{"text":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n```python\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"output":{"text":"Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"html":{"text":"<h1>Unclosed fence swallows the rest</h1><p>A normal paragraph before the fence.</p><pre><code>def visible():\n    return &quot;this code block never closes&quot;\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.</code></pre>"},"changes":[]}
{"id":"doc/unclosed-fence/workflow/auto/signal","detected":"Markdown","cleaned":{"text":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n```python\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"output":{"text":"Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"html":{"text":"<h1>Unclosed fence swallows the rest</h1><p>A normal paragraph before the fence.</p><pre><code>def visible():\n    return &quot;this code block never closes&quot;\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.</code></pre>"},"changes":[]}
{"id":"doc/unclosed-fence/workflow/auto/telegram","detected":"Markdown","cleaned":{"text":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n```python\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"output":{"text":"Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"html":{"text":"<h1>Unclosed fence swallows the rest</h1><p>A normal paragraph before the fence.</p><pre><code>def visible():\n    return &quot;this code block never closes&quot;\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.</code></pre>"},"changes":[]}
{"id":"doc/unclosed-fence/workflow/auto/gmail","detected":"Markdown","cleaned":{"text":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n```python\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"output":{"text":"Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"html":{"text":"<h1>Unclosed fence swallows the rest</h1><p>A normal paragraph before the fence.</p><pre><code>def visible():\n    return &quot;this code block never closes&quot;\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.</code></pre>"},"changes":[]}
{"id":"doc/unclosed-fence/workflow/auto/outlook","detected":"Markdown","cleaned":{"text":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n```python\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"output":{"text":"Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"html":{"text":"<h1>Unclosed fence swallows the rest</h1><p>A normal paragraph before the fence.</p><pre><code>def visible():\n    return &quot;this code block never closes&quot;\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.</code></pre>"},"changes":[]}
{"id":"doc/unclosed-fence/workflow/auto/shortwave","detected":"Markdown","cleaned":{"text":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n```python\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"output":{"text":"Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"html":{"text":"<h1>Unclosed fence swallows the rest</h1><p>A normal paragraph before the fence.</p><pre><code>def visible():\n    return &quot;this code block never closes&quot;\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.</code></pre>"},"changes":[]}
{"id":"doc/unclosed-fence/workflow/auto/notion","detected":"Markdown","cleaned":{"text":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n```python\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"output":{"text":"Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"html":{"text":"<h1>Unclosed fence swallows the rest</h1><p>A normal paragraph before the fence.</p><pre><code>def visible():\n    return &quot;this code block never closes&quot;\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.</code></pre>"},"changes":[]}
{"id":"doc/unclosed-fence/workflow/auto/confluence","detected":"Markdown","cleaned":{"text":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n```python\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"output":{"text":"Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"html":{"text":"<h1>Unclosed fence swallows the rest</h1><p>A normal paragraph before the fence.</p><pre><code>def visible():\n    return &quot;this code block never closes&quot;\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.</code></pre>"},"changes":[]}
{"id":"doc/unclosed-fence/workflow/auto/calendar","detected":"Markdown","cleaned":{"text":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n```python\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"output":{"text":"Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"html":{"text":"<h1>Unclosed fence swallows the rest</h1><p>A normal paragraph before the fence.</p><pre><code>def visible():\n    return &quot;this code block never closes&quot;\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.</code></pre>"},"changes":[]}
{"id":"doc/unclosed-fence/workflow/auto/word","detected":"Markdown","cleaned":{"text":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n```python\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"output":{"text":"Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"html":{"text":"<h1>Unclosed fence swallows the rest</h1><p>A normal paragraph before the fence.</p><pre><code>def visible():\n    return &quot;this code block never closes&quot;\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.</code></pre>"},"changes":[]}
{"id":"doc/unclosed-fence/workflow/auto/google-docs","detected":"Markdown","cleaned":{"text":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n```python\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"output":{"text":"Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"html":{"text":"<h1>Unclosed fence swallows the rest</h1><p>A normal paragraph before the fence.</p><pre><code>def visible():\n    return &quot;this code block never closes&quot;\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.</code></pre>"},"changes":[]}
{"id":"doc/unclosed-fence/workflow/auto/markdown","detected":"Markdown","cleaned":{"text":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n```python\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"output":{"text":"# Unclosed fence swallows the rest\n\nA normal paragraph before the fence.\n\n```python\ndef visible():\n    return \"this code block never closes\"\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open."},"html":{"text":"<h1>Unclosed fence swallows the rest</h1><p>A normal paragraph before the fence.</p><pre><code>def visible():\n    return &quot;this code block never closes&quot;\n\n# looks like a heading but is inside the open fence\n- looks like a list but is inside the open fence\n\nThe document ends while the fence is still open.</code></pre>"},"changes":[]}
{"id":"doc/unclosed-fence/workflow/markdown/whatsapp","detected":"Markdown","fnv":"4639d581","len":990}
{"id":"doc/unclosed-fence/workflow/markdown/google-chat","detected":"Markdown","fnv":"4639d581","len":990}
{"id":"doc/unclosed-fence/workflow/markdown/discord","detected":"Markdown","fnv":"3a697b9e","len":990}
{"id":"doc/unclosed-fence/workflow/markdown/slack","detected":"Markdown","fnv":"4639d581","len":990}
{"id":"doc/unclosed-fence/workflow/markdown/teams","detected":"Markdown","fnv":"3a697b9e","len":990}
{"id":"doc/unclosed-fence/workflow/markdown/zendesk","detected":"Markdown","fnv":"1326f7ec","len":1022}
{"id":"doc/unclosed-fence/workflow/markdown/jira","detected":"Markdown","fnv":"3a697b9e","len":990}
{"id":"doc/unclosed-fence/workflow/markdown/plain","detected":"Markdown","fnv":"700d8de7","len":978}
{"id":"doc/unclosed-fence/workflow/markdown/imessage","detected":"Markdown","fnv":"700d8de7","len":978}
{"id":"doc/unclosed-fence/workflow/markdown/signal","detected":"Markdown","fnv":"700d8de7","len":978}
{"id":"doc/unclosed-fence/workflow/markdown/telegram","detected":"Markdown","fnv":"700d8de7","len":978}
{"id":"doc/unclosed-fence/workflow/markdown/gmail","detected":"Markdown","fnv":"700d8de7","len":978}
{"id":"doc/unclosed-fence/workflow/markdown/outlook","detected":"Markdown","fnv":"700d8de7","len":978}
{"id":"doc/unclosed-fence/workflow/markdown/shortwave","detected":"Markdown","fnv":"700d8de7","len":978}
{"id":"doc/unclosed-fence/workflow/markdown/notion","detected":"Markdown","fnv":"700d8de7","len":978}
{"id":"doc/unclosed-fence/workflow/markdown/confluence","detected":"Markdown","fnv":"700d8de7","len":978}
{"id":"doc/unclosed-fence/workflow/markdown/calendar","detected":"Markdown","fnv":"700d8de7","len":978}
{"id":"doc/unclosed-fence/workflow/markdown/word","detected":"Markdown","fnv":"700d8de7","len":978}
{"id":"doc/unclosed-fence/workflow/markdown/google-docs","detected":"Markdown","fnv":"700d8de7","len":978}
{"id":"doc/unclosed-fence/workflow/markdown/markdown","detected":"Markdown","fnv":"9e37f8b8","len":991}
{"id":"doc/unclosed-fence/workflow/plain/whatsapp","detected":"Markdown","fnv":"8f421798","len":997}
{"id":"doc/unclosed-fence/workflow/plain/google-chat","detected":"Markdown","fnv":"8f421798","len":997}
{"id":"doc/unclosed-fence/workflow/plain/discord","detected":"Markdown","fnv":"8f421798","len":997}
{"id":"doc/unclosed-fence/workflow/plain/slack","detected":"Markdown","fnv":"8f421798","len":997}
{"id":"doc/unclosed-fence/workflow/plain/teams","detected":"Markdown","fnv":"8f421798","len":997}
{"id":"doc/unclosed-fence/workflow/plain/zendesk","detected":"Markdown","fnv":"8f421798","len":997}
{"id":"doc/unclosed-fence/workflow/plain/jira","detected":"Markdown","fnv":"8f421798","len":997}
{"id":"doc/unclosed-fence/workflow/plain/plain","detected":"Markdown","fnv":"8f421798","len":997}
{"id":"doc/unclosed-fence/workflow/plain/imessage","detected":"Markdown","fnv":"8f421798","len":997}
{"id":"doc/unclosed-fence/workflow/plain/signal","detected":"Markdown","fnv":"8f421798","len":997}
{"id":"doc/unclosed-fence/workflow/plain/telegram","detected":"Markdown","fnv":"8f421798","len":997}
{"id":"doc/unclosed-fence/workflow/plain/gmail","detected":"Markdown","fnv":"8f421798","len":997}
{"id":"doc/unclosed-fence/workflow/plain/outlook","detected":"Markdown","fnv":"8f421798","len":997}
{"id":"doc/unclosed-fence/workflow/plain/shortwave","detected":"Markdown","fnv":"8f421798","len":997}
{"id":"doc/unclosed-fence/workflow/plain/notion","detected":"Markdown","fnv":"8f421798","len":997}
{"id":"doc/unclosed-fence/workflow/plain/confluence","detected":"Markdown","fnv":"8f421798","len":997}
{"id":"doc/unclosed-fence/workflow/plain/calendar","detected":"Markdown","fnv":"8f421798","len":997}
{"id":"doc/unclosed-fence/workflow/plain/word","detected":"Markdown","fnv":"8f421798","len":997}
{"id":"doc/unclosed-fence/workflow/plain/google-docs","detected":"Markdown","fnv":"8f421798","len":997}
{"id":"doc/unclosed-fence/workflow/plain/markdown","detected":"Markdown","fnv":"8f421798","len":997}
{"id":"doc/whatsapp-markers/detect","val":"Markdown"}
{"id":"doc/whatsapp-markers/words","val":40}
{"id":"doc/whatsapp-markers/filename/md","val":"pasteful-document.md"}
{"id":"doc/whatsapp-markers/filename/docx","val":"pasteful-document.docx"}
{"id":"doc/whatsapp-markers/clean/default","text":"Status update with *literal asterisks* and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end","changes":[]}
{"id":"doc/whatsapp-markers/convert/whatsapp","cleaned":{"text":"Status update with *literal asterisks* and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"output":{"text":"Status update with _literal asterisks_ and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"html":{"text":"<p>Status update with <em>literal asterisks</em> and <em>literal underscores</em> kept as typed.</p><p><s>tilde marks</s> and <code>backtick spans</code> appear in plain text too.</p><blockquote><p>A line that starts with a quote marker</p></blockquote><pre><code>a literal fence in plain text</code></pre><p>*unclosed marker at the end</p>"},"changes":[]}
{"id":"doc/whatsapp-markers/convert/google-chat","cleaned":{"text":"Status update with *literal asterisks* and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"output":{"text":"Status update with _literal asterisks_ and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"html":{"text":"<p>Status update with <em>literal asterisks</em> and <em>literal underscores</em> kept as typed.</p><p><s>tilde marks</s> and <code>backtick spans</code> appear in plain text too.</p><blockquote><p>A line that starts with a quote marker</p></blockquote><pre><code>a literal fence in plain text</code></pre><p>*unclosed marker at the end</p>"},"changes":[]}
{"id":"doc/whatsapp-markers/convert/discord","cleaned":{"text":"Status update with *literal asterisks* and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"output":{"text":"Status update with *literal asterisks* and *literal underscores* kept as typed.\n\n~~tilde marks~~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"html":{"text":"<p>Status update with <em>literal asterisks</em> and <em>literal underscores</em> kept as typed.</p><p><s>tilde marks</s> and <code>backtick spans</code> appear in plain text too.</p><blockquote><p>A line that starts with a quote marker</p></blockquote><pre><code>a literal fence in plain text</code></pre><p>*unclosed marker at the end</p>"},"changes":[]}
{"id":"doc/whatsapp-markers/convert/slack","cleaned":{"text":"Status update with *literal asterisks* and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"output":{"text":"Status update with _literal asterisks_ and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"html":{"text":"<p>Status update with <em>literal asterisks</em> and <em>literal underscores</em> kept as typed.</p><p><s>tilde marks</s> and <code>backtick spans</code> appear in plain text too.</p><blockquote><p>A line that starts with a quote marker</p></blockquote><pre><code>a literal fence in plain text</code></pre><p>*unclosed marker at the end</p>"},"changes":[]}
{"id":"doc/whatsapp-markers/convert/teams","cleaned":{"text":"Status update with *literal asterisks* and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"output":{"text":"Status update with _literal asterisks_ and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"html":{"text":"<p>Status update with <em>literal asterisks</em> and <em>literal underscores</em> kept as typed.</p><p><s>tilde marks</s> and <code>backtick spans</code> appear in plain text too.</p><blockquote><p>A line that starts with a quote marker</p></blockquote><pre><code>a literal fence in plain text</code></pre><p>*unclosed marker at the end</p>"},"changes":[]}
{"id":"doc/whatsapp-markers/convert/zendesk","cleaned":{"text":"Status update with *literal asterisks* and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"output":{"text":"Status update with *literal asterisks* and *literal underscores* kept as typed.\n\n~~tilde marks~~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n> a literal fence in plain text\n\n*unclosed marker at the end"},"html":{"text":"<p>Status update with <em>literal asterisks</em> and <em>literal underscores</em> kept as typed.</p><p><s>tilde marks</s> and <code>backtick spans</code> appear in plain text too.</p><blockquote><p>A line that starts with a quote marker</p></blockquote><pre><code>a literal fence in plain text</code></pre><p>*unclosed marker at the end</p>"},"changes":[]}
{"id":"doc/whatsapp-markers/convert/jira","cleaned":{"text":"Status update with *literal asterisks* and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"output":{"text":"Status update with *literal asterisks* and *literal underscores* kept as typed.\n\n~~tilde marks~~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"html":{"text":"<p>Status update with <em>literal asterisks</em> and <em>literal underscores</em> kept as typed.</p><p><s>tilde marks</s> and <code>backtick spans</code> appear in plain text too.</p><blockquote><p>A line that starts with a quote marker</p></blockquote><pre><code>a literal fence in plain text</code></pre><p>*unclosed marker at the end</p>"},"changes":[]}
{"id":"doc/whatsapp-markers/convert/plain","cleaned":{"text":"Status update with *literal asterisks* and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"output":{"text":"Status update with literal asterisks and literal underscores kept as typed.\n\ntilde marks and backtick spans appear in plain text too.\n\n> A line that starts with a quote marker\n\na literal fence in plain text\n\n*unclosed marker at the end"},"html":{"text":"<p>Status update with <em>literal asterisks</em> and <em>literal underscores</em> kept as typed.</p><p><s>tilde marks</s> and <code>backtick spans</code> appear in plain text too.</p><blockquote><p>A line that starts with a quote marker</p></blockquote><pre><code>a literal fence in plain text</code></pre><p>*unclosed marker at the end</p>"},"changes":[]}
{"id":"doc/whatsapp-markers/whatsapp-preview","val":[{"kind":"text","segments":[{"text":"Status update with ","marks":[]},{"text":"literal asterisks","marks":["italic"]},{"text":" and ","marks":[]},{"text":"literal underscores","marks":["italic"]},{"text":" kept as typed.","marks":[]}]},{"kind":"text","segments":[]},{"kind":"text","segments":[{"text":"tilde marks","marks":["strike"]},{"text":" and ","marks":[]},{"text":"backtick spans","marks":["code"]},{"text":" appear in plain text too.","marks":[]}]},{"kind":"text","segments":[]},{"kind":"quote","segments":[{"text":"A line that starts with a quote marker","marks":[]}]},{"kind":"text","segments":[]},{"kind":"code","segments":[{"text":"a literal fence in plain text","marks":["code"]}]},{"kind":"text","segments":[]},{"kind":"text","segments":[{"text":"*unclosed marker at the end","marks":[]}]}]}
{"id":"doc/whatsapp-markers/diff-cleanup","val":[{"type":"same","value":"Status update with *literal asterisks* and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},{"type":"removed","value":"\n"}]}
{"id":"doc/whatsapp-markers/workflow/auto/whatsapp","detected":"Markdown","cleaned":{"text":"Status update with *literal asterisks* and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"output":{"text":"Status update with _literal asterisks_ and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"html":{"text":"<p>Status update with <em>literal asterisks</em> and <em>literal underscores</em> kept as typed.</p><p><s>tilde marks</s> and <code>backtick spans</code> appear in plain text too.</p><blockquote><p>A line that starts with a quote marker</p></blockquote><pre><code>a literal fence in plain text</code></pre><p>*unclosed marker at the end</p>"},"changes":[]}
{"id":"doc/whatsapp-markers/workflow/auto/google-chat","detected":"Markdown","cleaned":{"text":"Status update with *literal asterisks* and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"output":{"text":"Status update with _literal asterisks_ and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"html":{"text":"<p>Status update with <em>literal asterisks</em> and <em>literal underscores</em> kept as typed.</p><p><s>tilde marks</s> and <code>backtick spans</code> appear in plain text too.</p><blockquote><p>A line that starts with a quote marker</p></blockquote><pre><code>a literal fence in plain text</code></pre><p>*unclosed marker at the end</p>"},"changes":[]}
{"id":"doc/whatsapp-markers/workflow/auto/discord","detected":"Markdown","cleaned":{"text":"Status update with *literal asterisks* and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"output":{"text":"Status update with *literal asterisks* and *literal underscores* kept as typed.\n\n~~tilde marks~~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"html":{"text":"<p>Status update with <em>literal asterisks</em> and <em>literal underscores</em> kept as typed.</p><p><s>tilde marks</s> and <code>backtick spans</code> appear in plain text too.</p><blockquote><p>A line that starts with a quote marker</p></blockquote><pre><code>a literal fence in plain text</code></pre><p>*unclosed marker at the end</p>"},"changes":[]}
{"id":"doc/whatsapp-markers/workflow/auto/slack","detected":"Markdown","cleaned":{"text":"Status update with *literal asterisks* and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"output":{"text":"Status update with _literal asterisks_ and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"html":{"text":"<p>Status update with <em>literal asterisks</em> and <em>literal underscores</em> kept as typed.</p><p><s>tilde marks</s> and <code>backtick spans</code> appear in plain text too.</p><blockquote><p>A line that starts with a quote marker</p></blockquote><pre><code>a literal fence in plain text</code></pre><p>*unclosed marker at the end</p>"},"changes":[]}
{"id":"doc/whatsapp-markers/workflow/auto/teams","detected":"Markdown","cleaned":{"text":"Status update with *literal asterisks* and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"output":{"text":"Status update with _literal asterisks_ and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"html":{"text":"<p>Status update with <em>literal asterisks</em> and <em>literal underscores</em> kept as typed.</p><p><s>tilde marks</s> and <code>backtick spans</code> appear in plain text too.</p><blockquote><p>A line that starts with a quote marker</p></blockquote><pre><code>a literal fence in plain text</code></pre><p>*unclosed marker at the end</p>"},"changes":[]}
{"id":"doc/whatsapp-markers/workflow/auto/zendesk","detected":"Markdown","cleaned":{"text":"Status update with *literal asterisks* and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"output":{"text":"Status update with *literal asterisks* and *literal underscores* kept as typed.\n\n~~tilde marks~~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n> a literal fence in plain text\n\n*unclosed marker at the end"},"html":{"text":"<p>Status update with <em>literal asterisks</em> and <em>literal underscores</em> kept as typed.</p><p><s>tilde marks</s> and <code>backtick spans</code> appear in plain text too.</p><blockquote><p>A line that starts with a quote marker</p></blockquote><blockquote><p>a literal fence in plain text</p></blockquote><p>*unclosed marker at the end</p>"},"changes":[]}
{"id":"doc/whatsapp-markers/workflow/auto/jira","detected":"Markdown","cleaned":{"text":"Status update with *literal asterisks* and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"output":{"text":"Status update with *literal asterisks* and *literal underscores* kept as typed.\n\n~~tilde marks~~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"html":{"text":"<p>Status update with <em>literal asterisks</em> and <em>literal underscores</em> kept as typed.</p><p><s>tilde marks</s> and <code>backtick spans</code> appear in plain text too.</p><blockquote><p>A line that starts with a quote marker</p></blockquote><pre><code>a literal fence in plain text</code></pre><p>*unclosed marker at the end</p>"},"changes":[]}
{"id":"doc/whatsapp-markers/workflow/auto/plain","detected":"Markdown","cleaned":{"text":"Status update with *literal asterisks* and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"output":{"text":"Status update with literal asterisks and literal underscores kept as typed.\n\ntilde marks and backtick spans appear in plain text too.\n\n> A line that starts with a quote marker\n\na literal fence in plain text\n\n*unclosed marker at the end"},"html":{"text":"<p>Status update with <em>literal asterisks</em> and <em>literal underscores</em> kept as typed.</p><p><s>tilde marks</s> and <code>backtick spans</code> appear in plain text too.</p><blockquote><p>A line that starts with a quote marker</p></blockquote><pre><code>a literal fence in plain text</code></pre><p>*unclosed marker at the end</p>"},"changes":[]}
{"id":"doc/whatsapp-markers/workflow/auto/imessage","detected":"Markdown","cleaned":{"text":"Status update with *literal asterisks* and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"output":{"text":"Status update with literal asterisks and literal underscores kept as typed.\n\ntilde marks and backtick spans appear in plain text too.\n\n> A line that starts with a quote marker\n\na literal fence in plain text\n\n*unclosed marker at the end"},"html":{"text":"<p>Status update with <em>literal asterisks</em> and <em>literal underscores</em> kept as typed.</p><p><s>tilde marks</s> and <code>backtick spans</code> appear in plain text too.</p><blockquote><p>A line that starts with a quote marker</p></blockquote><pre><code>a literal fence in plain text</code></pre><p>*unclosed marker at the end</p>"},"changes":[]}
{"id":"doc/whatsapp-markers/workflow/auto/signal","detected":"Markdown","cleaned":{"text":"Status update with *literal asterisks* and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"output":{"text":"Status update with literal asterisks and literal underscores kept as typed.\n\ntilde marks and backtick spans appear in plain text too.\n\n> A line that starts with a quote marker\n\na literal fence in plain text\n\n*unclosed marker at the end"},"html":{"text":"<p>Status update with <em>literal asterisks</em> and <em>literal underscores</em> kept as typed.</p><p><s>tilde marks</s> and <code>backtick spans</code> appear in plain text too.</p><blockquote><p>A line that starts with a quote marker</p></blockquote><pre><code>a literal fence in plain text</code></pre><p>*unclosed marker at the end</p>"},"changes":[]}
{"id":"doc/whatsapp-markers/workflow/auto/telegram","detected":"Markdown","cleaned":{"text":"Status update with *literal asterisks* and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"output":{"text":"Status update with literal asterisks and literal underscores kept as typed.\n\ntilde marks and backtick spans appear in plain text too.\n\n> A line that starts with a quote marker\n\na literal fence in plain text\n\n*unclosed marker at the end"},"html":{"text":"<p>Status update with <em>literal asterisks</em> and <em>literal underscores</em> kept as typed.</p><p><s>tilde marks</s> and <code>backtick spans</code> appear in plain text too.</p><blockquote><p>A line that starts with a quote marker</p></blockquote><pre><code>a literal fence in plain text</code></pre><p>*unclosed marker at the end</p>"},"changes":[]}
{"id":"doc/whatsapp-markers/workflow/auto/gmail","detected":"Markdown","cleaned":{"text":"Status update with *literal asterisks* and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"output":{"text":"Status update with literal asterisks and literal underscores kept as typed.\n\ntilde marks and backtick spans appear in plain text too.\n\n> A line that starts with a quote marker\n\na literal fence in plain text\n\n*unclosed marker at the end"},"html":{"text":"<p>Status update with <em>literal asterisks</em> and <em>literal underscores</em> kept as typed.</p><p><s>tilde marks</s> and <code>backtick spans</code> appear in plain text too.</p><blockquote><p>A line that starts with a quote marker</p></blockquote><pre><code>a literal fence in plain text</code></pre><p>*unclosed marker at the end</p>"},"changes":[]}
{"id":"doc/whatsapp-markers/workflow/auto/outlook","detected":"Markdown","cleaned":{"text":"Status update with *literal asterisks* and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"output":{"text":"Status update with literal asterisks and literal underscores kept as typed.\n\ntilde marks and backtick spans appear in plain text too.\n\n> A line that starts with a quote marker\n\na literal fence in plain text\n\n*unclosed marker at the end"},"html":{"text":"<p>Status update with <em>literal asterisks</em> and <em>literal underscores</em> kept as typed.</p><p><s>tilde marks</s> and <code>backtick spans</code> appear in plain text too.</p><blockquote><p>A line that starts with a quote marker</p></blockquote><pre><code>a literal fence in plain text</code></pre><p>*unclosed marker at the end</p>"},"changes":[]}
{"id":"doc/whatsapp-markers/workflow/auto/shortwave","detected":"Markdown","cleaned":{"text":"Status update with *literal asterisks* and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"output":{"text":"Status update with literal asterisks and literal underscores kept as typed.\n\ntilde marks and backtick spans appear in plain text too.\n\n> A line that starts with a quote marker\n\na literal fence in plain text\n\n*unclosed marker at the end"},"html":{"text":"<p>Status update with <em>literal asterisks</em> and <em>literal underscores</em> kept as typed.</p><p><s>tilde marks</s> and <code>backtick spans</code> appear in plain text too.</p><blockquote><p>A line that starts with a quote marker</p></blockquote><pre><code>a literal fence in plain text</code></pre><p>*unclosed marker at the end</p>"},"changes":[]}
{"id":"doc/whatsapp-markers/workflow/auto/notion","detected":"Markdown","cleaned":{"text":"Status update with *literal asterisks* and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"output":{"text":"Status update with literal asterisks and literal underscores kept as typed.\n\ntilde marks and backtick spans appear in plain text too.\n\n> A line that starts with a quote marker\n\na literal fence in plain text\n\n*unclosed marker at the end"},"html":{"text":"<p>Status update with <em>literal asterisks</em> and <em>literal underscores</em> kept as typed.</p><p><s>tilde marks</s> and <code>backtick spans</code> appear in plain text too.</p><blockquote><p>A line that starts with a quote marker</p></blockquote><pre><code>a literal fence in plain text</code></pre><p>*unclosed marker at the end</p>"},"changes":[]}
{"id":"doc/whatsapp-markers/workflow/auto/confluence","detected":"Markdown","cleaned":{"text":"Status update with *literal asterisks* and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"output":{"text":"Status update with literal asterisks and literal underscores kept as typed.\n\ntilde marks and backtick spans appear in plain text too.\n\n> A line that starts with a quote marker\n\na literal fence in plain text\n\n*unclosed marker at the end"},"html":{"text":"<p>Status update with <em>literal asterisks</em> and <em>literal underscores</em> kept as typed.</p><p><s>tilde marks</s> and <code>backtick spans</code> appear in plain text too.</p><blockquote><p>A line that starts with a quote marker</p></blockquote><pre><code>a literal fence in plain text</code></pre><p>*unclosed marker at the end</p>"},"changes":[]}
{"id":"doc/whatsapp-markers/workflow/auto/calendar","detected":"Markdown","cleaned":{"text":"Status update with *literal asterisks* and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"output":{"text":"Status update with literal asterisks and literal underscores kept as typed.\n\ntilde marks and backtick spans appear in plain text too.\n\n> A line that starts with a quote marker\n\na literal fence in plain text\n\n*unclosed marker at the end"},"html":{"text":"<p>Status update with <em>literal asterisks</em> and <em>literal underscores</em> kept as typed.</p><p><s>tilde marks</s> and <code>backtick spans</code> appear in plain text too.</p><blockquote><p>A line that starts with a quote marker</p></blockquote><pre><code>a literal fence in plain text</code></pre><p>*unclosed marker at the end</p>"},"changes":[]}
{"id":"doc/whatsapp-markers/workflow/auto/word","detected":"Markdown","cleaned":{"text":"Status update with *literal asterisks* and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"output":{"text":"Status update with literal asterisks and literal underscores kept as typed.\n\ntilde marks and backtick spans appear in plain text too.\n\n> A line that starts with a quote marker\n\na literal fence in plain text\n\n*unclosed marker at the end"},"html":{"text":"<p>Status update with <em>literal asterisks</em> and <em>literal underscores</em> kept as typed.</p><p><s>tilde marks</s> and <code>backtick spans</code> appear in plain text too.</p><blockquote><p>A line that starts with a quote marker</p></blockquote><pre><code>a literal fence in plain text</code></pre><p>*unclosed marker at the end</p>"},"changes":[]}
{"id":"doc/whatsapp-markers/workflow/auto/google-docs","detected":"Markdown","cleaned":{"text":"Status update with *literal asterisks* and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"output":{"text":"Status update with literal asterisks and literal underscores kept as typed.\n\ntilde marks and backtick spans appear in plain text too.\n\n> A line that starts with a quote marker\n\na literal fence in plain text\n\n*unclosed marker at the end"},"html":{"text":"<p>Status update with <em>literal asterisks</em> and <em>literal underscores</em> kept as typed.</p><p><s>tilde marks</s> and <code>backtick spans</code> appear in plain text too.</p><blockquote><p>A line that starts with a quote marker</p></blockquote><pre><code>a literal fence in plain text</code></pre><p>*unclosed marker at the end</p>"},"changes":[]}
{"id":"doc/whatsapp-markers/workflow/auto/markdown","detected":"Markdown","cleaned":{"text":"Status update with *literal asterisks* and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"output":{"text":"Status update with *literal asterisks* and _literal underscores_ kept as typed.\n\n~tilde marks~ and `backtick spans` appear in plain text too.\n\n> A line that starts with a quote marker\n\n```\na literal fence in plain text\n```\n\n*unclosed marker at the end"},"html":{"text":"<p>Status update with <em>literal asterisks</em> and <em>literal underscores</em> kept as typed.</p><p><s>tilde marks</s> and <code>backtick spans</code> appear in plain text too.</p><blockquote><p>A line that starts with a quote marker</p></blockquote><pre><code>a literal fence in plain text</code></pre><p>*unclosed marker at the end</p>"},"changes":[]}
{"id":"doc/whatsapp-markers/workflow/markdown/whatsapp","detected":"Markdown","fnv":"a19801fb","len":911}
{"id":"doc/whatsapp-markers/workflow/markdown/google-chat","detected":"Markdown","fnv":"a19801fb","len":911}
{"id":"doc/whatsapp-markers/workflow/markdown/discord","detected":"Markdown","fnv":"1161a25f","len":913}
{"id":"doc/whatsapp-markers/workflow/markdown/slack","detected":"Markdown","fnv":"a19801fb","len":911}
{"id":"doc/whatsapp-markers/workflow/markdown/teams","detected":"Markdown","fnv":"a19801fb","len":911}
{"id":"doc/whatsapp-markers/workflow/markdown/zendesk","detected":"Markdown","fnv":"5b8e0d73","len":913}
{"id":"doc/whatsapp-markers/workflow/markdown/jira","detected":"Markdown","fnv":"1161a25f","len":913}
{"id":"doc/whatsapp-markers/workflow/markdown/plain","detected":"Markdown","fnv":"b733dc93","len":893}
{"id":"doc/whatsapp-markers/workflow/markdown/imessage","detected":"Markdown","fnv":"b733dc93","len":893}
{"id":"doc/whatsapp-markers/workflow/markdown/signal","detected":"Markdown","fnv":"b733dc93","len":893}
{"id":"doc/whatsapp-markers/workflow/markdown/telegram","detected":"Markdown","fnv":"b733dc93","len":893}
{"id":"doc/whatsapp-markers/workflow/markdown/gmail","detected":"Markdown","fnv":"b733dc93","len":893}
{"id":"doc/whatsapp-markers/workflow/markdown/outlook","detected":"Markdown","fnv":"b733dc93","len":893}
{"id":"doc/whatsapp-markers/workflow/markdown/shortwave","detected":"Markdown","fnv":"b733dc93","len":893}
{"id":"doc/whatsapp-markers/workflow/markdown/notion","detected":"Markdown","fnv":"b733dc93","len":893}
{"id":"doc/whatsapp-markers/workflow/markdown/confluence","detected":"Markdown","fnv":"b733dc93","len":893}
{"id":"doc/whatsapp-markers/workflow/markdown/calendar","detected":"Markdown","fnv":"b733dc93","len":893}
{"id":"doc/whatsapp-markers/workflow/markdown/word","detected":"Markdown","fnv":"b733dc93","len":893}
{"id":"doc/whatsapp-markers/workflow/markdown/google-docs","detected":"Markdown","fnv":"b733dc93","len":893}
{"id":"doc/whatsapp-markers/workflow/markdown/markdown","detected":"Markdown","fnv":"f57142f7","len":911}
{"id":"doc/whatsapp-markers/workflow/plain/whatsapp","detected":"Markdown","fnv":"945fb54d","len":858}
{"id":"doc/whatsapp-markers/workflow/plain/google-chat","detected":"Markdown","fnv":"945fb54d","len":858}
{"id":"doc/whatsapp-markers/workflow/plain/discord","detected":"Markdown","fnv":"945fb54d","len":858}
{"id":"doc/whatsapp-markers/workflow/plain/slack","detected":"Markdown","fnv":"945fb54d","len":858}
{"id":"doc/whatsapp-markers/workflow/plain/teams","detected":"Markdown","fnv":"945fb54d","len":858}
{"id":"doc/whatsapp-markers/workflow/plain/zendesk","detected":"Markdown","fnv":"945fb54d","len":858}
{"id":"doc/whatsapp-markers/workflow/plain/jira","detected":"Markdown","fnv":"945fb54d","len":858}
{"id":"doc/whatsapp-markers/workflow/plain/plain","detected":"Markdown","fnv":"945fb54d","len":858}
{"id":"doc/whatsapp-markers/workflow/plain/imessage","detected":"Markdown","fnv":"945fb54d","len":858}
{"id":"doc/whatsapp-markers/workflow/plain/signal","detected":"Markdown","fnv":"945fb54d","len":858}
{"id":"doc/whatsapp-markers/workflow/plain/telegram","detected":"Markdown","fnv":"945fb54d","len":858}
{"id":"doc/whatsapp-markers/workflow/plain/gmail","detected":"Markdown","fnv":"945fb54d","len":858}
{"id":"doc/whatsapp-markers/workflow/plain/outlook","detected":"Markdown","fnv":"945fb54d","len":858}
{"id":"doc/whatsapp-markers/workflow/plain/shortwave","detected":"Markdown","fnv":"945fb54d","len":858}
{"id":"doc/whatsapp-markers/workflow/plain/notion","detected":"Markdown","fnv":"945fb54d","len":858}
{"id":"doc/whatsapp-markers/workflow/plain/confluence","detected":"Markdown","fnv":"945fb54d","len":858}
{"id":"doc/whatsapp-markers/workflow/plain/calendar","detected":"Markdown","fnv":"945fb54d","len":858}
{"id":"doc/whatsapp-markers/workflow/plain/word","detected":"Markdown","fnv":"945fb54d","len":858}
{"id":"doc/whatsapp-markers/workflow/plain/google-docs","detected":"Markdown","fnv":"945fb54d","len":858}
{"id":"doc/whatsapp-markers/workflow/plain/markdown","detected":"Markdown","fnv":"945fb54d","len":858}
{"id":"doc/word-doc-paste/detect","val":"Markdown"}
{"id":"doc/word-doc-paste/words","val":82}
{"id":"doc/word-doc-paste/filename/md","val":"pasteful-document.md"}
{"id":"doc/word-doc-paste/filename/docx","val":"pasteful-document.docx"}
{"id":"doc/word-doc-paste/clean/default","text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=Mso. Normal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line - Operations","changes":[{"key":"spacing","count":6,"label":"unusual spaces"},{"key":"punctuation","count":7,"label":"typography artifacts"},{"key":"markdown","count":2,"label":"Markdown joins"}]}
{"id":"doc/word-doc-paste/clean/no-invisible","text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=Mso. Normal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line - Operations","changes":[{"key":"spacing","count":6,"label":"unusual spaces"},{"key":"punctuation","count":7,"label":"typography artifacts"},{"key":"markdown","count":2,"label":"Markdown joins"}]}
{"id":"doc/word-doc-paste/clean/no-spacing","text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.  \n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space \n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=Mso. Normal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line  -  Operations","changes":[{"key":"punctuation","count":7,"label":"typography artifacts"},{"key":"markdown","count":2,"label":"Markdown joins"}]}
{"id":"doc/word-doc-paste/clean/no-punctuation","text":"Quarterly Update – Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, “smart quotes”, an em dash—like this—and an ellipsis…\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=Mso. Normal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line — Operations","changes":[{"key":"spacing","count":6,"label":"unusual spaces"},{"key":"markdown","count":2,"label":"Markdown joins"}]}
{"id":"doc/word-doc-paste/clean/no-markdown","text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary** The team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=MsoNormal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line - Operations","changes":[{"key":"spacing","count":6,"label":"unusual spaces"},{"key":"punctuation","count":7,"label":"typography artifacts"}]}
{"id":"doc/word-doc-paste/clean/none","text":"Quarterly Update – Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, “smart quotes”, an em dash—like this—and an ellipsis…\n\nHeading Styled As Bold Below\n\n**Summary** The team delivered ahead of schedule.  \n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space \n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=MsoNormal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line — Operations","changes":[]}
{"id":"doc/word-doc-paste/clean/only-invisible","text":"Quarterly Update – Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, “smart quotes”, an em dash—like this—and an ellipsis…\n\nHeading Styled As Bold Below\n\n**Summary** The team delivered ahead of schedule.  \n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space \n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=MsoNormal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line — Operations","changes":[]}
{"id":"doc/word-doc-paste/clean/only-spacing","text":"Quarterly Update – Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, “smart quotes”, an em dash—like this—and an ellipsis…\n\nHeading Styled As Bold Below\n\n**Summary** The team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=MsoNormal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line — Operations","changes":[{"key":"spacing","count":6,"label":"unusual spaces"}]}
{"id":"doc/word-doc-paste/clean/only-punctuation","text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary** The team delivered ahead of schedule.  \n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space \n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=MsoNormal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line  -  Operations","changes":[{"key":"punctuation","count":7,"label":"typography artifacts"}]}
{"id":"doc/word-doc-paste/clean/only-markdown","text":"Quarterly Update – Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, “smart quotes”, an em dash—like this—and an ellipsis…\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.  \n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space \n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=Mso. Normal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line — Operations","changes":[{"key":"markdown","count":2,"label":"Markdown joins"}]}
{"id":"doc/word-doc-paste/convert-raw/plain","output":{"text":"Quarterly Update – Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, “smart quotes”, an em dash—like this—and an ellipsis…\n\nHeading Styled As Bold Below\n\nSummary The team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\nResidual office markup survives the paste\n\nSignature line — Operations"},"html":{"text":"<p>Quarterly Update – Draft</p><p>This paragraph was pasted from a word processor. It carries non-breaking spaces, “smart quotes”, an em dash—like this—and an ellipsis…</p><p>Heading Styled As Bold Below</p><p><strong>Summary</strong> The team delivered ahead of schedule.  </p><p>• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space </p><p>1. Numbered item with a non-breaking space after the marker\n2. Second numbered item</p><p>Residual office markup survives the paste</p><p>Signature line — Operations</p>"},"changes":[]}
{"id":"doc/word-doc-paste/convert-raw/whatsapp","output":{"text":"Quarterly Update – Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, “smart quotes”, an em dash—like this—and an ellipsis…\n\nHeading Styled As Bold Below\n\n*Summary* The team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\nResidual office markup survives the paste\n\nSignature line — Operations"},"html":{"text":"<p>Quarterly Update – Draft</p><p>This paragraph was pasted from a word processor. It carries non-breaking spaces, “smart quotes”, an em dash—like this—and an ellipsis…</p><p>Heading Styled As Bold Below</p><p><strong>Summary</strong> The team delivered ahead of schedule.  </p><p>• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space </p><p>1. Numbered item with a non-breaking space after the marker\n2. Second numbered item</p><p>Residual office markup survives the paste</p><p>Signature line — Operations</p>"},"changes":[]}
{"id":"doc/word-doc-paste/convert/whatsapp","cleaned":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=Mso. Normal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line - Operations"},"output":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n*Summary*\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\nResidual office markup survives the paste\n\nSignature line - Operations"},"html":{"text":"<p>Quarterly Update - Draft</p><p>This paragraph was pasted from a word processor. It carries non-breaking spaces, &quot;smart quotes&quot;, an em dash - like this - and an ellipsis...</p><p>Heading Styled As Bold Below</p><p><strong>Summary</strong></p><p>The team delivered ahead of schedule.</p><p>• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space</p><ol><li>Numbered item with a non-breaking space after the marker</li><li>Second numbered item</li></ol><p>Residual office markup survives the paste</p><p>Signature line - Operations</p>"},"changes":[{"key":"spacing","count":6,"label":"unusual spaces"},{"key":"punctuation","count":7,"label":"typography artifacts"},{"key":"markdown","count":2,"label":"Markdown joins"}]}
{"id":"doc/word-doc-paste/convert/google-chat","cleaned":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=Mso. Normal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line - Operations"},"output":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n*Summary*\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\nResidual office markup survives the paste\n\nSignature line - Operations"},"html":{"text":"<p>Quarterly Update - Draft</p><p>This paragraph was pasted from a word processor. It carries non-breaking spaces, &quot;smart quotes&quot;, an em dash - like this - and an ellipsis...</p><p>Heading Styled As Bold Below</p><p><strong>Summary</strong></p><p>The team delivered ahead of schedule.</p><p>• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space</p><ol><li>Numbered item with a non-breaking space after the marker</li><li>Second numbered item</li></ol><p>Residual office markup survives the paste</p><p>Signature line - Operations</p>"},"changes":[{"key":"spacing","count":6,"label":"unusual spaces"},{"key":"punctuation","count":7,"label":"typography artifacts"},{"key":"markdown","count":2,"label":"Markdown joins"}]}
{"id":"doc/word-doc-paste/convert/discord","cleaned":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=Mso. Normal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line - Operations"},"output":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\nResidual office markup survives the paste\n\nSignature line - Operations"},"html":{"text":"<p>Quarterly Update - Draft</p><p>This paragraph was pasted from a word processor. It carries non-breaking spaces, &quot;smart quotes&quot;, an em dash - like this - and an ellipsis...</p><p>Heading Styled As Bold Below</p><p><strong>Summary</strong></p><p>The team delivered ahead of schedule.</p><p>• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space</p><ol><li>Numbered item with a non-breaking space after the marker</li><li>Second numbered item</li></ol><p>Residual office markup survives the paste</p><p>Signature line - Operations</p>"},"changes":[{"key":"spacing","count":6,"label":"unusual spaces"},{"key":"punctuation","count":7,"label":"typography artifacts"},{"key":"markdown","count":2,"label":"Markdown joins"}]}
{"id":"doc/word-doc-paste/convert/slack","cleaned":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=Mso. Normal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line - Operations"},"output":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n*Summary*\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\nResidual office markup survives the paste\n\nSignature line - Operations"},"html":{"text":"<p>Quarterly Update - Draft</p><p>This paragraph was pasted from a word processor. It carries non-breaking spaces, &quot;smart quotes&quot;, an em dash - like this - and an ellipsis...</p><p>Heading Styled As Bold Below</p><p><strong>Summary</strong></p><p>The team delivered ahead of schedule.</p><p>• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space</p><ol><li>Numbered item with a non-breaking space after the marker</li><li>Second numbered item</li></ol><p>Residual office markup survives the paste</p><p>Signature line - Operations</p>"},"changes":[{"key":"spacing","count":6,"label":"unusual spaces"},{"key":"punctuation","count":7,"label":"typography artifacts"},{"key":"markdown","count":2,"label":"Markdown joins"}]}
{"id":"doc/word-doc-paste/convert/teams","cleaned":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=Mso. Normal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line - Operations"},"output":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n*Summary*\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\nResidual office markup survives the paste\n\nSignature line - Operations"},"html":{"text":"<p>Quarterly Update - Draft</p><p>This paragraph was pasted from a word processor. It carries non-breaking spaces, &quot;smart quotes&quot;, an em dash - like this - and an ellipsis...</p><p>Heading Styled As Bold Below</p><p><strong>Summary</strong></p><p>The team delivered ahead of schedule.</p><p>• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space</p><ol><li>Numbered item with a non-breaking space after the marker</li><li>Second numbered item</li></ol><p>Residual office markup survives the paste</p><p>Signature line - Operations</p>"},"changes":[{"key":"spacing","count":6,"label":"unusual spaces"},{"key":"punctuation","count":7,"label":"typography artifacts"},{"key":"markdown","count":2,"label":"Markdown joins"}]}
{"id":"doc/word-doc-paste/convert/zendesk","cleaned":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=Mso. Normal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line - Operations"},"output":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\nResidual office markup survives the paste\n\nSignature line - Operations"},"html":{"text":"<p>Quarterly Update - Draft</p><p>This paragraph was pasted from a word processor. It carries non-breaking spaces, &quot;smart quotes&quot;, an em dash - like this - and an ellipsis...</p><p>Heading Styled As Bold Below</p><p><strong>Summary</strong></p><p>The team delivered ahead of schedule.</p><p>• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space</p><ol><li>Numbered item with a non-breaking space after the marker</li><li>Second numbered item</li></ol><p>Residual office markup survives the paste</p><p>Signature line - Operations</p>"},"changes":[{"key":"spacing","count":6,"label":"unusual spaces"},{"key":"punctuation","count":7,"label":"typography artifacts"},{"key":"markdown","count":2,"label":"Markdown joins"}]}
{"id":"doc/word-doc-paste/convert/jira","cleaned":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=Mso. Normal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line - Operations"},"output":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\nResidual office markup survives the paste\n\nSignature line - Operations"},"html":{"text":"<p>Quarterly Update - Draft</p><p>This paragraph was pasted from a word processor. It carries non-breaking spaces, &quot;smart quotes&quot;, an em dash - like this - and an ellipsis...</p><p>Heading Styled As Bold Below</p><p><strong>Summary</strong></p><p>The team delivered ahead of schedule.</p><p>• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space</p><ol><li>Numbered item with a non-breaking space after the marker</li><li>Second numbered item</li></ol><p>Residual office markup survives the paste</p><p>Signature line - Operations</p>"},"changes":[{"key":"spacing","count":6,"label":"unusual spaces"},{"key":"punctuation","count":7,"label":"typography artifacts"},{"key":"markdown","count":2,"label":"Markdown joins"}]}
{"id":"doc/word-doc-paste/convert/plain","cleaned":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=Mso. Normal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line - Operations"},"output":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\nSummary\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\nResidual office markup survives the paste\n\nSignature line - Operations"},"html":{"text":"<p>Quarterly Update - Draft</p><p>This paragraph was pasted from a word processor. It carries non-breaking spaces, &quot;smart quotes&quot;, an em dash - like this - and an ellipsis...</p><p>Heading Styled As Bold Below</p><p><strong>Summary</strong></p><p>The team delivered ahead of schedule.</p><p>• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space</p><ol><li>Numbered item with a non-breaking space after the marker</li><li>Second numbered item</li></ol><p>Residual office markup survives the paste</p><p>Signature line - Operations</p>"},"changes":[{"key":"spacing","count":6,"label":"unusual spaces"},{"key":"punctuation","count":7,"label":"typography artifacts"},{"key":"markdown","count":2,"label":"Markdown joins"}]}
{"id":"doc/word-doc-paste/whatsapp-preview","fnv":"1f009740","len":1295}
{"id":"doc/word-doc-paste/diff-cleanup","fnv":"0346af53","len":2063}
{"id":"doc/word-doc-paste/workflow/auto/whatsapp","detected":"Markdown","cleaned":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=Mso. Normal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line - Operations"},"output":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n*Summary*\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\nResidual office markup survives the paste\n\nSignature line - Operations"},"html":{"text":"<p>Quarterly Update - Draft</p><p>This paragraph was pasted from a word processor. It carries non-breaking spaces, &quot;smart quotes&quot;, an em dash - like this - and an ellipsis...</p><p>Heading Styled As Bold Below</p><p><strong>Summary</strong></p><p>The team delivered ahead of schedule.</p><p>• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space</p><ol><li>Numbered item with a non-breaking space after the marker</li><li>Second numbered item</li></ol><p>Residual office markup survives the paste</p><p>Signature line - Operations</p>"},"changes":[{"key":"spacing","count":6,"label":"unusual spaces"},{"key":"punctuation","count":7,"label":"typography artifacts"},{"key":"markdown","count":2,"label":"Markdown joins"}]}
{"id":"doc/word-doc-paste/workflow/auto/google-chat","detected":"Markdown","cleaned":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=Mso. Normal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line - Operations"},"output":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n*Summary*\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\nResidual office markup survives the paste\n\nSignature line - Operations"},"html":{"text":"<p>Quarterly Update - Draft</p><p>This paragraph was pasted from a word processor. It carries non-breaking spaces, &quot;smart quotes&quot;, an em dash - like this - and an ellipsis...</p><p>Heading Styled As Bold Below</p><p><strong>Summary</strong></p><p>The team delivered ahead of schedule.</p><p>• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space</p><ol><li>Numbered item with a non-breaking space after the marker</li><li>Second numbered item</li></ol><p>Residual office markup survives the paste</p><p>Signature line - Operations</p>"},"changes":[{"key":"spacing","count":6,"label":"unusual spaces"},{"key":"punctuation","count":7,"label":"typography artifacts"},{"key":"markdown","count":2,"label":"Markdown joins"}]}
{"id":"doc/word-doc-paste/workflow/auto/discord","detected":"Markdown","cleaned":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=Mso. Normal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line - Operations"},"output":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\nResidual office markup survives the paste\n\nSignature line - Operations"},"html":{"text":"<p>Quarterly Update - Draft</p><p>This paragraph was pasted from a word processor. It carries non-breaking spaces, &quot;smart quotes&quot;, an em dash - like this - and an ellipsis...</p><p>Heading Styled As Bold Below</p><p><strong>Summary</strong></p><p>The team delivered ahead of schedule.</p><p>• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space</p><ol><li>Numbered item with a non-breaking space after the marker</li><li>Second numbered item</li></ol><p>Residual office markup survives the paste</p><p>Signature line - Operations</p>"},"changes":[{"key":"spacing","count":6,"label":"unusual spaces"},{"key":"punctuation","count":7,"label":"typography artifacts"},{"key":"markdown","count":2,"label":"Markdown joins"}]}
{"id":"doc/word-doc-paste/workflow/auto/slack","detected":"Markdown","cleaned":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=Mso. Normal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line - Operations"},"output":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n*Summary*\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\nResidual office markup survives the paste\n\nSignature line - Operations"},"html":{"text":"<p>Quarterly Update - Draft</p><p>This paragraph was pasted from a word processor. It carries non-breaking spaces, &quot;smart quotes&quot;, an em dash - like this - and an ellipsis...</p><p>Heading Styled As Bold Below</p><p><strong>Summary</strong></p><p>The team delivered ahead of schedule.</p><p>• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space</p><ol><li>Numbered item with a non-breaking space after the marker</li><li>Second numbered item</li></ol><p>Residual office markup survives the paste</p><p>Signature line - Operations</p>"},"changes":[{"key":"spacing","count":6,"label":"unusual spaces"},{"key":"punctuation","count":7,"label":"typography artifacts"},{"key":"markdown","count":2,"label":"Markdown joins"}]}
{"id":"doc/word-doc-paste/workflow/auto/teams","detected":"Markdown","cleaned":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=Mso. Normal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line - Operations"},"output":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n*Summary*\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\nResidual office markup survives the paste\n\nSignature line - Operations"},"html":{"text":"<p>Quarterly Update - Draft</p><p>This paragraph was pasted from a word processor. It carries non-breaking spaces, &quot;smart quotes&quot;, an em dash - like this - and an ellipsis...</p><p>Heading Styled As Bold Below</p><p><strong>Summary</strong></p><p>The team delivered ahead of schedule.</p><p>• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space</p><ol><li>Numbered item with a non-breaking space after the marker</li><li>Second numbered item</li></ol><p>Residual office markup survives the paste</p><p>Signature line - Operations</p>"},"changes":[{"key":"spacing","count":6,"label":"unusual spaces"},{"key":"punctuation","count":7,"label":"typography artifacts"},{"key":"markdown","count":2,"label":"Markdown joins"}]}
{"id":"doc/word-doc-paste/workflow/auto/zendesk","detected":"Markdown","cleaned":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=Mso. Normal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line - Operations"},"output":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\nResidual office markup survives the paste\n\nSignature line - Operations"},"html":{"text":"<p>Quarterly Update - Draft</p><p>This paragraph was pasted from a word processor. It carries non-breaking spaces, &quot;smart quotes&quot;, an em dash - like this - and an ellipsis...</p><p>Heading Styled As Bold Below</p><p><strong>Summary</strong></p><p>The team delivered ahead of schedule.</p><p>• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space</p><ol><li>Numbered item with a non-breaking space after the marker</li><li>Second numbered item</li></ol><p>Residual office markup survives the paste</p><p>Signature line - Operations</p>"},"changes":[{"key":"spacing","count":6,"label":"unusual spaces"},{"key":"punctuation","count":7,"label":"typography artifacts"},{"key":"markdown","count":2,"label":"Markdown joins"}]}
{"id":"doc/word-doc-paste/workflow/auto/jira","detected":"Markdown","cleaned":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=Mso. Normal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line - Operations"},"output":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\nResidual office markup survives the paste\n\nSignature line - Operations"},"html":{"text":"<p>Quarterly Update - Draft</p><p>This paragraph was pasted from a word processor. It carries non-breaking spaces, &quot;smart quotes&quot;, an em dash - like this - and an ellipsis...</p><p>Heading Styled As Bold Below</p><p><strong>Summary</strong></p><p>The team delivered ahead of schedule.</p><p>• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space</p><ol><li>Numbered item with a non-breaking space after the marker</li><li>Second numbered item</li></ol><p>Residual office markup survives the paste</p><p>Signature line - Operations</p>"},"changes":[{"key":"spacing","count":6,"label":"unusual spaces"},{"key":"punctuation","count":7,"label":"typography artifacts"},{"key":"markdown","count":2,"label":"Markdown joins"}]}
{"id":"doc/word-doc-paste/workflow/auto/plain","detected":"Markdown","cleaned":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=Mso. Normal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line - Operations"},"output":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\nSummary\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\nResidual office markup survives the paste\n\nSignature line - Operations"},"html":{"text":"<p>Quarterly Update - Draft</p><p>This paragraph was pasted from a word processor. It carries non-breaking spaces, &quot;smart quotes&quot;, an em dash - like this - and an ellipsis...</p><p>Heading Styled As Bold Below</p><p><strong>Summary</strong></p><p>The team delivered ahead of schedule.</p><p>• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space</p><ol><li>Numbered item with a non-breaking space after the marker</li><li>Second numbered item</li></ol><p>Residual office markup survives the paste</p><p>Signature line - Operations</p>"},"changes":[{"key":"spacing","count":6,"label":"unusual spaces"},{"key":"punctuation","count":7,"label":"typography artifacts"},{"key":"markdown","count":2,"label":"Markdown joins"}]}
{"id":"doc/word-doc-paste/workflow/auto/imessage","detected":"Markdown","cleaned":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=Mso. Normal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line - Operations"},"output":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\nSummary\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\nResidual office markup survives the paste\n\nSignature line - Operations"},"html":{"text":"<p>Quarterly Update - Draft</p><p>This paragraph was pasted from a word processor. It carries non-breaking spaces, &quot;smart quotes&quot;, an em dash - like this - and an ellipsis...</p><p>Heading Styled As Bold Below</p><p><strong>Summary</strong></p><p>The team delivered ahead of schedule.</p><p>• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space</p><ol><li>Numbered item with a non-breaking space after the marker</li><li>Second numbered item</li></ol><p>Residual office markup survives the paste</p><p>Signature line - Operations</p>"},"changes":[{"key":"spacing","count":6,"label":"unusual spaces"},{"key":"punctuation","count":7,"label":"typography artifacts"},{"key":"markdown","count":2,"label":"Markdown joins"}]}
{"id":"doc/word-doc-paste/workflow/auto/signal","detected":"Markdown","cleaned":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=Mso. Normal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line - Operations"},"output":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\nSummary\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\nResidual office markup survives the paste\n\nSignature line - Operations"},"html":{"text":"<p>Quarterly Update - Draft</p><p>This paragraph was pasted from a word processor. It carries non-breaking spaces, &quot;smart quotes&quot;, an em dash - like this - and an ellipsis...</p><p>Heading Styled As Bold Below</p><p><strong>Summary</strong></p><p>The team delivered ahead of schedule.</p><p>• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space</p><ol><li>Numbered item with a non-breaking space after the marker</li><li>Second numbered item</li></ol><p>Residual office markup survives the paste</p><p>Signature line - Operations</p>"},"changes":[{"key":"spacing","count":6,"label":"unusual spaces"},{"key":"punctuation","count":7,"label":"typography artifacts"},{"key":"markdown","count":2,"label":"Markdown joins"}]}
{"id":"doc/word-doc-paste/workflow/auto/telegram","detected":"Markdown","cleaned":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=Mso. Normal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line - Operations"},"output":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\nSummary\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\nResidual office markup survives the paste\n\nSignature line - Operations"},"html":{"text":"<p>Quarterly Update - Draft</p><p>This paragraph was pasted from a word processor. It carries non-breaking spaces, &quot;smart quotes&quot;, an em dash - like this - and an ellipsis...</p><p>Heading Styled As Bold Below</p><p><strong>Summary</strong></p><p>The team delivered ahead of schedule.</p><p>• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space</p><ol><li>Numbered item with a non-breaking space after the marker</li><li>Second numbered item</li></ol><p>Residual office markup survives the paste</p><p>Signature line - Operations</p>"},"changes":[{"key":"spacing","count":6,"label":"unusual spaces"},{"key":"punctuation","count":7,"label":"typography artifacts"},{"key":"markdown","count":2,"label":"Markdown joins"}]}
{"id":"doc/word-doc-paste/workflow/auto/gmail","detected":"Markdown","cleaned":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=Mso. Normal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line - Operations"},"output":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\nSummary\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\nResidual office markup survives the paste\n\nSignature line - Operations"},"html":{"text":"<p>Quarterly Update - Draft</p><p>This paragraph was pasted from a word processor. It carries non-breaking spaces, &quot;smart quotes&quot;, an em dash - like this - and an ellipsis...</p><p>Heading Styled As Bold Below</p><p><strong>Summary</strong></p><p>The team delivered ahead of schedule.</p><p>• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space</p><ol><li>Numbered item with a non-breaking space after the marker</li><li>Second numbered item</li></ol><p>Residual office markup survives the paste</p><p>Signature line - Operations</p>"},"changes":[{"key":"spacing","count":6,"label":"unusual spaces"},{"key":"punctuation","count":7,"label":"typography artifacts"},{"key":"markdown","count":2,"label":"Markdown joins"}]}
{"id":"doc/word-doc-paste/workflow/auto/outlook","detected":"Markdown","cleaned":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=Mso. Normal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line - Operations"},"output":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\nSummary\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\nResidual office markup survives the paste\n\nSignature line - Operations"},"html":{"text":"<p>Quarterly Update - Draft</p><p>This paragraph was pasted from a word processor. It carries non-breaking spaces, &quot;smart quotes&quot;, an em dash - like this - and an ellipsis...</p><p>Heading Styled As Bold Below</p><p><strong>Summary</strong></p><p>The team delivered ahead of schedule.</p><p>• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space</p><ol><li>Numbered item with a non-breaking space after the marker</li><li>Second numbered item</li></ol><p>Residual office markup survives the paste</p><p>Signature line - Operations</p>"},"changes":[{"key":"spacing","count":6,"label":"unusual spaces"},{"key":"punctuation","count":7,"label":"typography artifacts"},{"key":"markdown","count":2,"label":"Markdown joins"}]}
{"id":"doc/word-doc-paste/workflow/auto/shortwave","detected":"Markdown","cleaned":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=Mso. Normal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line - Operations"},"output":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\nSummary\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\nResidual office markup survives the paste\n\nSignature line - Operations"},"html":{"text":"<p>Quarterly Update - Draft</p><p>This paragraph was pasted from a word processor. It carries non-breaking spaces, &quot;smart quotes&quot;, an em dash - like this - and an ellipsis...</p><p>Heading Styled As Bold Below</p><p><strong>Summary</strong></p><p>The team delivered ahead of schedule.</p><p>• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space</p><ol><li>Numbered item with a non-breaking space after the marker</li><li>Second numbered item</li></ol><p>Residual office markup survives the paste</p><p>Signature line - Operations</p>"},"changes":[{"key":"spacing","count":6,"label":"unusual spaces"},{"key":"punctuation","count":7,"label":"typography artifacts"},{"key":"markdown","count":2,"label":"Markdown joins"}]}
{"id":"doc/word-doc-paste/workflow/auto/notion","detected":"Markdown","cleaned":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=Mso. Normal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line - Operations"},"output":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\nSummary\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\nResidual office markup survives the paste\n\nSignature line - Operations"},"html":{"text":"<p>Quarterly Update - Draft</p><p>This paragraph was pasted from a word processor. It carries non-breaking spaces, &quot;smart quotes&quot;, an em dash - like this - and an ellipsis...</p><p>Heading Styled As Bold Below</p><p><strong>Summary</strong></p><p>The team delivered ahead of schedule.</p><p>• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space</p><ol><li>Numbered item with a non-breaking space after the marker</li><li>Second numbered item</li></ol><p>Residual office markup survives the paste</p><p>Signature line - Operations</p>"},"changes":[{"key":"spacing","count":6,"label":"unusual spaces"},{"key":"punctuation","count":7,"label":"typography artifacts"},{"key":"markdown","count":2,"label":"Markdown joins"}]}
{"id":"doc/word-doc-paste/workflow/auto/confluence","detected":"Markdown","cleaned":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=Mso. Normal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line - Operations"},"output":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\nSummary\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\nResidual office markup survives the paste\n\nSignature line - Operations"},"html":{"text":"<p>Quarterly Update - Draft</p><p>This paragraph was pasted from a word processor. It carries non-breaking spaces, &quot;smart quotes&quot;, an em dash - like this - and an ellipsis...</p><p>Heading Styled As Bold Below</p><p><strong>Summary</strong></p><p>The team delivered ahead of schedule.</p><p>• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space</p><ol><li>Numbered item with a non-breaking space after the marker</li><li>Second numbered item</li></ol><p>Residual office markup survives the paste</p><p>Signature line - Operations</p>"},"changes":[{"key":"spacing","count":6,"label":"unusual spaces"},{"key":"punctuation","count":7,"label":"typography artifacts"},{"key":"markdown","count":2,"label":"Markdown joins"}]}
{"id":"doc/word-doc-paste/workflow/auto/calendar","detected":"Markdown","cleaned":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=Mso. Normal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line - Operations"},"output":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\nSummary\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\nResidual office markup survives the paste\n\nSignature line - Operations"},"html":{"text":"<p>Quarterly Update - Draft</p><p>This paragraph was pasted from a word processor. It carries non-breaking spaces, &quot;smart quotes&quot;, an em dash - like this - and an ellipsis...</p><p>Heading Styled As Bold Below</p><p><strong>Summary</strong></p><p>The team delivered ahead of schedule.</p><p>• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space</p><ol><li>Numbered item with a non-breaking space after the marker</li><li>Second numbered item</li></ol><p>Residual office markup survives the paste</p><p>Signature line - Operations</p>"},"changes":[{"key":"spacing","count":6,"label":"unusual spaces"},{"key":"punctuation","count":7,"label":"typography artifacts"},{"key":"markdown","count":2,"label":"Markdown joins"}]}
{"id":"doc/word-doc-paste/workflow/auto/word","detected":"Markdown","cleaned":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=Mso. Normal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line - Operations"},"output":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\nSummary\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\nResidual office markup survives the paste\n\nSignature line - Operations"},"html":{"text":"<p>Quarterly Update - Draft</p><p>This paragraph was pasted from a word processor. It carries non-breaking spaces, &quot;smart quotes&quot;, an em dash - like this - and an ellipsis...</p><p>Heading Styled As Bold Below</p><p><strong>Summary</strong></p><p>The team delivered ahead of schedule.</p><p>• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space</p><ol><li>Numbered item with a non-breaking space after the marker</li><li>Second numbered item</li></ol><p>Residual office markup survives the paste</p><p>Signature line - Operations</p>"},"changes":[{"key":"spacing","count":6,"label":"unusual spaces"},{"key":"punctuation","count":7,"label":"typography artifacts"},{"key":"markdown","count":2,"label":"Markdown joins"}]}
{"id":"doc/word-doc-paste/workflow/auto/google-docs","detected":"Markdown","cleaned":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=Mso. Normal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line - Operations"},"output":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\nSummary\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\nResidual office markup survives the paste\n\nSignature line - Operations"},"html":{"text":"<p>Quarterly Update - Draft</p><p>This paragraph was pasted from a word processor. It carries non-breaking spaces, &quot;smart quotes&quot;, an em dash - like this - and an ellipsis...</p><p>Heading Styled As Bold Below</p><p><strong>Summary</strong></p><p>The team delivered ahead of schedule.</p><p>• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space</p><ol><li>Numbered item with a non-breaking space after the marker</li><li>Second numbered item</li></ol><p>Residual office markup survives the paste</p><p>Signature line - Operations</p>"},"changes":[{"key":"spacing","count":6,"label":"unusual spaces"},{"key":"punctuation","count":7,"label":"typography artifacts"},{"key":"markdown","count":2,"label":"Markdown joins"}]}
{"id":"doc/word-doc-paste/workflow/auto/markdown","detected":"Markdown","cleaned":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=Mso. Normal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line - Operations"},"output":{"text":"Quarterly Update - Draft\n\nThis paragraph was pasted from a word processor. It carries non-breaking spaces, \"smart quotes\", an em dash - like this - and an ellipsis...\n\nHeading Styled As Bold Below\n\n**Summary**\n\nThe team delivered ahead of schedule.\n\n• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space\n\n1. Numbered item with a non-breaking space after the marker\n2. Second numbered item\n\n<p class=Mso. Normal><span style=font-family:Calibri>Residual office markup survives the paste</span></p>\n\nSignature line - Operations"},"html":{"text":"<p>Quarterly Update - Draft</p><p>This paragraph was pasted from a word processor. It carries non-breaking spaces, &quot;smart quotes&quot;, an em dash - like this - and an ellipsis...</p><p>Heading Styled As Bold Below</p><p><strong>Summary</strong></p><p>The team delivered ahead of schedule.</p><p>• Bullet pasted as a literal bullet character\n• Second literal bullet with trailing space</p><ol><li>Numbered item with a non-breaking space after the marker</li><li>Second numbered item</li></ol><p>Residual office markup survives the paste</p><p>Signature line - Operations</p>"},"changes":[{"key":"spacing","count":6,"label":"unusual spaces"},{"key":"punctuation","count":7,"label":"typography artifacts"},{"key":"markdown","count":2,"label":"Markdown joins"}]}
{"id":"doc/word-doc-paste/workflow/markdown/whatsapp","detected":"Markdown","fnv":"30af5a0d","len":1892}
{"id":"doc/word-doc-paste/workflow/markdown/google-chat","detected":"Markdown","fnv":"30af5a0d","len":1892}
{"id":"doc/word-doc-paste/workflow/markdown/discord","detected":"Markdown","fnv":"f70d2c8d","len":1894}
{"id":"doc/word-doc-paste/workflow/markdown/slack","detected":"Markdown","fnv":"30af5a0d","len":1892}
{"id":"doc/word-doc-paste/workflow/markdown/teams","detected":"Markdown","fnv":"30af5a0d","len":1892}
{"id":"doc/word-doc-paste/workflow/markdown/zendesk","detected":"Markdown","fnv":"f70d2c8d","len":1894}
{"id":"doc/word-doc-paste/workflow/markdown/jira","detected":"Markdown","fnv":"f70d2c8d","len":1894}
{"id":"doc/word-doc-paste/workflow/markdown/plain","detected":"Markdown","fnv":"d5db7bcd","len":1890}
{"id":"doc/word-doc-paste/workflow/markdown/imessage","detected":"Markdown","fnv":"d5db7bcd","len":1890}
{"id":"doc/word-doc-paste/workflow/markdown/signal","detected":"Markdown","fnv":"d5db7bcd","len":1890}
{"id":"doc/word-doc-paste/workflow/markdown/telegram","detected":"Markdown","fnv":"d5db7bcd","len":1890}
{"id":"doc/word-doc-paste/workflow/markdown/gmail","detected":"Markdown","fnv":"d5db7bcd","len":1890}
{"id":"doc/word-doc-paste/workflow/markdown/outlook","detected":"Markdown","fnv":"d5db7bcd","len":1890}
{"id":"doc/word-doc-paste/workflow/markdown/shortwave","detected":"Markdown","fnv":"d5db7bcd","len":1890}
{"id":"doc/word-doc-paste/workflow/markdown/notion","detected":"Markdown","fnv":"d5db7bcd","len":1890}
{"id":"doc/word-doc-paste/workflow/markdown/confluence","detected":"Markdown","fnv":"d5db7bcd","len":1890}
{"id":"doc/word-doc-paste/workflow/markdown/calendar","detected":"Markdown","fnv":"d5db7bcd","len":1890}
{"id":"doc/word-doc-paste/workflow/markdown/word","detected":"Markdown","fnv":"d5db7bcd","len":1890}
{"id":"doc/word-doc-paste/workflow/markdown/google-docs","detected":"Markdown","fnv":"d5db7bcd","len":1890}
{"id":"doc/word-doc-paste/workflow/markdown/markdown","detected":"Markdown","fnv":"a0ca69ca","len":1958}
{"id":"doc/word-doc-paste/workflow/plain/whatsapp","detected":"Markdown","fnv":"601eda6b","len":1953}
{"id":"doc/word-doc-paste/workflow/plain/google-chat","detected":"Markdown","fnv":"601eda6b","len":1953}
{"id":"doc/word-doc-paste/workflow/plain/discord","detected":"Markdown","fnv":"601eda6b","len":1953}
{"id":"doc/word-doc-paste/workflow/plain/slack","detected":"Markdown","fnv":"601eda6b","len":1953}
{"id":"doc/word-doc-paste/workflow/plain/teams","detected":"Markdown","fnv":"601eda6b","len":1953}
{"id":"doc/word-doc-paste/workflow/plain/zendesk","detected":"Markdown","fnv":"601eda6b","len":1953}
{"id":"doc/word-doc-paste/workflow/plain/jira","detected":"Markdown","fnv":"601eda6b","len":1953}
{"id":"doc/word-doc-paste/workflow/plain/plain","detected":"Markdown","fnv":"601eda6b","len":1953}
{"id":"doc/word-doc-paste/workflow/plain/imessage","detected":"Markdown","fnv":"601eda6b","len":1953}
{"id":"doc/word-doc-paste/workflow/plain/signal","detected":"Markdown","fnv":"601eda6b","len":1953}
{"id":"doc/word-doc-paste/workflow/plain/telegram","detected":"Markdown","fnv":"601eda6b","len":1953}
{"id":"doc/word-doc-paste/workflow/plain/gmail","detected":"Markdown","fnv":"601eda6b","len":1953}
{"id":"doc/word-doc-paste/workflow/plain/outlook","detected":"Markdown","fnv":"601eda6b","len":1953}
{"id":"doc/word-doc-paste/workflow/plain/shortwave","detected":"Markdown","fnv":"601eda6b","len":1953}
{"id":"doc/word-doc-paste/workflow/plain/notion","detected":"Markdown","fnv":"601eda6b","len":1953}
{"id":"doc/word-doc-paste/workflow/plain/confluence","detected":"Markdown","fnv":"601eda6b","len":1953}
{"id":"doc/word-doc-paste/workflow/plain/calendar","detected":"Markdown","fnv":"601eda6b","len":1953}
{"id":"doc/word-doc-paste/workflow/plain/word","detected":"Markdown","fnv":"601eda6b","len":1953}
{"id":"doc/word-doc-paste/workflow/plain/google-docs","detected":"Markdown","fnv":"601eda6b","len":1953}
{"id":"doc/word-doc-paste/workflow/plain/markdown","detected":"Markdown","fnv":"601eda6b","len":1953}
{"id":"formatter/detect/python","val":"python"}
{"id":"formatter/detect/typescript","val":"typescript"}
{"id":"formatter/detect/javascript","val":"javascript"}
{"id":"formatter/detect/swift","val":"swift"}
{"id":"formatter/detect/mjs","val":"javascript"}
{"id":"formatter/detect/py3","val":"python"}
{"id":"formatter/detect/markdown","val":null}
{"id":"formatter/detect/dockerfile","val":null}
{"id":"formatter/detect/no-extension","val":null}
{"id":"formatter/detect/unknown","val":null}
{"id":"formatter/case/python-tabs-trailing","language":"python","changed":true,"text":"def run(x):\n    if x:\n        return x\n\n    return None\n","secondChanged":false}
{"id":"formatter/case/typescript-two-space","language":"typescript","changed":true,"text":"  export const a = 1;\nconst b = [1,\t2];\n","secondChanged":false}
{"id":"formatter/case/javascript-blank-collapse","language":"javascript","changed":true,"text":"const a = 1;\n\nconst b = 2;\n","secondChanged":false}
{"id":"formatter/case/python-docstring-verbatim","language":"python","changed":true,"text":"def run():\n\t\"\"\"\n\tDocstring   keeps\n\n\n\n\ttrailing tabs \t\n\t\"\"\"\n    x = 1\n","secondChanged":false}
{"id":"formatter/case/javascript-template-literal","language":"javascript","changed":false,"text":"const q = `\n   kept   ${x}\n\n\n`;\nconst after = 1;\n","secondChanged":false}
{"id":"formatter/case/swift-multiline-string","language":"swift","changed":false,"text":"\tlet t = \"\"\"\n\t  keep me   \n\n\n\t\"\"\";\n","secondChanged":false}
{"id":"formatter/case/crlf-unified","language":"python","changed":true,"text":"a = 1\nb = 2\n","secondChanged":false}
{"id":"formatter/case/whitespace-only-untouched","language":"swift","changed":false,"text":"   \n\t\n","secondChanged":false}
{"id":"formatter/case/empty-input","language":"javascript","changed":false,"text":"","secondChanged":false}
{"id":"formatter/case/undetected-passes-through","language":null,"changed":false,"text":"# Heading   \n\n\nbody text\n","secondChanged":false}
{"id":"corpus/end","rowsBefore":3243}
