Read-only mirrors. Development, issues and pull requests are on GitHub.

summaryrefslogtreecommitdiffhomepage
path: root/README.md
diff options
context:
space:
mode:
authorLeitwolf112026-10-03 18:21:43 +0300
committerLeitwolf112026-10-03 18:21:43 +0300
commit8738fc4e138745f2d065cf54c25426e3d37c119d (patch)
tree65871899976b4e6f0f04d55a50fa209d92b855e1 /README.md
parent710dc90b0503cd1de1ae6159e01fb22d1b336aba (diff)
downloadwebsite-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.md32
1 files changed, 23 insertions, 9 deletions
diff --git a/README.md b/README.md
index c5f3e60..fd37bcf 100644
--- a/README.md
+++ b/README.md
@@ -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