<feed xmlns='http://www.w3.org/2005/Atom'>
<title>website/REUSE.toml, branch ops/cloudflare-analytics</title>
<subtitle>The site of tala.run: a Vue frontend and an ASP.NET Core API.</subtitle>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/'/>
<entry>
<title>Annotate the lock file of the documentation check</title>
<updated>2026-10-15T15:35:37+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-10-15T15:35:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=607a15b1e856097ff4f8e3892368217a4672f16b'/>
<id>607a15b1e856097ff4f8e3892368217a4672f16b</id>
<content type='text'>
Running CheckDocumentation.cs writes a NuGet lock file beside it, as
every project of the repository does; REUSE.toml now covers it.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Running CheckDocumentation.cs writes a NuGet lock file beside it, as
every project of the repository does; REUSE.toml now covers it.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Gate the API documentation with DocFX</title>
<updated>2026-10-15T15:35:17+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-10-15T15:35:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=018696d64cdb4088c0dd502ceab8d8ed9e11543e'/>
<id>018696d64cdb4088c0dd502ceab8d8ed9e11543e</id>
<content type='text'>
The Kotlin backend checked its documentation with Dokka; the ASP.NET Core
API had only the compiler warning for a public declaration without a
comment. CI now builds the API reference with DocFX, every warning as an
error, and Documents/api/CheckDocumentation.cs fails when a namespace,
type or member of the reference has no description, internal and
private members included. The setup is the one Progmaweb uses: the
docfx tool pinned in .config/dotnet-tools.json, the configuration and
the namespace description under Documents/api, and the generated
reference ignored.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The Kotlin backend checked its documentation with Dokka; the ASP.NET Core
API had only the compiler warning for a public declaration without a
comment. CI now builds the API reference with DocFX, every warning as an
error, and Documents/api/CheckDocumentation.cs fails when a namespace,
type or member of the reference has no description, internal and
private members included. The setup is the one Progmaweb uses: the
docfx tool pinned in .config/dotnet-tools.json, the configuration and
the namespace description under Documents/api, and the generated
reference ignored.
</pre>
</div>
</content>
</entry>
<entry>
<title>Serve tala.run and the documentation of talac and Tazel</title>
<updated>2026-10-15T15:00:48+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-10-15T15:00:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=ef68517d39fc329cf3286ad70056e00acf8b4855'/>
<id>ef68517d39fc329cf3286ad70056e00acf8b4855</id>
<content type='text'>
The language now lives at tala.run. One frontend build serves three
sites and picks its content from the host name:

- tala.run: the home page, /docs/overview, /docs/getting-started and a
  new /docs/syntax, a first look at programs, comments, declarations,
  operators and evaluation by need, with every sample taken from the
  public specification.
- talac.tala.run: /docs/command-line and /docs/outputs, the compiler's
  options, the entry rule, warnings, --build and --emit, and the record
  of a check.
- tazel.tala.run: /docs/commands and /docs/project-file, the commands of
  the build system, target selection, workspaces and the project DSL.

The new pages are written in all four locales from one content model;
a test keeps code samples and option names identical across them. The
header links the three sites and forum.tala.run. On a development host
?site=talac or ?site=tazel selects a site.

Corrections to the existing pages:

- Getting started used `go run scripts/develop.go`, `talac check -File`,
  `talac build -File` and `-Help`; it now uses `go run ./helpers/cmd/...`,
  `--emit=metadata`, `--entry=` and `--help`.
- The overview no longer names the retired .vxse extension, and the
  project DSL is evaluated by Tazel.
- Canonical URLs, Open Graph data, robots.txt and the sitemap name
  tala.run; talac and tazel have their own robots and sitemap files,
  served per host by Nginx. The notice about the move is gone: the
  former domain redirects instead.
- The leopard mark files are called tala-mark.svg and tala.svg.

Nginx: ops/nginx/tala.conf serves the three hosts, redirects www.tala.run
to tala.run and every path of xsharp-lang.xyz to the same path of
tala.run, and keeps viget.xsharp-lang.xyz pointing at
viget.progmasoft.com; tala.run has no ViGet host of its own.
ops/nginx/forum.conf serves the informational page at forum.tala.run and
redirects the former forum address to it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The language now lives at tala.run. One frontend build serves three
sites and picks its content from the host name:

