Gépelj a kereséshez. Nyilakkal lépkedhetsz, Enter megnyit, Esc bezár.

Összes technológia

Statikus oldalgenerálás

A weboldalak HTML-jét build időben állítja elő sablonokból és adatból, így a szerver csak kész fájlokat szolgál ki. Itt több domainre kiterjesztve, egy forrásból.

Projektigény

Több, közös arculatú kis weboldal osztott Apache-tárhelyen, szerveroldali futtatókörnyezet nélkül.

Technikai kérdés

Hogyan lehetnek a közös részek egy helyen úgy, hogy minden oldal felülírhassa őket, és az oldalak közötti linkek helyben és élesben is működjenek?

Validáció

Három mintaoldal épül egy forrásból közös és oldalspecifikus réteggel; tesztek fedik a linkeket, az asseteket, a felülírást és a generált fájlokat.

Döntés

Kis Python- és Jinja2-build közös réteggel, azonos útvonalú oldalspecifikus felülírással és generált szerverkonfigurációval.

Oldalanként generált fájlok: sitemap.xml, robots.txt, llms.txt és egy Apache .htaccess https-átirányítással, régi URL-ek átirányításával, HSTS-sel és cache-fejlécekkel.

A HSTS rövid max-age-dzsel indul, és csak stabil https után nő, mert nehéz visszavonni.

Megvalósítások nyelvenként

Python

A Python build TOML-ból olvassa az oldalakat, domainenként Jinja2 sablonokat renderel, és oldalanként egy kimeneti mappába szinkronizál.

  • A sablonbetöltő előbb az oldal saját sablonjaiban, utána a közösekben keres, így minden oldal egy közös layoutot örököl.
  • A link(domain, path) és az asset(path) sablonfüggvény gyökérrelatív vagy abszolút linket, illetve tartalom-hash alapú CSS/JS URL-t ad.
  • A StrictUndefined és a HTML-autoescape miatt az elgépelés build hiba, az escape nélküli szöveg pedig nem kerülhet ki.

Ezek a projektek használják

Kapcsolódó kutatás