A single-page static site for zz-iot.org, built to live on GitHub Pages.
site/index.html— the page itself (no build step, no Jekyll required)site/CNAME— domain pointer for GitHub Pagessite/404.html— minimal 404 that matches the page's typographysite/.nojekyll— tells GitHub Pages to serve files as-is (no Jekyll processing)
The simplest path:
- Put the contents of
site/at the root of yourzz-iot.github.iorepo (or whichever repo you'll publish from). - In repo Settings → Pages, set source to the appropriate branch /
/(root). - The
CNAMEfile points the deploy atzz-iot.org. Add the matching DNS records on your registrar (anA/AAAAset orCNAMEto<user>.github.io). - The
.nojekyllfile disables Jekyll's underscore-folder rules — useful if you ever reference assets in_assets/etc.
No build, no dependencies. Edit index.html directly.
Three layers, all in index.html:
- The address never appears as a literal string in source — pieces are base64'd and assembled at render.
- The visible form is the
[at]/[dot]convention (still readable to humans, hostile to naive regex scrapers). - The actual
mailto:is only constructed when the user clicks — and only then is the@character produced (viaString.fromCharCode(64)).
A <noscript> fallback shows the obfuscated form for readers without JS.
The chevron mark is inline SVG in index.html. It also serves as the favicon (also inline, as a data URL). Swap by editing both the masthead <svg> and the <link rel="icon"> data URL.