From f6e21c6110f055087c9176d99dbb3fba0a0ae389 Mon Sep 17 00:00:00 2001 From: Silberengel Date: Wed, 4 Mar 2026 13:38:15 +0100 Subject: [PATCH] fix test report rendering --- generate-test-report.d.ts | 2 + generate-test-report.d.ts.map | 1 + generate-test-report.js | 605 +- generate-test-report.js.map | 1 + generate-test-report.ts | 15 +- package.json | 3 +- src/utils/report-generator.ts | 4 +- test-report.html | 13408 +++++++++++++++++++++----------- tsconfig.json | 3 +- 9 files changed, 8824 insertions(+), 5218 deletions(-) create mode 100644 generate-test-report.d.ts create mode 100644 generate-test-report.d.ts.map create mode 100644 generate-test-report.js.map diff --git a/generate-test-report.d.ts b/generate-test-report.d.ts new file mode 100644 index 0000000..58697fe --- /dev/null +++ b/generate-test-report.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=generate-test-report.d.ts.map \ No newline at end of file diff --git a/generate-test-report.d.ts.map b/generate-test-report.d.ts.map new file mode 100644 index 0000000..11b2fa5 --- /dev/null +++ b/generate-test-report.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"generate-test-report.d.ts","sourceRoot":"","sources":["generate-test-report.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/generate-test-report.js b/generate-test-report.js index 088142a..c8486d2 100644 --- a/generate-test-report.js +++ b/generate-test-report.js @@ -34,25 +34,40 @@ var __importStar = (this && this.__importStar) || (function () { })(); Object.defineProperty(exports, "__esModule", { value: true }); const parser_1 = require("./src/parser"); +const report_generator_1 = require("./src/utils/report-generator"); const fs = __importStar(require("fs")); const path = __importStar(require("path")); +/** + * Standalone script to generate HTML test report + * Run with: npm run test:report + */ async function main() { + console.log('📝 Generating test report...\n'); + // Initialize parser const parser = new parser_1.Parser({ linkBaseURL: 'https://example.com', wikilinkUrl: '/events?d={dtag}', hashtagUrl: '/notes?t={topic}', }); - console.log('Reading test documents...'); // Read test documents - const markdownContent = fs.readFileSync(path.join(__dirname, 'markdown_testdoc.md'), 'utf-8'); - const asciidocContent = fs.readFileSync(path.join(__dirname, 'asciidoc_testdoc.adoc'), 'utf-8'); - console.log('Parsing markdown document...'); + const markdownPath = path.join(__dirname, 'markdown_testdoc.md'); + const asciidocPath = path.join(__dirname, 'asciidoc_testdoc.adoc'); + if (!fs.existsSync(markdownPath)) { + console.error(`❌ Error: ${markdownPath} not found`); + process.exit(1); + } + if (!fs.existsSync(asciidocPath)) { + console.error(`❌ Error: ${asciidocPath} not found`); + process.exit(1); + } + const markdownContent = fs.readFileSync(markdownPath, 'utf-8'); + const asciidocContent = fs.readFileSync(asciidocPath, 'utf-8'); + console.log('📄 Parsing markdown document...'); const markdownResult = await parser.process(markdownContent); - console.log('Parsing asciidoc document...'); + console.log('📄 Parsing asciidoc document...'); const asciidocResult = await parser.process(asciidocContent); - console.log('Generating HTML report...'); - // Generate HTML report - const htmlReport = generateHTMLReport({ + console.log('🎨 Generating HTML report...'); + const htmlReport = (0, report_generator_1.generateHTMLReport)({ markdown: { original: markdownContent, result: markdownResult, @@ -62,581 +77,15 @@ async function main() { result: asciidocResult, }, }); - // Write HTML report to file (force fresh write) + // Write HTML report to file const reportPath = path.join(__dirname, 'test-report.html'); - // Delete old report if it exists to ensure fresh generation - if (fs.existsSync(reportPath)) { - fs.unlinkSync(reportPath); - } fs.writeFileSync(reportPath, htmlReport, 'utf-8'); - const reportUrl = `file://${reportPath}`; - console.log(`\n✅ Test report generated successfully!`); - console.log(` File: ${reportPath}`); - console.log(` Size: ${(htmlReport.length / 1024).toFixed(2)} KB`); - console.log(` Timestamp: ${new Date().toISOString()}`); + console.log(`\n✅ Test report generated: ${reportPath}`); console.log(` Open this file in your browser to view the results.\n`); } -function generateHTMLReport(data) { - const { markdown, asciidoc } = data; - return ` - - - - - GC Parser Test Report - - - -
-

GC Parser Test Report

-

Generated: ${new Date().toLocaleString()}

- - -
-

Markdown Document Test ✓ Parsed

- -
- - - - -
- -
-
-
-
${markdown.result.nostrLinks.length}
-
Nostr Links
-
-
-
${markdown.result.wikilinks.length}
-
Wikilinks
-
-
-
${markdown.result.hashtags.length}
-
Hashtags
-
-
-
${markdown.result.links.length}
-
Links
-
-
-
${markdown.result.media.length}
-
Media URLs
-
-
-
${markdown.result.hasLaTeX ? 'Yes' : 'No'}
-
Has LaTeX
-
-
-
${markdown.result.hasMusicalNotation ? 'Yes' : 'No'}
-
Has Music
-
-
- -

Frontmatter

- ${markdown.result.frontmatter ? ` - - ` : '

No frontmatter found

'} -
- -
-

Original Markdown Content

-
-
${escapeHtml(markdown.original)}
-
-
- -
-

Rendered HTML Output

-
- ${markdown.result.content} -
-
- View Raw HTML -
-
${escapeHtml(markdown.result.content)}
-
-
-
- -
-

Extracted Metadata

- - ${markdown.result.nostrLinks.length > 0 ? ` -

Nostr Links (${markdown.result.nostrLinks.length})

- ${markdown.result.nostrLinks.map((link) => ` -
- ${escapeHtml(link.type)}: ${escapeHtml(link.bech32)} - ${link.text ? ` - ${escapeHtml(link.text)}` : ''} -
- `).join('')} - ` : ''} - - ${markdown.result.wikilinks.length > 0 ? ` -

Wikilinks (${markdown.result.wikilinks.length})

- ${markdown.result.wikilinks.map((wl) => ` -
- ${escapeHtml(wl.original)} → dtag: ${escapeHtml(wl.dtag)} - ${wl.display ? ` (display: ${escapeHtml(wl.display)})` : ''} -
- `).join('')} - ` : ''} - - ${markdown.result.hashtags.length > 0 ? ` -

Hashtags (${markdown.result.hashtags.length})

- ${markdown.result.hashtags.map((tag) => ` -
- #${escapeHtml(tag)} -
- `).join('')} - ` : ''} - - ${markdown.result.links.length > 0 ? ` -

Links (${markdown.result.links.length})

- ${markdown.result.links.map((link) => ` -
- ${escapeHtml(link.text || link.url)} - ${link.isExternal ? 'External' : ''} -
- `).join('')} - ` : ''} - - ${markdown.result.media.length > 0 ? ` -

Media URLs (${markdown.result.media.length})

- ${markdown.result.media.map((url) => ` - - `).join('')} - ` : ''} - - ${markdown.result.tableOfContents ? ` -

Table of Contents

-
- ${markdown.result.tableOfContents} -
- ` : ''} -
-
- - -
-

AsciiDoc Document Test ✓ Parsed

- -
- - - - -
- -
-
-
-
${asciidoc.result.nostrLinks.length}
-
Nostr Links
-
-
-
${asciidoc.result.wikilinks.length}
-
Wikilinks
-
-
-
${asciidoc.result.hashtags.length}
-
Hashtags
-
-
-
${asciidoc.result.links.length}
-
Links
-
-
-
${asciidoc.result.media.length}
-
Media URLs
-
-
-
${asciidoc.result.hasLaTeX ? 'Yes' : 'No'}
-
Has LaTeX
-
-
-
${asciidoc.result.hasMusicalNotation ? 'Yes' : 'No'}
-
Has Music
-
-
- -

Frontmatter

- ${asciidoc.result.frontmatter ? ` - - ` : '

No frontmatter found

'} -
- -
-

Original AsciiDoc Content

-
-
${escapeHtml(asciidoc.original)}
-
-
- -
-

Rendered HTML Output

-
- ${asciidoc.result.content} -
-
- View Raw HTML -
-
${escapeHtml(asciidoc.result.content)}
-
-
-
- -
-

Extracted Metadata

- - ${asciidoc.result.nostrLinks.length > 0 ? ` -

Nostr Links (${asciidoc.result.nostrLinks.length})

- ${asciidoc.result.nostrLinks.map((link) => ` -
- ${escapeHtml(link.type)}: ${escapeHtml(link.bech32)} - ${link.text ? ` - ${escapeHtml(link.text)}` : ''} -
- `).join('')} - ` : ''} - - ${asciidoc.result.wikilinks.length > 0 ? ` -

Wikilinks (${asciidoc.result.wikilinks.length})

- ${asciidoc.result.wikilinks.map((wl) => ` -
- ${escapeHtml(wl.original)} → dtag: ${escapeHtml(wl.dtag)} - ${wl.display ? ` (display: ${escapeHtml(wl.display)})` : ''} -
- `).join('')} - ` : ''} - - ${asciidoc.result.hashtags.length > 0 ? ` -

Hashtags (${asciidoc.result.hashtags.length})

- ${asciidoc.result.hashtags.map((tag) => ` -
- #${escapeHtml(tag)} -
- `).join('')} - ` : ''} - - ${asciidoc.result.links.length > 0 ? ` -

Links (${asciidoc.result.links.length})

- ${asciidoc.result.links.map((link) => ` -
- ${escapeHtml(link.text || link.url)} - ${link.isExternal ? 'External' : ''} -
- `).join('')} - ` : ''} - - ${asciidoc.result.media.length > 0 ? ` -

Media URLs (${asciidoc.result.media.length})

- ${asciidoc.result.media.map((url) => ` - - `).join('')} - ` : ''} - - ${asciidoc.result.tableOfContents ? ` -

Table of Contents

-
- ${asciidoc.result.tableOfContents} -
- ` : ''} -
-
-
- - - -`; -} -function escapeHtml(text) { - const map = { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - "'": ''', - }; - return text.replace(/[&<>"']/g, (m) => map[m]); -} // Run the script main().catch((error) => { - console.error('Error generating test report:', error); + console.error('❌ Error generating test report:', error); process.exit(1); }); +//# sourceMappingURL=generate-test-report.js.map \ No newline at end of file diff --git a/generate-test-report.js.map b/generate-test-report.js.map new file mode 100644 index 0000000..48c1a52 --- /dev/null +++ b/generate-test-report.js.map @@ -0,0 +1 @@ +{"version":3,"file":"generate-test-report.js","sourceRoot":"","sources":["generate-test-report.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAsC;AACtC,mEAA8E;AAC9E,uCAAyB;AACzB,2CAA6B;AAE7B;;;GAGG;AAEH,KAAK,UAAU,IAAI;IACjB,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAE9C,oBAAoB;IACpB,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC;QACxB,WAAW,EAAE,qBAAqB;QAClC,WAAW,EAAE,kBAAkB;QAC/B,UAAU,EAAE,kBAAkB;KAC/B,CAAC,CAAC;IAEH,sBAAsB;IACtB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;IAEnE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,KAAK,CAAC,YAAY,YAAY,YAAY,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,KAAK,CAAC,YAAY,YAAY,YAAY,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,eAAe,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC/D,MAAM,eAAe,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAE/D,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAC/C,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAE7D,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAC/C,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAE7D,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,IAAA,qCAAkB,EAAC;QACpC,QAAQ,EAAE;YACR,QAAQ,EAAE,eAAe;YACzB,MAAM,EAAE,cAAc;SACvB;QACD,QAAQ,EAAE;YACR,QAAQ,EAAE,eAAe;YACzB,MAAM,EAAE,cAAc;SACvB;KACF,CAAC,CAAC;IAEH,4BAA4B;IAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;IAC5D,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAElD,OAAO,CAAC,GAAG,CAAC,8BAA8B,UAAU,EAAE,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;AAC1E,CAAC;AAED,iBAAiB;AACjB,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;IACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/generate-test-report.ts b/generate-test-report.ts index 69a810a..4c87316 100644 --- a/generate-test-report.ts +++ b/generate-test-report.ts @@ -1,5 +1,7 @@ +// Import from source files - this script should be run with ts-node or similar +// from the project root, not from dist/ import { Parser } from './src/parser'; -import { generateHTMLReport, ReportData } from './src/utils/report-generator'; +import { generateHTMLReport } from './src/utils/report-generator'; import * as fs from 'fs'; import * as path from 'path'; @@ -18,9 +20,10 @@ async function main() { hashtagUrl: '/notes?t={topic}', }); - // Read test documents - const markdownPath = path.join(__dirname, 'markdown_testdoc.md'); - const asciidocPath = path.join(__dirname, 'asciidoc_testdoc.adoc'); + // Read test documents from project root + const baseDir = __dirname.includes('dist') ? path.join(__dirname, '..') : __dirname; + const markdownPath = path.join(baseDir, 'markdown_testdoc.md'); + const asciidocPath = path.join(baseDir, 'asciidoc_testdoc.adoc'); if (!fs.existsSync(markdownPath)) { console.error(`❌ Error: ${markdownPath} not found`); @@ -53,8 +56,8 @@ async function main() { }, }); - // Write HTML report to file - const reportPath = path.join(__dirname, 'test-report.html'); + // Write HTML report to file (adjust path based on where script is run from) + const reportPath = path.join(baseDir, 'test-report.html'); fs.writeFileSync(reportPath, htmlReport, 'utf-8'); console.log(`\n✅ Test report generated: ${reportPath}`); diff --git a/package.json b/package.json index 443ae6e..9836f15 100644 --- a/package.json +++ b/package.json @@ -28,9 +28,10 @@ "devDependencies": { "@types/highlight.js": "^10.1.0", "@types/jest": "^29.5.11", - "@types/node": "^20.11.0", + "@types/node": "^20.19.35", "jest": "^29.7.0", "ts-jest": "^29.4.6", + "ts-node": "^10.9.2", "typescript": "^5.3.3" } } diff --git a/src/utils/report-generator.ts b/src/utils/report-generator.ts index 2a426ef..d057436 100644 --- a/src/utils/report-generator.ts +++ b/src/utils/report-generator.ts @@ -343,7 +343,7 @@ export function generateHTMLReport(data: ReportData): string { ${cleanHtmlContent(markdown.result.content)}
- View Raw HTML + View Raw HTML (Final Processed State)
${escapeHtml(markdown.result.content)}
@@ -479,7 +479,7 @@ export function generateHTMLReport(data: ReportData): string { ${cleanHtmlContent(asciidoc.result.content)}
- View Raw HTML + View Raw HTML (Final Processed State)
${escapeHtml(asciidoc.result.content)}
diff --git a/test-report.html b/test-report.html index 77466c8..ab83745 100644 --- a/test-report.html +++ b/test-report.html @@ -247,7 +247,7 @@

GC Parser Test Report

-

Generated: 4.3.2026, 13:19:47

+

Generated: 4.3.2026, 13:35:36

@@ -275,7 +275,7 @@
Hashtags
-
7
+
18
Links
@@ -283,11 +283,11 @@
Media URLs
-
No
+
Yes
Has LaTeX
-
No
+
Yes
Has Music
@@ -666,241 +666,365 @@ based upon a *

Rendered HTML Output

-

# Markdown Test Document - -## Bullet list +

Markdown Test Document

-This is a test unordered list with mixed bullets: +
+

Bullet list

+
+
+

This is a test unordered list with mixed bullets: * First item with a number 2. in it * Second item * Third item - Indented item - Indented item -* Fourth item - -Another unordered list: +* Fourth item

+
+
+

Another unordered list: - 1st item - 2nd item -- third item containing _italic_ text +- third item containing italic text - indented item - second indented item -- fourth item - -This is a test ordered list with indented items: +- fourth item

+
+
+

This is a test ordered list with indented items: 1. First item 2. Second item 3. Third item 1. Indented item 2. Indented item -4. Fourth item - -Ordered list where everything has the same number: +4. Fourth item

+
+
+

Ordered list where everything has the same number: 1. First item 1. Second item 1. Third item -1. Fourth item - -Ordered list that is wrongly numbered: +1. Fourth item

+
+
+

Ordered list that is wrongly numbered: 1. First item 8. Second item 3. Third item -5. Fourth item - -This is a mixed list with indented items: +5. Fourth item

+
+
+

This is a mixed list with indented items: 1. First item 2. Second item 3. Third item * Indented item * Indented item -4. Fourth item - -This is another mixed list with indented items: +4. Fourth item

+
+
+

This is another mixed list with indented items: - First item - Second item - Third item 1. Indented item 2. Indented item -- Fourth item - - -## Headers - -### Third-level header - -#### Fourth-level header - -##### Fifth-level header - -###### Sixth-level header - -## Media and Links - -### Nostr address - -This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l - -This is also plaintext: - -npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q - -These should be turned into links: - -link:nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l[naddr1qv...] - -link:nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z[npub1l5s...] - -link:nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj[nevent1q...] - -link:nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh[nprofile...] - -link:nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg[note1txy...] - -### Hashtag - -hashtag:testhashtag[#testhashtag] at the start of the line and hashtag:inlinehashtag[#inlinehashtag] in the middle - -### Wikilinks - -WIKILINK:nkbip-01|Specification and WIKILINK:mirepoix|mirepoix - -### URL - -https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html - -link:https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html[Welt Online link] - -this should render as plaintext: `http://www.example.com` - -this should be a hyperlink: www.example.com - -this shouild be a hyperlink to the http URL with the same address, so wss://theforest.nostr1.com should render like link:https://theforest.nostr1.com/[wss://theforest.nostr1.com] - -### Images - -Image: https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png - -image::https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png[test image,width=100%] - -### Media - -#### YouTube - -https://youtube.com/shorts/ZWfvChb-i0w - -[image::https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Youtube link with pic,width=100%]](https://youtube.com/shorts/ZWfvChb-i0w) - -#### Spotify - -MEDIA:spotify:episode:1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ - -[image::https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Spotify link with pic,width=100%]](MEDIA:spotify:episode:1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ) - -#### Audio - -MEDIA:audio:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3 - -[image::https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Audio link with pic,width=100%]](MEDIA:audio:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3) - -#### Video - -MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4 - -[image::https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Video link with pic,width=100%]](MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4) - -## Tables - -### Orderly - -| Syntax | Description | +- Fourth item

+
+
+
+ +
+ +
+
+

Nostr address

+
+

This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l

+
+
+

This is also plaintext:

+
+
+

npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q

+
+
+

These should be turned into links:

+
+ + + + + +
+
+

Hashtag

+
+

#testhashtag at the start of the line and #inlinehashtag in the middle

+
+
+ +
+

URL

+ + +
+

this should render as plaintext: http://www.example.com

+
+
+

this should be a hyperlink: www.example.com

+
+
+

this shouild be a hyperlink to the http URL with the same address, so wss://theforest.nostr1.com should render like " target="_blank" rel="noreferrer noopener" class="break-words inline-flex items-baseline gap-1"><a href="https://theforest.nostr1.com/">wss://theforest.nostr1.com</a> ( + https://theforest.nostr1.com +

+ )

+
+
+ + +
+
+
+

Tables

+
+
+

Orderly

+
+

| Syntax | Description | | ----------- | ----------- | | Header | Title | -| Paragraph | Text | - -### Unorderly - -| Syntax | Description | +| Paragraph | Text |

+
+
+
+

Unorderly

+
+

| Syntax | Description | | --- | ----------- | | Header | Title | -| Paragraph | Text | - -### With alignment - -| Syntax | Description | Test Text | +| Paragraph | Text |

+
+
+
+

With alignment

+
+

| Syntax | Description | Test Text | | :--- | :----: | ---: | -| Header | Title | Here's this | -| Paragraph | Text | And more | - -## Code blocks - -### json - -```json -{ - "id": "", - "pubkey": "", +| Header | Title | Here_s this | +| Paragraph | Text | And more |

+
+
+
+
+
+

Code blocks

+
+
+

json

+
+
+
{
+    "id": "<event_id>",
+    "pubkey": "<event_originator_pubkey>",
     "created_at": 1725087283,
     "kind": 30040,
     "tags": [
-        ["d", "aesop's-fables-by-aesop"],
-        ["title", "Aesop's Fables"],
+        ["d", "aesop_s-fables-by-aesop"],
+        ["title", "Aesop_s Fables"],
         ["author", "Aesop"],
     ],
-    "sig": ""
-}
-```
-
-### typescript
-
-```typescript
-/**
+    "sig": "<event_signature>"
+}
+
+
+
+
+

typescript

+
+
+
/**
  * Get Nostr identifier type
  */
-function getNostrType(id: string): 'npub' | 'nprofile' | 'nevent' | 'naddr' | 'note' | null {
-  if (id.startsWith('npub')) return 'npub';
-  if (id.startsWith('nprofile')) return 'nprofile';
-  if (id.startsWith('nevent')) return 'nevent';
-  if (id.startsWith('naddr')) return 'naddr';
-  if (id.startsWith('note')) return 'note';
+function getNostrType(id: string): _npub_ | _nprofile_ | _nevent_ | _naddr_ | _note_ | null {
+  if (id.startsWith(_npub_)) return _npub_;
+  if (id.startsWith(_nprofile_)) return _nprofile_;
+  if (id.startsWith(_nevent_)) return _nevent_;
+  if (id.startsWith(_naddr_)) return _naddr_;
+  if (id.startsWith(_note_)) return _note_;
   return null;
-}
-```
-
-### shell
-
-```shell
-
-mkdir new_directory
-cp source.txt destination.txt
-
-```
-
-### LaTeX
-
-```latex
-$
-M = 
+}
+
+
+
+
+

shell

+
+
+
mkdir new_directory
+cp source.txt destination.txt
+
+
+
+
+

LaTeX

+
+
+
$
+M =
 \begin{bmatrix}
-\frac{5}{6} & \frac{1}{6} & 0 \\[0.3em]
-\frac{5}{6} & 0 & \frac{1}{6} \\[0.3em]
-0 & \frac{5}{6} & \frac{1}{6}
+\frac{5}{6} & \frac{1}{6} & 0 \\[0.3em]
+\frac{5}{6} & 0 & \frac{1}{6} \\[0.3em]
+0 & \frac{5}{6} & \frac{1}{6}
 \end{bmatrix}
-$
-```
-
-```latex
-$
+$
+
+
+
+
+
$
 f(x)=
 \begin{cases}
-1/d_{ij} & \quad \text{when $d_{ij} \leq 160$}\\ 
-0 & \quad \text{otherwise}
+1/d_{ij} & \quad \text{when $d_{ij} \leq 160$}\\
+0 & \quad \text{otherwise}
 \end{cases}
-$
-```
-
-### ABC Notation
-
-```abc
-X:1
+$
+
+
+
+
+

ABC Notation

+
+
+
X:1
 T:Ohne Titel
 C:Aufgezeichnet 1784
 A:Seibis nahe Lichtenberg in Oberfranken
@@ -912,253 +1036,509 @@ dd d2 | ee e2 | fg ad | cB cA |\
 dd d2 | ee e2 | fg ad | ed/c/ d2 :|
 |:\
 fg ad | cB cA | fg ad | cB cA |\
-dd d2 | ee e2 | fg ad | ed/c/ d2 :|
-```
-
-## LateX
-
-### LaTex in inline-code
-
-`$[ x^n + y^n = z^n \]
+dd d2 | ee e2 | fg ad | ed/c/ d2 :|
+
+
+
+
+
+
+

LateX

+
+
+

LaTex in inline-code

+
+

$[ x^n + y^n = z^n \]$ and $[\sqrt{x^2+1}\]$ and $\color{blue}{X \sim Normal \; (\mu,\sigma^2)}$

+
+
+
+
+
+

LaTex outside of code

+
+
+

This is a latex code block \mathbb{N} = \{ a \in \mathbb{Z} : a > 0 \} and another that is an inline latex $\color{green}{X \sim Normal \; (\mu,\sigma^2)}$ and should be green

+
+
+
+
+

Footnotes

+
+
+

Here_s a simple footnote,[^1] and here_s a longer one.[^bignote]

+
+
+

[^1]: This is the first footnote.

+
+
+

[^bignote]: Here_s one with multiple paragraphs and code.

+
+
+
+ +
+

Formatting

+
+
+

Strikethrough

+
+

~~The world is flat.~~ We now know that the world is round. This should not be struck through.

+
+
+
+

Bold

+
+

This is bold text. So is this bold text.

+
+
+
+

Italic

+
+

This is italic text. So is this italic text.

+
+
+
+

Task List

+
+
    +
  • +

    ✓ Write the press release

    +
  • +
  • +

    ❏ Update the website

    +
  • +
  • +

    ❏ Contact the media

    +
  • +
+
+
+
+

Emoji shortcodes

+
+

Gone camping! :tent: Be back soon.

+
+
+

That is so funny! :joy:

+
+
+
+

Marking and highlighting text

+
+

I need to highlight these ==very important words==.

+
+
+
+

Subscript and Superscript

+
+

H2O

+
+
+

X2

+
+
+
+

Delimiter

+
+

based upon a -

+
+
+
+

based upon a *

+
+
+
+
+

Quotes

+
+
+
+

This is a single line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj

+
+
+
+
+
+
+

This is a multi line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj +This is a multi line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj +This is a multi line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj

+
+
+
+
+
+
- View Raw HTML + View Raw HTML (Final Processed State)
-
<p># Markdown Test Document
-
-## Bullet list
+            
<h1>Markdown Test Document</h1>
 
-This is a test unordered list with mixed bullets:
+<div class="sect1">
+<h2 id="bullet-list"><a class="anchor" href="#bullet-list"></a><a class="link" href="#bullet-list">Bullet list</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>This is a test unordered list with mixed bullets:
 * First item with a number 2. in it
 * Second item
 * Third item
     - Indented item
     - Indented item
-* Fourth item 
-
-Another unordered list:
+* Fourth item</p>
+</div>
+<div class="paragraph">
+<p>Another unordered list:
 - 1st item
 - 2nd item
-- third item containing _italic_ text
+- third item containing <em>italic</em> text
   - indented item
   - second indented item
-- fourth item
-
-This is a test ordered list with indented items:
+- fourth item</p>
+</div>
+<div class="paragraph">
+<p>This is a test ordered list with indented items:
 1. First item
 2. Second item
 3. Third item
     1. Indented item
     2. Indented item
-4. Fourth item
-
-Ordered list where everything has the same number:
+4. Fourth item</p>
+</div>
+<div class="paragraph">
+<p>Ordered list where everything has the same number:
 1. First item
 1. Second item
 1. Third item
-1. Fourth item 
-
-Ordered list that is wrongly numbered:
+1. Fourth item</p>
+</div>
+<div class="paragraph">
+<p>Ordered list that is wrongly numbered:
 1. First item
 8. Second item
 3. Third item
-5. Fourth item
-
-This is a mixed list with indented items:
+5. Fourth item</p>
+</div>
+<div class="paragraph">
+<p>This is a mixed list with indented items:
 1. First item
 2. Second item
 3. Third item
     * Indented item
     * Indented item
-4. Fourth item
-
-This is another mixed list with indented items:
+4. Fourth item</p>
+</div>
+<div class="paragraph">
+<p>This is another mixed list with indented items:
 - First item
 - Second item
 - Third item
     1. Indented item
     2. Indented item
-- Fourth item
-
-
-## Headers
-
-### Third-level header
-
-#### Fourth-level header
-
-##### Fifth-level header
-
-###### Sixth-level header
-
-## Media and Links
-
-### Nostr address
-
-This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l
-
-This is also plaintext:
-
-npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q
-
-These should be turned into links:
-
-link:nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l[naddr1qv...]
-
-link:nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z[npub1l5s...]
-
-link:nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj[nevent1q...]
-
-link:nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh[nprofile...]
-
-link:nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg[note1txy...]
-
-### Hashtag
-
-hashtag:testhashtag[#testhashtag] at the start of the line and hashtag:inlinehashtag[#inlinehashtag] in the middle
-
-### Wikilinks
-
-WIKILINK:nkbip-01|Specification and WIKILINK:mirepoix|mirepoix
-
-### URL
-
-https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html
-
-link:https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html[Welt Online link]
-
-this should render as plaintext: `http://www.example.com`
-
-this should be a hyperlink: www.example.com
-
-this shouild be a hyperlink to the http URL with the same address, so wss://theforest.nostr1.com should render like link:https://theforest.nostr1.com/[wss://theforest.nostr1.com]
-
-### Images
-
-Image: https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png
-
-image::https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png[test image,width=100%]
-
-### Media
-
-#### YouTube
-
-https://youtube.com/shorts/ZWfvChb-i0w
-
-[image::https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Youtube link with pic,width=100%]](https://youtube.com/shorts/ZWfvChb-i0w)
-
-#### Spotify
-
-MEDIA:spotify:episode:1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ
-
-[image::https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Spotify link with pic,width=100%]](MEDIA:spotify:episode:1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ)
-
-#### Audio
-
-MEDIA:audio:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3
-
-[image::https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Audio link with pic,width=100%]](MEDIA:audio:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3)
-
-#### Video
-
-MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4
-
-[image::https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Video link with pic,width=100%]](MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4)
-
-## Tables
-
-### Orderly
-
-| Syntax      | Description |
+- Fourth item</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="headers"><a class="anchor" href="#headers"></a><a class="link" href="#headers">Headers</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="third-level-header"><a class="anchor" href="#third-level-header"></a><a class="link" href="#third-level-header">Third-level header</a></h3>
+<div class="sect3">
+<h4 id="fourth-level-header"><a class="anchor" href="#fourth-level-header"></a><a class="link" href="#fourth-level-header">Fourth-level header</a></h4>
+<div class="sect4">
+<h5 id="fifth-level-header"><a class="anchor" href="#fifth-level-header"></a><a class="link" href="#fifth-level-header">Fifth-level header</a></h5>
+<div class="sect5">
+<h6 id="sixth-level-header"><a class="anchor" href="#sixth-level-header"></a><a class="link" href="#sixth-level-header">Sixth-level header</a></h6>
+
+</div>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="media-and-links"><a class="anchor" href="#media-and-links"></a><a class="link" href="#media-and-links">Media and Links</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="nostr-address"><a class="anchor" href="#nostr-address"></a><a class="link" href="#nostr-address">Nostr address</a></h3>
+<div class="paragraph">
+<p>This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l</p>
+</div>
+<div class="paragraph">
+<p>This is also plaintext:</p>
+</div>
+<div class="paragraph">
+<p>npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q</p>
+</div>
+<div class="paragraph">
+<p>These should be turned into links:</p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l">naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l</a></p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z">npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z</a></p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj">nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj</a></p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh">nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh</a></p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg">note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg</a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="hashtag"><a class="anchor" href="#hashtag"></a><a class="link" href="#hashtag">Hashtag</a></h3>
+<div class="paragraph">
+<p><a class="hashtag-link text-primary-600 dark:text-primary-500 hover:underline" data-topic="testhashtag" data-url="/notes?t=testhashtag" href="/notes?t=testhashtag">#testhashtag</a> at the start of the line and <a class="hashtag-link text-primary-600 dark:text-primary-500 hover:underline" data-topic="inlinehashtag" data-url="/notes?t=inlinehashtag" href="/notes?t=inlinehashtag">#inlinehashtag</a> in the middle</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="wikilinks"><a class="anchor" href="#wikilinks"></a><a class="link" href="#wikilinks">Wikilinks</a></h3>
+<div class="paragraph">
+<p><a class="wikilink text-primary-600 dark:text-primary-500 hover:underline" data-dtag="nkbip-01" data-url="/events?d=nkbip-01" href="/events?d=nkbip-01">Specification</a> and <a class="wikilink text-primary-600 dark:text-primary-500 hover:underline" data-dtag="mirepoix" data-url="/events?d=mirepoix" href="/events?d=mirepoix">mirepoix</a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="url"><a class="anchor" href="#url"></a><a class="link" href="#url">URL</a></h3>
+<div class="paragraph">
+<p><span class="opengraph-link-container" data-og-url="https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html">
+      <a href="https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span></p>
+</div>
+<div class="paragraph">
+<p><a href="<a href=&quot;https://<a href=&quot;https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html&amp;quot;>www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html</a>" rel="noreferrer noopener" class="break-words inline-flex items-baseline gap-1">Welt Online link <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a></p>
+</div>
+<div class=&quot;paragraph&quot;>
+<p>this should render as plaintext: <code>http://www.example.com</code></p>
+</div>
+<div class=&quot;paragraph&quot;>
+<p>this should be a hyperlink: www.example.com</p>
+</div>
+<div class=&quot;paragraph&quot;>
+<p>this shouild be a hyperlink to the http URL with the same address, so <a href=&quot;https://theforest.nostr1.com/&quot;>wss://theforest.nostr1.com</a> should render like " target="_blank" rel="noreferrer noopener" class="break-words inline-flex items-baseline gap-1">&lt;a href=&quot;https://theforest.nostr1.com/&quot;&gt;wss://theforest.nostr1.com&lt;/a&gt; <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>(<span class="opengraph-link-container" data-og-url="https://theforest.nostr1.com">
+      <a href="https://theforest.nostr1.com" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">https://theforest.nostr1.com <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span>)</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="images"><a class="anchor" href="#images"></a><a class="link" href="#images">Images</a></h3>
+<div class="paragraph">
+<p>Image: image::<a href="https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png" target="_blank" rel="noopener noreferrer">https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png</a>[width=100%]</p>
+</div>
+<div class="paragraph">
+<p><img src="<a href=&quot;https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png&quot; class=&quot;bare&quot;>https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png</a>" alt="test image" class="max-w-[400px] object-contain my-0" /></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="media"><a class="anchor" href="#media"></a><a class="link" href="#media">Media</a></h3>
+<div class="sect3">
+<h4 id="youtube"><a class="anchor" href="#youtube"></a><a class="link" href="#youtube">YouTube</a></h4>
+<div class="paragraph">
+<p><a href="https://youtube.com/shorts/ZWfvChb-i0w" target="_blank" rel="noopener noreferrer">https://youtube.com/shorts/ZWfvChb-i0w</a></p>
+</div>
+<div class="paragraph">
+<p>[<img src="<a href=&quot;https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&quot; class=&quot;bare&quot;>https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png</a>" alt="Youtube link with pic" class="max-w-[400px] object-contain my-0" />](<a href="https://youtube.com/shorts/ZWfvChb-i0w" class="bare" target="_blank" rel="noopener noreferrer">https://youtube.com/shorts/ZWfvChb-i0w</a>)</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="spotify"><a class="anchor" href="#spotify"></a><a class="link" href="#spotify">Spotify</a></h4>
+<div class="paragraph">
+<p><div class="media-embed spotify-embed" style="margin: 1rem 0;">
+      <iframe 
+        style="border-radius: 12px; width: 100%; max-width: 100%;" 
+        src="https://open.spotify.com/embed/episode/1GSZFA8vWltPyxYkArdRKx?utm_source=generator" 
+        width="100%" 
+        height="352" 
+        frameborder="0" 
+        allowfullscreen="" 
+        allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" 
+        loading="lazy">
+      </iframe>
+    </div></p>
+</div>
+<div class="paragraph">
+<p>[<img src="<a href=&quot;https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&quot; class=&quot;bare&quot;>https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png</a>" alt="Spotify link with pic" class="max-w-[400px] object-contain my-0" />](<div class="media-embed spotify-embed" style="margin: 1rem 0;">
+      <iframe 
+        style="border-radius: 12px; width: 100%; max-width: 100%;" 
+        src="https://open.spotify.com/embed/episode/1GSZFA8vWltPyxYkArdRKx?utm_source=generator" 
+        width="100%" 
+        height="352" 
+        frameborder="0" 
+        allowfullscreen="" 
+        allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" 
+        loading="lazy">
+      </iframe>
+    </div>)</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="audio"><a class="anchor" href="#audio"></a><a class="link" href="#audio">Audio</a></h4>
+<div class="paragraph">
+<p>MEDIA:audio:<a href="https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3" target="_blank" rel="noopener noreferrer">https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3</a></p>
+</div>
+<div class="paragraph">
+<p>[!<span class="chord" data-chord="Audio link with pic">[Audio link with pic]</span>(<a href="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png" class="bare" target="_blank" rel="noopener noreferrer">https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png</a>)](MEDIA:audio:<a href="https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3" target="_blank" rel="noopener noreferrer">https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3</a>)</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="video"><a class="anchor" href="#video"></a><a class="link" href="#video">Video</a></h4>
+<div class="paragraph">
+<p>MEDIA:video:<a href="https://v.nostr.build/MTjaYib4upQuf8zn.mp4" target="_blank" rel="noopener noreferrer">https://v.nostr.build/MTjaYib4upQuf8zn.mp4</a></p>
+</div>
+<div class="paragraph">
+<p>[<img src="<a href=&quot;https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&quot; class=&quot;bare&quot;>https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png</a>" alt="Video link with pic" class="max-w-[400px] object-contain my-0" />](MEDIA:video:<a href="https://v.nostr.build/MTjaYib4upQuf8zn.mp4" target="_blank" rel="noopener noreferrer">https://v.nostr.build/MTjaYib4upQuf8zn.mp4</a>)</p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="tables"><a class="anchor" href="#tables"></a><a class="link" href="#tables">Tables</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="orderly"><a class="anchor" href="#orderly"></a><a class="link" href="#orderly">Orderly</a></h3>
+<div class="paragraph">
+<p>| Syntax      | Description |
 | ----------- | ----------- |
 | Header      | Title       |
-| Paragraph   | Text        |
-
-### Unorderly
-
-| Syntax | Description |
+| Paragraph   | Text        |</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="unorderly"><a class="anchor" href="#unorderly"></a><a class="link" href="#unorderly">Unorderly</a></h3>
+<div class="paragraph">
+<p>| Syntax | Description |
 | --- | ----------- |
 | Header | Title |
-| Paragraph | Text |
-
-### With alignment
-
-| Syntax      | Description | Test Text     |
+| Paragraph | Text |</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="with-alignment"><a class="anchor" href="#with-alignment"></a><a class="link" href="#with-alignment">With alignment</a></h3>
+<div class="paragraph">
+<p>| Syntax      | Description | Test Text     |
 | :---        |    :----:   |          ---: |
-| Header      | Title       | Here's this   |
-| Paragraph   | Text        | And more      |
-
-## Code blocks
-
-### json
-
-```json
-{
-    "id": "<event_id>",
-    "pubkey": "<event_originator_pubkey>",
+| Header      | Title       | Here_s this   |
+| Paragraph   | Text        | And more      |</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="code-blocks"><a class="anchor" href="#code-blocks"></a><a class="link" href="#code-blocks">Code blocks</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="json"><a class="anchor" href="#json"></a><a class="link" href="#json">json</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>{
+    "id": "&lt;event_id&gt;",
+    "pubkey": "&lt;event_originator_pubkey&gt;",
     "created_at": 1725087283,
     "kind": 30040,
     "tags": [
-        ["d", "aesop's-fables-by-aesop"],
-        ["title", "Aesop's Fables"],
+        ["d", "aesop_s-fables-by-aesop"],
+        ["title", "Aesop_s Fables"],
         ["author", "Aesop"],
     ],
-    "sig": "<event_signature>"
-}
-```
-
-### typescript
-
-```typescript
-/**
+    "sig": "&lt;event_signature&gt;"
+}</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="typescript"><a class="anchor" href="#typescript"></a><a class="link" href="#typescript">typescript</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>/**
  * Get Nostr identifier type
  */
-function getNostrType(id: string): 'npub' | 'nprofile' | 'nevent' | 'naddr' | 'note' | null {
-  if (id.startsWith('npub')) return 'npub';
-  if (id.startsWith('nprofile')) return 'nprofile';
-  if (id.startsWith('nevent')) return 'nevent';
-  if (id.startsWith('naddr')) return 'naddr';
-  if (id.startsWith('note')) return 'note';
+function getNostrType(id: string): _npub_ | _nprofile_ | _nevent_ | _naddr_ | _note_ | null {
+  if (id.startsWith(_npub_)) return _npub_;
+  if (id.startsWith(_nprofile_)) return _nprofile_;
+  if (id.startsWith(_nevent_)) return _nevent_;
+  if (id.startsWith(_naddr_)) return _naddr_;
+  if (id.startsWith(_note_)) return _note_;
   return null;
-}
-```
-
-### shell
-
-```shell
-
-mkdir new_directory
-cp source.txt destination.txt
-
-```
-
-### LaTeX
-
-```latex
-$
-M = 
+}</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="shell"><a class="anchor" href="#shell"></a><a class="link" href="#shell">shell</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>mkdir new_directory
+cp source.txt destination.txt</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="latex"><a class="anchor" href="#latex"></a><a class="link" href="#latex">LaTeX</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>$
+M =
 \begin{bmatrix}
-\frac{5}{6} & \frac{1}{6} & 0 \\[0.3em]
-\frac{5}{6} & 0 & \frac{1}{6} \\[0.3em]
-0 & \frac{5}{6} & \frac{1}{6}
+\frac{5}{6} &amp; \frac{1}{6} &amp; 0 \\[0.3em]
+\frac{5}{6} &amp; 0 &amp; \frac{1}{6} \\[0.3em]
+0 &amp; \frac{5}{6} &amp; \frac{1}{6}
 \end{bmatrix}
-$
-```
-
-```latex
-$
+$</code></pre>
+</div>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre><code>$
 f(x)=
 \begin{cases}
-1/d_{ij} & \quad \text{when $d_{ij} \leq 160$}\\ 
-0 & \quad \text{otherwise}
+1/d_{ij} &amp; \quad \text{when $d_{ij} \leq 160$}\\
+0 &amp; \quad \text{otherwise}
 \end{cases}
-$
-```
-
-### ABC Notation
-
-```abc
-X:1
+$</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="abc-notation"><a class="anchor" href="#abc-notation"></a><a class="link" href="#abc-notation">ABC Notation</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>X:1
 T:Ohne Titel
 C:Aufgezeichnet 1784
 A:Seibis nahe Lichtenberg in Oberfranken
@@ -1170,2892 +1550,523 @@ dd d2 | ee e2 | fg ad | cB cA |\
 dd d2 | ee e2 | fg ad | ed/c/ d2 :|
 |:\
 fg ad | cB cA | fg ad | cB cA |\
-dd d2 | ee e2 | fg ad | ed/c/ d2 :|
-```
-
-## LateX
-
-### LaTex in inline-code
-
-`$[ x^n + y^n = z^n \]# Markdown Test Document
-
-## Bullet list
-
-This is a test unordered list with mixed bullets:
-* First item with a number 2. in it
-* Second item
-* Third item
-    - Indented item
-    - Indented item
-* Fourth item 
-
-Another unordered list:
-- 1st item
-- 2nd item
-- third item containing _italic_ text
-  - indented item
-  - second indented item
-- fourth item
-
-This is a test ordered list with indented items:
-1. First item
-2. Second item
-3. Third item
-    1. Indented item
-    2. Indented item
-4. Fourth item
-
-Ordered list where everything has the same number:
-1. First item
-1. Second item
-1. Third item
-1. Fourth item 
-
-Ordered list that is wrongly numbered:
-1. First item
-8. Second item
-3. Third item
-5. Fourth item
-
-This is a mixed list with indented items:
-1. First item
-2. Second item
-3. Third item
-    * Indented item
-    * Indented item
-4. Fourth item
-
-This is another mixed list with indented items:
-- First item
-- Second item
-- Third item
-    1. Indented item
-    2. Indented item
-- Fourth item
-
-
-## Headers
-
-### Third-level header
-
-#### Fourth-level header
-
-##### Fifth-level header
-
-###### Sixth-level header
-
-## Media and Links
-
-### Nostr address
-
-This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l
-
-This is also plaintext:
-
-npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q
-
-These should be turned into links:
-
-link:nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l[naddr1qv...]
-
-link:nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z[npub1l5s...]
-
-link:nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj[nevent1q...]
-
-link:nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh[nprofile...]
-
-link:nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg[note1txy...]
-
-### Hashtag
-
-hashtag:testhashtag[#testhashtag] at the start of the line and hashtag:inlinehashtag[#inlinehashtag] in the middle
-
-### Wikilinks
-
-WIKILINK:nkbip-01|Specification and WIKILINK:mirepoix|mirepoix
-
-### URL
-
-https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html
-
-link:https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html[Welt Online link]
-
-this should render as plaintext: `http://www.example.com`
-
-this should be a hyperlink: www.example.com
-
-this shouild be a hyperlink to the http URL with the same address, so wss://theforest.nostr1.com should render like link:https://theforest.nostr1.com/[wss://theforest.nostr1.com]
-
-### Images
-
-Image: https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png
-
-image::https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png[test image,width=100%]
-
-### Media
-
-#### YouTube
-
-https://youtube.com/shorts/ZWfvChb-i0w
-
-[image::https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Youtube link with pic,width=100%]](https://youtube.com/shorts/ZWfvChb-i0w)
-
-#### Spotify
-
-MEDIA:spotify:episode:1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ
-
-[image::https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Spotify link with pic,width=100%]](MEDIA:spotify:episode:1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ)
-
-#### Audio
-
-MEDIA:audio:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3
-
-[image::https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Audio link with pic,width=100%]](MEDIA:audio:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3)
-
-#### Video
-
-MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4
-
-[image::https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Video link with pic,width=100%]](MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4)
-
-## Tables
-
-### Orderly
-
-| Syntax      | Description |
-| ----------- | ----------- |
-| Header      | Title       |
-| Paragraph   | Text        |
-
-### Unorderly
-
-| Syntax | Description |
-| --- | ----------- |
-| Header | Title |
-| Paragraph | Text |
-
-### With alignment
-
-| Syntax      | Description | Test Text     |
-| :---        |    :----:   |          ---: |
-| Header      | Title       | Here's this   |
-| Paragraph   | Text        | And more      |
-
-## Code blocks
-
-### json
-
-__CODEBLOCK_0__
-
-### typescript
-
-__CODEBLOCK_1__
-
-### shell
-
-__CODEBLOCK_2__
-
-### LaTeX
-
-__CODEBLOCK_3__
-
-__CODEBLOCK_4__
-
-### ABC Notation
-
-__CODEBLOCK_5__
-
-## LateX
-
-### LaTex in inline-code
-
- and `$[\sqrt{x^2+1}\]# Markdown Test Document
-
-## Bullet list
-
-This is a test unordered list with mixed bullets:
-* First item with a number 2. in it
-* Second item
-* Third item
-    - Indented item
-    - Indented item
-* Fourth item 
-
-Another unordered list:
-- 1st item
-- 2nd item
-- third item containing _italic_ text
-  - indented item
-  - second indented item
-- fourth item
-
-This is a test ordered list with indented items:
-1. First item
-2. Second item
-3. Third item
-    1. Indented item
-    2. Indented item
-4. Fourth item
-
-Ordered list where everything has the same number:
-1. First item
-1. Second item
-1. Third item
-1. Fourth item 
-
-Ordered list that is wrongly numbered:
-1. First item
-8. Second item
-3. Third item
-5. Fourth item
-
-This is a mixed list with indented items:
-1. First item
-2. Second item
-3. Third item
-    * Indented item
-    * Indented item
-4. Fourth item
-
-This is another mixed list with indented items:
-- First item
-- Second item
-- Third item
-    1. Indented item
-    2. Indented item
-- Fourth item
-
-
-## Headers
-
-### Third-level header
-
-#### Fourth-level header
-
-##### Fifth-level header
-
-###### Sixth-level header
-
-## Media and Links
-
-### Nostr address
-
-This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l
-
-This is also plaintext:
-
-npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q
-
-These should be turned into links:
-
-link:nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l[naddr1qv...]
-
-link:nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z[npub1l5s...]
-
-link:nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj[nevent1q...]
-
-link:nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh[nprofile...]
-
-link:nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg[note1txy...]
-
-### Hashtag
-
-hashtag:testhashtag[#testhashtag] at the start of the line and hashtag:inlinehashtag[#inlinehashtag] in the middle
-
-### Wikilinks
-
-WIKILINK:nkbip-01|Specification and WIKILINK:mirepoix|mirepoix
-
-### URL
-
-https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html
-
-link:https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html[Welt Online link]
-
-this should render as plaintext: `http://www.example.com`
-
-this should be a hyperlink: www.example.com
-
-this shouild be a hyperlink to the http URL with the same address, so wss://theforest.nostr1.com should render like link:https://theforest.nostr1.com/[wss://theforest.nostr1.com]
-
-### Images
-
-Image: https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png
-
-image::https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png[test image,width=100%]
-
-### Media
-
-#### YouTube
-
-https://youtube.com/shorts/ZWfvChb-i0w
-
-[image::https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Youtube link with pic,width=100%]](https://youtube.com/shorts/ZWfvChb-i0w)
-
-#### Spotify
-
-MEDIA:spotify:episode:1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ
-
-[image::https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Spotify link with pic,width=100%]](MEDIA:spotify:episode:1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ)
-
-#### Audio
-
-MEDIA:audio:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3
-
-[image::https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Audio link with pic,width=100%]](MEDIA:audio:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3)
-
-#### Video
-
-MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4
-
-[image::https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Video link with pic,width=100%]](MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4)
-
-## Tables
-
-### Orderly
-
-| Syntax      | Description |
-| ----------- | ----------- |
-| Header      | Title       |
-| Paragraph   | Text        |
-
-### Unorderly
-
-| Syntax | Description |
-| --- | ----------- |
-| Header | Title |
-| Paragraph | Text |
-
-### With alignment
-
-| Syntax      | Description | Test Text     |
-| :---        |    :----:   |          ---: |
-| Header      | Title       | Here's this   |
-| Paragraph   | Text        | And more      |
-
-## Code blocks
-
-### json
-
-__CODEBLOCK_0__
-
-### typescript
-
-__CODEBLOCK_1__
-
-### shell
-
-__CODEBLOCK_2__
-
-### LaTeX
-
-__CODEBLOCK_3__
-
-__CODEBLOCK_4__
-
-### ABC Notation
-
-__CODEBLOCK_5__
-
-## LateX
-
-### LaTex in inline-code
-
-`$[ x^n + y^n = z^n \]# Markdown Test Document
-
-## Bullet list
-
-This is a test unordered list with mixed bullets:
-* First item with a number 2. in it
-* Second item
-* Third item
-    - Indented item
-    - Indented item
-* Fourth item 
-
-Another unordered list:
-- 1st item
-- 2nd item
-- third item containing _italic_ text
-  - indented item
-  - second indented item
-- fourth item
-
-This is a test ordered list with indented items:
-1. First item
-2. Second item
-3. Third item
-    1. Indented item
-    2. Indented item
-4. Fourth item
-
-Ordered list where everything has the same number:
-1. First item
-1. Second item
-1. Third item
-1. Fourth item 
-
-Ordered list that is wrongly numbered:
-1. First item
-8. Second item
-3. Third item
-5. Fourth item
-
-This is a mixed list with indented items:
-1. First item
-2. Second item
-3. Third item
-    * Indented item
-    * Indented item
-4. Fourth item
-
-This is another mixed list with indented items:
-- First item
-- Second item
-- Third item
-    1. Indented item
-    2. Indented item
-- Fourth item
-
-
-## Headers
-
-### Third-level header
-
-#### Fourth-level header
-
-##### Fifth-level header
-
-###### Sixth-level header
-
-## Media and Links
-
-### Nostr address
-
-This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l
-
-This is also plaintext:
-
-npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q
-
-These should be turned into links:
-
-link:nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l[naddr1qv...]
-
-link:nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z[npub1l5s...]
-
-link:nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj[nevent1q...]
-
-link:nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh[nprofile...]
-
-link:nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg[note1txy...]
-
-### Hashtag
-
-hashtag:testhashtag[#testhashtag] at the start of the line and hashtag:inlinehashtag[#inlinehashtag] in the middle
-
-### Wikilinks
-
-WIKILINK:nkbip-01|Specification and WIKILINK:mirepoix|mirepoix
-
-### URL
-
-https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html
-
-link:https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html[Welt Online link]
-
-this should render as plaintext: `http://www.example.com`
-
-this should be a hyperlink: www.example.com
-
-this shouild be a hyperlink to the http URL with the same address, so wss://theforest.nostr1.com should render like link:https://theforest.nostr1.com/[wss://theforest.nostr1.com]
-
-### Images
-
-Image: https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png
-
-image::https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png[test image,width=100%]
-
-### Media
-
-#### YouTube
-
-https://youtube.com/shorts/ZWfvChb-i0w
-
-[image::https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Youtube link with pic,width=100%]](https://youtube.com/shorts/ZWfvChb-i0w)
-
-#### Spotify
-
-MEDIA:spotify:episode:1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ
-
-[image::https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Spotify link with pic,width=100%]](MEDIA:spotify:episode:1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ)
-
-#### Audio
-
-MEDIA:audio:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3
-
-[image::https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Audio link with pic,width=100%]](MEDIA:audio:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3)
-
-#### Video
-
-MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4
-
-[image::https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Video link with pic,width=100%]](MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4)
-
-## Tables
-
-### Orderly
-
-| Syntax      | Description |
-| ----------- | ----------- |
-| Header      | Title       |
-| Paragraph   | Text        |
-
-### Unorderly
-
-| Syntax | Description |
-| --- | ----------- |
-| Header | Title |
-| Paragraph | Text |
-
-### With alignment
-
-| Syntax      | Description | Test Text     |
-| :---        |    :----:   |          ---: |
-| Header      | Title       | Here's this   |
-| Paragraph   | Text        | And more      |
-
-## Code blocks
-
-### json
-
-__CODEBLOCK_0__
-
-### typescript
-
-__CODEBLOCK_1__
-
-### shell
-
-__CODEBLOCK_2__
-
-### LaTeX
-
-__CODEBLOCK_3__
-
-__CODEBLOCK_4__
-
-### ABC Notation
-
-__CODEBLOCK_5__
-
-## LateX
-
-### LaTex in inline-code
-
- and  and `$\color{blue}{X \sim Normal \; (\mu,\sigma^2)}# Markdown Test Document
-
-## Bullet list
-
-This is a test unordered list with mixed bullets:
-* First item with a number 2. in it
-* Second item
-* Third item
-    - Indented item
-    - Indented item
-* Fourth item 
-
-Another unordered list:
-- 1st item
-- 2nd item
-- third item containing _italic_ text
-  - indented item
-  - second indented item
-- fourth item
-
-This is a test ordered list with indented items:
-1. First item
-2. Second item
-3. Third item
-    1. Indented item
-    2. Indented item
-4. Fourth item
-
-Ordered list where everything has the same number:
-1. First item
-1. Second item
-1. Third item
-1. Fourth item 
-
-Ordered list that is wrongly numbered:
-1. First item
-8. Second item
-3. Third item
-5. Fourth item
-
-This is a mixed list with indented items:
-1. First item
-2. Second item
-3. Third item
-    * Indented item
-    * Indented item
-4. Fourth item
-
-This is another mixed list with indented items:
-- First item
-- Second item
-- Third item
-    1. Indented item
-    2. Indented item
-- Fourth item
-
-
-## Headers
-
-### Third-level header
-
-#### Fourth-level header
-
-##### Fifth-level header
-
-###### Sixth-level header
-
-## Media and Links
-
-### Nostr address
-
-This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l
-
-This is also plaintext:
-
-npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q
-
-These should be turned into links:
-
-link:nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l[naddr1qv...]
-
-link:nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z[npub1l5s...]
-
-link:nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj[nevent1q...]
-
-link:nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh[nprofile...]
-
-link:nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg[note1txy...]
-
-### Hashtag
-
-hashtag:testhashtag[#testhashtag] at the start of the line and hashtag:inlinehashtag[#inlinehashtag] in the middle
-
-### Wikilinks
-
-WIKILINK:nkbip-01|Specification and WIKILINK:mirepoix|mirepoix
-
-### URL
-
-https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html
-
-link:https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html[Welt Online link]
-
-this should render as plaintext: `http://www.example.com`
-
-this should be a hyperlink: www.example.com
-
-this shouild be a hyperlink to the http URL with the same address, so wss://theforest.nostr1.com should render like link:https://theforest.nostr1.com/[wss://theforest.nostr1.com]
-
-### Images
-
-Image: https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png
-
-image::https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png[test image,width=100%]
-
-### Media
-
-#### YouTube
-
-https://youtube.com/shorts/ZWfvChb-i0w
-
-[image::https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Youtube link with pic,width=100%]](https://youtube.com/shorts/ZWfvChb-i0w)
-
-#### Spotify
-
-MEDIA:spotify:episode:1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ
-
-[image::https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Spotify link with pic,width=100%]](MEDIA:spotify:episode:1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ)
-
-#### Audio
-
-MEDIA:audio:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3
-
-[image::https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Audio link with pic,width=100%]](MEDIA:audio:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3)
-
-#### Video
-
-MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4
-
-[image::https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Video link with pic,width=100%]](MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4)
-
-## Tables
-
-### Orderly
-
-| Syntax      | Description |
-| ----------- | ----------- |
-| Header      | Title       |
-| Paragraph   | Text        |
-
-### Unorderly
-
-| Syntax | Description |
-| --- | ----------- |
-| Header | Title |
-| Paragraph | Text |
-
-### With alignment
-
-| Syntax      | Description | Test Text     |
-| :---        |    :----:   |          ---: |
-| Header      | Title       | Here's this   |
-| Paragraph   | Text        | And more      |
-
-## Code blocks
-
-### json
-
-__CODEBLOCK_0__
-
-### typescript
-
-__CODEBLOCK_1__
-
-### shell
-
-__CODEBLOCK_2__
-
-### LaTeX
-
-__CODEBLOCK_3__
-
-__CODEBLOCK_4__
-
-### ABC Notation
-
-__CODEBLOCK_5__
-
-## LateX
-
-### LaTex in inline-code
-
-`$[ x^n + y^n = z^n \]# Markdown Test Document
-
-## Bullet list
-
-This is a test unordered list with mixed bullets:
-* First item with a number 2. in it
-* Second item
-* Third item
-    - Indented item
-    - Indented item
-* Fourth item 
-
-Another unordered list:
-- 1st item
-- 2nd item
-- third item containing _italic_ text
-  - indented item
-  - second indented item
-- fourth item
-
-This is a test ordered list with indented items:
-1. First item
-2. Second item
-3. Third item
-    1. Indented item
-    2. Indented item
-4. Fourth item
-
-Ordered list where everything has the same number:
-1. First item
-1. Second item
-1. Third item
-1. Fourth item 
-
-Ordered list that is wrongly numbered:
-1. First item
-8. Second item
-3. Third item
-5. Fourth item
-
-This is a mixed list with indented items:
-1. First item
-2. Second item
-3. Third item
-    * Indented item
-    * Indented item
-4. Fourth item
-
-This is another mixed list with indented items:
-- First item
-- Second item
-- Third item
-    1. Indented item
-    2. Indented item
-- Fourth item
-
-
-## Headers
-
-### Third-level header
-
-#### Fourth-level header
-
-##### Fifth-level header
-
-###### Sixth-level header
-
-## Media and Links
-
-### Nostr address
-
-This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l
-
-This is also plaintext:
-
-npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q
-
-These should be turned into links:
-
-link:nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l[naddr1qv...]
-
-link:nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z[npub1l5s...]
-
-link:nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj[nevent1q...]
-
-link:nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh[nprofile...]
-
-link:nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg[note1txy...]
-
-### Hashtag
-
-hashtag:testhashtag[#testhashtag] at the start of the line and hashtag:inlinehashtag[#inlinehashtag] in the middle
-
-### Wikilinks
-
-WIKILINK:nkbip-01|Specification and WIKILINK:mirepoix|mirepoix
-
-### URL
-
-https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html
-
-link:https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html[Welt Online link]
-
-this should render as plaintext: `http://www.example.com`
-
-this should be a hyperlink: www.example.com
-
-this shouild be a hyperlink to the http URL with the same address, so wss://theforest.nostr1.com should render like link:https://theforest.nostr1.com/[wss://theforest.nostr1.com]
-
-### Images
-
-Image: https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png
-
-image::https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png[test image,width=100%]
-
-### Media
-
-#### YouTube
-
-https://youtube.com/shorts/ZWfvChb-i0w
-
-[image::https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Youtube link with pic,width=100%]](https://youtube.com/shorts/ZWfvChb-i0w)
-
-#### Spotify
-
-MEDIA:spotify:episode:1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ
-
-[image::https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Spotify link with pic,width=100%]](MEDIA:spotify:episode:1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ)
-
-#### Audio
-
-MEDIA:audio:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3
-
-[image::https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Audio link with pic,width=100%]](MEDIA:audio:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3)
-
-#### Video
-
-MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4
-
-[image::https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Video link with pic,width=100%]](MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4)
-
-## Tables
-
-### Orderly
-
-| Syntax      | Description |
-| ----------- | ----------- |
-| Header      | Title       |
-| Paragraph   | Text        |
-
-### Unorderly
-
-| Syntax | Description |
-| --- | ----------- |
-| Header | Title |
-| Paragraph | Text |
-
-### With alignment
-
-| Syntax      | Description | Test Text     |
-| :---        |    :----:   |          ---: |
-| Header      | Title       | Here's this   |
-| Paragraph   | Text        | And more      |
-
-## Code blocks
-
-### json
-
-__CODEBLOCK_0__
-
-### typescript
-
-__CODEBLOCK_1__
-
-### shell
-
-__CODEBLOCK_2__
-
-### LaTeX
-
-__CODEBLOCK_3__
-
-__CODEBLOCK_4__
-
-### ABC Notation
-
-__CODEBLOCK_5__
-
-## LateX
-
-### LaTex in inline-code
-
- and `$[\sqrt{x^2+1}\]# Markdown Test Document
-
-## Bullet list
-
-This is a test unordered list with mixed bullets:
-* First item with a number 2. in it
-* Second item
-* Third item
-    - Indented item
-    - Indented item
-* Fourth item 
-
-Another unordered list:
-- 1st item
-- 2nd item
-- third item containing _italic_ text
-  - indented item
-  - second indented item
-- fourth item
-
-This is a test ordered list with indented items:
-1. First item
-2. Second item
-3. Third item
-    1. Indented item
-    2. Indented item
-4. Fourth item
-
-Ordered list where everything has the same number:
-1. First item
-1. Second item
-1. Third item
-1. Fourth item 
-
-Ordered list that is wrongly numbered:
-1. First item
-8. Second item
-3. Third item
-5. Fourth item
-
-This is a mixed list with indented items:
-1. First item
-2. Second item
-3. Third item
-    * Indented item
-    * Indented item
-4. Fourth item
-
-This is another mixed list with indented items:
-- First item
-- Second item
-- Third item
-    1. Indented item
-    2. Indented item
-- Fourth item
-
-
-## Headers
-
-### Third-level header
-
-#### Fourth-level header
-
-##### Fifth-level header
-
-###### Sixth-level header
-
-## Media and Links
-
-### Nostr address
-
-This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l
-
-This is also plaintext:
-
-npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q
-
-These should be turned into links:
-
-link:nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l[naddr1qv...]
-
-link:nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z[npub1l5s...]
-
-link:nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj[nevent1q...]
-
-link:nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh[nprofile...]
-
-link:nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg[note1txy...]
-
-### Hashtag
-
-hashtag:testhashtag[#testhashtag] at the start of the line and hashtag:inlinehashtag[#inlinehashtag] in the middle
-
-### Wikilinks
-
-WIKILINK:nkbip-01|Specification and WIKILINK:mirepoix|mirepoix
-
-### URL
-
-https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html
-
-link:https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html[Welt Online link]
-
-this should render as plaintext: `http://www.example.com`
-
-this should be a hyperlink: www.example.com
-
-this shouild be a hyperlink to the http URL with the same address, so wss://theforest.nostr1.com should render like link:https://theforest.nostr1.com/[wss://theforest.nostr1.com]
-
-### Images
-
-Image: https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png
-
-image::https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png[test image,width=100%]
-
-### Media
-
-#### YouTube
-
-https://youtube.com/shorts/ZWfvChb-i0w
-
-[image::https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Youtube link with pic,width=100%]](https://youtube.com/shorts/ZWfvChb-i0w)
-
-#### Spotify
-
-MEDIA:spotify:episode:1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ
-
-[image::https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Spotify link with pic,width=100%]](MEDIA:spotify:episode:1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ)
-
-#### Audio
-
-MEDIA:audio:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3
-
-[image::https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Audio link with pic,width=100%]](MEDIA:audio:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3)
-
-#### Video
-
-MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4
-
-[image::https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Video link with pic,width=100%]](MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4)
-
-## Tables
-
-### Orderly
-
-| Syntax      | Description |
-| ----------- | ----------- |
-| Header      | Title       |
-| Paragraph   | Text        |
-
-### Unorderly
-
-| Syntax | Description |
-| --- | ----------- |
-| Header | Title |
-| Paragraph | Text |
-
-### With alignment
-
-| Syntax      | Description | Test Text     |
-| :---        |    :----:   |          ---: |
-| Header      | Title       | Here's this   |
-| Paragraph   | Text        | And more      |
-
-## Code blocks
-
-### json
-
-__CODEBLOCK_0__
-
-### typescript
-
-__CODEBLOCK_1__
-
-### shell
-
-__CODEBLOCK_2__
-
-### LaTeX
-
-__CODEBLOCK_3__
-
-__CODEBLOCK_4__
-
-### ABC Notation
-
-__CODEBLOCK_5__
-
-## LateX
-
-### LaTex in inline-code
-
-`$[ x^n + y^n = z^n \]# Markdown Test Document
-
-## Bullet list
-
-This is a test unordered list with mixed bullets:
-* First item with a number 2. in it
-* Second item
-* Third item
-    - Indented item
-    - Indented item
-* Fourth item 
-
-Another unordered list:
-- 1st item
-- 2nd item
-- third item containing _italic_ text
-  - indented item
-  - second indented item
-- fourth item
-
-This is a test ordered list with indented items:
-1. First item
-2. Second item
-3. Third item
-    1. Indented item
-    2. Indented item
-4. Fourth item
-
-Ordered list where everything has the same number:
-1. First item
-1. Second item
-1. Third item
-1. Fourth item 
-
-Ordered list that is wrongly numbered:
-1. First item
-8. Second item
-3. Third item
-5. Fourth item
-
-This is a mixed list with indented items:
-1. First item
-2. Second item
-3. Third item
-    * Indented item
-    * Indented item
-4. Fourth item
-
-This is another mixed list with indented items:
-- First item
-- Second item
-- Third item
-    1. Indented item
-    2. Indented item
-- Fourth item
-
-
-## Headers
-
-### Third-level header
-
-#### Fourth-level header
-
-##### Fifth-level header
-
-###### Sixth-level header
-
-## Media and Links
-
-### Nostr address
-
-This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l
-
-This is also plaintext:
-
-npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q
-
-These should be turned into links:
-
-link:nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l[naddr1qv...]
-
-link:nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z[npub1l5s...]
-
-link:nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj[nevent1q...]
-
-link:nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh[nprofile...]
-
-link:nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg[note1txy...]
-
-### Hashtag
-
-hashtag:testhashtag[#testhashtag] at the start of the line and hashtag:inlinehashtag[#inlinehashtag] in the middle
-
-### Wikilinks
-
-WIKILINK:nkbip-01|Specification and WIKILINK:mirepoix|mirepoix
-
-### URL
-
-https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html
-
-link:https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html[Welt Online link]
-
-this should render as plaintext: `http://www.example.com`
-
-this should be a hyperlink: www.example.com
-
-this shouild be a hyperlink to the http URL with the same address, so wss://theforest.nostr1.com should render like link:https://theforest.nostr1.com/[wss://theforest.nostr1.com]
-
-### Images
-
-Image: https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png
-
-image::https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png[test image,width=100%]
-
-### Media
-
-#### YouTube
-
-https://youtube.com/shorts/ZWfvChb-i0w
-
-[image::https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Youtube link with pic,width=100%]](https://youtube.com/shorts/ZWfvChb-i0w)
-
-#### Spotify
-
-MEDIA:spotify:episode:1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ
-
-[image::https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Spotify link with pic,width=100%]](MEDIA:spotify:episode:1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ)
-
-#### Audio
-
-MEDIA:audio:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3
-
-[image::https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Audio link with pic,width=100%]](MEDIA:audio:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3)
-
-#### Video
-
-MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4
-
-[image::https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Video link with pic,width=100%]](MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4)
-
-## Tables
-
-### Orderly
-
-| Syntax      | Description |
-| ----------- | ----------- |
-| Header      | Title       |
-| Paragraph   | Text        |
-
-### Unorderly
-
-| Syntax | Description |
-| --- | ----------- |
-| Header | Title |
-| Paragraph | Text |
-
-### With alignment
-
-| Syntax      | Description | Test Text     |
-| :---        |    :----:   |          ---: |
-| Header      | Title       | Here's this   |
-| Paragraph   | Text        | And more      |
-
-## Code blocks
-
-### json
-
-__CODEBLOCK_0__
-
-### typescript
-
-__CODEBLOCK_1__
-
-### shell
-
-__CODEBLOCK_2__
-
-### LaTeX
-
-__CODEBLOCK_3__
-
-__CODEBLOCK_4__
-
-### ABC Notation
-
-__CODEBLOCK_5__
-
-## LateX
-
-### LaTex in inline-code
-
- and  and 
-
-## LaTex outside of code
-
-This is a latex code block $$\mathbb{N} = \{ a \in \mathbb{Z} : a > 0 \}$$ and another that is an inline latex $\color{green}{X \sim Normal \; (\mu,\sigma^2)}$ and should be green
-
-## Footnotes
-
-Here's a simple footnote,[^1] and here's a longer one.[^bignote]
-
-[^1]: This is the first footnote.
-
-[^bignote]: Here's one with multiple paragraphs and code.
-
-## Anchor links
-
-link:hashtag:bullet[#bullet]-lists[Link to bullet list section]
-
-## Formatting
-
-### Strikethrough 
-
-~~The world is flat.~~ We now know that the world is round. This should not be ~struck~ through.
-
-### Bold
-
-This is *bold* text. So is this **bold** text.
-
-### Italic
-
-This is _italic_ text. So is this __italic__ text.
-
-### Task List
-
-- [x] Write the press release
-- [ ] Update the website
-- [ ] Contact the media
-
-### Emoji shortcodes
-
-Gone camping! :tent: Be back soon.
-
-That is so funny! :joy:
-
-### Marking and highlighting text
-
-I need to highlight these ==very important words==.
-
-### Subscript and Superscript
-
-H~2~O
-
-X^2^
-
-### Delimiter
-
-based upon a -
-
----
-
-based upon a *
-
-***
-
-### Quotes
-
-> This is a single line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd  kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj 
-
-> This is a multi line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd  kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj 
-> This is a multi line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd  kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj 
-> This is a multi line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd  kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj </p>
-
-
-
- -
-

Extracted Metadata

- - -

Nostr Links (5)

- -
- naddr: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l - - nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l -
- -
- npub: npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z - - nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z -
- -
- nevent: nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj - - nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj -
- -
- nprofile: nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh - - nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh -
- -
- note: note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg - - nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg -
- - - - -

Wikilinks (2)

- -
- [[NKBIP-01|Specification]] → dtag: nkbip-01 - (display: Specification) -
- -
- [[mirepoix]] → dtag: mirepoix - (display: mirepoix) -
- - - - -

Hashtags (3)

- -
- #testhashtag -
- -
- #inlinehashtag -
- -
- #bullet -
- - - - -

Links (7)

- -
- Youtube link with pic - External -
- -
- Spotify link with pic - External -
- -
- Audio link with pic - External -
- -
- Video link with pic - External -
- -
- Welt Online link - External -
- - - - - - - - -

Media URLs (3)

- - - - - - - - - - -
- - - -
-

AsciiDoc Document Test ✓ Parsed

- -
- - - - -
- -
-
-
-
5
-
Nostr Links
-
-
-
2
-
Wikilinks
-
-
-
4
-
Hashtags
-
-
-
8
-
Links
-
-
-
2
-
Media URLs
-
-
-
No
-
Has LaTeX
-
-
-
No
-
Has Music
-
-
- -

Frontmatter

- - - -
- -
-

Original AsciiDoc Content

-
-
= AsciiDoc Test Document
-Kismet Lee 
-2.9, October 31, 2021: Fall incarnation
-:description: Test description
-:author: Kismet Lee
-:date: 2021-10-31
-:version: 2.9
-:status: Draft
-:keywords: AsciiDoc, Test, Document
-:category: Test
-:language: English
-
-== Bullet list
-
-This is a test unordered list with mixed bullets:
-
-* First item with a number 2. in it
-* Second item
-* Third item
-** Indented item
-** Indented item
-* Fourth item
-
-Another unordered list:
-
-* 1st item
-* 2nd item
-* third item containing _italic_ text
-** indented item
-** second indented item
-* fourth item
-
-This is a test ordered list with indented items:
-
-. First item
-. Second item
-. Third item
-.. Indented item
-.. Indented item
-. Fourth item
-
-Ordered list where everything has no number:
-
-. First item
-. Second item
-. Third item
-. Fourth item
-
-This is a mixed list with indented items:
-
-. First item
-. Second item
-. Third item
-* Indented item
-* Indented item
-. Fourth item
-
-This is another mixed list with indented items:
-
-* First item
-* Second item
-* Third item
-. Indented item
-. Indented item
-* Fourth item
-
-== Headers
-
-=== Third-level header
-
-==== Fourth-level header
-
-===== Fifth-level header
-
-====== Sixth-level header
-
-== Media and Links
-
-=== Nostr address
-
-This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l
-
-This is also plaintext:
-
-npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q
-
-These should be turned into links:
-
-nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l
-
-nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z
-
-nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj
-
-nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh
-
-nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg
-
-=== Hashtag
-
-#testhashtag at the start of the line and #inlinehashtag in the middle
-
-=== Wikilinks
-
-[[NKBIP-01|Specification]] and [[mirepoix]]
-
-=== URL
-
-https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html
-
-link:https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html[Welt Online link]
-
-this should render as plaintext: `http://www.example.com`
-
-this should be a hyperlink: www.example.com
-
-this should be a hyperlink to the http URL with the same address, so wss://theforest.nostr1.com should render like link:wss://theforest.nostr1.com[https://theforest.nostr1.com]
-
-=== Images
-
-https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png
-
-image::https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png[test image, width=100%]
-
-=== Media
-
-==== YouTube
-
-https://youtube.com/shorts/ZWfvChb-i0w
-
-link:https://youtube.com/shorts/ZWfvChb-i0w[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Youtube link with pic]]
-
-==== Spotify
-
-https://open.spotify.com/episode/1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ
-
-link:https://open.spotify.com/episode/1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Spotify link with pic]]
-
-==== Audio
-
-https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3
-
-link:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Audio link with pic]]
-
-==== Video
-
-https://v.nostr.build/MTjaYib4upQuf8zn.mp4
-
-link:https://v.nostr.build/MTjaYib4upQuf8zn.mp4[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Video link with pic]]
-
-== Tables
-
-=== Orderly
-
-[cols="1,2"]
-|===
-|Syntax|Description
-|Header|Title
-|Paragraph|Text
-|===
-
-=== Unorderly
-
-[cols="1,2"]
-|===
-|Syntax|Description
-|Header|Title
-|Paragraph|Text
-|===
-
-=== With alignment
-
-[cols="<,^,>"]
-|===
-|Syntax|Description|Test Text
-|Header|Title|Here's this
-|Paragraph|Text|And more
-|===
-
-== Code blocks
-
-=== json
-
-[source,json]
-----
-{
-    "id": "<event_id>",
-    "pubkey": "<event_originator_pubkey>",
-    "created_at": 1725087283,
-    "kind": 30040,
-    "tags": [
-        ["d", "aesop's-fables-by-aesop"],
-        ["title", "Aesop's Fables"],
-        ["author", "Aesop"],
-    ],
-    "sig": "<event_signature>"
-}
-----
-
-=== typescript
-
-[source,typescript]
-----
-/**
- * Get Nostr identifier type
- */
-function getNostrType(id: string): 'npub' | 'nprofile' | 'nevent' | 'naddr' | 'note' | null {
-  if (id.startsWith('npub')) return 'npub';
-  if (id.startsWith('nprofile')) return 'nprofile';
-  if (id.startsWith('nevent')) return 'nevent';
-  if (id.startsWith('naddr')) return 'naddr';
-  if (id.startsWith('note')) return 'note';
-  return null;
-}
-----
-
-=== shell
-
-[source,shell]
-----
-
-mkdir new_directory
-cp source.txt destination.txt
-
-----
-
-=== LaTeX
-
-[source,latex]
-----
-$$
-M = 
-\begin{bmatrix}
-\frac{5}{6} & \frac{1}{6} & 0 \\[0.3em]
-\frac{5}{6} & 0 & \frac{1}{6} \\[0.3em]
-0 & \frac{5}{6} & \frac{1}{6}
-\end{bmatrix}
-$$
-----
-
-[source,latex]
-----
-$$
-f(x)=
-\begin{cases}
-1/d_{ij} & \quad \text{when $d_{ij} \leq 160$}\\ 
-0 & \quad \text{otherwise}
-\end{cases}
-$$
-----
-
-=== ABC Notation
-
-[source,abc]
-----
-X:1
-T:Ohne Titel
-C:Aufgezeichnet 1784
-A:Seibis nahe Lichtenberg in Oberfranken
-S:Handschrift, bezeichnet und datiert: "Heinrich Nicol Philipp zu Seibis den 30 Junius 1784"
-M:4/4
-L:1/4
-K:D
-dd d2 | ee e2 | fg ad | cB cA |\
-dd d2 | ee e2 | fg ad | ed/c/ d2 :|
-|:\
-fg ad | cB cA | fg ad | cB cA |\
-dd d2 | ee e2 | fg ad | ed/c/ d2 :|
-----
-
-=== PlantUML
-
-[source,plantuml]
-----
-@startuml
-Alice -> Bob: Authentication Request
-Bob --> Alice: Authentication Response
-@enduml
-----
-
-=== BPMN
-
-[source,plantuml]
-----
-@startbpmn
-start
-:Task 1;
-:Task 2;
-stop
-@endbpmn
-----
-
-== LaTeX
-
-=== LaTeX in inline-code
-
-`$[ x^n + y^n = z^n \]$` and `$[\sqrt{x^2+1}\]$` and `$\color{blue}{X \sim Normal \; (\mu,\sigma^2)}$`
-
-== LaTeX outside of code
-
-This is a latex code block $$\mathbb{N} = \{ a \in \mathbb{Z} : a > 0 \}$$ and another that is an inline latex $\color{green}{X \sim Normal \; (\mu,\sigma^2)}$ and should be green
-
-== Footnotes
-
-Here's a simple footnote,footnote:[This is the first footnote.] and here's a longer one.footnote:[Here's one with multiple paragraphs and code.]
-
-== Anchor links
-
-<<bullet-list,Link to bullet list section>>
-
-== Formatting
-
-=== Strikethrough
-
-[line-through]#The world is flat.# We now know that the world is round. This should not be ~struck~ through.
-
-=== Bold
-
-This is *bold* text. So is this *bold* text.
-
-=== Italic
-
-This is _italic_ text. So is this _italic_ text.
-
-=== Task List
-
-* [x] Write the press release
-* [ ] Update the website
-* [ ] Contact the media
-
-=== Emoji shortcodes
-
-Gone camping! :tent: Be back soon.
-
-That is so funny! :joy:
-
-=== Marking and highlighting text
-
-I need to highlight these [highlight]#very important words#.
-
-=== Subscript and Superscript
-
-H~2~O
-
-X^2^
-
-=== Delimiter
-
-based upon a -
-
-'''
-
-based upon a *
-
-'''
-
-=== Quotes
-
-[quote]
-____
-This is a single line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd  kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj
-____
-
-[quote]
-____
-This is a multi line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd  kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj
-This is a multi line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd  kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj
-This is a multi line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd  kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj
-This is a multi line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd  kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj
-____
-
-
-
- -
-

Rendered HTML Output

-
-

== Bullet list - -This is a test unordered list with mixed bullets: - -* First item with a number 2. in it -* Second item -* Third item -** Indented item -** Indented item -* Fourth item - -Another unordered list: - -* 1st item -* 2nd item -* third item containing _italic_ text -** indented item -** second indented item -* fourth item - -This is a test ordered list with indented items: - -. First item -. Second item -. Third item -.. Indented item -.. Indented item -. Fourth item - -Ordered list where everything has no number: - -. First item -. Second item -. Third item -. Fourth item - -This is a mixed list with indented items: - -. First item -. Second item -. Third item -* Indented item -* Indented item -. Fourth item - -This is another mixed list with indented items: - -* First item -* Second item -* Third item -. Indented item -. Indented item -* Fourth item - -== Headers - -=== Third-level header - -==== Fourth-level header - -===== Fifth-level header - -====== Sixth-level header - -== Media and Links - -=== Nostr address - -This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l - -This is also plaintext: - -npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q - -These should be turned into links: - -link:nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l[naddr1qv...] - -link:nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z[npub1l5s...] - -link:nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj[nevent1q...] - -link:nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh[nprofile...] - -link:nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg[note1txy...] - -=== Hashtag - -hashtag:testhashtag[#testhashtag] at the start of the line and hashtag:inlinehashtag[#inlinehashtag] in the middle - -=== Wikilinks - -WIKILINK:nkbip-01|Specification and WIKILINK:mirepoix|mirepoix - -=== URL - -https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html - -link:https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html[Welt Online link] - -this should render as plaintext: `http://www.example.com` - -this should be a hyperlink: www.example.com - -this should be a hyperlink to the http URL with the same address, so wss://theforest.nostr1.com should render like link:wss://theforest.nostr1.com[https://theforest.nostr1.com] - -=== Images - -https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png - -image::https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png[test image, width=100%] - -=== Media - -==== YouTube - -https://youtube.com/shorts/ZWfvChb-i0w - -link:https://youtube.com/shorts/ZWfvChb-i0w[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Youtube link with pic]] - -==== Spotify - -MEDIA:spotify:episode:1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ - -link:MEDIA:spotify:episode:1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Spotify link with pic]] - -==== Audio - -MEDIA:audio:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3 - -link:MEDIA:audio:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Audio link with pic]] - -==== Video - -MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4 - -link:MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Video link with pic]] - -== Tables - -=== Orderly - -[cols="1,2"] -|=== -|Syntax|Description -|Header|Title -|Paragraph|Text -|=== - -=== Unorderly - -[cols="1,2"] -|=== -|Syntax|Description -|Header|Title -|Paragraph|Text -|=== - -=== With alignment - -[cols="<,^,>"] -|=== -|Syntax|Description|Test Text -|Header|Title|Here's this -|Paragraph|Text|And more -|=== - -== Code blocks - -=== json - -[source,json] ----- -{ - "id": "", - "pubkey": "", - "created_at": 1725087283, - "kind": 30040, - "tags": [ - ["d", "aesop's-fables-by-aesop"], - ["title", "Aesop's Fables"], - ["author", "Aesop"], - ], - "sig": "" -} ----- - -=== typescript - -[source,typescript] ----- -/** - * Get Nostr identifier type - */ -function getNostrType(id: string): 'npub' | 'nprofile' | 'nevent' | 'naddr' | 'note' | null { - if (id.startsWith('npub')) return 'npub'; - if (id.startsWith('nprofile')) return 'nprofile'; - if (id.startsWith('nevent')) return 'nevent'; - if (id.startsWith('naddr')) return 'naddr'; - if (id.startsWith('note')) return 'note'; - return null; -} ----- - -=== shell - -[source,shell] ----- - -mkdir new_directory -cp source.txt destination.txt - ----- - -=== LaTeX - -[source,latex] ----- -$$ -M = -\begin{bmatrix} -\frac{5}{6} & \frac{1}{6} & 0 \\[0.3em] -\frac{5}{6} & 0 & \frac{1}{6} \\[0.3em] -0 & \frac{5}{6} & \frac{1}{6} -\end{bmatrix} -$$ ----- - -[source,latex] ----- -$$ -f(x)= -\begin{cases} -1/d_{ij} & \quad \text{when $d_{ij} \leq 160$}\\ -0 & \quad \text{otherwise} -\end{cases} -$$ ----- - -=== ABC Notation - -[source,abc] ----- -X:1 -T:Ohne Titel -C:Aufgezeichnet 1784 -A:Seibis nahe Lichtenberg in Oberfranken -S:Handschrift, bezeichnet und datiert: "Heinrich Nicol Philipp zu Seibis den 30 Junius 1784" -M:4/4 -L:1/4 -K:D -dd d2 | ee e2 | fg ad | cB cA |\ -dd d2 | ee e2 | fg ad | ed/c/ d2 :| -|:\ -fg ad | cB cA | fg ad | cB cA |\ -dd d2 | ee e2 | fg ad | ed/c/ d2 :| ----- - -=== PlantUML - -[source,plantuml] ----- -@startuml -Alice -> Bob: Authentication Request -Bob --> Alice: Authentication Response -@enduml ----- - -=== BPMN - -[source,plantuml] ----- -@startbpmn -start -:Task 1; -:Task 2; -stop -@endbpmn ----- - -== LaTeX - -=== LaTeX in inline-code - -`$[ x^n + y^n = z^n \] -

-
- View Raw HTML -
-
<p>== Bullet list
-
-This is a test unordered list with mixed bullets:
-
-* First item with a number 2. in it
-* Second item
-* Third item
-** Indented item
-** Indented item
-* Fourth item
-
-Another unordered list:
-
-* 1st item
-* 2nd item
-* third item containing _italic_ text
-** indented item
-** second indented item
-* fourth item
-
-This is a test ordered list with indented items:
-
-. First item
-. Second item
-. Third item
-.. Indented item
-.. Indented item
-. Fourth item
-
-Ordered list where everything has no number:
-
-. First item
-. Second item
-. Third item
-. Fourth item
-
-This is a mixed list with indented items:
-
-. First item
-. Second item
-. Third item
-* Indented item
-* Indented item
-. Fourth item
-
-This is another mixed list with indented items:
-
-* First item
-* Second item
-* Third item
-. Indented item
-. Indented item
-* Fourth item
-
-== Headers
-
-=== Third-level header
-
-==== Fourth-level header
-
-===== Fifth-level header
-
-====== Sixth-level header
-
-== Media and Links
-
-=== Nostr address
-
-This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l
-
-This is also plaintext:
-
-npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q
-
-These should be turned into links:
-
-link:nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l[naddr1qv...]
-
-link:nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z[npub1l5s...]
-
-link:nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj[nevent1q...]
-
-link:nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh[nprofile...]
-
-link:nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg[note1txy...]
-
-=== Hashtag
-
-hashtag:testhashtag[#testhashtag] at the start of the line and hashtag:inlinehashtag[#inlinehashtag] in the middle
-
-=== Wikilinks
-
-WIKILINK:nkbip-01|Specification and WIKILINK:mirepoix|mirepoix
-
-=== URL
-
-https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html
-
-link:https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html[Welt Online link]
-
-this should render as plaintext: `http://www.example.com`
-
-this should be a hyperlink: www.example.com
-
-this should be a hyperlink to the http URL with the same address, so wss://theforest.nostr1.com should render like link:wss://theforest.nostr1.com[https://theforest.nostr1.com]
-
-=== Images
-
-https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png
-
-image::https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png[test image, width=100%]
-
-=== Media
-
-==== YouTube
-
-https://youtube.com/shorts/ZWfvChb-i0w
-
-link:https://youtube.com/shorts/ZWfvChb-i0w[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Youtube link with pic]]
-
-==== Spotify
-
-MEDIA:spotify:episode:1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ
-
-link:MEDIA:spotify:episode:1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Spotify link with pic]]
-
-==== Audio
-
-MEDIA:audio:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3
-
-link:MEDIA:audio:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Audio link with pic]]
-
-==== Video
-
-MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4
-
-link:MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Video link with pic]]
-
-== Tables
-
-=== Orderly
-
-[cols="1,2"]
-|===
-|Syntax|Description
-|Header|Title
-|Paragraph|Text
-|===
-
-=== Unorderly
-
-[cols="1,2"]
-|===
-|Syntax|Description
-|Header|Title
-|Paragraph|Text
-|===
-
-=== With alignment
-
-[cols="<,^,>"]
-|===
-|Syntax|Description|Test Text
-|Header|Title|Here's this
-|Paragraph|Text|And more
-|===
-
-== Code blocks
-
-=== json
-
-[source,json]
-----
-{
-    "id": "<event_id>",
-    "pubkey": "<event_originator_pubkey>",
-    "created_at": 1725087283,
-    "kind": 30040,
-    "tags": [
-        ["d", "aesop's-fables-by-aesop"],
-        ["title", "Aesop's Fables"],
-        ["author", "Aesop"],
-    ],
-    "sig": "<event_signature>"
-}
-----
-
-=== typescript
-
-[source,typescript]
-----
-/**
- * Get Nostr identifier type
- */
-function getNostrType(id: string): 'npub' | 'nprofile' | 'nevent' | 'naddr' | 'note' | null {
-  if (id.startsWith('npub')) return 'npub';
-  if (id.startsWith('nprofile')) return 'nprofile';
-  if (id.startsWith('nevent')) return 'nevent';
-  if (id.startsWith('naddr')) return 'naddr';
-  if (id.startsWith('note')) return 'note';
-  return null;
-}
-----
-
-=== shell
-
-[source,shell]
-----
-
-mkdir new_directory
-cp source.txt destination.txt
-
-----
-
-=== LaTeX
-
-[source,latex]
-----
-$$
-M = 
-\begin{bmatrix}
-\frac{5}{6} & \frac{1}{6} & 0 \\[0.3em]
-\frac{5}{6} & 0 & \frac{1}{6} \\[0.3em]
-0 & \frac{5}{6} & \frac{1}{6}
-\end{bmatrix}
-$$
-----
-
-[source,latex]
-----
-$$
-f(x)=
-\begin{cases}
-1/d_{ij} & \quad \text{when $d_{ij} \leq 160$}\\ 
-0 & \quad \text{otherwise}
-\end{cases}
-$$
-----
-
-=== ABC Notation
-
-[source,abc]
-----
-X:1
-T:Ohne Titel
-C:Aufgezeichnet 1784
-A:Seibis nahe Lichtenberg in Oberfranken
-S:Handschrift, bezeichnet und datiert: "Heinrich Nicol Philipp zu Seibis den 30 Junius 1784"
-M:4/4
-L:1/4
-K:D
-dd d2 | ee e2 | fg ad | cB cA |\
-dd d2 | ee e2 | fg ad | ed/c/ d2 :|
-|:\
-fg ad | cB cA | fg ad | cB cA |\
-dd d2 | ee e2 | fg ad | ed/c/ d2 :|
-----
-
-=== PlantUML
-
-[source,plantuml]
-----
-@startuml
-Alice -> Bob: Authentication Request
-Bob --> Alice: Authentication Response
-@enduml
-----
-
-=== BPMN
-
-[source,plantuml]
-----
-@startbpmn
-start
-:Task 1;
-:Task 2;
-stop
-@endbpmn
-----
-
-== LaTeX
-
-=== LaTeX in inline-code
-
-`$[ x^n + y^n = z^n \]== Bullet list
-
-This is a test unordered list with mixed bullets:
-
-* First item with a number 2. in it
-* Second item
-* Third item
-** Indented item
-** Indented item
-* Fourth item
-
-Another unordered list:
-
-* 1st item
-* 2nd item
-* third item containing _italic_ text
-** indented item
-** second indented item
-* fourth item
-
-This is a test ordered list with indented items:
-
-. First item
-. Second item
-. Third item
-.. Indented item
-.. Indented item
-. Fourth item
-
-Ordered list where everything has no number:
-
-. First item
-. Second item
-. Third item
-. Fourth item
-
-This is a mixed list with indented items:
-
-. First item
-. Second item
-. Third item
-* Indented item
-* Indented item
-. Fourth item
-
-This is another mixed list with indented items:
-
-* First item
-* Second item
-* Third item
-. Indented item
-. Indented item
-* Fourth item
-
-== Headers
-
-=== Third-level header
-
-==== Fourth-level header
-
-===== Fifth-level header
-
-====== Sixth-level header
-
-== Media and Links
-
-=== Nostr address
-
-This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l
-
-This is also plaintext:
-
-npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q
-
-These should be turned into links:
-
-link:nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l[naddr1qv...]
-
-link:nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z[npub1l5s...]
-
-link:nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj[nevent1q...]
-
-link:nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh[nprofile...]
-
-link:nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg[note1txy...]
-
-=== Hashtag
-
-hashtag:testhashtag[#testhashtag] at the start of the line and hashtag:inlinehashtag[#inlinehashtag] in the middle
-
-=== Wikilinks
-
-WIKILINK:nkbip-01|Specification and WIKILINK:mirepoix|mirepoix
-
-=== URL
-
-https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html
-
-link:https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html[Welt Online link]
-
-this should render as plaintext: `http://www.example.com`
-
-this should be a hyperlink: www.example.com
-
-this should be a hyperlink to the http URL with the same address, so wss://theforest.nostr1.com should render like link:wss://theforest.nostr1.com[https://theforest.nostr1.com]
-
-=== Images
-
-https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png
-
-image::https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png[test image, width=100%]
-
-=== Media
-
-==== YouTube
-
-https://youtube.com/shorts/ZWfvChb-i0w
-
-link:https://youtube.com/shorts/ZWfvChb-i0w[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Youtube link with pic]]
-
-==== Spotify
-
-MEDIA:spotify:episode:1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ
-
-link:MEDIA:spotify:episode:1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Spotify link with pic]]
-
-==== Audio
-
-MEDIA:audio:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3
-
-link:MEDIA:audio:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Audio link with pic]]
-
-==== Video
-
-MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4
-
-link:MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Video link with pic]]
-
-== Tables
-
-=== Orderly
-
-[cols="1,2"]
-|===
-|Syntax|Description
-|Header|Title
-|Paragraph|Text
-|===
-
-=== Unorderly
-
-[cols="1,2"]
-|===
-|Syntax|Description
-|Header|Title
-|Paragraph|Text
-|===
-
-=== With alignment
-
-[cols="<,^,>"]
-|===
-|Syntax|Description|Test Text
-|Header|Title|Here's this
-|Paragraph|Text|And more
-|===
-
-== Code blocks
-
-=== json
-
-[source,json]
-----
-{
-    "id": "<event_id>",
-    "pubkey": "<event_originator_pubkey>",
-    "created_at": 1725087283,
-    "kind": 30040,
-    "tags": [
-        ["d", "aesop's-fables-by-aesop"],
-        ["title", "Aesop's Fables"],
-        ["author", "Aesop"],
-    ],
-    "sig": "<event_signature>"
-}
-----
-
-=== typescript
-
-[source,typescript]
-----
-/**
- * Get Nostr identifier type
- */
-function getNostrType(id: string): 'npub' | 'nprofile' | 'nevent' | 'naddr' | 'note' | null {
-  if (id.startsWith('npub')) return 'npub';
-  if (id.startsWith('nprofile')) return 'nprofile';
-  if (id.startsWith('nevent')) return 'nevent';
-  if (id.startsWith('naddr')) return 'naddr';
-  if (id.startsWith('note')) return 'note';
-  return null;
-}
-----
-
-=== shell
-
-[source,shell]
-----
-
-mkdir new_directory
-cp source.txt destination.txt
-
-----
-
-=== LaTeX
-
-[source,latex]
-----
-$$
-M = 
-\begin{bmatrix}
-\frac{5}{6} & \frac{1}{6} & 0 \\[0.3em]
-\frac{5}{6} & 0 & \frac{1}{6} \\[0.3em]
-0 & \frac{5}{6} & \frac{1}{6}
-\end{bmatrix}
-$$
-----
-
-[source,latex]
-----
-$$
-f(x)=
-\begin{cases}
-1/d_{ij} & \quad \text{when $d_{ij} \leq 160$}\\ 
-0 & \quad \text{otherwise}
-\end{cases}
-$$
-----
-
-=== ABC Notation
-
-[source,abc]
-----
-X:1
-T:Ohne Titel
-C:Aufgezeichnet 1784
-A:Seibis nahe Lichtenberg in Oberfranken
-S:Handschrift, bezeichnet und datiert: "Heinrich Nicol Philipp zu Seibis den 30 Junius 1784"
-M:4/4
-L:1/4
-K:D
-dd d2 | ee e2 | fg ad | cB cA |\
-dd d2 | ee e2 | fg ad | ed/c/ d2 :|
-|:\
-fg ad | cB cA | fg ad | cB cA |\
-dd d2 | ee e2 | fg ad | ed/c/ d2 :|
-----
-
-=== PlantUML
-
-[source,plantuml]
-----
-@startuml
-Alice -> Bob: Authentication Request
-Bob --> Alice: Authentication Response
-@enduml
-----
-
-=== BPMN
-
-[source,plantuml]
-----
-@startbpmn
-start
-:Task 1;
-:Task 2;
-stop
-@endbpmn
-----
-
-== LaTeX
+dd d2 | ee e2 | fg ad | ed/c/ d2 :|</code></pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="latex-2"><a class="anchor" href="#latex-2"></a><a class="link" href="#latex-2">LateX</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="latex-in-inline-code"><a class="anchor" href="#latex-in-inline-code"></a><a class="link" href="#latex-in-inline-code">LaTex in inline-code</a></h3>
+<div class="paragraph">
+<p><code>$[ x^n + y^n = z^n \]$</code> and <code>$[\sqrt{x^2+1}\]$</code> and <code>$\color{blue}{X \sim Normal \; (\mu,\sigma^2)}$</code></p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="latex-outside-of-code"><a class="anchor" href="#latex-outside-of-code"></a><a class="link" href="#latex-outside-of-code">LaTex outside of code</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>This is a latex code block \mathbb{N} = \{ a \in \mathbb{Z} : a &gt; 0 \} and another that is an inline latex $\color{green}{X \sim Normal \; (\mu,\sigma^2)}$ and should be green</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="footnotes"><a class="anchor" href="#footnotes"></a><a class="link" href="#footnotes">Footnotes</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Here_s a simple footnote,[^1] and here_s a longer one.[^bignote]</p>
+</div>
+<div class="paragraph">
+<p>[^1]: This is the first footnote.</p>
+</div>
+<div class="paragraph">
+<p>[^bignote]: Here_s one with multiple paragraphs and code.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="anchor-links"><a class="anchor" href="#anchor-links"></a><a class="link" href="#anchor-links">Anchor links</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><a href="#bullet-lists" rel="noreferrer noopener" class="break-words inline-flex items-baseline gap-1">Link to bullet list section <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a></p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="formatting"><a class="anchor" href="#formatting"></a><a class="link" href="#formatting">Formatting</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="strikethrough"><a class="anchor" href="#strikethrough"></a><a class="link" href="#strikethrough">Strikethrough</a></h3>
+<div class="paragraph">
+<p>~~The world is flat.~~ We now know that the world is round. This should not be <sub>struck</sub> through.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="bold"><a class="anchor" href="#bold"></a><a class="link" href="#bold">Bold</a></h3>
+<div class="paragraph">
+<p>This is <strong>bold</strong> text. So is this <strong>bold</strong> text.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="italic"><a class="anchor" href="#italic"></a><a class="link" href="#italic">Italic</a></h3>
+<div class="paragraph">
+<p>This is <em>italic</em> text. So is this <em>italic</em> text.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="task-list"><a class="anchor" href="#task-list"></a><a class="link" href="#task-list">Task List</a></h3>
+<div class="ulist checklist">
+<ul class="checklist">
+<li>
+<p>&#10003; Write the press release</p>
+</li>
+<li>
+<p>&#10063; Update the website</p>
+</li>
+<li>
+<p>&#10063; Contact the media</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="emoji-shortcodes"><a class="anchor" href="#emoji-shortcodes"></a><a class="link" href="#emoji-shortcodes">Emoji shortcodes</a></h3>
+<div class="paragraph">
+<p>Gone camping! :tent: Be back soon.</p>
+</div>
+<div class="paragraph">
+<p>That is so funny! :joy:</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="marking-and-highlighting-text"><a class="anchor" href="#marking-and-highlighting-text"></a><a class="link" href="#marking-and-highlighting-text">Marking and highlighting text</a></h3>
+<div class="paragraph">
+<p>I need to highlight these ==very important words==.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="subscript-and-superscript"><a class="anchor" href="#subscript-and-superscript"></a><a class="link" href="#subscript-and-superscript">Subscript and Superscript</a></h3>
+<div class="paragraph">
+<p>H<sub>2</sub>O</p>
+</div>
+<div class="paragraph">
+<p>X<sup>2</sup></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="delimiter"><a class="anchor" href="#delimiter"></a><a class="link" href="#delimiter">Delimiter</a></h3>
+<div class="paragraph">
+<p>based upon a -</p>
+</div>
+<hr>
+<div class="paragraph">
+<p>based upon a *</p>
+</div>
+<hr>
+</div>
+<div class="sect2">
+<h3 id="quotes"><a class="anchor" href="#quotes"></a><a class="link" href="#quotes">Quotes</a></h3>
+<div class="quoteblock">
+<blockquote>
+<div class="paragraph">
+<p>This is a single line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd  kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj</p>
+</div>
+</blockquote>
+</div>
+<div class="quoteblock">
+<blockquote>
+<div class="paragraph">
+<p>This is a multi line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd  kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj
+This is a multi line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd  kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj
+This is a multi line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd  kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj</p>
+</div>
+</blockquote>
+</div>
+</div>
+</div>
+</div>
+
+
+
+ +
+

