organice is a free, open source project & work management project written in JavaScript and released under AGPL-3.0. It has 2,671 GitHub stars, 168 forks and 117 open issues, and was last pushed 1 months ago. On this registry it ranks #30 of 62 tracked projects in Project & Work Management, with 5 head-to-head comparisons available. It gained 1 stars over the last 3 tracked days.

What is organice?

What it is

organice is an open-source JavaScript web application that implements Org mode without requiring Emacs. It is built for mobile and desktop browsers and lives in the Emacs and Org mode productivity ecosystem, where task, note, and project files are stored in Org format. It is licensed under AGPL-3.0.

The concrete problem is that Emacs is mainly desktop software, which makes it inconvenient for users who need to view or edit Org files while away from their usual machine. organice provides a browser-based way to work with Org files on phones and computers, and it connects to Dropbox, GitLab, or WebDAV so users can keep existing files in those services.

Key capabilities

  • It renders and edits Org mode content in a browser without requiring the user to run Emacs locally.
  • It supports files stored in Dropbox, GitLab, and WebDAV, so users can work with existing Org files.
  • It can be installed to an iOS or Android home screen as a Progressive Web Application with offline capabilities.
  • It provides an interactive tutorial for exploring Org mode tasks, tables, and timestamps inside the application.
  • It links to user and developer documentation covering installation, deployment, contribution guidelines, and technical architecture.
  • It offers a public hosted instance at https://organice.200ok.ch/ that the README says is open to anyone and does not store user data or use analytics.

Who uses it and how

  • Individuals who keep Org files in Dropbox, GitLab, or WebDAV can open those files in a browser on a phone or desktop computer.
  • Mobile users can install the application to a home screen and use the Progressive Web Application mode described in the README.
  • People learning Org mode can use the interactive tutorial to practice tasks, tables, and timestamps inside the application.
  • Project-management users can use the hosted instance or a self-hosted web application as a front end for Org files stored in a supported provider.

Getting started

The README points users to the hosted instance, browser-based installation, and home-screen installation as a Progressive Web Application on iOS or Android. It also links to installation and deployment documentation.

When to use it — and when not to

organice fits people who want a browser-based front end for Org files and who are comfortable depending on Dropbox, GitLab, or WebDAV for storage. Because it has no back-end of its own, a self-hoster must operate the web application and still arrange access to one of those storage providers. The provided facts show 117 open issues and no listed contributor count, so users evaluating long-term maintenance should inspect the repository.

project readme (upstream, from github) — read inline

-- org-adapt-indentation: nil; fill-column: 70; --

#+title: organice documentation

#+html:

organice - /'ɔ:gənaɪz/

#+html:

organice organizes Org files nicely!

#+html:

  • General :PROPERTIES: :CUSTOM_ID: general :END:

** Code

REPO_PLACEHOLDER

INFO: We're using inline =#+HTML= notation in favor of the much more

readable =#+BEGIN_EXPORT html= notation, because GitHub uses legacy

Org parsers and wouldn't render the latter. GitHub would render

the legacy notation =#+BEGIN_HTML= which will not be properly

exported from Emacs, because it's legacy. Hence the glorious

solution: Write all HTML in one line.

#+HTML:

** Getting started :PROPERTIES: :CUSTOM_ID: getting_started :END:

To get you started, we have two kinds of documentation:

  1. [[https://organice.200ok.ch/sample][Interactive Tutorial]]
  2. [[https://organice.200ok.ch/documentation.html][Documentation (User manual and developer guide)]]

The [[https://organice.200ok.ch/sample][interactive tutorial]] allows users to explore and experiment with various org-mode functionalities directly within the application. It provides hands-on examples of tasks, tables, timestamps, and (most) other features.

On the other hand, the [[https://organice.200ok.ch/documentation.html][documentation]] contains more comprehensive and formal documentation, including installation instructions, deployment guides, contribution guidelines, and technical details about the project's architecture and development process. This file is aimed at both users seeking in-depth information and developers interested in contributing to the project.

** Community chat

Community chat:

** Sponsors

Creating and maintaining organice is made possible by all the volunteering [[https://github.com/200ok-ch/organice/graphs/contributors][contributors]] and [[https://github.com/sponsors/200ok-ch][sponsors]]. If you enjoy using organice, and want to sponsor the development of Free and Open Source software, you can do so with [[https://github.com/sponsors/200ok-ch][Github Sponsors]] and [[https://www.patreon.com/200ok][Patreon]].🙏

#+HTML:

@mxparker @nuts4nuts4nuts @dtvillafana

And one huge anonymous sponsor.

** What does this project do? :PROPERTIES: :CUSTOM_ID: what-does-this-project-do :END:

organice is an implementation of [[http://orgmode.org/][Org mode]] without the dependency of [[https://www.gnu.org/software/emacs/][Emacs]]. It is built for mobile and desktop browsers and syncs with [[https://www.dropbox.com/][Dropbox]], [[https://gitlab.com/][GitLab]], and [[https://en.wikipedia.org/wiki/WebDAV][WebDAV]].

At [[https://200ok.ch/][200ok]], we run an instance of organice at https://organice.200ok.ch, which is open for anyone to use! organice does not have a back-end (it's just a front-end application, which uses different back-end storage providers). We don't store any kind of data on our servers - we also don't use analytics on organice.200ok.ch.

[[https://raw.githubusercontent.com/200ok-ch/organice/master/images/screenshot-overview.png]]

** Why is this project useful

Emacs is great, but it's desktop software. For users who want to access or edit their Org mode files whilst on the go, organice is a great choice.

** Introduction

If you prefer a video to some text, we've got you covered! For [[https://emacsconf.org/2019/][EmacsConf 2019]], we've created a 10 minute introductory video into the rationale and usability of organice.

#+html:

You can watch it on:

  • Installation :PROPERTIES: :CUSTOM_ID: installation :END:

organice is a web application. You can use it from any browser. On iOS and Android, you can install organice to your homescreen. When started from there, it will run in full-screen as a Progressive Web Application (PWA) which will add offline capabilities (see chapters [[#progressive_web_app][progressive web app]] and [[#offline_support][offline support]]).

To install organice to the homescreen follow these platform specific instructions:

  • iOS:

    Open organice in Mobile Safari. Tap the "share" button and select "Add to Home Screen".

  • Android:

    The exact procedure may differ depending on your browser and Android version. If you discover improvements to the following procedure, please [[https://organice.200ok.ch/documentation.html#contributing][let us know]]!

    First open the organice web page in your mobile browser.

    • On Chrome, tap the "menu" button (three vertically stacked dots) and select "Add to homescreen".

    • On Firefox, "menu" button (three vertically stacked dots) and select "Install". If you don't have that option, you may have one to tap the home icon with the plus sign inside it which is immediately to the right of the URL in the address bar.

    • Other browsers may have a similar procedure to one of these.

    At this point, most browsers will present a popup banner with the option to "Add to homescreen" or "Install".

By default, when you start organice, it will display your root file directory. If you prefer to display a specific Org file instead, you can select it in the [[https://organice.200ok.ch/settings][file settings]].

  • Usage :PROPERTIES: :CUSTOM_ID: usage :END: ** Current restrictions/expectations of organice

"Current" means we're working hard on removing the following restrictions and expectations.

  • organice understands only a few in-buffer settings (see [[#in_buffer_settings][Supported in-buffer configuration]])
    • Other in-buffer settings are imported and re-exported but are not editable with organice.
  • Other content before the first headline is imported and re-exported, but invisible and currently not editable with organice.
  • After potential in-buffer settings, your Org file has to begin with a headline.

Apart from these restrictions, organice is very robust in reading and editing your Org file and not breaking any of it. We're having users with 10'000 lines in their files including all kinds of native Org functionality - and even these files work just fine in organice!

Generally, when working with distributed Org files, we're recommending to put them under version control and to check for bugs and racing conditions between clients.

Please [[https://github.com/200ok-ch/organice/issues/new][file an issue]] if you find additional restrictions, expectations or bugs that you wouldn’t have expected.

*** Background information :PROPERTIES: :CUSTOM_ID: background-information :END:

organice has [[https://github.com/200ok-ch/organice/blob/master/src/lib/parse_org.js][a custom parser]] for Org files. It works quite fine and has unit tests to prove it. One of the quality goals for the parser is that when it parses and re-exports an Org file, it should not change the original file. Not seeing unrelated diffs is important for the productivity of the user. It sounds trivial, but lots of alternative products do not live up to this expectation.

Writing a parser for a complex syntax like Org mode in custom code is hard. Therefore, we are in the process of implementing a proper EBNF based parser and a set of tests behind that. If you're interested, please check it out: [[https://github.com/200ok-ch/org-parser]]

The strategy we're using with regard to the parser is this:

  • Keep improving the existing custom parser for new features and make bug fixes as long as the new one isn't ready.
  • In parallel, work on the new one until there is feature parity between both parsers.
  • When the new one is finished, integrate it into organice.

** Progressive Web App :PROPERTIES:

readme truncated — read the full docs on github

Frequently asked questions

Is organice free to use?

organice is open source under the AGPL-3.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does organice do?

An implementation of Org mode without the dependency of Emacs - built for mobile and desktop browsers

What is organice written in?

organice is primarily written in JavaScript. Its source is publicly available at https://github.com/200ok-ch/organice, and it has 2,671 GitHub stars.