diff options
| author | Leitwolf11 | 2026-10-03 18:21:43 +0300 |
|---|---|---|
| committer | Leitwolf11 | 2026-10-03 18:21:43 +0300 |
| commit | 8738fc4e138745f2d065cf54c25426e3d37c119d (patch) | |
| tree | 65871899976b4e6f0f04d55a50fa209d92b855e1 /README.md | |
| parent | 710dc90b0503cd1de1ae6159e01fb22d1b336aba (diff) | |
| download | website-docs/current-state.tar.gz | |
Bring the documentation up to the published site and fill its gapsdocs/current-state
The documents still described a site in maintenance with two languages and
a forum page with a language menu. They now describe what is published, and
three documents are new.
New, under Documents/:
- README.md: index of the documentation.
- ARCHITECTURE.md: the frontend, the backend and the forum page, what each
serves, what the site deliberately does not contain, and how search
engines and crawlers are treated.
- LOCALIZATION.md: the four languages, how a page picks one, what counts as
a visitor's choice, how Hebrew text is laid out, where the text lives and
how to add a language.
- DEVELOPMENT.md: requirements, the commands of each part, the dependency
locks and checksums, the tests and what CI enforces.
Updated:
- README.md: the site is public; four languages and the browser-language
default; a documentation section; the Dokka gate.
- CONTENT.md: the forum notice without a language menu; translation rules
for four languages, including preferring the term a reader would use over
a literal one; the crawler rules as an owner decision.
- OPERATIONS.md: the live route table; the release steps for the directory
layout on the server, with the SELinux labelling order that caused an
outage once; cache keys for the forum files and CDN caching; maintenance
mode as a fallback instead of the current state; rollback by directory;
checksum regeneration with --refresh-dependencies; the post-release check
for four languages and right-to-left text.
No source file changes.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 32 |
1 files changed, 23 insertions, 9 deletions
@@ -9,7 +9,7 @@ This repository owns the public language website at [xsharp-lang.xyz](https://xs Progmasoft's corporate or account sites. Visual X# uses its own supplied purple leopard SVG identity; the Progmasoft mark is a different brand. -## Routes and rollout +## Routes - `/` answers why Visual X# exists and gives an honest implementation-status caveat. - `/docs/overview` explains the design direction. @@ -17,16 +17,27 @@ the Progmasoft mark is a different brand. - `forum.xsharp-lang.xyz` is a standalone informational page. It is *not* a forum service; accounts and posts do not exist there yet. It stays noindex until a real community forum is launched. -The language domain remains on its maintenance page during the redesign. Do not replace the maintenance Nginx config with -`ops/nginx/xsharp.conf` merely because the new frontend builds. Publishing the site requires content review, route checks, -and an explicit rollout decision. The forum placeholder can be deployed independently. See the -[operations runbook](Documents/OPERATIONS.md) for the exact route and rollout boundaries. +The site is public and served with `ops/nginx/xsharp.conf`. `ops/nginx/xsharp-maintenance.conf` remains in the +repository as the configuration to fall back to when the main domain has to be taken offline. The forum page is +deployed independently of the main site. See the [operations runbook](Documents/OPERATIONS.md) for the route and +release boundaries. + +## Documentation + +- [Architecture](Documents/ARCHITECTURE.md): the three parts of the repository and what each serves. +- [Localization](Documents/LOCALIZATION.md): language selection, text direction and adding a language. +- [Development](Documents/DEVELOPMENT.md): local setup, tests and what CI enforces. +- [Content contract](Documents/CONTENT.md): what the pages may claim and the rules for copy. +- [Operations](Documents/OPERATIONS.md): routes, release steps and rollback. ## Frontend -The frontend is Vue 3 + Vite + TypeScript. It defaults to dark mode and `en-US`, with `de-DE` and `ru-RU` options and a light theme. -Preferences stay in local storage. Motion is limited to short interaction transitions and obeys reduced-motion preferences. -The site uses self-hosted Fira Sans and no third-party runtime font request. +The frontend is Vue 3 + Vite + TypeScript. It is published in `en-US`, `de-DE`, `ru-RU` and `he-IL`. A visitor who has +not chosen a language gets the language of their browser, and `en-US` when the browser prefers none of the four; a +language chosen in the menu is remembered. Hebrew text runs right to left while the page layout stays as it is. The +theme defaults to dark, with a light option. Preferences stay in local storage. Motion is limited to short interaction +transitions and obeys reduced-motion preferences. The site uses self-hosted Fira Sans and no third-party runtime font +request. ```text cd frontend @@ -51,9 +62,12 @@ separate services and uses Next.js with ASP.NET Core 10; neither that stack nor ```text cd backend -gradle test bootJar +gradle test bootJar dokkaGenerate ``` +`dokkaGenerate` builds the API documentation and fails on a public declaration without KDoc, so the backend's +documentation cannot fall behind its code. + The jar is built under `backend/build/libs/`. The server unit in `ops/systemd/xsharp-site-api.service` expects it at `/srv/xsharp/website/current/backend/visual-xsharp-website-api-1.0.0.jar` and binds it only to loopback port 5086. The old .NET process remains on loopback port 5080 solely because Progmaweb's temporary ViGet status route still |