|
| 1 | +# How the Programming Guide is built |
| 2 | + |
| 3 | +## The data |
| 4 | +The main contents are in the https://github.com/squid-cache/programming-guide.github.io github repository, |
| 5 | +and are published via github pages, at address https://programming-guide.squid-cache.org/ |
| 6 | + |
| 7 | +The pages are automatically refreshed daily from a checkout of the squid sources |
| 8 | +by a [github workflow](https://github.com/squid-cache/programming-guide.github.io/blob/main/.github/workflows/gen-docs.yaml). |
| 9 | + |
| 10 | +The doxyfile in the squid sources is not used, |
| 11 | +as it is stricly tied to the version of the programming guide which is embedded in the squid main site. |
| 12 | +This unfortunately means that the graphic theme doesn't match the squid site. |
| 13 | + |
| 14 | +In order to preserve links and references, apache redirect rules are in place |
| 15 | +via mod_rewrite in `master.squid-cache.org.conf` to ensure that there are no |
| 16 | +dangling links. |
| 17 | + |
| 18 | +In order to be able to publish the github pages site, the automations need |
| 19 | +to rely on the `PUSH_TOKEN` repository secret, which needs to be refreshed |
| 20 | +at least once a year. |
| 21 | + |
| 22 | +## Transitional measures |
| 23 | +The squid main site still contains the full programming guide, and it's still |
| 24 | +refreshed daily from the sources. It is not however served, as it |
| 25 | +is masked by the redirect to the github pages. |
| 26 | +Once we are fully satisfied that it's no longer needed, we can |
| 27 | +remove the generation logic, the copy of the contents, and the |
| 28 | +related configuration files in the squid sources. |
0 commit comments