|
1 | 1 | # protogen site |
2 | 2 |
|
3 | | -The site behind **[protogen.marcgravell.com](https://protogen.marcgravell.com)**: generate C# and |
| 3 | +The site behind **[protobuf-net.dev](https://protobuf-net.dev)**: generate C# and |
4 | 4 | VB.NET from `.proto` schemas, and pull apart raw protobuf payloads without a schema. |
5 | 5 |
|
6 | 6 | Everything runs in the browser. There is no server, no API and no upload — schemas and payloads |
@@ -54,13 +54,40 @@ Three details that matter for Pages: |
54 | 54 | domain and under the `/protogen-site/` subpath of the default `*.github.io` URL. Anything that |
55 | 55 | resolves the .NET runtime at load time must go through `import.meta.env.BASE_URL`; a leading |
56 | 56 | slash silently breaks the subpath case. |
57 | | -- `web/public/CNAME` carries the custom domain. It only takes effect once the domain is set in |
58 | | - the repo's Pages settings *and* DNS has a `CNAME` record for `protogen` pointing at |
59 | | - `protobuf-net.github.io`. |
| 57 | +- `web/public/CNAME` names the custom domain. With artifact-based deploys this file does not by |
| 58 | + itself change anything — the domain in the repo's Pages settings is what takes effect. Keep them |
| 59 | + in agreement. |
60 | 60 | - `web/public/.nojekyll` stops Jekyll stripping the `_framework` directory, which would otherwise |
61 | 61 | be ignored for starting with an underscore. The artifact-based deploy does not run Jekyll, but |
62 | 62 | the file guards against a future switch to branch-based publishing. |
63 | 63 |
|
| 64 | +### DNS for the apex domain |
| 65 | + |
| 66 | +`protobuf-net.dev` is an apex (naked) domain, so it cannot use a `CNAME` record — that is only |
| 67 | +valid for subdomains. Point it at GitHub's Pages addresses instead: |
| 68 | + |
| 69 | +``` |
| 70 | +A protobuf-net.dev 185.199.108.153 |
| 71 | +A protobuf-net.dev 185.199.109.153 |
| 72 | +A protobuf-net.dev 185.199.110.153 |
| 73 | +A protobuf-net.dev 185.199.111.153 |
| 74 | +
|
| 75 | +AAAA protobuf-net.dev 2606:50c0:8000::153 |
| 76 | +AAAA protobuf-net.dev 2606:50c0:8001::153 |
| 77 | +AAAA protobuf-net.dev 2606:50c0:8002::153 |
| 78 | +AAAA protobuf-net.dev 2606:50c0:8003::153 |
| 79 | +``` |
| 80 | + |
| 81 | +If the DNS host supports `ALIAS`/`ANAME` at the apex, a single record to `protobuf-net.github.io` |
| 82 | +is preferable — it tracks GitHub's addresses if they ever change. |
| 83 | + |
| 84 | +Optionally add `CNAME www protobuf-net.github.io`; GitHub redirects `www` to the apex. |
| 85 | + |
| 86 | +`.dev` is on the HSTS preload list, so browsers will only ever load this over HTTPS. GitHub |
| 87 | +provisions the certificate automatically once DNS resolves; until then the site is unreachable on |
| 88 | +the custom domain, which is why the domain should be set in Pages settings *after* the records |
| 89 | +are live. |
| 90 | + |
64 | 91 | ## Scope |
65 | 92 |
|
66 | 93 | **C# and VB.NET only.** The old site also offered C++, Java, JavaScript, Objective-C, PHP, Python |
|
0 commit comments