* Markdown export (using org-export-generic)
@ 2011-08-17 2:20 Paul Sexton
2011-08-17 2:38 ` Jambunathan K
0 siblings, 1 reply; 5+ messages in thread
From: Paul Sexton @ 2011-08-17 2:20 UTC (permalink / raw)
To: emacs-orgmode
Wes Hardaker's org-export-generic (in worg) does a pretty good job of
exporting to markdown syntax. The following works (use C-c C-e g to
run the exporter):
(require 'org-export-generic)
(org-set-generic-type
"markdown"
'(:file-suffix ".markdown"
:key-binding ?M
:title-format "Title: %s\n"
:date-format "Date: %s\n"
:toc-export nil
:author-export t
:tags-export nil
:drawers-export nil
:date-export t
:timestamps-export t
:priorities-export nil
:todo-keywords-export t
:body-line-fixed-format "\t%s\n"
;:body-list-prefix "\n"
:body-list-format "- %s"
:body-list-suffix "\n"
:header-prefix ("" "" "### " "#### " "##### " "###### ")
:body-section-header-prefix ("" "" "### " "#### " "##### " "###### ")
:body-section-header-format "%s\n"
:body-section-header-suffix (?= ?- "")
:body-header-section-numbers nil
:body-header-section-number-format "%s) "
:body-line-format "%s\n"
:body-newline-paragraph "\n"
:bold-format "**%s**"
:italic-format "_%s_"
:verbatim-format "`%s`"
:code-format "`%s`"
:body-line-wrap 75
))
There are some defects however, which an't really be fixed without altering
the exporter code. The main ones are:
1. Nested lists don't seem to be supported.
2. Tables come out as:
col 1 col 2
-------+-------
1 2
3 4
But need to look like this:
|col 1 | col 2 |
|-------|-------|
| 1 | 2|
| 3 | 4|
3. Links are not exported correctly.
A link [[http://www.google.com][like this]] comes out as
A link [like this]
...
[like this]: http://www.google.com
But need to look either like:
A link [like this][1]
...
[1]: http://www.google.com
Or like:
A link [like this](http://www.google.com)
Paul
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Markdown export (using org-export-generic)
2011-08-17 2:20 Markdown export (using org-export-generic) Paul Sexton
@ 2011-08-17 2:38 ` Jambunathan K
2011-08-17 21:16 ` Paul Sexton
0 siblings, 1 reply; 5+ messages in thread
From: Jambunathan K @ 2011-08-17 2:38 UTC (permalink / raw)
To: Paul Sexton; +Cc: emacs-orgmode
Paul
> Wes Hardaker's org-export-generic (in worg) does a pretty good job of
> exporting to markdown syntax. The following works (use C-c C-e g to
> run the exporter):
> There are some defects however, which an't really be fixed without altering
> the exporter code. The main ones are:
May be you could cook something up with org-lparse? The file is in
contrib dir and org-xhtml and ord-odt make use of it.
Jambunathan K.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Markdown export (using org-export-generic)
2011-08-17 2:38 ` Jambunathan K
@ 2011-08-17 21:16 ` Paul Sexton
2011-08-17 22:26 ` Jambunathan K
0 siblings, 1 reply; 5+ messages in thread
From: Paul Sexton @ 2011-08-17 21:16 UTC (permalink / raw)
To: emacs-orgmode
Jambunathan K <kjambunathan <at> gmail.com> writes:
> May be you could cook something up with org-lparse? The file is in
> contrib dir and org-xhtml and ord-odt make use of it.
Thanks, it looks interesting, but I can't find any documentation?
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Markdown export (using org-export-generic)
2011-08-17 21:16 ` Paul Sexton
@ 2011-08-17 22:26 ` Jambunathan K
2011-08-17 22:49 ` Jambunathan K
0 siblings, 1 reply; 5+ messages in thread
From: Jambunathan K @ 2011-08-17 22:26 UTC (permalink / raw)
To: Paul Sexton; +Cc: emacs-orgmode
Paul Sexton <psexton.2a@gmail.com> writes:
> Jambunathan K <kjambunathan <at> gmail.com> writes:
>> May be you could cook something up with org-lparse? The file is in
>> contrib dir and org-xhtml and ord-odt make use of it.
>
> Thanks, it looks interesting, but I can't find any documentation?
You need to rely on the docstrings for the most part. Please take a look
at the initial commentary section of org-lparse.el.
The docstring for org-lparse-native-backends should a good starting
point [1]. You will start with adding an entry to this variable and
start exporting with M-x org-lparse.
Another way to proceed is
- Start with a sample org file [2]
- Enable debug logs in the exported file
(setq org-lparse-debug t)
- Do a org-export-as-xhtml
- Open the resulting html file and take a Look at the comments embedded
in it. You will have a feel for how the format and entity callbacks
are invoked (See docstring below for the format and entity callbacks)
- Keep modifying org-xhtml.el until it becomes a org-markdown.el
org-lparse is reasonably mature and you are less likely to burn your
fingers badly with it.
Jambunathan K.
Footnotes:
[1] org-lparse-native-backends
,----[ C-h v org-lparse-native-backends RET ]
| org-lparse-native-backends is a variable defined in `org-lparse.el'.
| Its value is ("odt" "xhtml")
|
|
| Documentation:
| List of native backends registered with `org-lparse'.
| A backend can use `org-lparse-register-backend' to add itself to
| this list.
|
| All native backends must implement a get routine and a mandatory
| set of callback routines.
|
| The get routine must be named as org-<backend>-get where backend
| is the name of the backend. The exporter uses `org-lparse-get'
| and retrieves the backend-specific callback by querying for
| ENTITY-CONTROL and ENTITY-FORMAT variables.
|
| For the sake of illustration, the html backend implements
| `org-xhtml-get'. It returns
| `org-xhtml-entity-control-callbacks-alist' and
| `org-xhtml-entity-format-callbacks-alist' as the values of
| ENTITY-CONTROL and ENTITY-FORMAT settings.
|
| [back]
`----
[2] Download the test.org file in the link below
http://repo.or.cz/w/org-mode/org-jambu.git/blob_plain/HEAD:/contrib/odt/tests/
This is the unit test file that I used for developing the exporter. It
is a GOOD starting point and should give reasonably a COMPREHENSIVE
coverage.
--
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2011-08-17 22:50 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-08-17 2:20 Markdown export (using org-export-generic) Paul Sexton
2011-08-17 2:38 ` Jambunathan K
2011-08-17 21:16 ` Paul Sexton
2011-08-17 22:26 ` Jambunathan K
2011-08-17 22:49 ` Jambunathan K
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).