Инструменты пользователя

Инструменты сайта


пространства_имен

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Both sides previous revision Предыдущая версия
пространства_имен [2015/07/02 17:32]
admin удалено
— (текущий)
Строка 1: Строка 1:
-====== Пространства имён ====== 
  
-В «[[dokuwiki|Докувики]]» вы можете использовать так называемые «пространства имён» или «именованные пространства» для упорядочивания ваших статей.((На сервере,​ который обслуживает «ДокуВики»,​ пространство имён — это обычная директория,​ в которой находятся текстовые файлы — статьи «ДокуВики».)) 
- 
-===== Создание пространства имён ===== 
- 
-Для создания пространств имён не нужно предпринимать каких-то специальных действий:​ просто используйте двоеточие «:» в [[pagename|названиях статей]]. Часть названия после последнего двоеточия станет названием статьи (файла),​ а всё, что находится «до», станет именным пространством (последовательностью вложенных директорий). Если такого именного пространства ещё нет, оно создастся автоматически. 
- 
-^   ​Примеры ^^  ​ 
-|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», лежащем,​ в свою очередь,​ в текущем именном пространстве((Статья по умолчанию может называться не только «start», для этого надо указать нужное значение в [[config|настройках «ДокуВики»]].)). ​ | 
- 
-===== Удаление ​ пространства имён ===== 
- 
-Если все статьи внутри пространства имён удалены,​ это пространство имён логически перестаёт существовать. «ДокуВики» обычно удаляет соответствующую ему пустую директорию. 
- 
-===== Как переименовать пространство имён? ===== 
- 
-==== Ручной способ ==== 
- 
-Для того, чтобы переименовать пространство имён вручную,​ вам придется сделать следующее:​ 
-  * Переименовать директории,​ которые представляют данное пространство имён в: 
-    * ''​data/​pages''​ 
-    * ''​data/​media''​ (если есть) 
-  * Удалить метаданные этого пространства имён в ''​data/​meta''​ 
-  * Удалить данные [[attic]] этого пространства имён в ''​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 (т. е. греческий,​ русский и т. д.). 
- 
-  * Поправьте,​ отредактировав,​ все ссылки на статью в //​перемещённом//​ пространстве имён (вы можете отыскать их перед переименованием пространства имен, просмотрев [[backlinks|обратные ссылки]] во всех статьях данного пространства. 
- 
-  * Просмотрите все статьи в новом пространстве имён. Это создаст отсутствующую индексную информацию и метаданные для статей перемещённого пространства имён. 
- 
-Однако у вас все ещё останется достаточно всякого «хлама». Например,​ в ''​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''​ 
-  * Просмотрите все статьи в вашей вики. 
- 
-**Оговорка:​** Я понимаю,​ что это весьма замысловато (и, возможно,​ я пропустил или перепутал пару вещей, которые нужно было сделать). В конце концов всё это --- PITA((Шило в заднице.)). Вы также можете использовать пару доступных [[plugins|плагинов]] для построения/​перестройки поисковых индексов всей вики, очистки содержимого кэша и/или старых версий,​ что избавит вас от ручной работы. 
- 
-==== Способ с использованием плагинов ==== 
- 
-Вы можете использовать сторонний плагин [[:​plugin:​PageMove]]((Плагин не совместим с версий «Лемминг».)) для переноса каждой страницы из старого пространства имён в новое. Пожалуйста,​ обратитесь к документации,​ чтобы убедиться,​ что это то, что вам нужно. 
- 
-===== Ссылки по умолчанию в пространстве имён ===== 
- 
-Можно задавать ссылку на файл по умолчанию для пространства имён, заканчивая ссылку двоеточием:​ %%[[foo:​bar:​]]%%. На какую статью указывает ссылка,​ зависит от наличия файлов с определёнными именами. Для %%[[foo:​bar:​]]%% проверяется существование следующих страниц:​ 
- 
-<​code>​ 
-foo:​bar:​$conf['​start'​] 
-foo:bar:bar 
-foo:bar 
-</​code>​ 
- 
-Статьи проверяются в этом порядке и ссылка указывает на первую найденную. 
-Множественное связывание не производится для таких ссылок((Autoplural linking is not done for those links.)). 
- 
-:!: **Это свойство доступно только в версиях 2006-09-28 RC1 и выше.** 
пространства_имен.1435847550.txt.gz · Последние изменения: 2015/07/02 17:32 — admin