emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Lars Tveito <larstvei@student.matnat.uio.no>
To: Thorsten Jolitz <tjolitz@gmail.com>
Cc: emacs-orgmode@gnu.org
Subject: Re: Add-on: Github Flavored Markdown exporter
Date: Tue, 08 Apr 2014 23:39:28 +0200	[thread overview]
Message-ID: <m2k3az1oxb.fsf@1x-193-157-254-237.uio.no> (raw)
In-Reply-To: <878urg12im.fsf@gmail.com>

Hi, thanks for checking it out!

Thorsten Jolitz writes:

> Thorsten Jolitz <tjolitz@gmail.com> writes:
>
>> Lars Tveito <larstvei@student.matnat.uio.no> writes:
>>
>>> Hi!
>>>
>>> I have written an exporter for Github Flavored Markdown, which is a
>>> derived back-end from the Markdown (vanilla) exporter. It adds
>>> Github-style src-blocks, strike-through and table of contents.
>
> Your library works really good, thanks. I would recommend adding it to
> /contrib. I used it to create new README.md files for all three
> libraries navi-mode.el, outorg.el and outshine.el, you can find the
> repos on github.com/tj64 if you want to take a look.
>

I try adding it soon. Checked out your README'S, looks good!

> I like the idea very much to write this documentation stuff once in one
> place and then reuse it in all other places. Therefore when I write a
> source file, I use outorg to write a more or less sophisticated comment
> header for that file. This is then automatically converted back to a
> programming language comment section, but I can always convert it back
> to Org-mode. From the outorg-edit-buffer, I can then export it to html,
> latex, ascii and now to markdown-github-flavor too, whats nice.
>
> I use a little trick to do this:
> I narrow the buffer to the first 1st level headline, and then use 
>
> ,--------------
> | C-1 M-# M-#
> | C-u 1 M-# M-#
> `--------------
>
> to temporarily insert the default export template, or
>
> ,--------------
> | C-3 M-# M-#
> | C-u 3 M-# M-#
> `--------------
>
> to temporarily insert a custom export template from a file.
>
> A few questions and remarks:
>
> - I get the best results with just using example blocks - is it supposed
>   to work with source-blocks and other blocks too?
>

Getting it to work with source-blocks was the feature I missed the most
from the vanilla markdown exporter. If you specify a language in the
source-block it will be added to the exported version as well; a problem
occurs if you specify a language not supported by Github. Emacs lisp is
an example of this, so there is a alist `org-gfm-lang' which by default
has the value:

    (("emacs-lisp" . "lisp") ("elisp" . "lisp"))

So a source block like this:

#+begin_src emacs-lisp
  (defun foo ()
    'foo)
#+end_src

exports to this:

```lisp
(defun foo ()
  'foo)
```

Which provides syntax highlighting in Github Flavored Markdown.

> - Just like the Org exporter in general, it does not know how to deal
>   with boxes made with rebox2.el, so I replaced them with example
>   blocks.
>

I am not familiar with rebox2.el. This back-end inherits most
functionality from the markdown (vanilla) exporter, which again inherits
from the html exporter. Since rebox2.el doesn't play nice with any of
those it will cause problems with the github flavored as well.

If you'd like the boxes created with rebox2.el to appear in the exported
version you could possibly wrap it inside an example-block.

> - What about numbered lists with longer text/blocks as item content - is
>   the item numbering supposed to work?

I hadn't tested this, but found an old org-file with notes packed with
different lists. I generated it, and most of it looks good:
https://gist.github.com/anonymous/694b7b5f53dd21850bcd (by the way, the
content is rubbish, and in Norwegian).

The only problems are with latex-code mixed in the document and sloppy
work from the original org file.

- Lars

  reply	other threads:[~2014-04-08 21:39 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-06 21:33 Add-on: Github Flavored Markdown exporter Lars Tveito
2014-04-07 22:18 ` Thorsten Jolitz
2014-04-08 11:31   ` Thorsten Jolitz
2014-04-08 21:39     ` Lars Tveito [this message]
2014-04-09  2:06       ` Grant Rettke
2014-04-09  4:38         ` Nick Dokos
2014-04-09  4:07       ` Charles Berry
2014-04-09  8:32         ` Lars Tveito
2014-04-09  7:03       ` Thorsten Jolitz
2014-04-11 10:29 ` Bastien
2014-04-11 15:57   ` Lars Tveito
2014-06-09 15:50   ` Nicolas Girard
2014-06-09 16:45     ` Bastien
2014-06-09 19:07       ` Nicolas Girard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m2k3az1oxb.fsf@1x-193-157-254-237.uio.no \
    --to=larstvei@student.matnat.uio.no \
    --cc=emacs-orgmode@gnu.org \
    --cc=tjolitz@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).