| # A JBake project template |
| |
| ## About JBake |
| |
| JBake is a static site generator, it's inspired from jekyll and written |
| in java. The basic idea is to have templates for the structure of the |
| page, and the body generated from asciidoc content. |
| |
| ## Pre requisites |
| |
| - Maven |
| - JDK8+ |
| |
| Deploying to Github will require password less authentication. |
| |
| This is done by exporting your SSH public key into your Github account. |
| |
| ## Build the site locally |
| |
| The site is generated under target/staging. |
| |
| Open file:///PATH_TO_PROJECT_DIR/target/staging in a browser to view the site. |
| |
| ``` |
| mvn generate-resources |
| ``` |
| |
| Or you can invoke the JBake plugin directly. |
| |
| ``` |
| mvn jbake:build |
| ``` |
| |
| ### Rebuild the site on changes |
| |
| ``` |
| mvn jbake:watch |
| ``` |
| |
| If you keep this command running, changes to the sources will be |
| detected and the site will be rendered incrementally. |
| |
| This is convenient when writing content. |
| |
| ### Serve the site locally |
| |
| ``` |
| mvn jbake:serve |
| ``` |
| |
| If a webserver is required (e.g. absolute path are used), this command |
| will start a webserver (jetty) at http://localhost:8820. It will also |
| watch for changes and rebuild incrementally. |
| |
| ## Deploy the site to Github Pages |
| |
| ``` |
| mvn deploy |
| ``` |
| |
| ## Produce a zip file for download |
| |
| To produce a zip file containing the generated html files, use: |
| |
| ``` |
| mvn package |
| ``` |
| |
| When making a release on GitHub, this zip file should be added to the release. |
| |
| ## Links |
| |
| - [JBake maven plugin documentation](https://github.com/Blazebit/jbake-maven-plugin) |
| - [JBake documentation](http://jbake.org/docs/2.5.1) |
| - [Freemarker documentation](http://freemarker.org/docs) |
| - [AsciiDoc User Guide](http://asciidoc.org/userguide.html) |
| - [Asciidoctor quick reference](http://asciidoctor.org/docs/asciidoc-syntax-quick-reference) |