71 lines
2.3 KiB
Org Mode
71 lines
2.3 KiB
Org Mode
#+TITLE: Org Pandoc Import
|
|
#+AUTHOR: tecosaur
|
|
|
|
The worst part about =org-mode=? Having to leave it.
|
|
|
|
This package aims to reduce this pain, in using two components:
|
|
1. ~org-pandoc-import-{to,as}-org~ allows you to easily import supported non-org files with Pandoc
|
|
2. ~org-pandoc-import-transient-mode~ which
|
|
- (via file handlers) intercepts requests for non-org files it knows it can convert
|
|
- uses ~org-pandoc-import-to-org~ to convert the file to a temporary org file
|
|
- opens this org file instead
|
|
- exports back to the original non-org file on save
|
|
|
|
[[file:org-pandoc-import.svg]]
|
|
|
|
* Screenshots
|
|
|
|
[[file:screenshots/odt.png]]
|
|
|
|
[[file:screenshots/markdown.png]]
|
|
|
|
[[file:screenshots/csv.png]]
|
|
|
|
* Default backends
|
|
+ markdown :: associated with: =.md=, =.markdown=
|
|
+ LaTeX :: associated with: =.tex=, =.latex=
|
|
+ reST :: (~rst~) associated with: =.rst=
|
|
+ ODT :: associated with: =.odt=
|
|
+ DOCX :: associated with: =.docx=
|
|
+ Jupyter Notebooks :: (~ipynb~) associated with: =.ipynb=
|
|
+ Rmarkdown :: (~markdown~) associated with: =.Rmd=, =.rmd=
|
|
+ CSV :: associated with: =.csv=
|
|
+ TSV :: (~csv~) associated with: =.tsv=
|
|
|
|
** Default transient-mode backends
|
|
Please note that this mode is off by default.
|
|
It is however a global mode, so enable it once in your config and it will be
|
|
active everywhere.
|
|
|
|
The active transient backends are determined by
|
|
~org-pandoc-import-transient-associations~.
|
|
|
|
+ markdown :: using Org's ~gfm~ export if available, otherwise ~md~
|
|
+ ODT :: using Org's ~odt~ export
|
|
+ csv, tsv :: using ~org-table-export~
|
|
When ~ox-pandoc~ is avalible, the following formats are also enabled by default,
|
|
and use ~ox-pandoc~ to export.
|
|
+ rst
|
|
+ docx
|
|
* Adding new backends
|
|
For something supported out of the box by Pandoc, it couldn't be easier ---
|
|
just
|
|
#+BEGIN_SRC emacs-lisp
|
|
(org-pandoc-import-backend foo)
|
|
#+END_SRC
|
|
|
|
This will add ~foo~ to ~org-pandoc-import-backends~, and create the following
|
|
functions
|
|
+ ~org-pandoc-import-foo-as-org~
|
|
+ ~org-pandoc-import-foo-to-org~
|
|
Which will reference these variables,
|
|
+ ~org-pandoc-import-foo-args~
|
|
+ ~org-pandoc-import-foo-filters~
|
|
+ ~org-pandoc-import-foo-preprocessors~
|
|
+ ~org-pandoc-import-foo-extensions~
|
|
That last variable will be set to ~("foo")~, and will cause
|
|
~org-pandoc-import-{to,as}-org~ to automatically select this backend when called
|
|
on =.foo= files.
|
|
|
|
These all have docstrings --- check them out!
|