其實有些內(nèi)容不是很適合放在blog上發(fā),比如說一兩句話就能解決的問題,所以大D一直在尋找一個合適的系統(tǒng)來搭建。
用過Mediawiki,也用過各類筆記軟件,都不怎么盡如人意,相反還是最簡單的純靜態(tài)頁面符合要求。
經(jīng)過一段時間的尋找,找到了simiki,試用了一下,感覺還是很不錯,于是寫一篇文兒出來,記錄一下搭建和使用中遇到的一些問題和解決辦法。
P.S 這篇文涉及的內(nèi)容比較多,所以還是放在blog上了,wiki更多的是完成一些很簡單的筆記工作,比如某個Linux命令的用法等等。
大D的wiki歡迎訪問:wiki.dadclab.com
simiki是由Tanky Woo開發(fā)的,從作者的博客得知,該程序開發(fā)自2014年,才用Python開發(fā),可將本地使用Markdown編輯的文件轉換成html,同時還帶有一個http服務,可以進行預覽。部署十分方便,無論是使用Github還是用自己的服務器或者虛擬主機,都可以輕松辦到。
在此對程序開發(fā)者表示感謝~:)
不過只是對Windows的支持不太友好,不過大D有在Windows上安裝Babun,所以使用起來也是很方便的~
十分方便,只需要你的電腦上安裝了python和pip,直接就可以通過pip進行安裝了。
1 | pip install simiki |
安裝完成之后,使用
1 | simiki init |
來進行初始化
1.提示 pkg_resources.DistributionNotFound: pytz==2015.7
的錯誤
大D在安裝有CentOS 6的虛擬機內(nèi)安裝測試存在這一問題。
粗一看是pytz這個模塊的問題,在simiki的安裝中,各類需要的模塊都會直接安裝好,可以通過 pip list
來查看是否安裝好了,如果pytz模塊已經(jīng)安裝好,那么可能是distribution版本過低的問題,升一下級就可以解決。
1 | pip install -U distribution |
2. address space needed by '_speedups.dll' (0x6D0000) is already occupied
問題
在Windows上透過babun安裝并完成初始化后,使用 simiki g
生成頁面時偶爾會遇到這個問題
搜索了一番之后在Github上找到了解決方案:https://github.com/babun/babun/issues/315
1 2 3 4 | pip uninstall markupsafe git clone https://github.com/gtback/markupsafe.git cd markupsafe python setup.py --without-speedups install |
1.圖片縮放
simiki輸出的html不帶有圖片縮放的功能,但是這個功能還是比較有用的,想起blog上用的縮放插件比較好用,記得插件作者提供了js代碼,可以直接調用。
phZoom,Github:https://github.com/phoetry/phZoom
將jQuery.js
和phZoom.js
以及phZoom.css
文件放在simiki模板目錄的/static/js
目錄下,將phZoom的圖片文件放在simiki模板目錄的/static/js/css
目錄下。
例:/theme/simple2/static/js/jquery-3.1.1.min.js
打開base.html
,在<head>
標簽內(nèi)增加以下代碼:
1 2 3 | <script type="text/javascript" src="/static/js/jquery-3.1.1.min.js"></script> <link rel="Stylesheet" type="text/css" href="/static/js/phzoom.css"> <script type="text/javascript" src="/static/js/phzoom.js"></script> |
打開base.html
,在<div id=footer-left>
標簽內(nèi)添加以下代碼:
1 | <script type="text/javascript">jQuery(document).ready(function($) {$("#content a").filter(function(){return/\.(?:jpe?g|png|gif)/i.test(this.href)}).phzoom({returnOrigin:false});});</script> |
這樣就可以綁定在正文頁面中帶a標記
的圖片,用Markdown寫筆記時,使用<a><img></a>
來添加圖片就可以了。
具體效果,可以參考:
https://wiki.dadclab.com/Windows/fat32%E6%97%A0%E6%8D%9F%E8%BD%AC%E6%8D%A2ntfs.html
2.將頁面文件部署到到服務器
simiki支持通過Fabric進行部署,參見:http://simiki.org/zh-docs/deploy.html
首先安裝Fabric
1 | pip install fabric |
配置_config.yml
1 2 3 4 5 | deploy: - type: rsync user: <login username> host: <remote host ip or domain> dir: <path to store files/dirs under output> |
執(zhí)行部署
1 | fab deploy |
3.常用元數(shù)據(jù)字段
updated
一篇wiki的最后更改時間,格式:YYYY-mm-dd HH:MM
collection
頁面的集合,使用該字段,在首頁生成一個集合。
tag
頁面的標簽,使用逗號分隔的字符串或者列表,會在wiki頁面最后生成相關文章的地址。
4.基本命令
1 2 3 4 5 6 7 8 9 10 | #生成靜態(tài)頁面到output目錄,simiki部署根目錄下執(zhí)行 simiki g #本地預覽 simiki p #指定IP地址預覽 simiki p --host 192.168.100.1 --port 8888 #本地預覽監(jiān)控content目錄,有變動后自動更新相應靜態(tài)頁面 simiki p -w #生成一篇新wiki simiki n -t "標題" -c 分類 |
http://simiki.org/zh-docs/usage.html
http://wowubuntu.com/markdown/
http://microjo.github.io/2012/markdown_ext.html
https://github.com/tankywoo/simiki