DokuWiki

Je lepší, když je to jednoduché

Nástroje uživatele

Nástroje webu


tips:blogging

DokuWiki pro blogování

https://www.dokuwiki.org/tips:blogging

Existují v zásadě dva způsoby, jak používat DokuWiki pro blogování.

  1. Kombinovat několik pluginů, které rozšíří DokuWiki o potřebné funkce, aby se z ní stal plnohodnotný blog. Viz pokyny níže.
  2. Nebo nainstalovat plugin BlogTNG.

Rozsah funkcí se u obou přístupů liší.

Hlavní rozdíl mezi těmito dvěma pluginy je v tom, že BlogTNG je řešení vše-v-jednom, které pro ukládání informací o blogování používá databázi sqlite. Libovolné stránky mohou být označeny jako součást určitého blogu, není nutné používat žádnou specifickou strukturu jmenného prostoru. To však také znamená, že nelze použít funkce diskuse nebo štítkování (tagy) pro neblogové stránky, což je možné u modulárního nastavení.

Modulární nastavení obsahuje více funkcí, jako je moderování komentářů přímo na stránkách blogu nebo archivu, zatímco blogtng například omezuje použití syntaxe pluginů v komentářích, což je v typickém blogovém prostředí rozhodně užitečná funkce (ale samozřejmě záleží i na nainstalovaných pluginech).

:!: Tato stránka je ROZPRACOVANÁ! Pokud máte co přidat, neváhejte ji vylepšit, kdekoli uznáte za vhodné!

Nastavení blogu kombinací několika pluginů

Ačkoliv blogování není hlavním účelem DokuWiki, existuje poměrně velké množství dostupných pluginů, které mohou proměnit DokuWiki v plnohodnotnou blogovací platformu.

Tato stránka popisuje kroky potřebné k tomu, abyste mohli začít blogovat v DokuWiki. Poskytuje také užitečné tipy a upozornění na možná úskalí.

Pokud chcete objevit existující blogy založené na DokuWiki, zkuste toto vyhledávání na Googlu.

Požadované pluginy

Nejprve je třeba nainstalovat sadu pluginů. Základní nastavení blogu se skládá z pluginů plugin:blog, plugin:include a plugin:pagelist, které představují minimální instalaci blogovacího balíčku.

Kromě těchto můžete svůj blog doplnit pluginy plugin:discussion, plugin:linkback, plugin:bloglinks, plugin:feedmod, plugin:avatar a plugin:tag.

Nastavení

Jednouživatelský režim

V tomto scénáři máme pouze jednoho uživatele, který chce používat blogovací plugin k vytvoření a správě jednoho blogu. Konfigurace pluginu blog umožňuje zadat jmenný prostor, kde budou uloženy všechny blogové příspěvky. Ve výchozím nastavení je to :blog, což by mělo být v pořádku pro většinu uživatelů.

Pro vytvoření blogu je třeba nejprve rozhodnout, kterou wiki stránku chcete použít jako blog, a tu vytvořit. Pokud chcete, aby blog byl úvodní stránkou wiki, použijte :start. Poté stačí přidat syntaxi blogovacího pluginu na stránku a uložit ji.

{{blog>?5}}

Výše uvedené zobrazí pět nejnovějších příspěvků na našem blogu. Jelikož se jedná o jednouživatelské nastavení, není třeba specifikovat jmenný prostor v syntaxi pluginu, použije se výchozí nastavení. Nyní byste měli vidět formulář pro přidání nových příspěvků. Než však přidáte první příspěvek, je třeba nastavit jednu konfigurační volbu – konkrétně nastavení dateprefix v souboru dokuwiki/lib/plugins/blog/conf/default.php. Toto nastavení umožňuje přidat datum vytvoření stránky do názvu nové stránky. Dobré nastavení je %Y:%m%d_. Co se stane: když zadáte „můj nový blog“ do formuláře pro nový příspěvek a stisknete enter, vytvoří se stránka blog:2008:0512_muj_novy_blog. Vidíte, že to pomáhá udržet blogový jmenný prostor přehledný.

Abyste umožnili blogu přístup pouze čtení a zabránili ostatním v úpravách vašich příspěvků, má smysl přidat několik ACL pravidel (příklad předpokládá, že používáte stránku :start jako výpis blogu).

start    @ALL 1
start    yourusername 16
blog:*   @ALL 1
blog:*   yourusername 16

Víceuživatelský režim

V tomto scénáři chceme umožnit různým uživatelům mít vlastní blog. Každý uživatel potřebuje svůj vlastní blogovací jmenný prostor a stránku s výpisem blogu, kde může vytvářet a upravovat stránky. V tomto příkladu máme tři uživatele: Joey, Walter a Susi. Každý uživatel dostane svůj vlastní jmenný prostor pod :blog a vlastní výpisovou stránku. Proto musíme nastavit následující ACL pravidla (příklad pro uživatele Joey):

blog:joey    @ALL 1
blog:joey:*  @ALL 1
blog:joey    joey 16
blog:joey:*  joey 16

Všimněte si, že můžete použít zástupné znaky uživatelů, pokud chcete umožnit blogování každému uživateli.

Nyní musíte vytvořit stránku :blog:joey a vložit následující syntaxi blogovacího pluginu pro nastavení blogu.

{{blog>blog:joey?5}}

Opakujte to pro všechny ostatní uživatele. Poté mohou začít blogovat vytvářením nových příspěvků pomocí formuláře pro nový příspěvek.

Nastavení RSS kanálu

Jednou z nejdůležitějších věcí na blogu je jeho RSS kanál. DokuWiki automaticky vytváří různé kanály. Ale pro blog si možná budete chtít nastavit kanál speciálně upravený.

Poznámka: Jelikož nová verze DokuWiki podporuje plnohodnotné HTML kanály, již se nedoporučuje používat plugin feed pro vytvoření blogového kanálu (stále je však užitečný pro diskusní kanály apod.).

Určení URL vašeho kanálu

Budete potřebovat několik parametrů pro sestavení RSS kanálu blogových článků. Nejdůležitější je parametr ns, který omezí kanál pouze na blogové články. Nezapomeňte NEpoužívat hlavní stránku blogu jako zdroj kanálu, protože to způsobí, že všechny příspěvky budou zahrnuty jako jedna položka kanálu!

Zde je základní příklad URL:

http://www.example.com/feed.php?ns=blog&num=10

Také se ujistěte, že odkazuje na nejaktuálnější verzi článku. Můžete buď nastavit výchozí možnosti, nebo je předat přímo do feed.php:

http://www.example.com/feed.php?ns=blog&num=10&linkto=current

Pravděpodobně také povolíte plnohodnotný HTML kanál DokuWiki:

http://www.example.com/feed.php?ns=blog&num=10&linkto=current&content=html

Hezké URL kanálů pomocí .htaccess

Pokud máte povolené přepisování URL pomocí .htaccess, zvažte přidání vlastních pravidel pro přepis, abyste měli hezké URL kanálů. Pravidlo přepisu pro výše uvedený příklad by vypadalo takto (přidejte ho pod pravidlo pro odkazy _export/):

RewriteRule ^_feed/?(.*) feed.php?ns=$1&num=10&linkto=current&content=html [QSA,L]

Nyní můžete přistupovat ke svému blogovému kanálu přes http://yourdomain.org/_feed/blog.

Automatické rozpoznání kanálu

Prohlížeče dokážou automaticky rozpoznat RSS kanály pomocí specifických HTML metadat. Ve výchozím nastavení DokuWiki tato metadata poskytuje pro své standardní kanály. Pro blogovou stránku však možná budete chtít tyto výchozí kanály potlačit a zobrazit pouze váš blogový kanál. To se provádí úpravou souboru main.php ve vaší šabloně. Zde je příklad hlavičky stránky:

<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title><?php tpl_pagetitle()?> [<?php echo strip_tags($conf['title'])?>]</title>
 
  <?php tpl_metaheaders(false)?>
  <link rel="alternate" type="application/rss+xml" title="Blog" href="/feed.php?ns=blog&amp;linkto=page" />
</head>

Všimněte si parametru false předávaného funkci tpl_metaheaders. Ten potlačí všechny výchozí tagy automatického zjišťování RSS.

Použití

Používání konceptů

Existují dva různé způsoby, jak pracovat s nedokončenými blogovými příspěvky v DokuWiki. Můžete například vytvořit speciální jmenný prostor pro koncepty, kde je budete ukládat, a až je dokončíte, jednoduše vytvoříte blogový příspěvek a článek zkopírujete. Plugin blog však podporuje koncepty přímo. Pro označení příspěvku jako konceptu stačí do stránky vložit ~~DRAFT~~ a stránku uložit. Příspěvek se nezobrazí ve výpisu blogu, dokud ~~DRAFT~~ ze stránky neodstraníte. Pokud chcete tuto funkci používat, doporučuje se nainstalovat také plugin plugin:feedmod, který koncepty odstraňuje i z RSS kanálu.
Poznámka: Stránky označené jako koncept s pluginem blogu se stále zobrazují ve výsledcích vyhledávání a pro uživatele s oprávněním k úpravám!

Správa komentářů

Plugin plugin:discussion poskytuje administrační rozhraní dostupné v menu administrace DokuWiki, které umožňuje zavírat/otevírat diskuse a zobrazovat/skrývat/mazat komentáře.

Správa zpětných odkazů

Plugin linkback také nabízí administrační rozhraní, které umožňuje mazat zpětné odkazy nebo je povolit/zakázat pro jednotlivé stránky.

Správa štítků

Nejnovější verze pluginu plugin:tag poskytuje administrační rozhraní pro znovuvytvoření indexu štítků. Plugin plugin:tagentry navíc nabízí skvělou funkcionalitu pro správu vašich štítků.

