<feed xmlns='http://www.w3.org/2005/Atom'>
<title>website/frontend, branch design/docs-layout</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>Lay out the documentation like kotlinlang.org/docs</title>
<updated>2026-10-18T06:00:14+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-10-18T06:00:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=47ffd40c8b61aa9dd131e567bfb2ce78ec7f354c'/>
<id>47ffd40c8b61aa9dd131e567bfb2ce78ec7f354c</id>
<content type='text'>
The three documentation pages each drew their own sidebar. The two hand-built
pages listed different topics: Getting started had no link to Syntax. Each page
also opened with a capitalized section kicker.

DocShell now frames every documentation page:

- On the left, the topics of the site, with the current one marked. On a
  narrow screen they fold into a Contents button above the page.
- Above the page, a breadcrumb: site / Documentation / topic.
- The page in a column of at most 720 px.
- On the right, "On this page". It is read from the h2 headings of the
  rendered page, and each heading gets an id from its words in any script.
  It is hidden below 1100 px.
- Under the page, previous and next topic cards and an "Edit this page"
  link to the file the page is written in.

DocPage, OverviewPage and GettingStartedPage use it and drop their own
sidebars and kickers. The styles of the old layout are removed. The labels
are in all four languages.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The three documentation pages each drew their own sidebar. The two hand-built
pages listed different topics: Getting started had no link to Syntax. Each page
also opened with a capitalized section kicker.

DocShell now frames every documentation page:

- On the left, the topics of the site, with the current one marked. On a
  narrow screen they fold into a Contents button above the page.
- Above the page, a breadcrumb: site / Documentation / topic.
- The page in a column of at most 720 px.
- On the right, "On this page". It is read from the h2 headings of the
  rendered page, and each heading gets an id from its words in any script.
  It is hidden below 1100 px.
- Under the page, previous and next topic cards and an "Edit this page"
  link to the file the page is written in.

DocPage, OverviewPage and GettingStartedPage use it and drop their own
sidebars and kickers. The styles of the old layout are removed. The labels
are in all four languages.
</pre>
</div>
</content>
</entry>
<entry>
<title>Give each site a calm landing page with a "Why" section</title>
<updated>2026-10-17T22:45:32+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-10-17T22:45:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=43c431a793affe2fa41ead816268d6af760f72d0'/>
<id>43c431a793affe2fa41ead816268d6af760f72d0</id>
<content type='text'>
tala.run, talac.tala.run and tazel.tala.run now each open on a landing page
of their own. talac.tala.run and tazel.tala.run used to redirect "/" to
their first documentation topic. Every landing page has one headline, two
ways in, a "Why Tala?", "Why Talac?" or "Why Tazel?" section of tabs over
one code panel, and a short row of next links. The tabs follow the ARIA
tabs pattern: arrow keys, Home and End move between them. The code panel
stays left to right on the Hebrew pages and has a copy button.

Every sample is something that works today. The Tala tabs show
HelloWorld and PrimeNumbers, which are copies of Examples/ (a test compares
them), a small program that shows an argument evaluated by need, the
LLVM IR that talac -O2 made of the gcd loop of Examples/GCD, and a Tazel
project file. The Talac tabs show the terminal output of talac 0.6.0 for
one command, --emit=metadata, each --emit stage, the optimized IR and a
type error. The Tazel tabs show the project file, the everyday commands,
target selection, lock graph and a did-you-mean hint. Of the fifteen
programs in Examples/, talac 0.6.0 builds four (HelloWorld, GCD,
PrimeNumbers, CollatzTrace), so the classes, generators and pattern
matching of the others are not shown yet.

The old home page said in nearly every paragraph that the work was
unfinished, linked "Why Tala?" three times, and numbered its sections. It
is gone. The state of the project is said once, as a small badge beside
the name in the header. The header no longer repeats a Home link, since
the name leads home. On talac and tazel it lists their documentation
topics. Styles that only the old home page used are removed.

