Action disabled: source

도쿠위키 (Dokuwiki)

  설치형 위키위키로 설치와 설정, 기본 사용법이 간단하고 백업, 복구 등도 용이한데다가 사용자관리 및 문서 보호 기능을 기본적으로 탑재하고 있어 회원제나 완전 비공개 위키를 간단하게 만들 수 있다. 자료의 저장에 데이터베이스를 사용하지 않고 텍스트 파일을 사용한다. 데이터베이스를 사용하지 않기에 백업과 복원이 간편해서(파일만 보관하면 되기에…) 복잡한 MySQL 에 대한 지식이 없어도 관리할 수 있다.

도쿠위키는 원본문서의 기본 레이아웃이 보기도 편할 뿐더러 위키문법도 쉽고, 입력하기도 편하다. 1)

다운로드

다운로드 페이지에서 다운로드 가능하다.1 .

성능

구글링을 해보면 도쿠위키의 성능에 대한 비판적인 글들이 있다. 위키 비교사이트인 위키매트릭스에 보면 도쿠위키는 소형 위키에 적당하다는 문구가 떡하니 자리잡고 있다.

문서저장은 TXT문서로 한다. 보여줄 때에는 문법에 맞게 변환을 해서 HTML로 보여줘야 하는데 이 때 내부적으로 강력한 2단계 캐쉬기능을 쓴다. 즉, 미리 만들어 놓은 HTML을 보여준다. 문서 표시의 반응 속도는 매우 빠르다.

이 때문에 사용할 수록 캐쉬파일이 늘어난다. 2) 거대규모의 사이트 에서는 캐쉬파일을 가끔 정리해 주는 것이 좋다.

사실 느리다는 인식은 플러그인 중 특히 페이지의 목록을 만들거나 내용을 검색하여 결과를 만드는 플러그인들에 의해 생겼을 가능성이 많다. 성능이 중요한 대형 사이트들은 이러한 플러그인 들을 적절히 사용하는 것이 중요하다. 구글 맞춤 검색 (Cse)을 활용하는 것도 좋은 방법이 된다.

오픈위키의 도쿠위키 관련 글

Tips

더 읽어 볼 것

문법 설명를 비롯한 모든 문서와 추가적인 정보들은 www.dokuwiki.org의 DokuWiki에서 유지관리된다.

한국 도쿠 위키 사이트

  1. http://elfism.com 엘프화가의 개인노트이다!!
  2. http://www.animint.net/ 만화가 '아카마츠 켄'의 모든 작품에 대한 데이터베이스를 총망라
  3. http://wiki.kwonnam.pe.kr/ 개인용 정보 축적
  4. http://Funzinnu.com/EVEwiki/ 이브온라인(EVE Online) 한국어 정보 위키
  5. http://kwonnam.pe.kr/wiki 권남이 위키
  6. https://Wiki.homerecz.com/ 홈레코딩에 관련된 내용을 담은 위키입니다. 게시판 등은 홈레코딩 커뮤니티를 이용해주시면 됩니다.
  7. https://nme.kr/dw/doku.php/index 호랑이는 죽어 가죽을 남기고 사람은 이름을 남긴다
  8. https://ccomma.net 꼼마 네트워크
  • 대부분 개인위키…들이고, 장기간 안정적으로 운영되는 경우가 많지 않다.

관리/접속 안되는 곳

  1. http://diywiki.net/ 각종 DIY정보 축적용 위키
  2. http://nuriwiki.ncity.net/Giraffe/ 누리창작. 누리마루 이용자들을 위한 자유로운 창작 공간.
  3. http://imasss.net/wiki/ 아이마스에 관련된 정보만을 다루는 아이마스 전문 위키.
  4. http://z3moon.com 개인 위키이다. 주로 프로그래밍 관련 내용을 다룹니다.
  5. http://www.urisori.co.kr/dokuwiki-home/doku.php MBC '우리의 소리를 찾아서'(한국민요대전) 공식 홈페이지
  6. http://midiwiki.net 미디(컴퓨터 음악), 미드(미국 드라마) 정보를 정리한 위키(뷔엘넷에서 많은 도움을 받아 만든 위키)
  7. http://hackwiki.maru.net/ HackWiki (해커들을 위한 위키페이지)
  8. http://psmon.x-y.net/maniwiki/ Html5용 게임제작을 위한 여러가지 기술들을 정리.
  9. http://www.codeforum.net/wiki/ 피투성의 개인 지식 정리를 목적
  10. http://sakuga.kr/ 애니메이션 작화 및 애니메이터를 다루는 위키.
  11. https://wiki.onldo.com/open/start 운영중인 개인 위키
  12. http://cafeaqua.kr 아쿠아리움 수족관 열대어 정보 위키
  13. http://kyungseo.pe.kr/wiki 경서박 개인위키
  14. http://hands.korea.ac.kr/wiki/doku.php 고대 전자공학부 사이트.. 위키는 관리 안되는듯.
  15. http://wiki.edple.com/ 폐쇄형으로 바뀜.
  16. http://terzeron.net/wiki/ 조영일의 개인 위키이다. 개발자에게 유용하며 널리 공유할 필요가 있는 기술과 정보를 정리해두는 공간.
  17. http://wiki.suhj.in/ 다양한 정보를 모으는 것을 목표로 하는 위키위키입니다.
  18. http://leaflette.com/도쿠위키 아님
  19. https://uniwiki.me/ 누구나 자유롭게 참여할 수 있는 오픈형 위키이다.
  20. http://wiki.nex32.net 넥스32 도서관은 게임과 기타 잡학의 정보를 모으는 위키.관리자 에리얼
  21. http://apinknews.com/wiki/doku.php 에이핑크의 음반이나 광고활동 내역들을 정리한 위키

