A tool to visualize org-mode ownership boundaries when parsing.
Go to file
2023-08-25 02:02:57 -04:00
docker Parameterize the emacs and org-mode versions in the dockerfile. 2023-08-25 02:02:57 -04:00
notes Add notes from plain list ownership investigation. 2023-08-19 01:10:42 -04:00
readme Add a README. 2023-08-18 21:35:39 -04:00
src Handle nodes that do not have a contents begin like fixed width areas. 2023-08-20 16:25:57 -04:00
static Remove log statement. 2023-08-18 23:33:48 -04:00
.dockerignore Add notes from plain list ownership investigation. 2023-08-19 01:10:42 -04:00
.gitignore Initial commit. 2023-08-17 02:52:58 -04:00
Cargo.lock Set cache control headers for the static files. 2023-08-18 15:50:22 -04:00
Cargo.toml Set cache control headers for the static files. 2023-08-18 15:50:22 -04:00
LICENSE Add axum, nom, and tokio. 2023-08-17 02:55:59 -04:00
README.md Add a print to announce the server is running. 2023-08-18 22:32:01 -04:00

Org-Mode AST Investigation Tool

This repository contains a slapdash tool to make visualizing the abstract syntax tree of an org-mode document easier. Write your org-mode source into the top text box, and below on the right it will create a clickable tree of the AST. When you click on a node, the contents of that node will be highlighted on the left.

Screenshot showing the interface to the org-mode abstract syntax tree investigation tool.

Running

Running in docker is the recommended way to run this. It creates a consistent working environment, without impacting (or requiring you to install) emacs, org-mode, or rust.

Docker

First we need to build the docker container. On the first run, this will pull the emacs and org-mode source code so this build will take a while the first time. After that, subsequent builds should be fast because docker caches the layers.

# from the root of this repository:
make --directory=docker

Next we need to launch the server:

docker run --rm --publish 3000:3000/tcp org-investigation

This launches a server listening on port 3000, so pop open your browser to http://127.0.0.1:3000/ to access the web interface.

No docker

You will need a fully functional rust setup with nightly installed (due to the use of exit_status_error). Then from the root of this repo you can launch the server by running:

cargo run --release

It will use your installed version of emacs and org-mode which may differ from what the docker users are using.

This launches a server listening on port 3000, so pop open your browser to http://127.0.0.1:3000/ to access the web interface.