参与贡献中文文档翻译,请参看Polymer 中文文档翻译必读指南
Polymer 的文档基本是伴随着一些 HTML 的 Markdown。Jekyll 是用来为站点生成静态 HTML 的。这些输出的内容会生成到 _site 文件夹,同时部署到 Google App Engine。
我们用 Jekyll 2.0+ 和 Grunt 来生成文档,用 compass 把 SASS 编译成 CSS。在撰写文档之前,你有必要把它们都安装好 (这些步骤假定 NPM 已经安装好了):
gem install jekyll kramdown jekyll-page-hooks compass rouge
npm install -g grunt-cli vulcanize
**注意:**如果你在操作过程中遇到了权限警告 (permission warnings),请在任务命令前加上 sudo 再执行。
你还需要 App Engine SDK 来运行 dev_appserver 和在本地预览文档。下载 SDK。
Checkout 该代码库 (repo):
git clone https://github.com/Polymer/docs.git --recursive
运行下面的脚本:
cd docs
./scripts/setup.sh
这些脚本会运行 npm install,pull down 所有的外部依赖,并启动 grunt 任务。**注意:**脚本执行的时间会比较长。
在安装过程中 polymer-all/projects 目录会展示于你。当网站发布的时候,你需要运行 ./scripts/release.sh 来刷新包括这个目录在内的很多目录。详见 Polymer 发布章节。
该代码库 (Polymer/docs) 就是文档的源代码。如果想对文档进行修改:
- 新 checkout 之后请确保 在你的文档目录下运行
npm install。 - 触发
grunt任务。该任务会启动一系列的进程:一个本地的 app engine server、jekyll、compass 和 vulcanize。其中 jekyll、compass 和 vulcanize 任务将会监控文件的改变,你编辑的内容都会更新到网站上。注意: Jekyll 会在_site文件夹生成静态站点。重新生成完整的文档并输出到这里是比较花时间的……保持更新吧。 - 开始编辑。
一旦你的改动看上去没问题了,就可以 git commit 并 push。
**注意:**只有项目的拥有者才可以发布文档。
推荐在推送文档之前运行 grunt docs,它会启动很多 grunt 任务。确认各方面都没有问题,并通过 dev server 预览你的本地改动。
当我们推送一个新版本 Polymer 时,网站应该随之更新。另外 element 索引等其它项目也需要更新。
在文档的根目录运行下面的命令,可以更新 polymer.js、polyfills、components、项目等:
./scripts/release.sh
一旦这些内容更新了,你就需要更新文档的一些版本信息:
- 增加
app.yaml的版本号; - 在
_config.yml更新 Polymer 的发布版本号。 - 在
changelog.md中新增一条更新日志的链接。
构建文档:
grunt docs
务必在此时用 grunt 运行 dev server 在本地预览内容以确保万无一失。
接下来,在 Polymer/docs 的根目录运行发布脚本:
./scripts/deploy_site.sh
该脚本会构建站点、api 文档、对导入的内容运行 Vulcanizer 并部署到 App Engine。
最后一件事是在 App Engine admin console 切换 app 的版本。点击 https://appengine.google.com/deployment?&app_id=s~polymer-project 并选择你刚发布的版本,就可以让文档处在最新的状态。