차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판이전 판다음 판 | 이전 판 | ||
wiki:sw:ikiwiki [2023/06/14 16:19] – 제거됨 - 바깥 편집 (Unknown date) 127.0.0.1 | wiki:sw:ikiwiki [2025/01/13 02:36] (현재) – clockoon | ||
---|---|---|---|
줄 1: | 줄 1: | ||
+ | ikiwiki | ||
+ | ========== | ||
+ | |||
+ | #software #wiki | ||
+ | |||
+ | ## 개요 | ||
+ | 이 문서는 (아마도) ikiwiki에 대한 거의 유일한 한글 정보를 기록하기 위해 작성되었다. 즉, 혹시나 나처럼 기존 [[tech: | ||
+ | |||
+ | ## 장단점 | ||
+ | |||
+ | ### 장점 | ||
+ | |||
+ | - plain text 기반이다. 즉 이후 어떠한 시스템으로 migration하는 것이 매우 쉽다. | ||
+ | - [[git]] 등 외부 [[tech: | ||
+ | - 이 특징 덕분에, (git 기준) 로컬에서 작업 - commit - push - 퍼블리시 라는 워크플로우가 가능하다. 기존의 여러 위키 엔진은 철저히 웹 기반의 관리를 기준으로 하므로, ' | ||
+ | - 플러그인을 통해 다양한 확장자와 포멧을 지원한다. 역시나 future-proof하다. | ||
+ | |||
+ | ### 단점 | ||
+ | |||
+ | - 컴파일 시간이 오래 걸린다. 대부분의 글들이 ' | ||
+ | |||
+ | ## 설치법 | ||
+ | 기본적인 (perl) cgi를 지원하는 서버에서 어렵지 않게 설치 가능하다. Shared hosting 환경에서도 가능한지는 테스트해보지 않았다. 요새는 무료 cloud server를 많이 제공하므로, | ||
+ | |||
+ | 아래 내용은 [[tech: | ||
+ | |||
+ | ### Apache2 | ||
+ | ikiwiki는 cgi 모듈을 사용한다. 다만, 기본으로 활성화된 mpm 모듈을 사용할 경우 cgid로 대체되므로, | ||
+ | |||
+ | ``` | ||
+ | sudo a2dismod mpm_event | ||
+ | sudo a2enmod mpm_prefork | ||
+ | sudo a2enmod cgi | ||
+ | ``` | ||
+ | |||
+ | ### ikiwiki | ||
+ | ikiwiki는 Debian / Ubuntu 패키지 형태로 되어 있으므로, | ||
+ | |||
+ | ``` | ||
+ | ikiwiki --setup / | ||
+ | ``` | ||
+ | |||
+ | ## 설정 | ||
+ | |||
+ | ## 문법 | ||
+ | |||
+ | ### meta | ||
+ | |||
+ | 페이지에 메타데이터를 삽입하기 위한 문법이며, | ||
+ | |||
+ | 지원하는 field는 다음과 같다. | ||
+ | |||
+ | - title: 문서 제일 위에 나타나는 title을 변경한다. 기본적으로는 page name과 동일하다. *sortas* param은 페이지 목록을 정렬할 때 사용할 key를 지정한다. | ||
+ | - license: 페이지 라이센스를 지정한다. value로 위키 마크업을 사용 가능하다. | ||
+ | - author: 페이지의 저자를 지정한다. *sortas* param은 페이지 목록을 정렬할 때 사용할 key를 지정한다. | ||
+ | - authorurl: 페이지 저자의 url을 지정한다. | ||
+ | - description: | ||
+ | - keywords: 페이지를 요약하는 키워드를 지정한다. 이 값은 html head 영역에 기재되며, | ||
+ | - permalink: ikiwiki에서 자동으로 생성하는 주소와 다른 링크를 사용하고 싶을 때 지정한다. | ||
+ | - date: 페이지를 생성한 날짜를 지정한다. 이 값은 html meta 헤더에 기재되며, | ||
+ | - stylesheet: 페이지 별로 다른 [[tech: | ||
+ | - script: 페이지 별로 다른 [[tech: | ||
+ | - openid: 외부 OpenID 서버와 통신할 수 있는 링크를 적용한다. | ||
+ | - link: 다른 페이지로의 링크를 지정한다. 혹은 html link 태그를 지정한다(예: | ||
+ | - enclosure: 특정 파일 링크를 RSS / Atom 피드로 묶는다. [[tech: | ||
+ | - redir: 다른 페이지로의 리다이렉트를 지원한다. 기본 문법은 `[[sw: | ||
+ | - robots: html robots 태그 옵션을 지정한다. index / noindex / follow / nofollow 옵션을 지정할 수 있다. 기본값은 " | ||
+ | - guid: 페이지에 유니크한 ID를 지정한다. 기본값은 페이지 URL 값이다. 페이지를 이동할 가능성이 있을 때 유용하다. | ||
+ | - updated: 페이지 수정 시간을 임의로 지정한다. 예컨대 블로그 페이지를 수정할 일이 있을 때, RSS 상에서 순서를 바꾸고 싶지 않을 때 유용하다. | ||
+ | - name: HTML meta 태그의 name 속성을 지정한다. [[# | ||
+ | |||
+ | 이 외에 다른 field를 사용할 경우, 단순히 HTML meta 태그에 해당 내용이 추가된다. 만약 field의 이름이 특수할 경우, `[[sw: | ||
+ | |||
+ | ## 플러그인 | ||
+ | |||
+ | ikiwiki는 [[dokuwiki]]와 비슷한 철학을 갖고 있다. 즉 코어는 굉장히 기본적인 기능만을 제공하고, | ||
+ | |||
+ | ### 설치법 | ||
+ | |||
+ | ### 내장 플러그인 | ||
+ | |||
+ | - meta | ||
+ | |||
+ | ## 링크 | ||
+ | - [공식 사이트](https:// | ||
+ | ---- struct data ---- | ||
+ | pageinfo.status | ||
+ | ---- | ||