Hlavní navigace

Blazeblogger: blogujte v terminálu

Štefan Miklošovič 28. 1. 2015

Nedávno som hľadal jednoduchý blogovací systém, ktorý by bol minimalistický a užívateľsky prívetivý. Taktiež by mal byť open source a administrácia by mala byť čo najviac priamočiara. Ovládanie z konzoly by bolo len plus. Blogovací systém Blazeblogger nielen splnil, ale aj predčil všetky moje očakávania.

Blazeblogger je český mikroblogovací systém s licenciou GNU GPLv3. S Blazebloggerom interagujete výhradne cez príkazový riadok. Inštalácia, inicializácia a konfigurácia blogu a taktiež vkladanie a editácia príspevkov sa vykonáva cez konzolu. Na prvý pohľad sa to zdá byť bláznivým nápadom a uleteným konceptom ktorý nemá žiadny zmysel. No opak je pravdou, kombinácia príkazového riadku a blogu je vynikajúcim riešením pre ľudí, ktorí túžia po produktivite, jednoduchosti a minimalizme. Poďme sa bližšie pozrieť, ako Blazeblogger nainštalujete na svoj server.

Inštalácia

Inštalácia Blazebloggeru je otázkou pár sekúnd. Ako jedinou prerekvizitou je viac menej server s akýmkoľvek linuxovým systémom. Blazeblogger je naprogramovaný v Perle, na jeho inštaláciu treba len program make.

Blazeblogger sa dá nainštalovať aj cez balíčkovací systém tej-ktorej distribúcie, avšak pre čo najväčšiu flexibilitu a pre pokrytie akejkoľvek distribúcie, ktorá Blazeblogger neposkytuje cez balíčkovací systém, si ukážeme inštaláciu Blazebloggeru zo zdrojových kódov.

Inštalácia vyzerá nasledovne:

$ cd /tmp (1)
$ wget http://blazeblogger.googlecode.com/files/blazeblogger-1.2.0.tar.gz (2)
$ tar xfz blazeblogger-1.2.0.tar.gz (3)
$ cd blazeblogger-1.2.0 (4)
$ make prefix=$HOME/blazeblogger compdir='$(prefix)/etc' install (5)
$ export PATH=$PATH:$HOME/blazeblogger/bin (6)

V kroku (2) a (3) stiahneme a rozbalíme Blazeblogger archív. Verzia 1.2.0 je najnovšia. V kroku (5) nainštalujeme Blazeblogger do adresára blazeblogger v našom domovskom adresári – to dosiahneme prepínačom prefix. compdir slúži na inštaláciu bash completition skriptu do podadresára etc. Na inštaláciu týmto spôsobom netreba mať práva root-a. Obyčajne sa Blazeblogger nainštaluje do /usr a skript do /etc a na to práva root-a treba. V kroku (6) pridáme Blazeblogger príkazy do našej PATH. Pre perzistenciu exportu môžeme tento príkaz pridať napr. do $HOME/.bash_profile. Týmito krokmi je inštalácia hotová.

Inicializácia a konfigurácia blogu

Jediný príkaz, ktorý je bránou k Blazebloggeru je príkaz blaze. Tento skript deleguje všetky úlohy spojené s administráciou blogu na skripty umiestnené v $HOME/blazeblogger/bin.

Po inštalácii treba blog inicializovať. To sa vykoná nasledujúcim spôsobom:

$ blaze init

Tento príkaz vytvorí v $HOME  adresár .blaze ktorý obsahuje všetku konfiguráciu blogu (ktorú je možné kedykoľvek rekonfigurovať) a všetky články na blogu. Existencia tohoto adresára je pre bežného používateľa nepodstatná a nie je určený na priamu editáciu. Všetko sa ovláda cez jednotlivé blaze podpríkazy.

Po inicializácii nasleduje konfigurácia. Tú vykonáme nasledovne:

$ blaze config -e -E vim