Extracted Metadata

+ + +

Nostr Links (5)

+ +
+ naddr: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l + - nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l +
+ +
+ npub: npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z + - nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z +
+ +
+ nevent: nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj + - nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj +
+ +
+ nprofile: nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh + - nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh +
+ +
+ note: note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg + - nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg +
+ + + + +

Wikilinks (2)

+ +
+ [[NKBIP-01|Specification]] → dtag: nkbip-01 + (display: Specification) +
+ +
+ [[mirepoix]] → dtag: mirepoix + (display: mirepoix) +
+ + + + +

Hashtags (3)

+ +
+ #testhashtag +
+ +
+ #inlinehashtag +
+ +
+ #bullet +
+ + + + +

Links (18)

+ +
+ Welt Online link + External +
+ + + +
+ test image + External +
+ +
+ ![Youtube link with pic + External +
+ + + + + + + +
+ http://www.example.com` + External +
+ + + + + + + + + + + + + + + + + + + + + + + + +

Media URLs (3)

+ + + + + + + + + + +

Table of Contents

+ + +
+
+ + +
+

AsciiDoc Document Test ✓ Parsed

+ +
+ + + + +
+ +
+
+
+
5
+
Nostr Links
+
+
+
2
+
Wikilinks
+
+
+
4
+
Hashtags
+
+
+
15
+
Links
+
+
+
2
+
Media URLs
+
+
+
Yes
+
Has LaTeX
+
+
+
No
+
Has Music
+
+
+ +

Frontmatter

+ + + +
+ +
+

Original AsciiDoc Content

+
+
= AsciiDoc Test Document
+Kismet Lee 
+2.9, October 31, 2021: Fall incarnation
+:description: Test description
+:author: Kismet Lee
+:date: 2021-10-31
+:version: 2.9
+:status: Draft
+:keywords: AsciiDoc, Test, Document
+:category: Test
+:language: English
 
- and `$[\sqrt{x^2+1}\]== Bullet list
+== Bullet list
 
 This is a test unordered list with mixed bullets:
 
@@ -4131,23 +2142,23 @@ npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q
 
 These should be turned into links:
 
-link:nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l[naddr1qv...]
+nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l
 
-link:nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z[npub1l5s...]
+nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z
 
-link:nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj[nevent1q...]
+nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj
 
-link:nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh[nprofile...]
+nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh
 
-link:nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg[note1txy...]
+nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg
 
 === Hashtag
 
-hashtag:testhashtag[#testhashtag] at the start of the line and hashtag:inlinehashtag[#inlinehashtag] in the middle
+#testhashtag at the start of the line and #inlinehashtag in the middle
 
 === Wikilinks
 
-WIKILINK:nkbip-01|Specification and WIKILINK:mirepoix|mirepoix
+[[NKBIP-01|Specification]] and [[mirepoix]]
 
 === URL
 
@@ -4177,21 +2188,21 @@ link:https://youtube.com/shorts/ZWfvChb-i0w[image:https://upload.wikimedia.org/w
 
 ==== Spotify
 
-MEDIA:spotify:episode:1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ
+https://open.spotify.com/episode/1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ
 
-link:MEDIA:spotify:episode:1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Spotify link with pic]]
+link:https://open.spotify.com/episode/1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Spotify link with pic]]
 
 ==== Audio
 
-MEDIA:audio:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3
+https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3
 
-link:MEDIA:audio:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Audio link with pic]]
+link:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Audio link with pic]]
 
 ==== Video
 
-MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4
+https://v.nostr.build/MTjaYib4upQuf8zn.mp4
 
-link:MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Video link with pic]]
+link:https://v.nostr.build/MTjaYib4upQuf8zn.mp4[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Video link with pic]]
 
 == Tables
 
@@ -4280,29 +2291,1350 @@ M =
 \frac{5}{6} & 0 & \frac{1}{6} \\[0.3em]
 0 & \frac{5}{6} & \frac{1}{6}
 \end{bmatrix}
-$$
-----
-
-[source,latex]
-----
-$$
+$$
+----
+
+[source,latex]
+----
+$$
+f(x)=
+\begin{cases}
+1/d_{ij} & \quad \text{when $d_{ij} \leq 160$}\\ 
+0 & \quad \text{otherwise}
+\end{cases}
+$$
+----
+
+=== ABC Notation
+
+[source,abc]
+----
+X:1
+T:Ohne Titel
+C:Aufgezeichnet 1784
+A:Seibis nahe Lichtenberg in Oberfranken
+S:Handschrift, bezeichnet und datiert: "Heinrich Nicol Philipp zu Seibis den 30 Junius 1784"
+M:4/4
+L:1/4
+K:D
+dd d2 | ee e2 | fg ad | cB cA |\
+dd d2 | ee e2 | fg ad | ed/c/ d2 :|
+|:\
+fg ad | cB cA | fg ad | cB cA |\
+dd d2 | ee e2 | fg ad | ed/c/ d2 :|
+----
+
+=== PlantUML
+
+[source,plantuml]
+----
+@startuml
+Alice -> Bob: Authentication Request
+Bob --> Alice: Authentication Response
+@enduml
+----
+
+=== BPMN
+
+[source,plantuml]
+----
+@startbpmn
+start
+:Task 1;
+:Task 2;
+stop
+@endbpmn
+----
+
+== LaTeX
+
+=== LaTeX in inline-code
+
+`$[ x^n + y^n = z^n \]$` and `$[\sqrt{x^2+1}\]$` and `$\color{blue}{X \sim Normal \; (\mu,\sigma^2)}$`
+
+== LaTeX outside of code
+
+This is a latex code block $$\mathbb{N} = \{ a \in \mathbb{Z} : a > 0 \}$$ and another that is an inline latex $\color{green}{X \sim Normal \; (\mu,\sigma^2)}$ and should be green
+
+== Footnotes
+
+Here's a simple footnote,footnote:[This is the first footnote.] and here's a longer one.footnote:[Here's one with multiple paragraphs and code.]
+
+== Anchor links
+
+<<bullet-list,Link to bullet list section>>
+
+== Formatting
+
+=== Strikethrough
+
+[line-through]#The world is flat.# We now know that the world is round. This should not be ~struck~ through.
+
+=== Bold
+
+This is *bold* text. So is this *bold* text.
+
+=== Italic
+
+This is _italic_ text. So is this _italic_ text.
+
+=== Task List
+
+* [x] Write the press release
+* [ ] Update the website
+* [ ] Contact the media
+
+=== Emoji shortcodes
+
+Gone camping! :tent: Be back soon.
+
+That is so funny! :joy:
+
+=== Marking and highlighting text
+
+I need to highlight these [highlight]#very important words#.
+
+=== Subscript and Superscript
+
+H~2~O
+
+X^2^
+
+=== Delimiter
+
+based upon a -
+
+'''
+
+based upon a *
+
+'''
+
+=== Quotes
+
+[quote]
+____
+This is a single line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd  kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj
+____
+
+[quote]
+____
+This is a multi line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd  kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj
+This is a multi line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd  kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj
+This is a multi line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd  kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj
+This is a multi line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd  kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj
+____
+
+
+
+ +
+

Rendered HTML Output

+
+
+

Bullet list

+
+
+

This is a test unordered list with mixed bullets:

+
+
+
    +
  • +

    First item with a number 2. in it

    +
  • +
  • +

    Second item

    +
  • +
  • +

    Third item

    +
    +
      +
    • +

      Indented item

      +
    • +
    • +

      Indented item

      +
    • +
    +
    +
  • +
  • +

    Fourth item

    +
  • +
+
+
+

Another unordered list:

+
+
+
    +
  • +

    1st item

    +
  • +
  • +

    2nd item

    +
  • +
  • +

    third item containing italic text

    +
    +
      +
    • +

      indented item

      +
    • +
    • +

      second indented item

      +
    • +
    +
    +
  • +
  • +

    fourth item

    +
  • +
+
+
+

This is a test ordered list with indented items:

+
+
+
    +
  1. +

    First item

    +
  2. +
  3. +

    Second item

    +
  4. +
  5. +

    Third item

    +
    +
      +
    1. +

      Indented item

      +
    2. +
    3. +

      Indented item

      +
    4. +
    +
    +
  6. +
  7. +

    Fourth item

    +
  8. +
+
+
+

Ordered list where everything has no number:

+
+
+
    +
  1. +

    First item

    +
  2. +
  3. +

    Second item

    +
  4. +
  5. +

    Third item

    +
  6. +
  7. +

    Fourth item

    +
  8. +
+
+
+

This is a mixed list with indented items:

+
+
+
    +
  1. +

    First item

    +
  2. +
  3. +

    Second item

    +
  4. +
  5. +

    Third item

    +
    +
      +
    • +

      Indented item

      +
    • +
    • +

      Indented item

      +
    • +
    +
    +
  6. +
  7. +

    Fourth item

    +
  8. +
+
+
+

This is another mixed list with indented items:

+
+
+
    +
  • +

    First item

    +
  • +
  • +

    Second item

    +
  • +
  • +

    Third item

    +
    +
      +
    1. +

      Indented item

      +
    2. +
    3. +

      Indented item

      +
    4. +
    +
    +
  • +
  • +

    Fourth item

    +
  • +
+
+
+
+ +
+ +
+
+

Nostr address

+
+

This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l

+
+
+

This is also plaintext:

+
+
+

npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q

+
+
+

These should be turned into links:

+
+ + + + + +
+
+

Hashtag

+
+

#testhashtag at the start of the line and #inlinehashtag in the middle

+
+
+ + +
+ + +
+

Video

+ +
+

link:MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4[ + Video link with pic +

+ ]

+
+
+
+
+
+
+

Tables

+
+
+

Orderly

+ ++++ + + + + + + + + + + + + + + +

Syntax

Description

Header

Title

Paragraph

Text

+
+
+

Unorderly

+ ++++ + + + + + + + + + + + + + + +

Syntax

Description

Header

Title

Paragraph

Text

+
+
+

With alignment

+ +++++ + + + + + + + + + + + + + + + + + +

Syntax

Description

Test Text

Header

Title

Here_s this

Paragraph

Text

And more

+
+
+
+
+

Code blocks

+
+
+

json

+
+
+
'''
+{
+    "id": "<event_id>",
+    "pubkey": "<event_originator_pubkey>",
+    "created_at": 1725087283,
+    "kind": 30040,
+    "tags": [
+        ["d", "aesop_s-fables-by-aesop"],
+        ["title", "Aesop_s Fables"],
+        ["author", "Aesop"],
+    ],
+    "sig": "<event_signature>"
+}
+'''
+
+
+
+
+

typescript

+
+
+
'''
+/**
+ * Get Nostr identifier type
+ */
+function getNostrType(id: string): _npub_ | _nprofile_ | _nevent_ | _naddr_ | _note_ | null {
+  if (id.startsWith(_npub_)) return _npub_;
+  if (id.startsWith(_nprofile_)) return _nprofile_;
+  if (id.startsWith(_nevent_)) return _nevent_;
+  if (id.startsWith(_naddr_)) return _naddr_;
+  if (id.startsWith(_note_)) return _note_;
+  return null;
+}
+'''
+
+
+
+
+

shell

+
+
+
'''
+
+
+
+

mkdir new_directory +cp source.txt destination.txt

+
+
+
+
+

LaTeX

+
+
+
'''
+$
+M =
+\begin{bmatrix}
+\frac{5}{6} & \frac{1}{6} & 0 \\[0.3em]
+\frac{5}{6} & 0 & \frac{1}{6} \\[0.3em]
+0 & \frac{5}{6} & \frac{1}{6}
+\end{bmatrix}
+$
+'''
+
+
+
+
+
'''
+$
+f(x)=
+\begin{cases}
+1/d_{ij} & \quad \text{when $d_{ij} \leq 160$}\\
+0 & \quad \text{otherwise}
+\end{cases}
+$
+'''
+
+
+
+
+

ABC Notation

+
+
+
'''
+X:1
+T:Ohne Titel
+C:Aufgezeichnet 1784
+A:Seibis nahe Lichtenberg in Oberfranken
+S:Handschrift, bezeichnet und datiert: "Heinrich Nicol Philipp zu Seibis den 30 Junius 1784"
+M:4/4
+L:1/4
+K:D
+dd d2 | ee e2 | fg ad | cB cA |\
+dd d2 | ee e2 | fg ad | ed/c/ d2 :|
+|:\
+fg ad | cB cA | fg ad | cB cA |\
+dd d2 | ee e2 | fg ad | ed/c/ d2 :|
+'''
+
+
+
+
+

PlantUML

+
+
+
'''
+@startuml
+Alice -> Bob: Authentication Request
+Bob --> Alice: Authentication Response
+@enduml
+'''
+
+
+
+
+

BPMN

+
+
+
'''
+@startbpmn
+start
+:Task 1;
+:Task 2;
+stop
+@endbpmn
+'''
+
+
+
+
+
+
+

LaTeX

+
+
+

LaTeX in inline-code

+
+

`$[ x^n + y^n = z^n \]== Bullet list

+
+
+

This is a test unordered list with mixed bullets:

+
+
+
    +
  • +

    First item with a number 2. in it

    +
  • +
  • +

    Second item

    +
  • +
  • +

    Third item

    +
    +
      +
    • +

      Indented item

      +
    • +
    • +

      Indented item

      +
    • +
    +
    +
  • +
  • +

    Fourth item

    +
  • +
+
+
+

Another unordered list:

+
+
+
    +
  • +

    1st item

    +
  • +
  • +

    2nd item

    +
  • +
  • +

    third item containing italic text

    +
    +
      +
    • +

      indented item

      +
    • +
    • +

      second indented item

      +
    • +
    +
    +
  • +
  • +

    fourth item

    +
  • +
+
+
+

This is a test ordered list with indented items:

+
+
+
    +
  1. +

    First item

    +
  2. +
  3. +

    Second item

    +
  4. +
  5. +

    Third item

    +
    +
      +
    1. +

      Indented item

      +
    2. +
    3. +

      Indented item

      +
    4. +
    +
    +
  6. +
  7. +

    Fourth item

    +
  8. +
+
+
+

Ordered list where everything has no number:

+
+
+
    +
  1. +

    First item

    +
  2. +
  3. +

    Second item

    +
  4. +
  5. +

    Third item

    +
  6. +
  7. +

    Fourth item

    +
  8. +
+
+
+

This is a mixed list with indented items:

+
+
+
    +
  1. +

    First item

    +
  2. +
  3. +

    Second item

    +
  4. +
  5. +

    Third item

    +
    +
      +
    • +

      Indented item

      +
    • +
    • +

      Indented item

      +
    • +
    +
    +
  6. +
  7. +

    Fourth item

    +
  8. +
+
+
+

This is another mixed list with indented items:

+
+
+
    +
  • +

    First item

    +
  • +
  • +

    Second item

    +
  • +
  • +

    Third item

    +
    +
      +
    1. +

      Indented item

      +
    2. +
    3. +

      Indented item

      +
    4. +
    +
    +
  • +
  • +

    Fourth item

    +
  • +
+
+
+
+
+ +
+ +
+
+

Nostr address

+
+

This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l

+
+
+

This is also plaintext:

+
+
+

npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q

+
+
+

These should be turned into links:

+
+ + + + + +
+
+

Hashtag

+
+

#testhashtag at the start of the line and #inlinehashtag in the middle

+
+
+ + +
+ + +
+

Video

+ +
+

link:MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4[ + Video link with pic +

+ ]

+
+
+
+
+ +
+

Tables

+
+
+

Orderly

+ ++++ + + + + + + + + + + + + + + +

Syntax

Description

Header

Title

Paragraph

Text

+
+
+

Unorderly

+ ++++ + + + + + + + + + + + + + + +

Syntax

Description

Header

Title

Paragraph

Text

+
+
+

With alignment

+ +++++ + + + + + + + + + + + + + + + + + +

Syntax

Description

Test Text

Header

Title

Here_s this

Paragraph

Text

And more

+
+
+
+
+

Code blocks

+
+
+

json

+
+
+
'''
+{
+    "id": "<event_id>",
+    "pubkey": "<event_originator_pubkey>",
+    "created_at": 1725087283,
+    "kind": 30040,
+    "tags": [
+        ["d", "aesop_s-fables-by-aesop"],
+        ["title", "Aesop_s Fables"],
+        ["author", "Aesop"],
+    ],
+    "sig": "<event_signature>"
+}
+'''
+
+
+
+
+

typescript

+
+
+
'''
+/**
+ * Get Nostr identifier type
+ */
+function getNostrType(id: string): _npub_ | _nprofile_ | _nevent_ | _naddr_ | _note_ | null {
+  if (id.startsWith(_npub_)) return _npub_;
+  if (id.startsWith(_nprofile_)) return _nprofile_;
+  if (id.startsWith(_nevent_)) return _nevent_;
+  if (id.startsWith(_naddr_)) return _naddr_;
+  if (id.startsWith(_note_)) return _note_;
+  return null;
+}
+'''
+
+
+
+
+

shell

+
+
+
'''
+
+
+
+

mkdir new_directory +cp source.txt destination.txt

+
+
+
+
+

LaTeX

+
+
+
'''
+$
+M =
+\begin{bmatrix}
+\frac{5}{6} & \frac{1}{6} & 0 \\[0.3em]
+\frac{5}{6} & 0 & \frac{1}{6} \\[0.3em]
+0 & \frac{5}{6} & \frac{1}{6}
+\end{bmatrix}
+$
+'''
+
+
+
+
+
'''
+$
 f(x)=
 \begin{cases}
-1/d_{ij} & \quad \text{when $d_{ij} \leq 160$}\\ 
+1/d_{ij} & \quad \text{when $d_{ij} \leq 160$}\\
 0 & \quad \text{otherwise}
 \end{cases}
-$$
-----
-
-=== ABC Notation
-
-[source,abc]
-----
+$
+'''
+
+
+
+
+

ABC Notation

+
+
+
'''
 X:1
 T:Ohne Titel
 C:Aufgezeichnet 1784
 A:Seibis nahe Lichtenberg in Oberfranken
-S:Handschrift, bezeichnet und datiert: "Heinrich Nicol Philipp zu Seibis den 30 Junius 1784"
+S:Handschrift, bezeichnet und datiert: "Heinrich Nicol Philipp zu Seibis den 30 Junius 1784"
 M:4/4
 L:1/4
 K:D
@@ -4311,282 +3643,626 @@ dd d2 | ee e2 | fg ad | ed/c/ d2 :|
 |:\
 fg ad | cB cA | fg ad | cB cA |\
 dd d2 | ee e2 | fg ad | ed/c/ d2 :|
-----
-
-=== PlantUML
-
-[source,plantuml]
-----
+'''
+
+
+
+
+

PlantUML

+
+
+
'''
 @startuml
 Alice -> Bob: Authentication Request
 Bob --> Alice: Authentication Response
 @enduml
-----
-
-=== BPMN
-
-[source,plantuml]
-----
+'''
+
+
+
+
+

BPMN

+
+
+
'''
 @startbpmn
 start
 :Task 1;
 :Task 2;
 stop
 @endbpmn
-----
-
-== LaTeX
-
-=== LaTeX in inline-code
-
-`$[ x^n + y^n = z^n \]== Bullet list
-
-This is a test unordered list with mixed bullets:
-
-* First item with a number 2. in it
-* Second item
-* Third item
-** Indented item
-** Indented item
-* Fourth item
-
-Another unordered list:
-
-* 1st item
-* 2nd item
-* third item containing _italic_ text
-** indented item
-** second indented item
-* fourth item
-
-This is a test ordered list with indented items:
-
-. First item
-. Second item
-. Third item
-.. Indented item
-.. Indented item
-. Fourth item
-
-Ordered list where everything has no number:
-
-. First item
-. Second item
-. Third item
-. Fourth item
-
-This is a mixed list with indented items:
-
-. First item
-. Second item
-. Third item
-* Indented item
-* Indented item
-. Fourth item
-
-This is another mixed list with indented items:
-
-* First item
-* Second item
-* Third item
-. Indented item
-. Indented item
-* Fourth item
-
-== Headers
-
-=== Third-level header
-
-==== Fourth-level header
-
-===== Fifth-level header
-
-====== Sixth-level header
-
-== Media and Links
-
-=== Nostr address
-
-This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l
-
-This is also plaintext:
-
-npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q
-
-These should be turned into links:
-
-link:nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l[naddr1qv...]
-
-link:nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z[npub1l5s...]
-
-link:nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj[nevent1q...]
-
-link:nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh[nprofile...]
-
-link:nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg[note1txy...]
-
-=== Hashtag
-
-hashtag:testhashtag[#testhashtag] at the start of the line and hashtag:inlinehashtag[#inlinehashtag] in the middle
-
-=== Wikilinks
-
-WIKILINK:nkbip-01|Specification and WIKILINK:mirepoix|mirepoix
-
-=== URL
-
-https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html
-
-link:https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html[Welt Online link]
-
-this should render as plaintext: `http://www.example.com`
-
-this should be a hyperlink: www.example.com
-
-this should be a hyperlink to the http URL with the same address, so wss://theforest.nostr1.com should render like link:wss://theforest.nostr1.com[https://theforest.nostr1.com]
-
-=== Images
-
-https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png
-
-image::https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png[test image, width=100%]
-
-=== Media
-
-==== YouTube
-
-https://youtube.com/shorts/ZWfvChb-i0w
-
-link:https://youtube.com/shorts/ZWfvChb-i0w[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Youtube link with pic]]
-
-==== Spotify
-
-MEDIA:spotify:episode:1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ
-
-link:MEDIA:spotify:episode:1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Spotify link with pic]]
-
-==== Audio
-
-MEDIA:audio:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3
-
-link:MEDIA:audio:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Audio link with pic]]
-
-==== Video
-
-MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4
-
-link:MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Video link with pic]]
-
-== Tables
-
-=== Orderly
-
-[cols="1,2"]
-|===
-|Syntax|Description
-|Header|Title
-|Paragraph|Text
-|===
-
-=== Unorderly
-
-[cols="1,2"]
-|===
-|Syntax|Description
-|Header|Title
-|Paragraph|Text
-|===
-
-=== With alignment
-
-[cols="<,^,>"]
-|===
-|Syntax|Description|Test Text
-|Header|Title|Here's this
-|Paragraph|Text|And more
-|===
-
-== Code blocks
-
-=== json
-
-[source,json]
-----
+'''
+
+
+
+
+
+
+

LaTeX

+
+
+

LaTeX in inline-code

+
+
+
and `$[\sqrt{x^2+1}\]== Bullet list
+
+
+
+

This is a test unordered list with mixed bullets:

+
+
+
    +
  • +

    First item with a number 2. in it

    +
  • +
  • +

    Second item

    +
  • +
  • +

    Third item

    +
    +
      +
    • +

      Indented item

      +
    • +
    • +

      Indented item

      +
    • +
    +
    +
  • +
  • +

    Fourth item

    +
  • +
+
+
+

Another unordered list:

+
+
+
    +
  • +

    1st item

    +
  • +
  • +

    2nd item

    +
  • +
  • +

    third item containing italic text

    +
    +
      +
    • +

      indented item

      +
    • +
    • +

      second indented item

      +
    • +
    +
    +
  • +
  • +

    fourth item

    +
  • +
+
+
+

This is a test ordered list with indented items:

+
+
+
    +
  1. +

    First item

    +
  2. +
  3. +

    Second item

    +
  4. +
  5. +

    Third item

    +
    +
      +
    1. +

      Indented item

      +
    2. +
    3. +

      Indented item

      +
    4. +
    +
    +
  6. +
  7. +

    Fourth item

    +
  8. +
+
+
+

Ordered list where everything has no number:

+
+
+
    +
  1. +

    First item

    +
  2. +
  3. +

    Second item

    +
  4. +
  5. +

    Third item

    +
  6. +
  7. +

    Fourth item

    +
  8. +
+
+
+

This is a mixed list with indented items:

+
+
+
    +
  1. +

    First item

    +
  2. +
  3. +

    Second item

    +
  4. +
  5. +

    Third item

    +
    +
      +
    • +

      Indented item

      +
    • +
    • +

      Indented item

      +
    • +
    +
    +
  6. +
  7. +

    Fourth item

    +
  8. +
+
+
+

This is another mixed list with indented items:

+
+
+
    +
  • +

    First item

    +
  • +
  • +

    Second item

    +
  • +
  • +

    Third item

    +
    +
      +
    1. +

      Indented item

      +
    2. +
    3. +

      Indented item

      +
    4. +
    +
    +
  • +
  • +

    Fourth item

    +
  • +
+
+
+
+
+ +
+ +
+
+

Nostr address

+
+

This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l

+
+
+

This is also plaintext:

+
+
+

npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q

+
+
+

These should be turned into links:

+
+ + + + + +
+
+

Hashtag

+
+

#testhashtag at the start of the line and #inlinehashtag in the middle

+
+
+ + +
+ + +
+

Video

+ +
+

link:MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4[ + Video link with pic +

+ ]

+
+
+
+ + +
+

Tables

+
+
+

Orderly

+ ++++ + + + + + + + + + + + + + + +

Syntax

Description

Header

Title

Paragraph

Text

+
+
+

Unorderly

+ ++++ + + + + + + + + + + + + + + +

Syntax

Description

Header

Title

Paragraph

Text

+
+
+

With alignment

+ +++++ + + + + + + + + + + + + + + + + + +

Syntax

Description

Test Text

Header

Title

Here_s this

Paragraph

Text

And more

+
+
+
+
+

Code blocks

+
+
+

json

+
+
+
'''
 {
-    "id": "<event_id>",
-    "pubkey": "<event_originator_pubkey>",
-    "created_at": 1725087283,
-    "kind": 30040,
-    "tags": [
-        ["d", "aesop's-fables-by-aesop"],
-        ["title", "Aesop's Fables"],
-        ["author", "Aesop"],
+    "id": "<event_id>",
+    "pubkey": "<event_originator_pubkey>",
+    "created_at": 1725087283,
+    "kind": 30040,
+    "tags": [
+        ["d", "aesop_s-fables-by-aesop"],
+        ["title", "Aesop_s Fables"],
+        ["author", "Aesop"],
     ],
-    "sig": "<event_signature>"
+    "sig": "<event_signature>"
 }
-----
-
-=== typescript
-
-[source,typescript]
-----
+'''
+
+
+
+
+

typescript

+
+
+
'''
 /**
- * Get Nostr identifier type
- */
-function getNostrType(id: string): 'npub' | 'nprofile' | 'nevent' | 'naddr' | 'note' | null {
-  if (id.startsWith('npub')) return 'npub';
-  if (id.startsWith('nprofile')) return 'nprofile';
-  if (id.startsWith('nevent')) return 'nevent';
-  if (id.startsWith('naddr')) return 'naddr';
-  if (id.startsWith('note')) return 'note';
+ * Get Nostr identifier type
+ */
+function getNostrType(id: string): _npub_ | _nprofile_ | _nevent_ | _naddr_ | _note_ | null {
+  if (id.startsWith(_npub_)) return _npub_;
+  if (id.startsWith(_nprofile_)) return _nprofile_;
+  if (id.startsWith(_nevent_)) return _nevent_;
+  if (id.startsWith(_naddr_)) return _naddr_;
+  if (id.startsWith(_note_)) return _note_;
   return null;
 }
-----
-
-=== shell
-
-[source,shell]
-----
-
-mkdir new_directory
-cp source.txt destination.txt
-
-----
-
-=== LaTeX
-
-[source,latex]
-----
-$$
-M = 
+'''
+
+
+
+
+

shell

+
+
+
'''
+
+
+
+

mkdir new_directory +cp source.txt destination.txt

+
+
+
+
+

LaTeX

+
+
+
'''
+$
+M =
 \begin{bmatrix}
 \frac{5}{6} & \frac{1}{6} & 0 \\[0.3em]
 \frac{5}{6} & 0 & \frac{1}{6} \\[0.3em]
 0 & \frac{5}{6} & \frac{1}{6}
 \end{bmatrix}
-$$
-----
-
-[source,latex]
-----
-$$
+$
+'''
+
+
+
+
+
'''
+$
 f(x)=
 \begin{cases}
-1/d_{ij} & \quad \text{when $d_{ij} \leq 160$}\\ 
+1/d_{ij} & \quad \text{when $d_{ij} \leq 160$}\\
 0 & \quad \text{otherwise}
 \end{cases}
-$$
-----
-
-=== ABC Notation
-
-[source,abc]
-----
+$
+'''
+
+
+
+
+

ABC Notation

+
+
+
'''
 X:1
 T:Ohne Titel
 C:Aufgezeichnet 1784
 A:Seibis nahe Lichtenberg in Oberfranken
-S:Handschrift, bezeichnet und datiert: "Heinrich Nicol Philipp zu Seibis den 30 Junius 1784"
+S:Handschrift, bezeichnet und datiert: "Heinrich Nicol Philipp zu Seibis den 30 Junius 1784"
 M:4/4
 L:1/4
 K:D
@@ -4595,277 +4271,1250 @@ dd d2 | ee e2 | fg ad | ed/c/ d2 :|
 |:\
 fg ad | cB cA | fg ad | cB cA |\
 dd d2 | ee e2 | fg ad | ed/c/ d2 :|
-----
-
-=== PlantUML
-
-[source,plantuml]
-----
+'''
+
+
+
+
+

PlantUML

+
+
+
'''
 @startuml
 Alice -> Bob: Authentication Request
 Bob --> Alice: Authentication Response
 @enduml
-----
-
-=== BPMN
-
-[source,plantuml]
-----
+'''
+
+
+
+
+

BPMN

+
+
+
'''
 @startbpmn
 start
 :Task 1;
 :Task 2;
 stop
 @endbpmn
-----
-
-== LaTeX
-
-=== LaTeX in inline-code
-
- and  and `$\color{blue}{X \sim Normal \; (\mu,\sigma^2)}== Bullet list
-
-This is a test unordered list with mixed bullets:
-
-* First item with a number 2. in it
-* Second item
-* Third item
-** Indented item
-** Indented item
-* Fourth item
-
-Another unordered list:
-
-* 1st item
-* 2nd item
-* third item containing _italic_ text
-** indented item
-** second indented item
-* fourth item
-
-This is a test ordered list with indented items:
-
-. First item
-. Second item
-. Third item
-.. Indented item
-.. Indented item
-. Fourth item
-
-Ordered list where everything has no number:
-
-. First item
-. Second item
-. Third item
-. Fourth item
-
-This is a mixed list with indented items:
-
-. First item
-. Second item
-. Third item
-* Indented item
-* Indented item
-. Fourth item
-
-This is another mixed list with indented items:
-
-* First item
-* Second item
-* Third item
-. Indented item
-. Indented item
-* Fourth item
-
-== Headers
-
-=== Third-level header
-
-==== Fourth-level header
-
-===== Fifth-level header
-
-====== Sixth-level header
-
-== Media and Links
-
-=== Nostr address
-
-This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l
-
-This is also plaintext:
-
-npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q
-
-These should be turned into links:
-
-link:nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l[naddr1qv...]
-
-link:nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z[npub1l5s...]
-
-link:nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj[nevent1q...]
-
-link:nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh[nprofile...]
-
-link:nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg[note1txy...]
-
-=== Hashtag
-
-hashtag:testhashtag[#testhashtag] at the start of the line and hashtag:inlinehashtag[#inlinehashtag] in the middle
-
-=== Wikilinks
-
-WIKILINK:nkbip-01|Specification and WIKILINK:mirepoix|mirepoix
-
-=== URL
-
-https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html
-
-link:https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html[Welt Online link]
-
-this should render as plaintext: `http://www.example.com`
-
-this should be a hyperlink: www.example.com
-
-this should be a hyperlink to the http URL with the same address, so wss://theforest.nostr1.com should render like link:wss://theforest.nostr1.com[https://theforest.nostr1.com]
-
-=== Images
-
-https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png
-
-image::https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png[test image, width=100%]
-
-=== Media
-
-==== YouTube
-
-https://youtube.com/shorts/ZWfvChb-i0w
-
-link:https://youtube.com/shorts/ZWfvChb-i0w[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Youtube link with pic]]
-
-==== Spotify
-
-MEDIA:spotify:episode:1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ
-
-link:MEDIA:spotify:episode:1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Spotify link with pic]]
-
-==== Audio
-
-MEDIA:audio:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3
-
-link:MEDIA:audio:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Audio link with pic]]
-
-==== Video
-
-MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4
-
-link:MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Video link with pic]]
-
-== Tables
-
-=== Orderly
-
-[cols="1,2"]
-|===
-|Syntax|Description
-|Header|Title
-|Paragraph|Text
-|===
-
-=== Unorderly
-
-[cols="1,2"]
-|===
-|Syntax|Description
-|Header|Title
-|Paragraph|Text
-|===
-
-=== With alignment
-
-[cols="<,^,>"]
-|===
-|Syntax|Description|Test Text
-|Header|Title|Here's this
-|Paragraph|Text|And more
-|===
-
-== Code blocks
-
-=== json
-
-[source,json]
-----
+'''
+
+
+
+
+
+
+

LaTeX

+
+
+

LaTeX in inline-code

+
+

`$[ x^n + y^n = z^n \] +

+
+ View Raw HTML (Final Processed State) +
+
<div class="sect1">
+<h2 id="bullet-list"><a class="anchor" href="#bullet-list"></a><a class="link" href="#bullet-list">Bullet list</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>This is a test unordered list with mixed bullets:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>First item with a number 2. in it</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+<div class="ulist">
+<ul>
+<li>
+<p>Indented item</p>
+</li>
+<li>
+<p>Indented item</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Another unordered list:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>1st item</p>
+</li>
+<li>
+<p>2nd item</p>
+</li>
+<li>
+<p>third item containing <em>italic</em> text</p>
+<div class="ulist">
+<ul>
+<li>
+<p>indented item</p>
+</li>
+<li>
+<p>second indented item</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>fourth item</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>This is a test ordered list with indented items:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>First item</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+<div class="olist loweralpha">
+<ol class="loweralpha" type="a">
+<li>
+<p>Indented item</p>
+</li>
+<li>
+<p>Indented item</p>
+</li>
+</ol>
+</div>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>Ordered list where everything has no number:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>First item</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>This is a mixed list with indented items:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>First item</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+<div class="ulist">
+<ul>
+<li>
+<p>Indented item</p>
+</li>
+<li>
+<p>Indented item</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>This is another mixed list with indented items:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>First item</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Indented item</p>
+</li>
+<li>
+<p>Indented item</p>
+</li>
+</ol>
+</div>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="headers"><a class="anchor" href="#headers"></a><a class="link" href="#headers">Headers</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="third-level-header"><a class="anchor" href="#third-level-header"></a><a class="link" href="#third-level-header">Third-level header</a></h3>
+<div class="sect3">
+<h4 id="fourth-level-header"><a class="anchor" href="#fourth-level-header"></a><a class="link" href="#fourth-level-header">Fourth-level header</a></h4>
+<div class="sect4">
+<h5 id="fifth-level-header"><a class="anchor" href="#fifth-level-header"></a><a class="link" href="#fifth-level-header">Fifth-level header</a></h5>
+<div class="sect5">
+<h6 id="sixth-level-header"><a class="anchor" href="#sixth-level-header"></a><a class="link" href="#sixth-level-header">Sixth-level header</a></h6>
+
+</div>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="media-and-links"><a class="anchor" href="#media-and-links"></a><a class="link" href="#media-and-links">Media and Links</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="nostr-address"><a class="anchor" href="#nostr-address"></a><a class="link" href="#nostr-address">Nostr address</a></h3>
+<div class="paragraph">
+<p>This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l</p>
+</div>
+<div class="paragraph">
+<p>This is also plaintext:</p>
+</div>
+<div class="paragraph">
+<p>npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q</p>
+</div>
+<div class="paragraph">
+<p>These should be turned into links:</p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l">naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l</a></p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z">npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z</a></p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj">nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj</a></p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh">nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh</a></p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg">note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg</a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="hashtag"><a class="anchor" href="#hashtag"></a><a class="link" href="#hashtag">Hashtag</a></h3>
+<div class="paragraph">
+<p><a class="hashtag-link text-primary-600 dark:text-primary-500 hover:underline" data-topic="testhashtag" data-url="/notes?t=testhashtag" href="/notes?t=testhashtag">#testhashtag</a> at the start of the line and <a class="hashtag-link text-primary-600 dark:text-primary-500 hover:underline" data-topic="inlinehashtag" data-url="/notes?t=inlinehashtag" href="/notes?t=inlinehashtag">#inlinehashtag</a> in the middle</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="wikilinks"><a class="anchor" href="#wikilinks"></a><a class="link" href="#wikilinks">Wikilinks</a></h3>
+<div class="paragraph">
+<p><a class="wikilink text-primary-600 dark:text-primary-500 hover:underline" data-dtag="nkbip-01" data-url="/events?d=nkbip-01" href="/events?d=nkbip-01">Specification</a> and <a class="wikilink text-primary-600 dark:text-primary-500 hover:underline" data-dtag="mirepoix" data-url="/events?d=mirepoix" href="/events?d=mirepoix">mirepoix</a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="url"><a class="anchor" href="#url"></a><a class="link" href="#url">URL</a></h3>
+<div class="paragraph">
+<p><span class="opengraph-link-container" data-og-url="https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html">
+      <a href="https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span></p>
+</div>
+<div class="paragraph">
+<p><span class="opengraph-link-container" data-og-url="https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html">
+      <a href="https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span>[Welt Online link]</p>
+</div>
+<div class="paragraph">
+<p>this should render as plaintext: <code>http://www.example.com</code></p>
+</div>
+<div class="paragraph">
+<p>this should be a hyperlink: www.example.com</p>
+</div>
+<div class="paragraph">
+<p>this should be a hyperlink to the http URL with the same address, so <a href="https://theforest.nostr1.com/" target="_blank" rel="noopener noreferrer">wss://theforest.nostr1.com</a> should render like <a href="https://theforest.nostr1.com"https://theforest.nostr1.com" target="_blank" rel="noopener noreferrer">wss://theforest.nostr1.com<a href="https://theforest.nostr1.com" target="_blank" rel="noreferrer noopener" class="break-words inline-flex items-baseline gap-1">width=100%&quot;&gt;
+&lt;/div&gt;
+&lt;/div&gt;
+&lt;div class=&quot;imageblock&quot;&gt;
+&lt;div class=&quot;content&quot;&gt;
+&lt;img src=&quot;image::https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png&quot; alt=&quot;https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>[width=100%][test image" width="100%">
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="media"><a class="anchor" href="#media"></a><a class="link" href="#media">Media</a></h3>
+<div class="sect3">
+<h4 id="youtube"><a class="anchor" href="#youtube"></a><a class="link" href="#youtube">YouTube</a></h4>
+<div class="paragraph">
+<p><a href="https://youtube.com/shorts/ZWfvChb-i0w" target="_blank" rel="noopener noreferrer">https://youtube.com/shorts/ZWfvChb-i0w</a></p>
+</div>
+<div class="paragraph">
+<p><a href="https://youtube.com/shorts/ZWfvChb-i0w" target="_blank" rel="noopener noreferrer">https://youtube.com/shorts/ZWfvChb-i0w</a>[<span class="image"><img src="image::<span class="opengraph-link-container max-w-[400px] object-contain cursor-zoom-in" data-og-url="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" data-asciidoc-image="true" data-image-index="0" data-image-src="image::<span class=">
+      <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">Youtube link with pic <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg> <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span>]</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="spotify"><a class="anchor" href="#spotify"></a><a class="link" href="#spotify">Spotify</a></h4>
+<div class="paragraph">
+<p><div class="media-embed spotify-embed" style="margin: 1rem 0;">
+      <iframe 
+        style="border-radius: 12px; width: 100%; max-width: 100%;" 
+        src="https://open.spotify.com/embed/episode/1GSZFA8vWltPyxYkArdRKx?utm_source=generator" 
+        width="100%" 
+        height="352" 
+        frameborder="0" 
+        allowfullscreen="" 
+        allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" 
+        loading="lazy">
+      </iframe>
+    </div></p>
+</div>
+<div class="paragraph">
+<p><a href="<div class="media-embed spotify-embed" style="margin: 1rem 0;">
+      <iframe 
+        style="border-radius: 12px; width: 100%; max-width: 100%;" 
+        src="https://open.spotify.com/embed/episode/1GSZFA8vWltPyxYkArdRKx?utm_source=generator" 
+        width="100%" 
+        height="352" 
+        frameborder="0" 
+        allowfullscreen="" 
+        allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" 
+        loading="lazy">
+      </iframe>
+    </div>"><span class="image"><img src="image::<span class="opengraph-link-container max-w-[400px] object-contain cursor-zoom-in" data-og-url="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" data-asciidoc-image="true" data-image-index="0" data-image-src="image::<span class=">
+      <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">Spotify link with pic&lt;/a&gt; <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg> <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="audio"><a class="anchor" href="#audio"></a><a class="link" href="#audio">Audio</a></h4>
+<div class="paragraph">
+<p>MEDIA:audio:<a href="https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3" target="_blank" rel="noopener noreferrer">https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3</a></p>
+</div>
+<div class="paragraph">
+<p>link:MEDIA:audio:<a href="https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3" target="_blank" rel="noopener noreferrer">https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3</a>[<span class="image"><img src="image::<span class="opengraph-link-container max-w-[400px] object-contain cursor-zoom-in" data-og-url="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" data-asciidoc-image="true" data-image-index="0" data-image-src="image::<span class=">
+      <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">Audio link with pic <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg> <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span>]</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="video"><a class="anchor" href="#video"></a><a class="link" href="#video">Video</a></h4>
+<div class="paragraph">
+<p>MEDIA:video:<a href="https://v.nostr.build/MTjaYib4upQuf8zn.mp4" target="_blank" rel="noopener noreferrer">https://v.nostr.build/MTjaYib4upQuf8zn.mp4</a></p>
+</div>
+<div class="paragraph">
+<p>link:MEDIA:video:<a href="https://v.nostr.build/MTjaYib4upQuf8zn.mp4" target="_blank" rel="noopener noreferrer">https://v.nostr.build/MTjaYib4upQuf8zn.mp4</a>[<span class="image"><img src="image::<span class="opengraph-link-container max-w-[400px] object-contain cursor-zoom-in" data-og-url="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" data-asciidoc-image="true" data-image-index="0" data-image-src="image::<span class=">
+      <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">Video link with pic <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg> <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span>]</p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="tables"><a class="anchor" href="#tables"></a><a class="link" href="#tables">Tables</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="orderly"><a class="anchor" href="#orderly"></a><a class="link" href="#orderly">Orderly</a></h3>
+<table class="tableblock frame-all grid-all stretch">
+<colgroup>
+<col style="width: 33.3333%;">
+<col style="width: 66.6667%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Syntax</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Description</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Header</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Title</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Paragraph</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Text</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="unorderly"><a class="anchor" href="#unorderly"></a><a class="link" href="#unorderly">Unorderly</a></h3>
+<table class="tableblock frame-all grid-all stretch">
+<colgroup>
+<col style="width: 33.3333%;">
+<col style="width: 66.6667%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Syntax</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Description</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Header</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Title</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Paragraph</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Text</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="with-alignment"><a class="anchor" href="#with-alignment"></a><a class="link" href="#with-alignment">With alignment</a></h3>
+<table class="tableblock frame-all grid-all stretch">
+<colgroup>
+<col style="width: 33.3333%;">
+<col style="width: 33.3333%;">
+<col style="width: 33.3334%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Syntax</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">Description</p></td>
+<td class="tableblock halign-right valign-top"><p class="tableblock">Test Text</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Header</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">Title</p></td>
+<td class="tableblock halign-right valign-top"><p class="tableblock">Here_s this</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Paragraph</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">Text</p></td>
+<td class="tableblock halign-right valign-top"><p class="tableblock">And more</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="code-blocks"><a class="anchor" href="#code-blocks"></a><a class="link" href="#code-blocks">Code blocks</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="json"><a class="anchor" href="#json"></a><a class="link" href="#json">json</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
+{
+    "id": "&lt;event_id&gt;",
+    "pubkey": "&lt;event_originator_pubkey&gt;",
+    "created_at": 1725087283,
+    "kind": 30040,
+    "tags": [
+        ["d", "aesop_s-fables-by-aesop"],
+        ["title", "Aesop_s Fables"],
+        ["author", "Aesop"],
+    ],
+    "sig": "&lt;event_signature&gt;"
+}
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="typescript"><a class="anchor" href="#typescript"></a><a class="link" href="#typescript">typescript</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
+/**
+ * Get Nostr identifier type
+ */
+function getNostrType(id: string): _npub_ | _nprofile_ | _nevent_ | _naddr_ | _note_ | null {
+  if (id.startsWith(_npub_)) return _npub_;
+  if (id.startsWith(_nprofile_)) return _nprofile_;
+  if (id.startsWith(_nevent_)) return _nevent_;
+  if (id.startsWith(_naddr_)) return _naddr_;
+  if (id.startsWith(_note_)) return _note_;
+  return null;
+}
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="shell"><a class="anchor" href="#shell"></a><a class="link" href="#shell">shell</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>mkdir new_directory
+cp source.txt destination.txt</p>
+</div>
+<hr>
+</div>
+<div class="sect2">
+<h3 id="latex"><a class="anchor" href="#latex"></a><a class="link" href="#latex">LaTeX</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
+$
+M =
+\begin{bmatrix}
+\frac{5}{6} &amp; \frac{1}{6} &amp; 0 \\[0.3em]
+\frac{5}{6} &amp; 0 &amp; \frac{1}{6} \\[0.3em]
+0 &amp; \frac{5}{6} &amp; \frac{1}{6}
+\end{bmatrix}
+$
+'''</code></pre>
+</div>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
+$
+f(x)=
+\begin{cases}
+1/d_{ij} &amp; \quad \text{when $d_{ij} \leq 160$}\\
+0 &amp; \quad \text{otherwise}
+\end{cases}
+$
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="abc-notation"><a class="anchor" href="#abc-notation"></a><a class="link" href="#abc-notation">ABC Notation</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
+X:1
+T:Ohne Titel
+C:Aufgezeichnet 1784
+A:Seibis nahe Lichtenberg in Oberfranken
+S:Handschrift, bezeichnet und datiert: "Heinrich Nicol Philipp zu Seibis den 30 Junius 1784"
+M:4/4
+L:1/4
+K:D
+dd d2 | ee e2 | fg ad | cB cA |\
+dd d2 | ee e2 | fg ad | ed/c/ d2 :|
+|:\
+fg ad | cB cA | fg ad | cB cA |\
+dd d2 | ee e2 | fg ad | ed/c/ d2 :|
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="plantuml"><a class="anchor" href="#plantuml"></a><a class="link" href="#plantuml">PlantUML</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
+@startuml
+Alice -&gt; Bob: Authentication Request
+Bob --&gt; Alice: Authentication Response
+@enduml
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="bpmn"><a class="anchor" href="#bpmn"></a><a class="link" href="#bpmn">BPMN</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
+@startbpmn
+start
+:Task 1;
+:Task 2;
+stop
+@endbpmn
+'''</code></pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="latex-2"><a class="anchor" href="#latex-2"></a><a class="link" href="#latex-2">LaTeX</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="latex-in-inline-code"><a class="anchor" href="#latex-in-inline-code"></a><a class="link" href="#latex-in-inline-code">LaTeX in inline-code</a></h3>
+<div class="paragraph">
+<p>`$[ x^n + y^n = z^n \]== Bullet list</p>
+</div>
+<div class="paragraph">
+<p>This is a test unordered list with mixed bullets:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>First item with a number 2. in it</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+<div class="ulist">
+<ul>
+<li>
+<p>Indented item</p>
+</li>
+<li>
+<p>Indented item</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Another unordered list:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>1st item</p>
+</li>
+<li>
+<p>2nd item</p>
+</li>
+<li>
+<p>third item containing <em>italic</em> text</p>
+<div class="ulist">
+<ul>
+<li>
+<p>indented item</p>
+</li>
+<li>
+<p>second indented item</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>fourth item</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>This is a test ordered list with indented items:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>First item</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+<div class="olist loweralpha">
+<ol class="loweralpha" type="a">
+<li>
+<p>Indented item</p>
+</li>
+<li>
+<p>Indented item</p>
+</li>
+</ol>
+</div>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>Ordered list where everything has no number:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>First item</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>This is a mixed list with indented items:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>First item</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+<div class="ulist">
+<ul>
+<li>
+<p>Indented item</p>
+</li>
+<li>
+<p>Indented item</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>This is another mixed list with indented items:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>First item</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Indented item</p>
+</li>
+<li>
+<p>Indented item</p>
+</li>
+</ol>
+</div>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="headers-2"><a class="anchor" href="#headers-2"></a><a class="link" href="#headers-2">Headers</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="third-level-header-2"><a class="anchor" href="#third-level-header-2"></a><a class="link" href="#third-level-header-2">Third-level header</a></h3>
+<div class="sect3">
+<h4 id="fourth-level-header-2"><a class="anchor" href="#fourth-level-header-2"></a><a class="link" href="#fourth-level-header-2">Fourth-level header</a></h4>
+<div class="sect4">
+<h5 id="fifth-level-header-2"><a class="anchor" href="#fifth-level-header-2"></a><a class="link" href="#fifth-level-header-2">Fifth-level header</a></h5>
+<div class="sect5">
+<h6 id="sixth-level-header-2"><a class="anchor" href="#sixth-level-header-2"></a><a class="link" href="#sixth-level-header-2">Sixth-level header</a></h6>
+
+</div>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="media-and-links-2"><a class="anchor" href="#media-and-links-2"></a><a class="link" href="#media-and-links-2">Media and Links</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="nostr-address-2"><a class="anchor" href="#nostr-address-2"></a><a class="link" href="#nostr-address-2">Nostr address</a></h3>
+<div class="paragraph">
+<p>This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l</p>
+</div>
+<div class="paragraph">
+<p>This is also plaintext:</p>
+</div>
+<div class="paragraph">
+<p>npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q</p>
+</div>
+<div class="paragraph">
+<p>These should be turned into links:</p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l">naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l</a></p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z">npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z</a></p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj">nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj</a></p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh">nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh</a></p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg">note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg</a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="hashtag-2"><a class="anchor" href="#hashtag-2"></a><a class="link" href="#hashtag-2">Hashtag</a></h3>
+<div class="paragraph">
+<p><a class="hashtag-link text-primary-600 dark:text-primary-500 hover:underline" data-topic="testhashtag" data-url="/notes?t=testhashtag" href="/notes?t=testhashtag">#testhashtag</a> at the start of the line and <a class="hashtag-link text-primary-600 dark:text-primary-500 hover:underline" data-topic="inlinehashtag" data-url="/notes?t=inlinehashtag" href="/notes?t=inlinehashtag">#inlinehashtag</a> in the middle</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="wikilinks-2"><a class="anchor" href="#wikilinks-2"></a><a class="link" href="#wikilinks-2">Wikilinks</a></h3>
+<div class="paragraph">
+<p><a class="wikilink text-primary-600 dark:text-primary-500 hover:underline" data-dtag="nkbip-01" data-url="/events?d=nkbip-01" href="/events?d=nkbip-01">Specification</a> and <a class="wikilink text-primary-600 dark:text-primary-500 hover:underline" data-dtag="mirepoix" data-url="/events?d=mirepoix" href="/events?d=mirepoix">mirepoix</a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="url-2"><a class="anchor" href="#url-2"></a><a class="link" href="#url-2">URL</a></h3>
+<div class="paragraph">
+<p><span class="opengraph-link-container" data-og-url="https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html">
+      <a href="https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span></p>
+</div>
+<div class="paragraph">
+<p><span class="opengraph-link-container" data-og-url="https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html">
+      <a href="https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span>[Welt Online link]</p>
+</div>
+<div class="paragraph">
+<p>this should render as plaintext: <code>http://www.example.com</code></p>
+</div>
+<div class="paragraph">
+<p>this should be a hyperlink: www.example.com</p>
+</div>
+<div class="paragraph">
+<p>this should be a hyperlink to the http URL with the same address, so <a href="https://theforest.nostr1.com/" target="_blank" rel="noopener noreferrer">wss://theforest.nostr1.com</a> should render like <a href="https://theforest.nostr1.com"https://theforest.nostr1.com" target="_blank" rel="noopener noreferrer">wss://theforest.nostr1.com<a href="https://theforest.nostr1.com" target="_blank" rel="noreferrer noopener" class="break-words inline-flex items-baseline gap-1">width=100%&quot;&gt;
+&lt;/div&gt;
+&lt;/div&gt;
+&lt;div class=&quot;imageblock&quot;&gt;
+&lt;div class=&quot;content&quot;&gt;
+&lt;img src=&quot;image::https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png&quot; alt=&quot;https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>[width=100%][test image" width="100%">
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="media-2"><a class="anchor" href="#media-2"></a><a class="link" href="#media-2">Media</a></h3>
+<div class="sect3">
+<h4 id="youtube-2"><a class="anchor" href="#youtube-2"></a><a class="link" href="#youtube-2">YouTube</a></h4>
+<div class="paragraph">
+<p><a href="https://youtube.com/shorts/ZWfvChb-i0w" target="_blank" rel="noopener noreferrer">https://youtube.com/shorts/ZWfvChb-i0w</a></p>
+</div>
+<div class="paragraph">
+<p><a href="https://youtube.com/shorts/ZWfvChb-i0w" target="_blank" rel="noopener noreferrer">https://youtube.com/shorts/ZWfvChb-i0w</a>[<span class="image"><img src="image::<span class="opengraph-link-container max-w-[400px] object-contain cursor-zoom-in" data-og-url="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" data-asciidoc-image="true" data-image-index="0" data-image-src="image::<span class=">
+      <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">Youtube link with pic <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg> <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span>]</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="spotify-2"><a class="anchor" href="#spotify-2"></a><a class="link" href="#spotify-2">Spotify</a></h4>
+<div class="paragraph">
+<p><div class="media-embed spotify-embed" style="margin: 1rem 0;">
+      <iframe 
+        style="border-radius: 12px; width: 100%; max-width: 100%;" 
+        src="https://open.spotify.com/embed/episode/1GSZFA8vWltPyxYkArdRKx?utm_source=generator" 
+        width="100%" 
+        height="352" 
+        frameborder="0" 
+        allowfullscreen="" 
+        allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" 
+        loading="lazy">
+      </iframe>
+    </div></p>
+</div>
+<div class="paragraph">
+<p><a href="<div class="media-embed spotify-embed" style="margin: 1rem 0;">
+      <iframe 
+        style="border-radius: 12px; width: 100%; max-width: 100%;" 
+        src="https://open.spotify.com/embed/episode/1GSZFA8vWltPyxYkArdRKx?utm_source=generator" 
+        width="100%" 
+        height="352" 
+        frameborder="0" 
+        allowfullscreen="" 
+        allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" 
+        loading="lazy">
+      </iframe>
+    </div>"><span class="image"><img src="image::<span class="opengraph-link-container max-w-[400px] object-contain cursor-zoom-in" data-og-url="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" data-asciidoc-image="true" data-image-index="0" data-image-src="image::<span class=">
+      <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">Spotify link with pic&lt;/a&gt; <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg> <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="audio-2"><a class="anchor" href="#audio-2"></a><a class="link" href="#audio-2">Audio</a></h4>
+<div class="paragraph">
+<p>MEDIA:audio:<a href="https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3" target="_blank" rel="noopener noreferrer">https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3</a></p>
+</div>
+<div class="paragraph">
+<p>link:MEDIA:audio:<a href="https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3" target="_blank" rel="noopener noreferrer">https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3</a>[<span class="image"><img src="image::<span class="opengraph-link-container max-w-[400px] object-contain cursor-zoom-in" data-og-url="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" data-asciidoc-image="true" data-image-index="0" data-image-src="image::<span class=">
+      <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">Audio link with pic <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg> <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span>]</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="video-2"><a class="anchor" href="#video-2"></a><a class="link" href="#video-2">Video</a></h4>
+<div class="paragraph">
+<p>MEDIA:video:<a href="https://v.nostr.build/MTjaYib4upQuf8zn.mp4" target="_blank" rel="noopener noreferrer">https://v.nostr.build/MTjaYib4upQuf8zn.mp4</a></p>
+</div>
+<div class="paragraph">
+<p>link:MEDIA:video:<a href="https://v.nostr.build/MTjaYib4upQuf8zn.mp4" target="_blank" rel="noopener noreferrer">https://v.nostr.build/MTjaYib4upQuf8zn.mp4</a>[<span class="image"><img src="image::<span class="opengraph-link-container max-w-[400px] object-contain cursor-zoom-in" data-og-url="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" data-asciidoc-image="true" data-image-index="0" data-image-src="image::<span class=">
+      <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">Video link with pic <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg> <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span>]</p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="tables-2"><a class="anchor" href="#tables-2"></a><a class="link" href="#tables-2">Tables</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="orderly-2"><a class="anchor" href="#orderly-2"></a><a class="link" href="#orderly-2">Orderly</a></h3>
+<table class="tableblock frame-all grid-all stretch">
+<colgroup>
+<col style="width: 33.3333%;">
+<col style="width: 66.6667%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Syntax</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Description</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Header</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Title</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Paragraph</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Text</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="unorderly-2"><a class="anchor" href="#unorderly-2"></a><a class="link" href="#unorderly-2">Unorderly</a></h3>
+<table class="tableblock frame-all grid-all stretch">
+<colgroup>
+<col style="width: 33.3333%;">
+<col style="width: 66.6667%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Syntax</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Description</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Header</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Title</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Paragraph</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Text</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="with-alignment-2"><a class="anchor" href="#with-alignment-2"></a><a class="link" href="#with-alignment-2">With alignment</a></h3>
+<table class="tableblock frame-all grid-all stretch">
+<colgroup>
+<col style="width: 33.3333%;">
+<col style="width: 33.3333%;">
+<col style="width: 33.3334%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Syntax</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">Description</p></td>
+<td class="tableblock halign-right valign-top"><p class="tableblock">Test Text</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Header</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">Title</p></td>
+<td class="tableblock halign-right valign-top"><p class="tableblock">Here_s this</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Paragraph</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">Text</p></td>
+<td class="tableblock halign-right valign-top"><p class="tableblock">And more</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="code-blocks-2"><a class="anchor" href="#code-blocks-2"></a><a class="link" href="#code-blocks-2">Code blocks</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="json-2"><a class="anchor" href="#json-2"></a><a class="link" href="#json-2">json</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
 {
-    "id": "<event_id>",
-    "pubkey": "<event_originator_pubkey>",
+    "id": "&lt;event_id&gt;",
+    "pubkey": "&lt;event_originator_pubkey&gt;",
     "created_at": 1725087283,
     "kind": 30040,
     "tags": [
-        ["d", "aesop's-fables-by-aesop"],
-        ["title", "Aesop's Fables"],
+        ["d", "aesop_s-fables-by-aesop"],
+        ["title", "Aesop_s Fables"],
         ["author", "Aesop"],
     ],
-    "sig": "<event_signature>"
+    "sig": "&lt;event_signature&gt;"
 }
-----
-
-=== typescript
-
-[source,typescript]
-----
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="typescript-2"><a class="anchor" href="#typescript-2"></a><a class="link" href="#typescript-2">typescript</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
 /**
  * Get Nostr identifier type
  */
-function getNostrType(id: string): 'npub' | 'nprofile' | 'nevent' | 'naddr' | 'note' | null {
-  if (id.startsWith('npub')) return 'npub';
-  if (id.startsWith('nprofile')) return 'nprofile';
-  if (id.startsWith('nevent')) return 'nevent';
-  if (id.startsWith('naddr')) return 'naddr';
-  if (id.startsWith('note')) return 'note';
+function getNostrType(id: string): _npub_ | _nprofile_ | _nevent_ | _naddr_ | _note_ | null {
+  if (id.startsWith(_npub_)) return _npub_;
+  if (id.startsWith(_nprofile_)) return _nprofile_;
+  if (id.startsWith(_nevent_)) return _nevent_;
+  if (id.startsWith(_naddr_)) return _naddr_;
+  if (id.startsWith(_note_)) return _note_;
   return null;
 }
-----
-
-=== shell
-
-[source,shell]
-----
-
-mkdir new_directory
-cp source.txt destination.txt
-
-----
-
-=== LaTeX
-
-[source,latex]
-----
-$$
-M = 
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="shell-2"><a class="anchor" href="#shell-2"></a><a class="link" href="#shell-2">shell</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>mkdir new_directory
+cp source.txt destination.txt</p>
+</div>
+<hr>
+</div>
+<div class="sect2">
+<h3 id="latex-3"><a class="anchor" href="#latex-3"></a><a class="link" href="#latex-3">LaTeX</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
+$
+M =
 \begin{bmatrix}
-\frac{5}{6} & \frac{1}{6} & 0 \\[0.3em]
-\frac{5}{6} & 0 & \frac{1}{6} \\[0.3em]
-0 & \frac{5}{6} & \frac{1}{6}
+\frac{5}{6} &amp; \frac{1}{6} &amp; 0 \\[0.3em]
+\frac{5}{6} &amp; 0 &amp; \frac{1}{6} \\[0.3em]
+0 &amp; \frac{5}{6} &amp; \frac{1}{6}
 \end{bmatrix}
-$$
-----
-
-[source,latex]
-----
-$$
+$
+'''</code></pre>
+</div>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
+$
 f(x)=
 \begin{cases}
-1/d_{ij} & \quad \text{when $d_{ij} \leq 160$}\\ 
-0 & \quad \text{otherwise}
+1/d_{ij} &amp; \quad \text{when $d_{ij} \leq 160$}\\
+0 &amp; \quad \text{otherwise}
 \end{cases}
-$$
-----
-
-=== ABC Notation
-
-[source,abc]
-----
+$
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="abc-notation-2"><a class="anchor" href="#abc-notation-2"></a><a class="link" href="#abc-notation-2">ABC Notation</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
 X:1
 T:Ohne Titel
 C:Aufgezeichnet 1784
@@ -4879,277 +5528,621 @@ dd d2 | ee e2 | fg ad | ed/c/ d2 :|
 |:\
 fg ad | cB cA | fg ad | cB cA |\
 dd d2 | ee e2 | fg ad | ed/c/ d2 :|
-----
-
-=== PlantUML
-
-[source,plantuml]
-----
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="plantuml-2"><a class="anchor" href="#plantuml-2"></a><a class="link" href="#plantuml-2">PlantUML</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
 @startuml
-Alice -> Bob: Authentication Request
-Bob --> Alice: Authentication Response
+Alice -&gt; Bob: Authentication Request
+Bob --&gt; Alice: Authentication Response
 @enduml
-----
-
-=== BPMN
-
-[source,plantuml]
-----
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="bpmn-2"><a class="anchor" href="#bpmn-2"></a><a class="link" href="#bpmn-2">BPMN</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
 @startbpmn
 start
 :Task 1;
 :Task 2;
 stop
 @endbpmn
-----
-
-== LaTeX
-
-=== LaTeX in inline-code
-
-`$[ x^n + y^n = z^n \]== Bullet list
-
-This is a test unordered list with mixed bullets:
-
-* First item with a number 2. in it
-* Second item
-* Third item
-** Indented item
-** Indented item
-* Fourth item
-
-Another unordered list:
-
-* 1st item
-* 2nd item
-* third item containing _italic_ text
-** indented item
-** second indented item
-* fourth item
-
-This is a test ordered list with indented items:
-
-. First item
-. Second item
-. Third item
-.. Indented item
-.. Indented item
-. Fourth item
-
-Ordered list where everything has no number:
-
-. First item
-. Second item
-. Third item
-. Fourth item
-
-This is a mixed list with indented items:
-
-. First item
-. Second item
-. Third item
-* Indented item
-* Indented item
-. Fourth item
-
-This is another mixed list with indented items:
-
-* First item
-* Second item
-* Third item
-. Indented item
-. Indented item
-* Fourth item
-
-== Headers
-
-=== Third-level header
-
-==== Fourth-level header
-
-===== Fifth-level header
-
-====== Sixth-level header
-
-== Media and Links
-
-=== Nostr address
-
-This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l
-
-This is also plaintext:
-
-npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q
-
-These should be turned into links:
-
-link:nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l[naddr1qv...]
-
-link:nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z[npub1l5s...]
-
-link:nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj[nevent1q...]
-
-link:nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh[nprofile...]
-
-link:nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg[note1txy...]
-
-=== Hashtag
-
-hashtag:testhashtag[#testhashtag] at the start of the line and hashtag:inlinehashtag[#inlinehashtag] in the middle
-
-=== Wikilinks
-
-WIKILINK:nkbip-01|Specification and WIKILINK:mirepoix|mirepoix
-
-=== URL
-
-https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html
-
-link:https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html[Welt Online link]
-
-this should render as plaintext: `http://www.example.com`
-
-this should be a hyperlink: www.example.com
-
-this should be a hyperlink to the http URL with the same address, so wss://theforest.nostr1.com should render like link:wss://theforest.nostr1.com[https://theforest.nostr1.com]
-
-=== Images
-
-https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png
-
-image::https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png[test image, width=100%]
-
-=== Media
-
-==== YouTube
-
-https://youtube.com/shorts/ZWfvChb-i0w
-
-link:https://youtube.com/shorts/ZWfvChb-i0w[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Youtube link with pic]]
-
-==== Spotify
-
-MEDIA:spotify:episode:1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ
-
-link:MEDIA:spotify:episode:1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Spotify link with pic]]
-
-==== Audio
-
-MEDIA:audio:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3
-
-link:MEDIA:audio:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Audio link with pic]]
-
-==== Video
-
-MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4
-
-link:MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Video link with pic]]
-
-== Tables
-
-=== Orderly
-
-[cols="1,2"]
-|===
-|Syntax|Description
-|Header|Title
-|Paragraph|Text
-|===
-
-=== Unorderly
-
-[cols="1,2"]
-|===
-|Syntax|Description
-|Header|Title
-|Paragraph|Text
-|===
-
-=== With alignment
-
-[cols="<,^,>"]
-|===
-|Syntax|Description|Test Text
-|Header|Title|Here's this
-|Paragraph|Text|And more
-|===
-
-== Code blocks
-
-=== json
-
-[source,json]
-----
+'''</code></pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="latex-4"><a class="anchor" href="#latex-4"></a><a class="link" href="#latex-4">LaTeX</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="latex-in-inline-code-2"><a class="anchor" href="#latex-in-inline-code-2"></a><a class="link" href="#latex-in-inline-code-2">LaTeX in inline-code</a></h3>
+<div class="literalblock">
+<div class="content">
+<pre>and `$[\sqrt{x^2+1}\]== Bullet list</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This is a test unordered list with mixed bullets:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>First item with a number 2. in it</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+<div class="ulist">
+<ul>
+<li>
+<p>Indented item</p>
+</li>
+<li>
+<p>Indented item</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Another unordered list:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>1st item</p>
+</li>
+<li>
+<p>2nd item</p>
+</li>
+<li>
+<p>third item containing <em>italic</em> text</p>
+<div class="ulist">
+<ul>
+<li>
+<p>indented item</p>
+</li>
+<li>
+<p>second indented item</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>fourth item</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>This is a test ordered list with indented items:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>First item</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+<div class="olist loweralpha">
+<ol class="loweralpha" type="a">
+<li>
+<p>Indented item</p>
+</li>
+<li>
+<p>Indented item</p>
+</li>
+</ol>
+</div>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>Ordered list where everything has no number:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>First item</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>This is a mixed list with indented items:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>First item</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+<div class="ulist">
+<ul>
+<li>
+<p>Indented item</p>
+</li>
+<li>
+<p>Indented item</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>This is another mixed list with indented items:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>First item</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Indented item</p>
+</li>
+<li>
+<p>Indented item</p>
+</li>
+</ol>
+</div>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="headers-3"><a class="anchor" href="#headers-3"></a><a class="link" href="#headers-3">Headers</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="third-level-header-3"><a class="anchor" href="#third-level-header-3"></a><a class="link" href="#third-level-header-3">Third-level header</a></h3>
+<div class="sect3">
+<h4 id="fourth-level-header-3"><a class="anchor" href="#fourth-level-header-3"></a><a class="link" href="#fourth-level-header-3">Fourth-level header</a></h4>
+<div class="sect4">
+<h5 id="fifth-level-header-3"><a class="anchor" href="#fifth-level-header-3"></a><a class="link" href="#fifth-level-header-3">Fifth-level header</a></h5>
+<div class="sect5">
+<h6 id="sixth-level-header-3"><a class="anchor" href="#sixth-level-header-3"></a><a class="link" href="#sixth-level-header-3">Sixth-level header</a></h6>
+
+</div>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="media-and-links-3"><a class="anchor" href="#media-and-links-3"></a><a class="link" href="#media-and-links-3">Media and Links</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="nostr-address-3"><a class="anchor" href="#nostr-address-3"></a><a class="link" href="#nostr-address-3">Nostr address</a></h3>
+<div class="paragraph">
+<p>This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l</p>
+</div>
+<div class="paragraph">
+<p>This is also plaintext:</p>
+</div>
+<div class="paragraph">
+<p>npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q</p>
+</div>
+<div class="paragraph">
+<p>These should be turned into links:</p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l">naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l</a></p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z">npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z</a></p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj">nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj</a></p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh">nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh</a></p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg">note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg</a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="hashtag-3"><a class="anchor" href="#hashtag-3"></a><a class="link" href="#hashtag-3">Hashtag</a></h3>
+<div class="paragraph">
+<p><a class="hashtag-link text-primary-600 dark:text-primary-500 hover:underline" data-topic="testhashtag" data-url="/notes?t=testhashtag" href="/notes?t=testhashtag">#testhashtag</a> at the start of the line and <a class="hashtag-link text-primary-600 dark:text-primary-500 hover:underline" data-topic="inlinehashtag" data-url="/notes?t=inlinehashtag" href="/notes?t=inlinehashtag">#inlinehashtag</a> in the middle</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="wikilinks-3"><a class="anchor" href="#wikilinks-3"></a><a class="link" href="#wikilinks-3">Wikilinks</a></h3>
+<div class="paragraph">
+<p><a class="wikilink text-primary-600 dark:text-primary-500 hover:underline" data-dtag="nkbip-01" data-url="/events?d=nkbip-01" href="/events?d=nkbip-01">Specification</a> and <a class="wikilink text-primary-600 dark:text-primary-500 hover:underline" data-dtag="mirepoix" data-url="/events?d=mirepoix" href="/events?d=mirepoix">mirepoix</a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="url-3"><a class="anchor" href="#url-3"></a><a class="link" href="#url-3">URL</a></h3>
+<div class="paragraph">
+<p><span class="opengraph-link-container" data-og-url="https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html">
+      <a href="https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span></p>
+</div>
+<div class="paragraph">
+<p><span class="opengraph-link-container" data-og-url="https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html">
+      <a href="https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span>[Welt Online link]</p>
+</div>
+<div class="paragraph">
+<p>this should render as plaintext: <code>http://www.example.com</code></p>
+</div>
+<div class="paragraph">
+<p>this should be a hyperlink: www.example.com</p>
+</div>
+<div class="paragraph">
+<p>this should be a hyperlink to the http URL with the same address, so <a href="https://theforest.nostr1.com/" target="_blank" rel="noopener noreferrer">wss://theforest.nostr1.com</a> should render like <a href="https://theforest.nostr1.com"https://theforest.nostr1.com" target="_blank" rel="noopener noreferrer">wss://theforest.nostr1.com<a href="https://theforest.nostr1.com" target="_blank" rel="noreferrer noopener" class="break-words inline-flex items-baseline gap-1">width=100%&quot;&gt;
+&lt;/div&gt;
+&lt;/div&gt;
+&lt;div class=&quot;imageblock&quot;&gt;
+&lt;div class=&quot;content&quot;&gt;
+&lt;img src=&quot;image::https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png&quot; alt=&quot;https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>[width=100%][test image" width="100%">
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="media-3"><a class="anchor" href="#media-3"></a><a class="link" href="#media-3">Media</a></h3>
+<div class="sect3">
+<h4 id="youtube-3"><a class="anchor" href="#youtube-3"></a><a class="link" href="#youtube-3">YouTube</a></h4>
+<div class="paragraph">
+<p><a href="https://youtube.com/shorts/ZWfvChb-i0w" target="_blank" rel="noopener noreferrer">https://youtube.com/shorts/ZWfvChb-i0w</a></p>
+</div>
+<div class="paragraph">
+<p><a href="https://youtube.com/shorts/ZWfvChb-i0w" target="_blank" rel="noopener noreferrer">https://youtube.com/shorts/ZWfvChb-i0w</a>[<span class="image"><img src="image::<span class="opengraph-link-container max-w-[400px] object-contain cursor-zoom-in" data-og-url="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" data-asciidoc-image="true" data-image-index="0" data-image-src="image::<span class=">
+      <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">Youtube link with pic <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg> <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span>]</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="spotify-3"><a class="anchor" href="#spotify-3"></a><a class="link" href="#spotify-3">Spotify</a></h4>
+<div class="paragraph">
+<p><div class="media-embed spotify-embed" style="margin: 1rem 0;">
+      <iframe 
+        style="border-radius: 12px; width: 100%; max-width: 100%;" 
+        src="https://open.spotify.com/embed/episode/1GSZFA8vWltPyxYkArdRKx?utm_source=generator" 
+        width="100%" 
+        height="352" 
+        frameborder="0" 
+        allowfullscreen="" 
+        allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" 
+        loading="lazy">
+      </iframe>
+    </div></p>
+</div>
+<div class="paragraph">
+<p><a href="<div class="media-embed spotify-embed" style="margin: 1rem 0;">
+      <iframe 
+        style="border-radius: 12px; width: 100%; max-width: 100%;" 
+        src="https://open.spotify.com/embed/episode/1GSZFA8vWltPyxYkArdRKx?utm_source=generator" 
+        width="100%" 
+        height="352" 
+        frameborder="0" 
+        allowfullscreen="" 
+        allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" 
+        loading="lazy">
+      </iframe>
+    </div>"><span class="image"><img src="image::<span class="opengraph-link-container max-w-[400px] object-contain cursor-zoom-in" data-og-url="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" data-asciidoc-image="true" data-image-index="0" data-image-src="image::<span class=">
+      <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">Spotify link with pic&lt;/a&gt; <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg> <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="audio-3"><a class="anchor" href="#audio-3"></a><a class="link" href="#audio-3">Audio</a></h4>
+<div class="paragraph">
+<p>MEDIA:audio:<a href="https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3" target="_blank" rel="noopener noreferrer">https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3</a></p>
+</div>
+<div class="paragraph">
+<p>link:MEDIA:audio:<a href="https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3" target="_blank" rel="noopener noreferrer">https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3</a>[<span class="image"><img src="image::<span class="opengraph-link-container max-w-[400px] object-contain cursor-zoom-in" data-og-url="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" data-asciidoc-image="true" data-image-index="0" data-image-src="image::<span class=">
+      <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">Audio link with pic <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg> <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span>]</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="video-3"><a class="anchor" href="#video-3"></a><a class="link" href="#video-3">Video</a></h4>
+<div class="paragraph">
+<p>MEDIA:video:<a href="https://v.nostr.build/MTjaYib4upQuf8zn.mp4" target="_blank" rel="noopener noreferrer">https://v.nostr.build/MTjaYib4upQuf8zn.mp4</a></p>
+</div>
+<div class="paragraph">
+<p>link:MEDIA:video:<a href="https://v.nostr.build/MTjaYib4upQuf8zn.mp4" target="_blank" rel="noopener noreferrer">https://v.nostr.build/MTjaYib4upQuf8zn.mp4</a>[<span class="image"><img src="image::<span class="opengraph-link-container max-w-[400px] object-contain cursor-zoom-in" data-og-url="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" data-asciidoc-image="true" data-image-index="0" data-image-src="image::<span class=">
+      <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">Video link with pic <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg> <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span>]</p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="tables-3"><a class="anchor" href="#tables-3"></a><a class="link" href="#tables-3">Tables</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="orderly-3"><a class="anchor" href="#orderly-3"></a><a class="link" href="#orderly-3">Orderly</a></h3>
+<table class="tableblock frame-all grid-all stretch">
+<colgroup>
+<col style="width: 33.3333%;">
+<col style="width: 66.6667%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Syntax</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Description</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Header</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Title</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Paragraph</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Text</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="unorderly-3"><a class="anchor" href="#unorderly-3"></a><a class="link" href="#unorderly-3">Unorderly</a></h3>
+<table class="tableblock frame-all grid-all stretch">
+<colgroup>
+<col style="width: 33.3333%;">
+<col style="width: 66.6667%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Syntax</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Description</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Header</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Title</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Paragraph</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Text</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="with-alignment-3"><a class="anchor" href="#with-alignment-3"></a><a class="link" href="#with-alignment-3">With alignment</a></h3>
+<table class="tableblock frame-all grid-all stretch">
+<colgroup>
+<col style="width: 33.3333%;">
+<col style="width: 33.3333%;">
+<col style="width: 33.3334%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Syntax</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">Description</p></td>
+<td class="tableblock halign-right valign-top"><p class="tableblock">Test Text</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Header</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">Title</p></td>
+<td class="tableblock halign-right valign-top"><p class="tableblock">Here_s this</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Paragraph</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">Text</p></td>
+<td class="tableblock halign-right valign-top"><p class="tableblock">And more</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="code-blocks-3"><a class="anchor" href="#code-blocks-3"></a><a class="link" href="#code-blocks-3">Code blocks</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="json-3"><a class="anchor" href="#json-3"></a><a class="link" href="#json-3">json</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
 {
-    "id": "<event_id>",
-    "pubkey": "<event_originator_pubkey>",
+    "id": "&lt;event_id&gt;",
+    "pubkey": "&lt;event_originator_pubkey&gt;",
     "created_at": 1725087283,
     "kind": 30040,
     "tags": [
-        ["d", "aesop's-fables-by-aesop"],
-        ["title", "Aesop's Fables"],
-        ["author", "Aesop"],
-    ],
-    "sig": "<event_signature>"
-}
-----
-
-=== typescript
-
-[source,typescript]
-----
+        ["d", "aesop_s-fables-by-aesop"],
+        ["title", "Aesop_s Fables"],
+        ["author", "Aesop"],
+    ],
+    "sig": "&lt;event_signature&gt;"
+}
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="typescript-3"><a class="anchor" href="#typescript-3"></a><a class="link" href="#typescript-3">typescript</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
 /**
  * Get Nostr identifier type
  */
-function getNostrType(id: string): 'npub' | 'nprofile' | 'nevent' | 'naddr' | 'note' | null {
-  if (id.startsWith('npub')) return 'npub';
-  if (id.startsWith('nprofile')) return 'nprofile';
-  if (id.startsWith('nevent')) return 'nevent';
-  if (id.startsWith('naddr')) return 'naddr';
-  if (id.startsWith('note')) return 'note';
+function getNostrType(id: string): _npub_ | _nprofile_ | _nevent_ | _naddr_ | _note_ | null {
+  if (id.startsWith(_npub_)) return _npub_;
+  if (id.startsWith(_nprofile_)) return _nprofile_;
+  if (id.startsWith(_nevent_)) return _nevent_;
+  if (id.startsWith(_naddr_)) return _naddr_;
+  if (id.startsWith(_note_)) return _note_;
   return null;
 }
-----
-
-=== shell
-
-[source,shell]
-----
-
-mkdir new_directory
-cp source.txt destination.txt
-
-----
-
-=== LaTeX
-
-[source,latex]
-----
-$$
-M = 
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="shell-3"><a class="anchor" href="#shell-3"></a><a class="link" href="#shell-3">shell</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>mkdir new_directory
+cp source.txt destination.txt</p>
+</div>
+<hr>
+</div>
+<div class="sect2">
+<h3 id="latex-5"><a class="anchor" href="#latex-5"></a><a class="link" href="#latex-5">LaTeX</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
+$
+M =
 \begin{bmatrix}
-\frac{5}{6} & \frac{1}{6} & 0 \\[0.3em]
-\frac{5}{6} & 0 & \frac{1}{6} \\[0.3em]
-0 & \frac{5}{6} & \frac{1}{6}
+\frac{5}{6} &amp; \frac{1}{6} &amp; 0 \\[0.3em]
+\frac{5}{6} &amp; 0 &amp; \frac{1}{6} \\[0.3em]
+0 &amp; \frac{5}{6} &amp; \frac{1}{6}
 \end{bmatrix}
-$$
-----
-
-[source,latex]
-----
-$$
+$
+'''</code></pre>
+</div>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
+$
 f(x)=
 \begin{cases}
-1/d_{ij} & \quad \text{when $d_{ij} \leq 160$}\\ 
-0 & \quad \text{otherwise}
+1/d_{ij} &amp; \quad \text{when $d_{ij} \leq 160$}\\
+0 &amp; \quad \text{otherwise}
 \end{cases}
-$$
-----
-
-=== ABC Notation
-
-[source,abc]
-----
+$
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="abc-notation-3"><a class="anchor" href="#abc-notation-3"></a><a class="link" href="#abc-notation-3">ABC Notation</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
 X:1
 T:Ohne Titel
 C:Aufgezeichnet 1784
@@ -5163,277 +6156,1247 @@ dd d2 | ee e2 | fg ad | ed/c/ d2 :|
 |:\
 fg ad | cB cA | fg ad | cB cA |\
 dd d2 | ee e2 | fg ad | ed/c/ d2 :|
-----
-
-=== PlantUML
-
-[source,plantuml]
-----
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="plantuml-3"><a class="anchor" href="#plantuml-3"></a><a class="link" href="#plantuml-3">PlantUML</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
 @startuml
-Alice -> Bob: Authentication Request
-Bob --> Alice: Authentication Response
+Alice -&gt; Bob: Authentication Request
+Bob --&gt; Alice: Authentication Response
 @enduml
-----
-
-=== BPMN
-
-[source,plantuml]
-----
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="bpmn-3"><a class="anchor" href="#bpmn-3"></a><a class="link" href="#bpmn-3">BPMN</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
 @startbpmn
 start
 :Task 1;
 :Task 2;
 stop
 @endbpmn
-----
-
-== LaTeX
-
-=== LaTeX in inline-code
-
- and `$[\sqrt{x^2+1}\]== Bullet list
-
-This is a test unordered list with mixed bullets:
-
-* First item with a number 2. in it
-* Second item
-* Third item
-** Indented item
-** Indented item
-* Fourth item
-
-Another unordered list:
-
-* 1st item
-* 2nd item
-* third item containing _italic_ text
-** indented item
-** second indented item
-* fourth item
-
-This is a test ordered list with indented items:
-
-. First item
-. Second item
-. Third item
-.. Indented item
-.. Indented item
-. Fourth item
-
-Ordered list where everything has no number:
-
-. First item
-. Second item
-. Third item
-. Fourth item
-
-This is a mixed list with indented items:
-
-. First item
-. Second item
-. Third item
-* Indented item
-* Indented item
-. Fourth item
-
-This is another mixed list with indented items:
-
-* First item
-* Second item
-* Third item
-. Indented item
-. Indented item
-* Fourth item
-
-== Headers
-
-=== Third-level header
-
-==== Fourth-level header
-
-===== Fifth-level header
-
-====== Sixth-level header
-
-== Media and Links
-
-=== Nostr address
-
-This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l
-
-This is also plaintext:
-
-npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q
-
-These should be turned into links:
-
-link:nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l[naddr1qv...]
-
-link:nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z[npub1l5s...]
-
-link:nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj[nevent1q...]
-
-link:nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh[nprofile...]
-
-link:nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg[note1txy...]
-
-=== Hashtag
-
-hashtag:testhashtag[#testhashtag] at the start of the line and hashtag:inlinehashtag[#inlinehashtag] in the middle
-
-=== Wikilinks
-
-WIKILINK:nkbip-01|Specification and WIKILINK:mirepoix|mirepoix
-
-=== URL
-
-https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html
-
-link:https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html[Welt Online link]
-
-this should render as plaintext: `http://www.example.com`
-
-this should be a hyperlink: www.example.com
-
-this should be a hyperlink to the http URL with the same address, so wss://theforest.nostr1.com should render like link:wss://theforest.nostr1.com[https://theforest.nostr1.com]
-
-=== Images
-
-https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png
-
-image::https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png[test image, width=100%]
-
-=== Media
-
-==== YouTube
-
-https://youtube.com/shorts/ZWfvChb-i0w
-
-link:https://youtube.com/shorts/ZWfvChb-i0w[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Youtube link with pic]]
-
-==== Spotify
-
-MEDIA:spotify:episode:1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ
-
-link:MEDIA:spotify:episode:1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Spotify link with pic]]
-
-==== Audio
-
-MEDIA:audio:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3
-
-link:MEDIA:audio:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Audio link with pic]]
-
-==== Video
-
-MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4
-
-link:MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Video link with pic]]
-
-== Tables
-
-=== Orderly
-
-[cols="1,2"]
-|===
-|Syntax|Description
-|Header|Title
-|Paragraph|Text
-|===
-
-=== Unorderly
-
-[cols="1,2"]
-|===
-|Syntax|Description
-|Header|Title
-|Paragraph|Text
-|===
-
-=== With alignment
-
-[cols="<,^,>"]
-|===
-|Syntax|Description|Test Text
-|Header|Title|Here's this
-|Paragraph|Text|And more
-|===
-
-== Code blocks
-
-=== json
-
-[source,json]
-----
+'''</code></pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="latex-6"><a class="anchor" href="#latex-6"></a><a class="link" href="#latex-6">LaTeX</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="latex-in-inline-code-3"><a class="anchor" href="#latex-in-inline-code-3"></a><a class="link" href="#latex-in-inline-code-3">LaTeX in inline-code</a></h3>
+<div class="paragraph">
+<p>`$[ x^n + y^n = z^n \]== Bullet list</p>
+</div>
+<div class="paragraph">
+<p>This is a test unordered list with mixed bullets:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>First item with a number 2. in it</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+<div class="ulist">
+<ul>
+<li>
+<p>Indented item</p>
+</li>
+<li>
+<p>Indented item</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Another unordered list:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>1st item</p>
+</li>
+<li>
+<p>2nd item</p>
+</li>
+<li>
+<p>third item containing <em>italic</em> text</p>
+<div class="ulist">
+<ul>
+<li>
+<p>indented item</p>
+</li>
+<li>
+<p>second indented item</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>fourth item</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>This is a test ordered list with indented items:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>First item</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+<div class="olist loweralpha">
+<ol class="loweralpha" type="a">
+<li>
+<p>Indented item</p>
+</li>
+<li>
+<p>Indented item</p>
+</li>
+</ol>
+</div>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>Ordered list where everything has no number:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>First item</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>This is a mixed list with indented items:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>First item</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+<div class="ulist">
+<ul>
+<li>
+<p>Indented item</p>
+</li>
+<li>
+<p>Indented item</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>This is another mixed list with indented items:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>First item</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Indented item</p>
+</li>
+<li>
+<p>Indented item</p>
+</li>
+</ol>
+</div>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="headers-4"><a class="anchor" href="#headers-4"></a><a class="link" href="#headers-4">Headers</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="third-level-header-4"><a class="anchor" href="#third-level-header-4"></a><a class="link" href="#third-level-header-4">Third-level header</a></h3>
+<div class="sect3">
+<h4 id="fourth-level-header-4"><a class="anchor" href="#fourth-level-header-4"></a><a class="link" href="#fourth-level-header-4">Fourth-level header</a></h4>
+<div class="sect4">
+<h5 id="fifth-level-header-4"><a class="anchor" href="#fifth-level-header-4"></a><a class="link" href="#fifth-level-header-4">Fifth-level header</a></h5>
+<div class="sect5">
+<h6 id="sixth-level-header-4"><a class="anchor" href="#sixth-level-header-4"></a><a class="link" href="#sixth-level-header-4">Sixth-level header</a></h6>
+
+</div>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="media-and-links-4"><a class="anchor" href="#media-and-links-4"></a><a class="link" href="#media-and-links-4">Media and Links</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="nostr-address-4"><a class="anchor" href="#nostr-address-4"></a><a class="link" href="#nostr-address-4">Nostr address</a></h3>
+<div class="paragraph">
+<p>This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l</p>
+</div>
+<div class="paragraph">
+<p>This is also plaintext:</p>
+</div>
+<div class="paragraph">
+<p>npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q</p>
+</div>
+<div class="paragraph">
+<p>These should be turned into links:</p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l">naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l</a></p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z">npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z</a></p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj">nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj</a></p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh">nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh</a></p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg">note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg</a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="hashtag-4"><a class="anchor" href="#hashtag-4"></a><a class="link" href="#hashtag-4">Hashtag</a></h3>
+<div class="paragraph">
+<p><a class="hashtag-link text-primary-600 dark:text-primary-500 hover:underline" data-topic="testhashtag" data-url="/notes?t=testhashtag" href="/notes?t=testhashtag">#testhashtag</a> at the start of the line and <a class="hashtag-link text-primary-600 dark:text-primary-500 hover:underline" data-topic="inlinehashtag" data-url="/notes?t=inlinehashtag" href="/notes?t=inlinehashtag">#inlinehashtag</a> in the middle</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="wikilinks-4"><a class="anchor" href="#wikilinks-4"></a><a class="link" href="#wikilinks-4">Wikilinks</a></h3>
+<div class="paragraph">
+<p><a class="wikilink text-primary-600 dark:text-primary-500 hover:underline" data-dtag="nkbip-01" data-url="/events?d=nkbip-01" href="/events?d=nkbip-01">Specification</a> and <a class="wikilink text-primary-600 dark:text-primary-500 hover:underline" data-dtag="mirepoix" data-url="/events?d=mirepoix" href="/events?d=mirepoix">mirepoix</a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="url-4"><a class="anchor" href="#url-4"></a><a class="link" href="#url-4">URL</a></h3>
+<div class="paragraph">
+<p><span class="opengraph-link-container" data-og-url="https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html">
+      <a href="https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span></p>
+</div>
+<div class="paragraph">
+<p><span class="opengraph-link-container" data-og-url="https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html">
+      <a href="https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span>[Welt Online link]</p>
+</div>
+<div class="paragraph">
+<p>this should render as plaintext: <code>http://www.example.com</code></p>
+</div>
+<div class="paragraph">
+<p>this should be a hyperlink: www.example.com</p>
+</div>
+<div class="paragraph">
+<p>this should be a hyperlink to the http URL with the same address, so <a href="https://theforest.nostr1.com/" target="_blank" rel="noopener noreferrer">wss://theforest.nostr1.com</a> should render like <a href="https://theforest.nostr1.com"https://theforest.nostr1.com" target="_blank" rel="noopener noreferrer">wss://theforest.nostr1.com<a href="https://theforest.nostr1.com" target="_blank" rel="noreferrer noopener" class="break-words inline-flex items-baseline gap-1">width=100%&quot;&gt;
+&lt;/div&gt;
+&lt;/div&gt;
+&lt;div class=&quot;imageblock&quot;&gt;
+&lt;div class=&quot;content&quot;&gt;
+&lt;img src=&quot;image::https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png&quot; alt=&quot;https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>[width=100%][test image" width="100%">
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="media-4"><a class="anchor" href="#media-4"></a><a class="link" href="#media-4">Media</a></h3>
+<div class="sect3">
+<h4 id="youtube-4"><a class="anchor" href="#youtube-4"></a><a class="link" href="#youtube-4">YouTube</a></h4>
+<div class="paragraph">
+<p><a href="https://youtube.com/shorts/ZWfvChb-i0w" target="_blank" rel="noopener noreferrer">https://youtube.com/shorts/ZWfvChb-i0w</a></p>
+</div>
+<div class="paragraph">
+<p><a href="https://youtube.com/shorts/ZWfvChb-i0w" target="_blank" rel="noopener noreferrer">https://youtube.com/shorts/ZWfvChb-i0w</a>[<span class="image"><img src="image::<span class="opengraph-link-container max-w-[400px] object-contain cursor-zoom-in" data-og-url="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" data-asciidoc-image="true" data-image-index="0" data-image-src="image::<span class=">
+      <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">Youtube link with pic <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg> <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span>]</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="spotify-4"><a class="anchor" href="#spotify-4"></a><a class="link" href="#spotify-4">Spotify</a></h4>
+<div class="paragraph">
+<p><div class="media-embed spotify-embed" style="margin: 1rem 0;">
+      <iframe 
+        style="border-radius: 12px; width: 100%; max-width: 100%;" 
+        src="https://open.spotify.com/embed/episode/1GSZFA8vWltPyxYkArdRKx?utm_source=generator" 
+        width="100%" 
+        height="352" 
+        frameborder="0" 
+        allowfullscreen="" 
+        allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" 
+        loading="lazy">
+      </iframe>
+    </div></p>
+</div>
+<div class="paragraph">
+<p><a href="<div class="media-embed spotify-embed" style="margin: 1rem 0;">
+      <iframe 
+        style="border-radius: 12px; width: 100%; max-width: 100%;" 
+        src="https://open.spotify.com/embed/episode/1GSZFA8vWltPyxYkArdRKx?utm_source=generator" 
+        width="100%" 
+        height="352" 
+        frameborder="0" 
+        allowfullscreen="" 
+        allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" 
+        loading="lazy">
+      </iframe>
+    </div>"><span class="image"><img src="image::<span class="opengraph-link-container max-w-[400px] object-contain cursor-zoom-in" data-og-url="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" data-asciidoc-image="true" data-image-index="0" data-image-src="image::<span class=">
+      <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">Spotify link with pic&lt;/a&gt; <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg> <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="audio-4"><a class="anchor" href="#audio-4"></a><a class="link" href="#audio-4">Audio</a></h4>
+<div class="paragraph">
+<p>MEDIA:audio:<a href="https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3" target="_blank" rel="noopener noreferrer">https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3</a></p>
+</div>
+<div class="paragraph">
+<p>link:MEDIA:audio:<a href="https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3" target="_blank" rel="noopener noreferrer">https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3</a>[<span class="image"><img src="image::<span class="opengraph-link-container max-w-[400px] object-contain cursor-zoom-in" data-og-url="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" data-asciidoc-image="true" data-image-index="0" data-image-src="image::<span class=">
+      <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">Audio link with pic <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg> <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span>]</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="video-4"><a class="anchor" href="#video-4"></a><a class="link" href="#video-4">Video</a></h4>
+<div class="paragraph">
+<p>MEDIA:video:<a href="https://v.nostr.build/MTjaYib4upQuf8zn.mp4" target="_blank" rel="noopener noreferrer">https://v.nostr.build/MTjaYib4upQuf8zn.mp4</a></p>
+</div>
+<div class="paragraph">
+<p>link:MEDIA:video:<a href="https://v.nostr.build/MTjaYib4upQuf8zn.mp4" target="_blank" rel="noopener noreferrer">https://v.nostr.build/MTjaYib4upQuf8zn.mp4</a>[<span class="image"><img src="image::<span class="opengraph-link-container max-w-[400px] object-contain cursor-zoom-in" data-og-url="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" data-asciidoc-image="true" data-image-index="0" data-image-src="image::<span class=">
+      <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">Video link with pic <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg> <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span>]</p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="tables-4"><a class="anchor" href="#tables-4"></a><a class="link" href="#tables-4">Tables</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="orderly-4"><a class="anchor" href="#orderly-4"></a><a class="link" href="#orderly-4">Orderly</a></h3>
+<table class="tableblock frame-all grid-all stretch">
+<colgroup>
+<col style="width: 33.3333%;">
+<col style="width: 66.6667%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Syntax</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Description</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Header</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Title</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Paragraph</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Text</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="unorderly-4"><a class="anchor" href="#unorderly-4"></a><a class="link" href="#unorderly-4">Unorderly</a></h3>
+<table class="tableblock frame-all grid-all stretch">
+<colgroup>
+<col style="width: 33.3333%;">
+<col style="width: 66.6667%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Syntax</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Description</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Header</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Title</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Paragraph</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Text</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="with-alignment-4"><a class="anchor" href="#with-alignment-4"></a><a class="link" href="#with-alignment-4">With alignment</a></h3>
+<table class="tableblock frame-all grid-all stretch">
+<colgroup>
+<col style="width: 33.3333%;">
+<col style="width: 33.3333%;">
+<col style="width: 33.3334%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Syntax</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">Description</p></td>
+<td class="tableblock halign-right valign-top"><p class="tableblock">Test Text</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Header</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">Title</p></td>
+<td class="tableblock halign-right valign-top"><p class="tableblock">Here_s this</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Paragraph</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">Text</p></td>
+<td class="tableblock halign-right valign-top"><p class="tableblock">And more</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="code-blocks-4"><a class="anchor" href="#code-blocks-4"></a><a class="link" href="#code-blocks-4">Code blocks</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="json-4"><a class="anchor" href="#json-4"></a><a class="link" href="#json-4">json</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
+{
+    "id": "&lt;event_id&gt;",
+    "pubkey": "&lt;event_originator_pubkey&gt;",
+    "created_at": 1725087283,
+    "kind": 30040,
+    "tags": [
+        ["d", "aesop_s-fables-by-aesop"],
+        ["title", "Aesop_s Fables"],
+        ["author", "Aesop"],
+    ],
+    "sig": "&lt;event_signature&gt;"
+}
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="typescript-4"><a class="anchor" href="#typescript-4"></a><a class="link" href="#typescript-4">typescript</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
+/**
+ * Get Nostr identifier type
+ */
+function getNostrType(id: string): _npub_ | _nprofile_ | _nevent_ | _naddr_ | _note_ | null {
+  if (id.startsWith(_npub_)) return _npub_;
+  if (id.startsWith(_nprofile_)) return _nprofile_;
+  if (id.startsWith(_nevent_)) return _nevent_;
+  if (id.startsWith(_naddr_)) return _naddr_;
+  if (id.startsWith(_note_)) return _note_;
+  return null;
+}
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="shell-4"><a class="anchor" href="#shell-4"></a><a class="link" href="#shell-4">shell</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>mkdir new_directory
+cp source.txt destination.txt</p>
+</div>
+<hr>
+</div>
+<div class="sect2">
+<h3 id="latex-7"><a class="anchor" href="#latex-7"></a><a class="link" href="#latex-7">LaTeX</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
+$
+M =
+\begin{bmatrix}
+\frac{5}{6} &amp; \frac{1}{6} &amp; 0 \\[0.3em]
+\frac{5}{6} &amp; 0 &amp; \frac{1}{6} \\[0.3em]
+0 &amp; \frac{5}{6} &amp; \frac{1}{6}
+\end{bmatrix}
+$
+'''</code></pre>
+</div>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
+$
+f(x)=
+\begin{cases}
+1/d_{ij} &amp; \quad \text{when $d_{ij} \leq 160$}\\
+0 &amp; \quad \text{otherwise}
+\end{cases}
+$
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="abc-notation-4"><a class="anchor" href="#abc-notation-4"></a><a class="link" href="#abc-notation-4">ABC Notation</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
+X:1
+T:Ohne Titel
+C:Aufgezeichnet 1784
+A:Seibis nahe Lichtenberg in Oberfranken
+S:Handschrift, bezeichnet und datiert: "Heinrich Nicol Philipp zu Seibis den 30 Junius 1784"
+M:4/4
+L:1/4
+K:D
+dd d2 | ee e2 | fg ad | cB cA |\
+dd d2 | ee e2 | fg ad | ed/c/ d2 :|
+|:\
+fg ad | cB cA | fg ad | cB cA |\
+dd d2 | ee e2 | fg ad | ed/c/ d2 :|
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="plantuml-4"><a class="anchor" href="#plantuml-4"></a><a class="link" href="#plantuml-4">PlantUML</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
+@startuml
+Alice -&gt; Bob: Authentication Request
+Bob --&gt; Alice: Authentication Response
+@enduml
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="bpmn-4"><a class="anchor" href="#bpmn-4"></a><a class="link" href="#bpmn-4">BPMN</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
+@startbpmn
+start
+:Task 1;
+:Task 2;
+stop
+@endbpmn
+'''</code></pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="latex-8"><a class="anchor" href="#latex-8"></a><a class="link" href="#latex-8">LaTeX</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="latex-in-inline-code-4"><a class="anchor" href="#latex-in-inline-code-4"></a><a class="link" href="#latex-in-inline-code-4">LaTeX in inline-code</a></h3>
+<div class="literalblock">
+<div class="content">
+<pre>and  and `$\color{blue}{X \sim Normal \; (\mu,\sigma^2)}== Bullet list</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This is a test unordered list with mixed bullets:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>First item with a number 2. in it</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+<div class="ulist">
+<ul>
+<li>
+<p>Indented item</p>
+</li>
+<li>
+<p>Indented item</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Another unordered list:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>1st item</p>
+</li>
+<li>
+<p>2nd item</p>
+</li>
+<li>
+<p>third item containing <em>italic</em> text</p>
+<div class="ulist">
+<ul>
+<li>
+<p>indented item</p>
+</li>
+<li>
+<p>second indented item</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>fourth item</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>This is a test ordered list with indented items:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>First item</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+<div class="olist loweralpha">
+<ol class="loweralpha" type="a">
+<li>
+<p>Indented item</p>
+</li>
+<li>
+<p>Indented item</p>
+</li>
+</ol>
+</div>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>Ordered list where everything has no number:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>First item</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>This is a mixed list with indented items:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>First item</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+<div class="ulist">
+<ul>
+<li>
+<p>Indented item</p>
+</li>
+<li>
+<p>Indented item</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>This is another mixed list with indented items:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>First item</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Indented item</p>
+</li>
+<li>
+<p>Indented item</p>
+</li>
+</ol>
+</div>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="headers-5"><a class="anchor" href="#headers-5"></a><a class="link" href="#headers-5">Headers</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="third-level-header-5"><a class="anchor" href="#third-level-header-5"></a><a class="link" href="#third-level-header-5">Third-level header</a></h3>
+<div class="sect3">
+<h4 id="fourth-level-header-5"><a class="anchor" href="#fourth-level-header-5"></a><a class="link" href="#fourth-level-header-5">Fourth-level header</a></h4>
+<div class="sect4">
+<h5 id="fifth-level-header-5"><a class="anchor" href="#fifth-level-header-5"></a><a class="link" href="#fifth-level-header-5">Fifth-level header</a></h5>
+<div class="sect5">
+<h6 id="sixth-level-header-5"><a class="anchor" href="#sixth-level-header-5"></a><a class="link" href="#sixth-level-header-5">Sixth-level header</a></h6>
+
+</div>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="media-and-links-5"><a class="anchor" href="#media-and-links-5"></a><a class="link" href="#media-and-links-5">Media and Links</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="nostr-address-5"><a class="anchor" href="#nostr-address-5"></a><a class="link" href="#nostr-address-5">Nostr address</a></h3>
+<div class="paragraph">
+<p>This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l</p>
+</div>
+<div class="paragraph">
+<p>This is also plaintext:</p>
+</div>
+<div class="paragraph">
+<p>npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q</p>
+</div>
+<div class="paragraph">
+<p>These should be turned into links:</p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l">naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l</a></p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z">npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z</a></p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj">nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj</a></p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh">nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh</a></p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg">note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg</a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="hashtag-5"><a class="anchor" href="#hashtag-5"></a><a class="link" href="#hashtag-5">Hashtag</a></h3>
+<div class="paragraph">
+<p><a class="hashtag-link text-primary-600 dark:text-primary-500 hover:underline" data-topic="testhashtag" data-url="/notes?t=testhashtag" href="/notes?t=testhashtag">#testhashtag</a> at the start of the line and <a class="hashtag-link text-primary-600 dark:text-primary-500 hover:underline" data-topic="inlinehashtag" data-url="/notes?t=inlinehashtag" href="/notes?t=inlinehashtag">#inlinehashtag</a> in the middle</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="wikilinks-5"><a class="anchor" href="#wikilinks-5"></a><a class="link" href="#wikilinks-5">Wikilinks</a></h3>
+<div class="paragraph">
+<p><a class="wikilink text-primary-600 dark:text-primary-500 hover:underline" data-dtag="nkbip-01" data-url="/events?d=nkbip-01" href="/events?d=nkbip-01">Specification</a> and <a class="wikilink text-primary-600 dark:text-primary-500 hover:underline" data-dtag="mirepoix" data-url="/events?d=mirepoix" href="/events?d=mirepoix">mirepoix</a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="url-5"><a class="anchor" href="#url-5"></a><a class="link" href="#url-5">URL</a></h3>
+<div class="paragraph">
+<p><span class="opengraph-link-container" data-og-url="https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html">
+      <a href="https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span></p>
+</div>
+<div class="paragraph">
+<p><span class="opengraph-link-container" data-og-url="https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html">
+      <a href="https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span>[Welt Online link]</p>
+</div>
+<div class="paragraph">
+<p>this should render as plaintext: <code>http://www.example.com</code></p>
+</div>
+<div class="paragraph">
+<p>this should be a hyperlink: www.example.com</p>
+</div>
+<div class="paragraph">
+<p>this should be a hyperlink to the http URL with the same address, so <a href="https://theforest.nostr1.com/" target="_blank" rel="noopener noreferrer">wss://theforest.nostr1.com</a> should render like <a href="https://theforest.nostr1.com"https://theforest.nostr1.com" target="_blank" rel="noopener noreferrer">wss://theforest.nostr1.com<a href="https://theforest.nostr1.com" target="_blank" rel="noreferrer noopener" class="break-words inline-flex items-baseline gap-1">width=100%&quot;&gt;
+&lt;/div&gt;
+&lt;/div&gt;
+&lt;div class=&quot;imageblock&quot;&gt;
+&lt;div class=&quot;content&quot;&gt;
+&lt;img src=&quot;image::https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png&quot; alt=&quot;https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>[width=100%][test image" width="100%">
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="media-5"><a class="anchor" href="#media-5"></a><a class="link" href="#media-5">Media</a></h3>
+<div class="sect3">
+<h4 id="youtube-5"><a class="anchor" href="#youtube-5"></a><a class="link" href="#youtube-5">YouTube</a></h4>
+<div class="paragraph">
+<p><a href="https://youtube.com/shorts/ZWfvChb-i0w" target="_blank" rel="noopener noreferrer">https://youtube.com/shorts/ZWfvChb-i0w</a></p>
+</div>
+<div class="paragraph">
+<p><a href="https://youtube.com/shorts/ZWfvChb-i0w" target="_blank" rel="noopener noreferrer">https://youtube.com/shorts/ZWfvChb-i0w</a>[<span class="image"><img src="image::<span class="opengraph-link-container max-w-[400px] object-contain cursor-zoom-in" data-og-url="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" data-asciidoc-image="true" data-image-index="0" data-image-src="image::<span class=">
+      <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">Youtube link with pic <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg> <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span>]</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="spotify-5"><a class="anchor" href="#spotify-5"></a><a class="link" href="#spotify-5">Spotify</a></h4>
+<div class="paragraph">
+<p><div class="media-embed spotify-embed" style="margin: 1rem 0;">
+      <iframe 
+        style="border-radius: 12px; width: 100%; max-width: 100%;" 
+        src="https://open.spotify.com/embed/episode/1GSZFA8vWltPyxYkArdRKx?utm_source=generator" 
+        width="100%" 
+        height="352" 
+        frameborder="0" 
+        allowfullscreen="" 
+        allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" 
+        loading="lazy">
+      </iframe>
+    </div></p>
+</div>
+<div class="paragraph">
+<p><a href="<div class="media-embed spotify-embed" style="margin: 1rem 0;">
+      <iframe 
+        style="border-radius: 12px; width: 100%; max-width: 100%;" 
+        src="https://open.spotify.com/embed/episode/1GSZFA8vWltPyxYkArdRKx?utm_source=generator" 
+        width="100%" 
+        height="352" 
+        frameborder="0" 
+        allowfullscreen="" 
+        allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" 
+        loading="lazy">
+      </iframe>
+    </div>"><span class="image"><img src="image::<span class="opengraph-link-container max-w-[400px] object-contain cursor-zoom-in" data-og-url="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" data-asciidoc-image="true" data-image-index="0" data-image-src="image::<span class=">
+      <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">Spotify link with pic&lt;/a&gt; <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg> <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="audio-5"><a class="anchor" href="#audio-5"></a><a class="link" href="#audio-5">Audio</a></h4>
+<div class="paragraph">
+<p>MEDIA:audio:<a href="https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3" target="_blank" rel="noopener noreferrer">https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3</a></p>
+</div>
+<div class="paragraph">
+<p>link:MEDIA:audio:<a href="https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3" target="_blank" rel="noopener noreferrer">https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3</a>[<span class="image"><img src="image::<span class="opengraph-link-container max-w-[400px] object-contain cursor-zoom-in" data-og-url="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" data-asciidoc-image="true" data-image-index="0" data-image-src="image::<span class=">
+      <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">Audio link with pic <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg> <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span>]</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="video-5"><a class="anchor" href="#video-5"></a><a class="link" href="#video-5">Video</a></h4>
+<div class="paragraph">
+<p>MEDIA:video:<a href="https://v.nostr.build/MTjaYib4upQuf8zn.mp4" target="_blank" rel="noopener noreferrer">https://v.nostr.build/MTjaYib4upQuf8zn.mp4</a></p>
+</div>
+<div class="paragraph">
+<p>link:MEDIA:video:<a href="https://v.nostr.build/MTjaYib4upQuf8zn.mp4" target="_blank" rel="noopener noreferrer">https://v.nostr.build/MTjaYib4upQuf8zn.mp4</a>[<span class="image"><img src="image::<span class="opengraph-link-container max-w-[400px] object-contain cursor-zoom-in" data-og-url="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" data-asciidoc-image="true" data-image-index="0" data-image-src="image::<span class=">
+      <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">Video link with pic <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg> <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span>]</p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="tables-5"><a class="anchor" href="#tables-5"></a><a class="link" href="#tables-5">Tables</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="orderly-5"><a class="anchor" href="#orderly-5"></a><a class="link" href="#orderly-5">Orderly</a></h3>
+<table class="tableblock frame-all grid-all stretch">
+<colgroup>
+<col style="width: 33.3333%;">
+<col style="width: 66.6667%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Syntax</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Description</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Header</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Title</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Paragraph</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Text</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="unorderly-5"><a class="anchor" href="#unorderly-5"></a><a class="link" href="#unorderly-5">Unorderly</a></h3>
+<table class="tableblock frame-all grid-all stretch">
+<colgroup>
+<col style="width: 33.3333%;">
+<col style="width: 66.6667%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Syntax</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Description</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Header</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Title</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Paragraph</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Text</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="with-alignment-5"><a class="anchor" href="#with-alignment-5"></a><a class="link" href="#with-alignment-5">With alignment</a></h3>
+<table class="tableblock frame-all grid-all stretch">
+<colgroup>
+<col style="width: 33.3333%;">
+<col style="width: 33.3333%;">
+<col style="width: 33.3334%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Syntax</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">Description</p></td>
+<td class="tableblock halign-right valign-top"><p class="tableblock">Test Text</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Header</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">Title</p></td>
+<td class="tableblock halign-right valign-top"><p class="tableblock">Here_s this</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Paragraph</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">Text</p></td>
+<td class="tableblock halign-right valign-top"><p class="tableblock">And more</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="code-blocks-5"><a class="anchor" href="#code-blocks-5"></a><a class="link" href="#code-blocks-5">Code blocks</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="json-5"><a class="anchor" href="#json-5"></a><a class="link" href="#json-5">json</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
 {
-    "id": "<event_id>",
-    "pubkey": "<event_originator_pubkey>",
+    "id": "&lt;event_id&gt;",
+    "pubkey": "&lt;event_originator_pubkey&gt;",
     "created_at": 1725087283,
     "kind": 30040,
     "tags": [
-        ["d", "aesop's-fables-by-aesop"],
-        ["title", "Aesop's Fables"],
+        ["d", "aesop_s-fables-by-aesop"],
+        ["title", "Aesop_s Fables"],
         ["author", "Aesop"],
     ],
-    "sig": "<event_signature>"
+    "sig": "&lt;event_signature&gt;"
 }
-----
-
-=== typescript
-
-[source,typescript]
-----
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="typescript-5"><a class="anchor" href="#typescript-5"></a><a class="link" href="#typescript-5">typescript</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
 /**
  * Get Nostr identifier type
  */
-function getNostrType(id: string): 'npub' | 'nprofile' | 'nevent' | 'naddr' | 'note' | null {
-  if (id.startsWith('npub')) return 'npub';
-  if (id.startsWith('nprofile')) return 'nprofile';
-  if (id.startsWith('nevent')) return 'nevent';
-  if (id.startsWith('naddr')) return 'naddr';
-  if (id.startsWith('note')) return 'note';
+function getNostrType(id: string): _npub_ | _nprofile_ | _nevent_ | _naddr_ | _note_ | null {
+  if (id.startsWith(_npub_)) return _npub_;
+  if (id.startsWith(_nprofile_)) return _nprofile_;
+  if (id.startsWith(_nevent_)) return _nevent_;
+  if (id.startsWith(_naddr_)) return _naddr_;
+  if (id.startsWith(_note_)) return _note_;
   return null;
 }
-----
-
-=== shell
-
-[source,shell]
-----
-
-mkdir new_directory
-cp source.txt destination.txt
-
-----
-
-=== LaTeX
-
-[source,latex]
-----
-$$
-M = 
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="shell-5"><a class="anchor" href="#shell-5"></a><a class="link" href="#shell-5">shell</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>mkdir new_directory
+cp source.txt destination.txt</p>
+</div>
+<hr>
+</div>
+<div class="sect2">
+<h3 id="latex-9"><a class="anchor" href="#latex-9"></a><a class="link" href="#latex-9">LaTeX</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
+$
+M =
 \begin{bmatrix}
-\frac{5}{6} & \frac{1}{6} & 0 \\[0.3em]
-\frac{5}{6} & 0 & \frac{1}{6} \\[0.3em]
-0 & \frac{5}{6} & \frac{1}{6}
+\frac{5}{6} &amp; \frac{1}{6} &amp; 0 \\[0.3em]
+\frac{5}{6} &amp; 0 &amp; \frac{1}{6} \\[0.3em]
+0 &amp; \frac{5}{6} &amp; \frac{1}{6}
 \end{bmatrix}
-$$
-----
-
-[source,latex]
-----
-$$
+$
+'''</code></pre>
+</div>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
+$
 f(x)=
 \begin{cases}
