====== DokuWiki в качестве блога ======
:!: Эта статья [[:todo|находится в разработке]].
===== Введение =====
Сейчас на просторах интернета очень популярна такая штука как блог (Blog, Weblog). По своей организации он является аналогом дневника. Собственно грань между блогом и дневником весьма тонка. На мой взгляд различаются они только тем, что дневник пишут прежде всего для себя и попадают в него разрозненные заметки о жизни (типа какой чай пил утром, и когда любимая кошка на горшок сходила), а блог рассчитан прежде всего на читателей желающих извлечь из этого чтива полезную информацию и как правило имеет чёткую тематическую направленность.
Популярность это средство интернет-публикации обрело благодаря простоте этой самой публикации. Заводя полноценный сайт Вам приходится продумывать его структуру, дизайн. Хотя дизайн не такая большая проблема, много CMS (систем управления контентом) предоставляют разнообразные готовые шаблоны. То есть приходится думать не только о том что писать, но и о том, как это разместить и преподать. Иначе сайт превратися просто в большую кучу разрозненых документов.
Блог же изначально имеет чёткую хронологическую структуру и благодаря этому Вы можете сконцентрироваться на содержании.
Итак, Вы решили завести свой блог (точнее standalone blog отдельный от всех, поскольку есть возможность завести блог на публичном сервере типа [[http://blogspot.com]] и вообще не ломать голову над технической стороной). И даже [[http://billing.viahost.ru/new/redir.php?User_ID=2160&page=http://viahost.ru/plans.php|прикупили место под сайт]], благо хостинг сейчас достаточно дешёвый. Но тут возникает законный вопрос: а кто идёт за... а какой собственно выбрать движок для вашего блога. Их ведь море разливанное, и почти все по своему хороши.
Я тоже долгое время ломал голову, пока не задал себе очень мудрый вопрос: "А хватит ли мне возможностей классического блога?". Ответ был "Нет". Мне нужна была возможность вырваться за границы линейной хронологической структуры предоставляемой классическим блогом. И делать это не просто, а очень просто.
Так я пришел к выводу, что мне нужен блог с функциональностью [[wp>ru:Wiki|Wiki]], а точнее Wiki с функциональностью блога.
Просмотрев различные варианты, я [[:why:dokuwiki|остановил свой выбор]] на [[doku>wiki:dokuwiki|DokuWiki]].
===== Установка =====
Установка DokuWiki подробно рассмотрена в статье "[[dokuwiki-install]]".
===== Установка плагинов =====
В первую очередь установим необходимые плагины войдя в "Управление плагинами". Мы ведь собрались делать блог, не так ли?
Нам понадобится собственно плагин [[doku>plugin:blog|блога]], плагин [[doku>plugin:discussion|дискуссий]] (это в том случае, если Вы хотите что бы Ваши [по]читатели могли с Вами общаться) и плагин [[doku>plugin:tag|поддержки тегов]]. А так же вспомогательные плагины [[http://www.wikidesign.ch/en/plugin/include/start|include]], [[http://www.wikidesign.ch/en/plugin/feed/start|feed]] и [[http://www.wikidesign.ch/en/plugin/pagelist/start|pagelist]]
Устанавливаются плагины не просто а очень просто: копируем ссылку на пакет с плагином в поле "Адрес" и жмём кнопку "Скачать".
Вот прямые ссылки на пакеты с плагинами:
* Блог http://www.qwik.de/media/blog.zip
* Дискуссии http://www.qwik.de/media/discussion.zip
* Теги http://www.qwik.de/media/tag.zip
* Include http://www.qwik.ch/media/include.zip
* Feed http://www.qwik.ch/media/feed.zip
* PageList http://www.qwik.ch/media/pagelist.zip
Отмечу так же, что Вы можете добавить плагин и в ручную распаковав его в каталог с плагинами, но ведь мы хотим простоты, не так ли? Да и при ручном добавлении Вы лишаетесь возможности обновить плагин в одни клик (обратите внимание на кнопку "Обновить" против каждого установленного плагина).
Кроме того, я написал файлы русификации этих плагинов((А когда, похлопав месяц ушами, решил их выслать автору плагинов, обнаружил что меня опередили)). Вы можете {{projects:dokuwiki:blog-tag-discussion-ru.tar.gz|скачать архив}} и распаковать его в директорию ''{$DOKUWIKI}/lib/plugins/''((Под {$DOKUWIKI} имеется в виду корневая директория DokuWiki)).
===== Настройка плагинов =====
Теперь необходимый минимум возможностей у нас имеется, перейдём к детальному конфигурированию плагин блога.
Вернёмся в меню “Управление” и выберем последний пункт “Настройка вики”.
==== 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}}%%''
В результате этих телодвижений код страницы будет выглядеть примерно так:
====== Главная ======
{{blog>blog?5}}
~~DISCUSSION:off~~
Волшебная команда означает следующее: отображать страницы из пространства имён "''blog''" (а мы именно там его и завели) по пять штук зараз за раз.
Если Вы хотите что бы все страницы (кроме скрытых) попадали в блог, то укажите вместо пространства имён звёздочку ''*'': ''%%{{blog>*?5}}%%''
===== Создание новой записи =====
Добавить новую запись в блог можно двумя((на самом деле способов может быть бесчётное множество, но я рассматриваю только основные)) способами:
- На главной странице блога найти форму ввода "New entry" набрать имя (оно же заголовок) новой статьи, и нажать "Create page". После этого Вы сможете отредактировать текст и сохранить новую страницу.
- Набрать в строке адреса Вашего браузера адрес новой страницы (с учётом пространства имён), создать и отредактировать страницу обычным способом.
Какой способ удобнее, решать Вам. К примеру, у меня блог распределён по различным пространствам имён, так что мне больше подходит второй способ.
==== Типичный шаблон новой записи ====
Для того, что бы каждый раз не прописывать оформление записей с нуля, желательно прописать его в неком шаблонном файле, который будет предлагаться Вам, когда Вы создаёте новую запись.
В DokuWiki это делается с помощью файла ''[[doku>wiki:namespace_templates|_template.txt]]''. Средствами DokuWiki Вы не сможете создать этот файл или переименовать существующую страницу, для этого Вам потребуется воспользоваться FTP, WebDAV или SSH доступом.
Приведу пример шаблона, который использую я:
====== @PAGE@ ======
--- //[[@MAIL@|@NAME@]] @DATE@//
{{tag>}}
~~DISCUSSION~~
Автоматически создаётся заголовок первого уровня. В качестве его используется имя страницы ''%%@PAGE@%%''. Если Вы воспользовались первым способом для создания записи в блоге, то в качестве заголовка берётся в точности тот текст который Вы указали в поле ввода((Имя страницы может быть другое из-за превратностей транслитерации)).
Далее, мы оставляем место для собственно текста записи после которого будет вставлена подпись с Вашим именем ''%%@NAME@%%'' / e-mail'ом ''%%@MAIL@%%'' и текущей датой ''%%@DATE@%%''. Возможно это излишне, поскольку записи блога уже подписываются датой создания, но всегда проще что-то удалить, чем вводить заново.
И две последних строки служат для назначения тегов странице и создания дискуссии (комментариев).
==== Теги ====
С помощью синтаксиса ''%%{{%%tag>//[tag1 [tag2 ...[tagN]]]//%%}}%%'' странице присваиваются тэги((Конечно, если одноимённый плагин установлен)). Данная страница помечена тегами ''%%{{tag>dokuwiki tutorial article}}%%''
Страницы связанные с тегами храняться в соответствующем пространстве имён ('':tags'', если Вы приняли настройки по умолчанию) и если Вы определили новый тег, то нужно будет ещё создать соответствующую ему страницу. Делается это следующим образом:
* Неопределённый тег будет выделен (в обычном шаблоне DokuWiki - красным цветом). Жмём его и создаём новую страницу.
* На странице размещаем команду ''%%{{%%topic>**имя_тега**%%}}%%'', которая выведет список всех страниц на которых встречался данный тег. Естественно что **имя_тега** должно совпадать с именем тега для которого Вы определяете страницу, и с именем определяемой страницы.
У себя я использую шаблон страниц размещённый на сервере в каталоге ''{$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~~%%''.
{{tag>dokuwiki blog tutorial article}}
~~LINKBACK~~
~~DISCUSSION~~