Welcome to OrgViz’s documentation!¶
Contents:
OrgViz - Browser based app to view org-mode files from different directions¶
Warning
Work in progress.
In OrgViz, you can...
- View org-mode files in different formats: calendar / table / histogram
- Use rich formatting of web browsers but everything is reachable from keyboard.
- Write complex filter settings in Python.
Links¶
Install¶
Installing OrgViz is as easy as:
pip install orgviz # or
easy_install orgviz
If you want to draw graphs, install matplotlib.
Usage¶
Use the following command to start OrgViz server and the open http://127.0.0.1:8000 in your browser:
orgviz serve --port 8000 --conf YOUR/CONF/PATH.py
If you want to reload server automatically when you rewrite the
configuration file, currently you need to add --debug
option:
orgviz serve --debug [OTHER OPTIONS]
To quickly checkout what OrgViz can do, simply do:
orgviz sample
This will make a configuration file and a randomly generated org file
in ./sample/
directory and start OrgViz server with them. You can
edit the generated org file and see what happens to the pages in
OrgViz.
Configuration¶
Here is a minimal configuration.:
ORG_COMMON_FILES = [
'PATH/TO/ORG/FILE-1.org',
'PATH/TO/ORG/FILE-2.org',
# and more...
]
For more options available, see orgviz/default_config.py
.
Development¶
To run from source, use the following commands. You need coffee, wget, unzip, make and git commands. Also, all the dependencies (see below) must be importable.:
git clone git://github.com/tkf/orgviz.git
cd orgviz
make build
python -m orgviz.cli serve [OPTIONS]
To run automated testing, run the following command. You need the tox command line tool:
make test
License¶
OrgViz is licensed under the terms of the MIT license (see COPYING).
OrgViz bundles libraries with the following licenses.
- jQuery : MIT or GPL v2 license
- FullCalendar : MIT or GPL v2 license
- jQuery Hotkeys : MIT or GPL v2 license
- ColorBox : MIT license
- Nuvola: LGPL v2.1
OrgViz configuration¶
OrgViz configuration file is just a Python file. Only the variables in upper case will be loaded.
-
orgviz.default_config.
ORG_USE_CACHE
= True¶ Use in-memory cache for org-mode files to improve response speed.
-
orgviz.default_config.
ORG_COMMON_FILES
= []¶ Common org-mode files.
These files will be included in any view.
-
orgviz.default_config.
ORG_CAL_FILES
= []¶ Org-mode files to include calendar view.
-
orgviz.default_config.
ORG_CAL_FILTERS
= []¶ List of (name, function)-pairs to specify events to show in calendar.
The first element of the tuple must be human readable name of filter and the second element must be a callable object (function). Each function must take one
orgviz.event.Event
object and return a bool.The order of the filters is reflected to the order in the web interface. That’s why this option is specified as a list (association list), instead of a dict.
-
orgviz.default_config.
ORG_CAL_PERSPECTIVES
= [('month', {'event': ['deadline', 'scheduled'], 'view': 'month'}), ('month all', {'event': ['deadline', 'scheduled', 'closed', 'clock', 'none'], 'view': 'month'})]¶ Calendar perspectives definitions.
To quickly switch events to include, calendar view and filters, you can define perspectives. Perspective is defined in the following format:
[('PERSPECTIVE NAME', { 'event': ['deadline', 'scheduled', ...], # closed/clock/none/... 'view': 'month', # or agendaWeek/basicWeek/agendaDay/basicDay 'filter': ['FILTER 1', 'FILTER 2', ...], }), ... ]
-
orgviz.default_config.
ORG_CAL_EVENT_CLASSIFIER
= None¶ A function to define extra eventclass.
The following example defines ‘home’ event, depending on node tag:
def ORG_CAL_EVENT_CLASSIFIER(event): if '@home' in event.tags: return 'home'
-
orgviz.default_config.
ORG_CAL_ADD_EVENTCLASSES
= []¶ Extra eventclasses to consider.
Add eventclasses here if you defined ORG_CAL_EVENT_CLASSIFIER.
Example:
ORG_CAL_ADD_EVENTCLASSES = ['home']
-
orgviz.default_config.
ORG_CAL_ADD_EVENTSOURCES
= []¶ Extra event sources for FullCalendar.
This is useful for adding events from another servers, such as holidays. For example, to add Japanese holidays you can set it to:
[{'url': ( 'https://www.google.com/calendar/feeds' '/japanese%40holiday.calendar.google.com/public/basic'), 'color': '#AB8B00', 'textColor': '#AB8B00', 'backgroundColor': 'white', }]
-
orgviz.default_config.
ORG_DONES_FILES
= []¶ Org-mode files to include in done list view.
-
orgviz.default_config.
ORG_GRAPHS_FILES
= []¶ Org-mode files to include in graph view.
-
orgviz.default_config.
ORG_TIMELINE_FILES
= []¶ Org-mode files to include in timeline view.