-1/d_{ij} & \quad \text{when $d_{ij} \leq 160$}\\ 
-0 & \quad \text{otherwise}
+1/d_{ij} &amp; \quad \text{when $d_{ij} \leq 160$}\\
+0 &amp; \quad \text{otherwise}
 \end{cases}
-$$
-----
-
-=== ABC Notation
-
-[source,abc]
-----
+$
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="abc-notation-5"><a class="anchor" href="#abc-notation-5"></a><a class="link" href="#abc-notation-5">ABC Notation</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
 X:1
 T:Ohne Titel
 C:Aufgezeichnet 1784
@@ -5447,277 +7410,1247 @@ dd d2 | ee e2 | fg ad | ed/c/ d2 :|
 |:\
 fg ad | cB cA | fg ad | cB cA |\
 dd d2 | ee e2 | fg ad | ed/c/ d2 :|
-----
-
-=== PlantUML
-
-[source,plantuml]
-----
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="plantuml-5"><a class="anchor" href="#plantuml-5"></a><a class="link" href="#plantuml-5">PlantUML</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
 @startuml
-Alice -> Bob: Authentication Request
-Bob --> Alice: Authentication Response
+Alice -&gt; Bob: Authentication Request
+Bob --&gt; Alice: Authentication Response
 @enduml
