Главная Облако тегов     Подписка на ленту обновлений (RSS) XMPP (Jabber) совместимые службы мгновенных сообщений. К примеру Google Talk, Gizmo, jabber.org Пишите письма О сайте
Вы находитесь здесь: Заметки экспериментатора » DokuWiki в качестве блога
Translations of this page:

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}}

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

====== Главная ======
 
{{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 - красным цветом). Жмём его и создаём новую страницу.
  • На странице размещаем команду {{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~~

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

Дискуссия

kri, 2006/11/26 03:34

А не подскажите где вводить тэги к страничкам/записям?

Ivan A-R, 2006/12/19 17:36

Прошу прощения, за тормоза, не видел Вашего комментария. Сейчас плагин plugin:discussion уже поправили, но было время он не рассылал уведомения о новых комментах.

Сейчас прямо на страницу добавлю про теги.

rulix, 2007/01/19 07:09

А как бороться со спамом в комментариях?

Ivan A-R, 2007/01/19 11:50

Вот сейчас этот вопрос и решаю. Пока просто правила прописываю в $(DOKU_WIKI)/conf/wordblock.conf.

Для контроля страниц, есть плагины для раширенного контроля спама. А вот в discussion плагине такого нет.

Думаю автор плагина сам рано или поздно добавит эту функциональность. А может у меня руки дойдут =)

Captain Flint, 2007/03/02 15:41
Большое спасибо за идеи... Действительно, сами движки блогов всё же представляют собой журнал, упорядоченный хронологически. А вот тематические блоги часто не носят ярко выраженной хронологической окраски, в них более важна структурность. Вики здесь больше подходит. Вообще, многие идеи у Вас взял на вооружение. Спасибо %)
Ivan A-R, 2007/03/02 17:24

Рад что мои идеи полезны =) Главное ими обмениваться и приумножать =)

Kirill Bezrukov, 2008/04/02 00:56

Есть неприятная проблема:
Если в настройках плагина include стоит showtags тогда тэги неправильно индексируются. Т.е. он думает, что страница блога (которая содержит {{blog>}}) тоже помечена тэгами, хотя тэгами помечены только страницы в нее включенные с помощью плагина include. От сюда проблема: в файле tag.idx почти все теги страниц блога дополнительно ссылаются на гланую (которая содержит {{blog>}}), что влечет за собой неправильное отображение облака тэгов (т.к. кол-во неправильное, для большинства тэгов +1)

Если найдется решение, буду очень признателен

Ivan A-R, 2008/04/02 11:11

Не совсем понял, кто на кого ссылается. У меня такая проблема есть? Галка в настройках include у меня включена, но в «Скрыть страницы (рег. выражение)» прописаны страницы с именем start.

ArtUser, 2008/05/30 11:13

Доброго времени суток.

Подскажите плз: какой плагин позволяет использовать тег для вывода «Последние изменения Wiki» ( { { recents } } )? Это функциональность плагина blog?

И не знаете: есть ли плагин, который выведет кол-во страниц в определенном namespace? (нашел плагин plugin:dir , но его уже неделю невозможно скачать)

Спасибо за уделенное время и удачного дня.

Ivan A-R, 2008/05/30 17:35

{{recents}} это, если память не изменяет, я выдрал штаный функционал из вики и оформил плагином.

Про количество страниц, не встречал.

ArtUser, 2008/08/18 11:11

Доброго времени суток.

Подскажите плз: по плагину LINKBACK. Я смотрю, он у вас тоже стоит.

Как известить другой сайт, что я использовал его trackback?

Для тестирования создал http://www.artuser.ru/site/trackback Если эту страницу проверить с помощью, http://pingates.com/ - всё нормально.

Когда же я вставляю ссылку на другие сайты (Ваш например), то ничего не происходит.

Сорри, если сумбурно объяснил вопрос.

Спасибо за уделенное время и удачного дня.

Ivan A-R, 2008/08/18 15:23

Я особо с ним не разбирался. Со свежим вордпрессом он у меня нормально линками обменивается.

ArtUser, 2008/08/18 16:40

Ну что, со стороннего сайта обмен работает - это я тоже проверил.

А вот как бы с своего настроить возможность обмена…

На сайте плагина http://foosel.org/snippets/dokuwiki/linkback есть фраза: «In order to send linkbacks from a wiki node, activate the corresponding checkbox in the editform.»

Но что это за checkbox никак не могу найти - ни в создании новой стриницы, ни в настройках плагина ничего похожего об этом checkbox не вижу.

Но если не разбирались, наверно это не встречалось.

redfox, 2008/11/27 14:42

Все таки лучше использовать вордпресс (для блога). Там много плагинов которые облегчают жизнь. И движок seo friendly

Бурагозмашына, 2009/02/26 23:09

Ну конкретно-то как! Гранд мерси унд базиб за такое четкое руководство. Редко встречается, да.

Артем, 2009/10/09 00:38

Здравствуйте, я смотрю в вашей по русским тегам идет нормальная фильтрация, подскажите как вы этого добились ?

Algor, 2010/01/07 16:06

Здравствуйте, а что у вас используется для вывода статей на главной странице? (http://iar.spb.ru/start)

Enter your comment (wiki syntax is allowed):
Краткая справка
  • **полужирный**
  • //курсив//
  • > цитата
  • [[http://link | Заголовок ссылки]]
Больше о синтаксисе...
За исключением случаев, когда указано иное, содержимое этой вики предоставляется на условиях следующей лицензии:CC Attribution-Noncommercial-Share Alike 3.0 Unported
dokuwiki-as-blog.txt · Последние изменения: 2007/11/07 12:54 (внешнее изменение)