Static site for Bitcoin USI Club, built with Astro and Tailwind CSS, published on GitHub Pages via GitHub Actions on every push to main.
Requires Node.js 20+ (see .nvmrc).
npm install
npm run devFor npm run dev and npm run preview, open the site at http://localhost:4321/ (Italian default) and http://localhost:4321/en/ for English.
Languages: Italian is the default (/). English uses the same layout at /en/. Translatable copy lives in src/data/site.json (IT) and src/data/site.en.json (EN). Shared URLs and asset paths (report PDF, Luma, forms, Telegram, social URLs, logos, team photos, hero images) are defined once in src/data/config.json; src/data/siteData.ts merges them at build time.
Production build:
npm run build
npm run previewThe repository includes package-lock.json; CI uses npm ci for reproducible installs.
See MAINTAINERS.md.
- Repository → Settings → Pages → Build and deployment → Source: GitHub Actions.
- The workflow
.github/workflows/deploy.ymlruns on every push tomain. - In
astro.config.mjs, setsiteto the canonical production URL andbaseto"/"(dedicated domain), or for a project undergithub.io, to the correct URL and/<repo>/path.
Production URL: https://bitcoinclub.ch (and /en/ for English).
Screenshots from the Canva deck are in docs/reference/. PDFs and source images remain in the repository root.