Tämän blogin taustalla ei ole julkaisujärjestelmää eikä myöskään tietokantaa. Jokainen kirjoitus on markdown-tiedosto, joka viedään samaan koodipankkiin LiteTMS-koodin kanssa. Siksi artikkelin julkaiseminen toimii täsmälleen samalla tavalla kuin uuden ominaisuuden julkaisu: commit ja deploy.
Halusimme tehdä tämän toisin kuin useimmissa yritysblogeissa, ja tämä kirjoitus esittelee koko ratkaisun, mukaan lukien juuri lukemasi sivun lähdekoodin.
Muiden käyttämä ratkaisu
Tyypillinen yritysblogi toimii täysikokoisella sisällönhallintajärjestelmällä (CMS). Tietokanta, hallintapaneeli, käyttäjätilit, lisäosat ja teema, joka hajoaa heti siihen koskettaessa. Kaikki tämä koneisto on olemassa siksi, että toimitustiimi voi julkaista sisältöä koskematta koodiin.
Meillä ei ole erillistä toimitustiimiä, ja vietämme jo valmiiksi koko päivän koodirepositoriossa. Jätimme siis koko koneiston väliin. Jokainen ylimääräinen järjestelmä vaatii päivityksiä, varmuuskopiointia ja tietoturvan valvontaa. Tekstitiedostoja sisältävä kansio ei vaadi.
Miltä artikkelitiedosto näyttää
Tässä on tiivistetty näyte tämän kirjoituksen omasta otsakeosiosta sekä rungon rakenteesta:
---
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.
Alun lohko on yksinkertainen lista avain-arvo-pareja. Sen alla on tavallista markdownia, jonka standardi markdown-kirjasto muuntaa HTML-muotoon. Yksi tiedosto kieltä kohden: tämä kirjoitus on olemassa samannimisenä .en.md-tiedostona ja .pl.md-tiedostona, ja puolankielinen versio on kirjoitettu natiivisti eikä konekäännetty.
Esimerkin lopussa oleva ## FAQ -osio on vakiintunut käytäntö, ei pelkkää koristetta. Jokainen kysymys vastaa sellaista, jota käyttäjä hakisi hakukoneesta, ja koontiprosessi muuntaa kysymys-vastaus-parit rakenteiseksi dataksi, jota hakukoneet voivat näyttää rich results -tuloksina. Tämän sivun alalaidassa on toimiva esimerkki.
Validaattori päätoimittajan tilalla
Ennen kuin mitään julkaistaan, koontiskripti lukee jokaisen artikkelitiedoston ja tarkistaa sen skeemaa vasten. Kuvauksen pituuden on oltava 80-170 merkkiä. Kategorian on oltava yksi viidestä sallitusta arvosta. Päivämäärän on oltava oikea kalenteripäivä, ja slugin on vastattava tiedostonimeä.
Tämän jälkeen skripti luo yhden indeksitiedoston, joka sisältää kaikkien kirjoitusten metatiedot, ja sivusto lukee vain tämän tiedoston. Listaussivun lataus vie saman verran resursseja riippumatta siitä, onko artikkeleita viisi vai viisisataa.
Sama skripti suoritetaan CI-putkessa jokaisen push-komennon yhteydessä. Jos jokin kirjoitus on virheellinen tai joku unohti luoda indeksin uudelleen, koonti epäonnistuu eikä mitään viedä tuotantoon. Virheellinen sisältö ei pääse tuotantoympäristöön, koska tuotantoon ei koskaan siirretä mitään, mitä validaattori ei ole hyväksynyt.
Rehellisesti: miksi markdown
Markdown valikoitui hyvin käytännöllisistä syistä. Markdown-tiedostoa voi lukea millä tahansa tekstieditorilla, erikoistyökaluilla tai ilman. Sen erot näkyvät rivi riviltä (diff), joten kirjoitus tarkistetaan aivan kuten koodi: näet tarkasti, mikä virke muuttui. Lisäksi se on kevein ja helpoin mahdollinen muoto tekoälyavustajien luettavaksi, millä on kuukausi kuukaudelta enemmän merkitystä.
Viimeksi mainitun syyn vuoksi jokainen tämän blogin kirjoitus tarjotaan kolmessa eri muodossa. Lukemasi sivu on HTML-versio. Jos lisäät osoitteen perään selaimessa .md, saat suoraan raa'an lähdetiedoston tavulleen sellaisena kuin se on commitoitu, tavallisena markdownina. Lisäksi jokaisella kielellä on oma RSS-syötteensä lukijoille ja syötteenlukijoille.
Kaikista julkaistuista artikkeleista on myös koneluettava luettelo osoitteessa /blog/index.md, ja sivuston llms.txt ohjaa tekoälybotit suoraan siihen. Mikään tästä ei koskaan näy kaksoissisältönä, sillä raakatiedostoissa on noindex-otsake ja kanoninen linkki takaisin HTML-sivulle.
Mitä hyötyä tästä on lukijalle
Mikään tästä ei ole tuotteen ominaisuus. Kyse on valinnasta siitä, miten hoidamme oman julkaisutoimintamme, ja se noudattaa ensimmäisessä artikkelissa annettua lupausta: ei keksittyjä lukuja, ja tekstit, joiden todenperäisyyden voi tarkistaa suoraan lähteestä. Itse TMS-järjestelmä perustuu samaan periaatteeseen: suoraviivaiseen ja läpinäkyvään toimintaan. Jos haluat tutustua tarkemmin, rekisteröityminen on ilmaista.
Usein kysyttyä
- Voinko lukea LiteTMS-blogin kirjoituksia pelkkänä markdownina?
- Kyllä. Lisää minkä tahansa kirjoituksen osoitteen loppuun .md, jolloin sivusto ohjaa sinut suoraan raakaan lähdetiedostoon pelkkänä markdownina. Julkaistujen kirjoitusten koko luettelo löytyy osoitteesta /blog/index.md.
- Miksi LiteTMS-blogi ei käytä sisällönhallintajärjestelmää?
- Koska sisällönhallintajärjestelmä (CMS) toisi mukanaan toisen ylläpidettävän ja suojattavan järjestelmän, ja kaikki blogiin kirjoittavat työskentelevät jo valmiiksi tuotteen koodipankissa. Markdown-tiedostot yhdessä CI-validaattorin kanssa hoitavat saman asian huomattavasti pienemmällä ylläpitovaivalla.
- Heikentääkö tekoälyavustajille kirjoittaminen artikkeleiden laatua ihmislukijoille?
- Ei. Tekoälyavustajien suosima rakenne, eli suora aloitusrunko, kuvaavat väliotsikot sekä täsmälliset kysymykset ja lyhyet vastaukset, tekee artikkelista helppolukuisen myös ihmiselle. Raaka markdown on vain erillinen tiedostomuoto, joten lukemasi artikkeli pysyy aivan tavanomaisena ja selkeänä artikkelina.
Pysy ajan tasalla
Tee tilaa paremmalle luettavalle.
Valitse LiteTMS ensisijaiseksi lähteeksi nähdäksesi enemmän artikkeleitamme Googlessa.
Valitse LiteTMS GooglessaVahvista valintasi Googlessa · Avautuu uuteen välilehteen