= 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

[discrete]
====== Sixth-level header

This discrete header shouldn't become a section. It should just be rendered in the header style.

== Media and Links

=== Nostr address

This should be ignored and rendered as plaintext: naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagss...

This is also plaintext: npub1gv069uwhateverbunchofnumbers

And this should stay plaintext, as it is just a prefix with no address: nostr:

This nostr address should be ignored, since it is in a URL https://notanostraddress/nevent1qvzqqqqqqypzp382htsmu08k277ps40wqhnfm60st89h5pvjyutghq9cjasuh38qqythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qqsysletg3lqnl4uy59xsj4rp9rgw67wg23l827f4uvn5ckn20fuxcq45d8pj

These should be turned into links:

naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l at the start of the line

even this one npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z in the middle of the line

These should be turned into links, but should only have one "nostr:" prefix:

nostr:naddr1qvzqqqr4gupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pqyghwumn8ghj7mn0wd68ytnvv9hxgtcqy4sj6ar9wd6xv6tvv5kkvmmj94kkzuntv3hhwm3dvfuj6enyxgcrset98p3nsve2v5l

nostr:npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z

nostr:nevent1qqs07p6r33p7yslp6lzk59k2fwlkudhnm4mg7chz5a0apeqfeluuyqsyay40e

nostr:nprofile1qqsd6ejdteqpvse63ntf7qz6u9yqspp4z7ymt8094urzwm0x2ceaxxg5g7l0j

nostr:note1uuw73zj2hmrtfqqzzff526msjvnl90n24q7z2lz6k4a4gknz94rqvl2846

=== Hashtag

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

=== Wikilinks

[[NKBIP-01|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 to the http URL with the same address link:https://theforest.nostr1.com[wss://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[Markdown example,width=400]

Here is an inline image:https://upload.wikimedia.org/wikipedia/commons/3/35/Tux.svg[Linux,25,35]. This only works in AsciiDoc, not Markdown.

=== Media

==== YouTube

Normal

https://www.youtube.com/watch?v=KGIAS0cslSU

https://youtu.be/KGIAS0cslSU

video::KGIAS0cslSU[youtube]

Shorts

https://www.youtube.com/shorts/s-BQhXdCs8Y

video::s-BQhXdCs8Y[youtube]

==== Spotify

https://open.spotify.com/episode/1GSZFA8vWltPyxYkArdRKx

link:https://open.spotify.com/episode/1GSZFA8vWltPyxYkArdRKx[Spotify example]

==== Audio

https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3

audio::https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_rick_beato.mp3[Audio example]

==== Video

https://v.nostr.build/MTjaYib4upQuf8zn.mp4

video::https://v.nostr.build/MTjaYib4upQuf8zn.mp4[Video example]

== 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
|===

[grid=rows]
|===
|Column 1, header row |Column 2, header row |Column 3, header row

|Cell in column 1, row 2
|Cell in column 2, row 2
|Cell in column 3, row 2

|Cell in column 1, row 3
|Cell in column 2, row 3
|Cell in column 3, row 3
|===

[grid=cols]
|===
|Column 1, header row |Column 2, header row |Column 3, header row

|Cell in column 1, row 2
|Cell in column 2, row 2
|Cell in column 3, row 2

|Cell in column 1, row 3
|Cell in column 2, row 3
|Cell in column 3, row 3
|===

[grid=none]
|===
|Column 1, header row |Column 2, header row |Column 3, header row

|Cell in column 1, row 2
|Cell in column 2, row 2
|Cell in column 3, row 2

|Cell in column 1, row 3
|Cell in column 2, row 3
|Cell in column 3, row 3
|===

[width=75%]
|===
|Column 1, header row |Column 2, header row |Column 3, header row

|Cell in column 1, row 2
|Cell in column 2, row 2
|Cell in column 3, row 2

|Cell in column 1, row 3
|Cell in column 2, row 3
|Cell in column 3, row 3
|===

[%autowidth.stretch]
|===
|Column 1, header row |Column 2, header row |Column 3, header row

|Cell in column 1, row 2
|Cell in column 2, row 2
|Cell in column 3, row 2

|Cell in column 1, row 3
|Cell in column 2, row 3
|Cell in column 3, row 3
|===

[cols="5,3*"]
|===
|Column 1 |Column 2 |Column 3 |Column 4

|Cell in column 1
|Cell in column 2
|Cell in column 3
|Cell in column 4
|===

== Code blocks

This is inline code: `console.log("Hello, world!");` and these this is inline code, too: `console.log("Hello, world! This is a very long inline code that should not be split into multiple lines.");`

=== 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>"
}
----

=== shell

[source,shell]
----
mkdir new_directory
cp source.txt destination.txt

----

### Inline-code

`this is code` and `this is also code`

== 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

~~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.

=== Bold and italic Mixed

This is **bold and _italic_** text.
This is _italic and **bold**_ 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 single quote

'''

based upon a dashes

---

=== Quotes

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

[quote,Monty Python and the Holy Grail]
____
Dennis: Come and see the violence inherent in the system. Help! Help! I'm being repressed!

King Arthur: Bloody peasant!

Dennis: Oh, what a giveaway! Did you hear that? Did you hear that, eh? That's what I'm on about! Did you see him repressing me? You saw him, Didn't you?

> We should also support normal quotes.


____

=== Green-text

>This is green-text
>It differs from quotes because there is no space between the chevron and the first letter in the line.
>Should match greentext from 4chan.

=== Keyboard shortcuts

|===
|Shortcut |Purpose

|kbd:[F11]
|Toggle fullscreen

|kbd:[Ctrl+T]
|Open a new tab

|kbd:[Ctrl+Shift+N]
|New incognito window

|kbd:[\ ]
|Used to escape characters

|kbd:[Ctrl+\]]
|Jump to keyword

|kbd:[Ctrl + +]
|Increase zoom
|===

== Admonitions

[NOTE]
====
This is a note.
====

[WARNING]
====
This is a warning.
====

[TIP]
====
This is a tip.
====

[IMPORTANT]
====
This is an important message.
====

[CAUTION]
====
This is a caution.
====

WARNING: Wolpertingers are known to nest in server racks.
Enter at your own risk.

== Sidebars

[sidebar]
====
This is a sidebar.
====

[sidebar]
Sidebars are used to visually separate auxiliary bits of content
that supplement the main text.

.Optional Title
****
Sidebars are used to visually separate auxiliary bits of content
that supplement the main text.

TIP: They can contain any type of content.

.Source code block in a sidebar
[source,js]
----
const { expect, expectCalledWith, heredoc } = require('../test/test-utils')
----
****

== Examples

.Optional title
[example]
This is an example of an example block.

.Onomatopoeia
====
The book hit the floor with a *thud*.

He could hear doves *cooing* in the pine trees`' branches.
====

== Literal blocks

[literal]
error: 1954 Forbidden search
absolutely fatal: operation lost in the dodecahedron of doom
Would you like to try again? y/n

....
Kismet: Where is the *defensive operations manual*?

Computer: Calculating ...
Can not locate object.
You are not authorized to know it exists.

Kismet: Did the werewolves tell you to say that?

Computer: Calculating ...
....