도쿠위키 디렉토리에 관한 내용이다.
이 페이지는 DokuWiki와 함께 제공되는 기본 템플릿을 사용하는 페이지의 레이아웃을 설명합니다. 추가 템플릿 테마 를 설치하여 페이지의 모양을 변경하고 사용자 지정할 수 있습니다 .
DokuWiki 페이지는 네 부분으로 나뉩니다. 맨 위에는 페이지 머리글, 탐색 이동 경로, 페이지 콘텐츠 및 바닥 글이 있습니다.
도쿠위키가 동작하는 모듈과 데이터가 존재하는 디렉토리이다.
대부분의 DokuWiki 기능들은 다양한 설정 옵션을 통해 설정할 수 있습니다. 이런 설정 옵션들을 가장 쉽게 변경하는 방법은 환경 설정 관리를 사용하는 것 입니다. 이 방법은 위키 관리자가 온라인으로 브라우저를 사용하여 위키 설정을 바꿀 수 있게 합니다.
'환경 설정 관리'를 시작하기 위해서는 관리자로 로그인 하고, '관리' 버튼을 클릭하세요.
DokuWiki의 시스템 옵션은 conf/dokuwiki.php
파일에 있습니다. 그러나, 이 파일은 시스템의 “기본값”이 저장되어 있습니다. 설정을 변경할려면 conf/local.php
파일을 편집하거나 또는 이 파일이 없다면 만들어야 합니다. 이 파일에서 설정할 수 있는 옵션은 사용 가능한 옵션을 참조하세요.
사용자 이름과 (암호화된) 패스워드 그리고 접근제어규칙은 conf 디렉터리에 있는 users.auth.php 그리고 acl.auth.php에 저장되어 있습니다.
미디어 관리에서 새로운 파일을 업로드할 때 “업로드가 거부, 이 파일의 확장자는 허용되지 않습니다!”
라는 메시지를 볼 수 있습니다. 이 동작은 conf/mime.conf
파일에서 제어합니다. 새로운 종류의 파일을 업로드할려면 mime.conf 파일에서 정의하세요.
페이지를 편집할 때 내용의 일부는 자동 변환이 이루어집니다. 툴팁(tooltips), 스마일 문자 또는 특수 문자입니다. 이러한 동작은 acronyms.conf, smileys.conf 또는 entities.conf 파일에서 제어됩니다.
Debian 패키지로 설치했을 경우 모든 설정 파일들은 ./conf
폴더 또는 /etc/dokuwiki
폴더에 있습니다.
“기본 파일”은 DokuWiki에 포함되어 잇지만, “로컬 파일” 들은 위키 관리자가 작성해야 합니다.
로컬 파일이 지원되면, 기본 파일 대신 로컬 파일을 편집해야 업그레이드 문제를 피할 수 있습니다.
기본 파일 | 로컬 파일 | 설정 종류 | 기본 내용 |
---|---|---|---|
dokuwiki.php | local.php local.protected.php | 아래 참조 | 일반적인 wiki 설정 |
acronyms.conf | acronyms.local.conf | abbreviations | 자동 약어 힌트 |
entities.conf | entities.local.conf | entities | 자동 변환 문자열 |
interwiki.conf | interwiki.local.conf | interwiki | interwiki 링크s |
mime.conf | mime.local.conf | mime | 업로드 MIME 타입설정 |
smileys.conf | smileys.local.conf | smileys | 텍스트 → 이미지 변환 |
acl.auth.php | acl 참조 | 접근 제어 설정 | |
users.auth.php | acl 참조 | 사용자와 암호 | |
license.php | license.local.php | license | 사용가능한 라이센스 목록 |
scheme.conf | scheme.local.conf | urlschemes | 링크로 인식되는 URL 구성표 |
mediameta.php | exif | 편집가능한 이미지 Metadata | |
wordblock.conf | wordblock.local.conf | blacklist | 스팸 블랙리스트 |
plugins.required.php | plugins.local.php plugins.protected.php | 아래 참조 | 플러그인 활성/비활성 |
userscript.js | javascript | 사용자설정 JavaScript 확장 | |
userstyle.css | css | 사용자설정 CSS 확장 |
추가적인 설정 파일은 /var/lib/dokuwiki/lib/tpl/dokuwiki
에서 찾을 수 있습니다. (데비안), 예를 들어 style.ini
. Style.ini는 기본 테마파일이 읽어오는 텍스트 파일입니다. 그리고 사용자는 마음 내키는 대로 설정할 수 있습니다. (예:페이지의 배경 색상)
설치된 플러그인은 기본으로 사용 가능하도록 활성화 된다. 이것들은 플러그인 관리자를 사용하여 plugins.local.php
파일에 기록하여 사용할 수 없도록 비활성화 할 수 있다. conf/plugins.protected.php
에 기록하여 특정 플러그인을 보호하도록 할 수도 있다.
자동적으로 도쿠위키는 다음과 같은 순서로 해당 환경 설정 파일들을 로드합니다:
conf/plugins.php
– 기본 플러그인conf/plugins.local.php
– 플러그인 매니저에 의해 변경된 플러그인conf/plugins.required.php
– 플러그인 매니저로 변경할 수 없는 핵심 플러그인conf/plugins.protected.php
– 다른 파일에 우선 적용되는 설정
설정파일의 로딩 순서는 전역변수 $config_cascade
에 의해 제어됩니다. preload.php 파일을 사용하여 이 동작을 변경할 수 있습니다.
[DokuWiki]]의 대부분 기능들은 다양한 설정 옵션을 통해 설정할 수 있습니다. 이러한 옵션을 변경하는 가장 쉬운 방법은 환경 설정 관리를 사용하는 것입니다.
사용가능한 설정은 아래에 나열되어 있습니다. 그것들의 기본 값은 conf/dokuwiki.php
파일에 저장되어 있습니다. 설정을 변경하기를 원한다면 conf/local.php
에서 변경해야 합니다. – 이는 이후 업그레이드에 의해 자신만의 설정이 변경되는 막을 수 있습니다. 환경설정 관리(config manager)에서도 이 파일을 사용할 수 있습니다. conf/local.protected.php
파일은 변경할 수 없는 환경 설정을 위해서도 사용할 수 있습니다.
여기에 conf/local.php
의 샘플이 있습니다.:
<?php $conf['title'] = "Admin's Wiki. "; $conf['useacl'] = 1; $conf['superuser'] = 'admin';
설정 파일에 대한 몇가지 주의사항입니다. 이 파일은 PHP 코드로 취급되므로 PHP 문법이 지켜져야 합니다. 예를 들면 줄 끝에 세미콜론(;)을 붙이는 것입니다. 변수에도 여러 형식이 있습니다.
9
'foo bar'
1
또는 0
입니다.일종의 스킨과 같은 기능으로, 이곳 의 디자인 스킨은 한국인이 제작한 https://www.dokuwiki.org/template:white을 토대로 만들어졌다. (토대로 만들어졌을 뿐, 하도 뜯어고쳐서 달라진 부분이 더 많다;;;)
새로운 템플릿을 만들어 DokuWiki의 디자인을 커스트마이징할 수 있다. 템플릿은 PHP와 CSS 파일들로 <dokuwiki>/lib/tpl/
디렉토리에 저장된다.(실제로 템플릿은 HTML로 만들어지며, 그 내용 안에 PHP가 사용된다.)
출발점으로 새로운 템플릿을 만드는 가장 쉬운 방법은 이미 만들어진 템플릿을 가져오는 것이다. 스타트 템플릿(starter template)은 안전하고 Dokuwiki의 템플릿 표준을 따르므로 이것을 사용하는 것은 좋은 아이디어이다.
lib/tpl/starter
디렉토리를 lib/tpl/yourname
으로 변경한다.템플릿이 안정화되면 도쿠위키 템플릿 페이지에 등록할 수 있다.
A 유효한 템플릿 이름 (디렉토리):
.
, 줄표 -
와 밑줄 _
은 사용할 수 없다 :_
의 사용은 역시 0의 인기평가를 준다.template.info.txt에 고유한 필드 값(즉, 템플릿 이름)이나 또는 이름을 덮어 쓸 수 있는 기존의 템플릿으로 하는 것이 중요하다.
템플릿은 아래의 디렉토리 구조(모든 경로는 템플릿 디렉토리를 기준으로)를 따라야 한다.
모든 CSS파일은 style.ini
에 명시되지만 적어도 화면 프리젠테이션과 인쇄용으로 각각 하나의 CSS파일이 필요하다.
<dokuwiki>/lib/tpl/<template>/
<filename>.css
– 템플릿의 스타일시트(몇 이상이 있는 경우, /css 서브디렉토리에 그룹화 하는 것이 합리적)script.js
– 선택사항, 템플릿에 자바스크립트가 필요한 경우 적용main.php
– 도쿠위키의 전체적인 레이아웃detail.php
– 이미지 상세 페이지mediamanager.php
– 미디어 선택 팝업images/
– 템플릿에서 사용되는 모든 이미지conf/
– 설정파일들 (선택사항, 설정이 사용된다면)default.php
– 템플릿 설정을 위한 디폴트 설정tpl_getConf()
를 통해 접근 가능, 로컬셋팅은 DokuWiki의 전역 <dokuwiki>/conf/local.php
에 저장된다)metadata.php
– configuration metadata는 환경설정관리자에서 사용될 설정의 속성들을 기술 lang/
– 언어 파일<lang code>/lang.php
– 템플릿의 현지화 문자에 사용 (선택사항, 필요할 경우 사용)<lang code>/settings.php
– 현지화 문localization strings used in the configuration manager (만약 설정이 사용된다면)style.ini
– see style.inifavicon.ico
– 미디어 디렉토리에 없다면 사용된다 (tpl_favicon() 참조)template.info.txt
– 템플릿 정보가 있는 텍스트 파일 필수사항!API documentation에서 사용 가능한 함수를 확인할 수 있다. 여기는 특이한 몇가지 예이다.
tpl_content()
tpl_content(false);이것은 TOC를 컨텐츠로부터 분리하여 화면의 어딘가 다른 곳에 두고 싶을 때 사용할 수 있다. 보다 자세한 사항은 아래의
tpl_toc()
를 살펴보라.tpl_toc()
tpl_content()
함수는 실제 페이지 컨텐츠에 덧붙여 자신의 Table of Contents 표시를 처리한다. 만약 템플릿이 사이드바를 사용하거나 좀더 복잡한 레이아웃이라면 TOC를 페이지 컨텐츠로 부터 독립적으로 위치시키기를 원할 수 있다. 이것은 tpl_toc()
함수로 가능하다. 이것을 사용할 때는 tpl_content()
함수의 인수를 false
로하여 TOC 자동 배포를 비활성화 하는 것이 중요하다.<div id="content"> <?php tpl_content(false)?> </div> <div id="sidebar"> <?php tpl_toc()?> </div>
tpl_toc()
함수는 세 가지 다른 소스에서 TOC를 생성한다 : $TOC 전역변수, 해당 페이지의 metadata 또는 admin plugins의 getTOC()
메소드이다. 이전 버전이나 tpl_toc()
미리보기에서는 metadata가 없기 때문에 이런 경우 $TOC 전역변수만 사용할 수 있다. $TOC 변수는 페이지 렌더러에 의해 채워지기 때문에 이것은 오직 tpl_content()
이후에 tpl_toc()
이 호출될 경우에 작동된다. 만약 이런사항이 템플릿의 레이아웃상 불가능하다면 이러한 문제해결을 위해 출력버퍼링을 사용할 수 있다. <?php // 나중에 사용하기 위해 버퍼에 컨텐츠 렌더링 ob_start(); tpl_content(false); $buffer = ob_get_clean(); ?> <div id="sidebar"> <?php tpl_toc()?> </div> <div id="content"> <?php echo $buffer?> </div>
유용한 전역 변수와 상수의 전체 목록은 environment 페이지를 참조하라.
디폴트 템플릿의 main.php 파일 거의 맨아래에는 tpl_indexerWebBug()
함수가 있다. 이 함수는 lib/exe/indexer.php
에 대한 요청이 이루어질 수 있도록 HTML <img>
태그를 생성한다. 이 필수적인 도쿠위키 일부분은 위키가 원활한 작동이 유지되도록 중요한 유지관리작업을 제공한다. 모든 템플릿은 이 함수를 포함해야하고, 그렇지 않으면 위키는 제대로 작동하지 않을 수 있다 (예를 들어 search index가 만들어지지 않는 등).
dokuwiki 값을 가진 class 속성은 각각의 템플릿의 main.php, detail.php와 mediamanager.php에서 HTML 엘리먼트로 둘러싸인 몇 컨텐츠에서 (전체 또는 적어도 tpl_contents() 주변) 추가되어야 한다. 이것은 만약 잠재적으로 상충되는 CSS를 가진 기존의 사이트와 통합된 경우 도쿠위키의 스타일이 다른 스타일과 충돌하지 않도록 한다.
삽입 후크는 별도의 Template을 만들지 않고 자신의 DokuWiki에 정적인 컨텐츠를 추가할 수 있는 간편한 방법이다. 이것을 이용하여 각 페이지 아래에 표준 머리글이나 회사로고 또는 법적고지사항을 추가 할 수 있다.
도쿠위키 디폴트 템플릿은 템플릿의 디렉토리 내부에 특별한 이름을 가진 파일을 찾아서 페이지가 표시될 때 정확한 위치에 삽입한다. 이 파일들에 원하는 어떤 HTML이든 추가할 수 있다. 물런 디폴트 템플릿이나 또는 삽입 후크를 지원하는 템플릿(starter 템플릿 처럼)을 사용할 경우에만 해당된다.
PHP도 이 파일들 안에 포함할 수 있다.
모든 여기 파일들은 템플릿 디렉토리 즉 lib/tpl/dokuwiki/
에서 검색된다.
파일명 | 삽입되는 HTML의 위치 |
---|---|
meta.html | HTML <head>에 들어갈 내용, meta 요소를 추가하기 위해 사용 (e.g. Google Analytics code) |
header.html | the header 위(로고, 위키 이름 등) |
sidebarheader.html | 사이드바 내용 바로 전 (그러나 사이드바에 포함) |
sidebarfooter.html | 사이드바 내용 바루 후 (그러나 사이드바에 포함) |
pageheader.html | 위키페이지 컨텐츠 상단 (그러나 컨텐츠 섹션에 포함) |
pagefooter.html | 위키페이지 컨텐츠 하단 (그러나 컨텐츠 섹션에 포함) |
footer.html | 페이지 끝 |
사용자 설명을 위한 include hooks 또한 살펴보라.
템플릿을 만들었다면, 커뮤니티에 공유하길 바란다. 단지 template 네임스페이스에 템플릿의 이름을 딴 페이지를 만들어라. 예를 들면 템플릿의 이름이 sample
이면 이 위키 안에 template:sample
의 페이지를 만들어라.
At the top of the template page a few metadata fields have to be filled in. A description of each field can be found on the Repository Plugin page.
From version Ponder Stibbons on an automated update signalling is possible. For the update process to work properly it is necessary that the date “Last updated on” on the template's wiki page equals the date in the file template.info.txt in the source tarball/zip file. If this is not the case the update will not take place or the “Update” signal persists.
Uploads are not allowed on dokuwiki.org, so you need to host your template files somewhere else. We recommend to manage your source with a Revision Control System like git. If you do, it's easiest to use a public repository host like GitHub which offers also a bug tracker for your repository.
상단의 글은 ../inc/lang/ko(언어) 폴더의
edit.txt 파일을 수정해서 사용할 수 있다. (이 폴더를 잘 뒤져보면 도쿠위키 페이지내의 여러가지 문구들을 내 입맛대로 수정할 수 있다.)
글 작성 / 수정 페이지 상단에 잡다하게 만들어 두었는데, 점점 아이콘과 단축키를 사용하는 게 편해져서 안 쓰고 있다. (하지만 나는 개인 위키로 운영하고 있으니까, 복사 붙여넣기를 할 일이 생길 수 있으므로 아직은 수정 중에 있다)
수정할 파일 경로 ./inc/lang/ko(언어)/edit.txt
파일 경로 : ./inc
아이콘 이미지 경로 : ./lib/images/toolbar