Commit a6c124b3cc
Verified · cmc
Layout: unified · split
README.md +9 −14
| @@ -31,7 +31,7 @@ cargo install --path . | ||
| 31 | 31 | That puts an `orgo` command on your `PATH`. Full notes, including how to run it without |
| 32 | 32 | installing anything: <https://krazywarez.github.io/orgo/install.html> |
| 33 | 33 | |
| 34 | ## Your first site | |
| 34 | ## Your First Site | |
| 35 | 35 | |
| 36 | 36 | ```sh |
| 37 | 37 | orgo init my-site |
| @@ -44,7 +44,7 @@ own — that is the loop you will spend your time in. | ||
| 44 | 44 | `init` writes a starter post, a page layout you can edit, and a config file with every |
| 45 | 45 | setting explained in comments. It never overwrites a file you already have. |
| 46 | 46 | |
| 47 | ## Or point it at writing you already have | |
| 47 | ## Org-Mode, Anywhere | |
| 48 | 48 | |
| 49 | 49 | ```sh |
| 50 | 50 | orgo build ~/notes -o _site |
| @@ -62,7 +62,7 @@ Want to know what orgo will make of your files before trusting it with them? | ||
| 62 | 62 | `orgo audit ~/notes` reports which org constructs you use and how each one lands, with |
| 63 | 63 | counts and line numbers — never the text of your writing, so the report is safe to share. |
| 64 | 64 | |
| 65 | ## What you can add when you want it | |
| 65 | ## Additional Features | |
| 66 | 66 | |
| 67 | 67 | Each of these is a few lines of config, and each has a page in the guide: |
| 68 | 68 | |
| @@ -82,21 +82,19 @@ hundreds of them stays instant. | ||
| 82 | 82 | |
| 83 | 83 | ## Speed |
| 84 | 84 | |
| 85 | Publishing one real site — 178 org files, ~180 pages — three ways. Median of three runs | |
| 85 | Publishing one real site ([cleberg.net](https://cleberg.net)) — 178 org files, ~180 pages — three ways. Median of three runs | |
| 86 | 86 | each, measured back to back on one machine: |
| 87 | 87 | |
| 88 | 88 | | | Time | | |
| 89 | 89 | |---|---|---| |
| 90 | 90 | | weblorg (`emacs --script publish.el`) | 49.0s | | |
| 91 | | the same, plus the build script wrapped around it | 50.3s | | | |
| 91 | | weblorg + [build.py](https://github.com/ccleberg/cleberg.net/blob/8ec9cdfeae71068a8924dd9f61b9cc28c947ec31/build.py) | 50.3s | | | |
| 92 | 92 | | orgo, cold build | **0.22s** | 223× faster | |
| 93 | 93 | | orgo, nothing changed since last build | **0.13s** | 377× faster | |
| 94 | 94 | |
| 95 | 95 | That middle row is the interesting one. weblorg alone does not group a blog index by year, |
| 96 | write a tags page, rewrite image URLs, minify CSS or emit a sitemap — so the site's owner | |
| 97 | wrote ~600 lines of Python to do those on top of it, and pays for the whole publish again | |
| 98 | every time. orgo does the first three natively, minification is a build step either way, | |
| 99 | and *it has no sitemap yet* — that one is a real gap, not a win. | |
| 96 | write a tags page, rewrite image URLs, minify CSS or emit a sitemap — so I | |
| 97 | wrote ~600 lines of Python to do those on top of it. orgo does the first three natively. | |
| 100 | 98 | |
| 101 | 99 | Read the numbers with three things in mind. The weblorg figures include Emacs starting and |
| 102 | 100 | loading its packages, which you pay on every publish and cannot avoid. orgo emits 13 pages |
| @@ -104,12 +102,9 @@ weblorg does not, one per tag, so it is doing slightly more work. And the two do | ||
| 104 | 102 | produce byte-identical output — the differences are deliberate and listed under |
| 105 | 103 | [Org support](https://krazywarez.github.io/orgo/guide/05-org-support.html). |
| 106 | 104 | |
| 107 | Deployment is excluded from every row: it is an rsync over someone's network, which | |
| 108 | measures the network. | |
| 109 | ||
| 110 | 105 | Apple M2 Pro, 12 cores, macOS 26.6, Emacs 30.2, orgo built with `--release`. |
| 111 | 106 | |
| 112 | ## The documentation | |
| 107 | ## Docs | |
| 113 | 108 | |
| 114 | 109 | <https://krazywarez.github.io/orgo/> |
| 115 | 110 | |
| @@ -128,7 +123,7 @@ Apple M2 Pro, 12 cores, macOS 26.6, Emacs 30.2, orgo built with `--release`. | ||
| 128 | 123 | | [Auditing](https://krazywarez.github.io/orgo/guide/09-auditing.html) | Reading a corpus before trusting a tool with it. | |
| 129 | 124 | | [Deploying](https://krazywarez.github.io/orgo/guide/10-deploying.html) | Producing a production build, and putting it somewhere. | |
| 130 | 125 | |
| 131 | ## Building from a checkout | |
| 126 | ## Building | |
| 132 | 127 | |
| 133 | 128 | ```sh |
| 134 | 129 | cargo test # includes a differential check against Emacs, when present |