All Projects → tecosaur → Org Pandoc Import

tecosaur / Org Pandoc Import

Licence: gpl-3.0
Save yourself from non-org formats, thanks to pandoc

Projects that are alternatives of or similar to Org Pandoc Import

Super Save
Save Emacs buffers when they lose focus
Stars: ✭ 184 (+65.77%)
Mutual labels:  emacs, emacs-packages
Academic Phrases
Bypass that mental block when writing your papers.
Stars: ✭ 244 (+119.82%)
Mutual labels:  emacs, emacs-packages
Evil Snipe
2-char searching ala vim-sneak & vim-seek, for evil-mode
Stars: ✭ 196 (+76.58%)
Mutual labels:  emacs, emacs-packages
Borg
Assimilate Emacs packages as Git submodules
Stars: ✭ 145 (+30.63%)
Mutual labels:  emacs, emacs-packages
Smart Mode Line
A powerful and beautiful mode-line for Emacs.
Stars: ✭ 809 (+628.83%)
Mutual labels:  emacs, emacs-packages
Org Msg
OrgMsg is a GNU/Emacs global minor mode mixing up Org mode and Message mode to compose and reply to emails in a Outlook HTML friendly style.
Stars: ✭ 153 (+37.84%)
Mutual labels:  emacs, emacs-packages
Uncledavesemacs
My personal ~/.emacs.d
Stars: ✭ 204 (+83.78%)
Mutual labels:  emacs, emacs-packages
Evil Multiedit
Multiple cursors for evil-mode, based on iedit
Stars: ✭ 200 (+80.18%)
Mutual labels:  emacs, emacs-packages
God Mode
Minor mode for God-like command entering
Stars: ✭ 570 (+413.51%)
Mutual labels:  emacs, emacs-packages
Frontmacs
Package-based, web-centric, customizable, awesome-by-default, acceptance-tested Emacs distribution
Stars: ✭ 445 (+300.9%)
Mutual labels:  emacs, emacs-packages
Elpa
Emacs China ELPA 镜像
Stars: ✭ 137 (+23.42%)
Mutual labels:  emacs, emacs-packages
Emacs.g
The Emacs Collective
Stars: ✭ 51 (-54.05%)
Mutual labels:  emacs, emacs-packages
Emacs Gdscript Mode
An Emacs package to get GDScript support and syntax highlighting.
Stars: ✭ 132 (+18.92%)
Mutual labels:  emacs, emacs-packages
Emacs Vdiff
Like vimdiff for Emacs
Stars: ✭ 165 (+48.65%)
Mutual labels:  emacs, emacs-packages
Emacs Solaire Mode
If only certain buffers could be so grossly incandescent.
Stars: ✭ 129 (+16.22%)
Mutual labels:  emacs, emacs-packages
Dots
Personal *nix configuration files
Stars: ✭ 136 (+22.52%)
Mutual labels:  pandoc, emacs
Perfect Margin
[emacs] auto center emacs windows, work with minimap and/or linum-mode
Stars: ✭ 26 (-76.58%)
Mutual labels:  emacs, emacs-packages
Emacs Which Key
Emacs package that displays available keybindings in popup
Stars: ✭ 1,136 (+923.42%)
Mutual labels:  emacs, emacs-packages
Oscp Exam Report Template Markdown
📙 Markdown Templates for Offensive Security OSCP, OSWE, OSCE, OSEE, OSWP exam report
Stars: ✭ 2,066 (+1761.26%)
Mutual labels:  pandoc
Tui.el
An experimental text-based UI framework for Emacs modeled after React - **requires emacs 26.1**
Stars: ✭ 108 (-2.7%)
Mutual labels:  emacs

#+title: Org Pandoc Import #+author: tecosaur

The worst part about =org-mode=? Having to leave it.

This package aims to reduce this pain by leveraging [[https://pandoc.org/][Pandoc]] to convert selected file types /to/ org.

There are two tiers of non-org file avoidance:

  1. The basic "get me out of here" --- org-pandoc-import-{to,as}-org allows you to easily convert supported non-org files to an org file/buffer with Pandoc
  2. "I don't even want to /see/ non-org files" --- org-pandoc-import-transient-mode is for you
    • (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]]

  • Installation ** Straight #+begin_src elisp (use-package org-pandoc-import :straight (:host github :repo "tecosaur/org-pandoc-import" :files (".el" "filters" "preprocessors"))) #+end_src ** Doom #+begin_src elisp ;; $DOOMDIR/packages.el (package! org-pandoc-import :recipe (:host github :repo "tecosaur/org-pandoc-import" :files (".el" "filters" "preprocessors")))

;; $DOOMDIR/config.el (use-package! org-pandoc-import :after org) #+end_src

** Dependences

  • Pandoc

That's the only hard dependency. However ox-pandoc and ox-gfm can be useful for exporting with org-pandoc-import-transient-mode.

That said, as they are currently implemented, the pre-processors for /Rmarkdown/ and /TSV/ files use sed (only really affects Windows users).

  • 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=
  • reStructuredText :: (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=

Currently /Rmarkdown/ and /TSV/ files require sed in order to pre-process the file for Pandoc.

** 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 available, 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 elisp (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!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].