organ-mode
https://github.com/mahmoodsh36/organ-mode is an alternative to
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:
the agenda mode doesnt yet provide as many features as org-agenda, and doesnt yet provide a menu similar to org-agenda's for manipulating states.
default keybindings:
related variables:
org-mode for the lem text editor. it tries to maintain compatibility with org's syntax to some degree that will be defined at some point, but that should be enough that for most use-cases it should behave like org-mode would.
organ-mode is built on cltpt.installation
the repo at https://github.com/mahmoodsh36/lem is a fork that hasorgan-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
./leminitial configuration
out of hte box, only syntax-highlighting and single-buffer workflows will be working. to get cross-file workflows (such asorgan-agenda and organ-roam) we may use the following minimal configuration:
(setf organ:*organ-files*
'((:path ("/home/<user>/notes1/"
"/home/<user>/notes2/")
:glob "*.org"
:format "org-mode")))roadmap
note that this is distinct from the roadmap forcltpt.
- [ ] proper packaging for lem
- [-] roam (idea from org-roam)
- [X] node navigation
- [ ] backlinks buffer
- [-] agenda (idea from org-agenda)
- [-] agenda buffer
- [X] todo navigation
- [ ] next/previous week, or more generally display specific date range
- [ ] todo state handling/modification for headers
- [-] agenda buffer
- [ ] element folding
- [ ] headers
- [ ] blocks
- [ ] drawers
- [ ] babel (idea from org-babel)
- [ ] code execution
- [ ] code "fontification"
- [X] buffer navigation by element (headers, blocks, etc)
- [-] element-specific/quick actions
- [ ] list-specific actions (insert new list item on enter)
- [ ] reformatting
- [ ] new item
- [ ] reordering (dragging elements above/below etc)
- [-] table-specific actions
- [ ] new row/column
- [ ] delete row/column
- [X] reformatting
- [ ] next/previous cell (using tab/shift-tab)
- [ ] reordering (dragging elements above/below etc)
- [ ] org-header
- [ ] reordering (dragging elements above/below etc)
- [ ] demote/promote header subtrees
- [ ] list-specific actions (insert new list item on enter)
- [ ] inline image display
- [ ] "live" latex previews
documentation
global keys
| key | description | function |
C-c a | open organ-agenda | agenda-mode-open |
C-c r | open organ-roam node navigation list | roam-find |
organ-mode
| key | description | function |
C-c C-n | go to next heading | organ-next-header |
C-c C-p | go to previous heading | organ-prev-header |
C-c n | go to next element | organ-next-element |
C-c p | go to previous element | organ-next-element |
C-c C-x C-n | go to next link | organ-next-link |
C-c C-x C-p | go to previous link | organ-prev-link |
C-c C-v C-n | go to next src-block | organ-next-src-block |
C-c C-v C-p | go to previous src-block | organ-prev-src-block |
| modify timestmap at point | organ-insert-timestamp |
organ-roam
- node roamer (find headers/files/etc) can be started using
C-c r.
| variable | description |
organ:*organ-files* | a set of rules for finding files. see docstring of cltpt/roam:find-files |
organ-agenda
once the variable*organ-files* has been customized, organ-agenda can be opened using C-c a.
the agenda mode doesnt yet provide as many features as org-agenda, and doesnt yet provide a menu similar to org-agenda's for manipulating states.
default keybindings:
| key | description | function |
| change the TODO state of the task under cursor | agenda-mode-change-task-state | |
M-n | go to next item in the tree | outline-next-true-sibling |
M-p | previous item in the tree | outline-previous-true-sibling |
C-M-n | next item in the tree that is of the same level | outline-next-sibling |
C-M-p | previous item in the tree that is of the same level | outline-previous-sibling |
M-u | go ot parent | outline-go-to-parent |
return | go to source of todo entry. | outline-action-at-point |
tab | exapnd/collapse node. | outline-expand-collapse |
q | quit | outline-quit |
| variable | description |
cltpt/agenda:*agenda-include-done* | whether to include agenda nodes that are in one of the `*done-states*'. |
cltpt/agenda:*agenda-time-format* | time format displayed in agenda trees. |
cltpt/agenda:*agenda-seqs* | definitions that are used to determine agenda state changing behavior |