-----
-
-=== BPMN
-
-[source,plantuml]
-----
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="bpmn-5"><a class="anchor" href="#bpmn-5"></a><a class="link" href="#bpmn-5">BPMN</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
 @startbpmn
 start
 :Task 1;
 :Task 2;
 stop
 @endbpmn
-----
-
-== LaTeX
-
-=== LaTeX in inline-code
-
-`$[ x^n + y^n = z^n \]== Bullet list
-
-This is a test unordered list with mixed bullets:
-
-* First item with a number 2. in it
-* Second item
-* Third item
-** Indented item
-** Indented item
-* Fourth item
-
-Another unordered list:
-
-* 1st item
-* 2nd item
-* third item containing _italic_ text
-** indented item
-** second indented item
-* fourth item
-
-This is a test ordered list with indented items:
-
-. First item
-. Second item
-. Third item
-.. Indented item
-.. Indented item
-. Fourth item
-
-Ordered list where everything has no number:
-
-. First item
-. Second item
-. Third item
-. Fourth item
-
-This is a mixed list with indented items:
-
-. First item
-. Second item
-. Third item
-* Indented item
-* Indented item
-. Fourth item
-
-This is another mixed list with indented items:
-
-* First item
-* Second item
-* Third item
-. Indented item
-. Indented item
-* Fourth item
-
-== Headers
-
-=== Third-level header
-
-==== Fourth-level header
-
-===== Fifth-level header
-
-====== Sixth-level header
-
-== Media and Links
-
-=== Nostr address
-
-This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l
-
-This is also plaintext:
-
-npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q
-
-These should be turned into links:
-
-link:nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l[naddr1qv...]
-
-link:nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z[npub1l5s...]
-
-link:nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj[nevent1q...]
-
-link:nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh[nprofile...]
-
-link:nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg[note1txy...]
-
-=== Hashtag
-
-hashtag:testhashtag[#testhashtag] at the start of the line and hashtag:inlinehashtag[#inlinehashtag] in the middle
-
-=== Wikilinks
-
-WIKILINK:nkbip-01|Specification and WIKILINK:mirepoix|mirepoix
-
-=== URL
-
-https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html
-
-link:https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html[Welt Online link]
-
-this should render as plaintext: `http://www.example.com`
-
-this should be a hyperlink: www.example.com
-
-this should be a hyperlink to the http URL with the same address, so wss://theforest.nostr1.com should render like link:wss://theforest.nostr1.com[https://theforest.nostr1.com]
-
-=== Images
-
-https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png
-
-image::https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png[test image, width=100%]
-
-=== Media
-
-==== YouTube
-
-https://youtube.com/shorts/ZWfvChb-i0w
-
-link:https://youtube.com/shorts/ZWfvChb-i0w[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Youtube link with pic]]
-
-==== Spotify
-
-MEDIA:spotify:episode:1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ
-
-link:MEDIA:spotify:episode:1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Spotify link with pic]]
-
-==== Audio
-
-MEDIA:audio:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3
-
-link:MEDIA:audio:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Audio link with pic]]
-
-==== Video
-
-MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4
-
-link:MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Video link with pic]]
-
-== Tables
-
-=== Orderly
-
-[cols="1,2"]
-|===
-|Syntax|Description
-|Header|Title
-|Paragraph|Text
-|===
-
-=== Unorderly
-
-[cols="1,2"]
-|===
-|Syntax|Description
-|Header|Title
-|Paragraph|Text
-|===
-
-=== With alignment
-
-[cols="<,^,>"]
-|===
-|Syntax|Description|Test Text
-|Header|Title|Here's this
-|Paragraph|Text|And more
-|===
-
-== Code blocks
-
-=== json
-
-[source,json]
-----
+'''</code></pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="latex-10"><a class="anchor" href="#latex-10"></a><a class="link" href="#latex-10">LaTeX</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="latex-in-inline-code-5"><a class="anchor" href="#latex-in-inline-code-5"></a><a class="link" href="#latex-in-inline-code-5">LaTeX in inline-code</a></h3>
+<div class="paragraph">
+<p>`$[ x^n + y^n = z^n \]== Bullet list</p>
+</div>
+<div class="paragraph">
+<p>This is a test unordered list with mixed bullets:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>First item with a number 2. in it</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+<div class="ulist">
+<ul>
+<li>
+<p>Indented item</p>
+</li>
+<li>
+<p>Indented item</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Another unordered list:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>1st item</p>
+</li>
+<li>
+<p>2nd item</p>
+</li>
+<li>
+<p>third item containing <em>italic</em> text</p>
+<div class="ulist">
+<ul>
+<li>
+<p>indented item</p>
+</li>
+<li>
+<p>second indented item</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>fourth item</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>This is a test ordered list with indented items:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>First item</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+<div class="olist loweralpha">
+<ol class="loweralpha" type="a">
+<li>
+<p>Indented item</p>
+</li>
+<li>
+<p>Indented item</p>
+</li>
+</ol>
+</div>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>Ordered list where everything has no number:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>First item</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>This is a mixed list with indented items:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>First item</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+<div class="ulist">
+<ul>
+<li>
+<p>Indented item</p>
+</li>
+<li>
+<p>Indented item</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>This is another mixed list with indented items:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>First item</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Indented item</p>
+</li>
+<li>
+<p>Indented item</p>
+</li>
+</ol>
+</div>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="headers-6"><a class="anchor" href="#headers-6"></a><a class="link" href="#headers-6">Headers</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="third-level-header-6"><a class="anchor" href="#third-level-header-6"></a><a class="link" href="#third-level-header-6">Third-level header</a></h3>
+<div class="sect3">
+<h4 id="fourth-level-header-6"><a class="anchor" href="#fourth-level-header-6"></a><a class="link" href="#fourth-level-header-6">Fourth-level header</a></h4>
+<div class="sect4">
+<h5 id="fifth-level-header-6"><a class="anchor" href="#fifth-level-header-6"></a><a class="link" href="#fifth-level-header-6">Fifth-level header</a></h5>
+<div class="sect5">
+<h6 id="sixth-level-header-6"><a class="anchor" href="#sixth-level-header-6"></a><a class="link" href="#sixth-level-header-6">Sixth-level header</a></h6>
+
+</div>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="media-and-links-6"><a class="anchor" href="#media-and-links-6"></a><a class="link" href="#media-and-links-6">Media and Links</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="nostr-address-6"><a class="anchor" href="#nostr-address-6"></a><a class="link" href="#nostr-address-6">Nostr address</a></h3>
+<div class="paragraph">
+<p>This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l</p>
+</div>
+<div class="paragraph">
+<p>This is also plaintext:</p>
+</div>
+<div class="paragraph">
+<p>npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q</p>
+</div>
+<div class="paragraph">
+<p>These should be turned into links:</p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l">naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l</a></p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z">npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z</a></p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj">nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj</a></p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh">nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh</a></p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg">note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg</a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="hashtag-6"><a class="anchor" href="#hashtag-6"></a><a class="link" href="#hashtag-6">Hashtag</a></h3>
+<div class="paragraph">
+<p><a class="hashtag-link text-primary-600 dark:text-primary-500 hover:underline" data-topic="testhashtag" data-url="/notes?t=testhashtag" href="/notes?t=testhashtag">#testhashtag</a> at the start of the line and <a class="hashtag-link text-primary-600 dark:text-primary-500 hover:underline" data-topic="inlinehashtag" data-url="/notes?t=inlinehashtag" href="/notes?t=inlinehashtag">#inlinehashtag</a> in the middle</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="wikilinks-6"><a class="anchor" href="#wikilinks-6"></a><a class="link" href="#wikilinks-6">Wikilinks</a></h3>
+<div class="paragraph">
+<p><a class="wikilink text-primary-600 dark:text-primary-500 hover:underline" data-dtag="nkbip-01" data-url="/events?d=nkbip-01" href="/events?d=nkbip-01">Specification</a> and <a class="wikilink text-primary-600 dark:text-primary-500 hover:underline" data-dtag="mirepoix" data-url="/events?d=mirepoix" href="/events?d=mirepoix">mirepoix</a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="url-6"><a class="anchor" href="#url-6"></a><a class="link" href="#url-6">URL</a></h3>
+<div class="paragraph">
+<p><span class="opengraph-link-container" data-og-url="https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html">
+      <a href="https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span></p>
+</div>
+<div class="paragraph">
+<p><span class="opengraph-link-container" data-og-url="https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html">
+      <a href="https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span>[Welt Online link]</p>
+</div>
+<div class="paragraph">
+<p>this should render as plaintext: <code>http://www.example.com</code></p>
+</div>
+<div class="paragraph">
+<p>this should be a hyperlink: www.example.com</p>
+</div>
+<div class="paragraph">
+<p>this should be a hyperlink to the http URL with the same address, so <a href="https://theforest.nostr1.com/" target="_blank" rel="noopener noreferrer">wss://theforest.nostr1.com</a> should render like <a href="https://theforest.nostr1.com"https://theforest.nostr1.com" target="_blank" rel="noopener noreferrer">wss://theforest.nostr1.com<a href="https://theforest.nostr1.com" target="_blank" rel="noreferrer noopener" class="break-words inline-flex items-baseline gap-1">width=100%&quot;&gt;
+&lt;/div&gt;
+&lt;/div&gt;
+&lt;div class=&quot;imageblock&quot;&gt;
+&lt;div class=&quot;content&quot;&gt;
+&lt;img src=&quot;image::https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png&quot; alt=&quot;https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>[width=100%][test image" width="100%">
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="media-6"><a class="anchor" href="#media-6"></a><a class="link" href="#media-6">Media</a></h3>
+<div class="sect3">
+<h4 id="youtube-6"><a class="anchor" href="#youtube-6"></a><a class="link" href="#youtube-6">YouTube</a></h4>
+<div class="paragraph">
+<p><a href="https://youtube.com/shorts/ZWfvChb-i0w" target="_blank" rel="noopener noreferrer">https://youtube.com/shorts/ZWfvChb-i0w</a></p>
+</div>
+<div class="paragraph">
+<p><a href="https://youtube.com/shorts/ZWfvChb-i0w" target="_blank" rel="noopener noreferrer">https://youtube.com/shorts/ZWfvChb-i0w</a>[<span class="image"><img src="image::<span class="opengraph-link-container max-w-[400px] object-contain cursor-zoom-in" data-og-url="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" data-asciidoc-image="true" data-image-index="0" data-image-src="image::<span class=">
+      <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">Youtube link with pic <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg> <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span>]</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="spotify-6"><a class="anchor" href="#spotify-6"></a><a class="link" href="#spotify-6">Spotify</a></h4>
+<div class="paragraph">
+<p><div class="media-embed spotify-embed" style="margin: 1rem 0;">
+      <iframe 
+        style="border-radius: 12px; width: 100%; max-width: 100%;" 
+        src="https://open.spotify.com/embed/episode/1GSZFA8vWltPyxYkArdRKx?utm_source=generator" 
+        width="100%" 
+        height="352" 
+        frameborder="0" 
+        allowfullscreen="" 
+        allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" 
+        loading="lazy">
+      </iframe>
+    </div></p>
+</div>
+<div class="paragraph">
+<p><a href="<div class="media-embed spotify-embed" style="margin: 1rem 0;">
+      <iframe 
+        style="border-radius: 12px; width: 100%; max-width: 100%;" 
+        src="https://open.spotify.com/embed/episode/1GSZFA8vWltPyxYkArdRKx?utm_source=generator" 
+        width="100%" 
+        height="352" 
+        frameborder="0" 
+        allowfullscreen="" 
+        allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" 
+        loading="lazy">
+      </iframe>
+    </div>"><span class="image"><img src="image::<span class="opengraph-link-container max-w-[400px] object-contain cursor-zoom-in" data-og-url="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" data-asciidoc-image="true" data-image-index="0" data-image-src="image::<span class=">
+      <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">Spotify link with pic&lt;/a&gt; <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg> <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="audio-6"><a class="anchor" href="#audio-6"></a><a class="link" href="#audio-6">Audio</a></h4>
+<div class="paragraph">
+<p>MEDIA:audio:<a href="https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3" target="_blank" rel="noopener noreferrer">https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3</a></p>
+</div>
+<div class="paragraph">
+<p>link:MEDIA:audio:<a href="https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3" target="_blank" rel="noopener noreferrer">https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3</a>[<span class="image"><img src="image::<span class="opengraph-link-container max-w-[400px] object-contain cursor-zoom-in" data-og-url="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" data-asciidoc-image="true" data-image-index="0" data-image-src="image::<span class=">
+      <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">Audio link with pic <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg> <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span>]</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="video-6"><a class="anchor" href="#video-6"></a><a class="link" href="#video-6">Video</a></h4>
+<div class="paragraph">
+<p>MEDIA:video:<a href="https://v.nostr.build/MTjaYib4upQuf8zn.mp4" target="_blank" rel="noopener noreferrer">https://v.nostr.build/MTjaYib4upQuf8zn.mp4</a></p>
+</div>
+<div class="paragraph">
+<p>link:MEDIA:video:<a href="https://v.nostr.build/MTjaYib4upQuf8zn.mp4" target="_blank" rel="noopener noreferrer">https://v.nostr.build/MTjaYib4upQuf8zn.mp4</a>[<span class="image"><img src="image::<span class="opengraph-link-container max-w-[400px] object-contain cursor-zoom-in" data-og-url="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" data-asciidoc-image="true" data-image-index="0" data-image-src="image::<span class=">
+      <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">Video link with pic <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg> <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span>]</p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="tables-6"><a class="anchor" href="#tables-6"></a><a class="link" href="#tables-6">Tables</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="orderly-6"><a class="anchor" href="#orderly-6"></a><a class="link" href="#orderly-6">Orderly</a></h3>
+<table class="tableblock frame-all grid-all stretch">
+<colgroup>
+<col style="width: 33.3333%;">
+<col style="width: 66.6667%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Syntax</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Description</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Header</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Title</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Paragraph</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Text</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="unorderly-6"><a class="anchor" href="#unorderly-6"></a><a class="link" href="#unorderly-6">Unorderly</a></h3>
+<table class="tableblock frame-all grid-all stretch">
+<colgroup>
+<col style="width: 33.3333%;">
+<col style="width: 66.6667%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Syntax</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Description</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Header</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Title</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Paragraph</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Text</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="with-alignment-6"><a class="anchor" href="#with-alignment-6"></a><a class="link" href="#with-alignment-6">With alignment</a></h3>
+<table class="tableblock frame-all grid-all stretch">
+<colgroup>
+<col style="width: 33.3333%;">
+<col style="width: 33.3333%;">
+<col style="width: 33.3334%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Syntax</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">Description</p></td>
+<td class="tableblock halign-right valign-top"><p class="tableblock">Test Text</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Header</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">Title</p></td>
+<td class="tableblock halign-right valign-top"><p class="tableblock">Here_s this</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Paragraph</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">Text</p></td>
+<td class="tableblock halign-right valign-top"><p class="tableblock">And more</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="code-blocks-6"><a class="anchor" href="#code-blocks-6"></a><a class="link" href="#code-blocks-6">Code blocks</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="json-6"><a class="anchor" href="#json-6"></a><a class="link" href="#json-6">json</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
+{
+    "id": "&lt;event_id&gt;",
+    "pubkey": "&lt;event_originator_pubkey&gt;",
+    "created_at": 1725087283,
+    "kind": 30040,
+    "tags": [
+        ["d", "aesop_s-fables-by-aesop"],
+        ["title", "Aesop_s Fables"],
+        ["author", "Aesop"],
+    ],
+    "sig": "&lt;event_signature&gt;"
+}
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="typescript-6"><a class="anchor" href="#typescript-6"></a><a class="link" href="#typescript-6">typescript</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
+/**
+ * Get Nostr identifier type
+ */
+function getNostrType(id: string): _npub_ | _nprofile_ | _nevent_ | _naddr_ | _note_ | null {
+  if (id.startsWith(_npub_)) return _npub_;
+  if (id.startsWith(_nprofile_)) return _nprofile_;
+  if (id.startsWith(_nevent_)) return _nevent_;
+  if (id.startsWith(_naddr_)) return _naddr_;
+  if (id.startsWith(_note_)) return _note_;
+  return null;
+}
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="shell-6"><a class="anchor" href="#shell-6"></a><a class="link" href="#shell-6">shell</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>mkdir new_directory
+cp source.txt destination.txt</p>
+</div>
+<hr>
+</div>
+<div class="sect2">
+<h3 id="latex-11"><a class="anchor" href="#latex-11"></a><a class="link" href="#latex-11">LaTeX</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
+$
+M =
+\begin{bmatrix}
+\frac{5}{6} &amp; \frac{1}{6} &amp; 0 \\[0.3em]
+\frac{5}{6} &amp; 0 &amp; \frac{1}{6} \\[0.3em]
+0 &amp; \frac{5}{6} &amp; \frac{1}{6}
+\end{bmatrix}
+$
+'''</code></pre>
+</div>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
+$
+f(x)=
+\begin{cases}
+1/d_{ij} &amp; \quad \text{when $d_{ij} \leq 160$}\\
+0 &amp; \quad \text{otherwise}
+\end{cases}
+$
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="abc-notation-6"><a class="anchor" href="#abc-notation-6"></a><a class="link" href="#abc-notation-6">ABC Notation</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
+X:1
+T:Ohne Titel
+C:Aufgezeichnet 1784
+A:Seibis nahe Lichtenberg in Oberfranken
+S:Handschrift, bezeichnet und datiert: "Heinrich Nicol Philipp zu Seibis den 30 Junius 1784"
+M:4/4
+L:1/4
+K:D
+dd d2 | ee e2 | fg ad | cB cA |\
+dd d2 | ee e2 | fg ad | ed/c/ d2 :|
+|:\
+fg ad | cB cA | fg ad | cB cA |\
+dd d2 | ee e2 | fg ad | ed/c/ d2 :|
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="plantuml-6"><a class="anchor" href="#plantuml-6"></a><a class="link" href="#plantuml-6">PlantUML</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
+@startuml
+Alice -&gt; Bob: Authentication Request
+Bob --&gt; Alice: Authentication Response
+@enduml
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="bpmn-6"><a class="anchor" href="#bpmn-6"></a><a class="link" href="#bpmn-6">BPMN</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
+@startbpmn
+start
+:Task 1;
+:Task 2;
+stop
+@endbpmn
+'''</code></pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="latex-12"><a class="anchor" href="#latex-12"></a><a class="link" href="#latex-12">LaTeX</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="latex-in-inline-code-6"><a class="anchor" href="#latex-in-inline-code-6"></a><a class="link" href="#latex-in-inline-code-6">LaTeX in inline-code</a></h3>
+<div class="literalblock">
+<div class="content">
+<pre>and `$[\sqrt{x^2+1}\]== Bullet list</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This is a test unordered list with mixed bullets:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>First item with a number 2. in it</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+<div class="ulist">
+<ul>
+<li>
+<p>Indented item</p>
+</li>
+<li>
+<p>Indented item</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Another unordered list:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>1st item</p>
+</li>
+<li>
+<p>2nd item</p>
+</li>
+<li>
+<p>third item containing <em>italic</em> text</p>
+<div class="ulist">
+<ul>
+<li>
+<p>indented item</p>
+</li>
+<li>
+<p>second indented item</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>fourth item</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>This is a test ordered list with indented items:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>First item</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+<div class="olist loweralpha">
+<ol class="loweralpha" type="a">
+<li>
+<p>Indented item</p>
+</li>
+<li>
+<p>Indented item</p>
+</li>
+</ol>
+</div>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>Ordered list where everything has no number:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>First item</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>This is a mixed list with indented items:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>First item</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+<div class="ulist">
+<ul>
+<li>
+<p>Indented item</p>
+</li>
+<li>
+<p>Indented item</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>This is another mixed list with indented items:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>First item</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Indented item</p>
+</li>
+<li>
+<p>Indented item</p>
+</li>
+</ol>
+</div>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="headers-7"><a class="anchor" href="#headers-7"></a><a class="link" href="#headers-7">Headers</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="third-level-header-7"><a class="anchor" href="#third-level-header-7"></a><a class="link" href="#third-level-header-7">Third-level header</a></h3>
+<div class="sect3">
+<h4 id="fourth-level-header-7"><a class="anchor" href="#fourth-level-header-7"></a><a class="link" href="#fourth-level-header-7">Fourth-level header</a></h4>
+<div class="sect4">
+<h5 id="fifth-level-header-7"><a class="anchor" href="#fifth-level-header-7"></a><a class="link" href="#fifth-level-header-7">Fifth-level header</a></h5>
+<div class="sect5">
+<h6 id="sixth-level-header-7"><a class="anchor" href="#sixth-level-header-7"></a><a class="link" href="#sixth-level-header-7">Sixth-level header</a></h6>
+
+</div>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="media-and-links-7"><a class="anchor" href="#media-and-links-7"></a><a class="link" href="#media-and-links-7">Media and Links</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="nostr-address-7"><a class="anchor" href="#nostr-address-7"></a><a class="link" href="#nostr-address-7">Nostr address</a></h3>
+<div class="paragraph">
+<p>This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l</p>
+</div>
+<div class="paragraph">
+<p>This is also plaintext:</p>
+</div>
+<div class="paragraph">
+<p>npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q</p>
+</div>
+<div class="paragraph">
+<p>These should be turned into links:</p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l">naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l</a></p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z">npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z</a></p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj">nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj</a></p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh">nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh</a></p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg">note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg</a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="hashtag-7"><a class="anchor" href="#hashtag-7"></a><a class="link" href="#hashtag-7">Hashtag</a></h3>
+<div class="paragraph">
+<p><a class="hashtag-link text-primary-600 dark:text-primary-500 hover:underline" data-topic="testhashtag" data-url="/notes?t=testhashtag" href="/notes?t=testhashtag">#testhashtag</a> at the start of the line and <a class="hashtag-link text-primary-600 dark:text-primary-500 hover:underline" data-topic="inlinehashtag" data-url="/notes?t=inlinehashtag" href="/notes?t=inlinehashtag">#inlinehashtag</a> in the middle</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="wikilinks-7"><a class="anchor" href="#wikilinks-7"></a><a class="link" href="#wikilinks-7">Wikilinks</a></h3>
+<div class="paragraph">
+<p><a class="wikilink text-primary-600 dark:text-primary-500 hover:underline" data-dtag="nkbip-01" data-url="/events?d=nkbip-01" href="/events?d=nkbip-01">Specification</a> and <a class="wikilink text-primary-600 dark:text-primary-500 hover:underline" data-dtag="mirepoix" data-url="/events?d=mirepoix" href="/events?d=mirepoix">mirepoix</a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="url-7"><a class="anchor" href="#url-7"></a><a class="link" href="#url-7">URL</a></h3>
+<div class="paragraph">
+<p><span class="opengraph-link-container" data-og-url="https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html">
+      <a href="https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span></p>
+</div>
+<div class="paragraph">
+<p><span class="opengraph-link-container" data-og-url="https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html">
+      <a href="https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span>[Welt Online link]</p>
+</div>
+<div class="paragraph">
+<p>this should render as plaintext: <code>http://www.example.com</code></p>
+</div>
+<div class="paragraph">
+<p>this should be a hyperlink: www.example.com</p>
+</div>
+<div class="paragraph">
+<p>this should be a hyperlink to the http URL with the same address, so <a href="https://theforest.nostr1.com/" target="_blank" rel="noopener noreferrer">wss://theforest.nostr1.com</a> should render like <a href="https://theforest.nostr1.com"https://theforest.nostr1.com" target="_blank" rel="noopener noreferrer">wss://theforest.nostr1.com<a href="https://theforest.nostr1.com" target="_blank" rel="noreferrer noopener" class="break-words inline-flex items-baseline gap-1">width=100%&quot;&gt;
+&lt;/div&gt;
+&lt;/div&gt;
+&lt;div class=&quot;imageblock&quot;&gt;
+&lt;div class=&quot;content&quot;&gt;
+&lt;img src=&quot;image::https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png&quot; alt=&quot;https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>[width=100%][test image" width="100%">
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="media-7"><a class="anchor" href="#media-7"></a><a class="link" href="#media-7">Media</a></h3>
+<div class="sect3">
+<h4 id="youtube-7"><a class="anchor" href="#youtube-7"></a><a class="link" href="#youtube-7">YouTube</a></h4>
+<div class="paragraph">
+<p><a href="https://youtube.com/shorts/ZWfvChb-i0w" target="_blank" rel="noopener noreferrer">https://youtube.com/shorts/ZWfvChb-i0w</a></p>
+</div>
+<div class="paragraph">
+<p><a href="https://youtube.com/shorts/ZWfvChb-i0w" target="_blank" rel="noopener noreferrer">https://youtube.com/shorts/ZWfvChb-i0w</a>[<span class="image"><img src="image::<span class="opengraph-link-container max-w-[400px] object-contain cursor-zoom-in" data-og-url="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" data-asciidoc-image="true" data-image-index="0" data-image-src="image::<span class=">
+      <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">Youtube link with pic <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg> <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span>]</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="spotify-7"><a class="anchor" href="#spotify-7"></a><a class="link" href="#spotify-7">Spotify</a></h4>
+<div class="paragraph">
+<p><div class="media-embed spotify-embed" style="margin: 1rem 0;">
+      <iframe 
+        style="border-radius: 12px; width: 100%; max-width: 100%;" 
+        src="https://open.spotify.com/embed/episode/1GSZFA8vWltPyxYkArdRKx?utm_source=generator" 
+        width="100%" 
+        height="352" 
+        frameborder="0" 
+        allowfullscreen="" 
+        allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" 
+        loading="lazy">
+      </iframe>
+    </div></p>
+</div>
+<div class="paragraph">
+<p><a href="<div class="media-embed spotify-embed" style="margin: 1rem 0;">
+      <iframe 
+        style="border-radius: 12px; width: 100%; max-width: 100%;" 
+        src="https://open.spotify.com/embed/episode/1GSZFA8vWltPyxYkArdRKx?utm_source=generator" 
+        width="100%" 
+        height="352" 
+        frameborder="0" 
+        allowfullscreen="" 
+        allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" 
+        loading="lazy">
+      </iframe>
+    </div>"><span class="image"><img src="image::<span class="opengraph-link-container max-w-[400px] object-contain cursor-zoom-in" data-og-url="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" data-asciidoc-image="true" data-image-index="0" data-image-src="image::<span class=">
+      <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">Spotify link with pic&lt;/a&gt; <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg> <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="audio-7"><a class="anchor" href="#audio-7"></a><a class="link" href="#audio-7">Audio</a></h4>
+<div class="paragraph">
+<p>MEDIA:audio:<a href="https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3" target="_blank" rel="noopener noreferrer">https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3</a></p>
+</div>
+<div class="paragraph">
+<p>link:MEDIA:audio:<a href="https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3" target="_blank" rel="noopener noreferrer">https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3</a>[<span class="image"><img src="image::<span class="opengraph-link-container max-w-[400px] object-contain cursor-zoom-in" data-og-url="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" data-asciidoc-image="true" data-image-index="0" data-image-src="image::<span class=">
+      <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">Audio link with pic <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg> <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span>]</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="video-7"><a class="anchor" href="#video-7"></a><a class="link" href="#video-7">Video</a></h4>
+<div class="paragraph">
+<p>MEDIA:video:<a href="https://v.nostr.build/MTjaYib4upQuf8zn.mp4" target="_blank" rel="noopener noreferrer">https://v.nostr.build/MTjaYib4upQuf8zn.mp4</a></p>
+</div>
+<div class="paragraph">
+<p>link:MEDIA:video:<a href="https://v.nostr.build/MTjaYib4upQuf8zn.mp4" target="_blank" rel="noopener noreferrer">https://v.nostr.build/MTjaYib4upQuf8zn.mp4</a>[<span class="image"><img src="image::<span class="opengraph-link-container max-w-[400px] object-contain cursor-zoom-in" data-og-url="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" data-asciidoc-image="true" data-image-index="0" data-image-src="image::<span class=">
+      <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">Video link with pic <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg> <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span>]</p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="tables-7"><a class="anchor" href="#tables-7"></a><a class="link" href="#tables-7">Tables</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="orderly-7"><a class="anchor" href="#orderly-7"></a><a class="link" href="#orderly-7">Orderly</a></h3>
+<table class="tableblock frame-all grid-all stretch">
+<colgroup>
+<col style="width: 33.3333%;">
+<col style="width: 66.6667%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Syntax</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Description</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Header</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Title</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Paragraph</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Text</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="unorderly-7"><a class="anchor" href="#unorderly-7"></a><a class="link" href="#unorderly-7">Unorderly</a></h3>
+<table class="tableblock frame-all grid-all stretch">
+<colgroup>
+<col style="width: 33.3333%;">
+<col style="width: 66.6667%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Syntax</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Description</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Header</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Title</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Paragraph</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Text</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="with-alignment-7"><a class="anchor" href="#with-alignment-7"></a><a class="link" href="#with-alignment-7">With alignment</a></h3>
+<table class="tableblock frame-all grid-all stretch">
+<colgroup>
+<col style="width: 33.3333%;">
+<col style="width: 33.3333%;">
+<col style="width: 33.3334%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Syntax</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">Description</p></td>
+<td class="tableblock halign-right valign-top"><p class="tableblock">Test Text</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Header</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">Title</p></td>
+<td class="tableblock halign-right valign-top"><p class="tableblock">Here_s this</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Paragraph</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">Text</p></td>
+<td class="tableblock halign-right valign-top"><p class="tableblock">And more</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="code-blocks-7"><a class="anchor" href="#code-blocks-7"></a><a class="link" href="#code-blocks-7">Code blocks</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="json-7"><a class="anchor" href="#json-7"></a><a class="link" href="#json-7">json</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
 {
-    "id": "<event_id>",
-    "pubkey": "<event_originator_pubkey>",
+    "id": "&lt;event_id&gt;",
+    "pubkey": "&lt;event_originator_pubkey&gt;",
     "created_at": 1725087283,
     "kind": 30040,
     "tags": [
-        ["d", "aesop's-fables-by-aesop"],
-        ["title", "Aesop's Fables"],
+        ["d", "aesop_s-fables-by-aesop"],
+        ["title", "Aesop_s Fables"],
         ["author", "Aesop"],
     ],
-    "sig": "<event_signature>"
+    "sig": "&lt;event_signature&gt;"
 }
-----
-
-=== typescript
-
-[source,typescript]
-----
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="typescript-7"><a class="anchor" href="#typescript-7"></a><a class="link" href="#typescript-7">typescript</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
 /**
  * Get Nostr identifier type
  */
-function getNostrType(id: string): 'npub' | 'nprofile' | 'nevent' | 'naddr' | 'note' | null {
-  if (id.startsWith('npub')) return 'npub';
-  if (id.startsWith('nprofile')) return 'nprofile';
-  if (id.startsWith('nevent')) return 'nevent';
-  if (id.startsWith('naddr')) return 'naddr';
-  if (id.startsWith('note')) return 'note';
+function getNostrType(id: string): _npub_ | _nprofile_ | _nevent_ | _naddr_ | _note_ | null {
+  if (id.startsWith(_npub_)) return _npub_;
+  if (id.startsWith(_nprofile_)) return _nprofile_;
+  if (id.startsWith(_nevent_)) return _nevent_;
+  if (id.startsWith(_naddr_)) return _naddr_;
+  if (id.startsWith(_note_)) return _note_;
   return null;
 }
-----
-
-=== shell
-
-[source,shell]
-----
-
-mkdir new_directory
-cp source.txt destination.txt
-
-----
-
-=== LaTeX
-
-[source,latex]
-----
-$$
-M = 
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="shell-7"><a class="anchor" href="#shell-7"></a><a class="link" href="#shell-7">shell</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>mkdir new_directory
+cp source.txt destination.txt</p>
+</div>
+<hr>
+</div>
+<div class="sect2">
+<h3 id="latex-13"><a class="anchor" href="#latex-13"></a><a class="link" href="#latex-13">LaTeX</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
+$
+M =
 \begin{bmatrix}
-\frac{5}{6} & \frac{1}{6} & 0 \\[0.3em]
-\frac{5}{6} & 0 & \frac{1}{6} \\[0.3em]
-0 & \frac{5}{6} & \frac{1}{6}
+\frac{5}{6} &amp; \frac{1}{6} &amp; 0 \\[0.3em]
+\frac{5}{6} &amp; 0 &amp; \frac{1}{6} \\[0.3em]
+0 &amp; \frac{5}{6} &amp; \frac{1}{6}
 \end{bmatrix}
-$$
-----
-
-[source,latex]
-----
-$$
+$
+'''</code></pre>
+</div>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
+$
 f(x)=
 \begin{cases}
