---
title: Този блог е просто папка с markdown файлове
slug: why-this-blog-has-no-cms
locale: bg
description: Зад блога на LiteTMS няма CMS. Всяка статия е markdown файл в хранилището на продукта, валидиран в CI и достъпен като HTML, чист markdown и RSS.
date: 2026-07-15
updated: 2026-07-15
category: technology
tags: markdown, blog, aieo, engineering
author: LiteTMS Team
draft: false
---

Зад този блог няма CMS, нито база данни. Всяка публикация е markdown файл, качен в същото хранилище, в което се намира кодът на LiteTMS, така че публикуването на статия работи точно като пускането на нова функционалност: commit и deploy.

Искахме да направим това по различен начин от повечето фирмени блогове, а настоящата публикация ви показва целия механизъм, включително изходния код на самата страница, която четете в момента.

## Конфигурацията, която всички останали използват

Типичният фирмен блог работи с цялостна система за управление на съдържанието. База данни, административен панел, потребителски профили, плъгини и тема, която създава проблеми при всяка намеса. Цялата тази машинария съществува само за да може екип от редактори да публикува, без да се докосва до програмния код.

Ние нямаме екип от редактори, а и без това прекарваме целия ден в хранилището с код. Затова прескочихме тази сложна машинария. Всяка допълнителна система изисква актуализации, архивиране и защита. Една папка с текстови файлове няма нужда от това.

## Как изглежда файлът на една публикация

Ето съкратено копие на заглавната част на самата тази публикация, последвано от структурата на основния текст:

```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.
```

Блокът в горната част е обикновен списък с двойки ключ и стойност. Под него се намира стандартен markdown, визуализиран чрез стандартна markdown библиотека. По един файл за всеки език: тази публикация съществува като файл `.en.md` и файл `.pl.md` със същото име, като полската версия е написана директно на съответния език, а не е машинен превод.

Секцията `## FAQ` в края на примера е реално възприето правило, а не просто украшение. Всеки въпрос е от типа, който потребител би въвел в поле за търсене, а процесът на сглобяване (build) превръща тези двойки в структурирани данни, които търсачките могат да показват като обогатени резултати. В долната част на тази страница има реален пример.

## Валидатор вместо редактор

Преди каквото и да било да излезе на живо, скрипт за сглобяване прочита всеки файл с публикация и го проверява спрямо схемата. Описанието трябва да бъде между 80 и 170 знака. Категорията трябва да е една от пет позволени стойности. Датата трябва да е реален календарен ден, а slug параметърът трябва да съвпада с името на файла.

След това скриптът записва един-единствен индексен файл с метаданните на всяка публикация, а сайтът чете само него. Страницата със списък струва еднакво като ресурси както при петстотин публикации, така и при пет.

Същият скрипт се изпълнява в CI при всеки push. Ако някоя публикация е невалидна или някой е забравил да генерира отново индекса, сглобяването се проваля и нищо не се внедрява. Неизправно съдържание не може да стигне до работната среда, защото тя никога не получава нищо, което валидаторът не е одобрил.

## Защо именно markdown, честно казано

Markdown спечели по съвсем практични причини. Един markdown файл може да се чете във всеки текстов редактор, със или без допълнителни инструменти. Промените в него се сравняват ред по ред, така че публикацията се преглежда точно както програмен код: виждате конкретно кое изречение е променено. Освен това той е възможно най-евтиният формат за обработка от AI асистенти, което придобива все по-голямо значение с всеки изминал месец.

Именно поради последната причина всяка публикация тук се предоставя по три начина. Страницата, която четете, е HTML версията. Ако добавите `.md` към адреса в браузъра си, получавате изходния файл, байт по байт както е качен, под формата на чист markdown. А всеки език има собствен RSS канал за четци и агрегатори.

Съществува и машинночетим каталог на всички публикувани статии на [/blog/index.md](/blog/index.md), а файлът `llms.txt` на сайта насочва AI ботовете директно към него. Нищо от това не се отчита като дублирано съдържание, тъй като първичните файлове носят noindex заглавна част и канонична връзка обратно към HTML страницата.

## Какво печелите вие като читател

Нищо от описаното тук не е продуктова функционалност. Това е решение за начина, по който управляваме собствените си публикации, и отговаря на обещанието от [първата публикация](/en/blog/welcome-to-the-litetms-blog): без измислени цифри и с текст, който можете да проверите директно при източника. Самата TMS система е изградена върху същото предпочитание към прости и лесно проверими механизми. Ако искате да разгледате системата, [регистрацията е безплатна](/en/register).

## FAQ

### Мога ли да чета публикация от блога на LiteTMS като чист markdown?

Да. Добавете `.md` към адреса на която и да е публикация и сайтът ще ви пренасочи към изходния файл, предоставен като чист markdown. Пълният каталог на публикуваните статии се намира на /blog/index.md.

### Защо блогът на LiteTMS не използва CMS?

Защото CMS би бил втора система за поддръжка, обновяване и защита, а хората, които публикуват тук, така или иначе работят в хранилището на продукта. Markdown файловете с CI валидатор вършат същата работа с много по-малко усилия за поддръжка.

### Писането за AI асистенти прави ли статиите по-лоши за хората?

Не. Структурата, която асистентите възнаграждават - директен уводен параграф, описателни заглавия и конкретни въпроси с кратки отговори - е същата структура, която прави една статия лесна за преглеждане на един дъх. Изходният markdown е отделен формат, така че статията, която четете, си остава нормална статия.
