Technické info
Web je postaven pomocí nástroje Docusaurus. Vznikl ve Facebooku a byl zveřejněn jako open-source. Díky tomu ho mohou udržovat a vyvíjet lidé z celého světa. Třeba já chtěl mít web v češtině, která tam nebyla, tak jsem ji dodělal.
Docusaurus generuje statický web a jeho hosting je zdarma na Vercel. Deployment je automatický díky Github integraci. Každý merge do masteru vytvoří produkční deploy.
Přidávání obsahu dělám skrz pull requesty. Vercel pro každý pull request udělá preview URL, zároveň se spustí CI Github action, která provede install a build. Na preview URL se zavolá Checkly e2e test, který ověří základní funkce webu a udělá screenshoty pár stránek, takže jsem v klidu, že mi následný merge do masteru nerozbije produkci.
Stejný e2e test spouští Checkly periodicky což je pro mě dostatečný monitoring.
Automatickou aktualizaci závislostí provádí Dependabot.
Zmenšování a optimalizované zobrazování fotek je realizováno @docusaurus/plugin-ideal-image
pluginem. Pro potřeby blogu jsem si udělal několik jednoduchých React komponent.
Vyhledávání zajišťuje Algolia díky vestavěné podpoře přímo v Docusaurus. Tento web nesplňuje podmínky Algolia DocSearch, který by web scrapoval automaticky, takže musím spouštění crawleru zajistit sám. Díky Github actions to naštěstí lze automatizovat a vyhledávací index se aktualizuje po každém produkčním deploy.
Pro rychlejší vytvoření nového článku používám yarn create-post
, kterému předám cestu k fotkám, titulek a datum. Skript vygeneruje nový soubor, rozbalí a zkonvertuje fotky. Vytváření souboru je pomocí generátoru SAO.