Эта статья находится в разработке.
Сейчас на просторах интернета очень популярна такая штука как блог (Blog, Weblog). По своей организации он является аналогом дневника. Собственно грань между блогом и дневником весьма тонка. На мой взгляд различаются они только тем, что дневник пишут прежде всего для себя и попадают в него разрозненные заметки о жизни (типа какой чай пил утром, и когда любимая кошка на горшок сходила), а блог рассчитан прежде всего на читателей желающих извлечь из этого чтива полезную информацию и как правило имеет чёткую тематическую направленность.
Популярность это средство интернет-публикации обрело благодаря простоте этой самой публикации. Заводя полноценный сайт Вам приходится продумывать его структуру, дизайн. Хотя дизайн не такая большая проблема, много CMS (систем управления контентом) предоставляют разнообразные готовые шаблоны. То есть приходится думать не только о том что писать, но и о том, как это разместить и преподать. Иначе сайт превратися просто в большую кучу разрозненых документов.
Блог же изначально имеет чёткую хронологическую структуру и благодаря этому Вы можете сконцентрироваться на содержании.
Итак, Вы решили завести свой блог (точнее standalone blog отдельный от всех, поскольку есть возможность завести блог на публичном сервере типа http://blogspot.com и вообще не ломать голову над технической стороной). И даже прикупили место под сайт, благо хостинг сейчас достаточно дешёвый. Но тут возникает законный вопрос: а кто идёт за… а какой собственно выбрать движок для вашего блога. Их ведь море разливанное, и почти все по своему хороши.
Я тоже долгое время ломал голову, пока не задал себе очень мудрый вопрос: «А хватит ли мне возможностей классического блога?». Ответ был «Нет». Мне нужна была возможность вырваться за границы линейной хронологической структуры предоставляемой классическим блогом. И делать это не просто, а очень просто.
Так я пришел к выводу, что мне нужен блог с функциональностью Wiki, а точнее Wiki с функциональностью блога.
Просмотрев различные варианты, я остановил свой выбор на DokuWiki.
Установка DokuWiki подробно рассмотрена в статье »Установка DokuWiki».
В первую очередь установим необходимые плагины войдя в «Управление плагинами». Мы ведь собрались делать блог, не так ли?
Нам понадобится собственно плагин блога, плагин дискуссий (это в том случае, если Вы хотите что бы Ваши [по]читатели могли с Вами общаться) и плагин поддержки тегов. А так же вспомогательные плагины include, feed и pagelist
Устанавливаются плагины не просто а очень просто: копируем ссылку на пакет с плагином в поле «Адрес» и жмём кнопку «Скачать».
Вот прямые ссылки на пакеты с плагинами:
Отмечу так же, что Вы можете добавить плагин и в ручную распаковав его в каталог с плагинами, но ведь мы хотим простоты, не так ли? Да и при ручном добавлении Вы лишаетесь возможности обновить плагин в одни клик (обратите внимание на кнопку «Обновить» против каждого установленного плагина).
Кроме того, я написал файлы русификации этих плагинов1). Вы можете скачать архив и распаковать его в директорию {$DOKUWIKI}/lib/plugins/2).
Теперь необходимый минимум возможностей у нас имеется, перейдём к детальному конфигурированию плагин блога.
Вернёмся в меню “Управление” и выберем последний пункт “Настройка вики”.
| Blog Параметры плагина | Значение | Комментарий |
|---|---|---|
| default namespace for blog | blog | Определите пространство имён где будут размещены страницы имеющие отношение к блогу. Это нужно только при создании новой записи. |
| show only the first section of blog entries | установлен | Если записи в вашем блоге по 10 строк, то от этот параметр Вам погоды не сделает. А если каждая запись тянет если уж не на «Войну и мир», то хотя бы на «Преступление и наказание», то очень полезно выводить только самое начало, дабы не заграмождать начальную страницу |
| Tag Параметры плагина | Значение | Комментарий |
|---|---|---|
| Default namespace for tags | tags | По-моему логичнее держать тэги в этом пространстве имён. |
| Discussion Параметры плагина | Значение | Комментарий |
|---|---|---|
| allow users to enter an URL | установлен | Если у комментатора есть свой сайт или блог, он не применёт оставить информацию о себе. Правда это палка о двух концах: некторые посетители станут комментировать не ради комментария, а ради этой ссылочки. |
Уф… Ну и хватит пока. Пойдём дальше
Ну вот и добрались до самого интересного. Надо создать страницу которая будет отображать записи блога. Делается это не просто, а очень просто:
{{blog>blog?5}}В результате этих телодвижений код страницы будет выглядеть примерно так:
====== Главная ======
{{blog>blog?5}}
~~DISCUSSION:off~~
Волшебная команда означает следующее: отображать страницы из пространства имён »blog» (а мы именно там его и завели) по пять штук зараз за раз.
Если Вы хотите что бы все страницы (кроме скрытых) попадали в блог, то укажите вместо пространства имён звёздочку *: {{blog>*?5}}
Добавить новую запись в блог можно двумя3) способами:
Какой способ удобнее, решать Вам. К примеру, у меня блог распределён по различным пространствам имён, так что мне больше подходит второй способ.
Для того, что бы каждый раз не прописывать оформление записей с нуля, желательно прописать его в неком шаблонном файле, который будет предлагаться Вам, когда Вы создаёте новую запись.
В 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, если Вы приняли настройки по умолчанию) и если Вы определили новый тег, то нужно будет ещё создать соответствующую ему страницу. Делается это следующим образом:
{{topic>имя_тега}}, которая выведет список всех страниц на которых встречался данный тег. Естественно что имя_тега должно совпадать с именем тега для которого Вы определяете страницу, и с именем определяемой страницы.
У себя я использую шаблон страниц размещённый на сервере в каталоге {$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~~