([^<]+)<\/span>/g, '$1 ');
-
- // Add code highlighting classes
styled = styled.replace(//g, '');
styled = styled.replace(//g, '');
return styled;
}
+// ============================================
+// STEP 8: Hide raw ToC text
+// ============================================
+
/**
* Hide raw AsciiDoc ToC text
*/
function hideRawTocText(html: string): string {
let cleaned = html;
- cleaned = cleaned.replace(
- /]*>.*?Table of Contents.*?\(\d+\).*?<\/h[1-6]>/gi,
- ''
- );
+ cleaned = cleaned.replace(/]*>.*?Table of Contents.*?\(\d+\).*?<\/h[1-6]>/gi, '');
+ cleaned = cleaned.replace(/]*>.*?Table of Contents.*?\(\d+\).*?<\/p>/gi, '');
+ cleaned = cleaned.replace(/
]*>.*?Assumptions.*?\[n=0\].*?<\/p>/gi, '');
+
+ return cleaned;
+}
- cleaned = cleaned.replace(
- /
]*>.*?Table of Contents.*?\(\d+\).*?<\/p>/gi,
- ''
- );
+// ============================================
+// Utility functions
+// ============================================
- cleaned = cleaned.replace(
- /
]*>.*?Assumptions.*?\[n=0\].*?<\/p>/gi,
- ''
- );
+/**
+ * Escape HTML content
+ */
+function escapeHtml(text: string): string {
+ return text
+ .replace(/&/g, '&')
+ .replace(//g, '>')
+ .replace(/"/g, '"')
+ .replace(/'/g, ''');
+}
- return cleaned;
+/**
+ * Escape HTML attribute value
+ */
+function escapeHtmlAttr(text: string): string {
+ return text
+ .replace(/&/g, '&')
+ .replace(/"/g, '"')
+ .replace(/'/g, ''');
+}
+
+/**
+ * Unescape HTML entities
+ */
+function unescapeHtml(text: string): string {
+ return text
+ .replace(/&/g, '&')
+ .replace(/</g, '<')
+ .replace(/>/g, '>')
+ .replace(/"/g, '"')
+ .replace(/'/g, "'");
}
diff --git a/src/processors/html-utils.ts b/src/processors/html-utils.ts
index 35503c3..6428a8a 100644
--- a/src/processors/html-utils.ts
+++ b/src/processors/html-utils.ts
@@ -1,244 +1,164 @@
/**
- * Extracts the table of contents from AsciiDoc HTML output
- * Returns the TOC HTML and the content HTML without the TOC
+ * HTML utility functions for processing AsciiDoctor output
+ *
+ * Functions:
+ * - extractTOC: Extract table of contents from HTML
+ * - sanitizeHTML: Sanitize HTML to prevent XSS attacks
+ * - processLinks: Add target="_blank" to external links
*/
-export function extractTOC(html: string): { toc: string; contentWithoutTOC: string } {
- // AsciiDoc with toc: 'left' generates a TOC in a div with id="toc" or class="toc"
- let tocContent = '';
- let contentWithoutTOC = html;
- // Find the start of the TOC div - try multiple patterns
- const tocStartPatterns = [
- /
]*>/i,
- /
]*>/i,
- /
]*>/i,
- /
]*>/i,
- ];
-
- let tocStartIdx = -1;
- let tocStartTag = '';
-
- for (const pattern of tocStartPatterns) {
- const match = html.match(pattern);
- if (match && match.index !== undefined) {
- tocStartIdx = match.index;
- tocStartTag = match[0];
- break;
- }
- }
-
- if (tocStartIdx === -1) {
- // No TOC found
- return { toc: '', contentWithoutTOC: html };
- }
-
- // Find the matching closing tag by counting div/nav tags
- const searchStart = tocStartIdx + tocStartTag.length;
- let depth = 1;
- let i = searchStart;
-
- while (i < html.length && depth > 0) {
- // Look for opening or closing div/nav tags
- if (i + 4 < html.length && html.substring(i, i + 4).toLowerCase() === '', i);
- if (closeIdx === -1) break;
- i = closeIdx + 1;
- } else {
- // Opening tag - find the end (handle attributes and self-closing)
- const closeIdx = html.indexOf('>', i);
- if (closeIdx === -1) break;
- // Check if it's self-closing (look for /> before the >)
- const tagContent = html.substring(i, closeIdx);
- if (!tagContent.endsWith('/')) {
- depth++;
- }
- i = closeIdx + 1;
- }
- } else if (i + 5 < html.length && html.substring(i, i + 5).toLowerCase() === '
', i);
- if (closeIdx === -1) break;
- i = closeIdx + 1;
- } else if (i + 5 < html.length && html.substring(i, i + 5).toLowerCase() === ' ', i);
- if (closeIdx === -1) break;
- i = closeIdx + 1;
- } else if (i + 4 < html.length && html.substring(i, i + 4).toLowerCase() === '
', i);
- if (closeIdx === -1) break;
- const tagContent = html.substring(i, closeIdx);
- if (!tagContent.endsWith('/')) {
- depth++;
- }
- i = closeIdx + 1;
- } else {
- i++;
- }
- }
-
- if (depth === 0) {
- // Found the matching closing tag
- const tocEndIdx = i;
- // Extract the TOC content (inner HTML)
- const tocFullHTML = html.substring(tocStartIdx, tocEndIdx);
- // Extract just the inner content (without the outer div tags)
- let innerStart = tocStartTag.length;
- let innerEnd = tocFullHTML.length;
- // Find the last or
- if (tocFullHTML.endsWith('
')) {
- innerEnd -= 6;
- } else if (tocFullHTML.endsWith('')) {
- innerEnd -= 7;
- }
- tocContent = tocFullHTML.substring(innerStart, innerEnd).trim();
-
- // Remove the toctitle div if present (AsciiDoc adds "Table of Contents" title)
- tocContent = tocContent.replace(/
]*>.*?<\/div>\s*/gis, '');
- tocContent = tocContent.trim();
+export interface TOCResult {
+ toc: string;
+ contentWithoutTOC: string;
+}
- // Remove the TOC from the content
- contentWithoutTOC = html.substring(0, tocStartIdx) + html.substring(tocEndIdx);
+/**
+ * Extract table of contents from AsciiDoctor HTML output
+ * AsciiDoctor generates a
with class="toc" containing the TOC
+ */
+export function extractTOC(html: string): TOCResult {
+ // Match the TOC div - AsciiDoctor generates it with id="toc" and class="toc"
+ const tocMatch = html.match(/
]*id=["']toc["'][^>]*>([\s\S]*?)<\/div>/i);
+
+ if (tocMatch) {
+ const toc = tocMatch[0]; // Full TOC div
+ const contentWithoutTOC = html.replace(toc, '').trim();
+ return { toc, contentWithoutTOC };
}
-
- // Extract just the body content if the HTML includes full document structure
- // AsciiDoctor might return full HTML with , , tags
- // Check if this is a full HTML document
- const isFullDocument = /^\s* tag
- const bodyStartMatch = contentWithoutTOC.match(/]*>/i);
- if (bodyStartMatch && bodyStartMatch.index !== undefined) {
- const bodyStart = bodyStartMatch.index + bodyStartMatch[0].length;
-
- // Find the closing tag by searching backwards from the end
- // This is more reliable than regex for nested content
- const bodyEndMatch = contentWithoutTOC.lastIndexOf('');
-
- if (bodyEndMatch !== -1 && bodyEndMatch > bodyStart) {
- contentWithoutTOC = contentWithoutTOC.substring(bodyStart, bodyEndMatch).trim();
- }
- }
+
+ // Fallback: try to match by class="toc"
+ const tocClassMatch = html.match(/
]*class=["'][^"']*toc[^"']*["'][^>]*>([\s\S]*?)<\/div>/i);
+
+ if (tocClassMatch) {
+ const toc = tocClassMatch[0];
+ const contentWithoutTOC = html.replace(toc, '').trim();
+ return { toc, contentWithoutTOC };
}
-
- // Remove any remaining document structure tags that might have slipped through
- contentWithoutTOC = contentWithoutTOC
- .replace(/]*>/gi, '')
- .replace(/<\/html>/gi, '')
- .replace(/]*>[\s\S]*?<\/head>/gi, '')
- .replace(/]*>/gi, '')
- .replace(/<\/body>/gi, '');
-
- // Clean up any extra whitespace
- contentWithoutTOC = contentWithoutTOC.trim();
-
- return { toc: tocContent, contentWithoutTOC };
+
+ // No TOC found
+ return {
+ toc: '',
+ contentWithoutTOC: html,
+ };
}
/**
- * Performs basic HTML sanitization to prevent XSS
+ * Sanitize HTML to prevent XSS attacks
+ * Removes dangerous scripts and event handlers while preserving safe HTML
+ *
+ * This is a basic sanitizer. For production use, consider using a library like DOMPurify
*/
export function sanitizeHTML(html: string): string {
+ let sanitized = html;
+
// Remove script tags and their content
- html = html.replace(/
+
+`;
+}
+
+/**
+ * Escape HTML special characters
+ */
+export function escapeHtml(text: string): string {
+ const map: Record
= {
+ '&': '&',
+ '<': '<',
+ '>': '>',
+ '"': '"',
+ "'": ''',
+ };
+ return text.replace(/[&<>"']/g, (m) => map[m]);
+}
diff --git a/test-parser-report.test.ts b/test-parser-report.test.ts
index 823066c..24e5f16 100644
--- a/test-parser-report.test.ts
+++ b/test-parser-report.test.ts
@@ -1,4 +1,5 @@
import { Parser } from './src/parser';
+import { generateHTMLReport } from './src/utils/report-generator';
import * as fs from 'fs';
import * as path from 'path';
@@ -54,575 +55,3 @@ describe('Parser Test Report', () => {
expect(asciidocResult.content.length).toBeGreaterThan(0);
});
});
-
-interface TestData {
- original: string;
- result: any;
-}
-
-interface ReportData {
- markdown: TestData;
- asciidoc: TestData;
-}
-
-function generateHTMLReport(data: ReportData): string {
- const { markdown, asciidoc } = data;
-
- return `
-
-
-
-
- GC Parser Test Report
-
-
-
-
-
GC Parser Test Report
-
Generated: ${new Date().toLocaleString()}
-
-
-
-
Markdown Document Test ✓ Parsed
-
-
- Overview
- Original Content
- Rendered Output
- Metadata
-
-
-
-
-
-
${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 => `
-
- `).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
-
-
- Overview
- Original Content
- Rendered Output
- Metadata
-
-
-
-
-
-
${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 => `
-
- `).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: string): string {
- const map: Record = {
- '&': '&',
- '<': '<',
- '>': '>',
- '"': '"',
- "'": ''',
- };
- return text.replace(/[&<>"']/g, (m) => map[m]);
-}
diff --git a/test-report.html b/test-report.html
index c14cd16..504d861 100644
--- a/test-report.html
+++ b/test-report.html
@@ -247,7 +247,7 @@
GC Parser Test Report
-
Generated: 4.3.2026, 12:15:49
+
Generated: 4.3.2026, 12:45:23
@@ -283,11 +283,11 @@
Media URLs
@@ -666,365 +666,241 @@ based upon a *
Rendered HTML Output
-
Markdown Test Document
+
# Markdown Test Document
+
+## Bullet list
-
-
-
-
-
This is a test unordered list with mixed bullets:
+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
-
-
-
-
-
-
-
-
-
-
-
This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l
-
-
-
This is also plaintext:
-
-
-
npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q
-
-
-
These should be turned into links:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
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
-
-
-
-
-
-
-
-
- )
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
[ ](
-
-
)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
| Syntax | Description |
+- 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 |
-
-
-
-
-
-
| Syntax | Description |
+| Paragraph | Text |
+
+### Unorderly
+
+| Syntax | Description |
| --- | ----------- |
| Header | Title |
-| Paragraph | Text |
-
-
-
-
-
-
| Syntax | Description | Test Text |
+| Paragraph | Text |
+
+### With alignment
+
+| Syntax | Description | Test Text |
| :--- | :----: | ---: |
-| Header | Title | Here_s this |
-| Paragraph | Text | And more |
-
-
-
-
-
-
-
-
-
-
-
-
{
- "id": "<event_id>",
- "pubkey": "<event_originator_pubkey>",
+| Header | Title | Here's this |
+| Paragraph | Text | And more |
+
+## Code blocks
+
+### json
+
+```json
+{
+ "id": "",
+ "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": "<event_signature>"
-}
-
-
-
-
-
-
-
-
/**
+ "sig": ""
+}
+```
+
+### 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_;
+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;
-}
-
-
-
-
-
-
-
-
mkdir new_directory
-cp source.txt destination.txt
-
-
-
-
-
-
-
-
$
-M =
+}
+```
+
+### shell
+
+```shell
+
+mkdir new_directory
+cp source.txt destination.txt
+
+```
+
+### LaTeX
+
+```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}
-$
-
-
-
-
-
-
-
-
X:1
+$
+```
+
+### ABC Notation
+
+```abc
+X:1
T:Ohne Titel
C:Aufgezeichnet 1784
A:Seibis nahe Lichtenberg in Oberfranken
@@ -1036,1037 +912,3764 @@ 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 :|
-
-
-
-
-
-
-
-
-
-
-
-
$[ x^n + y^n = z^n \]$ and $[\sqrt{x^2+1}\]$ and $\color{blue}{X \sim Normal \; (\mu,\sigma^2)}$
-
-
-
-
-
-
-
-
-
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
-
-
-
-
-
-
-
-
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.
-
-
-
-
-
-
-
-
-
-
-
~~The world is flat.~~ We now know that the world is round. This should not be struck through.
-
-
-
-
-
-
This is bold text. So is this bold text.
-
-
-
-
-
-
This is italic text. So is this italic text.
-
-
-
-
-
-
-
Gone camping! :tent: Be back soon.
-
-
-
That is so funny! :joy:
-
-
-
-
-
-
I need to highlight these ==very important words==.
-
-
-
-
-
-
-
-
-
-
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
-
-
<h1>Markdown Test Document</h1>
+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
-<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:
+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</p>
-</div>
-<div class="paragraph">
-<p>Another unordered list:
+* Fourth item
+
+Another unordered list:
- 1st item
- 2nd item
-- third item containing <em>italic</em> text
+- third item containing _italic_ text
- indented item
- second indented item
-- fourth item</p>
-</div>
-<div class="paragraph">
-<p>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</p>
-</div>
-<div class="paragraph">
-<p>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</p>
-</div>
-<div class="paragraph">
-<p>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</p>
-</div>
-<div class="paragraph">
-<p>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</p>
-</div>
-<div class="paragraph">
-<p>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</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="https://<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">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="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 shouild be a hyperlink to the http URL with the same address, so <a href="https://theforest.nostr1.com/">wss://theforest.nostr1.com</a> 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> <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="https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png" class="bare">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="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">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="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">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="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">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 |</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 |</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 |</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": "<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>"
-}</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>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}
-\end{bmatrix}
-$</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}
-\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>
-</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 > 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>✓ Write the press release</p>
-</li>
-<li>
-<p>❏ Update the website</p>
-</li>
-<li>
-<p>❏ 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
-
-
-
+- 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
+
+
+ View Raw HTML
+
+
<p># 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
+
+```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
+
+```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
+
+```shell
+
+mkdir new_directory
+cp source.txt destination.txt
+
+```
+
+### LaTeX
+
+```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}
+$
+```
+
+```latex
+$
+f(x)=
+\begin{cases}
+1/d_{ij} & \quad \text{when $d_{ij} \leq 160$}\\
+0 & \quad \text{otherwise}
+\end{cases}
+$
+```
+
+### ABC Notation
+
+```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 :|
+```
+
+## 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
+ 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)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
Wikilinks (2)
-
-
-
-
-
Hashtags (3)
-
-
-
-
-
Links (18)
+
+
+
+
+
Media URLs (3)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
AsciiDoc Document Test ✓ Parsed
+
+
+ Overview
+ Original Content
+ Rendered Output
+ Metadata
+
+
+
+
+
+
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
-this shouild be a hyperlink to the http URL with the same address, so wss://theforest.nostr1.com should render like " target="_blank">wss://theforest.nostr1.com
- External
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Media URLs (3)
-
-
-
-
-
-
-
-
-
-
-
Table of Contents
-
-
-
-
-
-
-
-
AsciiDoc Document Test ✓ Parsed
-
-
- Overview
- Original Content
- Rendered Output
- Metadata
-
-
-
-
-
-
-
-
-
-
-
+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
+____
+
-
-
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
+
+
Rendered HTML Output
+
+
== Bullet list
This is a test unordered list with mixed bullets:
@@ -2142,23 +4745,23 @@ npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q
These should be turned into links:
-nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l
+link:nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l[naddr1qv...]
-nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z
+link:nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z[npub1l5s...]
-nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj
+link:nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj[nevent1q...]
-nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh
+link:nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh[nprofile...]
-nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg
+link:nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg[note1txy...]
=== Hashtag
-#testhashtag at the start of the line and #inlinehashtag in the middle
+hashtag:testhashtag[#testhashtag] at the start of the line and hashtag:inlinehashtag[#inlinehashtag] in the middle
=== Wikilinks
-[[NKBIP-01|Specification]] and [[mirepoix]]
+WIKILINK:nkbip-01|Specification and WIKILINK:mirepoix|mirepoix
=== URL
@@ -2188,27 +4791,27 @@ link:https://youtube.com/shorts/ZWfvChb-i0w[image:https://upload.wikimedia.org/w
==== Spotify
-https://open.spotify.com/episode/1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ
+MEDIA:spotify: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]]
+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
-https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3
+MEDIA: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]]
+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
-https://v.nostr.build/MTjaYib4upQuf8zn.mp4
+MEDIA: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]]
+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"]
+[cols="1,2"]
|===
|Syntax|Description
|Header|Title
@@ -2217,7 +4820,7 @@ link:https://v.nostr.build/MTjaYib4upQuf8zn.mp4[image:https://upload.wikimedia.o
=== Unorderly
-[cols="1,2"]
+[cols="1,2"]
|===
|Syntax|Description
|Header|Title
@@ -2226,10 +4829,10 @@ link:https://v.nostr.build/MTjaYib4upQuf8zn.mp4[image:https://upload.wikimedia.o
=== With alignment
-[cols="<,^,>"]
+[cols="<,^,>"]
|===
|Syntax|Description|Test Text
-|Header|Title|Here's this
+|Header|Title|Here's this
|Paragraph|Text|And more
|===
@@ -2240,16 +4843,16 @@ link:https://v.nostr.build/MTjaYib4upQuf8zn.mp4[image:https://upload.wikimedia.o
[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"],
+ "id": "",
+ "pubkey": "",
+ "created_at": 1725087283,
+ "kind": 30040,
+ "tags": [
+ ["d", "aesop's-fables-by-aesop"],
+ ["title", "Aesop's Fables"],
+ ["author", "Aesop"],
],
- "sig": "<event_signature>"
+ "sig": ""
}
----
@@ -2260,12 +4863,12 @@ link:https://v.nostr.build/MTjaYib4upQuf8zn.mp4[image:https://upload.wikimedia.o
/**
* 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;
}
----
@@ -2287,9 +4890,9 @@ cp source.txt destination.txt
$$
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}
$$
----
@@ -2299,8 +4902,8 @@ $$
$$
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}
$$
----
@@ -2313,7 +4916,7 @@ 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
@@ -2329,8 +4932,8 @@ dd d2 | ee e2 | fg ad | ed/c/ d2 :|
[source,plantuml]
----
@startuml
-Alice -> Bob: Authentication Request
-Bob --> Alice: Authentication Response
+Alice -> Bob: Authentication Request
+Bob --> Alice: Authentication Response
@enduml
----
@@ -2350,1286 +4953,249 @@ stop
=== LaTeX in inline-code
-`$[ x^n + y^n = z^n \]$` and `$[\sqrt{x^2+1}\]$` and `$\color{blue}{X \sim Normal \; (\mu,\sigma^2)}$`
+`$[ x^n + y^n = z^n \]== Bullet list
-== LaTeX outside of code
+This is a test unordered list with mixed bullets:
-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
+* First item with a number 2. in it
+* Second item
+* Third item
+** Indented item
+** Indented item
+* Fourth item
-== Footnotes
+Another unordered list:
-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.]
+* 1st item
+* 2nd item
+* third item containing _italic_ text
+** indented item
+** second indented item
+* fourth item
-== Anchor links
+This is a test ordered list with indented items:
-<<bullet-list,Link to bullet list section>>
+. First item
+. Second item
+. Third item
+.. Indented item
+.. Indented item
+. Fourth item
-== Formatting
+Ordered list where everything has no number:
-=== Strikethrough
+. First item
+. Second item
+. Third item
+. Fourth item
-[line-through]#The world is flat.# We now know that the world is round. This should not be ~struck~ through.
+This is a mixed list with indented items:
-=== Bold
+. First item
+. Second item
+. Third item
+* Indented item
+* Indented item
+. Fourth item
-This is *bold* text. So is this *bold* text.
+This is another mixed list with indented items:
-=== Italic
+* First item
+* Second item
+* Third item
+. Indented item
+. Indented item
+* Fourth item
-This is _italic_ text. So is this _italic_ text.
+== Headers
-=== Task List
+=== Third-level header
-* [x] Write the press release
-* [ ] Update the website
-* [ ] Contact the media
+==== Fourth-level header
-=== Emoji shortcodes
+===== Fifth-level header
-Gone camping! :tent: Be back soon.
+====== Sixth-level header
-That is so funny! :joy:
+== Media and Links
-=== Marking and highlighting text
+=== Nostr address
-I need to highlight these [highlight]#very important words#.
+This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l
-=== Subscript and Superscript
+This is also plaintext:
-H~2~O
+npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q
-X^2^
+These should be turned into links:
-=== Delimiter
+link:nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l[naddr1qv...]
-based upon a -
+link:nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z[npub1l5s...]
-'''
+link:nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj[nevent1q...]
-based upon a *
+link:nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh[nprofile...]
-'''
+link:nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg[note1txy...]
-=== Quotes
+=== Hashtag
-[quote]
-____
-This is a single line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj
-____
+hashtag:testhashtag[#testhashtag] at the start of the line and hashtag:inlinehashtag[#inlinehashtag] in the middle
-[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
-
-
-
-
-
-
This is a test unordered list with mixed bullets:
-
-
-
-
Another unordered list:
-
-
-
-
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
-
-
-
-
-
-
-
-
-
-
-
-
-
This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l
-
-
-
This is also plaintext:
-
-
-
npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q
-
-
-
These should be turned into links:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
this should render as plaintext: http://www.example.com
-
-
-
this should be a hyperlink: www.example.com
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Syntax
-Description
-
-
-Header
-Title
-
-
-Paragraph
-Text
-
-
-
-
-
-
-
-
-
-
-
-
-
-Syntax
-Description
-
-
-Header
-Title
-
-
-Paragraph
-Text
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Syntax
-Description
-Test Text
-
-
-Header
-Title
-Here_s this
-
-
-Paragraph
-Text
-And more
-
-
-
-
-
-
-
-
-
-
-
-
-
-
'''
-{
- "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>"
-}
-'''
-
-
-
-
-
-
-
-
'''
-/**
- * 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;
-}
-'''
-
-
-
-
-
-
-
-
mkdir new_directory
-cp source.txt destination.txt
-
-
-
-
-
-
-
-
'''
-$
-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}
-$
-'''
-
-
-
-
-
-
-
-
'''
-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 :|
-'''
-
-
-
-
-
-
-
-
'''
-@startuml
-Alice -> Bob: Authentication Request
-Bob --> Alice: Authentication Response
-@enduml
-'''
-
-
-
-
-
-
-
-
'''
-@startbpmn
-start
-:Task 1;
-:Task 2;
-stop
-@endbpmn
-'''
-
-
-
-
-
-
-
-
-
-
-
-
`$[ x^n + y^n = z^n \]== Bullet list
-
-
-
This is a test unordered list with mixed bullets:
-
-
-
-
Another unordered list:
-
-
-
-
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
-
-
-
-
-
-
-
-
-
-
-
-
-
-
This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l
-
-
-
This is also plaintext:
-
-
-
npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q
-
-
-
These should be turned into links:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
this should render as plaintext: http://www.example.com
-
-
-
this should be a hyperlink: www.example.com
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Syntax
-Description
-
-
-Header
-Title
-
-
-Paragraph
-Text
-
-
-
-
-
-
-
-
-
-
-
-
-
-Syntax
-Description
-
-
-Header
-Title
-
-
-Paragraph
-Text
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Syntax
-Description
-Test Text
-
-
-Header
-Title
-Here_s this
-
-
-Paragraph
-Text
-And more
-
-
-
-
-
-
-
-
-
-
-
-
-
-
'''
+=== 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>",
+ "id": "",
+ "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": "<event_signature>"
+ "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_;
+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;
}
-'''
-
-
-
-
-
-
-
-
mkdir new_directory
-cp source.txt destination.txt
-
-
-
-
-
-
-
-
'''
-$
-M =
+----
+
+=== 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}
+\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}
+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
@@ -3643,621 +5209,277 @@ 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
+Alice -> Bob: Authentication Request
+Bob --> Alice: Authentication Response
@enduml
-'''
-
-
-
-
-
-
-
-
'''
+----
+
+=== BPMN
+
+[source,plantuml]
+----
@startbpmn
start
:Task 1;
:Task 2;
stop
@endbpmn
-'''
-
-
-
-
-
-
-
-
-
-
-
-
-
and `$[\sqrt{x^2+1}\]== Bullet list
-
-
-
-
This is a test unordered list with mixed bullets:
-
-
-
-
Another unordered list:
-
-
-
-
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
-
-
-
-
-
-
-
-
-
-
-
-
-
-
This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l
-
-
-
This is also plaintext:
-
-
-
npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q
-
-
-
These should be turned into links:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
this should render as plaintext: http://www.example.com
-
-
-
this should be a hyperlink: www.example.com
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Syntax
-Description
-
-
-Header
-Title
-
-
-Paragraph
-Text
-
-
-
-
-
-
-
-
-
-
-
-
-
-Syntax
-Description
-
-
-Header
-Title
-
-
-Paragraph
-Text
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Syntax
-Description
-Test Text
-
-
-Header
-Title
-Here_s this
-
-
-Paragraph
-Text
-And more
-
-
-
-
-
-
-
-
-
-
-
-
-
-
'''
+----
+
+== 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]
+----
{
- "id": "<event_id>",
- "pubkey": "<event_originator_pubkey>",
+ "id": "",
+ "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": "<event_signature>"
+ "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_;
+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;
}
-'''
-
-
-
-
-
-
-
-
mkdir new_directory
-cp source.txt destination.txt
-
-
-
-
-
-
-
-
'''
-$
-M =
+----
+
+=== 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}
+\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}
+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
@@ -4271,619 +5493,277 @@ 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
+Alice -> Bob: Authentication Request
+Bob --> Alice: Authentication Response
@enduml
-'''
-
-
-
-
-
-
-
-
'''
+----
+
+=== BPMN
+
+[source,plantuml]
+----
@startbpmn
start
:Task 1;
:Task 2;
stop
@endbpmn
-'''
-
-
-
-
-
-
-
-
-
-
-
-
`$[ x^n + y^n = z^n \]== Bullet list
-
-
-
This is a test unordered list with mixed bullets:
-
-
-
-
Another unordered list:
-
-
-
-
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
-
-
-
-
-
-
-
-
-
-
-
-
-
-
This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l
-
-
-
This is also plaintext:
-
-
-
npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q
-
-
-
These should be turned into links:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
this should render as plaintext: http://www.example.com
-
-
-
this should be a hyperlink: www.example.com
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Syntax
-Description
-
-
-Header
-Title
-
-
-Paragraph
-Text
-
-
-
-
-
-
-
-
-
-
-
-
-
-Syntax
-Description
-
-
-Header
-Title
-
-
-Paragraph
-Text
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Syntax
-Description
-Test Text
-
-
-Header
-Title
-Here_s this
-
-
-Paragraph
-Text
-And more
-
-
-
-
-
-
-
-
-
-
-
-
-
-
'''
+----
+
+== 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>",
+ "id": "",
+ "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": "<event_signature>"
+ "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_;
+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;
}
-'''
-
-
-
-
-
-
-
-
mkdir new_directory
-cp source.txt destination.txt
-
-
-
-
-
-
-
-
'''
-$
-M =
+----
+
+=== 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}
+\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}
+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
@@ -4897,621 +5777,277 @@ 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
+Alice -> Bob: Authentication Request
+Bob --> Alice: Authentication Response
@enduml
-'''
-
-
-
-
-
-
-
-
'''
+----
+
+=== BPMN
+
+[source,plantuml]
+----
@startbpmn
start
:Task 1;
:Task 2;
stop
@endbpmn
-'''
-
-
-
-
-
-
-
-
-
-
-
-
-
and and `$\color{blue}{X \sim Normal \; (\mu,\sigma^2)}== Bullet list
-
-
-
-
This is a test unordered list with mixed bullets:
-
-
-
-
Another unordered list:
-
-
-
-
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
-
-
-
-
-
-
-
-
-
-
-
-
-
-
This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l
-
-
-
This is also plaintext:
-
-
-
npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q
-
-
-
These should be turned into links:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
this should render as plaintext: http://www.example.com
-
-
-
this should be a hyperlink: www.example.com
-
-
-
-
-
-
-
-
-
-