DokuWiki

It's better when it's simple

사용자 도구

사이트 도구


ko:namespaces

이름공간

DokuWiki에서 페이지들을 분류하기 위해 “이름공간(네임스페이스, namespace)“을 사용할 수 있습니다. 이름공간의 명칭은 페이지 이름의 제한이 적용됩니다

이름공간 생성

이름공간을 따로 만들 필요가 없습니다; 단순히 페이지 이름안에 콜론 문자(:)들과 같이 사용해서 새로운 페이지를 만들면 됩니다. 마지막 콜론문자 뒤에 오는 항목은 페이지 이름 자신이고 다른 부분들은 이름공간들입니다. 페이지 이름에 사용되는 모든 이름공간들은 존재하지 않는 경우에는 DokuWiki는 자동으로 이름공간들을 만듭니다.

예:
example현재 이름공간 내 페이지 “example”.
:exampleroot 이름공간 내 페이지 “example”.
wiki:example 이름공간 “wiki” 내 페이지 “example”.
이름공간 “wiki”는 root이름공간 아래에 위치.
ns1:ns2:example 이름공간 “ns2” 내 페이지 “example”.
이름공간 “ns2”는 ns1이름공간 아래에 위치.
이름공간 “ns1”는 root이름공간 아래에 위치.
:ns1:ns2:example위 행과 동일.
.ns1:ns2:example 이름공간 “ns2” 내 페이지 “example”.
이름공간 “ns2”는 ns1이름공간 아래에 위치.
이름공간 “ns1”는 현재 이름공간 아래에 위치.
.ns1:ns2:이름공간 “ns2” 내 페이지 “start”.
이름공간 “ns2”는 ns1이름공간 아래에 위치.
이름공간 “ns1”는 현재 이름공간 아래에 위치.

FIXME: [..namespace:] – 상위 이름공간 – 만일 다른 것과 마찬가지로 공식적으로 사용되는 것이라면 문서에 공식적으로 설명해야 하지 않나요?

FIXME: 현재 이름공간가 언제나 ':'라면 첫 예는 잘못 이해될 수도 있을 것 같은데요. 문서를 수정해 주세요!

현재 이름공간는 참조하려는 페이지에 해당되기 때문에 예제는 정상적입니다.

FIXME: sidebar에서 현재 이름공간에서의 상대 경로를 지정하고 싶은데 적용이 안되는군요? 혹시 해보신분?

sidebar가 현재 이름공간인지 아닌지 불명확하군요. sidebar가 현재 이름공간이 아닌 경우를 말한다면 질문하신 분이 현재 이름공간이란 말을 정학히 이해하지 못하고 계신 것 같습니다. 현재 이름공간이라는 말을 곰곰이 생각해 보시기 바랍니다.

이름공간 삭제

이름공간 내 모든 문서들이 삭제(문서 삭제를 참고하십시오)되면 이름공간은 논리적으로 더 이상 존재할 필요가 없습니다. DokuWiki는 보통 빈 디렉토리는 삭제합니다.

이름공간의 이름을 바꾸는 방법은?

페이지 이동 플러그인을 사용하여 이전 이름공간에서 새로운 이름공간으로 페이지들 각각을 옮길 수 있습니다. 만일 본인 요구에 부합되는지 보려면 플러그인 문서를 꼼꼼히 읽어 보시기 바랍니다.

:!: 수작업을 하게 되면 관련된 모든 링크가 깨지게 됩니다. 반드시 페이지 이동 플러그인을 쓰는게 좋습니다.

수작업이 더 어렵습니다:

  • 아래 디렉토리들에서 이름공간에 해당하는 디렉토리 이름을 변경합니다:
    • data/pages
    • data/media (있는 경우에만)
  • data/meta에서 이름공간을 위한 메타 데이타들을 삭제
  • data/attic에서 이름공간을 위한 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
    or move: mv /dokuwiki_base/data/attic/old_namespace /dokuwiki_base/data/attic/new_namespace

old_namespace 와(또는) new_namespace 단어들이 비-라틴 문자셋(예: 그리스나 러시아)이라면 인코딩될 필요가 있다는 것을 주의하기 바랍니다.

  • 변경된 이름공간내의 페이지들에 대한 모든 링크들은 고쳐져야 합니다.(직접 페이지를 편집해서) (변경하기 전에 각 페이지들의 백-링크들을 살펴보면 발견할 수 있습니다.)
  • 새로운 이름공간 내의 모든 페이지들을 열어봅니다. 이 작업은 변경된 이름공간 내의 빠진 색인 정보나 메타 데이타를 만들어 줍니다.

어찌 되었든, 아직도 많은 것들이 남아 있습니다. – 예를 들면 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
  • 위키의 모든 페이지를 열어봅니다.

이 것은 복잡하게 얽힌 작업입니다.(실제 해야 하는 것보다 많은 것들을 빠뜨렸을지도 모릅니다.) 수작업을 했을 때 발생하는 문제를 피하기 위해 전체 캐쉬와 이전 버전을 지우거나 위키 전체의 검색-색인을 (재)생성하는 몇가지 플러그인을 사용할 수 있습니다.

이름공간 기본 연결

colon문자(':')와 함께 linkid로 끝나는 이름공간의 기본 파일로 링크를 하는 것이 가능합니다. [[foo:bar:]] 페이지에 연결하는 링크는 실제 파일의 존재에 달려있습니다. 예를 들어 [[foo:bar:]]는 다음 페이지들을 검사합니다:

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

페이지가 존재하는지 위 순서대로 검사하고 존재하는 페이지중 처음 페이지로 연결을 시도합니다. 여러 페이지에 대한 연결은 하지 않습니다.

:!: 이 기능은 오로지 2006-09-28 RC1 이상 버전에서 동작합니다.

번역

english version: dokuwiki-2006-11-06.

Add your email here if you created translated or modified whole or part of this page.

  • jk Lee - real mail domain is gmail, not zoo.com for spam filtering 2007-2-6 created
ko/namespaces.txt · 마지막으로 수정됨: 2016-07-02 09:50 저자 ara

별도로 명시하지 않을 경우, 이 위키의 내용은 다음 라이선스에 따라 사용할 수 있습니다: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki