docs/install.org
104 lines · 2946 bytes
Install
- Requirements
- From crates.io
- From source
- Running without installing
- Check that it works
- Running the test suite
- Upgrading
- Next
Requirements
- Rust 1.88 or newer. Install from rustup.rs if you do not have it. There is no other runtime requirement: the binary is self-contained, with syntax definitions and highlighting themes compiled in.
- Emacs (optional). Only the differential test suite uses it, to compare output against org's own exporter. Nothing about building a site needs Emacs.
From crates.io
cargo install orgo
That is the whole thing: cargo builds it and puts orgo in ~/.cargo/bin.
From source
git clone https://github.com/krazywarez/orgo
cd orgo
cargo build --release
The binary lands at target/release/orgo. Copy it somewhere on your PATH:
cp target/release/orgo ~/.local/bin/
Or let cargo do it, which puts it in ~/.cargo/bin:
cargo install --path .
Running without installing
Every command in this documentation works through cargo if you would rather not install
anything. Replace orgo with cargo run -- and add --release for a fast build:
cargo run --release -- build my-site -o _site
The debug build is fine for small sites and noticeably slower on large ones, because syntax highlighting dominates and is not optimised in a debug profile.
Check that it works
orgo --version
orgo init /tmp/orgo-check
orgo build /tmp/orgo-check -o /tmp/orgo-check/_site
You should see a line reporting the pages built:
built 5 page(s) (5 rendered, 0 cached), copied 0 asset(s) ... (0 unresolved link(s), 0 diagnostic(s))
Open /tmp/orgo-check/_site/index.html in a browser, or serve it properly:
orgo serve /tmp/orgo-check -o /tmp/orgo-check/_site
Running the test suite
cargo test
152 tests, covering the parser, the renderer, configuration, generated pages, the incremental cache, the watcher and the development server.
The oracle suite is part of that run and compares output against Emacs:
cargo test --test oracle
It skips cleanly when there is no emacs on your PATH, so a machine without Emacs
still gets a green test run — it simply measures one thing less.
Upgrading
orgo stores an incremental cache in <output>/.orgo-cache.json, tagged with a
format version. A newer binary that changes how output is produced bumps that version,
and a version it does not recognise is discarded in favour of a full rebuild. You never
need to clear the cache by hand after an upgrade — but if you want to:
orgo clean _site
Next
Quick start builds a real site and puts your own writing into it.