Dokuwiki Plugins ================ ## 개요 [[wiki:sw:dokuwiki|DokuWiki]]에서 지원하는 플러그인, 특히 [[:c20:dossier|Dossier]]에서 사용하는 것을 위주로 요약한 문서. 알파벳 순으로 정리한다. ## B ### Bureaucracy [[doku>plugin:bureaucracy]]. 형식화된 데이터를 문서 상에 입력할 수 있도록 하는 플러그인. Struct 및 Data 플러그인을 편하게 사용할 수 있는 데에도 활용할 수 있다. 다만 Struct는 자체적인 편집창을 제공하므로 크게 의미가 없다. 사용법은 위의 문서에서 제공하는 문법을 **페이지 내에** 삽입하는 식이다. 공식 문서에서는 이렇게 하는 방식을 제대로 설명하지 않고 있어서 한참 헤매었다. 왜 정확히 명시하지 않은건지 모르겠다. ## D ### Data [[doku>plugin:data]]. [[#struct]]와 마찬가지로 도쿠위키 문서에 구조화된 데이터를 첨부할 수 있도록 해준다. 차이점이라면, struct는 pre-defined된 schema를 사용하여 좀 더 구조적으로 엄격한 구성을 할 수 있는 반면, data는 문서 초반에 텍스트 형식으로 데이터를 입력하기 때문에 훨씬 유연하나 데이터 검증이 불가하다는 것에 있다. Data 플러그인은 크게 data entry (입력), data table/list/related page (출력), tag cloud (관리)로 구분되어 동작한다. ### Data entry ``` ---- dataentry [class] ---- NAME_1[_type1] : VALUE_1 NAME_2[_type2] : VALUE_2 ... ---- ``` - 사용 가능한 type에 대해서는 [[doku>plugin:data#Data Entry (Input)]]을 참고하라. - type을 생략하면 일반적인 텍스트 값으로 인식한다. - type 뒤에 `s`를 붙이면 복수의 값을 인식할 수 있다. 각 값은 쉼표로 구분한다. - Type alias를 사용하면 새로운 타입을 생성하는 것도 가능하다. ## L - [[doku>plugin:linksuggest]]: ## S ### Struct [[doku>plugin:struct]]. Dokuwiki에서 페이지의 속성을 지정하는 플러그인. - 원래 도쿠위키에서는 data 플러그인을 사용하여 페이지의 속성을 지정하도록 하고 있다. 미디어위키의 SMW과 비슷한 목적이다. 그러나, data 플러그인이 가진 단점 역시 SMW와 유사하다; 중앙에서 각 문서의 속성을 관리하기가 어렵다. 그나마 템플릿으로 어느 정도 정형화를 강제할 수 있는 미디어위키와 달리 도쿠위키는 이도 어렵다. 이에 따라, 위키 마크업 밖에서 데이터를 입력하고 관리하는 새로운 컨셉의 플러그인이 등장하게 되었으며, 이 플러그인이 struct다. - struct는 많은 파생 플러그인을 지원하고 있으며, 그 중 일부를 나열하면 다음과 같다. - [[doku>plugin:strcutstatus]]: 페이지의 상태를 정의하는 flag를 지정 및 저장하는 플러그인. ## T - [[doku>plugin:tag]]: Dokuwiki에 태그 기능을 추가하는 플러그인. - [[tech:mediawiki|Mediawiki]]의 강력한 분류 기능을 완전히 대체하지는 못하지만, [[tech:wordpress|Wordpress]] 등의 taxonomy 정도 역할은 할 수 있다. [[tech:sqlite|Sqlite]]를 사용하기 때문에, 데이터베이스의 크기가 커질 경우에는 성능이 저하될지 장담할 수 없다.