Ссылки

Пространство имен

Пространство имен в вики является аналогом каталогов или папок, а названия страниц являются аналогами файлов.

Можно использовать Имя страницы для ссылки на эту страницу:

[[ИмяСтраницы]]

Если название страницы отличается от имени страницы, укажите Название после вертикальной черты. В этом случае вики выведет Название страницы зеленым цветом, при нажатии на которую мы перейдем на страницу Имя страницы:

[[ИмяСтраницы | Название страницы]].

По умолчанию DokuWiki создает Пространство имен с префиксом: wiki.

Создание Имени страницы

Вам не нужно создавать пространство имен по отдельности, а просто создавать страницы с двоеточия

[[:Имя_страницы]]. 

или

[[Имя_раздела:Имя_страницы

Маркер после последнего двоеточия будет название самой страницы, а все остальные лексемы имен. Все Пространства имен, используемые в вашей Имя_Страницы, если не существуют, будут созданы DokuWiki автоматически.

(In DokuWiki pages are created as in every other wiki. Simply create a link to a non existing page, follow this link, and click on Create this page.) Adding pages.

Примеры:
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 расположено в корне Пространства имен.
.ns1:ns2:example
.:ns1:ns2:example
ссылается на страницу «example» в Пространстве ns2. Пространство ns2 находится в пространстве ns1; Пространство ns1 расположено в текущем Пространстве.
..ns1:ns2:example
..:ns1:ns2:example
ссылается на страницу «example» в пространстве ns2. Пространство ns2 расположено в ns1; the namespace ns1 is located beside the current namespace (i.e. both ns1 and the current namespace are beneath the same parent namespace, wherever according to the root namespace this parent may be located itself).
.ns1:ns2:ссылается на страницу «start» в пространстве ns2. Пространство ns2 расположено в ns1; пространство ns1 Находится внутри текущего.

(The default page can be named something other than «start» by adjusting the startpage configuration setting.)

Gotcha: Синтаксис для относительной и абсолютной внутренние ссылки не является уникальным и сложными по отношению к каталогу и имя файла конвенций. Paths are absolute if and only if they begin with »/». Links are absolute if and only if they have a »:» prefix or have no prefix but do have intermediate (or suffix) »:» Links relative to the current namespace may also begin with either ».» or ».:» (»..» or »..:» for parent namespace).

Удаление Пространства Имен

Когда все страницы внутри Пространства Имен будут удалены, логических имен страниц больше не существует. DokuWiki обычно удаляет пустую директорию.

Как переименовать Пространство Имен?

Вручную

Для того чтобы переименовать имена вручную вам придется:

  • Переименовать папки, которые представляют имена в:
    • 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 возможно, потребуется закодировать, если они набираются на из латинского набора символов (например, греческий, русский и т.д.)

  • Correct (by editing them) all the links to the pages under the moved namespace (you can discover those before moving the namespace by reviewing each page's backlinks.
  • Browse each and every page under the new namespace. This will create the missing indexing information and metadata for the pages under the moved namespace.

However, you will still have lots of junk left around. For example in data/changes.log, various files under cache (including the .idx files etc). If possible you could just start from a blank state as follows (again under Unix) but be warned that this will mean losing all your historical information (i.e. recent changes):

  • 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
  • Browse each and every page of your Wiki.

DISCLAIMER : I understand this is convoluted (and maybe I missed/messed a couple of things you should also do). All in all this is a PITA. You may also use a couple of plugins that are available for (re)building the searchindex for the complete wiki, erasing entire cache and/or old wiki revisions thus avoiding to do this manually.

Plugin way

You can use the third-party http://www.dokuwiki.org/plugin:pagemove plugin to move each of the pages from the old namespace to the new one. Please consult the documentation to see if this fits your needs.

Namespace Default Linking

It is possible to link to a default file of a namespace ending the linkid with a colon: [[foo:bar:]]. To which page the link links is dependent on the existence of certain named files. For [[foo:bar:]] the following pages are checked:

foo:bar:$conf['start']
foo:bar:bar
foo:bar

The pages are checked in that order and whatever page is found first will be linked to. Autoplural linking is not done for those links

:!: This feature is only available in 2006-09-28 RC1 version and above.

 
пространство_имен.txt · Последние изменения: 2009/12/24 21:03 От feba7