개정판

  • 각 버전 명칭은 테리 프래챗의 판타지 소설인 디스크월드에 등장하는 캐릭터 이름이다.
  • 2010년 11월 7일 "개미핥기" 3)
  • 2013-03-06 “Weatherwax” 4)
  • 2013년 10월 30일에 공개된 ‘Binky‘ 5)
  • 2014-05-05(어린이 날 기념) "Ponder Stibbons" 6)

플러그인

도쿠위키에는 많은 플러그인이 있다. 플러그인을 설치, 제거하기가 매우 쉽다는 장점도 있다. 참조

다만, 다른 위키엔진들에서는 기본기능인데 도쿠위키에서는 플러긴을 설치해야 되는 것들이 있다.

  • 플러그인의 관리 - dokuwiki에서 관리자로 로그인을 하면 [관리]메뉴가 나타난다. [관리]메뉴 중 [플러그인 관리자]를 클릭하면 새로운 플러그인을 설치할 수 있는 URL입력창과 현재 설치된 플러그인 목록을 볼 수 있다.
  • 플러그인 설치 - 플러그인은 관리자 메뉴의 [플러그인 관리하기]를 통해 할 수 있다. 설치할 수 있는 플러그인의 목록은 dokuwki의 plugin 페이지에 있다. 플러그인 목록에서 원하는 플러그인을 클릭하면 해당 플러그인에 대한 안내와 *.zip이나 *.tar.gz 또는 *.tgz 등의 압축된 플러그인 파일을 볼 수 있다. 압축파일의 인터넷 경로(바로가기) 를 복사한 후 관리자의 url 입력창에 넣고 설치! 를 누르면 된다.

daummovie.jpg

웬만한 규모의 위키에서 꼭 필요하다고 생각되는 플러긴들.

해당 문서로의 링크를 가지고 있는 문서의 목록을 보여준다. (*)필수!

백링크(역링크) 표시 %%{{backlinks>}}%%

Include plugin

페이지 혹은 틀 가져오기. 유용하다. (*)필수!

{{page>[id]&[flags]}}
{{section>[id]#[section]&[flags]}}
{{namespace>[namespace]&[flags]}}
{{tagtopic>[tag]&[flags]}}

Move plugin

페이지의 이름을 변경하고, 페이지의 위치(이름공간)을 변경할 수 있다. 이 때 문서의 속성이나 과거 수정이력등이 보존된다. (*)필수!

솔직히 이거 정말 기본적인 기능 아니냐? 그런데 최근까지도 제대로 작동하는 플러긴이 없었어. 없었다구.

Pagelist Plugin

페이지의 목록을 표시하는 기능의 플러긴이다. 다른 플러긴에서 많이 사용하므로 (*)필수!

이미지를 앨범형식으로 표시할 수 있다.

tag

문서에 꼬리표를 먹이고, 이에 따라 분류하거나 표시할 수 있다.

  • 태그 플러긴 :!: (*)필수!
  • 많은 문서에 태그를 먹이면,
    ~~TAGCLOUD~~

    표시할 때 느려진다

  • 기본적으로는 공백으로 태그네임을 구분하지만 태그네임 자체에 공백이 포함된 경우에는 "태그네임" 큰따옴표안에 넣어주면 공백이 포함된 태그네임도 사용할 수 있다.7)
  • topic 구문을 이용해서 태그가 걸린 문서를 불러올 수 있다. 사용법은 {{topic>tag&옵션}}

{{topic>이름공간?태그1}}명령어를 이용해서 해당 이름공간 안에 있는 태그만 불러오는 것도 가능하다.

옵션 값에는 nodate(날짜를 표시하지 않음), desc(본문 내용을 추가), nouser(글쓴 사람을 표시하지 않음) 등 pagelist 플러그인에 있는 flags를 이용해서 옵션을 추가할 수 있다.

  • {{count>태그명 태그명2}}을 이용하면 해당 태그명이 태그된 숫자를 알 수 있다. {{count>+}}를 하면 전체 태그목록을 불러온다. 물론 {{count>+&. 이름공간1 이름공간2}}이런식으로 이름공간으로 거를 수 있다. 주의할 점은 .과 함께 스페이스로 공간을 띄워줘야 할 것.8)
  • {{tagpage>태그이름|문서에서 보여질 이름}}로 태그페이지로 링크를 걸어줄 수도 있다. 태그페이지에서는 해당태그가 걸려있는 문서들을 볼 수 있다.

Wrap

팁 상자tip

중요 상자important

경고 상자alert

도움말 상자help

다운로드 상자download

할 일 상자todo

  • 위와 같은 글상자들을 표시할 수 있다.
  • 사용법은 에디터위 메뉴바에 노란 네모상자 아이콘(Wrap 플러그인)을 클릭하거나 <WRAP round todo 40%>해야할 일</WRAP> 같은 식으로 <WRAP 정렬 박스모양 노트내용 크기>박스안 내용</WRAP>처럼 사용한다
  • 정렬은 left center 등 정렬방향을 결정하고 박스모양 부분을 비워주면 직사각형 모양이되며 노트내용에는 위 상자안에 있는 영어를 써넣으면 된다.
  • 글 정렬도 가능하다. 사용법은 <WRAP leftalign 또는 rightalign 또는 centeralign>글자</WARP>각각 왼쪽, 오른쪽, 가운데 정렬이다. 기존의 띄어쓰기로 정렬해주는 문법은 다른 문법들과 혼용에서 사용할시에 중복적용이 안되는 일이 발생할 때 이 wrap을 이용하면 유용하다.
  • 상자 이외에도 내용물을 담는 테이블이나 여러가지 문서를 꾸밀때 유용하다.
  • <WRAP clear></WRAP>를 이용하여 다음단락으로 단을 나눌 수 있다. 글씨와 붙어서 테이블이 구성되는 도쿠위키 특성상 글씨와 나란히 붙어서 쓰고싶지않을 때 사용해주면 편하다.

Changes Plugin

  • 최근 변경된 페이지를 목록으로 표시.

{{changes>표시될 숫자}}로 사용 가능하다.

Cloud Plugin

  • Displays the most used words in a word cloud.

Page Redirect

 ~~REDIRECT>namespace:page~~

Redirect

특정 페이지를 다른 한 페이지로 옮기는 것은 같다.

차이점은 넘겨주기는 설정을 어드민 페이지(관리-문서넘겨주기)에서 한꺼번에 관리한다는 것이고 (관리자권한 필요), 문서 넘겨주기는 가짜 페이지를 만들고, 그 원본 페이지로 가는 넘겨주기 명령을 넣어줘야 하는 것이 다르다.

  • 사용자가 설정 가능.

사용법은 관리자 페이지에 추가적인 플러그인-문서 넘겨주기 설정 페이지의 폼 안에 '옮길 문서 (스페이스바) 옮겨질 곳 문서'를 적어주면 된다.

각기 장단점이 있다. 둘다 설치하고 때에 맞춰 쓰면 된다.

넘겨주기에서 전체 이름공간을 넘겨주려면

action.php

$redirects = confToHash(dirname(__FILE__).'/redirect.conf');

      if($redirects[$ID]){

사이에

  $newID = "";
     foreach ( $redirects as $mask=>$target )
     {
           $regex_mask = '/^'.preg_replace( '/\*/', '(.*)', $mask ).'$/';
           if ( preg_match( $regex_mask, $ID ) )
           {
                   $newID = preg_replace( $regex_mask, $target, $ID );
                   break;
           }
     }
     $redirects[$ID] = $newID;

를 추가해주면 될 것 같다.. FIXME

유용한 플러긴

Editor Plugin

fontsize2

글씨 크기를 적용할 수 있다. wrap으로도 글씨 크기와 색상을 적용할 수도 있지만 사용법을 몰라서 알고있는 사람이 있다면 FIXME

사용법은 <fs 사이즈>글자</fs> 사이즈 부분에는 em, ex, %, px 단위로 사용가능하다. 그 이외에도 xx-small, x-small, small, medium, large, x-large, xx-large와 같은 키워드로도 가능하다.

예) <fs 2em>글자</fs> <fs large>글자</fs>

Conflictmerger

도쿠위키는 원래 한사람이 편집 중이면 다른 사람은 건드리지 못하게 하는 기능이 있어 충돌을 막는다. 접속자가 많은 대규모 위키의 경우 한 문서를 여럿이 동시에 편집하려는 경우가 생길 수 있다.

이 플러긴을 사용해서, 한꺼번에 여러 사람이 편집하고, 수정된 부분을 지능적으로 골라 합치도록 할 수 있다. (*)

미디어 위키는 이러한 충돌을 자동으로 해결할 수 있는 기능이 일찍부터 있었고, 모니위키도 해당 기능이 추가되어 있다.

image plugin

imgpaste

  • 주소:

https://www.dokuwiki.org/plugin:imgpaste

안드레아 성님의 플러긴. 구글 크롬에서 ctrl-c & ctrl-v로 그림을 올릴 수 있게 된다.

생성될 파일이름을 설정할 수 있다.

@ID@:@USER@_%Y%m%d-%H%M%S

추천

Hidden Comment Plugin

  • 문서 내부에 주석 넣기 /* 주석 */
  • WRAP 플러그인의 <WRAP hide>주석</WRAP>문법을 이용해서 주석처리할 수 있다.(오 만능 WRAP) 굳이 주석 플러그인을 따로 받는 것보다 이 편을 더 추천.

Color Plugin

글씨에 색상을 적용할 수 있게 만들어준다.(다른 위키는 기본 기능이지만)

사용법은 <color blue 또는 red 등>글씨</color>혹은 <color 색상코드>글씨</color>도 가능하다.

Logstats

statdisplay에서 쓸 수 있도록 위키 접속에 대한 로그파일을 만들어 준다. 약간의 전체적인 성능저하 및 저장소 접속(HDD traffic)이 발생할 수 있다.

Statdisplay

logstats에서 생성한 로그파일이나, Apache 등에서 생성한 로그파일을 분석해서 접속통계를 보여준다. 그래프도 가능하다.

  {{statdisplay>all}}

Structured Data Plugin

Namespace Listing

Oauth

구글, 페이스북, 야후꾸러기 등의 계정으로 로그인 할 수 있다. 각 사이트에서 앱을 만들고 키를 발급받아야 한다.

http://www.dokuwiki.org/plugin:oauth

Sortable javascript

Info Plugin

도쿠위키 내부 정보를 표시해준다.

Codemirror

편집시에 도쿠위키 문법을 자동으로 검색하여 색깔을 입혀준다.

도쿠위키 기본설치로는 WysiWyg이 되지 않는다. 여러 위지윅플러긴이 있으나, 그냥 편하게 쓰기에는 위지윅보다는 구문강조정도가 좋다. 기본 편집기와 크게 다르지 않으면서 편리한 기능을 추가해준다. 다른 위지윅 플러긴 보다 완성도가 높다.

CodeMirror는 각종 컴퓨터 프로그램 코드를 웹상에서 쾌적한 환경으로 편집할 수 있도록 구축하는데 도움주는 자바스크립트 라이브러리이다. 전문 코드 편집기에 상응하는 문법 강조 및 코드 편집기능들을 제공함. 특히 다중 편집 모드를 지원하여 HTML + CSS + JavaScript 또는 HTML + PHP처럼 여러 언어를 복합적으로 편집할 때에도 문법을 강조할 수 있다. 사용할 수 있는 언어로는 JavaScript, XML/HTML, CSS, SPARQL, PHP, Python, Lua, Ruby, SQL 이 있으며, 크로스-브라우저를 지원함. 구글의 API 놀이터와 어스 KML 셈플러, 파이어버그 플러그인인 FireRainbow 등에서 CodeMirror를 이용한 편집기를 제공하거나 문법 강조기능을 활용하고 있다. 보다 자세한 사용법은 API 문서를 참조하라.

tablewidth

  • <표전체너비 첫번째열너비 두번째열너비...>

    식이 된다.
    보통 WRAP으로 감싸기 마련이니 전체 너비는 100%로 지정하고 고정해야할 너비만 지정해주면 나머지는 공간을 나눠서 배정한다.(브라우저가)9)

  • 약간의 폭여유를 위해 실제 텍스트보다 0.5em이나 1em정도 크게 배정하면 안정적이다.

edittable

표를 엑셀처럼 편집할 수 있게 해준다.

Upgrade

관리자 화면에서 도쿠위키를 새버전으로 업그레이드 할 수 있도록 해준다. 몇번의 클릭만으로 가능하다.

폰터스티본스 버전부터는 기본플러긴으로 포함되었다.

https://www.dokuwiki.org/plugin:upgrade

다운로드 주소

Video Sharing Site Plugin

유튜브 동영상 삽입하기

        list($vid,$param) = explode('?',$vid,2);
        if(preg_match('/(\d+)x(\d+)/i',$param,$m)){     // custom
            $width  = $m[1];
            $height = $m[2];
        }elseif(strpos($param,'small') !== false){      // small
            $width  = 300;
            $height = 168;
        }elseif(strpos($param,'large') !== false){      // large 
            $width  = 640;
            $height = 360;
        }else{                                          // medium 560x315
            $width  = 560;
            $height = 315;
        }

templatepagename Plugin

  • 기존에 FTP로만 작성가능했던 __template. 즉, 이름공간 템플릿을 c_template와 i_template로 도쿠위키상에서 만들 수 있도록 만들어주는 플러그인.
  • i_template는 최상위 이름공간 템플릿이고 c_template이 하위 템플릿이다. i_template로 만들면 그 만든 이름공간의 밑에 이름공간이 계속 생겨도 i_template 템플릿이 적용된다. c_template는 해당 문서가 존재하는 이름공간만 적용된다.

예를들어 게임이라는 이름공간에 i_template를 작성하면 게임/마인크래프트라는 이름공간에도 게임/마인크래프트/조합법 이라는 이름공간 그 하위까지 모두 i_template의 영향을 받는다. 하지만 게임이라는 이름공간에 c_template를 만들면 단지 게임 이름공간 안에 문서들에서만 적용된다.

  • 사용법은 그냥 도쿠위키상에서 i_template 또는 c_template의 이름으로 문서를 만들어주면된다.

Creole Plugin

요즘 위키는 그냥 엔터프라이즈 급은 미디어위키가 대세 이고, 개인위키들은 도쿠위키 (Dokuwiki), 기타 등등.. 이라.. 서로 간 문법에서의 타협이 이루어질 가능성은 없어 보이고, 공통분모가 생긴다면, 마크다운 (Markdown)정도로 되지 않을까 한다…그러니까.. 크레올레 자체가 망했다.

1)
이런 컨셉의 또다른 형식화문법이 마크다운 (Markdown)이라는 것이 있다.
2)
문서파일자체는 200mb정도인 경우라도 캐쉬포함 1GB의 공간을 차지할 때도 있다.
3)
Anteater..
  • 빠른 검색 알고리즘 개선
  • 향상된 이메일 구독
  •  템플릿 제작자들은 올바른 버튼을 구현하는지 확인 필요
  • 비교의 전망에 대한 영구 링크
  • 다양한에서 라이센스 명확 파티 라이브러리를 세번째
  • 요약 prefilled 섹션 이름을 편집할 때 섹션
  • 설치 프로그램에서 라이센스 선택기
  • 여러 IE7이, IE8, 크롬 수정
  • 매개 변수는 현재 (플러그인에 유용) 내부 링크에 전달할 수 있다
  • 일부 XMLRPC 개선
  • 인코딩을 파일 이름 구성
  • 사용자에 대한 지원 섹션 편집자 (플러그인) 예를 들어, 테이블 편집기 플러그인
  • 중앙 라이브러리 로드
  • 버그 수정 및 사소한 개선
4)
 사용자 인증 방법이 변경되었다. 새로 작성해야 한다. 제작법(영문) Authxe: XE & Dokuwiki 동시 로그인참조.
5)
Binky
  • 사용자가 스스로 자기 계정을 삭제할 수 있게 됨
  • 사용자 목록을 CSV파일로 가져오기/내보내기 추가.
  • 가입시 임시암호기능 방식 개선
  • CSS 처리에 LESS 방식을 도입
  • 언어팩의 번역 갱신
  • 구형 템플릿(default) 삭제
6)
Ponder Stibbons
  • 확장자 관리자
  • 소리와 비디오 파일 지원
  • 파일 아이콘
  • 접속이 거부된 경우 로그인 화면으로 이동됨
  • 다중 AD 도메인이 설정된 경우 도메인드롭다운 메뉴 표시
  • 유저페이지 지원 추가
  • 페이지 변경점 볼 때 편의성 추가
7)
예){{tag>태그1 태그2 "마인 크래프트"}}
8)
하부 이름공간까지 찾아주지 않아서 일일히 이름공간을 다 넣어야한다.
9)
예) |<100% 7em>| WRAP문법 밑에 표 문법 위에 위치한다

역링크