A tool to visualize org-mode ownership boundaries when parsing.
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Tom Alexander 3760358783
Compile the elisp ahead of time so it is not done on every docker container launch.
7 months ago
docker Compile the elisp ahead of time so it is not done on every docker container launch. 7 months ago
notes Add notes from plain list ownership investigation. 8 months ago
readme Add a README. 8 months ago
scripts Use read-only root for docker containers. 8 months ago
src Update org-mode version. 8 months ago
static Remove log statement. 8 months ago
.dockerignore Add notes from plain list ownership investigation. 8 months ago
.gitignore Initial commit. 8 months ago
Cargo.lock Set cache control headers for the static files. 8 months ago
Cargo.toml Get the versions of emacs and org-mode and write them to stdout. 8 months ago
LICENSE Add axum, nom, and tokio. 8 months ago
README.md Use read-only root for docker containers. 8 months ago

README.md

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 --init --rm --publish 3000:3000/tcp --read-only --mount type=tmpfs,destination=/tmp 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.

(alternatively, you can run the scripts/launch_docker.bash script which performs these two steps.)

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.