The titles and descriptions of "/" come from the landing content of each
site, and the talac and tazel sitemaps list "/". The tests follow:
siteHome is "/" everywhere, the tazel canonical path is "/", and the
example comparison reads the landing samples.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
tala.run, talac.tala.run and tazel.tala.run now each open on a landing page
of their own. talac.tala.run and tazel.tala.run used to redirect "/" to
their first documentation topic. Every landing page has one headline, two
ways in, a "Why Tala?", "Why Talac?" or "Why Tazel?" section of tabs over
one code panel, and a short row of next links. The tabs follow the ARIA
tabs pattern: arrow keys, Home and End move between them. The code panel
stays left to right on the Hebrew pages and has a copy button.

Every sample is something that works today. The Tala tabs show
HelloWorld and PrimeNumbers, which are copies of Examples/ (a test compares
them), a small program that shows an argument evaluated by need, the
LLVM IR that talac -O2 made of the gcd loop of Examples/GCD, and a Tazel
project file. The Talac tabs show the terminal output of talac 0.6.0 for
one command, --emit=metadata, each --emit stage, the optimized IR and a
type error. The Tazel tabs show the project file, the everyday commands,
target selection, lock graph and a did-you-mean hint. Of the fifteen
programs in Examples/, talac 0.6.0 builds four (HelloWorld, GCD,
PrimeNumbers, CollatzTrace), so the classes, generators and pattern
matching of the others are not shown yet.

The old home page said in nearly every paragraph that the work was
unfinished, linked "Why Tala?" three times, and numbered its sections. It
is gone. The state of the project is said once, as a small badge beside
the name in the header. The header no longer repeats a Home link, since
the name leads home. On talac and tazel it lists their documentation
topics. Styles that only the old home page used are removed.

The titles and descriptions of "/" come from the landing content of each
site, and the talac and tazel sitemaps list "/". The tests follow:
siteHome is "/" everywhere, the tazel canonical path is "/", and the
example comparison reads the landing samples.
</pre>
</div>
</content>
</entry>
<entry>
<title>Document the lock commands and hints of Tazel</title>
<updated>2026-10-17T20:59:24+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-10-17T20:59:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=b070590df7e01963574e9efa313902c0ccfffb90'/>
<id>b070590df7e01963574e9efa313902c0ccfffb90</id>
<content type='text'>
Progmasoft/tala#86 added tazel lock create-dump --path, tazel lock graph,
tazel viget vipkg-desc and did-you-mean hints. The Tazel commands page now
covers them in all four languages:

- The command list names create-dump with [--path File] and says that the
  folder has to exist. It adds lock graph, and it lists viget vipkg-desc
  among the commands that wait for ViGet.
- A new section explains lock graph and its options, with a code example.
  --invert reads Publisher.Name, a path ending in .vipkg, or a project.name.
- A short section shows the hint a mistyped word gets.
- The Hebrew text keeps its direction marks before options and Latin names.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Progmasoft/tala#86 added tazel lock create-dump --path, tazel lock graph,
tazel viget vipkg-desc and did-you-mean hints. The Tazel commands page now
covers them in all four languages:

- The command list names create-dump with [--path File] and says that the
  folder has to exist. It adds lock graph, and it lists viget vipkg-desc
  among the commands that wait for ViGet.
- A new section explains lock graph and its options, with a code example.
  --invert reads Publisher.Name, a path ending in .vipkg, or a project.name.
