pageinfo | |
---|---|
status | Draft |
<!DOCTYPE markdown>
이 문서는 (아마도) ikiwiki에 대한 거의 유일한 한글 정보를 기록하기 위해 작성되었다. 즉, 혹시나 나처럼 기존 위키나 블로그나 cms에 불만족을 느끼고 대안을 찾다가 흘러흘러 ikiwiki를 알게 되고, 사용해보고 싶은 사람을 위해 경험을 정리한다.
기본적인 (perl) cgi를 지원하는 서버에서 어렵지 않게 설치 가능하다. Shared hosting 환경에서도 가능한지는 테스트해보지 않았다. 요새는 무료 cloud server를 많이 제공하므로, 그냥 서버 세팅해서 써도 무방할 듯.
아래 내용은 debian 기준으로 설명.
ikiwiki는 cgi 모듈을 사용한다. 다만, 기본으로 활성화된 mpm 모듈을 사용할 경우 cgid로 대체되므로, 다음과 같이 모듈을 비활성화한다.
sudo a2dismod mpm_event sudo a2enmod mpm_prefork sudo a2enmod cgi
ikiwiki는 Debian / Ubuntu 패키지 형태로 되어 있으므로, apt 명령어를 통해 설치할 수 있다. 설치 후에는, 기본적인 setup script를 사용한 후 설정을 바꾸는 방식을 추천.
ikiwiki --setup /etc/ikiwiki/auto.setup
페이지에 메타데이터를 삽입하기 위한 문법이며, [[sw:meta_field_value_param_n_value_n]]
형태로 사용햔다. 하나의 블록 안에 하나의 field만 입력 가능하며, 여러 field를 지정하고 싶다면 여러 블록을 사용해야 한다.
지원하는 field는 다음과 같다.
[[sw:meta_script_somescript_defer_async]]
).[[sw:meta_link_url_rel_value]]
). htmlscrubber 플러그인을 사용할 경우 후자의 내용은 무시된다.[[sw:meta_redir_otherpage]]
이다. 만약 특정 시간 후 이동하도록 딜레이를 주고 싶다면 "delay=seconds"
형태로 옵션을 지정하면 된다. 외부 url을 지정하는 것도 가능하지만, htmlscrubber 플러그인을 사용할 경우 이 내용은 무시된다. 추가로 #ANCHOR
문법을 사용하여 특정 헤딩을 지정할 수 있다.
이 외에 다른 field를 사용할 경우, 단순히 HTML meta 태그에 해당 내용이 추가된다. 만약 field의 이름이 특수할 경우, [[sw:meta_name_value_content_value]]
형태로 지정해야 한다.
ikiwiki는 DokuWiki와 비슷한 철학을 갖고 있다. 즉 코어는 굉장히 기본적인 기능만을 제공하고, 추가적인 기능은 플러그인으로 구현하게 된다. 몇몇 플러그인은 내장되어 있다. 안타깝게도 ikiwiki는 너무 오래된 소프트웨어이기 때문에, 적지 않은 플러그인들이 예컨대 github 같은 저장소에 올려져 있지 않고 흩어져 있다.