Prepínač -e slúži na editáciu všetkých premenných a -E  na špecifikáciu editora, cez ktorý bude editácia blogu vykonaná. Vo východzom nastavení to je Váš $EDITOR  – v mojom prípade vim. Konfigurácia je úplne jednoduchá a priamočiara. Poďme si ju spoločne prejsť.

Prvou sekciou je [blog]. V nej sa nastavujú najdôležitejšie parametre Vášho blogu ako jeho názov, popis, alebo grafická téma. Táto sekcia by mohla vyzerať napríklad nasledovne:

[blog]
title=novak.net
subtitle=blogujem teda som
description=blog o open source
keywords=linux open source
theme=default.html
style=default.css
lang=en_US
posts=15

V sekcii [blog] sme zmenili názov a podnázov blogu, jeho kľúčové slová a popis. Počet článkov na titulnej strane sme zvýšili na 15 namiesto 10. Jazyk blogu sme nechali na angličtinu – en_US. Pre prípadnú zmenu jazykovej mutácie musíme stiahnuť súbor s jazykom, uložiť ho do adresára $HOME/blazeblogger/lang a nastaviť premennú lang na názov tohoto súboru.

Sekciu [color] môžeme preskočiť. Sekcia [core] špecifikuje, s akým typom dokumentu, príponou a kódovaním bude Blazeblogger pracovať. Rovnako tu môžeme nastaviť náš obľúbený editor na editáciu článkov (napr. vim či nano). Blazeblogger môže používať iný preprocesor pre vaše články. Túto premennú necháme pre jednoduchosť nenastavenú.

Blazeblogger je integrovaný s RSS takže po publikovaní článku bude pridaný do RSS feed-u. RSS feed, ktorý si vaši odberatelia blogu pridajú do svojej RSS čítačky, nastavíte cez premennú baseurl v sekcii [feed]. baseurl sa rovná adrese vášho blogu. Nastavte ostatné premenné tejto sekcie podľa vašej vôle.

Sekcia [post] je viac menej kozmetická a určuje, kde sa pri blogu objavia tagy článku, názov autora a dátum.

Poslednou sekciou je [user]. Môže vyzerať napríklad takto:

[user]
name=Jan Novak
nickname=honza
email=jan@novak.cz

Konfiguráciu uložíte samotným uložením súboru v editore. V prípade, že budete chcieť v budúcnosti zmeniť nejaké nastavenie, spustite rovnaký príkaz a súbor opäť uložte. Konfigurovať Blazeblogger je možné aj zvlášť po každej premennej. Editor napríklad nastavíme nasledujúcim spôsobom:

$ blaze-config core.editor "gvim -f"

Týmto je konfigurácia blogu hotová a môžeme prejsť k pridávaniu a editácii článkov.

Pridanie a editácia článkov

Po inicializácii a konfigurácii blogovacieho systému Blazeblogger môžeme konečne pristúpiť k pridaniu nášho prvého článku. Na pridávanie článkov slúži nasledujúci príkaz:

$ blaze add

Otvorí sa editor podľa vášho nastavenia v konfigurácii a vložíme sem svoj prvý článok. V zakomentovanej sekcii musíme vyplniť informácie o pridávanom článku, napríklad nasledujúcim spôsobom:

#   title:    Môj prvý blog!
#   author:   Jan
#   date:     2015-01-18
#   keywords:
#   tags:     blog,root,open,source
#   url:

Vlastnosti title, author a date  musia byť vyplnené. Dátum je vyplnený automaticky. Ostatné premenné sú voliteľné. Tagy sa objavia na vašom blogu a po kliknutí na určitý tag sa vyfiltrujú len blogy s týmto tagom takže môžeme zoskupovať články do logických skupín.

Samotný blog sa píše ako čisté HTML. Odstavce sa uzatváraju do <p> elementu. Nadpis napíšeme napríklad tagom <h3>. Perex sa od samotného článku oddelí komentárom <!-- break -->. Úplne jednoduchý članok môže vyzerať nasledovne:

<p>
Toto je prvý odstavec nášho blogu, ktorý slúži ako perex. Všetko čo napíšeme sem sa zobrazí
v zozname článkov na hlavnej stránke blogu. Perex od samotného článku oddelíme nasledujúcim
komentárom.
</p>

<!-- break -->

<h3>Nadpis blogu</h3>

<p>
Toto je prvý odstavec samotného článku.
</p>

<p>
Toto je druhý odstavec. Môžem použiť napríklad zoznam:
<ul>
    <li>nejaký</li>
    <li>zoznam</li>
</ul>
</p>

Po pridaní článku súbor uložíme. Pre prípadné zmeny editujeme článok nasledovne:

$ blaze edit _číslo_článku_

K editácii nejakého článku potrebujeme jeho identifikátor. Číslo blogu, ktorý chceme editovať, sa dozvieme cez príkaz list. V našom prípade vyzerá výpis nasledovne:

$ blaze list
ID: 1 | 2015-01-18 | Jan

    Title: Môj prvý blog!
    Tags:  linux, root

ID článku je 1, teda jeho editáciu vykonáme cez:

$ blaze edit 1

Zverejnenie článku a vygenerovanie blogu

Pridaním blogu cez príkaz add a jeho prípadnou editáciou cez príkaz edit sme samotný blog uložili len do internej databázy blogov v $HOME/.blaze. Na samotné vygenerovanie celého blogu slúži príkaz make. Príkaz make vygeneruje statický obsah blogu do adresára, v ktorom sa práve nachádzame.

Predpokladáme, že chceme, aby bol náš blog verejne dostupný. Na to potrebujeme webový server, napríklad Apache. Nastavenie a konfigurácia webového servera je mimo záber tohoto článku, no predpokladajme, že disponujeme doménou novak.net a webový server sme nastavili tak, aby adresár /var/www/novak.net ukazoval na túto doménu. Tento adresár musí existovať pred samotným vygenerováním blogu a musíme mať k nemu práva na zápis.

Statické vygenerovanie celého blogu do /var/www/novak.net sa vykoná nasledujúcim spôsobom:

$ sudo -u root -E $HOME/blazeblogger/bin/blaze make -d /var/www/novak.net

Pre vygenerovanie blogu do /var/www/novak.net potrebujeme práva root-a keďže nás účet nemá pre zápis do tohoto adresára prístup. Samozrejme by sme mohli nastaviť webový server aj iným spôsobom, a to napríklad tak, že blog vygenerujeme do $HOME/public_html.

Prepínač -d určuje, kam sa má blog vygenerovať, v našom prípade do koreňového adresára našich webových stránok. Vo východzom nastavení sa blog vygeneruje do adresára v ktorom sa práve nachádzame, takže na jeho generovanie nepotrebujeme práva root-a. Ak chceme blog vygenerovať do aktuálneho adresára a chceme, aby sme k nemu mohli pristúpiť aj offline (napr. takýto blog môžeme skomprimovať a poslať niekomu cez e-mail – po rozbalení si môže dotyčný človek prezerať blog v offline režime), treba vykonať generáciu blogu s prepínačom -F. Taktiež by sa hodilo, ak by sme zakázali RSS feed. To dosiahneme prepínačom -r.

Nezostáva nám nič iné ako otvoriť v prehliadači adresu http://novak.net kde je náš blog zverejnený. Všetky dodatočné zmeny v blogu zostanú nezverejnené, až kým znova nevygenerujeme blog príkazom make. V praxi môžeme používať dve verzie blogu, jedna verzia je skúšobná, druhá ostrá. Ak máme stránky pripravené v skúšobnom adresári, len vygenerujeme blog do adresára určeného na ostrú prevádzku.

Vymazanie článku

Pridaný článok vymažeme príkazom remove. Parametrom príkazu remove je identifikátor článku, rovnako ako pri jeho editácii. Článok sa vymaže teda nasledovne:

$ blaze remove 1

Logovanie činnosti a štatistiky

Štatistiky týkajúce sa našeho mikroblogu vypíšeme ako:

