我们以 MD 格式编写文档并使用 Jekyll 转换为 HTML。Jekyll 生成的 HTML 上传到 apache SVN 并成为 Kylin 网站。所有 MD 源文件都在 git 中管理,因此可以清楚地跟踪所有更改和贡献者。
在您添加或修改文档前,请部署文档编译所需的环境,我们提供以下两种方法:
在您添加或修改文档前请安装以下工具:
首先,确保 Ruby 和 Gem 能在您的机器上工作
然后,安装 Jekyll,以及需要的插件
gem install jekyll jekyll-multiple-languages kramdown rougejekyll 2.5.3 和 jekyll-multiple-languages 1.0.8 是已知可运行的版本。gem install jekyll --version "=2.5.3" 来安装具体的版本。您可以选择任何 markdown 编辑器
下面是一个可以工作的 gem 列表。如果 jekyll 安装成为问题,请坚持使用这些版本。
$ gem list ... jekyll (2.5.3) jekyll-coffeescript (1.0.1) jekyll-gist (1.4.0) jekyll-multiple-languages (1.0.8) jekyll-paginate (1.1.0) jekyll-sass-converter (1.4.0) jekyll-watch (1.3.1) json (1.8.1) kramdown (1.9.0) ... rouge (1.10.1) ...
最新版的 kylin 发布提供了 dockerfile,来减少构建复杂性使用 docker 和 Makefile 能调用 docker 命令。
$ pwd
/Users/<username>/kylin/website
$ make docker.build
docker build -f Dockerfile -t kylin-document:latest .
Sending build context to Docker daemon 82.44MB
Step 1/3 : FROM jekyll/jekyll:2.5.3
---> e81842c29599
Step 2/3 : RUN gem install jekyll-multiple-languages -v 1.0.11
---> Using cache
---> e9e8b0f1d388
Step 3/3 : RUN gem install rouge -v 3.0.0
---> Using cache
---> 1bd42c6b93c0
Successfully built 1bd42c6b93c0
Successfully tagged kylin-document:latest
$ make runserver
docker run --volume="/Users/<username>/kylin/website:/srv/jekyll" -p 4000:4000 --rm -it kylin-document:latest jekyll server --watch
Configuration file: /srv/jekyll/_config.yml
Source: /srv/jekyll
Destination: /srv/jekyll/_site
Generating...
...
Jekyll 是一个用于从源文本和主题生成静态 HTML 网站的 Ruby 脚本,HTML 在部署到 Web 服务器之前生成。Jekyll 恰好也是 GitHub 页面背后的引擎。
Apache Kylin 的网站和文档使用 Jekyll 来管理和生成,可在 http://kylin.apache.org 上看到最终内容。
要草拟中文版文档或翻译现有文档,只需添加或复制该文档,名称以 .cn.md 作为后缀。它将在 /cn 文件夹下生成与 html 同名的文件。 要添加其他语言,请更新 _config.yml 并遵循与中文版相同的模式。
作为 Jekyll 源的 Kylin 网站是在 doucment 分支下维护的。
菜单由 Jekyll 集合管理:
--- layout: docs title: How to expamle categories: howto permalink: /docs/howto/howto_example.html version: v0.7.2 since: v0.7.2 ---
将链接更改为完全链接 然后将条目添加到 docs.yml,如:
- title: How To docs: - howto/howto_contribute - howto/howto_jdbc - howto/howto_example
使用任何 markdown 编辑器打开文档,草拟内容并在本地预览。
样例文档:
--- layout: docs title: How to example categories: howto permalink: /docs/howto/howto_example.html version: v0.7.2 since: v0.7.2 --- ## This is example doc The quick brown fox jump over the lazy dog.
所有的图片请放到 images 文件夹下,在你的文件中,请使用以下样式引入图片:

使用站点链接的相对路径,例如
[REST API](docs/development40/rest_api.html).
我们使用 Rouge 突出显示代码语法。 查看此 doc 的源代码以获取更多详细信息示例。
您可以在 markdown 编辑器中预览,要检查网站上的确切内容,请从 website 文件夹中运行 Jekyll:
jekyll server
然后在浏览器中访问 http://127.0.0.1:4000。
cd websitesvn co https://svn.apache.org/repos/asf/kylin/site _site_site 文件夹是工作目录,将由 maven 或 git 随时删除,请确保只有当你想要发布到网站时从 svn 检出。
在创建一个 PR 或推送到 git 仓库之前,您可以通过以下方式在本地预览更改:
cd websitejekyll s_site 到 svn 的 website/_sitecd website/_sitesvn statussvn add 添加任意新的文件svn commit -m 'UPDATE MESSAGE'在几分钟内,svnpubsub 应该开始且您将能够在 http://kylin.apache.org 看到结果。