---
title: Ovaj blog je mapa s Markdown datotekama
slug: why-this-blog-has-no-cms
locale: hr
description: Iza bloga LiteTMS nema CMS-a. Svaka je objava markdown datoteka u repozitoriju proizvoda, provjerena u CI-ju i poslužena kao HTML, čisti markdown i RSS.
date: 2026-07-15
updated: 2026-07-15
category: technology
tags: markdown, blog, aieo, engineering
author: LiteTMS Team
draft: false
---

Iza ovog bloga ne stoji nikakav CMS niti baza podataka. Svaka je objava markdown datoteka spremljena u isti repozitorij kao i kod za LiteTMS, pa objavljivanje funkcionira točno poput isporuke nove funkcionalnosti: commit i deploy.

Htjeli smo to napraviti drukčije od većine korporativnih blogova, a ova objava prikazuje cijeli mehanizam, uključujući izvorni kod stranice koju upravo čitate.

## Postavke kakve koriste svi drugi

Tipičan korporativni blog pokreće puni sustav za upravljanje sadržajem (CMS). Baza podataka, administratorska ploča, korisnički računi, dodaci i tema koja se opire svakoj izmjeni. Sva ta mašinerija postoji samo kako bi urednički tim mogao objavljivati bez doticaja s kodom.

Mi nemamo urednički tim, a ionako cijeli dan provodimo u repozitoriju koda. Zato smo zaobišli tu mašineriju. Svaki dodatni sustav traži zakrpe, sigurnosne kopije i zaštitu. Mapa s tekstualnim datotekama to ne traži.

## Kako izgleda datoteka objave

Evo skraćenog primjera zaglavlja ove objave, nakon čega slijedi struktura samog teksta:

```markdown
---
title: This blog is a folder of markdown files
slug: why-this-blog-has-no-cms
locale: en
description: There is no CMS behind the LiteTMS blog. Every post is...
date: 2026-07-15
category: technology
tags: markdown, blog, aieo, engineering
draft: false
---

The first paragraph answers the title on its own, because that is
the part search snippets and AI assistants quote.

## A section heading

Plain markdown body. Nothing exotic.

## FAQ

### Does this sample show the FAQ convention?

Yes. Each ### line is a literal question, answered right below it.
```

Blok na vrhu je jednostavan popis parova ključeva i vrijednosti. Ispod njega nalazi se običan markdown koji obrađuje standardna markdown biblioteka. Jedna datoteka po jeziku: ova objava postoji kao datoteka `.en.md` i datoteka `.pl.md` s istim nazivom, pri čemu je poljska verzija izvorno napisana, a ne strojno prevedena.

Odjeljak `## FAQ` na kraju primjera stvarna je konvencija, a ne ukras. Svako je pitanje upravo onakvo kakvo bi korisnik upisao u tražilicu, a proces izgradnje pretvara te parove u strukturirane podatke koje tražilice mogu prikazati kao obogaćene rezultate. Primjer uživo nalazi se na dnu ove stranice.

## Validator umjesto urednika

Prije bilo kakve isporuke, skripta za izgradnju čita svaku datoteku objave i provjerava je prema shemi. Opis mora imati između 80 i 170 znakova. Kategorija mora biti jedna od pet dopuštenih vrijednosti. Datum mora biti stvarni kalendarski datum, a slug mora odgovarati nazivu datoteke.

Skripta zatim zapisuje jednu indeksnu datoteku sa svim metapodacima o objavama, a stranica čita samo tu datoteku. Stranica s popisom zahtijeva jednaku količinu resursa s petsto objava kao i s pet.

Ista se skripta pokreće u CI-ju pri svakom pushu. Ako objava nije ispravna ili je netko zaboravio ponovno generirati indeks, build ne uspijeva i ništa se ne postavlja na poslužitelj. Neispravan sadržaj ne može dospjeti u produkciju jer produkcija nikada ne prima ništa što validator nije odobrio.

## Zašto baš markdown, iskreno

Markdown je pobijedio iz vrlo praktičnih, nimalo glamuroznih razloga. Markdown datoteka čitljiva je u svakom uređivaču teksta, s dodatnim alatima ili bez njih. Uspoređuje se redak po redak, pa se pregled objave odvija poput pregleda koda: točno vidite koja se rečenica promijenila. Osim toga, to je najjednostavniji i najjeftiniji format za obradu u AI asistentima, što svakog mjeseca postaje sve važnije.

Upravo se zbog te zadnje stavke svaka objava ovdje poslužuje na tri načina. Stranica koju čitate je HTML verzija. Dodajte `.md` na adresu u pregledniku i dobit ćete izvornu datoteku, bajt po bajt onako kako je poslana u repozitorij, posluženu kao čisti markdown. Svaki jezik ima i vlastiti RSS kanal za čitače i agregatore.

Postoji i strojno čitljiv katalog svih objavljenih tekstova na adresi [/blog/index.md](/blog/index.md), a datoteka `llms.txt` usmjerava AI pretraživače izravno na njega. Ništa od toga ne stvara problem s dupliciranim sadržajem jer sirove datoteke sadrže noindex zaglavlje i kanonsku poveznicu koja vodi natrag na HTML stranicu.

## Što vi kao čitatelj dobivate time

Ništa od ovoga nije funkcionalnost samog proizvoda. To je naša odluka o načinu objavljivanja sadržaja i uklapa se u obećanje iz [prve objave](/en/blog/welcome-to-the-litetms-blog): bez izmišljenih brojki i uz tekst koji možete provjeriti na samom izvoru. I sam TMS izgrađen je na istoj sklonosti prema jednostavnim, transparentnim mehanizmima. Ako želite isprobati sustav, [registracija je besplatna](/en/register).

## FAQ

### Mogu li čitati objavu na LiteTMS blogu kao čisti markdown?

Da. Dodajte `.md` na adresu bilo koje objave i stranica vas preusmjerava na izvornu datoteku, posluženu kao čisti markdown. Cijeli katalog objavljenih tekstova nalazi se na /blog/index.md.

### Zašto LiteTMS blog ne koristi CMS?

Zato što bi CMS bio još jedan sustav koji treba nadograđivati i osiguravati, a jedini ljudi koji ovdje objavljuju ionako već rade u repozitoriju proizvoda. Markdown datoteke s CI validatorom odrađuju isti posao uz znatno manje održavanja.

### Čini li pisanje prilagođeno AI asistentima tekstove lošijima za ljude?

Ne. Struktura koju AI asistenti preferiraju, a to znači izravan uvodni odlomak, opisni naslovi i doslovna pitanja s kratkim odgovorima, upravo je ona struktura koja olakšava brzo čitanje članka. Izvorni markdown je zaseban format, pa članak koji čitate ostaje sasvim uobičajen članak.
