github-orgmode-tests icon indicating copy to clipboard operation
github-orgmode-tests copied to clipboard

This is a test project where you can explore how github interprets Org-mode files

#+TAGS: { FAILS(f) PARTLY(p) WORKS(w) example(e)} #+EXPORT_EXCLUDE_TAGS: noexport

Note: a complete list of these features including keyboard shortcuts, links, and descriptions is available on https://github.com/novoid/github-orgmode-tests

This page demonstrates Org-mode features that are (or are not) supported by github which is using an (old) version of [[https://github.com/wallyqs/org-ruby][org-ruby]].

Last GitHub feature render check and last table update: <2020-10-15 Thu>

FIXXME 2020-10-15: Following line causes my Org to display column view mode instead of re-generating the filtered table:

:exclude-tags "example"

#+BEGIN: columnview :id "Featuretest" :match "WORKS|FAILS|PARTLY" :format "%ITEM(Feature) %TAGS(status)" | Feature | status | |-----------------------------------------------------------------------------------+------------------| | Text formatting | :WORKS: | | Text formatting within other syntax elements | :WORKS: | | Lists | :PARTLY: | | Headings with TODO items | :FAILS: | | Drawers | :FAILS: | | blocks ([[http://orgmode.org/org.html#Blocks][docu]]) | :PARTLY: | | EXAMPLE block | :WORKS: | | QUOTE block | :WORKS: | | VERSE block | :FAILS: | | SRC block | :WORKS: | | python | :WORKS: | | shell | :WORKS: | | ruby | :WORKS: | | ditaa | :WORKS: | | session with shell and R | :WORKS: | | QUOTE block | :WORKS: | | HTML block | :FAILS: | | LATEX block ([[http://orgmode.org/org.html#Embedded-LaTeX][docu]]) | :FAILS: | | NOTES block | :FAILS: | | comments ([[http://orgmode.org/manual/Comment-lines.html#Comment-lines][docu]]) | :WORKS: | | Noexport tag of heading | :WORKS:noexport: | | links [[http://orgmode.org/org.html#Hyperlinks][(docu)]] | :PARTLY: | | states; TODO items ([[http://orgmode.org/org.html#TODO-Items][docu]]) | :PARTLY: | | tags [[http://orgmode.org/org.html#Tags][(docu)]] | :FAILS: | | tables simple [[http://orgmode.org/org.html#Tables][(docu)]] | :PARTLY: | | tables complex ([[http://orgmode.org/org.html#The-spreadsheet][docu]], [[http://orgmode.org/worg/org-tutorials/org-spreadsheet-intro.html][tutorial]]) | :PARTLY: | | column view ([[http://orgmode.org/org.html#Column-view][docu]]) | :FAILS: | | dates & time ([[http://orgmode.org/org.html#Dates-and-Times][docu]]) | :WORKS: | | clocking time ([[http://orgmode.org/org.html#Clocking-work-time][docu]]) | :PARTLY: | #+END:

  • Featuretest :PROPERTIES: :ID: Featuretest :END: ** Text formatting :WORKS:
  • bold
  • /italic/
  • underline
  • +strike through+
  • =code=
  • ~commands~
  • http://orgmode.org

: small example

** Text formatting within other syntax elements :WORKS: :PROPERTIES: :CREATED: [2020-12-21 Mon 12:13] :END:

Within links:

[[http://orgmode.org][This is an /example/ of some syntax +highlighting+ within =links= and ~such~.]]

[[https://gnu.org][~gnu~]]

Table:

Example
http://orgmode.org
[[http://orgmode.org][Org mode]]
This is an /example/ of some syntax +highlighting+ within =links= and ~such~.

Lists:

  • Example
    • This is an /example/ of some syntax +highlighting+ within =links= and ~such~.

Headings:

*** This is an /example/ of some syntax +highlighting+ within =links= and ~such~.

** Lists :PARTLY:

  • MISSING:
    • Checkbox rendering/alignment
    • Reusing same enumerate bullet symbols (dash, numbers, ...)

simple list:

  • Org mode
  • Lists
  • [ ] unchecked checkbox
  • [X] checked checkbox
  • [-] undecided checkbox (=C-u C-u C-c C-c=)

enumerate:

  1. Emacs
  2. Org-mode
  3. Lists

mixed with checkboxes:

  • Clean out garage
    1. [ ] get stuff out
      • [ ] be careful with that axe, Eugene
    2. [X] get rid of old stuff
      • using eBay?
      • try to use rubbish as birthday presents for family
    3. [ ] repaint garage
    4. [X] put stuff back in

** Headings with TODO items :FAILS:

  • MISSING
    • display of TODO keywords

*** TODO Clean out garage [0/4]

**** TODO get stuff out

  • be careful with that axe, Eugene

**** TODO get rid of old stuff

  • using eBay?
  • try to use rubbish as birthday presents for family

**** TODO repaint garage

**** TODO put stuff back in

** Drawers :FAILS:

  • MISSING:
    • rendering of drawers

*** NEXT Test with category property :mytag: :PROPERTIES: :CATEGORY: mycategory :END:

** blocks ([[http://orgmode.org/org.html#Blocks][docu]]) :PARTLY: :PROPERTIES: :CREATED: [2020-10-15 Thu 11:18] :END:

  • including babel ([[http://orgmode.org/org.html#Library-of-Babel][docu]])

*** EXAMPLE block :WORKS:

#+BEGIN_EXAMPLE An example in an EXAMPLE block. Second line within this block.

This is an /example/ of some syntax +highlighting+ within =links= and ~such~. #+END_EXAMPLE

*** QUOTE block :WORKS: :PROPERTIES: :CREATED: [2020-10-15 Thu 11:51] :END:

Will be wrapped:

#+BEGIN_QUOTE An example in an QUOTE block. Second line within this block.

This is an /example/ of some syntax +highlighting+ within =links= and ~such~. #+END_QUOTE

*** VERSE block :FAILS: :PROPERTIES: :CREATED: [2020-10-15 Thu 11:52] :END:

  • MISSING:
    • rendering of the block

#+BEGIN_VERSE An example in an VERSE block. Second line within this block.

This is an /example/ of some syntax +highlighting+ within =links= and ~such~. #+END_VERSE

*** SRC block :WORKS: :PROPERTIES: :CREATED: [2020-10-15 Thu 11:52] :END:

**** python :WORKS: :PROPERTIES: :CREATED: [2020-10-15 Thu 12:02] :END:

#+BEGIN_SRC python def my_test(myvar: str = 'foo bar'): """ This is an example function.

  @type  myvar: str = 'foo bar': number
  @param myvar: str = 'foo bar': FIXXME
  """

  mynewvar: str = myvar + ' additional content'
  return mynewvar

print("Hello " + my_text('Europe!')) #+END_SRC

#+BEGIN_SRC emacs-lisp (message (concat "Hello" "Europe!")) ;; inline comment #+END_SRC

  • some examples are taken from [[http://orgmode.org/worg/org-contrib/babel/intro.html][Worg: Introduction to Babel]]

**** shell :WORKS: :PROPERTIES: :CREATED: [2020-10-15 Thu 11:59] :END:

#+BEGIN_SRC sh echo "Hello Europe!" FOO="foo bar" echo "A test with ${FOO}" pwd #+END_SRC

**** ruby :WORKS: :PROPERTIES: :CREATED: [2020-10-15 Thu 11:59] :END:

#+begin_src ruby require 'date' "This file was last evaluated on #{Date.today}" #+end_src

**** ditaa :WORKS: :PROPERTIES: :CREATED: [2020-10-15 Thu 11:59] :END:

#+begin_src ditaa :file blue.png :cmdline -r +---------+ | cBLU | | | | +----+ | |cPNK| | | | +----+----+ #+end_src

**** session with shell and R :WORKS: :PROPERTIES: :CREATED: [2020-10-15 Thu 11:59] :END:

#+name: directories #+begin_src sh :results replace cd ~/archive/events_memories && du -sc * |grep -v total #+end_src

Using result set "directories" from above as "dirs" in R below:

#+name: directory-pie-chart(dirs = directories) #+begin_src R :session R-pie-example :file ./dirs.png pie(dirs[,1], labels = dirs[,2]) #+end_src

*** QUOTE block :WORKS: :PROPERTIES: :CREATED: [2020-10-15 Thu 11:52] :END:

Will be wrapped:

#+BEGIN_QUOTE An example in an QUOTE block. Second line within this block.

This is an /example/ of some syntax +highlighting+ within =links= and ~such~. #+END_QUOTE

*** HTML block :FAILS: :PROPERTIES: :CREATED: [2020-10-15 Thu 11:52] :END:

  • MISSING:
    • rendering of the block

#+BEGIN_HTML

This is a paragraph with a link within.

#+END_HTML

*** LATEX block ([[http://orgmode.org/org.html#Embedded-LaTeX][docu]]) :FAILS: :PROPERTIES: :CREATED: [2020-10-15 Thu 11:53] :END:

  • MISSING:

    • rendering of the block
    • some special characters
  • Greek characters

    • Working outside of block: \alpha \beta \phi
    • not working: \LaTeX{} $\varphi$

#+BEGIN_LATEX \section{Section Title}

This is \emph{emphasized} and $y=x^2$ is an equation.

An example in an LATEX block. Another line within this block.

\alpha $x=42y$

Greek characters \alpha \beta \phi \LaTeX{} $\varphi$ #+END_LATEX

*** NOTES block :FAILS: :PROPERTIES: :CREATED: [2020-10-15 Thu 11:53] :END:

  • MISSING:
    • rendering of the block

Notes blocks are not standard Org mode. However, =org-reveal= is using it for handout notes so I would like to include it here.

#+BEGIN_NOTES An example in an NOTES block. Second line within this block.

This is an /example/ of some syntax +highlighting+ within =links= and ~such~. #+END_NOTES

** comments ([[http://orgmode.org/manual/Comment-lines.html#Comment-lines][docu]]) :WORKS:

Comment lines:

space hash space:

This is a comment

space space hash space:

This is a comment


Comment block:

#+BEGIN_COMMENT This is a multi line comment block. This is the second line.

This is the second paragraph.

This is an /example/ of some syntax +highlighting+ within =links= and ~such~. #+END_COMMENT

** Noexport tag of heading :WORKS:noexport:

The document needs to explicitly set the tag used for no export, as is done at the top of this document (it's set to ~noexport~).

Tagging a heading with the tag hides the section when opening the on the site.

This whole heading is omitted from being rendered on GitHub.

** links [[http://orgmode.org/org.html#Hyperlinks][(docu)]] :PARTLY:

  • MISSING:
    • =<>=
    • following =id:= links
    • custom links
      • without your Emacs config, those links are impossible to follow
      • rendering somehow would be fine
    • footnotes

todo: target : # <>

  • id:myexampleid

  • [[file:~/.zshrc.local]]

  • http://orgmode.org

    • [[http://orgmode.org/org.html#External-links][docu: list of external links]]
  • custom links: [[contact:John%20Smith][contact:John Smith]]

    • [[http://orgmode.org/org.html#Link-abbreviations][docu: link abbrevations]]
  • footnotes ([[http://orgmode.org/org.html#Footnotes][docu]])

    • plain [fn::great content here]
    • with own label [fn:mylabel:great content here]
    • reference [fn:myotherlabel] [fn:2]

[fn:myotherlabel] This is a footnote from reference above. [fn:2] This is a footnote with a simple number as label.

Footnotes aren't working

*** heading with PROPERTIES drawer containing ID :PROPERTIES: :ID: myexampleid :END: Should have =#myexampleid= anchor, doesn't work as of =2021-04-11=

*** eading with PROPERTIES drawer containing CUSTOM_ID :PROPERTIES: :CUSTOM_ID: myexamplecustomid :END: Should have =#myexamplecustomid= anchor, doesn't work as of =2021-04-11=

** states; TODO items ([[http://orgmode.org/org.html#TODO-Items][docu]]) :PARTLY:

  • MISSING:
    • todo keywords
    • dependencies from within drawers

*** making dependencies explicit

**** example with chain siblings

***** NEXT buy bike :PROPERTIES: :TRIGGER: chain-siblings(NEXT) :END:

***** take tour

***** goto hospital

*** priorities ([[http://orgmode.org/org.html#Priorities][docu]])

**** TODO [#A] example **** NEXT [#B] example

*** breaking down in subtasks ([[http://orgmode.org/org.html#Breaking-down-tasks][docu]])

**** TODO example [1/3] [33%] ***** DONE subtask 1 ***** TODO subtask 2 ***** TODO subtask 3 ** tags [[http://orgmode.org/org.html#Tags][(docu)]] :FAILS:

  • MISSING:
    • rendering tags

*** example :tag:

** tables simple [[http://orgmode.org/org.html#Tables][(docu)]] :PARTLY:

  • MISSING:
    • number alignment

| Heading1 | head2 | |------------+---------| | entry | 42 | | foo | 21.7 | |------------+---------| | end | 99.99 |

** tables complex ([[http://orgmode.org/org.html#The-spreadsheet][docu]], [[http://orgmode.org/worg/org-tutorials/org-spreadsheet-intro.html][tutorial]]) :PARTLY:

  • MISSING:
    • Tables are concatenated unfortunately and alignment fails.

#+TBLNAME: mydemo-USD-EUR-rate | US-Dollar | EUR | | 1 | 0.76481836 |

| When | What | USD | EUR | |------------+------------------------+-------+-------| | 2012-02-03 | Taxi Graz-Airport | | 18.00 | | 2012-02-03 | Taxi Seattle Airport | 25.00 | 19.12 | | 2012-02-13 | Taxi | 7.00 | 5.35 | | 2012-02-14 | Taxi | 8.00 | 6.12 | | 2012-02-17 | Taxi to Airport SeaTac | 35.00 | 26.77 | | 2012-02-22 | Taxi Airport-Graz | | 16.00 | |------------+------------------------+-------+-------| | | | | 91.36 | #+TBLFM: @>$4=vsum(@I$4..@II$4);%.2f::@3$4=@3$3remote(mydemo-USD-EUR-rate,@2$2);%.2f::@4$4=@4$3remote(mydemo-USD-EUR-rate,@2$2);%.2f::@5$4=@5$3remote(mydemo-USD-EUR-rate,@2$2);%.2f::@6$4=@6$3remote(mydemo-USD-EUR-rate,@2$2);%.2f

** column view ([[http://orgmode.org/org.html#Column-view][docu]]) :FAILS: :PROPERTIES: :COLUMNS: %25ITEM %TAGS %PRIORITY %TODO %10MyProperties :MyProperties_ALL: "Thomas" "Maria" "Susan" "Joe" :END:

  • MISSING:
    • no support for those things

*** example sub-item :mytag1: :PROPERTIES: :MyProperties: Susan :END:

*** NEXT [#B] another example :mytag2: :PROPERTIES: :MyProperties: Thomas :END:

** dates & time ([[http://orgmode.org/org.html#Dates-and-Times][docu]]) :WORKS:

  • ~C-c .~ insert active <2012-04-23 Mon> (with ~C-u~: <2012-04-23 Mon 19:14>)
  • ~C-c !~ insert inactive [2012-04-23 Mon] (with ~C-u~: [2012-04-23 Mon 19:14])

** clocking time ([[http://orgmode.org/org.html#Clocking-work-time][docu]]) :PARTLY:

  • MISSING:
    • drawer information

*** example sub-hierarchy with report

#+BEGIN: clocktable :maxlevel 2 :scope subtree Clock summary at [2012-11-19 Mon 11:17]

| Headline | Time | |--------------+---------| | Total time | 27:16 | |--------------+---------| #+END:

**** example item :LOGBOOK: CLOCK: [2012-11-19 Mon 11:16]--[2012-11-19 Mon 11:17] => 0:01 CLOCK: [2012-11-18 Sun 19:15]--[2012-11-18 Sun 19:23] => 0:08 :END:

**** another item :LOGBOOK: CLOCK: [2012-11-18 Sun 19:26]--[2012-11-18 Sun 19:33] => 0:07 CLOCK: [2012-11-17 Sat 16:25]--[2012-11-18 Sun 19:25] => 27:00 :END:

  • MISC Ad-Hoc Testing

This sub-hierarchy is here to test specific stuff.

You can ignore everything starting from here.

** Headings

** heading with properties :PROPERTIES: :CREATED: <2011-10-09 Sun 15:16> :END:

** tables

| head1 | head2 | head3 | |-----------------------+---------+---------| | text | 42 | ----- | | [email protected] | 23 | :-) | |-----------------------+---------+---------| | | 65 | | #+TBLFM: @>$2 = vsum(@I$2..@II$2)

** links

  • direct URL: http://tagstore.org
  • [[http://tagstore.org][indirect URL]]
  • direct email: [email protected]
  • [[[email protected]][indirect email]]
  • [[file:README.org][file link]] should link to README.org
  • [[#links][file + heading link]] should link to #links in the same file (but the link is recognized in Emacs). If the heading is multiple words, attach them with '-'.

** examples

verse: #+begin_verse This is an example. Second line. Very long line with many characters showing the wordwrap feature or the not existing word wrap feature #+end_verse

quote: #+begin_quote This is an example. Second line. Very long line with many characters showing the wordwrap feature or the not existing word wrap feature #+end_quote

only colon: : This is an example. : Second line. : Very long line with many characters showing the wordwrap feature or the not existing word wrap feature

non-specific source: #+begin_src This is an example. Second line. Very long line with many characters showing the wordwrap feature or the not existing word wrap feature #+end_src

python source: #+begin_src python if VALUE and dummy < 42: execute_something("Dummy text", 23) #+end_src

** Underscores_like_this

  • me_low
  • 2_8
  • ~*.org_archive~
  • ~*.org_archive~
  • *.org_archive

** Orgmode examples

Das hier ist eine Erklärung von dem Ganzen:

:conf: ;; this is ELISP code :conf: (foo (bar))

Und in der Org-mode-Datei wird das dann so angewendet:

:org: :PROPERTIES: :org: :ID: this-is-an-example :org: :END: