Project site

The GitHub Pages site has its own landing page in site/index.md. Documentation is generated directly from docs/**/*.md, README.md and CHANGELOG.md; edit those files with the code they describe. The build makes a temporary snapshot, discovers documentation pages automatically, and copies supporting assets such as CSV files. There are no maintained copies of the documentation and no separate wiki.

The site uses MkDocs with a small custom theme in site/theme/. Its palette and button foundations are extracted from frontend/styles.css during the build; site layout styles live in site/assets/site.css. Light and dark appearance follow the device preference without persisting browser settings. Mermaid code fences render using a pinned external renderer, with readable source as a fallback.

Build and preview

Install Rust/Cargo (as for app development), then run from the repository root:

python3 -m venv /tmp/open-webide-pages-venv
/tmp/open-webide-pages-venv/bin/pip install -r site/requirements.txt
/tmp/open-webide-pages-venv/bin/python site/build.py --output /tmp/open-webide-site
python3 -m http.server 8000 --directory /tmp/open-webide-site

Open http://localhost:8000/. Builds run in strict mode and check generated HTML, so missing documentation links, anchors and local assets fail the build. Keep generated output outside the repository; the build only replaces directories it previously generated, to avoid deleting unrelated files. Markdown links between source documents remain ordinary relative .md links; MkDocs converts them to site URLs. Images should use Markdown image syntax for relative-path rewriting. Keep raw HTML image paths relative to the generated page.

Publishing

In the repository's Settings → Pages → Build and deployment, set Source to GitHub Actions. .github/workflows/pages.yml validates builds on pull requests, then publishes site changes on main; it can also run manually. The canonical address is https://openwebide.com/. Set Custom domain to openwebide.com in the same Pages settings. With an Actions deployment, GitHub uses this setting rather than a repository CNAME file.

At the DNS provider, replace the registrar's parking/redirect records for @ and www with these records:

Type Host Value
A @ 185.199.108.153
A @ 185.199.109.153
A @ 185.199.110.153
A @ 185.199.111.153
CNAME www openwebide.github.io

GitHub redirects www to the configured apex domain. Enable Enforce HTTPS once GitHub has provisioned its certificate. See GitHub's custom-domain guide for DNS configuration and propagation checks. To build for another deployment, pass --site-url https://example.com/ to the build command.

The build does not compile the Rust/WASM app and works the same for visitors using either workspace mode. It links GitHub Issues for feedback and support. Issue templates, an optional demo, and launch announcements remain part of the 1.0 public-release work.

Social profiles

The discovery alias @openwebide@openwebide.com is served by site/static/.well-known/webfinger. Its subject stays acct:openwebide@mastodon.social, so clients resolve to the existing account; the displayed handle stays @openwebide@mastodon.social. GitHub Pages serves one static response regardless of query parameters; this is a single-account alias rather than a general WebFinger service. Mastodon parses its JSON body, but clients requiring a specific response content type may not support it. The Pages workflow packages .well-known explicitly; the convenience Pages upload action excludes dot directories. - YouTube: @OpenWebIDE, channel ID UCRRWQeyGWL1kkG0vjNIFtzA. Demos, setup walkthroughs, and feature updates. The editable banner source and upload-ready PNG use the app logo and palette.

The social header source and upload-ready PNG provide matching Bluesky and Mastodon headers. Keep these assets alongside the YouTube banner when updating branding.

Use GitHub Issues for support and bug reports; social profiles are for project updates and discovery.

Every page includes Open Graph and Twitter large-image card metadata, with its own title, description and canonical URL. The shared preview uses site/assets/social-card.png (1200 × 630); its editable source is the adjacent SVG. The homepage canonical URL is the domain root.

The open source software page combines its repository Markdown introduction with an inventory generated by site/credits.py during site builds. Cargo metadata uses --locked --all-features to include resolved third-party crates across the workspace, including platform, development, benchmark and vendored dependencies. The inventory reports package versions, upstream links and declared licenses, with direct dependencies listed first. The site builder also inventories MkDocs and its installed Python dependencies. Generated tables only exist in the build output; there is no second list to edit. Pages rebuilds when Cargo manifests or the lockfile change. CI uses stable Cargo for metadata without compiling the app or installing WASM targets.