|
| 1 | +# libsrc.dev |
| 2 | + |
| 3 | +A small Eleventy landing page for the libsrc GitHub organization. Static HTML and CSS, with no browser JavaScript or external fonts. Project content lives in `src/_data/site.json`. |
| 4 | + |
| 5 | +## Local development |
| 6 | + |
| 7 | +Install Node.js 22 or newer, then run: |
| 8 | + |
| 9 | +```sh |
| 10 | +npm ci |
| 11 | +npm run dev |
| 12 | +``` |
| 13 | + |
| 14 | +Open the localhost URL printed by Eleventy. `npm run build` generates the deployable site in `_site/`. |
| 15 | + |
| 16 | +### Typography |
| 17 | + |
| 18 | +The local preview uses TT Firs Neue Regular and Medium from the supplied trial archive. These files live in ignored `.local/fonts/` and are copied only in Eleventy's serve mode. The included TypeType trial license permits evaluation but restricts public webpages. Production builds clean `_site/` first to prevent preview fonts from being deployed, and use the system sans-serif fallback. For public TT Firs Neue use, replace the trial with licensed webfont files and enable their font-face rules in the production stylesheet. |
| 19 | + |
| 20 | +The online dependency audit currently reports advisories in Eleventy's development dependencies, with no suitable stable upgrade offered. The deployed output contains only static files; keep the development server local and use trusted build inputs. |
| 21 | + |
| 22 | +## Deploy to GitHub Pages |
| 23 | + |
| 24 | +1. Push this project to an organization repository, preferably `libsrcdev/libsrcdev.github.io`, on the `main` branch. |
| 25 | +2. In repository **Settings → Pages**, set the source to **GitHub Actions**. Run the included deployment workflow if it hasn't run yet. |
| 26 | +3. Set the Pages **Custom domain** to `libsrc.dev` and save it before changing DNS. An Actions deployment uses this setting; a `CNAME` file is not required. |
| 27 | +4. At your DNS provider, point the apex (`@`) to GitHub Pages using these four A records: |
| 28 | + |
| 29 | + | Type | Name | Value | |
| 30 | + | --- | --- | --- | |
| 31 | + | A | @ | 185.199.108.153 | |
| 32 | + | A | @ | 185.199.109.153 | |
| 33 | + | A | @ | 185.199.110.153 | |
| 34 | + | A | @ | 185.199.111.153 | |
| 35 | + |
| 36 | + Replace conflicting website A/AAAA records; preserve mail and TXT records. Alternatively, use an ALIAS/ANAME to `libsrcdev.github.io` if your provider supports it. Optional `www`: CNAME to `libsrcdev.github.io`. |
| 37 | +5. Once GitHub provisions the certificate, enable **Enforce HTTPS**. DNS and certificate provisioning can take up to 24 hours. |
| 38 | +6. Add the domain verification TXT record supplied by the service requiring verification. Use its exact host/name and value, not a placeholder. This is separate from any GitHub domain verification TXT record. |
| 39 | + |
| 40 | +Official reference: [GitHub Pages custom domain setup](https://docs.github.com/en/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site). |
| 41 | + |
| 42 | +## Verify the eligible domain |
| 43 | + |
| 44 | +```sh |
| 45 | +curl --head https://libsrc.dev/ |
| 46 | +dig libsrc.dev A +short |
| 47 | +dig libsrc.dev TXT +short |
| 48 | +``` |
| 49 | + |
| 50 | +The HTTPS HEAD request must return **HTTP 200 directly**, without requiring a redirect, login, or challenge. Do not use `curl -L` when checking this requirement. Query the specific TXT hostname supplied by the verification service if it is not the apex. |
| 51 | + |
| 52 | +`libsrc.dev` is an apex domain. Eleventy generates its homepage, but the hosting provider serves HTTP requests and TLS; a local build alone does not prove domain eligibility. Deployment, DNS access, the issued certificate, and the live HEAD response must all be verified before submitting the domain. |
0 commit comments