- tala.run: the home page, /docs/overview, /docs/getting-started and a
  new /docs/syntax, a first look at programs, comments, declarations,
  operators and evaluation by need, with every sample taken from the
  public specification.
- talac.tala.run: /docs/command-line and /docs/outputs, the compiler's
  options, the entry rule, warnings, --build and --emit, and the record
  of a check.
- tazel.tala.run: /docs/commands and /docs/project-file, the commands of
  the build system, target selection, workspaces and the project DSL.

The new pages are written in all four locales from one content model;
a test keeps code samples and option names identical across them. The
header links the three sites and forum.tala.run. On a development host
?site=talac or ?site=tazel selects a site.

Corrections to the existing pages:

- Getting started used `go run scripts/develop.go`, `talac check -File`,
  `talac build -File` and `-Help`; it now uses `go run ./helpers/cmd/...`,
  `--emit=metadata`, `--entry=` and `--help`.
- The overview no longer names the retired .vxse extension, and the
  project DSL is evaluated by Tazel.
- Canonical URLs, Open Graph data, robots.txt and the sitemap name
  tala.run; talac and tazel have their own robots and sitemap files,
  served per host by Nginx. The notice about the move is gone: the
  former domain redirects instead.
- The leopard mark files are called tala-mark.svg and tala.svg.

Nginx: ops/nginx/tala.conf serves the three hosts, redirects www.tala.run
to tala.run and every path of xsharp-lang.xyz to the same path of
tala.run, and keeps viget.xsharp-lang.xyz pointing at
viget.progmasoft.com; tala.run has no ViGet host of its own.
ops/nginx/forum.conf serves the informational page at forum.tala.run and
redirects the former forum address to it.
</pre>
</div>
</content>
</entry>
<entry>
<title>Serve the site API from ASP.NET Core 10</title>
<updated>2026-10-15T14:36:58+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-10-15T14:36:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=9d1b19bc01d5d3d08e3528d69924a86e7e2bfc2a'/>
<id>9d1b19bc01d5d3d08e3528d69924a86e7e2bfc2a</id>
<content type='text'>
The language website ran a Spring Boot application on JVM 25 for two
endpoints, and it was the only JVM on the server: a quarter of a
gigabyte of resident memory for /api/v1/site and /health. The server
already runs ASP.NET Core 10 for Progmaweb.

The API is now Progmasoft.Tala.Website.Api, a minimal ASP.NET Core 10
application under the namespace Progmasoft.Tala.Website. It answers as
before: /api/v1/site returns the site's own state as the same JSON,
POST is not allowed there, /health answers with an empty 200, and every
other path is 404. It listens on 127.0.0.1, port 5086 unless PORT says
otherwise, as the Spring process did, so Nginx is unchanged.

- Progmasoft.Tala.Website.slnx, Directory.Build.props and global.json
  set up the solution with warnings as errors, documentation comments
  required and NuGet lock files.
- Progmasoft.Tala.Website.Api.Tests runs the endpoints in an in-memory
  host with xUnit v3 on Microsoft.Testing.Platform.
- ops/systemd/tala-site-api.service runs the published DLL on the shared
  runtime from /srv/xsharp/website/current/site-api, with the hardening
  of the unit it replaces.
- CI builds, tests, publishes and reports coverage with dotnet; CodeQL
  analyzes C# instead of Kotlin; Renovate watches NuGet instead of
  Gradle.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The language website ran a Spring Boot application on JVM 25 for two
endpoints, and it was the only JVM on the server: a quarter of a
gigabyte of resident memory for /api/v1/site and /health. The server
already runs ASP.NET Core 10 for Progmaweb.

The API is now Progmasoft.Tala.Website.Api, a minimal ASP.NET Core 10
application under the namespace Progmasoft.Tala.Website. It answers as
before: /api/v1/site returns the site's own state as the same JSON,
POST is not allowed there, /health answers with an empty 200, and every
other path is 404. It listens on 127.0.0.1, port 5086 unless PORT says
otherwise, as the Spring process did, so Nginx is unchanged.

- Progmasoft.Tala.Website.slnx, Directory.Build.props and global.json
  set up the solution with warnings as errors, documentation comments
  required and NuGet lock files.
