Staattinen kaksikielinen (FI/EN) henkilö- ja asiantuntijasivusto, toteutettu Eleventyllä ja julkaistu GitHub Pagesiin.
- Ajankohtaiset kirjoitukset, puheet ja aloitteet
- Julkaisut, opinnäytteet ja esitykset
- Profiili-, yhteys- ja CV-sivut
- Suomen- ja englanninkieliset rinnakkaissivut
- Eleventy (11ty)
- Nunjucks + Markdown
- Bootstrap 5
- GitHub Actions + GitHub Pages
Jos haluat rakentaa vastaavan tyyppisen staattisen sivuston tyhjästä näillä työkaluilla:
- Luo uusi Node-projekti ja asenna Eleventy sekä tarvitut paketit:
- esim. Eleventy, Nunjucks/Markdown, Bootstrap
- Määritä projektirakenne:
- sisältö (
src/) - layoutit ja komponentit (
src/_includes/) - datatiedostot (
src/_data/)
- sisältö (
- Rakenna peruslayout:
- header, footer, navigaatio, kieliversioiden linkitys
- Lisää sisältötyypit:
- sivut, artikkelit, julkaisut, listaukset ja mahdolliset suodatusnäkymät
- Lisää build- ja deploy-putki:
- GitHub Actions + GitHub Pages (tai muu static hosting)
- Lisää laadunvarmistus:
- build-checkit, SEO/sitemap/robots-tarkistukset, smoke-testit tuotantoon
- Asenna riippuvuudet:
npm ci
- Käynnistä paikallinen kehitys:
npm run start:no-og
- Varmista build ennen julkaisuja:
npm run build:no-og
Canva-esitysten data haetaan tiedostossa src/_data/canva.js.
- Luo
.envja lisää:CANVA_ACCESS_TOKEN=...CANVA_DESIGN_IDS=id1,id2,id3CANVA_TICKER_LIMIT=12(valinnainen)
- Aja build:
npm run build:no-og
Jos token tai design-id:t puuttuvat, sivu fallbackkaa automaattisesti src/presentations/*.md-tiedostoihin.
Push main-haaraan käynnistää automaattisen build + deploy -putken.
- Ota Search Console -verifiointi käyttöön:
- lisää verifiointiarvo tiedostoon
src/_data/site.jsonkenttäängoogleSiteVerification
- lisää verifiointiarvo tiedostoon
- Varmista sitemap:
- sitemap on osoitteessa
https://www.jarilaru.fi/sitemap.xml - robots sisältää sitemap-rivin (
src/robots.txt)
- sitemap on osoitteessa
- Aja paikallinen terveystarkistus:
npm run build:no-og && npm run check:seo-health- raportti kirjoitetaan tiedostoon
reports/seo-health.json
Tarkempi tekninen toteutusohje voidaan pitää lokaalina tiedostona TECHNICAL_HOWTO.md (ei versionhallintaan eikä julkaisuun).
- Current writings, speeches, and initiatives
- Publications, theses, and presentations
- Profile, contact, and CV pages
- Parallel Finnish and English page versions
- Eleventy (11ty)
- Nunjucks + Markdown
- Bootstrap 5
- GitHub Actions + GitHub Pages
If you want to build a similar static site from scratch with this toolset:
- Create a new Node project and install required packages:
- for example Eleventy, Nunjucks/Markdown, Bootstrap
- Define the project structure:
- content (
src/) - layouts/components (
src/_includes/) - data files (
src/_data/)
- content (
- Build a base layout:
- header, footer, navigation, language switching
- Add your content types:
- pages, articles, publications, listing views and filters
- Add build and deployment pipeline:
- GitHub Actions + GitHub Pages (or another static host)
- Add quality checks:
- build checks, SEO/sitemap/robots validation, production smoke tests
- Install dependencies:
npm ci
- Start local development:
npm run start:no-og
- Verify production build locally:
npm run build:no-og
Canva presentation data is loaded in src/_data/canva.js.
- Create a
.envfile and set:CANVA_ACCESS_TOKEN=...CANVA_DESIGN_IDS=id1,id2,id3CANVA_TICKER_LIMIT=12(optional)
- Run build:
npm run build:no-og
If token or design IDs are missing, the site automatically falls back to src/presentations/*.md.
Pushing to main triggers the automated build + deploy pipeline.
A more detailed implementation guide can be kept locally as TECHNICAL_HOWTO.md (not versioned and not published).