Simiki 是一个简单的 wiki 框架, 适合分类记录一些技术文档.
Simki 是取 Simple Wiki 的前三个字母和后三个字母拼起来的.
pip install simiki
pip install -U simiki
mkdir mywiki && cd mywiki simiki init
simiki new -t "Hello Simiki" -c first-category
simiki generate
simiki preview
配置文件是_config.yml
。
选项描述
url
网站网址
title
网站标题
keywords
网站关键词
description
网站描述
author
现场笔者
root
如果你的网站是一个子目录,如http://example.com/wiki/
,设置URL作为http://example.com/wiki/
和根为/wiki/
source
保存源文件,只支持降价的文件至今。默认为content
,你最好不要去改变它,除非必要的。
destination
存储输出的HTML文件。默认为output
,你最好不要去改变它,除非必要
themes_dir
存储所有的主题。默认为主题
,除非必要,你最好不要去改变它。
theme
选择主题,他的名字是相同的目录下,名称themes_dir
,如主题:简单
default_ext
创建一个新的页面时默认的扩展,默认是MD
pygments
启用代码lighlight功能,默认情况下启用。
debug
调试模式,默认为禁用。
index
设置true
用“index.md”源代码目录下,如索引页或设置任何维基文件,如“工具/ git.md”.DEFAULT是false
,Simiki将自动生成目录的索引页。
初始配置文件的内容如下:
url:网址 title: 标题 keywords:关键字 description:描述 author:作者
所有其他配置项使用默认值。
这只是一个例子,不要简单地复制并使用它!
一个配置文件的例子:
url: http://wiki.tankywoo.com title: Wiki · Tanky Woo keywords: wiki, makrdown, linux, python, cpp, ops, simiki description: "Focus on Python, C/C++, Linux, Ops-Dev, Gentoo, and so on." author: Tanky Woo root: / source: content destination: output themes_dir: themes theme: yasimple default_ext: "markdown" pygments: true debug: false index: true
初始Simiki网站看起来是这样的:
. ├── _config . yml ├── content ├── fabfile . py ├── output └── themes └── simple
文件/目录描述
_config.yml
配置文件。看配置。
content
存储源文件(content/linux/bash.md
作为第二层次结构。注意:Simiki只支持顶级和第二级为止。
output
通过Simiki生成的HTML文件。建议加上此目录中.gitignore
themes
把主题在此目录中,每个主题是一个子目录。配置主题_config.yml
。
Github上的页面是部署你的网站最简单的方法。
阅读Github上网页文件的更多细节。
创建用户页面
。
创建一个名为库<用户名> .github.io
。<用户名>
是您的Github上的用户名。
到你的本地站点,设置输出目录中的主分支:
cd output git init git add . git commit -m 'your comment' # These steps will be shown when you create a repo in Github: git remote add origin https://github.com/<username>/<username>.github.io.git git push -u origin master
.gitignore
文件:cd ../ touch .gitignore
.gitignore
的内容:*.pyc output
git init git checkout -b source git add . git commit -m 'your comment' # These steps will be shown when you create a repo in Github: git remote add origin https://github.com/<username>/<username>.github.io.git git push -u origin source
等待一段时间,访问HTTP:// <用户名> .github.io /
。
创建与任何名称的库<项目>
。
到你的本地站点,设置输出目录中的主分支:
cd output git init git checkout -b gh-pages # Write your domain in file named CNAME echo "<yourdomain.com>" > CNAME git add . git commit -m 'your comment' # These steps will be shown when you create a repo in Github: git remote add origin git@github.com:<username>/<projectname>.git git push -u origin gh-pages
的.gitignore
文件:cd ../ touch .gitignore
的.gitignore
的内容:*.pyc output
git init git add . git commit -m 'your comment' # These steps will be shown when you create a repo in Github: git remote add origin git@github.com:<username>/<projectname>.git git push -u origin master
稍等片刻,参观的http:// <yourdomain.com>
注意:
根
在设置_config.yml
。更多参考:
举个例子:
该项目的网页网址是HTTP:// <用户名> .github.io / <项目>
,所以你应该设置root
在你的项目名_config.yml
:
root: / < 项目名称>
别人是一样的Project Pages with Custom Doamin
以上。
举个例子:
注意:
如果根
被设置好的在_config.yml
,你应该使用--ignore-root
时,要在本地环境预览。并没有再生--ignore-root
,当你准备部署到远程服务器。
simiki generate --ignore-root
使用SCP
或rsync
所有文件转移output
目录到相应的Web根目录的Web服务器。
Simiki还支持Fabric传输文件。配置fabfile.py
并使用晶圆厂部署
进行部署。
上传的所有文件output
通过FTP工具到你的服务器目录。
每个页面使用YAML格式的元数据,如:
--- 布局: 网页 标题: “元数据” 日期: 2014年- 05 - 14 00 :15 ---
支持元数据:
元描述
layout
指定布 局文件,支持网页
和指数
至今。
title
该页面的标题。
date
页面创建的日期时间。
使用Pygments生成语法的CSS:
得到的颜色主题名称:
pygmentize -L styles
生成CSS:
pygmentize -f html -S [colortheme name] -a .hlcode > syntax.css
最简单的方法是使用缩进代码块
。
1 2 3 4 5 | #!/usr/bin/env python # -*- coding: utf-8 -*- if __name__ == "__main__": print("Hello World!") |
或用围栏代码块
。
PHP额外的语法:
```
1 2 3 4 5 | #!/usr/bin/env python # -*- coding: utf-8 -*- if __name__ == "__main__": print("Hello World!") |
定义的语言:
#!/usr/bin/env python # -*- coding: utf-8 -*- if __name__ == "__main__": print("Hello World!")
if name == "main":
print("Hello World!")
或:
#!/usr/bin/env python # -*- coding: utf-8 -*- if __name__ == "__main__": print("Hello World!")
if name == "main":
print("Hello World!")
Github上围栏代码块:
#!/usr/bin/env python # -*- coding: utf-8 -*- if __name__ == "__main__": print("Hello World!")
if name == "main":
print("Hello World!")
突出一些线路:
#!/usr/bin/env python # -*- coding: utf-8 -*- if __name__ == "__main__": print("Hello World!")
或:
import sys if __name__ == __main__: sys.exit()
import sys
if name == main:
sys.exit()
更详细的使用可以看出,在[Python的降价](https://pythonhosted.org/Markdown/)文件: * [围栏代码块](https://pythonhosted.org/Markdown/extensions/fenced_code_blocks.html) * [CodeHilite](https://pythonhosted.org/Markdown/extensions/code_hilite.html) # 变量 ## 站点变量 `site`:从配置`_config.yml`。详细描述中[Configuration](http://simiki.org/docs/configuration.html) * `site.url` * `site.title` * `site.keyword` * `site.description` * `site.author` * `site.root` * `site.source` * `site.destination` * `site.themes_dir` * `site.theme` * `site.default_ext` * `site.pygments` * `site.debug` * `site.index` ## 页面变量 `page`:从单一的wiki页面的页眉YAML配置。详细描述中[Metadata](http://simiki.org/docs/metadata.html) * `page.title` * `page.category` * `page.date` * `page.content` * `page.filename` # 主题 Simiki主题使用[Jinja2的](http://jinja.pocoo.org/),一个全功能的模板引擎为Python。 一个简单的主题应具备`index.html`和`page.html`,`index.html`用于索引页的目录,`page.html`用于每个wiki页面。 # 常问问题 ## 常问问题 ### 使用Simiki在Windows Simiki不是Windows很好的支持。如果可能的话,使用它在Unix / Linux的/ Mac的。 在Windows下,你应该安装[`pycrypto`](http://www.voidspace.org.uk/python/modules.shtml#pycrypto)(用于[`fabfile`](http://www.fabfile.org/),也许在以后的版本中删除):
easy_install http://www.voidspace.org.uk/downloads/pycrypto26/pycrypto-2.6.win32-py2.7.exe
and ecsda:
pip install ecsda
```