Add "Convert from Planner to Org" in org-tools
[worg.git] / org-tools / index.org
1 #+STARTUP:    align fold nodlcheck hidestars oddeven intestate
2 #+SEQ_TODO:   TODO(t) INPROGRESS(i) WAITING(w@) | DONE(d) CANCELED(c@)
3 #+TAGS:       Write(w) Update(u) Fix(f) Check(c)
4 #+TITLE:      Org Mode tools!
5 #+AUTHOR:     Worg people
6 #+EMAIL:      mdl AT imapmail DOT org
7 #+LANGUAGE:   en
8 #+PRIORITIES: A C B
9 #+CATEGORY:   worg
10 #+OPTIONS:    H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:t -:t f:t *:t TeX:t LaTeX:t skip:nil d:(HIDE) tags:not-in-toc
11
12 This page lists external tools useful for handling Org files.
13
14 * Org-mode parsers
15
16 ** [[https://bitbucket.org/joebo/pico-org/src][pico-org]] - A PicoLisp parser
17
18 [[http://thread.gmane.org/gmane.lisp.picolisp.general/3679][Message]] from the developer Joe Bogner:
19
20 : I've written a tiny org-mode parser and hooked it up with my mustache
21 : implementation to create a simple web page that dumps out the org
22 : structure. I'm not sure where I'm going to go next but figured I'd
23 : share it since I enjoy reading other's code as well.
24
25 ** [[http://common-lisp.net/project/cl-org-mode/][cl-org-mode]] - A Common lisp parser for org-mode outlines
26
27 Abstract: CL-ORG-MODE is a parser for org-mode files that uses an
28 extensible CLOS-based recursive descent parser to create a tree of org-mode
29 nodes. Also included is a (primitive) system for literate programming using
30 org-mode
31
32 ** orgnode.py - python library for parsing Org files
33
34 - Author: Charles Cave
35 - Homepage: http://members.optusnet.com.au/~charles57/GTD/orgnode.html
36
37 : The Orgnode module contains one class, called Orgnode and a routine to read
38 : an org-mode file and create a list of Orgnode objects.
39
40 : The module is for reading an org-mode file. There are no methods for
41 : writing org-mode since since I have no need for this functionality.
42
43 : You are welcome to extend the functionality of the __repr__ method of the
44 : Orgnode class if you would like this functionality.
45 ** [[http://gioorgi.com/org-mode-parser/][org-mode-parser for nodejs]] by Giovanni Giorgi
46 ** PyOrgMode - python library for creating and parsing Org files
47
48 - Author: Jonathan Bisson (on gmail : bissonjonathan)
49 - Homepage: https://github.com/bjonnh/PyOrgMode
50
51 : This python module allows for the creation and parsing of org-files. The
52 : org-files are loaded into python objects allowing the modification of the
53 : different recognized elements.
54
55 : The objects are defined in a plug-in way, allowing the user of this
56 : module to add easily a new kind of data and the relative functions.
57
58 : Current objects are : 
59 : - Schedule elements
60 : - Drawers
61 : - Tables
62 : - Nodes
63
64 : The project is contained in an unique tangle org-file which contains the
65 : documentation, the python files and the test suite.
66
67 ** NEO - No Emacs Org in Python
68
69 - Author: Olivier Schwander
70 - Homepage: http://redmine.chadok.info/projects/neo
71 - Announcement: http://lists.gnu.org/archive/html/emacs-orgmode/2011-04/msg00598.html
72
73 : Another Python tool for parsing org mode files
74
75 : Current features 
76 : ~~~~~~~~~~~~~~~~~
77 :   - Org file parser
78 :   - Agenda builder
79 :   - Todo-list builder
80 :   - Custom todo keywords
81 :   - Command line interface for agenda and todo-lists
82
83 ** Org::Parser - Perl module for parsing Org files
84
85 - Author: Steven Haryanto
86 - Homepage: http://search.cpan.org/dist/Org-Parser
87
88 There are several other Org-related modules on CPAN at various development
89 stages, all utilizing Org::Parser: App::OrgUtils (some utilities for Org
90 documents), Org::To::* (convert Org mode to various other formats).
91
92 ** [[https://github.com/bdewey/org-ruby][org-ruby (used on github)]] by Brian Dewey
93
94 #+begin_quote
95 This gem contains Ruby routines for parsing org-mode files. The most
96 significant thing this library does today is convert org-mode files to HTML
97 or textile.
98 #+end_quote
99
100 Read [[http://orgmode.org/worg/org-tutorials/org-ruby.html][the org-ruby tutorial for details.]]
101
102 * Specific-purpose tools
103
104 ** Convert from Planner to Org
105
106 See this message from [[http://mid.gmane.org/8ay5hehupe.fsf%2540faepop01.tu-graz.ac.at][Andreas Hirczy]]:
107
108 I have written yet another converter from planner to org:
109 <http://itp.tugraz.at/~ahi/Computer/SW/muse2org.html>
110 <http://itp.tugraz.at/~ahi/Computer/SW/muse2org>
111
112 ** Export vCard to org-mode entries
113
114 [[http://mid.gmane.org/50B28EA7.6020900%2540gmx.de][Simon Thum]] shared some [[https://gist.github.com/4145201][Ruby code]] to export vCards to Org-mode entries.
115
116 ** ews-orgmode - Exchange calendar to orgmode
117
118 https://github.com/kautsig/ews-orgmode
119
120 See [[http://mid.gmane.org/50B78A90.3040609%2540kautsig.org][this message]] from Chris Raschl:
121
122 : I recently wrote a python script to fetch my calendar from the corporate
123 : exchange server into an orgmode file to view it in my agenda.
124 : It uses the exchange webservices (ews).
125
126 ** michel-orgmode - script for pushing to / pulling from Google-Tasks lists
127
128 - Authors: Mark Edgington, Christophe-Marie Duquesne
129 - Homepage: https://bitbucket.org/edgimar/michel-orgmode
130
131 Michel-orgmode is a python script which serves as a bridge between an
132 org-mode textfile and a Google-tasks task list. It can pull the contents of
133 a Google-tasks list into an org-mode file, or push an org-mode file's
134 contents to a Google-tasks list.
135
136 ** Using GData API to import events in an Org file
137
138 Mon, 11 Jul 2011, Felix Geller wrote:
139
140 : I wrote a Python [[https://bitbucket.org/fgeller/gcal2org/src/8fa7d2b83ab3/gcal2org.py][script]] that uses the GData API to download events for your
141 : Google Calendar and prints them to a given org-file. It is a very tiny
142 : script, but perhaps it is of use to other people as well.
143 :
144 : Small disclaimer: I've tested this on Mac OS X only, using Python 2.7.2.
145
146 The script can be found here: [[https://bitbucket.org/fgeller/gcal2org/src/8fa7d2b83ab3/gcal2org.py][gcal2org.py]]
147
148 ** Migrating from Tomboy to Org
149
150 In [[http://article.gmane.org/gmane.emacs.orgmode/45239][this email]], Attila shared a script to move notes from Tomboy to
151 Org-mode -- see his message:
152
153 : I'm moving my note-taking from GNote (C++ rewrite of Tomboy Notes) to
154 : org-mode.  As I have a lot of notes all over the place, I wrote a script to
155 : convert from the XML format used by the Tomboy-style tools to org-mode.
156
157 You can find the script here: https://github.com/StAlphonsos/scriptologie
158
159 ** orgutil - TCL script to manipulate org files
160
161 - Author: Patrick Brennan
162 - Homepage: http://sourceforge.net/projects/orgutil/
163
164 : Script for converting files into and out of Org-mode, and for performing
165 : various analyses and conversions. The primary use case for this utility is
166 : to convert between Org-mode outline text and AbstractSpoon's ToDoList.
167
168 ** ical2org.awk - convert ics files to Org
169
170 - Author: Eric S Fraga
171 - Code: [[file:../code/awk/ical2org.awk][ical2org.awk]]
172
173 See [[file:../org-tutorials/org-google-sync.org][the org-google-sync tutorial]] for explanations on how to use this
174 script.
175
176 ** ical2org.rb - convert ics files to Org
177    - Author: Simon Thum
178    - Code: [[https://github.com/simonthum/ical2org][ical2org]]
179    - handles events and TODOs
180    - all sorts of repeating events
181    - and timezones!
182    - one-way only though
183      - except if you have a REST-capable ical server, see README
184 ** org2remind - perl script to convert org appointments to remind
185
186  - Author: Matt Lundin
187  - Code: [[file:../code/perl/org2remind.pl][org2remind]]
188
189 Remind is a command line calendar application for Unix/Linux that
190 can, among other things, spit out formatted plain text calendars and
191 agendas.
192
193 http://www.roaringpenguin.com/products/remind
194
195 : To convert org-mode appointments to remind data, simply call the
196 : script on one or more org files:
197
198 : perl org2remind.pl ~/org/*.org
199
200 : (Optionally, add the script to your path and make it executable.)
201
202 : The results of this script can saved in a file...
203
204 : perl org2remind.pl ~/org/*.org >> org.rem 
205
206 : ...or piped directly into a remind command...
207
208 : perl org2remind.pl ~/org/*.org | remind -
209
210 : For a nice calendar of the current month, use the following: 
211
212 : perl org2remind.pl ~/org/*.org | remind -c -
213
214 : This script is similar to org2rem.el (in the contrib directory of the
215 : org-mode repository), except that, instead of saving files from within
216 : org-mode, it allows for easier and faster access to org/remind data
217 : from the command line.
218
219 : Currently, the script supports appointments (i.e., active timestamps)
220 : and the org-diary-class sexp.
221