Misc title with an inline html export

issues from goorgeous (free test cases, yay!)

DONE #19: Support #+HTML

neato!

DONE #29: Support verse block

This is verse

or even a totally custom kind of block crazy ain't it?

DONE #30: Support #+SETUPFILE

see ./headlines.org

DONE #31: Support #+INCLUDE

Note that only src/example/export block inclusion is supported for now. There's quite a lot more to include (see the org manual for include files) but I don't have a use case for this yet and stuff like namespacing footnotes of included files adds quite a bit of complexity.

for now files can be included as:

  • src block

    #+SETUPFILE: setup_file_org
    #+OPTIONS: toc:1
    * Simple Headline [1/2]
    - [X] checked
    - [ ] unchecked
    - note that statistic tokens are marked up anywhere
      not just where they are actually meant to be - even here > [100%] <
      (Org mode proper does the same)
    * TODO [#B] Headline with todo status & priority
    * DONE Headline with TODO status
    :PROPERTIES:
    :custom_id: this-will-be-the-id-of-the-headline
    :note: property drawers are not exported as html like other drawers
    :END:
    
    we can link to headlines that define a custom_id: [[#this-will-be-the-id-of-the-headline]]
    * [#A] Headline with tags & priority                                :foo:bar:
    Still outside the drawer
    :DRAWERNAME:
    This is inside the drawer
    :end:
    Still outside the drawer
    * CUSTOM headline with custom status
    it's possible to use =#+SETUPFILE= - in this case the setup file contains the following
    
    #+INCLUDE: "setup_file_org" src org
    * excluded headline                                                :custom_noexport:
    this headline and it's content are not exported as it is marked with an =EXCLUDE_TAGS= tag.
    By default =EXCLUDE_TAGS= is just =:noexport:=.
    
    * TODO [#A] COMMENT commented headline
    this headline is commented out. see [[https://orgmode.org/manual/Comment-Lines.html][comment lines]]
    * malformed property drawer
    :PROPERTIES:
    not a property
    :END:
    * level limit for headlines to be included in the table of contents
    The toc option allows setting a [[https://orgmode.org/manual/Export-settings.html][level limit]]. For this file we set it to 1 - which means that the following headlines
    won't be included in the table of contents.
    ** headline 2 not in toc
    *** headline 3 not in toc
    ** anoter headline 2 not in toc
    you get the gist...
    
  • export block

    Paragraphs are the default element.

    Empty lines and other elements end paragraphs - but paragraphs can obviously span multiple lines.

    Paragraphs can contain inline markup like emphasis strong and links example.com and stuff.

  • example block

    name: CI
    
    on:
      push:
        branches: [ master ]
    
    jobs:
      build:
        runs-on: ubuntu-latest
        steps:
        - name: git
          run: |
            git clone --depth 1 "https://x-access-token:${{secrets.GITHUB_TOKEN}}@github.com/${GITHUB_REPOSITORY}" .
            git config user.name "GitHub Action"
            git config user.email "action@github.com"
            git log -1 --format="%H"
        - name: go
          run: sudo snap install go --classic
        - name: test
          run: make test
        - name: gh-pages
          run: |
            git checkout --orphan gh-pages && git reset
            make generate-gh-pages
            git add -f docs/ && git commit -m deploy
            git push -f origin gh-pages
        - name: notify
          if: ${{ failure() }}
          run: |
            text="https://github.com/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID} failed"
            curl --silent --output /dev/null ${{secrets.TELEGRAM_URL}} -d "chat_id=${{secrets.TELEGRAM_CHAT_ID}}&text=${text}"
    

DONE #33: Wrong output when mixing html with Org mode

foo foo
bar bar

DONE #41: Support Table Of Contents

DONE #46: Support for symbols like ndash and mdash

  • ndash –
  • mdash —
  • ellipsis …
  • acute Á and so on
  • note that —— is replaced with 2 mdashes and …. becomes ellipsis+. and so on - that's how org also does it

DONE #47: Consecutive code wrapped text gets joined

either this or that foo. either this or that foo.

DONE #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 #68: Quote block with inline markup

DONE #72: Support for #+ATTR_HTML

Go is fine though.

DONE #75: Not parsing nested lists correctly

  • bullet 1

    • sub bullet

DONE #77: Recognize code— as code plus dash

DONE #78: Emphasis at beginning of line

italics

Text italics

DONE #82: Crash on empty headline

just a space as title…

DONE #84: Paragraphs that are not followed by an empty line are not parsed correctly

Foo

Foo paragraph.

Bar

Bar paragraph

DONE #86: Multiple hyphens not converted to dashes

just like #46

  • -- -> – (en dash)
  • --- -> — (em dash)

also, consecutive dashes inside

  • inline code -- --- and verbatim -- ---
  • src/example/export blocks should not be converted!

    --, ---
    
    --, ---
    
    --, ---
    --, ---
    

DONE #87: Markup in footnotes is rendered literally

footnotes can contain markup - and other elements and stuff 1 2

DONE #92: src blocks only render in caps

The behaviour of Org mode <s TAB changed and it now inserts lowercased src blocks (go-org already handled this one)

  • lowercased:

    uname -a
    
  • uppercased

    uname -a
    

issues (wrongly) filed with hugo

#3874 exporting images in org mode

Hello, I'm writing hugo blogs using org-mode.

When inserting an image link like /home/amos/Pictures/Screenshots/img-2017-09-11-165647.png, hugo doesn't export the image.

#4006 source code blocks in org not rendered correctly

(defun small-shell ()
  (interactive)
  (split-window-vertically)
  (other-window 1)
  (shrink-window (- (window-height) 12))
  (ansi-term))

misc fuzz / regression / edge case

index out of range in headline priority parsing

[#B

index out of range in explicit line break parsing

0\\

list items don't end on child headline

  • a list item
followed by a child headline
  • followed by another list item

Footnotes


1

a footnote with markup

  • and a list
  • because that's possible
2

that also goes for inline footnote definitions