Skip to content

Add the talafmt.tala.run and talalint.tala.run sites - #44

Merged
Leitwolf11 merged 1 commit into
mainfrom
feature/talafmt-talalint-sites
Oct 23, 2026
Merged

Leitwolf11 merged 1 commit into
mainfrom
feature/talafmt-talalint-sites

Conversation

@Leitwolf11

Copy link
Copy Markdown
Contributor

Summary

The build that serves tala.run, talac.tala.run and tazel.tala.run now also serves talafmt.tala.run and talalint.tala.run, chosen by host name like the others. Each has a landing page and two documentation pages in en-US, de-DE, ru-RU and he-IL:

Site Pages
talafmt landing, /docs/command-line, /docs/layout (what it changes)
talalint landing, /docs/command-line, /docs/checks (what it checks)
  • The content follows the READMEs of Progmasoft/talafmt and Progmasoft/talalint 0.1.0 and the talalint source:
    • the check names format.trailingWhitespace, format.mixedLineEndings and format.missingFinalNewline;
    • --fix applies talafmt's default layout.
  • site.ts lists the sites once, with their names; the header, landing page, documentation shell and edit links read from it.
  • Each host has its own robots.txt and sitemap.xml, and nginx gains the two server blocks with the same route rule as the other sites.

Testing

  • npm run build, npm test (45 pass), format:check, and npm audit with no vulnerabilities.
  • The tests now check the new hosts like the others: sitemaps, robots, routes, per-language parity of code and option names, and metadata.
  • Checked in the browser with ?site=talafmt and ?site=talalint; no console errors.

The build that serves tala.run, talac.tala.run and tazel.tala.run now
also serves the formatter and the linter, chosen by host name like the
others. Each site has a landing page and two documentation pages in
en-US, de-DE, ru-RU and he-IL:

- talafmt: the command line (inputs, --check, --emit, exit status 2 for
  an unreadable line) and what it changes (indentation, line endings,
  trailing whitespace, the final newline; protected text; encodings from
  talafmt.kts).
- talalint: the command line (--fix) and what it checks: the compiler's
  diagnostics as compiler.<code>, and format.trailingWhitespace,
  format.mixedLineEndings and format.missingFinalNewline. --fix rewrites a
  file with talafmt's default layout, which also re-indents blocks.

The facts follow the READMEs of Progmasoft/talafmt and Progmasoft/talalint
0.1.0 and the talalint source. site.ts lists the sites once, with their
names, so the header, the landing page and the documentation shell no
longer keep their own copies. Each host has its robots.txt and
sitemap.xml, nginx gains the two server blocks, and the tests check the
new hosts like the others.

@Leitwolf11 Leitwolf11 left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Self-review, written from the diff:

  • site.ts:
    • sites is now the single list, and Site is derived from it.
    • siteBrand replaces the four copies of the { language, talac, tazel } name map in App.vue, DocShell.vue and LandingPage.vue.
    • siteOf looks the host up in siteHosts instead of comparing the subdomains by hand.
    • isSite uses the list, so ?site=talafmt and ?site=talalint work on development hosts. The test covers talalint.
  • Content:
    • content/talafmt.ts and content/talalint.ts each provide a landing page and two topics (/docs/command-line plus /docs/layout or /docs/checks) in every locale.
    • They are wired into landing, contentRoutes, siteTopics and DocPage's source link.
    • The existing test requiring the same code samples in every locale now also runs over the two new sites.
  • SEO: each new host has its own robots.txt and sitemap.xml under public/hosts/, with canonical URLs on its own host. The tests pin the sitemap contents and the titles.
  • nginx:
    • Two new 443 server blocks are copied from the talac/tazel block: same root, the tala.run certificate (which already lists both names), the same CSP, HSTS (preload), nosniff, DENY and referrer headers, the same route pattern and the per-host robots and sitemap.
    • /hosts/ and /api/ return 404.
    • Port 80 gains both names for ACME and the redirect.
    • The integrity test now expects five @application blocks and one shared route pattern.

All checks are green: frontend, backend, coverage, CodeQL, zizmor and dependency review. Merging, then deploying from green main.

@Leitwolf11
Leitwolf11 merged commit 7f4c27e into main Oct 23, 2026
11 checks passed
@Leitwolf11
Leitwolf11 deleted the feature/talafmt-talalint-sites branch October 23, 2026 11:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant