Moderní tvorba webových aplikací

O webu

CMS založené na Gitu

K čemu jsou dobré redakční systémy postavené na Gitu.

10 minut

Pro správu obsahu se často hodí mít tzv. redakční systém (CMS = content management system).

Otázka je, kam redakční systém ukládá data.

Například v roce 2025 stále nejrozšířenější WordPress ukládá data do SQL databáse.

To přináší jistou režii pro provoz – DB někde musí běžet, musí být někde hostovaná.

Statické stránky

V posledních letech se znovu do hry vrátily statické stránky. To nutně neznamená, že tvůrce obsahu ručně vytváří jednotlivé *.html soubory.

Statické soubory mohou vzniknout až v okamžiku buildu.

Existuje řada hotových řešení pro generování statických stránek:

Případně i klasické fullstack JS frameworky, zvládají generovat statický web:

A mnoho dalších.

Markdown

Markdown nabízí způsob, jak v obyčejném textu používat strojově pochopitelné formátování. Místo HTML značek se používají lidsky intuitivnější symboly:

# Nadpis
Odstavec s **tučným** a *šikmým textem*
1. číslovaný seznam
2. s několika
3. položkami

Pro Markdown existuje hromada nástrojů, pluginů a editorů a pomalu se rozšiřuje i mimo programátory.

Kromě toho Markdown dovoluje i psát v HTML, takže při přechodu na MD není potřeba nic konvertovat, ale vše může zůstat v HTML.

Frontmatter

Frontmatter je způsob, jak do Markdown souboru přidat různá metadata. Jedná se o blok YAML nebo TOML na začátku souboru, který je oddělený třemi pomlčkami na začátku a konci.

Typický frontmatter může obsahovat:

---
title: "Název článku"
date: "2025-09-02"
tags: ["tag1", "tag2"]
author: "Jméno autora"
draft: false
---

Git-based CMS systémy často využívají frontmatter pro:

  • Kategorisaci obsahu – pomocí tagů a kategorií
  • Řízení workflow – draft vs. publikovaný stav
  • SEO metadata – title, description, keywords
  • Automatisaci – datum publikování, autor, verse
  • Integraci s build procesem – formát, layout, šablona

Git

Git je nástroj pro versování zdrojových kódů. Nad Gitem jsou navíc postavené online služby pro jeho nahrávání na internet.

Nejpoužívanější je GitHub a GitLab.

Hosting s podporou Gitu

Existuje mnoho služeb, které se na pár kliknutí dokáží napojit na Git repositář na GitHubu nebo GitLabu a jeho obsah automaticky deployovat (vystavit na veřejnou URL).

Díky tomu, že mohou být serverless, jde na nich menší weby hostovat zdarma.

Serverless hosting

Serverless je v překladu bezserverový. Co to znamená? Přece to musí běžet na nějakém serveru.

Zjednodušeně řečeno se termínem serverless myslí situace, kdy se vývojář vůbec nestará o server. Nemusí řešit potřebné prostředky, ale vše škáluje automaticky.

Aplikace tak vytěžuje servery, jen když je zrovna potřeba.

Takže v situaci, kdy na web nechodí moc lidí, je jeho provoz velmi levný.

Stateless

Stateless – tedy bezstavové – jsou aplikace, které neukládají trvalá data na server.

Tato architektura umožňuje snadnější škálování a zlepšuje dostupnost aplikace, protože stav aplikace není uložen na konkrétním serveru.

Headless CMS

Česky přeloženo jako bezhlavé (headless) jsou redakční systémy, které neřeší frontend webu, ale pouze správu dat.

Data se z takových CMS buď stahují přes API, nebo ukládají data do souborů.

Git-based CMS

Díky dříve zmíněným technologiím existují Git-based redakční systémy, tj. založené na Gitu.

Z toho plyne, že Git repositář se používá jako úložiště obsahu. Změny na stránce se tak provádí klasickými commity.

To ale nutně neznamená, že vyžadují znalost práce s Gitem, protože tak mohou fungovat jen na pozadí. Pro uživatele se to může tvářit jako běžný CMS.

Implementace je obvykle velmi jednoduchá – víceméně stačí redakčnímu systému dát přístup k repositáři na GitHubu/GitLabu a rovnou začít provádět změny.

Některé CMS vyžadují konfiguraci, aby pochopily strukturu projektu.

Decap CMS (dříve Netlify CMS)

Decap CMS je open-source redakční systém.

Není nutné ho používat jen na Netlify.

Netlify CMS

Prose.io

Prose dokáže po připojení GitHub repositáře upravovat libovolné soubory. Pro soubory v Markdownu nabízí přehledný editor i s možností uploadu souborů.

Není potřeba ho nijak instalovat ani konfigurovat.

Prose

Tina

Tina (dříve Forestry) je moderní Git-based CMS s visuálním editorem. Umožňuje editaci obsahu přímo na webu s live preview.

Tina se integruje s různými frameworky jako Next.js, Nuxt, Gatsby a další. Poskytuje TypeScript podporu a umožňuje definovat vlastní schémata obsahu.

GitHub Pages

GitHub Pages dokáží generovat statické stránky přes Jekyll nebo jiné statické generátory.

Pro editaci obsahu lze použít GitHub webové rozhraní nebo lokálně desktop aplikaci GitHub Desktop.

Skoro žádný CMS

Teoreticky není potřeba vůbec žádný CMS, ale obsah můžete rovnou upravovat v prostředí GitHubu/GitLabu.

Pro soubory v Markdown formátu mají editory se zvýrazňováním syntaxe, klávesovými zkratkami a problém není ani upload obrázků nebo videí.

Výhody Git-based CMS

  • Versování – každá změna je uložena s kompletní historií
  • Záloha – obsah je automaticky zálohován v Git repositáři
  • Spolupráce – více autorů může pracovat na obsahu přes pull/merge requesty
  • Transparentnost – všechny změny jsou viditelné a auditovatelné
  • Offline práce – obsah lze editovat lokálně bez internetu
  • Integrace – snadná integrace s CI/CD pipeline
  • Nezávislost – obsah může jít editovat současně různými CMS, velmi snadná migrace mezi CMS

Nevýhody Git-based CMS

Různé CMS dokáží více či méně uživatele odstínit od těchto problémů:

  • Technická bariéra – může být složitější pro netechnické uživatele
  • Workflow – editace vyžaduje commit a push proces
  • Konflikty – při současné editaci stejného souboru mohou vzniknout merge konflikty
  • Omezené možnosti – některé pokročilé CMS funkce mohou chybět

Databásové CMS systémy

Pro srovnání je dobré zmínit i tradiční CMS systémy, které ukládají obsah do databáze (např. WordPress).

Výhody DB CMS

  • Real-time aktualisace – změny jsou okamžitě viditelné bez nutnosti buildu
  • Vyhledávání – vyhledávání a filtrování ve velkém množství obsahu může být rychlejší
  • Pokročilé funkce – workflow management, role-based přístup
  • Spolupráce – souběžná editace více autorů bez risika konfliktů
  • Složitější vazby – SQL se víc hodí pro provázání různých entit mez sebou

Nevýhody DB CMS

  • Provozní režie – databáze musí běžet a být hostovaná
  • Náklady – vyšší hosting náklady, zejména při škálování
  • Komplexita – složitější nastavení a údržba
  • Bezpečnost – více potenciálních bezpečnostních rizik

Kdy který přístup zvolit

Databásové CMS se hodí pro vysoký objem obsahu, časté aktualisace, komplexní workflow a více autorů. Git-based CMS jsou ideální pro menší weby, méně časté aktualisace, technické týmy a nízké náklady.

Případy použití

Git-based CMS se hodí zejména pro:

  • Dokumentaci – technické dokumenty, API reference
  • Blogy – osobní nebo firemní blogy
  • Portfolia – umělecká nebo vývojářská portfolia
  • Landing pages – jednoduché marketingové stránky
  • Firemní weby – statické firemní stránky

Odkazy jinam

Související články

Kolik monitorů potřebujete pro vývoj webů?

Jakou konfiguraci monitorů zvolit pro co nejefektivnější vývoj webů.

9 minut

Prázdný řádek na konci souboru

Proč by textové soubory měly končit prázdným řádkem.

3 minuty

Jak používat git rebase

Proč a jak používat git rebase pro přehlednou historii v Gitu.

5 minut

Více Git větví vedle sebe

Jak spustit více větví jednoho repositáře vedle sebe.

3 minuty

Web jecas.cz píše Bohumil Jahoda, kontakt
Seznam všech článků
2013–2025