diff --git a/src/utils/report-generator.ts b/src/utils/report-generator.ts index 52c7530..2a426ef 100644 --- a/src/utils/report-generator.ts +++ b/src/utils/report-generator.ts @@ -575,6 +575,7 @@ export function generateHTMLReport(data: ReportData): string { * Clean HTML content to extract only the body content * Removes full HTML document structure if present * Prevents infinite loops by ensuring we only extract once and handle nested structures + * Also detects and prevents content duplication (doom loops) */ function cleanHtmlContent(html: string): string { if (!html || typeof html !== 'string') { @@ -633,6 +634,86 @@ function cleanHtmlContent(html: string): string { iterations++; } + // Detect and prevent content duplication (doom loops) + // Strategy: Use a fingerprint of the first part of the content to detect repetition + + // Create a fingerprint from the first meaningful chunk (skip leading whitespace/tags) + const contentStart = cleaned.search(/[^\s<]/); + if (contentStart !== -1) { + // Use first 2000 characters as fingerprint, or 1/4 of content, whichever is smaller + const fingerprintLength = Math.min(2000, Math.max(500, Math.floor(cleaned.length / 4))); + const fingerprint = cleaned.substring(contentStart, contentStart + fingerprintLength); + + // Find where this fingerprint repeats + const secondOccurrence = cleaned.indexOf(fingerprint, contentStart + fingerprintLength); + + if (secondOccurrence !== -1 && secondOccurrence < cleaned.length * 0.85) { + // Content is clearly duplicated - return only the first occurrence + cleaned = cleaned.substring(0, secondOccurrence).trim(); + return cleaned; + } + } + + // Additional check: detect repeated patterns using common document markers + const documentMarkers = [ + /#\s+Markdown\s+Test\s+Document/gi, + /==\s+Bullet\s+list/gi, + /##\s+Bullet\s+list/gi, + ]; + + for (const marker of documentMarkers) { + const matches = cleaned.match(marker); + if (matches && matches.length > 1) { + const firstMatch = cleaned.search(marker); + if (firstMatch !== -1) { + // Get a chunk starting from this marker + const chunkStart = firstMatch; + const chunkLength = Math.min(1500, Math.floor(cleaned.length / 3)); + const chunk = cleaned.substring(chunkStart, chunkStart + chunkLength); + + // Find where this chunk repeats + const secondChunk = cleaned.indexOf(chunk, chunkStart + chunkLength); + + if (secondChunk !== -1 && secondChunk < cleaned.length * 0.9) { + // Content repeats here - truncate + cleaned = cleaned.substring(0, secondChunk).trim(); + return cleaned; + } + } + } + } + + // Final check: detect repeated section headers + const sectionHeaderPattern = /(?:^|\n)(?:##?|==)\s+[^\n<]+/gm; + const sectionHeaders: string[] = []; + let match; + + while ((match = sectionHeaderPattern.exec(cleaned)) !== null) { + sectionHeaders.push(match[0].trim()); + } + + // If we have many headers, check for repetition + if (sectionHeaders.length > 8) { + const uniqueHeaders = new Set(sectionHeaders); + // If we have way more headers than unique ones, content is repeating + if (sectionHeaders.length > uniqueHeaders.size * 2.5) { + // Find the first occurrence of each unique header + const uniqueHeaderArray = Array.from(uniqueHeaders); + const firstUniqueHeader = uniqueHeaderArray[0]; + const firstHeaderIndex = cleaned.indexOf(firstUniqueHeader); + + if (firstHeaderIndex !== -1) { + // Find the second occurrence of the first header + const secondHeaderIndex = cleaned.indexOf(firstUniqueHeader, firstHeaderIndex + 200); + + if (secondHeaderIndex !== -1 && secondHeaderIndex < cleaned.length * 0.85) { + // Content repeats here - truncate + cleaned = cleaned.substring(0, secondHeaderIndex).trim(); + } + } + } + } + return cleaned; } diff --git a/test-parser-report.test.ts b/test-parser-report.test.ts index 69ebcb3..fdd779f 100644 --- a/test-parser-report.test.ts +++ b/test-parser-report.test.ts @@ -1,5 +1,5 @@ import { Parser } from './src/parser'; -import { generateHTMLReport } from './src/utils/report-generator'; +import { generateHTMLReport, escapeHtml } from './src/utils/report-generator'; import * as fs from 'fs'; import * as path from 'path'; @@ -220,8 +220,16 @@ describe('Parser Test Report', () => { } // Test that rendered HTML is included (not escaped) - expect(htmlReport).toContain(markdownResult.content); - expect(htmlReport).toContain(asciidocResult.content); + // Note: content may be cleaned to remove duplicates, so check for a significant portion + // The raw HTML section should contain the full content (escaped) + const cleanedMarkdown = markdownResult.content.substring(0, Math.min(1000, markdownResult.content.length)); + const cleanedAsciidoc = asciidocResult.content.substring(0, Math.min(1000, asciidocResult.content.length)); + expect(htmlReport).toContain(cleanedMarkdown); + expect(htmlReport).toContain(cleanedAsciidoc); + + // Also verify the raw HTML section contains the full content (escaped) + expect(htmlReport).toContain(escapeHtml(markdownResult.content.substring(0, 500))); + expect(htmlReport).toContain(escapeHtml(asciidocResult.content.substring(0, 500))); // Test that original content is displayed expect(htmlReport).toContain('Markdown Test Document'); @@ -269,12 +277,45 @@ describe('Parser Test Report', () => { // Test for Content Repetition (Doom Loop Fix) // ============================================ // Extract rendered output sections from the HTML report - const renderedOutputRegex = /
Generated: 4.3.2026, 13:12:35
+Generated: 4.3.2026, 13:19:47
<p># Markdown Test Document
## Bullet list
@@ -1080,38 +1085,99 @@ MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4
| Syntax | Description | Test Text |
| :--- | :----: | ---: |
-| Header | Title | Here's this |
+| Header | Title | Here's this |
| Paragraph | Text | And more |
## Code blocks
### json
-__CODEBLOCK_0__
+```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
-__CODEBLOCK_1__
+```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
-__CODEBLOCK_2__
+```shell
+
+mkdir new_directory
+cp source.txt destination.txt
+
+```
### LaTeX
-__CODEBLOCK_3__
+```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}
+$
+```
-__CODEBLOCK_4__
+```latex
+$
+f(x)=
+\begin{cases}
+1/d_{ij} & \quad \text{when $d_{ij} \leq 160$}\\
+0 & \quad \text{otherwise}
+\end{cases}
+$
+```
### ABC Notation
-__CODEBLOCK_5__
+```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
- and `$[\sqrt{x^2+1}\]# Markdown Test Document
+`$[ x^n + y^n = z^n \]# Markdown Test Document
## Bullet list
@@ -1272,7 +1338,7 @@ MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4
| Syntax | Description | Test Text |
| :--- | :----: | ---: |
-| Header | Title | Here's this |
+| Header | Title | Here's this |
| Paragraph | Text | And more |
## Code blocks
@@ -1303,7 +1369,7 @@ __CODEBLOCK_5__
### LaTex in inline-code
-`$[ x^n + y^n = z^n \]# Markdown Test Document
+ and `$[\sqrt{x^2+1}\]# Markdown Test Document
## Bullet list
@@ -1464,7 +1530,7 @@ MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4
| Syntax | Description | Test Text |
| :--- | :----: | ---: |
-| Header | Title | Here's this |
+| Header | Title | Here's this |
| Paragraph | Text | And more |
## Code blocks
@@ -1495,7 +1561,7 @@ __CODEBLOCK_5__
### LaTex in inline-code
- and and `$\color{blue}{X \sim Normal \; (\mu,\sigma^2)}# Markdown Test Document
+`$[ x^n + y^n = z^n \]# Markdown Test Document
## Bullet list
@@ -1656,7 +1722,7 @@ MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4
| Syntax | Description | Test Text |
| :--- | :----: | ---: |
-| Header | Title | Here's this |
+| Header | Title | Here's this |
| Paragraph | Text | And more |
## Code blocks
@@ -1687,7 +1753,7 @@ __CODEBLOCK_5__
### LaTex in inline-code
-`$[ x^n + y^n = z^n \]# Markdown Test Document
+ and and `$\color{blue}{X \sim Normal \; (\mu,\sigma^2)}# Markdown Test Document
## Bullet list
@@ -1848,7 +1914,7 @@ MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4
| Syntax | Description | Test Text |
| :--- | :----: | ---: |
-| Header | Title | Here's this |
+| Header | Title | Here's this |
| Paragraph | Text | And more |
## Code blocks
@@ -1879,7 +1945,7 @@ __CODEBLOCK_5__
### LaTex in inline-code
- and `$[\sqrt{x^2+1}\]# Markdown Test Document
+`$[ x^n + y^n = z^n \]# Markdown Test Document
## Bullet list
@@ -2040,7 +2106,7 @@ MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4
| Syntax | Description | Test Text |
| :--- | :----: | ---: |
-| Header | Title | Here's this |
+| Header | Title | Here's this |
| Paragraph | Text | And more |
## Code blocks
@@ -2071,7 +2137,7 @@ __CODEBLOCK_5__
### LaTex in inline-code
-`$[ x^n + y^n = z^n \]# Markdown Test Document
+ and `$[\sqrt{x^2+1}\]# Markdown Test Document
## Bullet list
@@ -2232,7 +2298,7 @@ MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4
| Syntax | Description | Test Text |
| :--- | :----: | ---: |
-| Header | Title | Here's this |
+| Header | Title | Here's this |
| Paragraph | Text | And more |
## Code blocks
@@ -2263,82 +2329,7 @@ __CODEBLOCK_5__
### 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># Markdown Test Document
+`$[ x^n + y^n = z^n \]# Markdown Test Document
## Bullet list
@@ -2506,3817 +2497,343 @@ MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4
### 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>"
-}
-```
+__CODEBLOCK_0__
### 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;
-}
-```
+__CODEBLOCK_1__
### shell
-```shell
-
-mkdir new_directory
-cp source.txt destination.txt
-
-```
+__CODEBLOCK_2__
### 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}
-$
-```
+__CODEBLOCK_3__
-```latex
-$
-f(x)=
-\begin{cases}
-1/d_{ij} & \quad \text{when $d_{ij} \leq 160$}\\
-0 & \quad \text{otherwise}
-\end{cases}
-$
-```
+__CODEBLOCK_4__
### 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 :|
-```
+__CODEBLOCK_5__
## LateX
### LaTex in inline-code
-`$[ x^n + y^n = z^n \]# Markdown Test Document
+ and and
-## Bullet list
+## LaTex outside of code
-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 |
+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
-## Code blocks
+## Footnotes
-### json
+Here's a simple footnote,[^1] and here's a longer one.[^bignote]
-__CODEBLOCK_0__
+[^1]: This is the first footnote.
-### typescript
+[^bignote]: Here's one with multiple paragraphs and code.
-__CODEBLOCK_1__
+## Anchor links
-### shell
+link:hashtag:bullet[#bullet]-lists[Link to bullet list section]
-__CODEBLOCK_2__
+## Formatting
-### LaTeX
+### Strikethrough
-__CODEBLOCK_3__
+~~The world is flat.~~ We now know that the world is round. This should not be ~struck~ through.
-__CODEBLOCK_4__
+### Bold
-### ABC Notation
+This is *bold* text. So is this **bold** text.
-__CODEBLOCK_5__
+### Italic
-## LateX
+This is _italic_ text. So is this __italic__ text.
-### LaTex in inline-code
+### Task List
- and `$[\sqrt{x^2+1}\]# Markdown Test Document
+- [x] Write the press release
+- [ ] Update the website
+- [ ] Contact the media
-## Bullet list
+### Emoji shortcodes
-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
+Gone camping! :tent: Be back soon.
-Another unordered list:
-- 1st item
-- 2nd item
-- third item containing _italic_ text
- - indented item
- - second indented item
-- fourth item
+That is so funny! :joy:
-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
+### Marking and highlighting text
-Ordered list where everything has the same number:
-1. First item
-1. Second item
-1. Third item
-1. Fourth item
+I need to highlight these ==very important words==.
-Ordered list that is wrongly numbered:
-1. First item
-8. Second item
-3. Third item
-5. Fourth item
+### Subscript and Superscript
-This is a mixed list with indented items:
-1. First item
-2. Second item
-3. Third item
- * Indented item
- * Indented item
-4. Fourth item
+H~2~O
-This is another mixed list with indented items:
-- First item
-- Second item
-- Third item
- 1. Indented item
- 2. Indented item
-- Fourth item
+X^2^
+### Delimiter
-## Headers
+based upon a -
-### Third-level header
+---
-#### Fourth-level header
+based upon a *
-##### Fifth-level header
+***
-###### Sixth-level header
+### Quotes
-## Media and Links
+> This is a single line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj
-### 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>
- naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l
- - nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l
- npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z
- - nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z
- nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj
- - nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj
- nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh
- - nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh
- note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg
- - nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg
- [[NKBIP-01|Specification]] → dtag: nkbip-01
- (display: Specification)
- [[mirepoix]] → dtag: mirepoix
- (display: mirepoix)
- #testhashtag
- #inlinehashtag
- #bullet
- = AsciiDoc Test Document
-Kismet Lee
-2.9, October 31, 2021: Fall incarnation
-:description: Test description
-:author: Kismet Lee
-:date: 2021-10-31
-:version: 2.9
-:status: Draft
-:keywords: AsciiDoc, Test, Document
-:category: Test
-:language: English
-
-== Bullet list
-
-This is a test unordered list with mixed bullets:
-
-* First item with a number 2. in it
-* Second item
-* Third item
-** Indented item
-** Indented item
-* Fourth item
-
-Another unordered list:
-
-* 1st item
-* 2nd item
-* third item containing _italic_ text
-** indented item
-** second indented item
-* fourth item
-
-This is a test ordered list with indented items:
-
-. First item
-. Second item
-. Third item
-.. Indented item
-.. Indented item
-. Fourth item
-
-Ordered list where everything has no number:
-
-. First item
-. Second item
-. Third item
-. Fourth item
-
-This is a mixed list with indented items:
-
-. First item
-. Second item
-. Third item
-* Indented item
-* Indented item
-. Fourth item
-
-This is another mixed list with indented items:
-
-* First item
-* Second item
-* Third item
-. Indented item
-. Indented item
-* Fourth item
-
-== Headers
-
-=== Third-level header
-
-==== Fourth-level header
-
-===== Fifth-level header
-
-====== Sixth-level header
-
-== Media and Links
-
-=== Nostr address
-
-This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l
-
-This is also plaintext:
-
-npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q
-
-These should be turned into links:
-
-nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l
-
-nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z
-
-nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj
-
-nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh
-
-nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg
-
-=== Hashtag
-
-#testhashtag at the start of the line and #inlinehashtag in the middle
-
-=== Wikilinks
-
-[[NKBIP-01|Specification]] and [[mirepoix]]
-
-=== URL
-
-https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html
-
-link:https://www.welt.de/politik/ausland/article69a7ca00ad41f3cd65a1bc63/iran-drohte-jedes-schiff-zu-verbrennen-trump-will-oel-tanker-durch-strasse-von-hormus-eskortieren.html[Welt Online link]
-
-this should render as plaintext: `http://www.example.com`
-
-this should be a hyperlink: www.example.com
-
-this should be a hyperlink to the http URL with the same address, so wss://theforest.nostr1.com should render like link:wss://theforest.nostr1.com[https://theforest.nostr1.com]
-
-=== Images
-
-https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png
-
-image::https://blog.ronin.cloud/content/images/size/w2000/2022/02/markdown.png[test image, width=100%]
-
-=== Media
-
-==== YouTube
-
-https://youtube.com/shorts/ZWfvChb-i0w
-
-link:https://youtube.com/shorts/ZWfvChb-i0w[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Youtube link with pic]]
-
-==== Spotify
-
-https://open.spotify.com/episode/1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ
-
-link:https://open.spotify.com/episode/1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Spotify link with pic]]
-
-==== Audio
-
-https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3
-
-link:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Audio link with pic]]
-
-==== Video
-
-https://v.nostr.build/MTjaYib4upQuf8zn.mp4
-
-link:https://v.nostr.build/MTjaYib4upQuf8zn.mp4[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Video link with pic]]
-
-== Tables
-
-=== Orderly
-
-[cols="1,2"]
-|===
-|Syntax|Description
-|Header|Title
-|Paragraph|Text
-|===
-
-=== Unorderly
-
-[cols="1,2"]
-|===
-|Syntax|Description
-|Header|Title
-|Paragraph|Text
-|===
-
-=== With alignment
-
-[cols="<,^,>"]
-|===
-|Syntax|Description|Test Text
-|Header|Title|Here's this
-|Paragraph|Text|And more
-|===
-
-== Code blocks
-
-=== json
-
-[source,json]
-----
-{
- "id": "<event_id>",
- "pubkey": "<event_originator_pubkey>",
- "created_at": 1725087283,
- "kind": 30040,
- "tags": [
- ["d", "aesop's-fables-by-aesop"],
- ["title", "Aesop's Fables"],
- ["author", "Aesop"],
- ],
- "sig": "<event_signature>"
-}
-----
-
-=== typescript
-
-[source,typescript]
-----
-/**
- * Get Nostr identifier type
- */
-function getNostrType(id: string): 'npub' | 'nprofile' | 'nevent' | 'naddr' | 'note' | null {
- if (id.startsWith('npub')) return 'npub';
- if (id.startsWith('nprofile')) return 'nprofile';
- if (id.startsWith('nevent')) return 'nevent';
- if (id.startsWith('naddr')) return 'naddr';
- if (id.startsWith('note')) return 'note';
- return null;
-}
-----
-
-=== shell
-
-[source,shell]
-----
-
-mkdir new_directory
-cp source.txt destination.txt
-
-----
-
-=== LaTeX
-
-[source,latex]
-----
-$$
-M =
-\begin{bmatrix}
-\frac{5}{6} & \frac{1}{6} & 0 \\[0.3em]
-\frac{5}{6} & 0 & \frac{1}{6} \\[0.3em]
-0 & \frac{5}{6} & \frac{1}{6}
-\end{bmatrix}
-$$
-----
-
-[source,latex]
-----
-$$
-f(x)=
-\begin{cases}
-1/d_{ij} & \quad \text{when $d_{ij} \leq 160$}\\
-0 & \quad \text{otherwise}
-\end{cases}
-$$
-----
-
-=== ABC Notation
-
-[source,abc]
-----
-X:1
-T:Ohne Titel
-C:Aufgezeichnet 1784
-A:Seibis nahe Lichtenberg in Oberfranken
-S:Handschrift, bezeichnet und datiert: "Heinrich Nicol Philipp zu Seibis den 30 Junius 1784"
-M:4/4
-L:1/4
-K:D
-dd d2 | ee e2 | fg ad | cB cA |\
-dd d2 | ee e2 | fg ad | ed/c/ d2 :|
-|:\
-fg ad | cB cA | fg ad | cB cA |\
-dd d2 | ee e2 | fg ad | ed/c/ d2 :|
-----
-
-=== PlantUML
-
-[source,plantuml]
-----
-@startuml
-Alice -> Bob: Authentication Request
-Bob --> Alice: Authentication Response
-@enduml
-----
-
-=== BPMN
-
-[source,plantuml]
-----
-@startbpmn
-start
-:Task 1;
-:Task 2;
-stop
-@endbpmn
-----
-
-== LaTeX
-
-=== LaTeX in inline-code
-
-`$[ x^n + y^n = z^n \]$` and `$[\sqrt{x^2+1}\]$` and `$\color{blue}{X \sim Normal \; (\mu,\sigma^2)}$`
-
-== LaTeX outside of code
-
-This is a latex code block $$\mathbb{N} = \{ a \in \mathbb{Z} : a > 0 \}$$ and another that is an inline latex $\color{green}{X \sim Normal \; (\mu,\sigma^2)}$ and should be green
-
-== Footnotes
-
-Here's a simple footnote,footnote:[This is the first footnote.] and here's a longer one.footnote:[Here's one with multiple paragraphs and code.]
-
-== Anchor links
-
-<<bullet-list,Link to bullet list section>>
-
-== Formatting
-
-=== Strikethrough
-
-[line-through]#The world is flat.# We now know that the world is round. This should not be ~struck~ through.
-
-=== Bold
-
-This is *bold* text. So is this *bold* text.
-
-=== Italic
-
-This is _italic_ text. So is this _italic_ text.
-
-=== Task List
-
-* [x] Write the press release
-* [ ] Update the website
-* [ ] Contact the media
-
-=== Emoji shortcodes
-
-Gone camping! :tent: Be back soon.
-
-That is so funny! :joy:
-
-=== Marking and highlighting text
-
-I need to highlight these [highlight]#very important words#.
-
-=== Subscript and Superscript
-
-H~2~O
-
-X^2^
-
-=== Delimiter
-
-based upon a -
-
-'''
-
-based upon a *
-
-'''
-
-=== Quotes
-
-[quote]
-____
-This is a single line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj
-____
-
-[quote]
-____
-This is a multi line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj
-This is a multi line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj
-This is a multi line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj
-This is a multi line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj
-____
-
- == 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": "
naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l
+ - nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l
+ npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z
+ - nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z
+ nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj
+ - nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj
+ nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh
+ - nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh
+ note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg
+ - nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg
+ [[NKBIP-01|Specification]] → dtag: nkbip-01
+ (display: Specification)
+ [[mirepoix]] → dtag: mirepoix
+ (display: mirepoix)
+ #testhashtag
+ #inlinehashtag
+ #bullet
+ = AsciiDoc Test Document
+Kismet Lee
+2.9, October 31, 2021: Fall incarnation
+:description: Test description
+:author: Kismet Lee
+:date: 2021-10-31
+:version: 2.9
+:status: Draft
+:keywords: AsciiDoc, Test, Document
+:category: Test
+:language: English
- and `$[\sqrt{x^2+1}\]== Bullet list
+== Bullet list
This is a test unordered list with mixed bullets:
@@ -6392,23 +2909,23 @@ npub1gv069u6q7zkl393ad47xutpqmyfj0rrfrlnqnlfc2ld38k8nnl4st9wa6q
These should be turned into links:
-link:nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l[naddr1qv...]
+nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l
-link:nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z[npub1l5s...]
+nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z
-link:nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj[nevent1q...]
+nostr:nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj
-link:nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh[nprofile...]
+nostr:nprofile1qqsxhedgkuneycxpcdjlg6tgtxdy8gurdz64nq2h0flc288a0jag98qguy3nh
-link:nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg[note1txy...]
+nostr:note1txyefcha2xt3pgungx4k6j077dsteyef6hzpyuuku00s4h0eymzq4k33yg
=== Hashtag
-hashtag:testhashtag[#testhashtag] at the start of the line and hashtag:inlinehashtag[#inlinehashtag] in the middle
+#testhashtag at the start of the line and #inlinehashtag in the middle
=== Wikilinks
-WIKILINK:nkbip-01|Specification and WIKILINK:mirepoix|mirepoix
+[[NKBIP-01|Specification]] and [[mirepoix]]
=== URL
@@ -6438,27 +2955,27 @@ link:https://youtube.com/shorts/ZWfvChb-i0w[image:https://upload.wikimedia.org/w
==== Spotify
-MEDIA:spotify:episode:1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ
+https://open.spotify.com/episode/1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ
-link:MEDIA:spotify:episode:1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Spotify link with pic]]
+link:https://open.spotify.com/episode/1GSZFA8vWltPyxYkArdRKx?si=bq6-az28TcuP596feTkRFQ[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Spotify link with pic]]
==== Audio
-MEDIA:audio:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3
+https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3
-link:MEDIA:audio:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Audio link with pic]]
+link:https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Audio link with pic]]
==== Video
-MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4
+https://v.nostr.build/MTjaYib4upQuf8zn.mp4
-link:MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Video link with pic]]
+link:https://v.nostr.build/MTjaYib4upQuf8zn.mp4[image:https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/YouTube_social_white_square_%282024%29.svg/960px-YouTube_social_white_square_%282024%29.svg.png[Video link with pic]]
== Tables
=== Orderly
-[cols="1,2"]
+[cols="1,2"]
|===
|Syntax|Description
|Header|Title
@@ -6467,7 +2984,7 @@ link:MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4[image:https://upload
=== Unorderly
-[cols="1,2"]
+[cols="1,2"]
|===
|Syntax|Description
|Header|Title
@@ -6476,10 +2993,10 @@ link:MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4[image:https://upload
=== With alignment
-[cols="<,^,>"]
+[cols="<,^,>"]
|===
|Syntax|Description|Test Text
-|Header|Title|Here's this
+|Header|Title|Here's this
|Paragraph|Text|And more
|===
@@ -6490,16 +3007,16 @@ link:MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4[image:https://upload
[source,json]
----
{
- "id": "",
- "pubkey": "",
- "created_at": 1725087283,
- "kind": 30040,
- "tags": [
- ["d", "aesop's-fables-by-aesop"],
- ["title", "Aesop's Fables"],
- ["author", "Aesop"],
+ "id": "<event_id>",
+ "pubkey": "<event_originator_pubkey>",
+ "created_at": 1725087283,
+ "kind": 30040,
+ "tags": [
+ ["d", "aesop's-fables-by-aesop"],
+ ["title", "Aesop's Fables"],
+ ["author", "Aesop"],
],
- "sig": ""
+ "sig": "<event_signature>"
}
----
@@ -6510,12 +3027,12 @@ link:MEDIA:video:https://v.nostr.build/MTjaYib4upQuf8zn.mp4[image:https://upload
/**
* 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;
}
----
@@ -6537,9 +3054,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}
$$
----
@@ -6549,8 +3066,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}
$$
----
@@ -6563,7 +3080,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
@@ -6579,8 +3096,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
----
@@ -6600,7 +3117,88 @@ stop
=== LaTeX in inline-code
-`$[ x^n + y^n = z^n \]== Bullet list
+`$[ x^n + y^n = z^n \]$` and `$[\sqrt{x^2+1}\]$` and `$\color{blue}{X \sim Normal \; (\mu,\sigma^2)}$`
+
+== LaTeX outside of code
+
+This is a latex code block $$\mathbb{N} = \{ a \in \mathbb{Z} : a > 0 \}$$ and another that is an inline latex $\color{green}{X \sim Normal \; (\mu,\sigma^2)}$ and should be green
+
+== Footnotes
+
+Here's a simple footnote,footnote:[This is the first footnote.] and here's a longer one.footnote:[Here's one with multiple paragraphs and code.]
+
+== Anchor links
+
+<<bullet-list,Link to bullet list section>>
+
+== Formatting
+
+=== Strikethrough
+
+[line-through]#The world is flat.# We now know that the world is round. This should not be ~struck~ through.
+
+=== Bold
+
+This is *bold* text. So is this *bold* text.
+
+=== Italic
+
+This is _italic_ text. So is this _italic_ text.
+
+=== Task List
+
+* [x] Write the press release
+* [ ] Update the website
+* [ ] Contact the media
+
+=== Emoji shortcodes
+
+Gone camping! :tent: Be back soon.
+
+That is so funny! :joy:
+
+=== Marking and highlighting text
+
+I need to highlight these [highlight]#very important words#.
+
+=== Subscript and Superscript
+
+H~2~O
+
+X^2^
+
+=== Delimiter
+
+based upon a -
+
+'''
+
+based upon a *
+
+'''
+
+=== Quotes
+
+[quote]
+____
+This is a single line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj
+____
+
+[quote]
+____
+This is a multi line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj
+This is a multi line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj
+This is a multi line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj
+This is a multi line blockequote sdfjsdlfkjasldkfjsdölfkjsdlfkjsadlöfkjsdlöfkjsadölfkjsdlf kjsldfkjsdalkjslkdfjlöskdfjlösdkjfsldkfjsöldkfjlösdkfjalsd kfjlsdkfjlödkfjlaksdfjlkjdfslkjalsdkfjlasdkfj alsdkjflskdfj sdfklj
+____
+
+ == Bullet list
This is a test unordered list with mixed bullets:
@@ -6884,81 +3482,7 @@ stop
=== LaTeX in inline-code
- and and
-
-== LaTeX outside of code
-
-This is a latex code block $$\mathbb{N} = \{ a \in \mathbb{Z} : a > 0 \}$$ and another that is an inline latex $\color{green}{X \sim Normal \; (\mu,\sigma^2)}$ and should be green
-
-== Footnotes
-
-Here's a simple footnote,footnote:[This is the first footnote.] and here's a longer one.footnote:[Here's one with multiple paragraphs and code.]
-
-== Anchor links
-
-<