-1/d_{ij} & \quad \text{when $d_{ij} \leq 160$}\\ 
-0 & \quad \text{otherwise}
+1/d_{ij} &amp; \quad \text{when $d_{ij} \leq 160$}\\
+0 &amp; \quad \text{otherwise}
 \end{cases}
-$$
-----
-
-=== ABC Notation
-
-[source,abc]
-----
+$
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="abc-notation-7"><a class="anchor" href="#abc-notation-7"></a><a class="link" href="#abc-notation-7">ABC Notation</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
 X:1
 T:Ohne Titel
 C:Aufgezeichnet 1784
@@ -5731,109 +8664,810 @@ dd d2 | ee e2 | fg ad | ed/c/ d2 :|
 |:\
 fg ad | cB cA | fg ad | cB cA |\
 dd d2 | ee e2 | fg ad | ed/c/ d2 :|
-----
-
-=== PlantUML
-
-[source,plantuml]
-----
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="plantuml-7"><a class="anchor" href="#plantuml-7"></a><a class="link" href="#plantuml-7">PlantUML</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
 @startuml
-Alice -> Bob: Authentication Request
-Bob --> Alice: Authentication Response
+Alice -&gt; Bob: Authentication Request
+Bob --&gt; Alice: Authentication Response
 @enduml
