Full documentation is available on jbake.org.
We welcome all contributions to the project both big and small. From new features, bug reports to even spelling mistake corrections in the documentation. Please don’t hesitate to submit an issue.
The Contributing guide provides information on how to submit an issue or create a pull request to fix a bug or add a new feature to JBake.
The project has adopted the Semantic Versioning spec from v2.2.0 onwards to maintain an understandable backwards compatibility strategy.
The version format is as follows:
<major>.<minor>.<patch>-<label>
-
An increment of the major version represents incompatible API changes.
-
An increment of the minor version represents additional functionality in a backwards-compatible manner.
-
An increment of the patch version represents backwards-compatible bug fixes.
-
Existence of a label represents a pre-release or build metadata.
Talk to the developers behind JBake:
-
IRC - #jbake on Freenode
Talk to other users of JBake on the forum:
The image uses the official adoptopenjdk/openjdk11:alpine image for building a distribution of JBake and adoptopenjdk/openjdk11:alpine-jre for runtime.
To execute JBake via Docker run this from project directory:
$ docker run --rm -u jbake -v "$PWD":/mnt/site jbake/jbake:latest
This command will execute using the jbake user to avoid running as root and will mount the current working directory as /mnt/site
in the Docker container where JBake is expecting your project files to be. By default the Docker image will execute a bake -b
only.
If you want to bake and serve your project using the Docker image then you’ll need to override the default command:
$ docker run --rm -u jbake -v "$PWD":/mnt/site -p 8820:8820 jbake/jbake:latest -b -s
This command will also expose port 8820 from the container, you’ll also need to set the following option in your jbake.properties
file:
server.hostname=0.0.0.0
Note
|
Docker image timezone is UTC. This may affect the date and time expected in output content. To set different timezone, add TZ environment variable and set value to required timezone. Example - docker run --rm -u jbake -e TZ=America/New_York -v "$PWD":/mnt/site jbake/jbake:latest
|
The project uses Gradle 4.9+ as the build system. To build the JBake distribution ZIP file execute the following command from the root of the repo:
$ ./gradlew distZip
This will build a ZIP file in the /build/distributions
folder.
For more information see Test, Build and Deploy
The project uses a basic set of checkstyle rules to keep the Code in shape.
We configured the gradle checkstyle Plugin to run with the check
task.
It does not break the build if convention violations are found. But prints a warning and generates a report.
For more information see Test, Build and Deploy
-
Install checkstyle-idea plugin
Settings → Plugins → CheckStyle-IDEA
-
Configure
Settings → Other Settings → Checksytle
Add a new Configuration File. Enter a Description like "jbake Checkstyle" and choose "Use a local Checkstyle file". The checkstyle File is located at the project root path
config/checkstyle/checkstyle.xml
-
Add to Editor Code Style Scheme
Settings → Editor → Code Style
Click the gear Symbol besides the "Scheme:" drop-down.
Import Scheme → Checkstyle Configuration
Pick the project checkstyle file
config/checkstyle/checkstyle.xml
Licensed under the MIT License, see the LICENSE file for details.