add landing site for the Microsoft Store submission
Pull request / build (pull_request) Successful in 47s
Pull request / build (pull_request) Successful in 47s
A bilingual (EN/RU) static page in site/, split into index.html, styles.css, boot.js and main.js, with a favicon.svg. Documents placement modes, per-mode look, the Caps Lock shortcut and a privacy policy — the last is meant to double as the Partner Center privacy policy URL. STORE_URL is still a placeholder in both download buttons until the Store listing exists.
This commit is contained in:
@@ -370,3 +370,47 @@ dotnet build Packaging\Installer\CursorLang.wixproj -p:SuppressValidation=false
|
||||
Three of its rules stay suppressed even then. MSI assumes an installation for the
|
||||
whole machine, and installing into the user's own profile trips rules that
|
||||
describe exactly what was intended here.
|
||||
|
||||
## The site
|
||||
|
||||
`site/index.html` is the page the Store listing points at: what the application
|
||||
does, and a privacy policy saying that it collects nothing. Partner Center leaves
|
||||
the policy optional for an app that gathers no data, but a page saying so out
|
||||
loud is what takes the question off the reviewer's desk.
|
||||
|
||||
The whole of it is five files in `site`, and nothing is fetched from anywhere
|
||||
else — no framework, no build step, no font from a network:
|
||||
|
||||
| File | What is in it |
|
||||
|---|---|
|
||||
| `index.html` | The markup, both languages at once |
|
||||
| `styles.css` | Every rule, the palette included |
|
||||
| `boot.js` | The language and the theme of an earlier visit, before the first frame |
|
||||
| `main.js` | The rest: the switches, the menu, the demo, the preview |
|
||||
| `favicon.svg` | The same dark plate with "Aя" as the application icon |
|
||||
|
||||
`boot.js` is small and separate for one reason: it has to run before the body is
|
||||
parsed. It reads what was chosen last time and puts it on the `<html>` element,
|
||||
and without it the first frame would be English in the system theme and correct
|
||||
itself a moment later, in plain sight. `main.js` works on markup that has to
|
||||
exist by then, so it is deferred instead.
|
||||
|
||||
Both languages live in the markup at once, and a switch in the corner picks one.
|
||||
Every translated piece is a `<span lang="en">` beside a `<span lang="ru">`, and
|
||||
whichever does not match the language on the `<html>` element is hidden by a rule
|
||||
of two lines. With the scripts switched off the page still reads, in English.
|
||||
|
||||
Publishing means copying the five files as they are. Before that, two things are
|
||||
still waiting for an address.
|
||||
|
||||
The Store listing is the first: the two download buttons are
|
||||
`<span class="btn disabled" role="link">` rather than links, because a
|
||||
placeholder in `href` would be a relative address and anything following it would
|
||||
land on a 404. The address turns each of them back into
|
||||
`<a class="btn" href="…">` and takes the note beside it away.
|
||||
|
||||
The address of the site itself is the second, wanted by three tags the head does
|
||||
not carry yet: `og:image`, `og:url` and the canonical link.
|
||||
|
||||
Support goes to `support@alrakis.kz`: it stands in the privacy section, under the
|
||||
download buttons and in the footer.
|
||||
|
||||
Reference in New Issue
Block a user