// Some definitions presupposed by pandoc's typst output. #let blockquote(body) = [ #set text( size: 0.92em ) #block(inset: (left: 1.5em, top: 0.2em, bottom: 0.2em))[#body] ] #let horizontalrule = [ #line(start: (25%,0%), end: (75%,0%)) ] #let endnote(num, contents) = [ #stack(dir: ltr, spacing: 3pt, super[#num], contents) ] #show terms: it => { it.children .map(child => [ #strong[#child.term] #block(inset: (left: 1.5em, top: -0.4em))[#child.description] ]) .join() } #let conf( title: none, authors: none, date: none, abstract: none, cols: 1, margin: (x: 1.25in, y: 1.25in), paper: "us-letter", lang: "en", region: "US", font: (), fontsize: 11pt, sectionnumbering: none, doc, ) = { set page( paper: paper, margin: margin, numbering: "1", ) set par(justify: true) set text(lang: lang, region: region, font: font, size: fontsize) set heading(numbering: sectionnumbering) if title != none { align(center)[#block(inset: 2em)[ #text(weight: "bold", size: 1.5em)[#title] ]] } if authors != none { let count = authors.len() let ncols = calc.min(count, 3) grid( columns: (1fr,) * ncols, row-gutter: 1.5em, ..authors.map(author => align(center)[ #author.name \ #author.affiliation \ #author.email ] ) ) } if date != none { align(center)[#block(inset: 1em)[ #date ]] } if abstract != none { block(inset: 2em)[ #text(weight: "semibold")[Abstract] #h(1em) #abstract ] } if cols == 1 { doc } else { columns(cols, doc) } } #show: doc => conf( title: [Pandoc Test Suite], authors: ( ( name: [John MacFarlane], affiliation: [], email: [] ), ( name: [Anonymous], affiliation: [], email: [] ), ), date: [July 17, 2006], cols: 1, doc, ) This is a set of tests for pandoc. Most of them are adapted from John Gruber’s markdown test suite. #horizontalrule = Headers #label("headers") == Level 2 with an #link("/url")[embedded link] #label("level-2-with-an-embedded-link") === Level 3 with #emph[emphasis] #label("level-3-with-emphasis") ==== Level 4 #label("level-4") ===== Level 5 #label("level-5") = Level 1 #label("level-1") == Level 2 with #emph[emphasis] #label("level-2-with-emphasis") === Level 3 #label("level-3") with no blank line == Level 2 #label("level-2") with no blank line #horizontalrule = Paragraphs #label("paragraphs") Here’s a regular paragraph. In Markdown 1.0.0 and earlier. Version 8. This line turns into a list item. Because a hard-wrapped line in the middle of a paragraph looked like a list item. Here’s one with a bullet. \* criminey. There should be a hard line break \ here. #horizontalrule = Block Quotes #label("block-quotes") E-mail style: #blockquote[ This is a block quote. It is pretty short. ] #blockquote[ Code in a block quote: ``` sub status { print "working"; } ``` A list: + item one + item two Nested block quotes: #blockquote[ nested ] #blockquote[ nested ] ] This should not be a block quote: 2 \> 1. And a following paragraph. #horizontalrule = Code Blocks #label("code-blocks") Code: ``` ---- (should be four hyphens) sub status { print "working"; } this code block is indented by one tab ``` And: ``` this code block is indented by two tabs These should not be escaped: \$ \\ \> \[ \{ ``` #horizontalrule = Lists #label("lists") == Unordered #label("unordered") Asterisks tight: - asterisk 1 - asterisk 2 - asterisk 3 Asterisks loose: - asterisk 1 - asterisk 2 - asterisk 3 Pluses tight: - Plus 1 - Plus 2 - Plus 3 Pluses loose: - Plus 1 - Plus 2 - Plus 3 Minuses tight: - Minus 1 - Minus 2 - Minus 3 Minuses loose: - Minus 1 - Minus 2 - Minus 3 == Ordered #label("ordered") Tight: + First + Second + Third and: + One + Two + Three Loose using tabs: + First + Second + Third and using spaces: + One + Two + Three Multiple paragraphs: + Item 1, graf one. Item 1. graf two. The quick brown fox jumped over the lazy dog’s back. + Item 2. + Item 3. == Nested #label("nested") - Tab - Tab - Tab Here’s another: + First + Second: - Fee - Fie - Foe + Third Same thing but with paragraphs: + First + Second: - Fee - Fie - Foe + Third == Tabs and spaces #label("tabs-and-spaces") - this is a list item indented with tabs - this is a list item indented with spaces - this is an example list item indented with tabs - this is an example list item indented with spaces == Fancy list markers #label("fancy-list-markers") #block[ #set enum(numbering: "(1)", start: 2) + begins with 2 + and now 3 with a continuation #block[ #set enum(numbering: "i.", start: 4) + sublist with roman numerals, starting with 4 + more items #block[ #set enum(numbering: "(A)", start: 1) + a subsublist + a subsublist ] ] ] Nesting: #block[ #set enum(numbering: "A.", start: 1) + Upper Alpha #block[ #set enum(numbering: "I.", start: 1) + Upper Roman. #block[ #set enum(numbering: "(1)", start: 6) + Decimal start with 6 #block[ #set enum(numbering: "a)", start: 3) + Lower alpha with paren ] ] ] ] Autonumbering: + Autonumber. + More. + Nested. Should not be a list item: M.A. 2007 B. Williams #horizontalrule = Definition Lists #label("definition-lists") Tight using spaces: / apple: #block[ red fruit ] / orange: #block[ orange fruit ] / banana: #block[ yellow fruit ] Tight using tabs: / apple: #block[ red fruit ] / orange: #block[ orange fruit ] / banana: #block[ yellow fruit ] Loose: / apple: #block[ red fruit ] / orange: #block[ orange fruit ] / banana: #block[ yellow fruit ] Multiple blocks with italics: / #emph[apple]: #block[ red fruit contains seeds, crisp, pleasant to taste ] / #emph[orange]: #block[ orange fruit ``` { orange code block } ``` #blockquote[ orange block quote ] ] Multiple definitions, tight: / apple: #block[ red fruit computer ] / orange: #block[ orange fruit bank ] Multiple definitions, loose: / apple: #block[ red fruit computer ] / orange: #block[ orange fruit bank ] Blank line after term, indented marker, alternate markers: / apple: #block[ red fruit computer ] / orange: #block[ orange fruit + sublist + sublist ] = HTML Blocks #label("html-blocks") Simple block on one line: foo And nested without indentation: foo bar Interpreted markdown in a table: This is #emph[emphasized] And this is #strong[strong] Here’s a simple block: foo This should be a code block, though: ```
}
```
If you want, you can indent every line, but you can also be lazy and just indent
the first line of each block.
])
#endnote([3], [This is #emph[easier] to type. Inline notes may contain
#link("http://google.com")[links] and `]` verbatim characters, as well as
\[bracketed text\].
])
#endnote([4], [In quote.
])
#endnote([5], [In list.
])
]