Содержание

DokuWiki в качестве блога

:!: Эта статья находится в разработке.

Введение

Сейчас на просторах интернета очень популярна такая штука как блог (Blog, Weblog). По своей организации он является аналогом дневника. Собственно грань между блогом и дневником весьма тонка. На мой взгляд различаются они только тем, что дневник пишут прежде всего для себя и попадают в него разрозненные заметки о жизни (типа какой чай пил утром, и когда любимая кошка на горшок сходила), а блог рассчитан прежде всего на читателей желающих извлечь из этого чтива полезную информацию и как правило имеет чёткую тематическую направленность.

Популярность это средство интернет-публикации обрело благодаря простоте этой самой публикации. Заводя полноценный сайт Вам приходится продумывать его структуру, дизайн. Хотя дизайн не такая большая проблема, много CMS (систем управления контентом) предоставляют разнообразные готовые шаблоны. То есть приходится думать не только о том что писать, но и о том, как это разместить и преподать. Иначе сайт превратися просто в большую кучу разрозненых документов.

Блог же изначально имеет чёткую хронологическую структуру и благодаря этому Вы можете сконцентрироваться на содержании.

Итак, Вы решили завести свой блог (точнее standalone blog отдельный от всех, поскольку есть возможность завести блог на публичном сервере типа http://blogspot.com и вообще не ломать голову над технической стороной). И даже прикупили место под сайт, благо хостинг сейчас достаточно дешёвый. Но тут возникает законный вопрос: а кто идёт за… а какой собственно выбрать движок для вашего блога. Их ведь море разливанное, и почти все по своему хороши.

Я тоже долгое время ломал голову, пока не задал себе очень мудрый вопрос: «А хватит ли мне возможностей классического блога?». Ответ был «Нет». Мне нужна была возможность вырваться за границы линейной хронологической структуры предоставляемой классическим блогом. И делать это не просто, а очень просто.

Так я пришел к выводу, что мне нужен блог с функциональностью Wiki, а точнее Wiki с функциональностью блога.

Просмотрев различные варианты, я остановил свой выбор на DokuWiki.

Установка

Установка DokuWiki подробно рассмотрена в статье »Установка DokuWiki».

Установка плагинов

В первую очередь установим необходимые плагины войдя в «Управление плагинами». Мы ведь собрались делать блог, не так ли?

Нам понадобится собственно плагин блога, плагин дискуссий (это в том случае, если Вы хотите что бы Ваши [по]читатели могли с Вами общаться) и плагин поддержки тегов. А так же вспомогательные плагины include, feed и pagelist

Устанавливаются плагины не просто а очень просто: копируем ссылку на пакет с плагином в поле «Адрес» и жмём кнопку «Скачать».

Вот прямые ссылки на пакеты с плагинами:

Отмечу так же, что Вы можете добавить плагин и в ручную распаковав его в каталог с плагинами, но ведь мы хотим простоты, не так ли? Да и при ручном добавлении Вы лишаетесь возможности обновить плагин в одни клик (обратите внимание на кнопку «Обновить» против каждого установленного плагина).

Кроме того, я написал файлы русификации этих плагинов1). Вы можете скачать архив и распаковать его в директорию {$DOKUWIKI}/lib/plugins/2).

Настройка плагинов

Теперь необходимый минимум возможностей у нас имеется, перейдём к детальному конфигурированию плагин блога.

Вернёмся в меню “Управление” и выберем последний пункт “Настройка вики”.

Blog Параметры плагина

Blog Параметры плагина Значение Комментарий
default namespace for blog blog Определите пространство имён где будут размещены страницы имеющие отношение к блогу. Это нужно только при создании новой записи.
show only the first section of blog entries установлен Если записи в вашем блоге по 10 строк, то от этот параметр Вам погоды не сделает. А если каждая запись тянет если уж не на «Войну и мир», то хотя бы на «Преступление и наказание», то очень полезно выводить только самое начало, дабы не заграмождать начальную страницу

Tag Параметры плагина

Tag Параметры плагина Значение Комментарий
Default namespace for tags tags По-моему логичнее держать тэги в этом пространстве имён.

Discussion Параметры плагина

Discussion Параметры плагина Значение Комментарий
allow users to enter an URL установлен Если у комментатора есть свой сайт или блог, он не применёт оставить информацию о себе. Правда это палка о двух концах: некторые посетители станут комментировать не ради комментария, а ради этой ссылочки.

