go-org-orgwiki/org/testdata/example.org
Niklas Fasching 213da0beff Fix list parsing & ensure line breaks inside lists are handled correctly
- Break list when kind of bullet changes
- Ensure we render multiline list items correctly
2018-12-03 19:30:21 +01:00

185 lines
5.3 KiB
Org Mode

#+TITLE: Example org mode file
#+AUTHOR: Niklas Fasching
#+DESCRIPTION: just some random elements with little explanation
* Motivation
To validate the parser we'll try printing the AST back to org-mode source - if that
works we can be kind of sure that the parsing worked.
At least I hope so - I would like to get around writing tests for the individual parsing
functions...
** Paragraphs
Empty lines separate paragraphs.
Right?
They do!
** Headlines with TODO status, priority & tags
*** TODO [#B] Headline with todo status & priority
*** DONE Headline with TODO status
*** [#A] Headline with tags & priority :foo:bar:
this one is cheating a little as tags are ALWAYS printed right aligned to a given column number...
** Lists
- unordered list item 1
- unordered list item 2 - with ~inline~ /markup/
1. ordered sublist item 1
a) ordered sublist item 1
b) ordered sublist item 2
c) ordered sublist item 3
2. ordered sublist item 2
- unordered list item 3 - and a [[https://example.com][link]]
and some lines of text
1. and another subitem
#+BEGIN_SRC sh
echo with a block
#+END_SRC
2. and another one with a table
| a | b | c |
|---+---+---|
| 1 | 2 | 3 |
and text with an empty line in between as well!
- unordered list item 4
** Inline
- /emphasis/ and a hard line break \\
see?
- /.emphasis with dot border chars./
- /emphasis with a slash/inside/
- /emphasis/ followed by raw text with slash /
- ->/not an emphasis/<-
- links with slashes do not become /emphasis/: [[https://somelinkshouldntrenderaccidentalemphasis.com]]/ /emphasis/
- _underlined_ *bold* =verbatim= ~code~ +strikethrough+
- *bold string with an *asterisk inside*
- links
1. regular link [[https://example.com]] link without description
2. regular link [[https://example.com][example.com]] link with description
3. regular link to a file (image) [[file:my-img.png]]
4. regular link to a file (video) [[my-video.mp4]]
5. regular link to http (image) [[http://www.example.com/my-img.png]]
6. regular link to https (image) [[https://www.example.com/my-img.png]]
7. auto link, i.e. not inside =\[[square brackets]\]= https://www.example.com
** Captions
Anything can be captioned. Also captions are not real, correct captions but just a paragraph below the element (bothe wrapped into a div)
#+CAPTION: captioned soure block
#+BEGIN_SRC sh
echo "i have a caption!"
#+END_SRC
#+CAPTION: captioned link (video in this case)
[[my-video.mp4]]
note that only that one line is captioned, not the whole paragraph
#+CAPTION: not happening!
also, normal text lines can't be captioned
** blocks
#+CAPTION: bleck!
#+BEGIN_SRC bash
echo a bash source block
#+END_SRC
#+BEGIN_SRC
a source block without a language
and a second line
and a third one
#+END_SRC
#+BEGIN_EXAMPLE foo bar baz
an example block
with multiple lines
#+END_EXAMPLE
#+BEGIN_QUOTE
Mongodb is very webscale
and quote blocks can contain multiple paragraphs
#+END_QUOTE
** issues from goorgeous (free test cases, yay!)
*** DONE [[https://github.com/chaseadamsio/goorgeous/issues/29][#29:]] Support verse block
#+BEGIN_VERSE
This
*is*
verse
#+END_VERSE
#+BEGIN_CUSTOM
or even a *totally* /custom/ kind of block
crazy ain't it?
#+END_CUSTOM
*** DONE [[https://github.com/chaseadamsio/goorgeous/issues/47][#47:]] Consecutive ~code~ wrapped text gets joined
either ~this~ or ~that~ foo.
either ~this~
or ~that~ foo.
*** DONE [[https://github.com/chaseadamsio/goorgeous/issues/50][#50]]: Linebreaks in lists are preserved
- this list item
has
multiple
linbreaks - but it's still just one paragraph (i.e. no line breaks are rendered)
- foobar
1. same
goes
for
ordered
lists
2. foo
*** DONE [[https://github.com/chaseadamsio/goorgeous/issues/68][#68]]: Quote block with inline markup
#+BEGIN_QUOTE
[[https://www.example.com][/this/ *is* _markup_!]]
#+END_QUOTE
*** DONE [[https://github.com/chaseadamsio/goorgeous/issues/77][#77]]: Recognize =code=--- as code plus dash
*** DONE [[https://github.com/chaseadamsio/goorgeous/issues/75][#75]]: Not parsing nested lists correctly
- bullet 1
- sub bullet
*** DONE [[https://github.com/chaseadamsio/goorgeous/issues/78][#78]]: Emphasis at beginning of line
/italics/
Text
/italics/
*** DONE [[https://github.com/chaseadamsio/goorgeous/issues/82][#82]]: Crash on empty headline
****
just a space as title...
*** DONE [[https://github.com/chaseadamsio/goorgeous/issues/84][#84]]: Paragraphs that are not followed by an empty line are not parsed correctly
**** Foo
Foo paragraph.
**** Bar
Bar paragraph
** Footnotes
- normal footnote reference [fn:1] [fn:6]
- further references to the same footnote should not [fn:1] render duplicates in the footnote list
- inline footnotes are also supported via [fn:2:the inline footnote definition].
* Footnotes
[fn:1] https://www.example.com
- footnotes can contain *markup*
- and other elements
- like blocks
#+BEGIN_SRC
other non-plain
#+END_SRC
- and tables
| 1 | a |
| 2 | b |
| 3 | c |
[fn:3] [[http://example.com/unused-footnote][example.com/unused-footnote]]
[fn:4] another unused footnote
[fn:5] another unused footnote
[fn:6]
Footnotes break after two consecutive empty lines - just like paragraphs - see https://orgmode.org/worg/dev/org-syntax.html.
This shouldn't happen when the definition line and the line after that are empty.