Skip to content

Repository files navigation

ARKlight website

The public website for ARKlight, written in ARKlight itself: a home page, getting started, a tutorial lesson, a reference, an example, and the project pages. Modeled on the shape of the Svelte v2 site (see docs/SVELTE-REFERENCE.md for what that reference checkout actually is) -- that reference is a layout model only, not a source of styling; the visual design is Material You (see "Design" below).

Written against ARKlight v0.70.1 (main, commit 10a2225).

Public repository

This repository, like ARKlight itself, is public on GitHub: anyone can read the source, open an issue, or send a pull request. There is no private build step and no hidden content -- what you see in this checkout, make build turns into exactly what ships. The footer of every page links back here and to the compiler's own repository.

Quick start

pip install arklight
export ARKLIGHT_ACCEPT_LICENSE=1      # only after reading ARKlight's LICENSE
export SITE_URL=https://your-domain   # no default on purpose; canonical tags need it

make build       # check -> generate site.py -> arklight build -> sitemap/robots
make serve       # http://localhost:8000, with extensionless URLs like GitHub Pages

make help lists everything.

Layout

pages/manifest.py       the source of truth: 15 routes, section, nav label
content/*.py             page content as plain Python data (title, description, blocks)
components/render.py     turns content into ARKlight Page(...) trees; SEO head tags
theme.py                 Material You (MD3) design tokens; applied to the Site in site.py
site.py                  GENERATED by scripts/gen_site.py (routes must be literal decorators)
scripts/                 gen_site, check_content, postbuild (sitemap/robots), serve
assets/                  the official ARKlight mark (favicon, apple-touch-icon, og-image)
docs/                    architecture, authoring, SEO, Svelte-reference notes
reference/               Svelte v2.16.1 source (shallow, no .git), see docs/SVELTE-REFERENCE.md

Design

The visual design is Material You (Material Design 3): Material's color-role system (primary/surface/outline/...), seeded from a crimson tone taken from the official ARKlight mark rather than Material's stock baseline purple, its shape scale (pill-shaped nav and buttons, 16px cards), and its two-tier elevation shadows. All of it lives in theme.py as data -- one ROLES dict, applied once via site.style_selector(...) in scripts/gen_site.py -- not scattered across the page content. The Svelte v2 checkout in reference/ informed only this site's page structure (home, tutorial, reference, examples); none of its styling was used.

The favicon, apple-touch-icon and Open Graph image are all generated from the one official logo, assets/ARKlight-logo.png -- see docs/SEO.md for how.

Read next

  • docs/AUTHORING.md: how to add or edit a page
  • docs/SEO.md: what is done, what is not, what to verify once this is hosted somewhere
  • docs/ARCHITECTURE.md: why site.py is generated

Known gaps (honest list)

  • The layout was verified by inspecting generated HTML, not by looking at it in a browser.
  • This is the core site only: one tutorial lesson, one example, and the reference pages that are written. It covers "what is it, how do I start, what are the rules, what are the limits" and nothing past that; it does not try to be a full docs site.