{"id":28395264,"url":"https://github.com/tectonic-typesetting/tectonopedia","last_synced_at":"2025-06-27T01:31:28.482Z","repository":{"id":138164969,"uuid":"576834305","full_name":"tectonic-typesetting/tectonopedia","owner":"tectonic-typesetting","description":"The Tectonic reference encyclopedia","archived":false,"fork":false,"pushed_at":"2024-03-15T01:20:26.000Z","size":2790,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-01T06:52:44.851Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tectonic-typesetting.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-MIT","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-12-11T05:57:31.000Z","updated_at":"2024-01-15T04:36:17.000Z","dependencies_parsed_at":null,"dependency_job_id":"8deb6cd8-ace4-45b5-bb70-1483fda77027","html_url":"https://github.com/tectonic-typesetting/tectonopedia","commit_stats":null,"previous_names":["tectonic-typesetting/tectonopedia"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tectonic-typesetting/tectonopedia","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tectonic-typesetting%2Ftectonopedia","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tectonic-typesetting%2Ftectonopedia/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tectonic-typesetting%2Ftectonopedia/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tectonic-typesetting%2Ftectonopedia/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tectonic-typesetting","download_url":"https://codeload.github.com/tectonic-typesetting/tectonopedia/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tectonic-typesetting%2Ftectonopedia/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262172417,"owners_count":23270007,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-05-31T19:39:41.138Z","updated_at":"2025-06-27T01:31:28.451Z","avatar_url":"https://github.com/tectonic-typesetting.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# The Tectonopedia\n\nThe Tectonic reference encyclopedia. The Tectonopedia is a web application\nwhose content is primarily technical documentation that is written using the TeX\ntypesetting language.\n\n\n## Quick Start\n\nTo set up and launch the app and concurrent build server:\n\n```sh\nyarn install\ncargo run --release -- serve --open\n```\n\nThe key directories for editing the encyclopedia are:\n\n- `cls`: shared TeX support files\n- `idx`: encyclopedia index definitions\n- `src`: source for the Rust program\n- `txt`: encyclopedia TeX content\n- `web`: web application frontend code\n\nTo add a new article, create a new file somewhere in the `txt` tree.\n\nYou can open this repository in a [GitHub Codespace][ghcs], edit\nfiles in these directories, and immediately see changes in a running\nversion of the website. (Although, right now it takes a fairly\nlong time to initialize each Codespace container, since there is a\nlot of fetching and compiling to do.)\n\n[ghcs]: https://github.com/features/codespaces\n\n\n## End-to-End Workflow\n\nThe Tectonopedia is created in three main stages:\n\n1. Rust code in `src` is compiled into the `tectonopedia` program.\n1. The `tectonopedia` program compiles TeX source in `txt` into\n   raw HTML (+CSS, etc.) outputs in `build`.\n1. [Parcel.js] combines those HTML outputs with frontend\n   code in `web` to create full web app: either a set of\n   production-ready files, or a hot-reloading development web\n   server.\n\n[Parcel.js]: https://parceljs.org/\n\nThe command `tectonopedia serve`, runnable locally as `cargo run --release -- serve`,\nwill both watch the TeX inputs and manage a Parcel.js development server,\nautomatically rerunning all processing steps except for any recompilations\nof the `tectonopedia` program itself.\n\nSome key support directories in this end-to-end process are:\n\n- `build`: raw HTML+ outputs from the TeX compilation step\n- `cache`: cached intermediate files for the TeX compilation step\n- `dist`: compiled HTML+ outputs from the Parcel bundling step\n- `node_modules`: NPM support modules for the Yarn/Parcel build steps\n- `serve-ui`: the web UI for the build server\n- `serve`: a clone of `build` watched by the `yarn serve` process\n- `target`: compiled executable outputs from the Rust compilation step\n\nTo create a production version of the encylopedia, run: `cargo run --release -- build`.\n(In a devcontainer/Codespace, add the flag `--features=external-harfbuzz` to save\nrebuild time.)\n\n\n## Legalities\n\nThe source code underlying the Tectonopedia is licensed under the MIT License\n(see the file `LICENSE-MIT`).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftectonic-typesetting%2Ftectonopedia","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftectonic-typesetting%2Ftectonopedia","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftectonic-typesetting%2Ftectonopedia/lists"}