The ZooKeeper website is built using Jekyll formatted in Markdown sources. The production website is updated using gitpubsub via the zookeeper.git/asf-site branch. Basic workflow is: modify the site source on the "website" branch and commit it once you are happy with the results, then update the "asf-site" branch with the generated content. Once asf-site is pushed the updates will be reflected on the ZooKeeper production website.
The content source to generate the ZooKeeper website can be found here: https://git-wip-usgitbox.apache.org/repos/asf?p=zookeeper.git;a=shortlog;h=refs/heads/website
The live website is whatever is committed to asf-site, here: https://git-wip-usgitbox.apache.org/repos/asf?p=zookeeper.git;a=shortlog;h=refs/heads/asf-site . Any changed committed to this branch are immediately replicated to the live production website at http://zookeeper.apache.org/
...
The ZooKeeper website build uses a number of tools.
You need to have Ruby and Python installed. Also install the following libraries:
$ sudo gem install jekyll jekyll-redirect-from pygments.rb
$ sudo pip install Pygments
Apache Maven and a maven plugin generating HTML from MarkDown sources.
Besides maven you don't have to install anything else.(Note: If you are on a system with both Ruby 1.9 and Ruby 2.0 you may need to replace gem with gem2.0)
Steps to update the site:
1. git clone -b website https://
...
gitbox.apache.org/repos/asf/zookeeper.git
2. update the appropriate pages, typically a markdown file e.g. credits.md, etc...
...
jekyll build
3. mvn clean install
4.
cp -RP _released_docs
...
target/html/doc
...
These are the static release docs,
...
not generated
...
in this process.
At this point verify that the generated files render properly
...
(open target/html/index.html in
...
a browser). If you are happy with the results move on to the next step
...
, otherwise
...
go to step 2 above.
5.
git status
should show modified files for the markdown that you changed
6. git add <the changed files>
7. git commit -
...
m "<appropriate commit message>"
8. git push origin website
...
The source for the site is committed, now we need to push the generated files to the live site.
9.
...
git checkout asf-site
10. rm -fr content
...
11. mv target/html content
12. git add content
...
Verify that content/index.html and other generated files are proper, e.g. open them in a browser
...
13. git status
...
should show modified files for the markdown that you changed
14. git commit -m "<appropriate commit message>"
15. git push origin asf-site