organ-mode quickstart

installation

using nix

if you are using nix, you can grab lem with all the latest features with:
nix run github:mahmoodsh36/lem#lem-webview

using qlot

the repo at https://github.com/mahmoodsh36/lem is a fork that has organ-mode and cltpt pre-installed for use. i will be keeping the repo in sync with the upstream master branch as much as possible.
to install lem from this branch you can just install it like you would install lem from the upstream master branch. after cloning this repo, you may follow the instructions at https://lem-project.github.io/installation/webview/ to install.
theoretically, once you install the dependencies listed in the linked page, you only have to build:
# install CL dependencies
qlot install
# build the webview client
make webview
# launch the lem binary
./lem

configuring files for roam/agenda

out of the box, only syntax highlighting and single-buffer workflows will be working. to get cross-file workflows (such as organ-agenda and organ-roam) and make organ-mode aware of your notes, we may use the following minimal configuration:
(setf organ:*organ-files*
      '((:path ("/home/<user>/notes1/"
                "/home/<user>/notes2/")
         :glob "*.org"
         :format "org-mode")))

using organ-roam/organ-agenda

after having configured *organ-files* we may now use be able to use things like roam-find and agenda-mode-open. roam-find will give us a list of entries from our notes (files, headers, blocks) that we may be able to navigate to.
if we set *organ-files* to point to the files we have in the tests dir of the cltpt codebase like:
(setf organ:*organ-files*
      `((:path "cltpt/tests/"
         :glob "*.org"
         :format "org-mode")))
then using the command roam-find (or the keybinding C-c r r), we may get a prompt like the following which allows us to navigate to different nodes in the files (make sure you have *automatic-tab-completion* enabled for auto-completion).

we may also be able to use agenda-mode-open which is bound to C-c r a and is also aware of our org files. this will give us a popup similar to the following:

some of the keys you recognize from org-agenda such as C-c C-t to change the task state already work in the agenda buffer and in organ-mode buffers too.
before starting the agenda, when hitting C-c r, you get a list of options throguh the transient interface that you can modify such as the date display range:

using organ-capture

to use the "capture" functionality we may define some capture templates. the default ones are:
(defvar *organ-capture-templates*
  '((:key #\d
     :name "default"
     :dir "notes/"
     :if-new "#+title:
#+date: %(organ/utils:format-timestamp)"
     :entry "
* TODO %organ/capture::cursor"
     :filename "todos.org")
    (:key #\n
     :name "new note"
     :dir "notes/"
     :if-new "#+title:
#+date: %(organ/utils:format-timestamp)
#+filetags: :note:
#+identifier: %(organ/capture:unique-timestamp \"notes/\")"
     :filename "%(organ/capture:unique-timestamp \"notes/\").org")))
so pressing C-c r n d will then open a new file with initial contents (if its the first time) and a header with a TODO entry. and C-c r n n will open a new file with pre-inserted contents each time, using the current unix timestamp. these files default to the relative directory "notes/". you may modify this variable to point to a choice directory of your own and modify the templates to your linking.

interactive navigation and modification operations

the documentation Has a more extensive list of the navigation/modification keybindings. the goal is to implement most (or all) of the keybindings that org-mode has and keep them the same. many keybindings that org has such as C-c C-n or C-c C-p for finding the next/previous header (respectively) are already supported. context-sensitive operations are also supportive and the transient popup should keep them dimmed out or highlighted according to the current context in the buffer.
an example screenshot with some context-sensitive keybindings enabled and others dimmed out:

conversion to latex/html

conversion to latex and html is already possible using the export dispatch.

conversion to webapp

the publish dispatch is also available via the public organ-keymap which is available through C-c r. the keybinding for publishing to a webapp is C-c r c p.