В «ДокуВики» вы можете использовать так называемые «пространства имён» или «именные пространства» для упорядочивания ваших статей.1)
Для создания пространств имён не нужно предпринимать каких-то специальных действий: просто используйте двоеточие «:» в названиях статей. Часть названия после последнего двоеточия станет названием статьи (файла), а всё, что находится «до», станет именным пространством (последовательностью вложенных директорий). Если такого именного пространства ещё нет, оно создастся автоматически.
Примеры | |
---|---|
example .example .:example | Статья «example» находится в текущем именном пространстве. |
:example | Статья «example» находится в корневом именном пространстве. |
..example ..:example .:..:example | Статья «example» находится в родительском именном пространстве (директории на уровень выше). |
wiki:example | Статья «example» находится в именном пространстве «wiki». Именное пространство «wiki» вложено в корневое именное пространство. |
ns1:ns2:example :ns1:ns2:example | Статья «example» находится в именном пространстве «ns2». Пространство «ns2» расположено в пространстве «ns1», которое, в свою очередь, лежит в корневом именном пространстве. |
.ns1:ns2:example .:ns1:ns2:example | Статья «example» находится в именном пространстве «ns2». Пространство «ns2» расположено в пространстве «ns1», лежащем, в свою очередь, в текущем именном пространстве. |
..ns1:ns2:example ..:ns1:ns2:example | Ссылается на статью «example» в именном пространстве «ns2». Пространство «ns2» расположено ниже пространства «ns1»; пространство «ns1» расположено на том же уровне, что и текущее именное пространство (таким образом текущее пространство и пространство «ns1» находятся ниже одного и того же родительского пространства). |
.ns1:ns2: | Ссылается на страницу «start» в именном пространстве «ns2». Именное пространство «ns2» расположено в именном пространстве «ns1», лежащем, в свою очередь, в текущем именном пространстве2). |
Если все статьи внутри пространства имён удалены, это пространство имён логически перестаёт существовать. «ДокуВики» обычно удаляет соответствующую ему пустую директорию.
Для того, чтобы переименовать пространство имён вручную, вам придется сделать следующее:
data/pages
data/media
(если есть)data/meta
data/attic
(или целиком переместить в другое место, если вы хотите сохранить старые версии)Например, на Unix-сервере вы можете:
mv /dokuwiki_base/data/pages/old_namespace /dokuwiki_base/data/pages/new_namespace
mv /dokuwiki_base/data/media/old_namespace /dokuwiki_base/data/media/new_namespace
rm -Rf /dokuwiki_base/data/meta/old_namespace
rm -Rf /dokuwiki_base/data/attic/old_namespace
Обратите внимание, что возможно имена old_namespace
и/или new_namespace
могут быть конвертированы, если они не входят набор символов Latin (т. е. греческий, русский и т. д.).
Однако у вас все ещё останется достаточно всякого «хлама». Например, в data/changes.log
, различные файлы в кэше (включая файлы .idx
и пр.). Если возможно, можете начать с «чистого состояния» как показано ниже (опять же под Unix), но предупреждаем, что это приведёт к потере всей «исторической» информации (такой как «последние изменения»):
cat /dev/null > /dokuwiki_base/data/changes.log
rm -Rf /dokuwiki_base/data/attic/*
rm -Rf /dokuwiki_base/data/cache/?
rm -Rf /dokuwiki_base/data/cache/*.idx
rm -Rf /dokuwiki_base/data/cache/purgefile
Оговорка: Я понимаю, что это весьма замысловато (и, возможно, я пропустил или перепутал пару вещей, которые нужно было сделать). В конце концов всё это — PITA3). Вы также можете использовать пару доступных плагинов для построения/перестройки поисковых индексов всей вики, очистки содержимого кэша и/или старых версий, что избавит вас от ручной работы.
Вы можете использовать сторонний плагин «PageMove»4) для переноса каждой страницы из старого пространства имён в новое. Пожалуйста, обратитесь к документации, чтобы убедиться, что это то, что вам нужно.
Можно задавать ссылку на файл по умолчанию для пространства имён, заканчивая ссылку двоеточием: [[foo:bar:]]. На какую статью указывает ссылка, зависит от наличия файлов с определёнными именами. Для [[foo:bar:]] проверяется существование следующих страниц:
foo:bar:$conf['start'] foo:bar:bar foo:bar
Статьи проверяются в этом порядке и ссылка указывает на первую найденную. Множественное связывание не производится для таких ссылок5).
Это свойство доступно только в версиях 2006-09-28 RC1 и выше.