# HG changeset patch # User ellis # Date 1702515661 18000 # Node ID 26a97fc6dcda44b5082fec9fd2022f4522b16e89 # Parent 31db7a83d2c62c5b59770f839c1c2e86a354a5e9 doc updates diff -r 31db7a83d2c6 -r 26a97fc6dcda core/app/organ.org --- a/core/app/organ.org Tue Dec 12 21:50:16 2023 -0500 +++ b/core/app/organ.org Wed Dec 13 20:01:01 2023 -0500 @@ -2,6 +2,22 @@ The =organ= CLI tool is used to manipulate [[https://orgmode.org/][Org Mode]] files. +* Overview +=Org-mode= the application depends on Emacs (it's written in Emacs +Lisp) but that doesn't mean we need to. To solve the issue of +interoperability between different systems, we are developing a tool +called [[https://lab.rwest.io/comp/core/-/tree/branch/default/lisp/lib/organ][organ]]. The purpose of =organ= is to provide an external API for +Org documents that doesn't depend on GNU Emacs. + +If we were designing a /personal/ note-taking system, I would argue +that we don't need this tool. The problem is it's /not/ personal - we +have a much wider intended audience and need to present information in +many different ways. This means thinking about hundreds to thousands +of documents instead of tens, about processing those documents into a +full-text search database, and reducing cost along the way. + +Emacs can do all of these things, but do you really want it to? + * help #+begin_src shell :results pp replace organ -h diff -r 31db7a83d2c6 -r 26a97fc6dcda core/lib/organ.org --- a/core/lib/organ.org Tue Dec 12 21:50:16 2023 -0500 +++ b/core/lib/organ.org Wed Dec 13 20:01:01 2023 -0500 @@ -1,1 +1,19 @@ {{{header(organ,Richard Westhaver,ellis@rwest.io)}}} + +This is a modular tool for extracting information from emacs org-mode +files. It's highly opinionated and only suited for parsing my +documents. This means I may introduce syntax which is not supported by +or which can't be interpreted by Emacs Org-Mode. It also means that +/the complete Org-element API will not be supported/. The most +troublesome of org-mode features are simply ignored. + +This project is driven by the idea that org-mode is pretty cool, but +that previous attempts to build a robust parser implementation have +been hindered by their attempts to clone the functionality as well. + +- *Goals* + - org->sxp :: takes org-mode stream outputs SXP forms + - parallel :: take advantage of multi-threading to parse multiple + trees simultaneously + - composable :: specialized methods for combining and composing + org-mode nodes diff -r 31db7a83d2c6 -r 26a97fc6dcda core/readme.org --- a/core/readme.org Tue Dec 12 21:50:16 2023 -0500 +++ b/core/readme.org Wed Dec 13 20:01:01 2023 -0500 @@ -10,13 +10,13 @@ =============================================================================== Language Files Lines Code Comments Blanks =============================================================================== - Lisp 114 13419 10455 1234 1730 + Lisp 119 13512 10493 1273 1746 ------------------------------------------------------------------------------- - Rust 142 12407 10732 443 1232 + Rust 146 36276 30908 814 4554 |- Markdown 101 804 0 709 95 - (Total) 13211 10732 1152 1327 + (Total) 37080 30908 1523 4649 =============================================================================== - Total 256 25826 21187 1677 2962 + Total 265 49788 41401 2087 6300 =============================================================================== #+end_example