- A short section shows the hint a mistyped word gets.
- The Hebrew text keeps its direction marks before options and Latin names.
</pre>
</div>
</content>
</entry>
<entry>
<title>Name the hosts the compiler workflows test</title>
<updated>2026-10-17T17:08:23+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-10-17T17:08:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=a0e7dbad88a90d3d168dc363776d79e31a6f973b'/>
<id>a0e7dbad88a90d3d168dc363776d79e31a6f973b</id>
<content type='text'>
Progmasoft/tala#90 reduced the compiler's CI to Windows Server 2025, Ubuntu
26.04 LTS and macOS 26 on Apple silicon. Its documents now call those the
official hosts. The Getting Started page still listed macOS Sequoia and Fedora
43, so its two host sentences, in all four languages, now name Windows 10/11,
macOS 26 Tahoe on Apple silicon and Ubuntu 26.04 LTS, and the Linux sentence
speaks of Ubuntu alone.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Progmasoft/tala#90 reduced the compiler's CI to Windows Server 2025, Ubuntu
26.04 LTS and macOS 26 on Apple silicon. Its documents now call those the
official hosts. The Getting Started page still listed macOS Sequoia and Fedora
43, so its two host sentences, in all four languages, now name Windows 10/11,
macOS 26 Tahoe on Apple silicon and Ubuntu 26.04 LTS, and the Linux sentence
speaks of Ubuntu alone.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'origin/main' into content/talac-name</title>
<updated>2026-10-17T08:40:11+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-10-17T08:40:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=828ed9f8eef15b2481178ec0c1db8da6858deb05'/>
<id>828ed9f8eef15b2481178ec0c1db8da6858deb05</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Write the compiler's name as Talac in prose</title>
<updated>2026-10-16T20:11:14+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-10-16T20:11:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=ae680314045aedb291ef773f1b9941a22971e734'/>
<id>ae680314045aedb291ef773f1b9941a22971e734</id>
<content type='text'>
The site wrote the compiler as talac wherever it named it: the brand and
the sibling link of talac.tala.run, the page titles, descriptions and
leads of its documentation, and the Tazel pages that say which program
Tazel starts. As a name it is now Talac, like Tazel, in all four
languages. What a reader types stays lowercase: the command lines, the
`talac --help` the guide asks for, and the host talac.tala.run.

The site test that reads the German title of the outputs page expects
the new name.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The site wrote the compiler as talac wherever it named it: the brand and
the sibling link of talac.tala.run, the page titles, descriptions and
leads of its documentation, and the Tazel pages that say which program
Tazel starts. As a name it is now Talac, like Tazel, in all four
languages. What a reader types stays lowercase: the command lines, the
`talac --help` the guide asks for, and the host talac.tala.run.

The site test that reads the German title of the outputs page expects
the new name.
</pre>
</div>
</content>
</entry>
<entry>
<title>Describe the libc++ toolchain of the Linux hosts</title>
<updated>2026-10-16T18:31:31+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-10-16T18:31:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=efca790acb61ad35fedec22bd99c35657f1c6675'/>
<id>efca790acb61ad35fedec22bd99c35657f1c6675</id>
<content type='text'>
The compiler now builds with libc++ on Ubuntu and Fedora and links LLVM
built with libc++, which the developer helper of the compiler repository
downloads. The getting-started guide still said that the LLVM
development packages of the distribution are used; in all four languages
it now says that Clang, LLD and libc++ come from the distribution and
that the helper downloads LLVM built with libc++.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The compiler now builds with libc++ on Ubuntu and Fedora and links LLVM
built with libc++, which the developer helper of the compiler repository
downloads. The getting-started guide still said that the LLVM
development packages of the distribution are used; in all four languages
it now says that Clang, LLD and libc++ come from the distribution and
that the helper downloads LLVM built with libc++.
</pre>
</div>
</content>
</entry>
<entry>
<title>Correct stale statements on tala.run and rename the vxs storage keys</title>
<updated>2026-10-16T03:05:28+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-10-16T03:05:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=3c3c9b10e1ccf218831789bcc59d488200ed12c6'/>
<id>3c3c9b10e1ccf218831789bcc59d488200ed12c6</id>
<content type='text'>
An audit of the site against the compiler repository found statements
that no longer hold, in all four languages:

- the overview named BUILD.kts as the project definition, while Tazel
  reads one of five names; it now says a project file, BUILD.kts or one
  of four other names;
- the overview and the getting-started guide named Windows and macOS as
  the only development hosts. Ubuntu 26.04 LTS and Fedora 43 are official
  hosts too, and the guide says which toolchain they use;
- the getting-started guide listed the counterparts of the examples in
  C#, C++ and Java; the examples also have Rust ones;
- the project-file page wrote build/debug/Example without the .exe a
  Windows build has.

The talac, Tazel and syntax pages were checked against Documents/CLI.md,
Documents/PROJECT_FILES.md and Spec/Language and are otherwise accurate.
Of the 43 links in the repository, only the address inside the Fira Sans
licence text no longer answers; that text is third-party and verbatim.

The browser storage keys still carried the former name of the language:
vxs-locale-choice, vxs-theme and vxs-forum-theme become tala-locale-choice,
tala-theme and tala-forum-theme. A value under a former key moves to the
current one on the first page load, so no visitor loses a choice; a forum
test covers the move. The npm package is renamed from
@visual-xsharp/website to @progmasoft/tala-website, and the forum assets
get a new version query so Cloudflare serves the new script.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
An audit of the site against the compiler repository found statements
that no longer hold, in all four languages:

