WIKI

SEOUL‍
wiki:sw:dokuwiki:plu...

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
다음 판
이전 판
wiki:sw:dokuwiki:plugins [2023/06/15 01:19] – 제거됨 - 바깥 편집 (Unknown date) 127.0.0.1wiki:sw:dokuwiki:plugins [2025/11/06 01:12] (현재) – 바깥 편집 127.0.0.1
줄 1: 줄 1:
 +<!DOCTYPE markdown>
 +
 +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]]를 사용하기 때문에, 데이터베이스의 크기가 커질 경우에는 성능이 저하될지 장담할 수 없다.
 +
 +
 +---- struct data ----
 +pageinfo.status      : Draft
 +----