wellmimir.com
The website for Mimir. Plain HTML, CSS and a little JavaScript: no build step.
index.html is the home page, start/ the Getting started guide (real screenshots assets/img/start-*.webp, taken from Mimir's browser preview), privacy.html the privacy page, 404.html the page for a wrong address.
assets/css/site.css holds the look, in Mimir's own colours (midnight, teal and gold).
assets/js/site.js points every download button at the newest published release in
ZipEmUp-source/Mimir-releases, with its size and Norse name.
A draft release never shows here; publishing one updates the site by itself. "Check your download" under the buttons lists
each installer's SHA-256 from the same answer (GitHub's digest for the asset), so it never needs changing by hand.
pair/ is the page desktop Mimir's phone-pairing QR opens (assets/js/pair.js). The address and code ride the link's
fragment, which the browser never sends anywhere, and leave the address bar as soon as they are read. GitHub Pages cannot
send headers (no CSP, HSTS or frame-ancestors), so the page refuses to show a code inside another site's frame and says
in plain words that the code is secret; a Content-Security-Policy in a meta tag lets it load only its own files and the fonts.
developer/ is the credits monitor for Mimir's developers (assets/js/developer.js, assets/css/developer.css): sign in with an
emailed code, then it reads the mimir_admin_* functions of the account service: credits, and the bug reports people and Mimir's error checker send
(mark each checked, fixed or ignored). Its Messages panel writes free messages to one
user or to everyone and reads their answers (mimir_admin_inbox / _thread / _send; people read and answer in Mimir's
Settings → Account and Mimir Mobile's Settings → Messages). It is kept out of search (noindex, robots.txt). Two locks, both kept by the account service: the account must be on the developers' list, and the session must have passed an authenticator app's code in the last twelve hours (the page sets one up the first time; Mimir's supabase/README.md, step 4). A Content-Security-Policy lets the page talk only to the account service.
assets/img/ holds the eye, the icons, the link-preview card (og-card.jpg) and real screenshots of Mimir.
To look at it on this computer: python -m http.server 4620 --directory C:\Dev\wellmimir-site, then open http://localhost:4620.
Things to change when a release ships
- The accounts section's badge says "Updated in v0.21" (v0.21.0 "Hliðskjálf" added Your computers).
- The privacy page's "Your phone" section follows the phone link: if notifications stop going through Expo's push service, or the link starts relaying through a server, change it there.
Hosting (GitHub Pages, free)
-
Push this folder to a public repository, for example ZipEmUp-source/wellmimir.com.
-
Settings → Pages: deploy from the main branch, folder /. The CNAME file already says wellmimir.com.
-
At Squarespace (Domains → wellmimir.com → DNS), delete the Squarespace default records for @ and www, then add:
| Host | Type | Value |
|---|
| @ | A | 185.199.108.153 |
| @ | A | 185.199.109.153 |
| @ | A | 185.199.110.153 |
| @ | A | 185.199.111.153 |
| www | CNAME | zipemup-source.github.io |
-
When GitHub says the domain is checked, tick Enforce HTTPS (it can take up to a day).
Email for sign-in codes (Resend)
The records Resend shows for wellmimir.com go in the same Squarespace DNS page. Put only the part before
.wellmimir.com in Squarespace's Host field:
| Host | Type | Value |
|---|
| send | MX, priority 10 | the mail server Resend shows |
| send | TXT | the SPF value Resend shows |
| resend._domainkey | TXT | the DKIM value Resend shows |