前言
之前使用 Dokuwiki 還算滿意,只可惜我希望能夠透過方便的 git 來做版控以及備份,而 Dokuwiki 上面的 git 套件年久失修,經常會有 bug,剛好想到成大資工有個 wiki 站是使用 gitit,就跳過來了~
安裝
sudo apt install gitit
安裝完後,建議產出預設設定檔
gitit --print-default-config > gitit.conf
常用指令
gitit -h
說明gitit
在當前目錄產出相關檔案gitit -f FILE.conf
指定設定檔啟動
優點
- 支援中文搜尋
- git 化管理
gitit 好處是支援中文搜尋,外國的產品常因為拉丁語系關係,他們以空白當作分詞判斷,而中文都是連在一起的沒有空白,搜尋自然出問題,幸好 gitit 有支援。
此外 git 管理真的是好的沒話說,方便查看哪些人在哪時候修改,透過 git hook 在每次 commit 時自動 push 到 GitHub repo 當作備份,真的完美!
下面這是我的自動 push 設定
$ cat .git/hooks/post-commit
#!/bin/sh
git push origin master 2>> logit
缺點
- 編譯不易
- apt 拿不到最新版
由於 gitit 使用 Hakshell 開發,必須安裝相對應的套件才能編譯,相信許多人對這語言頗陌生(我也是),在我裝完套件要編譯時又出了不少問題,時間壓力之下只好直接從 apt 去裝了,落後了幾個版本,不過沒遇到什麼 bug。
佈景主題
gitit 官方在 wiki 中有列出幾個佈景主題提供參考,成大資工也有釋出。
修改搜尋
在搜尋結果頁面,預設只會列出哪些項目有搜尋所包含的字詞,必須要點下去才會攤開來,顯示其上下文,因此稍微研究了一下程式碼,static/js/search.js
中加入下面的程式即可讓所有搜尋結果自動攤開啦!
$(function() {
$('span.head').attr('onClick', 'toggleMatches($(this));');
var pattern = $('#pattern').text();
$('pre.matches').highlightPattern(pattern);
});
設定 Daemon 服務
Service 設定檔
[Unit]
Description=Wiki
After=network.target
[Service]
WorkingDirectory=/var/www/wiki
EnvironmentFile=/var/www/wiki/gitit.conf
ExecStart=/usr/bin/gitit -f gitit.conf
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=3s
[Install]
WantedBy=multi-user.target
記得啟用開機自動登入:
sudo systemctl enable my-service
記得修改 gitit 設定檔中的路徑:
repository-path: /var/www/wiki/wikidata
static-dir: /var/www/wiki/static
templates-dir: /var/www/wiki/templates
cache-dir: /var/www/wiki/static/cache
comments powered by Disqus