The Tectonic reference encyclopedia. The Tectonopedia is a web application whose content is primarily technical documentation that is written using the TeX typesetting language.
To set up and launch the app and concurrent build server:
yarn install
cargo run --release -- serve --openThe key directories for editing the encyclopedia are:
cls: shared TeX support filesidx: encyclopedia index definitionssrc: source for the Rust programtxt: encyclopedia TeX contentweb: web application frontend code
To add a new article, create a new file somewhere in the txt tree.
You can open this repository in a GitHub Codespace, edit files in these directories, and immediately see changes in a running version of the website. (Although, right now it takes a fairly long time to initialize each Codespace container, since there is a lot of fetching and compiling to do.)
The Tectonopedia is created in three main stages:
- Rust code in
srcis compiled into thetectonopediaprogram. - The
tectonopediaprogram compiles TeX source intxtinto raw HTML (+CSS, etc.) outputs inbuild. - Parcel.js combines those HTML outputs with frontend
code in
webto create full web app: either a set of production-ready files, or a hot-reloading development web server.
The command tectonopedia serve, runnable locally as cargo run --release -- serve,
will both watch the TeX inputs and manage a Parcel.js development server,
automatically rerunning all processing steps except for any recompilations
of the tectonopedia program itself.
Some key support directories in this end-to-end process are:
build: raw HTML+ outputs from the TeX compilation stepcache: cached intermediate files for the TeX compilation stepdist: compiled HTML+ outputs from the Parcel bundling stepnode_modules: NPM support modules for the Yarn/Parcel build stepsserve-ui: the web UI for the build serverserve: a clone ofbuildwatched by theyarn serveprocesstarget: compiled executable outputs from the Rust compilation step
To create a production version of the encylopedia, run: cargo run --release -- build.
(In a devcontainer/Codespace, add the flag --features=external-harfbuzz to save
rebuild time.)
The source code underlying the Tectonopedia is licensed under the MIT License
(see the file LICENSE-MIT).