As bookkeeper is a subproject of zookeeper, we use Apache Bookkeeper uses the Apache cms CMS system also used by zookeeper to generate our website and documentation.
To get CMS and the zookeeper bookkeeper source, run the following:
Code Block |
---|
$ svn co https://svn.apache.org/repos/asf/zookeeperbookkeeper/site/trunk zookeeperbookkeeper-site $ svn co https://svn.apache.org/repos/infra/websites/cms cms |
...
Code Block |
---|
$ cms/build/build_site.pl --source-base zookeeperbookkeeper-site/ --target-base output |
There are three locations for bookkeeper documentation within the zookeeper-site tree.
...
You can view the generates site by running the python SimpleHTTPServer and navigating to http://localhost:8000/.
Code Block |
---|
/tmp/output$ python -m SimpleHTTPServer Serving HTTP on 0.0.0.0 port 8000 ... ... ... |
Making modifications
Modifications to the site doesn't require a JIRA, though modifications to the source tree (i.e. docs/trunk) doesif it is a large modification you should create one. When you make a modification to the bookkeeper site and submit it through subversion, they will not be automatically built. First you need trigger a build. To do this, commit a change to https://svn.apache.org/repos/asf/zookeeper/site/trunk/build_trigger. This triggers a svn trigger which triggers the cms system.
The cms system will put the modifications in staging; http://zookeeperbookkeeper.staging.apache.org.See http://www.apache.org/dev/cms.html for details on how
You'll need the CMS bookmarklet to publish the staged site. See the CMS documentation for details.
Generating documentation for release
When making a release, you need to generate the version's documentation and then copy it into zookeeperbookkeeper-site/content/bookkeeper/docs. To do this:
Check out the git release tag for the release.
Code Block bookkeeper$ git checkout release-4.3.0
Copy the documentation directory from the release tag to zookeeperbookkeeper-site/content/bookkeeper/docs.
Code Block $bookkeeper$ cp -r bookkeeper-svn/tags/release-4.1.0/doc/ zookeeperdoc/ ../bookkeeper-site/content/bookkeeper/docs/r4.13.0
Add to subversion.
Generate the javadoc for the release
. In bookkeeper-svn/tags/release-4.1.0/ run mvn javadoc:aggregate. This will create bookkeeper-svn/tags/release-4.1.0/and copy it to the site.
. Copy this to zookeeperCode Block bookkeeper$ mvn javadoc:aggregate ... ... bookkeeper$ cp -r target/site/apidocs
/bookkeeper../bookkeeper-site/content
1/docs/r4.
and add it3.0
- Add the new release docs directory to subversion.
- Modify zookeeperbookkeeper-site/content/bookkeeper/docs/r4.13.0/index.textile to point to the javadoc and release notes. See zookeeperbookkeeper-site/content/bookkeeper/docs/r4.0.0/index.textile for an example of how to do this.
Modify
zookeeperbookkeeper-site/templates/
bookkeeper/sidenavskeleton.
textilehtml and and a link for the release documentation.
Code Block language diff <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Documentation<span class="caret"></span></a> <ul class="dropdown-menu" role="menu"> <li><a href="/docs/trunk">Trunk</a></li> + <li><a href="/docs/r4.3.0">Release 4.3.0</a></li> <li><a href="/docs/r4.2.3">Release 4.2.3</a></li>
- Add the release to zookeeperbookkeeper-site/content/bookkeeper/releases.textile.
- Go through the staging/publish sequence from above. Obviously the version numbers will change for each release.