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.

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

Dependencies

Optional dependencies:

Dependencies for build and test include:

License

OrgViz is licensed under the terms of the MIT license (see COPYING).

OrgViz bundles libraries with the following licenses.

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', ...],
     }),
 ...
 ]

See also: FullCalendar Documentation - Available Views

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.

Indices and tables