changeset 13: |
26a97fc6dcda |
parent 12: |
31db7a83d2c6 |
child 14: |
de53155af111 |
author: |
ellis <ellis@rwest.io> |
date: |
Wed, 13 Dec 2023 20:01:01 -0500 |
files: |
core/app/organ.org core/lib/organ.org core/readme.org |
description: |
doc updates |
1.1--- a/core/app/organ.org Tue Dec 12 21:50:16 2023 -0500
1.2+++ b/core/app/organ.org Wed Dec 13 20:01:01 2023 -0500
1.3@@ -2,6 +2,22 @@
1.4
1.5 The =organ= CLI tool is used to manipulate [[https://orgmode.org/][Org Mode]] files.
1.6
1.7+* Overview
1.8+=Org-mode= the application depends on Emacs (it's written in Emacs
1.9+Lisp) but that doesn't mean we need to. To solve the issue of
1.10+interoperability between different systems, we are developing a tool
1.11+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
1.12+Org documents that doesn't depend on GNU Emacs.
1.13+
1.14+If we were designing a /personal/ note-taking system, I would argue
1.15+that we don't need this tool. The problem is it's /not/ personal - we
1.16+have a much wider intended audience and need to present information in
1.17+many different ways. This means thinking about hundreds to thousands
1.18+of documents instead of tens, about processing those documents into a
1.19+full-text search database, and reducing cost along the way.
1.20+
1.21+Emacs can do all of these things, but do you really want it to?
1.22+
1.23 * help
1.24 #+begin_src shell :results pp replace
1.25 organ -h
2.1--- a/core/lib/organ.org Tue Dec 12 21:50:16 2023 -0500
2.2+++ b/core/lib/organ.org Wed Dec 13 20:01:01 2023 -0500
2.3@@ -1,1 +1,19 @@
2.4 {{{header(organ,Richard Westhaver,ellis@rwest.io)}}}
2.5+
2.6+This is a modular tool for extracting information from emacs org-mode
2.7+files. It's highly opinionated and only suited for parsing my
2.8+documents. This means I may introduce syntax which is not supported by
2.9+or which can't be interpreted by Emacs Org-Mode. It also means that
2.10+/the complete Org-element API will not be supported/. The most
2.11+troublesome of org-mode features are simply ignored.
2.12+
2.13+This project is driven by the idea that org-mode is pretty cool, but
2.14+that previous attempts to build a robust parser implementation have
2.15+been hindered by their attempts to clone the functionality as well.
2.16+
2.17+- *Goals*
2.18+ - org->sxp :: takes org-mode stream outputs SXP forms
2.19+ - parallel :: take advantage of multi-threading to parse multiple
2.20+ trees simultaneously
2.21+ - composable :: specialized methods for combining and composing
2.22+ org-mode nodes
3.1--- a/core/readme.org Tue Dec 12 21:50:16 2023 -0500
3.2+++ b/core/readme.org Wed Dec 13 20:01:01 2023 -0500
3.3@@ -10,13 +10,13 @@
3.4 ===============================================================================
3.5 Language Files Lines Code Comments Blanks
3.6 ===============================================================================
3.7- Lisp 114 13419 10455 1234 1730
3.8+ Lisp 119 13512 10493 1273 1746
3.9 -------------------------------------------------------------------------------
3.10- Rust 142 12407 10732 443 1232
3.11+ Rust 146 36276 30908 814 4554
3.12 |- Markdown 101 804 0 709 95
3.13- (Total) 13211 10732 1152 1327
3.14+ (Total) 37080 30908 1523 4649
3.15 ===============================================================================
3.16- Total 256 25826 21187 1677 2962
3.17+ Total 265 49788 41401 2087 6300
3.18 ===============================================================================
3.19 #+end_example
3.20