This is the source code that runs the chohle marketing site and documentation.
Looking for the app itself? chohle is open source invoicing, projects and
client email for Swiss freelancers and small teams. That lives in
chohle/chohle, with a live demo at
app.chohle.ch. This repository is just the public
website: the landing pages, the docs, and the localized content. You're welcome
to use it as inspiration for your own site.
The whole site is built on Astro. A huge thank you to the Astro team; it does the heavy lifting here.
- Astro: content first web framework (static output)
- Tailwind CSS with Tailwind Plus Elements: styling and UI primitives
@astrojs/cloudflarewith Cloudflare Workers: build adapter and hosting@astrojs/sitemap: sitemap generation- Inter and Mona Sans via Fontsource
- Node.js 20 or newer
- npm
# clone
git clone https://github.com/chohle/website.git
cd website
# install dependencies
npm install
# start the dev server at http://localhost:4321
npm run devnpm run build # build static output into dist/
npm run preview # build, then serve it on the Cloudflare runtime (wrangler dev)The site is hosted on Cloudflare Workers. With Wrangler authenticated against the target Cloudflare account, a single command builds and ships it:
npm run deploy # build, then deploysrc/
components/ UI and page sections (Hero, Features, Footer, Lightbox, Seo, …)
components/pages/ one component per top level page
components/docs/ one component per docs article
layouts/ Layout.astro (marketing) and DocsLayout.astro (docs)
pages/ routes; default locale at the root, others under src/pages/[lang]
i18n/ translated content and helpers
styles/ global Tailwind styles
public/ static assets (screenshots, favicon, robots.txt)
Content ships in four languages: English (default), German, French
and Italian. The default locale is served at the root (for example /about)
and the others under a language prefix (/de/about, /fr/about, /it/about).
Translations live in src/i18n.
Open source under the MIT License, like chohle itself.