From b16e0852400594915f1e4fde68b96c0ee98f4910 Mon Sep 17 00:00:00 2001 From: kilroy <> Date: Fri, 28 Nov 2025 19:38:38 -0500 Subject: [PATCH] Basic Markdown document to do testing with --- tests/gfx/tux.webp | Bin 0 -> 46470 bytes tests/markdown_specification.md | 331 ++++++++++++++++++++++++++++++++ 2 files changed, 331 insertions(+) create mode 100644 tests/gfx/tux.webp create mode 100644 tests/markdown_specification.md diff --git a/tests/gfx/tux.webp b/tests/gfx/tux.webp new file mode 100644 index 0000000000000000000000000000000000000000..1e0d497ae57a089af29fa3b055da91334e7d5a1c GIT binary patch literal 46470 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 literal 0 HcmV?d00001 diff --git a/tests/markdown_specification.md b/tests/markdown_specification.md new file mode 100644 index 0000000..c2b7cc0 --- /dev/null +++ b/tests/markdown_specification.md @@ -0,0 +1,331 @@ +# Heading 1 + +## Heading 2 + +### Heading 3 + +#### Heading 4 + +##### Heading 5 + +###### Heading 6 + +Horizontal rule below me + +--- + +Horizontal rule above me + +# Heading 1 No Space +## Heading 2 No Space +### Heading 3 No Space +#### Heading 4 No Space +##### Heading 5 No Space +###### Heading 6 No Space + +--- + +Heading 1 with two or more equal signs +=== + +Heading 2 with two or more dashes +--- + +--- + +Paragraph 1. + +Paragraph 2 +with many line +breaks that will +automatically be +turned into +one +long +line. + +Paragraph 3; one literal long line. + +--- + +Paragraph 4 with rendered +line breaks (two spaces +after the end of a +line) + +Paragraph 5 with HTML
+line breaks in \ tags
+...yeah... + +--- + +**Bold** is made with two asterisks (\*\*I'm emboldened\*\*). + +*Italics* is made with one asterisk (\*I'm in italics\*). + +__Bold__ and _italics_ can also be done with underscores. + +Underscores will *not* work in these instances:
+Love__is__bold (It should look like "Loveisbold", not "Loveisbold")
+A_cat_meow (It should look like "Acatmeow", not "Acatmeow") + +Bold *and* italic text can be made with one emboldening pair of characters +and one italicizing pair of characters. + +I say ***Hello world!*** (three asterisks \*\*\*)
+I say ___Hello world!___ (three underscores \_\_\_)
+I say _**Hello world!**_ (one underscore; two asterisks \_\*\*)
+I say **_Hello world!_** (two asterisks; one underscore \*\*\_)
+I say __*Hello world!*__ (two underscores; one asterisk \_\_\*)
+I say *__Hello world!__* (one asterisk; two underscores \*\_\_) + +Again, there cannot be underscores in the middle of a word. + +--- + +> I'm a blockquote + +> I'm a blockquote... +> +> ...with many paragraphs. + +> I'm a blockquote... +> +>> So am I! But within another one. + +> I'm a blockquote +> +> #### With a heading +> +> - And a +> - list... +> +> Along with some *more* formatting! +> **Very cool**. + +--- + +1. I'm +2. An +3. Ordered +4. List + +1. I am also an ordered list. +1. But I should still be the same output as the above list. +1. Yeah. + +1. Same +8. Thing +4. Here +6. BTW + +1. I'm an ordered list. +2. Here are some indents. + 1. Wow + 2. Very nice +3. Third Item +4. Fourth... + 1. Indented item + +1) Some may use parentheses +2) Like me. + +--- + +- I'm an unordered list +- 2 +- 3 +- 4 + +* I'm also an unordered list +* But with asterisks +* Very... +* nice... + ++ Again, I'm an unordered list ++ With plus signs! + +- And here are some indents. +- Second Item +- Third Item + - Indented 1 + - Indented 2 +- Fourth Item + +To start unordered lists with numbers followed by a period, do this: +- 1969\. What a great year for science! +- Beat that, USSR! + +Mixing unordered list signs is bad. +But, I think it should still be allowed, but with a warning in the parser. ++ First (+) +- Second (-) +* Third (*) ++ Fourth (+) + +Now onto adding elements in lists. + +To "interrupt" a list with some element, then "continue" the list again, do this: +* First +* Second. Let's interrupt: + + There is an empty (or at least, a newline with some whitespace) line above and below me. I am also indented by four spaces or one tab. + +* Third. I continue! + +Same with blockquotes: +* First +* Second + + > Blockquote + +* Third + +Adding codeblocks in lists. +Indent by 8 spaces or two tabs, because the first indent is for adding the +element, and the second is for making the code block. +1. Step 1 +2. Step 2 + + + + hello world + + +3. Step 3 + +Images +1. Blah +2. Blah blah + + ![TUX!!!](gfx/tux.webp) + +3. Wow that was Tux! + +You can nest lists within lists. +1. First +2. Second +3. Third + - Unordered + - Wow. +4. Fourth + +- Unordered +- Un +- Or + 1. First + 2. Second +- Dered + +--- + +Code! + +Enclose in \`backticks\`: + +Type `vim` to open one of the best editors ever. + +To escape backticks, do this:
+\`\`Okay we're escaping this: \`vim\`. Wow that was easy.\`\`
+Which looks like:
+Okay we're escaping this: `vim`. Wow that was easy. + +Code blocks: +Two ways... + +Indent by 4 spaces or one tab:
+ int main() + { + printf("wow\n"); + return 0; + } + +Or, my personal favorite, use three backticks:
+``` +int main() +{ + printf("wow\n"); + return 0; +} +``` + +Then to enable highlighting for a language: + +> \`\`\`python +> `...Python code here...` +> \`\`\` + +```python +print("hello world!") +``` + +```c +#include +int main() +{ + printf("hello world!\n"); + return 0; +} +``` + +--- + +Links: + +\[Alias; like the alt attribute in \ tags\]\(www.actual-link.com\) + +I like [Duck Duck Go](https://duckduckgo.com) + +To add a title that shows when you hover your cursor over the link, add a string after the link + +\[Alias; like the alt attribute in \ tags\]\(www.actual-link.com "I'm a title"\) + +I like [Duck Duck Go](https://duckduckgo.com "The best search engine for privacy") + +URLs & Emails: + +\ + + + + +And you can use formatting within the links: + +``` +I love supporting the **[EFF](https://eff.org)**. +This is the *[Markdown Guide](https://www.markdownguide.org)*. +See the section on [`code`](#code). +``` + +I love supporting the **[EFF](https://eff.org)**. +This is the *[Markdown Guide](https://www.markdownguide.org)*. +See the section on [`code`](#code). + +--- + +Reference style links: + +First part: + +[hobbit-hole][1] + +Second part (in multiple formats): + +``` +[1]: https://en.wikipedia.org/wiki/Hobbit#Lifestyle +[1]: https://en.wikipedia.org/wiki/Hobbit#Lifestyle "Hobbit lifestyles" +[1]: https://en.wikipedia.org/wiki/Hobbit#Lifestyle 'Hobbit lifestyles' +[1]: https://en.wikipedia.org/wiki/Hobbit#Lifestyle (Hobbit lifestyles) +[1]: "Hobbit lifestyles" +[1]: 'Hobbit lifestyles' +[1]: (Hobbit lifestyles) +``` + +And so: + +I live in a [hobbit-hole][1]. It's very nice. + +You should read [Tolkien][2]! + +[1]: https://en.wikipedia.org/wiki/Hobbit#Lifestyle "Hobbit lifestyles" +[2]: https://en.wikipedia.org/wiki/J._R._R._Tolkien