-----
-
-=== BPMN
-
-[source,plantuml]
-----
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="bpmn-7"><a class="anchor" href="#bpmn-7"></a><a class="link" href="#bpmn-7">BPMN</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
 @startbpmn
 start
 :Task 1;
 :Task 2;
 stop
 @endbpmn
-----
-
-== LaTeX
-
-=== LaTeX in inline-code
-
- and  and 
-
-== LaTeX outside of code
-
-This is a latex code block $$\mathbb{N} = \{ a \in \mathbb{Z} : a > 0 \}$$ and another that is an inline latex $\color{green}{X \sim Normal \; (\mu,\sigma^2)}$ and should be green
-
-== Footnotes
-
-Here's a simple footnote,footnote:[This is the first footnote.] and here's a longer one.footnote:[Here's one with multiple paragraphs and code.]
-
-== Anchor links
-
-<<bullet-list,Link to bullet list section>>
-
-== Formatting
-
-=== Strikethrough
-
-[line-through]hashtag:the[#The] world is flat.# We now know that the world is round. This should not be ~struck~ through.
-
-=== Bold
-
-This is *bold* text. So is this *bold* text.
-
-=== Italic
-
-This is _italic_ text. So is this _italic_ text.
-
-=== Task List
-
-* [x] Write the press release
-* [ ] Update the website
-* [ ] Contact the media
-
-=== Emoji shortcodes
-
-Gone camping! :tent: Be back soon.
-
-That is so funny! :joy:
-
-=== Marking and highlighting text
-
-I need to highlight these [highlight]hashtag:very[#very] important words#.
-
-=== Subscript and Superscript
-
-H~2~O
-
-X^2^
-
-=== Delimiter
-
-based upon a -
-
-'''
-
-based upon a *
-
-'''
-
-=== Quotes
-
-[quote]
-____
-This is a single line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd  kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj
-____
-
-[quote]
-____
-This is a multi line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd  kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj
-This is a multi line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd  kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj
+'''</code></pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="latex-14"><a class="anchor" href="#latex-14"></a><a class="link" href="#latex-14">LaTeX</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="latex-in-inline-code-7"><a class="anchor" href="#latex-in-inline-code-7"></a><a class="link" href="#latex-in-inline-code-7">LaTeX in inline-code</a></h3>
+<div class="paragraph">
+<p>`$[ x^n + y^n = z^n \]== Bullet list</p>
+</div>
+<div class="paragraph">
+<p>This is a test unordered list with mixed bullets:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>First item with a number 2. in it</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+<div class="ulist">
+<ul>
+<li>
+<p>Indented item</p>
+</li>
+<li>
+<p>Indented item</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Another unordered list:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>1st item</p>
+</li>
+<li>
+<p>2nd item</p>
+</li>
+<li>
+<p>third item containing <em>italic</em> text</p>
+<div class="ulist">
+<ul>
+<li>
+<p>indented item</p>
+</li>
+<li>
+<p>second indented item</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>fourth item</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>This is a test ordered list with indented items:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>First item</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+<div class="olist loweralpha">
+<ol class="loweralpha" type="a">
+<li>
+<p>Indented item</p>
+</li>
+<li>
+<p>Indented item</p>
+</li>
+</ol>
+</div>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>Ordered list where everything has no number:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>First item</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>This is a mixed list with indented items:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>First item</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+<div class="ulist">
+<ul>
+<li>
+<p>Indented item</p>
+</li>
+<li>
+<p>Indented item</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>This is another mixed list with indented items:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>First item</p>
+</li>
+<li>
+<p>Second item</p>
+</li>
+<li>
+<p>Third item</p>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Indented item</p>
+</li>
+<li>
+<p>Indented item</p>
+</li>
+</ol>
+</div>
+</li>
+<li>
+<p>Fourth item</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="headers-8"><a class="anchor" href="#headers-8"></a><a class="link" href="#headers-8">Headers</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="third-level-header-8"><a class="anchor" href="#third-level-header-8"></a><a class="link" href="#third-level-header-8">Third-level header</a></h3>
+<div class="sect3">
+<h4 id="fourth-level-header-8"><a class="anchor" href="#fourth-level-header-8"></a><a class="link" href="#fourth-level-header-8">Fourth-level header</a></h4>
+<div class="sect4">
+<h5 id="fifth-level-header-8"><a class="anchor" href="#fifth-level-header-8"></a><a class="link" href="#fifth-level-header-8">Fifth-level header</a></h5>
+<div class="sect5">
+<h6 id="sixth-level-header-8"><a class="anchor" href="#sixth-level-header-8"></a><a class="link" href="#sixth-level-header-8">Sixth-level header</a></h6>
+
+</div>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="media-and-links-8"><a class="anchor" href="#media-and-links-8"></a><a class="link" href="#media-and-links-8">Media and Links</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="nostr-address-8"><a class="anchor" href="#nostr-address-8"></a><a class="link" href="#nostr-address-8">Nostr address</a></h3>
+<div class="paragraph">
+<p>This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l</p>
+</div>
+<div class="paragraph">
+<p>This is also plaintext:</p>
+</div>
+<div class="paragraph">
+<p>npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q</p>
+</div>
+<div class="paragraph">
+<p>These should be turned into links:</p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l">naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l</a></p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z">npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z</a></p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj">nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj</a></p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh">nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh</a></p>
+</div>
+<div class="paragraph">
+<p><a href="nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg">note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg</a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="hashtag-8"><a class="anchor" href="#hashtag-8"></a><a class="link" href="#hashtag-8">Hashtag</a></h3>
+<div class="paragraph">
+<p><a class="hashtag-link text-primary-600 dark:text-primary-500 hover:underline" data-topic="testhashtag" data-url="/notes?t=testhashtag" href="/notes?t=testhashtag">#testhashtag</a> at the start of the line and <a class="hashtag-link text-primary-600 dark:text-primary-500 hover:underline" data-topic="inlinehashtag" data-url="/notes?t=inlinehashtag" href="/notes?t=inlinehashtag">#inlinehashtag</a> in the middle</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="wikilinks-8"><a class="anchor" href="#wikilinks-8"></a><a class="link" href="#wikilinks-8">Wikilinks</a></h3>
+<div class="paragraph">
+<p><a class="wikilink text-primary-600 dark:text-primary-500 hover:underline" data-dtag="nkbip-01" data-url="/events?d=nkbip-01" href="/events?d=nkbip-01">Specification</a> and <a class="wikilink text-primary-600 dark:text-primary-500 hover:underline" data-dtag="mirepoix" data-url="/events?d=mirepoix" href="/events?d=mirepoix">mirepoix</a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="url-8"><a class="anchor" href="#url-8"></a><a class="link" href="#url-8">URL</a></h3>
+<div class="paragraph">
+<p><span class="opengraph-link-container" data-og-url="https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html">
+      <a href="https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span></p>
+</div>
+<div class="paragraph">
+<p><span class="opengraph-link-container" data-og-url="https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html">
+      <a href="https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span>[Welt Online link]</p>
+</div>
+<div class="paragraph">
+<p>this should render as plaintext: <code>http://www.example.com</code></p>
+</div>
+<div class="paragraph">
+<p>this should be a hyperlink: www.example.com</p>
+</div>
+<div class="paragraph">
+<p>this should be a hyperlink to the http URL with the same address, so <a href="https://theforest.nostr1.com/" target="_blank" rel="noopener noreferrer">wss://theforest.nostr1.com</a> should render like <a href="https://theforest.nostr1.com"https://theforest.nostr1.com" target="_blank" rel="noopener noreferrer">wss://theforest.nostr1.com<a href="https://theforest.nostr1.com" target="_blank" rel="noreferrer noopener" class="break-words inline-flex items-baseline gap-1">width=100%&quot;&gt;
+&lt;/div&gt;
+&lt;/div&gt;
+&lt;div class=&quot;imageblock&quot;&gt;
+&lt;div class=&quot;content&quot;&gt;
+&lt;img src=&quot;image::https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png&quot; alt=&quot;https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>[width=100%][test image" width="100%">
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="media-8"><a class="anchor" href="#media-8"></a><a class="link" href="#media-8">Media</a></h3>
+<div class="sect3">
+<h4 id="youtube-8"><a class="anchor" href="#youtube-8"></a><a class="link" href="#youtube-8">YouTube</a></h4>
+<div class="paragraph">
+<p><a href="https://youtube.com/shorts/ZWfvChb-i0w" target="_blank" rel="noopener noreferrer">https://youtube.com/shorts/ZWfvChb-i0w</a></p>
+</div>
+<div class="paragraph">
+<p><a href="https://youtube.com/shorts/ZWfvChb-i0w" target="_blank" rel="noopener noreferrer">https://youtube.com/shorts/ZWfvChb-i0w</a>[<span class="image"><img src="image::<span class="opengraph-link-container max-w-[400px] object-contain cursor-zoom-in" data-og-url="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" data-asciidoc-image="true" data-image-index="0" data-image-src="image::<span class=">
+      <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">Youtube link with pic <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg> <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span>]</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="spotify-8"><a class="anchor" href="#spotify-8"></a><a class="link" href="#spotify-8">Spotify</a></h4>
+<div class="paragraph">
+<p><div class="media-embed spotify-embed" style="margin: 1rem 0;">
+      <iframe 
+        style="border-radius: 12px; width: 100%; max-width: 100%;" 
+        src="https://open.spotify.com/embed/episode/1GSZFA8vWltPyxYkArdRKx?utm_source=generator" 
+        width="100%" 
+        height="352" 
+        frameborder="0" 
+        allowfullscreen="" 
+        allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" 
+        loading="lazy">
+      </iframe>
+    </div></p>
+</div>
+<div class="paragraph">
+<p><a href="<div class="media-embed spotify-embed" style="margin: 1rem 0;">
+      <iframe 
+        style="border-radius: 12px; width: 100%; max-width: 100%;" 
+        src="https://open.spotify.com/embed/episode/1GSZFA8vWltPyxYkArdRKx?utm_source=generator" 
+        width="100%" 
+        height="352" 
+        frameborder="0" 
+        allowfullscreen="" 
+        allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" 
+        loading="lazy">
+      </iframe>
+    </div>"><span class="image"><img src="image::<span class="opengraph-link-container max-w-[400px] object-contain cursor-zoom-in" data-og-url="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" data-asciidoc-image="true" data-image-index="0" data-image-src="image::<span class=">
+      <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">Spotify link with pic&lt;/a&gt; <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg> <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span></p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="audio-8"><a class="anchor" href="#audio-8"></a><a class="link" href="#audio-8">Audio</a></h4>
+<div class="paragraph">
+<p>MEDIA:audio:<a href="https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3" target="_blank" rel="noopener noreferrer">https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3</a></p>
+</div>
+<div class="paragraph">
+<p>link:MEDIA:audio:<a href="https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3" target="_blank" rel="noopener noreferrer">https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3</a>[<span class="image"><img src="image::<span class="opengraph-link-container max-w-[400px] object-contain cursor-zoom-in" data-og-url="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" data-asciidoc-image="true" data-image-index="0" data-image-src="image::<span class=">
+      <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">Audio link with pic <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg> <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span>]</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="video-8"><a class="anchor" href="#video-8"></a><a class="link" href="#video-8">Video</a></h4>
+<div class="paragraph">
+<p>MEDIA:video:<a href="https://v.nostr.build/MTjaYib4upQuf8zn.mp4" target="_blank" rel="noopener noreferrer">https://v.nostr.build/MTjaYib4upQuf8zn.mp4</a></p>
+</div>
+<div class="paragraph">
+<p>link:MEDIA:video:<a href="https://v.nostr.build/MTjaYib4upQuf8zn.mp4" target="_blank" rel="noopener noreferrer">https://v.nostr.build/MTjaYib4upQuf8zn.mp4</a>[<span class="image"><img src="image::<span class="opengraph-link-container max-w-[400px] object-contain cursor-zoom-in" data-og-url="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" data-asciidoc-image="true" data-image-index="0" data-image-src="image::<span class=">
+      <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png&amp;quot;" target="_blank" rel="noreferrer noopener" class="opengraph-link break-words inline-flex items-baseline gap-1">Video link with pic <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg> <svg style="width: 0.75rem; height: 0.75rem; flex-shrink: 0;" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" /></svg></a>
+      <div class="opengraph-preview" data-og-loading="true" style="display: none;">
+        <div class="opengraph-card">
+          <div class="opengraph-image-container">
+            <img class="opengraph-image" src="" alt="" style="display: none;" />
+          </div>
+          <div class="opengraph-content">
+            <div class="opengraph-site"></div>
+            <div class="opengraph-title"></div>
+            <div class="opengraph-description"></div>
+          </div>
+        </div>
+      </div>
+    </span>]</p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="tables-8"><a class="anchor" href="#tables-8"></a><a class="link" href="#tables-8">Tables</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="orderly-8"><a class="anchor" href="#orderly-8"></a><a class="link" href="#orderly-8">Orderly</a></h3>
+<table class="tableblock frame-all grid-all stretch">
+<colgroup>
+<col style="width: 33.3333%;">
+<col style="width: 66.6667%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Syntax</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Description</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Header</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Title</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Paragraph</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Text</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="unorderly-8"><a class="anchor" href="#unorderly-8"></a><a class="link" href="#unorderly-8">Unorderly</a></h3>
+<table class="tableblock frame-all grid-all stretch">
+<colgroup>
+<col style="width: 33.3333%;">
+<col style="width: 66.6667%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Syntax</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Description</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Header</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Title</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Paragraph</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Text</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="with-alignment-8"><a class="anchor" href="#with-alignment-8"></a><a class="link" href="#with-alignment-8">With alignment</a></h3>
+<table class="tableblock frame-all grid-all stretch">
+<colgroup>
+<col style="width: 33.3333%;">
+<col style="width: 33.3333%;">
+<col style="width: 33.3334%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Syntax</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">Description</p></td>
+<td class="tableblock halign-right valign-top"><p class="tableblock">Test Text</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Header</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">Title</p></td>
+<td class="tableblock halign-right valign-top"><p class="tableblock">Here_s this</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Paragraph</p></td>
+<td class="tableblock halign-center valign-top"><p class="tableblock">Text</p></td>
+<td class="tableblock halign-right valign-top"><p class="tableblock">And more</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="code-blocks-8"><a class="anchor" href="#code-blocks-8"></a><a class="link" href="#code-blocks-8">Code blocks</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="json-8"><a class="anchor" href="#json-8"></a><a class="link" href="#json-8">json</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
+{
+    "id": "&lt;event_id&gt;",
+    "pubkey": "&lt;event_originator_pubkey&gt;",
+    "created_at": 1725087283,
+    "kind": 30040,
+    "tags": [
+        ["d", "aesop_s-fables-by-aesop"],
+        ["title", "Aesop_s Fables"],
+        ["author", "Aesop"],
+    ],
+    "sig": "&lt;event_signature&gt;"
+}
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="typescript-8"><a class="anchor" href="#typescript-8"></a><a class="link" href="#typescript-8">typescript</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
+/**
+ * Get Nostr identifier type
+ */
+function getNostrType(id: string): _npub_ | _nprofile_ | _nevent_ | _naddr_ | _note_ | null {
+  if (id.startsWith(_npub_)) return _npub_;
+  if (id.startsWith(_nprofile_)) return _nprofile_;
+  if (id.startsWith(_nevent_)) return _nevent_;
+  if (id.startsWith(_naddr_)) return _naddr_;
+  if (id.startsWith(_note_)) return _note_;
+  return null;
+}
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="shell-8"><a class="anchor" href="#shell-8"></a><a class="link" href="#shell-8">shell</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>mkdir new_directory
+cp source.txt destination.txt</p>
+</div>
+<hr>
+</div>
+<div class="sect2">
+<h3 id="latex-15"><a class="anchor" href="#latex-15"></a><a class="link" href="#latex-15">LaTeX</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
+$
+M =
+\begin{bmatrix}
+\frac{5}{6} &amp; \frac{1}{6} &amp; 0 \\[0.3em]
+\frac{5}{6} &amp; 0 &amp; \frac{1}{6} \\[0.3em]
+0 &amp; \frac{5}{6} &amp; \frac{1}{6}
+\end{bmatrix}
+$
+'''</code></pre>
+</div>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
+$
+f(x)=
+\begin{cases}
+1/d_{ij} &amp; \quad \text{when $d_{ij} \leq 160$}\\
+0 &amp; \quad \text{otherwise}
+\end{cases}
+$
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="abc-notation-8"><a class="anchor" href="#abc-notation-8"></a><a class="link" href="#abc-notation-8">ABC Notation</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
+X:1
+T:Ohne Titel
+C:Aufgezeichnet 1784
+A:Seibis nahe Lichtenberg in Oberfranken
+S:Handschrift, bezeichnet und datiert: "Heinrich Nicol Philipp zu Seibis den 30 Junius 1784"
+M:4/4
+L:1/4
+K:D
+dd d2 | ee e2 | fg ad | cB cA |\
+dd d2 | ee e2 | fg ad | ed/c/ d2 :|
+|:\
+fg ad | cB cA | fg ad | cB cA |\
+dd d2 | ee e2 | fg ad | ed/c/ d2 :|
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="plantuml-8"><a class="anchor" href="#plantuml-8"></a><a class="link" href="#plantuml-8">PlantUML</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
+@startuml
+Alice -&gt; Bob: Authentication Request
+Bob --&gt; Alice: Authentication Response
+@enduml
+'''</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="bpmn-8"><a class="anchor" href="#bpmn-8"></a><a class="link" href="#bpmn-8">BPMN</a></h3>
+<div class="listingblock">
+<div class="content">
+<pre><code>'''
+@startbpmn
+start
+:Task 1;
+:Task 2;
+stop
+@endbpmn
+'''</code></pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="latex-16"><a class="anchor" href="#latex-16"></a><a class="link" href="#latex-16">LaTeX</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="latex-in-inline-code-8"><a class="anchor" href="#latex-in-inline-code-8"></a><a class="link" href="#latex-in-inline-code-8">LaTeX in inline-code</a></h3>
+<div class="literalblock">
+<div class="content">
+<pre>and  and</pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="latex-outside-of-code"><a class="anchor" href="#latex-outside-of-code"></a><a class="link" href="#latex-outside-of-code">LaTeX outside of code</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>This is a latex code block \mathbb{N} = \{ a \in \mathbb{Z} : a &gt; 0 \} and another that is an inline latex $\color{green}{X \sim Normal \; (\mu,\sigma^2)}$ and should be green</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="footnotes"><a class="anchor" href="#footnotes"></a><a class="link" href="#footnotes">Footnotes</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Here_s a simple footnote,<sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup> and here_s a longer one.<sup class="footnote">[<a id="_footnoteref_2" class="footnote" href="#_footnotedef_2" title="View footnote.">2</a>]</sup></p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="anchor-links"><a class="anchor" href="#anchor-links"></a><a class="link" href="#anchor-links">Anchor links</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><a href="#bullet-list">Link to bullet list section</a></p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="formatting"><a class="anchor" href="#formatting"></a><a class="link" href="#formatting">Formatting</a></h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="strikethrough"><a class="anchor" href="#strikethrough"></a><a class="link" href="#strikethrough">Strikethrough</a></h3>
+<div class="paragraph">
+<p><span class="line-through line-through-2">The world is flat.</span> We now know that the world is round. This should not be <sub>struck</sub> through.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="bold"><a class="anchor" href="#bold"></a><a class="link" href="#bold">Bold</a></h3>
+<div class="paragraph">
+<p>This is <strong>bold</strong> text. So is this <strong>bold</strong> text.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="italic"><a class="anchor" href="#italic"></a><a class="link" href="#italic">Italic</a></h3>
+<div class="paragraph">
+<p>This is <em>italic</em> text. So is this <em>italic</em> text.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="task-list"><a class="anchor" href="#task-list"></a><a class="link" href="#task-list">Task List</a></h3>
+<div class="ulist checklist">
+<ul class="checklist">
+<li>
+<p>&#10003; Write the press release</p>
+</li>
+<li>
+<p>&#10063; Update the website</p>
+</li>
+<li>
+<p>&#10063; Contact the media</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="emoji-shortcodes"><a class="anchor" href="#emoji-shortcodes"></a><a class="link" href="#emoji-shortcodes">Emoji shortcodes</a></h3>
+<div class="paragraph">
+<p>Gone camping! :tent: Be back soon.</p>
+</div>
+<div class="paragraph">
+<p>That is so funny! :joy:</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="marking-and-highlighting-text"><a class="anchor" href="#marking-and-highlighting-text"></a><a class="link" href="#marking-and-highlighting-text">Marking and highlighting text</a></h3>
+<div class="paragraph">
+<p>I need to highlight these <span class="highlight">very important words</span>.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="subscript-and-superscript"><a class="anchor" href="#subscript-and-superscript"></a><a class="link" href="#subscript-and-superscript">Subscript and Superscript</a></h3>
+<div class="paragraph">
+<p>H<sub>2</sub>O</p>
+</div>
+<div class="paragraph">
+<p>X<sup>2</sup></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="delimiter"><a class="anchor" href="#delimiter"></a><a class="link" href="#delimiter">Delimiter</a></h3>
+<div class="paragraph">
+<p>based upon a -</p>
+</div>
+<div class="paragraph">
+<p>_*</p>
+</div>
+<div class="paragraph">
+<p>based upon a *</p>
+</div>
+<div class="paragraph">
+<p>*_</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="quotes"><a class="anchor" href="#quotes"></a><a class="link" href="#quotes">Quotes</a></h3>
+<div class="quoteblock">
+<blockquote>
+<div class="paragraph">
+<p>This is a single line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd  kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj</p>
+</div>
+</blockquote>
+</div>
+<div class="quoteblock">
+<blockquote>
+<div class="paragraph">
+<p>This is a multi line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd  kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj
 This is a multi line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd  kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj
 This is a multi line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd  kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj
-____
-</p>
+This is a multi line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj</p> +</div> +</blockquote> +</div> +</div> +</div> +</div> +<div id="footnotes"> +<hr> +<div class="footnote" id="_footnotedef_1"> +<a href="#_footnoteref_1">1</a>. This is the first footnote. +</div> +<div class="footnote" id="_footnotedef_2"> +<a href="#_footnoteref_2">2</a>. Here_s one with multiple paragraphs and code. +</div> +</div>
@@ -5908,7 +9542,7 @@ ____ -

Links (8)

+

Links (15)

Welt Online link @@ -5916,27 +9550,44 @@ ____
+ + + + + + @@ -5946,7 +9597,27 @@ ____
+ + + + + + + + @@ -5966,6 +9637,485 @@ ____ +

Table of Contents

+
+ +
+
diff --git a/tsconfig.json b/tsconfig.json index d502406..1fdd775 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -5,7 +5,6 @@ "lib": ["ES2020"], "types": ["node", "jest"], "outDir": "./dist", - "rootDir": "./src", "strict": true, "esModuleInterop": true, "skipLibCheck": true, @@ -15,6 +14,6 @@ "sourceMap": true, "resolveJsonModule": true }, - "include": ["src/**/*"], + "include": ["src/**/*", "generate-test-report.ts"], "exclude": ["node_modules", "dist", "**/*.test.ts"] }