Public website for Vozen. This repository contains only the static marketing, documentation, legal and account pages published at vozen.org.
The Discord bots and the authenticated Vozen panel live in separate repositories:
Vozen_TTS— the Vozen TTS bot;vozen-helper— the Vozen Helper runtime and API;Vozen_Helper— the public Helper/Vozen panel while the panel source remains public.
No secrets belong in this repository. API calls made by the site go through the public API endpoints and authenticated sessions; provider credentials stay on the VPS.
Serve the site/ directory with any static HTTP server, for example:
python -m http.server 4173 --directory siteEvery push to main builds site/, then deploys the minified .pages-artifact/
through GitHub Pages. The CNAME file keeps
the custom domain on vozen.org.
This repository is the sole public-site publisher for vozen.org, including
/account/ and /panel/helper-tracker/. The TTS and Helper runtime
repositories may build legacy documentation for verification, but must not
publish a competing Pages artifact for this domain.
npm run build generates public documentation and locale routes, then prerenders
public navigation, command catalogues, FAQs and documentation sidebars with a
fresh local browser. The build blocks external requests and does not use account
sessions or API responses. Both TTS and Helper commands are in the raw catalogue
HTML; JavaScript adds search and filters. Public links and article text work with
JavaScript disabled. The final sitemap is generated from the completed HTML.
npm run site:check checks raw HTML, per-page metadata, canonicals, navigation and
sitemap coverage. npx playwright test tests/prerender.spec.mjs verifies visits
with JavaScript disabled and progressive command filtering.
GitHub Pages can serve fully prerendered public pages, but it does not run an
application server for request-time SSR. The account and Helper panel therefore
provide static introductory HTML and remain noindex; authenticated user/server
data and live service status still come from APIs after JavaScript starts. Rendering
those values in the initial response would require hosting the affected routes on
a server or worker that handles authentication. Redirect aliases canonicalize to
their destination rather than becoming duplicate indexable pages.
After the public build and Helper panel installation, npm run build:artifact
creates .pages-artifact/ without modifying site/. HTML whitespace/comments,
CSS and JavaScript are minified, including inline code. JavaScript property names and public
globals are preserved; no encryption or runtime HTML decoding is introduced.
Every HTML page is checked against its source for readable copy, metadata,
structured data and link destinations. Binary assets are copied unchanged.
Source maps, source-map references, source files, hidden development directories,
package manifests, tests and design prototypes (concepts/) are not published.
The private panel's browser bundle is still necessary and public; no client-side
minification can hide secrets or guarantee search/AI ranking. Keep secrets in APIs.
Repository source and license notices are retained.
The output directory must not exist (to avoid overwriting a release). For repeated
local builds, pass a fresh output directory:
node tools/build-public-artifact.mjs .pages-artifact-preview.
Preview and test that exact output with SITE_ROOT=.pages-artifact-preview
($env:SITE_ROOT='.pages-artifact-preview' in PowerShell). CI runs all browser
tests against the final minified artifact before upload.
The website files retain the license and notices from the Vozen project. See
LICENSE.