Уф… Ну и хватит пока. Пойдём дальше

Главной страницы блога

Ну вот и добрались до самого интересного. Надо создать страницу которая будет отображать записи блога. Делается это не просто, а очень просто:

В результате этих телодвижений код страницы будет выглядеть примерно так:

====== Главная ======
 
{{blog>blog?5}}
 
~~DISCUSSION:off~~

Волшебная команда означает следующее: отображать страницы из пространства имён »blog» (а мы именно там его и завели) по пять штук зараз за раз.

Если Вы хотите что бы все страницы (кроме скрытых) попадали в блог, то укажите вместо пространства имён звёздочку *: {{blog>*?5}}

Создание новой записи

Добавить новую запись в блог можно двумя3) способами:

  1. На главной странице блога найти форму ввода «New entry» набрать имя (оно же заголовок) новой статьи, и нажать «Create page». После этого Вы сможете отредактировать текст и сохранить новую страницу.
  2. Набрать в строке адреса Вашего браузера адрес новой страницы (с учётом пространства имён), создать и отредактировать страницу обычным способом.

Какой способ удобнее, решать Вам. К примеру, у меня блог распределён по различным пространствам имён, так что мне больше подходит второй способ.

Типичный шаблон новой записи

Для того, что бы каждый раз не прописывать оформление записей с нуля, желательно прописать его в неком шаблонном файле, который будет предлагаться Вам, когда Вы создаёте новую запись.

В DokuWiki это делается с помощью файла _template.txt. Средствами DokuWiki Вы не сможете создать этот файл или переименовать существующую страницу, для этого Вам потребуется воспользоваться FTP, WebDAV или SSH доступом.

Приведу пример шаблона, который использую я:

{$DOKUWIKI}/data/pages/[namespace_path/]_template.txt

====== @PAGE@ ======

 --- //[[@MAIL@|@NAME@]] @DATE@//

{{tag>}}
~~DISCUSSION~~

Автоматически создаётся заголовок первого уровня. В качестве его используется имя страницы @PAGE@. Если Вы воспользовались первым способом для создания записи в блоге, то в качестве заголовка берётся в точности тот текст который Вы указали в поле ввода4).

Далее, мы оставляем место для собственно текста записи после которого будет вставлена подпись с Вашим именем @NAME@ / e-mail'ом @MAIL@ и текущей датой @DATE@. Возможно это излишне, поскольку записи блога уже подписываются датой создания, но всегда проще что-то удалить, чем вводить заново.

И две последних строки служат для назначения тегов странице и создания дискуссии (комментариев).

Теги

С помощью синтаксиса {{tag>[tag1 [tag2 …[tagN]]]}} странице присваиваются тэги5). Данная страница помечена тегами {{tag>dokuwiki tutorial article}}

Страницы связанные с тегами храняться в соответствующем пространстве имён (:tags, если Вы приняли настройки по умолчанию) и если Вы определили новый тег, то нужно будет ещё создать соответствующую ему страницу. Делается это следующим образом:

У себя я использую шаблон страниц размещённый на сервере в каталоге {$DOKUWIKI}/data/pages/tags/_template.txt

{$DOKUWIKI}/data/pages/tags/_template.txt

====== @PAGE@ ======

{{topic>@PAGE@}}

{{rss>http://del.icio.us/rss/iaar/@PAGE@ 50 date description 1d}}

~~DISCUSSION:off~~
Таким образом, вся работа по созданию тегов для новой страницы сводится к трём нажатиям.

Команда {{rss>http://del.icio.us/rss/iaar/@PAGE@ 50 date description 1d}} позволяет Вывести список заложенных на http://del.icio.us/ страниц помеченных этим тегом.

Дискуссии

Для разрешения обсуждения страницы Вы располагаете в тексте страници (как правило в конце) команду ~~DISCUSSION~~.

Прекратить дискуссию (т.е. запретить добавление новых комментариев можно изменением команды дискуссии на ~~DISCUSSION:closed~~.

И наконец, полностью отключить дискуссию можно командой ~~DISCUSSION:off~~.

~~LINKBACK~~

1) А когда, похлопав месяц ушами, решил их выслать автору плагинов, обнаружил что меня опередили
2) Под {$DOKUWIKI} имеется в виду корневая директория DokuWiki
3) на самом деле способов может быть бесчётное множество, но я рассматриваю только основные
4) Имя страницы может быть другое из-за превратностей транслитерации
5) Конечно, если одноимённый плагин установлен