Add azmsh.net/ch short URL for the Suggested Channels page - #29
Merged
Skordy merged 1 commit intoJul 26, 2026
Merged
Conversation
Adds a meta-refresh redirect stub at /ch that points to /docs/suggested_channels.html, so the page can be linked from byte-constrained Meshtastic messages. Raw HTML rather than a Markdown page because the `offline` plugin disables directory URLs, so a ch.md would build to /ch.html (17 chars) instead of /ch (12). MkDocs copies non-Markdown files through verbatim. Includes rel=canonical to the real page and noindex so it does not compete with it in search, plus a visible fallback link for clients that do not honour meta-refresh. Additive and reversible: deleting docs/ch/ removes it entirely.
Skordy
approved these changes
Jul 26, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this adds
A single new file,
docs/ch/index.html, that makesazmsh.net/chredirect tohttps://azmsh.net/docs/suggested_channels.html.Why
The AZ Mesh G2 Base node auto-acknowledges incoming Meshtastic messages, and we'd like that acknowledgement to point people at the Suggested Channels page so newcomers can find the community channels on their own.
The catch is budget. Meshtastic text payloads are hard-capped at 237 UTF-8 bytes, and the auto-ack path rejects an over-length message rather than truncating it — so a link that doesn't fit doesn't just get cut short, the whole ack fails to send. Every character is a real constraint.
https://azmsh.net/docs/suggested_channels.html— 46 characters, roughly a quarter of the usable message.azmsh.net/ch— 12 characters.That difference buys back room for actual words in the ack.
Alternatives considered
A third-party shortener (bit.ly and friends.) Counterintuitively this is longer — a bit.ly link runs ~14 characters, so it costs more bytes than the thing it's replacing. It also routes every click through a third party and logs it there. Keeping the redirect on
azmsh.netis both smaller and keeps visitor data on our own infrastructure.A Cloudflare redirect rule. This would mean flipping
azmsh.netto proxied. That's a much bigger blast radius — TLS, caching, and every existing record — in exchange for a one-line redirect. Not a trade worth making here.Implementation notes
It's raw HTML rather than a Markdown page on purpose. The
offlineplugin inmkdocs.ymldisables directory URLs, so ach.mdwould build to/ch.html—azmsh.net/ch.htmlis 17 characters, which gives back most of what we're trying to save. MkDocs copies non-Markdown files out ofdocs/verbatim, so this lands at/ch/index.htmland GitHub Pages serves it for/ch(301 to/ch/).The stub also includes:
rel=canonicalpointing at the real Suggested Channels page.noindex, followso it doesn't compete with that page in search results.../docs/suggested_channels.html) rather than an absolute one, so it resolves correctly on fork/preview builds served from a sub-path as well as onazmsh.net.There's a comment block in the file explaining the raw-HTML choice, so it doesn't look like an accident to whoever finds it next.
Risk
Additive and reversible.
/ch,/c, and/channelsall return 404 today, so there's no collision — re-verified against the live site immediately before opening this PR. Deletingdocs/ch/removes the feature entirely; nothing else changes.Testing
Built locally with
mkdocs build --strict(same command CI runs) — passes. Diffed the built site against a baseline build without this change: the only difference in the entire output tree is the newch/directory, anddocs/suggested_channels.htmlis byte-identical. Served the build locally and confirmed the chain end to end:/ch→ 301 →/ch/→ 200, meta-refresh target resolves to the Suggested Channels page (200, correct title). The stub does not appear insitemap.xml.One note on the branch
This branch is cut from the fork's
main, which is currently a few commits behind upstream, because the token I have can't push branches carrying the workflow changes in between. The fork'smainis a strict ancestor of upstreammain, so the diff here is exactly the one new file and it merges cleanly — but wanted to flag it rather than have it look odd. Happy to re-cut from a syncedmainif you'd prefer.