ad511a4027da442f0ab81d6747b0197dd0c3ed88
[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
17 ** [[http://common-lisp.net/project/cl-org-mode/][cl-org-mode]] - A Common lisp parser for org-mode outlines
18
19 Abstract: CL-ORG-MODE is a parser for org-mode files that uses an
20 extensible CLOS-based recursive descent parser to create a tree of org-mode
21 nodes. Also included is a (primitive) system for literate programming using
22 org-mode
23
24 ** orgnode.py - python library for parsing Org files
25
26 - Author: Charles Cave
27 - Homepage: http://members.optusnet.com.au/~charles57/GTD/orgnode.html
28
29 : The Orgnode module contains one class, called Orgnode and a routine to read
30 : an org-mode file and create a list of Orgnode objects.
31
32 : The module is for reading an org-mode file. There are no methods for
33 : writing org-mode since since I have no need for this functionality.
34
35 : You are welcome to extend the functionality of the __repr__ method of the
36 : Orgnode class if you would like this functionality.
37 ** [[http://gioorgi.com/org-mode-parser/][org-mode-parser for nodejs]] by Giovanni Giorgi
38 ** PyOrgMode - python library for creating and parsing Org files
39
40 - Author: Jonathan Bisson (on gmail : bissonjonathan)
41 - Homepage: https://github.com/bjonnh/PyOrgMode
42
43 : This python module allows for the creation and parsing of org-files. The
44 : org-files are loaded into python objects allowing the modification of the
45 : different recognized elements.
46
47 : The objects are defined in a plug-in way, allowing the user of this
48 : module to add easily a new kind of data and the relative functions.
49
50 : Current objects are : 
51 : - Schedule elements
52 : - Drawers
53 : - Tables
54 : - Nodes
55
56 : The project is contained in an unique tangle org-file which contains the
57 : documentation, the python files and the test suite.
58
59 ** NEO - No Emacs Org in Python
60
61 - Author: Olivier Schwander
62 - Homepage: http://redmine.chadok.info/projects/neo
63 - Announcement: http://lists.gnu.org/archive/html/emacs-orgmode/2011-04/msg00598.html
64
65 : Another Python tool for parsing org mode files
66
67 : Current features 
68 : ~~~~~~~~~~~~~~~~~
69 :   - Org file parser
70 :   - Agenda builder
71 :   - Todo-list builder
72 :   - Custom todo keywords
73 :   - Command line interface for agenda and todo-lists
74
75 ** Org::Parser - Perl module for parsing Org files
76
77 - Author: Steven Haryanto
78 - Homepage: http://search.cpan.org/dist/Org-Parser
79
80 There are several other Org-related modules on CPAN at various development
81 stages, all utilizing Org::Parser: App::OrgUtils (some utilities for Org
82 documents), Org::To::* (convert Org mode to various other formats).
83
84 ** [[https://github.com/bdewey/org-ruby][org-ruby (used on github)]] by Brian Dewey
85
86 #+begin_quote
87 This gem contains Ruby routines for parsing org-mode files. The most
88 significant thing this library does today is convert org-mode files to HTML
89 or textile.
90 #+end_quote
91
92 Read [[http://orgmode.org/worg/org-tutorials/org-ruby.html][the org-ruby tutorial for details.]]
93
94 * Specific-purpose tools
95
96 ** Using GData API to import events in an Org file
97
98 Mon, 11 Jul 2011, Felix Geller wrote:
99
100 : I wrote a Python [[https://bitbucket.org/fgeller/gcal2org/src/8fa7d2b83ab3/gcal2org.py][script]] that uses the GData API to download events for your
101 : Google Calendar and prints them to a given org-file. It is a very tiny
102 : script, but perhaps it is of use to other people as well.
103 :
104 : Small disclaimer: I've tested this on Mac OS X only, using Python 2.7.2.
105
106 The script can be found here: [[https://bitbucket.org/fgeller/gcal2org/src/8fa7d2b83ab3/gcal2org.py][gcal2org.py]]
107
108 ** Migrating from Tomboy to Org
109
110 In [[http://article.gmane.org/gmane.emacs.orgmode/45239][this email]], Attila shared a script to move notes from Tomboy to
111 Org-mode -- see his message:
112
113 : I'm moving my note-taking from GNote (C++ rewrite of Tomboy Notes) to
114 : org-mode.  As I have a lot of notes all over the place, I wrote a script to
115 : convert from the XML format used by the Tomboy-style tools to org-mode.
116
117 You can find the script here: https://github.com/StAlphonsos/scriptologie
118
119 ** orgutil - TCL script to manipulate org files
120
121 - Author: Patrick Brennan
122 - Homepage: http://sourceforge.net/projects/orgutil/
123
124 : Script for converting files into and out of Org-mode, and for performing
125 : various analyses and conversions. The primary use case for this utility is
126 : to convert between Org-mode outline text and AbstractSpoon's ToDoList.
127
128 ** ical2org.awk - convert ics files to Org
129
130 - Author: Eric S Fraga
131 - Code: [[file:../code/awk/ical2org.awk][ical2org.awk]]
132
133 See [[file:../org-tutorials/org-google-sync.org][the org-google-sync tutorial]] for explanations on how to use this
134 script.
135
136 ** ical2org.rb - convert ics files to Org
137    - Author: Simon Thum
138    - Code: [[https://github.com/simonthum/ical2org][ical2org]]
139    - handles events and TODOs
140    - all sorts of repeating events
141    - and timezones!
142    - one-way only though
143      - except if you have a REST-capable ical server, see README
144 ** org2remind - perl script to convert org appointments to remind
145
146  - Author: Matt Lundin
147  - Code: [[file:../code/perl/org2remind.pl][org2remind]]
148
149 Remind is a command line calendar application for Unix/Linux that
150 can, among other things, spit out formatted plain text calendars and
151 agendas.
152
153 http://www.roaringpenguin.com/products/remind
154
155 : To convert org-mode appointments to remind data, simply call the
156 : script on one or more org files:
157
158 : perl org2remind.pl ~/org/*.org
159
160 : (Optionally, add the script to your path and make it executable.)
161
162 : The results of this script can saved in a file...
163
164 : perl org2remind.pl ~/org/*.org >> org.rem 
165
166 : ...or piped directly into a remind command...
167
168 : perl org2remind.pl ~/org/*.org | remind -
169
170 : For a nice calendar of the current month, use the following: 
171
172 : perl org2remind.pl ~/org/*.org | remind -c -
173
174 : This script is similar to org2rem.el (in the contrib directory of the
175 : org-mode repository), except that, instead of saving files from within
176 : org-mode, it allows for easier and faster access to org/remind data
177 : from the command line.
178
179 : Currently, the script supports appointments (i.e., active timestamps)
180 : and the org-diary-class sexp.
181