$ blaze list -S
Number of pages: 1
Number of posts: 1
Last post date:  2015-01-18
First post date: 2015-01-18

Všetka interakcia s Blazebloggerom sa ukladá do interného logu, takže máme presný prehľad o našej činnosti:

$ blaze log
Date: Sun Jan 18 14:17:33 2015

    Edited the post with ID 1.

Date: Sun Jan 18 14:16:36 2015

    Added the post with ID 1.

Date: Sun Jan 18 13:08:40 2015

    Created a BlazeBlogger repository.

Farebný výpis nastavíme cez prepínač -c, skrátený log na jeden riadok cez prepínač -s a reverzný výpis (od najstaršej akcie po najnovšiu) prepínačom  -r.

Záver

V článku sme si ukázali ako nainštalovať blogovací systém Blazeblogger, prešli sme si jeho inicializáciou a konfiguráciou a následne sme sa naučili, ako napísať a zverejniť blog. V praxi je písanie blogov úplne jednoduché a vystačíme si s troma blaze príkazmi – add, edit a make.

Vzhľadom na to, že blog je staticky generovaný a defakto uložený v jednom adresári ( $HOME/.blaze), je vhodné mať celý blog v SCM systéme ako napríklad v Git-e. Prípadný prechod k staršej verzii blogu je triviálna úloha. Do Blazebloggeru je možné integrovať diskusný systém Disqus a rovnako je možné použiť pri písaní blogu iný preprocesor takže môžeme písať napr. v Markdown alebo v Asciidoc-u a Blazeblogger automaticky prevedie blog na HTML.

Referencie a zdroje

  1. Stránka projektu Blazeblogger
  2. Referenčná karta s príkazmi
  3. Blazeblogger s integráciou Disqus
Našli jste v článku chybu?

28. 1. 2015 14:34

radekb (neregistrovaný)

BlazeBlogger vypadá skvěle. Jen mě děsí, že poslední verze je z roku 2011.

28. 1. 2015 11:42

Já naopak čekám na slušný blogovací systém v terminálu a zatím takto udržuju jenom pár článků, které pak většinou kopíruju někam jinam, ale mám to jako součást webu a řešené hodně dřevorubecky. Ale zase jsem si na tom vyzkoušel pár programovacích jazyků, střídal jsem implementace v AWK, perlu a Pythonu.

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá

Lupa.cz: Google měl výpadek, nejel Gmail ani YouTube

Google měl výpadek, nejel Gmail ani YouTube

DigiZone.cz: Česká televize mění schéma ČT :D

Česká televize mění schéma ČT :D

Podnikatel.cz: Vládu obejde, kvůli EET rovnou do sněmovny

Vládu obejde, kvůli EET rovnou do sněmovny

Měšec.cz: Finančním poradcům hrozí vracení provizí

Finančním poradcům hrozí vracení provizí

Podnikatel.cz: 1. den EET? Problémy s pokladnami

1. den EET? Problémy s pokladnami

120na80.cz: Pánové, pečujte o svoje přirození a prostatu

Pánové, pečujte o svoje přirození a prostatu

Podnikatel.cz: EET zvládneme, budou horší zákony

EET zvládneme, budou horší zákony

DigiZone.cz: ČT má dalšího zástupce v EBU

ČT má dalšího zástupce v EBU

Vitalia.cz: Baletky propagují zdravotní superpostel

Baletky propagují zdravotní superpostel

Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte

Podnikatel.cz: Víme první výsledky doby odezvy #EET

Víme první výsledky doby odezvy #EET

Podnikatel.cz: Na poslední chvíli šokuje vyjímkami v EET

Na poslední chvíli šokuje vyjímkami v EET

Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí

Vitalia.cz: To není kašel! Správná diagnóza zachrání život

To není kašel! Správná diagnóza zachrání život

Lupa.cz: UX přestává pro firmy být magie

UX přestává pro firmy být magie

Vitalia.cz: Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Podnikatel.cz: Prodává přes internet. Kdy platí zdravotko?

Prodává přes internet. Kdy platí zdravotko?

Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?