- Progmasoft.Tala.Website.Api.Tests runs the endpoints in an in-memory
  host with xUnit v3 on Microsoft.Testing.Platform.
- ops/systemd/tala-site-api.service runs the published DLL on the shared
  runtime from /srv/xsharp/website/current/site-api, with the hardening
  of the unit it replaces.
- CI builds, tests, publishes and reports coverage with dotnet; CodeQL
  analyzes C# instead of Kotlin; Renovate watches NuGet instead of
  Gradle.
</pre>
</div>
</content>
</entry>
<entry>
<title>Show the Tala logo and announce the coming change of domain</title>
<updated>2026-10-12T00:59:12+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-10-12T00:59:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=ec4e67ef067aec8a1cbd1a3980e81a355af1eff5'/>
<id>ec4e67ef067aec8a1cbd1a3980e81a355af1eff5</id>
<content type='text'>
The language is now Tala. The home page and the social image use the new
logo; the mascot is the same drawing, and the test that compares the mark
with the leopard of the full logo still holds. The logo of the site is the
supplied drawing without its opaque background.

On xsharp-lang.xyz and its subdomains a line above the header says that the
site moves to a new domain within a month and that xsharp-lang.xyz keeps
working and will redirect. The line is written in each of the four languages
of the site and follows the language switch; it is not shown on any other
host, so a preview or the new domain does not carry it.

The rest of the text of the site still says Visual X#; that follows with the
new domain.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The language is now Tala. The home page and the social image use the new
logo; the mascot is the same drawing, and the test that compares the mark
with the leopard of the full logo still holds. The logo of the site is the
supplied drawing without its opaque background.

On xsharp-lang.xyz and its subdomains a line above the header says that the
site moves to a new domain within a month and that xsharp-lang.xyz keeps
working and will redirect. The line is written in each of the four languages
of the site and follows the language switch; it is not shown on any other
host, so a preview or the new domain does not carry it.

The rest of the text of the site still says Visual X#; that follows with the
new domain.
</pre>
</div>
</content>
</entry>
<entry>
<title>Pin website dependencies and isolate Codecov credentials</title>
<updated>2026-09-27T22:10:53+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-09-27T22:10:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=252ca8eae71faf1e4e4d00dc7a0489998df12f04'/>
<id>252ca8eae71faf1e4e4d00dc7a0489998df12f04</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Rebuild Visual XSharp language website with Vue and Kotlin Spring; add leopard identity, bilingual docs, forum placeholder, site-only API, strict CSP, 21 frontend tests, deployment runbooks, and preserve legacy ViGet redirect during maintenance</title>
<updated>2026-09-25T21:30:28+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-09-25T21:30:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=fdc9a91dec3433ebc3eae480cf6b57153d0972fb'/>
<id>fdc9a91dec3433ebc3eae480cf6b57153d0972fb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Separate ViGet from Progmasoft Account infrastructure</title>
<updated>2026-09-07T18:30:40+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-09-07T18:30:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=c0cd5f4699e44899956c19176ca47ede27a21a8f'/>
<id>c0cd5f4699e44899956c19176ca47ede27a21a8f</id>
<content type='text'>
Move the Progmasoft mail operations baseline to its owning Progmaweb repository, remove the retired Astro account UI and duplicate identity backend, keep only the ViGet health boundary, add canonical sitemap signals, strengthen dependency CI, and adopt Patent Grant 1.1 across project-owned files.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Move the Progmasoft mail operations baseline to its owning Progmaweb repository, remove the retired Astro account UI and duplicate identity backend, keep only the ViGet health boundary, add canonical sitemap signals, strengthen dependency CI, and adopt Patent Grant 1.1 across project-owned files.
</pre>
</div>
</content>
</entry>
<entry>
<title>Transfer all project-owned website sources and operations files to Progmasoft copyright ownership under AGPL-3.0-or-later, add the shared defensive Progmasoft patent grant with SPDX and REUSE coverage, preserve third-party licenses, and align notices, package metadata, authentication, mail, deployment, branding, and repository documentation with the current ViGet service</title>
<updated>2026-08-29T08:01:03+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-08-29T08:01:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=178f97b44da88d8653d1f942a993d06aad9b48cf'/>
<id>178f97b44da88d8653d1f942a993d06aad9b48cf</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
