org-mac: Fix link to org-mac-mail-link from org-mac
[worg.git] / org-tools / index.org
blobfbbdd8c869c4a1694f16cd1310ef4311cffcc584
1 #+TITLE:      Org Mode tools!
2 #+AUTHOR:     Worg people
3 #+EMAIL:      mdl AT imapmail DOT org
4 #+STARTUP:    align fold nodlcheck hidestars oddeven intestate
5 #+SEQ_TODO:   TODO(t) INPROGRESS(i) WAITING(w@) | DONE(d) CANCELED(c@)
6 #+TAGS:       Write(w) Update(u) Fix(f) Check(c)
7 #+LANGUAGE:   en
8 #+PRIORITIES: A C B
9 #+CATEGORY:   worg
10 #+OPTIONS:    H:3 num:nil toc:t \n:nil ::t |:t ^:t -:t f:t *:t tex:t d:(HIDE) tags:not-in-toc
12 # This file is released by its authors and contributors under the GNU
13 # Free Documentation license v1.3 or later, code examples are released
14 # under the GNU General Public License v3 or later.
16 This page lists external tools useful for handling Org files.
18 * Org-mode parsers
20 | Name            | Language                    | Author            | Annoncement/info  |
21 |-----------------+-----------------------------+-------------------+-------------------|
22 | [[https://github.com/200ok-ch/org-parser][org-parser]]      | JavaScript/Java/Clojure/BNF | 200ok             | [[https://200ok.ch/project/org-parser.html][homepage]]          |
23 | [[https://github.com/mashdot/orgile][Orgile]]          | PHP                         | [[https://github.com/mashdot][mashdot]]           | [[http://toshine.org/etc/orgile-emacs-org-mode-file-html-parser-php-publishing-tool/][this blog entry]]   |
24 | [[https://bitbucket.org/joebo/pico-org/src][pico-org]]        | PicoLisp                    | Joe Bogner        | [[http://thread.gmane.org/gmane.lisp.picolisp.general/3679][Message]]           |
25 | [[http://common-lisp.net/project/cl-org-mode/][cl-org-mode]]     | Common Lisp                 |                   |                   |
26 | [[http://members.optusnet.com.au/~charles57/GTD/orgnode.html][orgnode.py]]      | Python                      | Charles Cave      |                   |
27 | [[http://gioorgi.com/org-mode-parser/][org-mode-parser]] | nodejs                      |                   |                   |
28 | [[https://github.com/bjonnh/PyOrgMode][PyOrgMode]]       | Python                      | Jonathan Bisson   |                   |
29 | [[http://redmine.chadok.info/projects/neo][neo]]             | ?                           | Olivier Schwander | [[http://lists.gnu.org/archive/html/emacs-orgmode/2011-04/msg00598.html][Announcement]]      |
30 | [[http://search.cpan.org/dist/Org-Parser][Org::Parser]]     | Perl                        |                   |                   |
31 | [[https://github.com/bdewey/org-ruby][org-ruby]]        | Ruby                        | Brian Dewey       | [[https://orgmode.org/worg/org-tutorials/org-ruby.html][org-ruby tutorial]] |
32 | [[https://github.com/mooz/org-js][org-js]]          | JavaScript                  | Masafumi Oyamada  | [[http://mooz.github.com/org-js/editor/][working example]]   |
33 | [[https://github.com//xiaoxinghu/orgajs][orga]]            | ?                           | Xiaoxing Hu       |                   |
34 | [[https://github.com/mclements/ascii][ascii]]           | R                           |                   | [[https://cran.r-project.org/web/packages/ascii/][ascii on CRAN]]     |
35 | [[https://github.com/orgapp/orgajs][orgajs]]          | JavaScript                  |                   |                   |
36 | [[https://github.com/org-rs/org-rs][org-rs]]          | Rust                        |                   |                   |
37 | [[https://github.com/orgapp/swift-org][swift-org]]       | Swift                       |                   |                   |
38 | [[https://github.com/seylerius/organum][organum]]         | Clojure                     |                   |                   |
39 | [[https://github.com/eigenhombre/clj-org][clj-org]]         | Clojure                     |                   |                   |
40 | [[https://github.com/ixmatus/orgmode-parse][orgmode-parse]]   | ?                           |                   |                   |
41 | [[https://hackage.haskell.org/package/org-mode][org-mode]]        | Haskell                     |                   |                   |
42 | [[https://github.com/PoiScript/orgize][orgize]]          | Rust                        |                   |                   |
44 * Org-mode exporters
46 - https://github.com/zzamboni/ox-leanpub
48 * Specific purpose tools
50 ** [[https://pandoc.org][pandoc]]
52 Pandoc is the Swiss-army knife to convert files from one markup format
53 into another, it can convert documents from many source format,
54 including Org, to many other.
55 ** orgutils R package
57 - Author: Enrico Schumann
58 - Homepage: https://cran.r-project.org/web/packages/orgutils/
60 #+begin_quote
61 Helper functions for Org files (<http://orgmode.org/>): a generic function 'toOrg' for transforming R objects into Org markup (most useful for data frames; there are also methods for Dates/POSIXt) and a function to read Org tables into data frames.
62 #+end_quote
64 - Description and examples
65 Convert data.frames into org tables.
67 #+begin_src R :results output :session *R*
68 library(orgutils)
69 toOrg(head(mtcars))
70 #+end_src
72 #+RESULTS:
73 : | row.names         |  mpg | cyl | disp |  hp | drat |    wt |  qsec | vs | am | gear | carb |
74 : |-------------------+------+-----+------+-----+------+-------+-------+----+----+------+------|
75 : | Mazda RX4         |   21 |   6 |  160 | 110 |  3.9 |  2.62 | 16.46 |  0 |  1 |    4 |    4 |
76 : | Mazda RX4 Wag     |   21 |   6 |  160 | 110 |  3.9 | 2.875 | 17.02 |  0 |  1 |    4 |    4 |
77 : | Datsun 710        | 22.8 |   4 |  108 |  93 | 3.85 |  2.32 | 18.61 |  1 |  1 |    4 |    1 |
78 : | Hornet 4 Drive    | 21.4 |   6 |  258 | 110 | 3.08 | 3.215 | 19.44 |  1 |  0 |    3 |    1 |
79 : | Hornet Sportabout | 18.7 |   8 |  360 | 175 | 3.15 |  3.44 | 17.02 |  0 |  0 |    3 |    2 |
80 : | Valiant           | 18.1 |   6 |  225 | 105 | 2.76 |  3.46 | 20.22 |  1 |  0 |    3 |    1 |
81 ** ascii R package
83 - Authors: David Hajage [aut], Mark Clements [cre, ctb], Seth Falcon [ctb], Terry Therneau [ctb], Matti Pastell [ctb], Friedrich Leisch [ctb]
84 - Homepage: https://cran.r-project.org/web/packages/ascii/, https://github.com/mclements/ascii
86 #+begin_quote
87 Coerce R object to 'asciidoc', 'txt2tags', 'restructuredText', 'org', 'textile' or 'pandoc' syntax. Package comes with a set of drivers for 'Sweave'.
88 #+end_quote
89 - Description and examples
90 Convert several R objects like tables, data.frame matrices into org tables
91 #+begin_src R :results output :session *R*
92 library(ascii)
93 print(ascii(head(mtcars)),type='org')
94 #+end_src
96 #+RESULTS:
97 : |                   | mpg   | cyl  | disp   | hp     | drat | wt   | qsec  | vs   | am   | gear | carb |
98 : |-------------------+-------+------+--------+--------+------+------+-------+------+------+------+------|
99 : | Mazda RX4         | 21.00 | 6.00 | 160.00 | 110.00 | 3.90 | 2.62 | 16.46 | 0.00 | 1.00 | 4.00 | 4.00 |
100 : | Mazda RX4 Wag     | 21.00 | 6.00 | 160.00 | 110.00 | 3.90 | 2.88 | 17.02 | 0.00 | 1.00 | 4.00 | 4.00 |
101 : | Datsun 710        | 22.80 | 4.00 | 108.00 | 93.00  | 3.85 | 2.32 | 18.61 | 1.00 | 1.00 | 4.00 | 1.00 |
102 : | Hornet 4 Drive    | 21.40 | 6.00 | 258.00 | 110.00 | 3.08 | 3.21 | 19.44 | 1.00 | 0.00 | 3.00 | 1.00 |
103 : | Hornet Sportabout | 18.70 | 8.00 | 360.00 | 175.00 | 3.15 | 3.44 | 17.02 | 0.00 | 0.00 | 3.00 | 2.00 |
104 : | Valiant           | 18.10 | 6.00 | 225.00 | 105.00 | 2.76 | 3.46 | 20.22 | 1.00 | 0.00 | 3.00 | 1.00 |
106 #+begin_src R :results output :session *R*
107 print(ascii(table(mtcars$am,mtcars$gear)),type='org')
108 #+end_src
110 #+RESULTS:
111 : |   | 3     | 4    | 5    |
112 : |---+-------+------+------|
113 : | 0 | 15.00 | 4.00 | 0.00 |
114 : | 1 | 0.00  | 8.00 | 5.00 |
116 #+begin_src R :results output :session *R*
117 print(ascii(as.matrix(head(mtcars))),type='org')
118 #+end_src
120 #+RESULTS:
121 : | 21.00 | 6.00 | 160.00 | 110.00 | 3.90 | 2.62 | 16.46 | 0.00 | 1.00 | 4.00 | 4.00 |
122 : | 21.00 | 6.00 | 160.00 | 110.00 | 3.90 | 2.88 | 17.02 | 0.00 | 1.00 | 4.00 | 4.00 |
123 : | 22.80 | 4.00 | 108.00 | 93.00  | 3.85 | 2.32 | 18.61 | 1.00 | 1.00 | 4.00 | 1.00 |
124 : | 21.40 | 6.00 | 258.00 | 110.00 | 3.08 | 3.21 | 19.44 | 1.00 | 0.00 | 3.00 | 1.00 |
125 : | 18.70 | 8.00 | 360.00 | 175.00 | 3.15 | 3.44 | 17.02 | 0.00 | 0.00 | 3.00 | 2.00 |
126 : | 18.10 | 6.00 | 225.00 | 105.00 | 2.76 | 3.46 | 20.22 | 1.00 | 0.00 | 3.00 | 1.00 |
128 ** org-webring - generate webrings for Org-based sites / blogs
130 - Read [[https://brettgilio.com/posts/2020-08-20-announcing-org-webring.html][the announcement]] and [[https://orgmode.org/list/875z9c4ltr.fsf@gnu.org/][the message sent to the Org-mode list]]
131 - Browse [[https://sr.ht/~brettgilio/org-webring][the project page and source code]]
132 - Participate in [[https://sr.ht/~brettgilio/org-webring/lists][the mailing list]]
134 ** [[https://github.com/tecosaur/org-pandoc-import][org-pandoc-import]] : leverage Pandoc to convert selected file types to org
135 ** [[https://github.com/tumashu/el2org][el2org]] - convert an emacs-lisp file to an org file
136 ** [[https://github.com/legalnonsense/elgantt/][El Gantt]] - A Gantt chart/calendar for Orgmode
137 ** [[https://org-web.org/][org-web.org]] -  - org mode on the web
139 See https://github.com/DanielDe/org-web
141 ** organice - organice organizes Org files nicely!
143 [[https://github.com/200ok-ch/organice][organice]] is an implementation of Org mode without the dependency of
144 Emacs. It is built for mobile and desktop browsers and syncs with
145 Dropbox, Google Drive and WebDAV.
147 ** orgmode for Drupal
149 [[https://www.drupal.org/project/orgmode][Orgmode for drupal]] import org files into drupal nodes. 
151 ** nakkaya: a static site generator parsing Org's files (and MarkDown)
153 Static is a simple static site generator written in Clojure.  For a
154 sample site build using static see http://nakkaya.com
156 You can grab the latest version of nakkaya from [[https://github.com/nakkaya/static][its github repository]].
158 ** orgitdown - use Org keybindings in HTML text areas
160 [[https://github.com/gnowgi/orgitdown][orgitdown]] is based on [[http://markitup.jaysalvat.com/home/][markitup]] and allows to use Org keybindings in
161 text areas through some javascript magic.  The text inserted is using
162 Org's syntax, and can be further processed with Emacs in batch mode on
163 the server.
165 Check [[http://mid.gmane.org/CADSSMeg5BDkZMBWEhXF2K7kssrEsX6SkZE%2BOjvXFpHY5aTcgmQ@mail.gmail.com][Nagarjuna G announcement on the mailing list]].
167 ** Exporter for the Octopress blogging engine
169 #+BEGIN_QUOTE
170 Octopress is a framework designed by Brandon Mathis for Jekyll, the blog
171 aware static site generator powering Github Pages. To start blogging with
172 Jekyll, you have to write your own HTML templates, CSS, Javascripts and set
173 up your configuration. But with Octopress All of that is already taken care
174 of. Simply clone or fork Octopress, install dependencies and the theme, and
175 you’re set.
176 #+END_QUOTE
178 You can clone Octopress from [[https://github.com/imathis/octopress][the github repository]].
180 [[https://github.com/craftkiller/orgmode-octopress][orgmode-octopress]] is an exporter for Emacs Org-Mode to Octopress by
181 craftkiller.  For setup instructions, check [[http://blog.paphus.com/blog/2012/08/01/introducing-octopress-blogging-for-org-mode/][this blog entry]].  Note that
182 orgmode-octopress will not work with the new export engine in Org 8.0.
184 ** Export OmniFocus to Org-mode files
186 Jay McCarthy wrote [[https://github.com/jeapostrophe/exp/blob/master/of2org.rkt][this]], using [[http://racket-lang.org/][Racket]].
188 ** Convert from Planner to Org
190 See this message from [[http://mid.gmane.org/8ay5hehupe.fsf@faepop01.tu-graz.ac.at][Andreas Hirczy]]:
192 I have written yet another converter from planner to org:
193 <http://itp.tugraz.at/~ahi/Computer/SW/muse2org.html>
194 <http://itp.tugraz.at/~ahi/Computer/SW/muse2org>
196 ** Export vCard to org-mode entries
198 [[http://mid.gmane.org/50B28EA7.6020900@gmx.de][Simon Thum]] shared some [[https://gist.github.com/4145201][Ruby code]] to export vCards to Org-mode entries.
200 ** ews-orgmode - Exchange calendar to orgmode
202 https://github.com/kautsig/ews-orgmode
204 See [[http://mid.gmane.org/50B78A90.3040609@kautsig.org][this message]] from Chris Raschl:
206 : I recently wrote a python script to fetch my calendar from the corporate
207 : exchange server into an orgmode file to view it in my agenda.
208 : It uses the exchange webservices (ews).
210 ** michel-orgmode - script for pushing to / pulling from Google-Tasks lists
212 - Authors: Mark Edgington, Christophe-Marie Duquesne
213 - Homepage: https://bitbucket.org/edgimar/michel-orgmode
215 Michel-orgmode is a python script which serves as a bridge between an
216 org-mode textfile and a Google-tasks task list.  It can pull the contents
217 of a Google-tasks list into an org-mode file, or push an org-mode file's
218 contents to a Google-tasks list.  It supports bidirectional sync.
220 ** Using GData API to import events in an Org file
222 Mon, 11 Jul 2011, Felix Geller wrote:
224 : I wrote a Python [[https://bitbucket.org/fgeller/gcal2org/src/8fa7d2b83ab3/gcal2org.py][script]] that uses the GData API to download events for your
225 : Google Calendar and prints them to a given org-file. It is a very tiny
226 : script, but perhaps it is of use to other people as well.
228 : Small disclaimer: I've tested this on Mac OS X only, using Python 2.7.2.
230 The script can be found here: [[https://bitbucket.org/fgeller/gcal2org/src/8fa7d2b83ab3/gcal2org.py][gcal2org.py]]
232 ** Migrating from Tomboy to Org
234 In [[https://orgmode.org/list/4E36EF1D.7000307@stalphonsos.com][this email]], Attila shared a script to move notes from Tomboy to
235 Org-mode -- see his message:
237 : I'm moving my note-taking from GNote (C++ rewrite of Tomboy Notes) to
238 : org-mode.  As I have a lot of notes all over the place, I wrote a script to
239 : convert from the XML format used by the Tomboy-style tools to org-mode.
241 You can find the script here: https://github.com/StAlphonsos/scriptologie
243 ** orgutil - TCL script to manipulate org files
245 - Author: Patrick Brennan
246 - Homepage: http://sourceforge.net/projects/orgutil/
248 : Script for converting files into and out of Org-mode, and for performing
249 : various analyses and conversions. The primary use case for this utility is
250 : to convert between Org-mode outline text and AbstractSpoon's ToDoList.
252 ** org2remind - perl script to convert org appointments to remind
254  - Author: Matt Lundin
255  - Code: [[file:../code/perl/org2remind.pl][org2remind]]
257 Remind is a command line calendar application for Unix/Linux that
258 can, among other things, spit out formatted plain text calendars and
259 agendas.
261 http://www.roaringpenguin.com/products/remind
263 : To convert org-mode appointments to remind data, simply call the
264 : script on one or more org files:
266 : perl org2remind.pl ~/org/*.org
268 : (Optionally, add the script to your path and make it executable.)
270 : The results of this script can saved in a file...
272 : perl org2remind.pl ~/org/*.org >> org.rem 
274 : ...or piped directly into a remind command...
276 : perl org2remind.pl ~/org/*.org | remind -
278 : For a nice calendar of the current month, use the following: 
280 : perl org2remind.pl ~/org/*.org | remind -c -
282 : This script is similar to org2rem.el (in the contrib directory of the
283 : org-mode repository), except that, instead of saving files from within
284 : org-mode, it allows for easier and faster access to org/remind data
285 : from the command line.
287 : Currently, the script supports appointments (i.e., active timestamps)
288 : and the org-diary-class sexp.
289 ** ical2org.awk - convert ics files to Org
291 - Author: Eric S Fraga
292 - Code: [[https://github.com/msherry/ical2org/blob/master/ical2org.awk][ical2org.awk]]
294 See [[file:../org-tutorials/org-google-sync.org][the org-google-sync tutorial]] for explanations on how to use this
295 script.
297 ** ical2org.rb - convert ics files to Org
298    - Author: Simon Thum
299    - Code: [[https://github.com/simonthum/ical2org][ical2org]]
300    - handles events and TODOs
301    - all sorts of repeating events
302    - and timezones!
303    - one-way only though
304      - except if you have a REST-capable ical server, see README
305 ** org-manage - locate and manage your org files
306     - Author: Daniel German
307     - Code:   [[http://github.com/dmgerman/org-manage][org-manage]] (based on [[https://github.com/yoshinari-nomura/org-octopress][org-octopress]])
308     - Lists all org files in a given directory and its subdirectories,
309       providing a table of org files, including their title and category.
311 #+begin_quote
312 This is a module to help managing a large collection of org files. It
313 is based on org-octopress by Yoshinari Nomura.
315 org-manage scans a given directory (recursively) looking for org
316 files. For each, an entry is created. The title is extracted from the
317 attribute #+TITLE: in the org file. The category is extracted from the
318 first #+CATEGORY in the file (I suggest you add a default category to
319 each file.
320 #+end_quote
322 ** vimwiki2org - convert vimwiki files to Org
323    - Author: Xu FaSheng
324    - Homepage: https://github.com/fasheng/vimwiki2org
326 ** Org Blog Wiki tools
328 See the page [[file:../org-blog-wiki.org][Org Blogs and Wikis]].
330 ** orgFixLinks.py: a Python command-line utility for repairing broken links to local files
331   :PROPERTIES:
332   :CUSTOM_ID: fix-links
333   :END:
335     - Author: GitHub user cashTangoTangoCash
336     - website: https://github.com/cashTangoTangoCash/orgFixLinks
337     - repairs broken links in org files
338     - currently Linux-only, but probably straighforward to port to Win/Mac?
340 #+begin_quote
341  A stand-alone Python script designed to interactively repair broken
342 links to local files in one, many, or all of your org files.  OK, it's
343 an amateur command line script that likely needs more refinement, and
344 it chooses to do things that not everyone desires, but you can fork it
345 on GitHub, and adapt it to your own purposes.  If you are frustrated
346 by broken links to the degree that you are ready to debug a lengthy
347 Python script, why not play with it.  The GitHub wiki
348 https://github.com/cashTangoTangoCash/orgFixLinks/wiki provides a
349 degree of documentation.
350 #+end_quote