blob: 0e6ab5afd626478ec77f0a7c868ab3416cb931bd [file] [view]
## Generating the static Apache ZooKeeper website
In the `src/main/resources/markdown` directory you will find text files formatted using Markdown, with an `.md` suffix.
Building the site requires [Maven](https://maven.apache.org/) 3.5.0 or newer.
The easiest way to [install Maven](https://maven.apache.org/install.html) depends on your OS.
The build process will create a directory called `target/html` containing `index.html` as well as the rest of the
compiled directories and files. `target` should not be committed to git as it is generated content.
You can generate the static ZooKeeper website by running:
1. `mvn clean install` in this directory.
2. `cp -RP _released_docs target/html/doc` - this will include the documentation (see "sub-dir" section below) in the generated site.
At this point the contents of `target` are "staged" and can be reviewed prior to updating the ZooKeeper
production website.
## Docs sub-dir
The product documentation creation is not part of the website generation process. They are built separately for each release
of ZooKeeper from the ZooKeeper source repository.
Typically during a release the versioned documentation will be recreated and should be copied, and committed,
under the `_released_docs` directory here.
## Steps to update the website
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...
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`