DokuWiki

It's better when it's simple

Ferramentas do usuário

Ferramentas do site


Barra lateral

Esta tradução é mais antiga que a página original e pode estar desatualizada. Veja o que foi mudado.
Traduções desta página?:

Learn about DokuWiki

Advanced Use

Corporate Use

Our Community


Follow us on Facebook, Twitter and other social networks.

Our Privacy Policy

pt-br:namespaces

Namespace

Um namespace é similar a um diretório ou pasta, enquanto páginas são similares a arquivos.

No DokuWiki você pode usar namespaces para categorizar suas páginas. Para os nomes dos namespaces são consideradas as mesmas restrições dos nomes de páginas.

Uma instalação padrão do DokiWiki vem com o namespace pré-definido: wiki.

Criando Namespaces

Você não precisa criar namespaces separadamente; simplesmente crie páginas com dois pontos no nome da página. O nome após o último dois pontos será o nome da página propriamente dito, enquanto os outros nomes serão os namespaces. Todos os namespaces usados em sua página que não existem serão criados pelo DokuWiki automaticamente.

(No DokuWiki, páginas são criadas como em qualquer outro wiki. Simplesmente crie um link para uma página não existente, acesse ente link, e clique em Criar esta página.) Adicionando páginas.

Examplos:
exemplo
.exemplo
.:exemplo
referencia a página “exemplo” no namespace atual.
:exemploreferencia a página “exemplo” no namespace raiz.
..exemplo
..:exemplo
.:..:exemplo
referencia a página “exemplo” no namespace pai
wiki:exemploreferencia a página “exemplo” no namespace “wiki”. O namespace “wiki” está localizado abaixo do namespace raiz.
ns1:ns2:exemplo
:ns1:ns2:exemplo
referencia a página “exemplo” no namespace ns2. O namespace ns2 está localizado abaixo do namespace ns1; o namespace ns1 está localizado abaixo do namespace raiz.
.ns1:ns2:exemplo
.:ns1:ns2:exemplo
referencia a página “exemplo” no namespace ns2. O namespace ns2 está localizado abaixo do namespace ns1; o namespace ns1 está localizado abaixo do namespace atual.
..ns1:ns2:example
..:ns1:ns2:example
referencia a página “exemplo” no namespace ns2. O namespace ns2 está localizado abaixo do namespace ns1; o namespace ns1 está localizado ao lado do namespace atual (ou seja, tanto o namespace ns1 quanto o atual estão abaixo do mesmo namespace pai).
.ns1:ns2:referencia a página “start” no namespace ns2. O namespace ns2 está localizado abaixo do namespace ns1; o namespace ns1 está localizado abaixo do namespace atual.

(A página padrão pode ser nomeada para algo diferente de “start” através de ajustes na opção de configuração startpage.)

Atenção: A sintaxe para links internos relativos e absolutos não é única e complexa se comparada às convenções para nomes de diretório e de arquivos. Paths são absolutos se e apenas se eles começam com “/”. Links são absolutos se e apenas se eles possuem um prefixo “:” ou não tenho nenhum prefixo mas tenham um “:” intermediário(ou sufixo). Links relativos ao namespace atual também podem começar com “.” ou “.:” (“..” ou “..:” para o namespace pai).

Excluindo Namespaces

Quando todas as páginas dentro de um namespace são removidas, o namespace logicamente não existirá mais. O DokuWiki geralmente exclui os diretórios vazios.

Como renomear namespaces?

Forma manual

Geralmente para renomear um namespace manualmente você tem que:

  • Renomear as pastas que representam o namespace em:
    • data/pages
    • data/media (se existir)
  • Remover os metadados para o namespace em data/meta
  • Remove dados attic para o namespace em data/attic (ou renomeie este da mesma forma, se você quiser preservar versões antigas)

Por exemplo, em um Unix host, você pode:

  • 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

Note que as palavras old_namespace e/ou new_namespace devem ser codificadas se estiver em um caracter não-Latino (i.e. Greek, Russian, etc).

  • Corrija (editando-os) todos os links para as páginas no namespace movido (você pode descobri-los antes de mover o namespace revisando os Links Reversos de cada página.
  • Acesse cada uma das páginas no novo namespace. Isto vai criar as informações de índexação e metadados que faltam para as páginas no namespace movido.

No entanto, você ainda terá muita sujeira em sua volta. Por exemplo em data/changes.log, vários arquivos no cache (incluindo os arquivos .idx etc). Se possível você poderia iniciar de um estado em branco, como a seguir (mais uma vez em Unix) mas tome cuidado pois isto resultará na perda de todas as informações históricas (Exemplo: Alterações Recentes):

  • 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
  • Acesse cada uma das páginas de seu 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 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.

pt-br/namespaces.txt · Última modificação: 2016-05-05 20:40 por 2001:4dd0:ff00:9581:e97d:4c4c:86d7:657e