- the overview named BUILD.kts as the project definition, while Tazel
  reads one of five names; it now says a project file, BUILD.kts or one
  of four other names;
- the overview and the getting-started guide named Windows and macOS as
  the only development hosts. Ubuntu 26.04 LTS and Fedora 43 are official
  hosts too, and the guide says which toolchain they use;
- the getting-started guide listed the counterparts of the examples in
  C#, C++ and Java; the examples also have Rust ones;
- the project-file page wrote build/debug/Example without the .exe a
  Windows build has.

The talac, Tazel and syntax pages were checked against Documents/CLI.md,
Documents/PROJECT_FILES.md and Spec/Language and are otherwise accurate.
Of the 43 links in the repository, only the address inside the Fira Sans
licence text no longer answers; that text is third-party and verbatim.

The browser storage keys still carried the former name of the language:
vxs-locale-choice, vxs-theme and vxs-forum-theme become tala-locale-choice,
tala-theme and tala-forum-theme. A value under a former key moves to the
current one on the first page load, so no visitor loses a choice; a forum
test covers the move. The npm package is renamed from
@visual-xsharp/website to @progmasoft/tala-website, and the forum assets
get a new version query so Cloudflare serves the new script.
</pre>
</div>
</content>
</entry>
<entry>
<title>Treat tala.run as an HSTS-preloaded domain</title>
<updated>2026-10-15T15:28:17+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-10-15T15:28:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=a460c4c7e922f37705b2be3f1fa7c789f514cd51'/>
<id>a460c4c7e922f37705b2be3f1fa7c789f514cd51</id>
<content type='text'>
.run has no HSTS requirement of its own, but tala.run is served as if it
had one: every HTTPS response of tala.run, www, talac, tazel and forum
sends max-age=63072000; includeSubDomains; preload, and plain HTTP only
answers the ACME challenge and otherwise redirects to HTTPS. A test
checks both for every tala.run block of the three Nginx files. The
redirects of the former .xyz domain keep their header.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
.run has no HSTS requirement of its own, but tala.run is served as if it
had one: every HTTPS response of tala.run, www, talac, tazel and forum
sends max-age=63072000; includeSubDomains; preload, and plain HTTP only
answers the ACME challenge and otherwise redirects to HTTPS. A test
checks both for every tala.run block of the three Nginx files. The
redirects of the former .xyz domain keep their header.
</pre>
</div>
</content>
</entry>
<entry>
<title>Document tala.run, the documentation hosts and the ASP.NET Core API</title>
<updated>2026-10-15T15:03:29+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-10-15T15:03:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/website/commit/?id=e0051b082ffce6e3cf066433980539c330d32181'/>
<id>e0051b082ffce6e3cf066433980539c330d32181</id>
<content type='text'>
- README, Architecture and Operations describe the three sites one
  build serves, their routes, the per-host sitemap and robots files,
  forum.tala.run, the permanent redirects of the former domain, and that
  tala.run has no ViGet host.
- The backend sections describe the ASP.NET Core 10 API: how to build,
  test, run and publish it, its lock files, and its place on the server
  in current/site-api beside the legacy process of Progmaweb.
- Development explains ?site=talac and ?site=tazel on a development host
  and lists the new test file; the release and rollback steps label
  current/site-api for SELinux as well.
- The development server proxies /api to port 5086, the port the API
  uses unless PORT says otherwise.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- README, Architecture and Operations describe the three sites one
  build serves, their routes, the per-host sitemap and robots files,
  forum.tala.run, the permanent redirects of the former domain, and that
  tala.run has no ViGet host.
- The backend sections describe the ASP.NET Core 10 API: how to build,
  test, run and publish it, its lock files, and its place on the server
  in current/site-api beside the legacy process of Progmaweb.
- Development explains ?site=talac and ?site=tazel on a development host
  and lists the new test file; the release and rollback steps label
  current/site-api for SELinux as well.
- The development server proxies /api to port 5086, the port the API
  uses unless PORT says otherwise.
</pre>
</div>
</content>
</entry>
</feed>
