2012-02-20

сайт на DokuWiki: 003-Облако слов и тегов

Далее добавляем Облако слов и тегов --- плагин генерирует список слов, наиболее часто встречающихся на сайте.
Мы такие конструкции встречали --- порой они помогают ориентироваться в контенте, да и выглядит такое облако красиво.

Для демонстрации работы плагина полезно уже иметь какой-то текст на Главной странице

Итак, встречайте плагин Cloud
http://www.dokuwiki.org/plugin:cloud



НАСТРОЙКА ПЛАГИНА
Заходим на страницу Управление -> Настройки Вики --> Параметры плагинов -> Cloud Параметры плагина
Выставляем параметры:

Для начала я выставил первый параметр --- слово в Облаке не менее 3 символов, а второй и третий пока не стал трогать.

ОБЛАКО СЛОВ

Для создания блока Облака Слов пишем такое заклинание:
----

===== Облако слов =====

~~CLOUD~~

----
Сохранив страницу, смотрим на результат:


Во-первых, облако явно слишком большое по числу слов, а, во-вторых, в нём присутствуют служебные слова из комментариев, которые хорошо бы из Облака убрать.
~~CLOUD:10~~
Ограничит Облако до 10 слов (обратите внимание на отсутствие пробелов в коде!):


Допустимое количество слов к показу в Облаке --- от 1 до 999. Каждое слово является ссылкой на страницу с результатом поиска по сайту. Более употребляемые слова отображаются ссылкой темнее по цвету и больше по размеру.

Стоп-слова. Для исключения определённых слов из Облака, необходимо добавить их в Стоп-Лист оного из файлов:
inc/lang/ru/stopwords.txt
conf/stopwords.txt
Первый файл включён в инсталляцию движка и является списком слов, игнорируемых при индексации сайта (плюс все слова короче 3 символов).
Второго файла я не обнаружил и решил создать самостоятельно --- раз он не включён в дистрибутив, значит, при обновлении движка в будущем настройки сохранятся.

Итак, создаю в текстовом редакторе файл со списком слов (каждое на отдельной строке):
-------------------------- начало файла stopwords.txt со следующей строки ----------------------
#
# Стоп-Список слов для Облака (плагин Cloud)
#
off
per
tag
tag1
tag2
tag3
start
cloud
nocache
discussion
и
к
на
по
дата
теги
автор
комментарии

-------------------------- конец файла stopwords.txt на предыдущей строке ----------------------
Обратите внимание --- файл заканчивается пустой строкой.

Возможно, для корректной работы данной инструкции потребуется немного поправить файл плагина syntax.php.
Инструкции взяты из обсуждения плагина с его официальной странички.


Открываем в редакторе (я предпочитаю Geany в Linux, в Windows может подойти, например, AkelPad или NotePad++ (не путайте со жалким стандартным редактором Windows!) файл syntax.php из каталога плагина cloud, находим строки с номером 142-144:
// load extra local stopwords
$swfile = DOKU_CONF.'stopwords.txt';
if (@file_exists($swfile)) $stopwords = array_merge($stopwords, file($swfile));
И, предварив пустой строкой, вставляем строку (приобретающую номер 146):
$stopwords = array_filter(array_map('trim', $stopwords));
Следующей строкой у нас окажется бывшая там до этого строка:
$cloud = array();


Итак, весь код (со строки 142 по 147)
// load extra local stopwords
$swfile = DOKU_CONF.'stopwords.txt';
if (@file_exists($swfile)) $stopwords = array_merge($stopwords, file($swfile));

$stopwords = array_filter(array_map('trim', $stopwords));
$cloud = array();
Теперь Облако работает, как надо:

Числа внизу я просто не стал включать в Стоп-Лист --- с наполнением сайта контентом они, думаю, исчезнут сами.

ОБЛАКО ТЕГОВ
Этот плагин также может сделать "облако тегов" (плагин Tag должен быть установлен):
~~TAGCLOUD~~
~~TAGCLOUD:number~~
~~TAGCLOUD:number>namespace1:subns11|.|namespace2~~
Первые две конструкции нам знакомы, а третья позволяет задать список namespace, откуда брать теги.

ОБЛАКО ПОИСКОВЫХ ЗАПРОСОВ
Также поддерживается Облако для самых разыскиваемых слов в вики (должен быть установлен плагин Searchstats ):
~~SEARCHCLOUD~~
~~SEARCHCLOUD:number~~
На одной странице допустимо лишь одно Облако (слов, тегов или поиска), иначе нарушается генерируемый код страницы (HTML), так как идентификатор id (<div id=“cloud”> один для всех, а он должен быть уникален в пределах страницы.

Внешний вид облака поддаётся настройке через файл стилей style.css в каталоге плагина cloud

Комментариев нет:

Отправить комментарий