Přizpůsobení

FIXME

Zobrazení pouze první sekce na úvodní stránce

Někdy nechcete zobrazit celý článek na úvodní stránce, protože je příliš dlouhý. Pro jeho zkrácení stačí vložit prázdný nadpis úrovně H1. Aby to fungovalo, je třeba aktivovat volbu firstseconly v konfiguraci pluginu plugin:include.

Toto bude dlouhý příspěvek

====== ======

Zde pokračuje celý dlouhý příspěvek

Vyladění kanálu

Výchozí RSS kanál DokuWiki není pro blogování zcela ideální - například zobrazuje název stránky jako titulek položky kanálu místo prvního nadpisu. Pro změnu můžete použít plugin plugin:feedmod. Ten nastaví první nadpis blogového příspěvku jako titulek položky kanálu a přidá zápatí s odkazem na diskusi a zobrazením štítků příspěvku. Navíc můžete přidat odkazy na služby pro sdílení úpravou šablony zápatí (více informací najdete na stránce pluginu plugin:feedmod).

Další jednoduchý způsob, jak přidat funkce do kanálu, je použití služby Feedburner. Zaregistrujte se na jejich stránkách, nasměrujte je na svůj kanál (viz Určení URL vašeho kanálu) a vložte Feedburner kanál do značky autodetekce. Tím také snížíte zátěž vašeho serveru, protože část provozu převezme Feedburner.

Boj proti SPAMu

Komentářový SPAM je dnes poměrně velký problém. Naštěstí DokuWiki nabízí řadu antispamových pluginů. Podpora pro plugin plugin:captcha je integrována do pluginu plugin:discussion. Stačí ho nainstalovat a nastavit podle svých potřeb.

Upozornění

Zacházejte se svým souborovým systémem opatrně

FIXME

Tipy

Oprava chybných časových razítek

FIXME

Některé problémy s časovými razítky, na které jsem narazil:

  • Jak je zmíněno v diskusi u meta pluginu, feed.php ignoruje nastavení ~~META: …~~. (Obvykle se volá getRecents() z changelog.php, který to zřejmě nepodporuje?) Výsledkem je nesoulad mezi výpisem blogu jako {{blog>blog?5}} a feed.php?ns=blog&num=5, což je nečekané.
  • Momentálně není možné nechat feed.php zobrazit pouze nově vytvořené stránky (a seřadit je podle data vytvoření sestupně). (Protože getRecents() umožňuje zobrazit pouze nově vytvořené stránky.) Poznamenávám, že tento výpis je možný pomocí pluginu changes, ale tento kód se v feed.php nepoužívá.
  • Alternativní přístup pomocí abecedního řazení stránek podle názvu by mohl problém vyřešit, pokud mají položky názvy jako :blog:YYYY-MM:DD-nazev_stranky. Pak by feed.php byl konzistentní s permalinkem blogu, což by bylo pěkné.

— Louwrens van Dellen 2010/05/03 23:23

Mobilní blogování

mail2page je skript pro vytváření stránek z e-mailu. Viz také Andiho blogový příspěvek

Diskuse

Změna pořadí položek "linkback" a "discussion" na vykreslené wiki stránce

Je možné (bez úprav zdrojového kódu/šablon) změnit pořadí pluginů plugin:discussion a plugin:linkback? Pokud to nejde bez úprav, mohl by někdo, kdo častěji upravuje kód než já, poradit správný směr? (Ovládám HTML/CSS/PHP)

Díky, Ralf

Bohužel to v DokuWiki není možné kvůli způsobu, jakým je výstup generován v obou pluginech, neexistuje způsob, jak ovlivnit pořadí pluginů. — Michael Hamann 2013/11/18 13:09

Odkaz na uživatelské jméno místo skutečného jména

Kvůli problémům se shodou jmen - je možné změnit odkaz user:xxxxx? Nejlepší by byla volba v administračním panelu pro výběr mezi skutečným jménem a uživatelským jménem DokuWiki.
Díky. — To_O

Myslím, že funkce odkazu na uživatelskou stránku pochází z pluginu include, na kterém je plugin blog závislý. — Anon

Stránky mimo blog

Jak mohu označit stránky jako ne-blogové (např. kontakt - ty by se neměly zobrazovat ve výpisu blogu)? Je použití ~~DRAFT~~ dobrý nápad? — Alex

tips/blogging.txt • Poslední změna: (upraveno správcem (MartinR) mimo DokuWiki)

Pokud není uvedeno jinak, je obsah této wiki dostupný pod licencí:
CC-BY-SA • Uveďte původ - Zachovejte licenci 4.0 Mezinárodní
CC-BY-SA • Uveďte původ - Zachovejte licenci 4.0 Mezinárodní Darovat Běží na PHP Validátor HTML5 Validátor CSS Běží na DokuWiki

Našli jste na stránce chybu, nebo překlep?
Budu vděčný za upozornění.
Děkuji

Nahoru