Skip to content

Commit

Permalink
Merge jbake-maven-plugin repository into jbake repository
Browse files Browse the repository at this point in the history
  • Loading branch information
ge0ffrey committed Dec 28, 2021
2 parents fd74675 + 9cb1dca commit f315131
Show file tree
Hide file tree
Showing 12 changed files with 971 additions and 0 deletions.
7 changes: 7 additions & 0 deletions jbake-maven-plugin/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
.settings
.idea
target
.classpath
.project
*.log
*.iml
9 changes: 9 additions & 0 deletions jbake-maven-plugin/.hgignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
.settings
.idea
target
.classpath
.project
syntax:glob
*.log
syntax:glob
*.iml
6 changes: 6 additions & 0 deletions jbake-maven-plugin/.hgtags
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
29a2a0ff369456f68e2f0f772a04428829335763 jbake-maven-plugin-0.0.1
a4cc0a5a7e191369db77919f9bb1424693f0ec8e jbake-maven-plugin-0.0.2
dac515355fb76185faba67020f44735a00e9fdd6 jbake-maven-plugin-0.0.3
3cefc1a3c056ef859960b0cdcc0ceca49bfbc9da jbake-maven-plugin-0.0.4
cf9b1156b7ca9818a11814b19274fec23109c880 jbake-maven-plugin-0.0.5
d2a88144f8c8b75504a6fafdce28eccc74e488cf jbake-maven-plugin-0.0.6
5 changes: 5 additions & 0 deletions jbake-maven-plugin/.travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
language: java

jdk:
- oraclejdk11
- openjdk11
173 changes: 173 additions & 0 deletions jbake-maven-plugin/README.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,173 @@
= JBake Maven Plugin
Jonathan Bullock
2021-04-20
:idprefix:

image:https://maven-badges.herokuapp.com/maven-central/org.jbake/jbake-maven-plugin/badge.svg[link="https://maven-badges.herokuapp.com/maven-central/org.jbake/jbake-maven-plugin"]

JBake Maven Plugin is a Maven plugin allowing you to integrate http://jbake.org[JBake] into your projects build. This is the official version published at
the following Maven coordinates:

----
<dependency>
<groupId>org.jbake</groupId>
<artifactId>jbake-maven-plugin</artifactId>
<version>0.3.4</version>
</dependency>
----

Special thanks must go to the original author of this plugin - https://github.com/aldrinleal[Aldrin Leal].

== Usage

To use JBake Maven Plugin in your build add the plugin into your pom.xml as shown below:

----
<build>
...
<plugins>
...
<plugin>
<groupId>org.jbake</groupId>
<artifactId>jbake-maven-plugin</artifactId>
<version>0.3.4</version>
<configuration>
<!--
<inputDirectory>${project.basedir}/src/main/resources</inputDirectory>
<outputDirectory>${project.build.directory}/classes</outputDirectory>
-->
</configuration>
<executions>
<execution>
<id>default-generate</id>
<phase>generate-resources</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<dependencies>
<!-- include required dependencies here, see below -->
</dependencies>
</plugin>
...
</plugins>
...
</build>
----

=== Dependencies

The plugin itself includes all required dependencies such as jbake-core, however you will need to explicitly declare dependencies for
the content formats and template engines used in your project. As these dependencies are marked as optional to reduce bloat.

If you have AsciiDoc content you'll need this dependency:

----
<dependency>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctorj</artifactId>
<version>2.4.3</version>
</dependency>
----

If you have Markdown content you'll need these dependencies:

----
<dependency>
<groupId>com.vladsch.flexmark</groupId>
<artifactId>flexmark</artifactId>
<version>0.62.2</version>
</dependency>
<dependency>
<groupId>com.vladsch.flexmark</groupId>
<artifactId>flexmark-profile-pegdown</artifactId>
<version>0.62.2</version>
</dependency>
----

If you have Freemarker templates then you'll need this dependency:

----
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.31</version>
</dependency>
----

If you have Groovy templates then you'll need these dependencies:

----
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy</artifactId>
<version>3.0.7</version>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-templates</artifactId>
<version>3.0.7</version>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-dateutil</artifactId>
<version>3.0.7</version>
</dependency>
----

If you have Thymeleaf templates then you'll need this dependency:

----
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf</artifactId>
<version>3.0.12.RELEASE</version>
</dependency>
----

If you have Jade4J templates then you'll need this dependency:

----
<dependency>
<groupId>de.neuland-bfi</groupId>
<artifactId>jade4j</artifactId>
<version>1.3.2</version>
</dependency>
----

An example of the plugin being used can be found in this project: https://github.com/jonbullock/maven-jbake-site[https://github.com/jonbullock/maven-jbake-site]

== Goals

There are 4 goals provided by this plugin:

* `jbake:seed` - seeds your project/site with example content and templates
* `jbake:generate` - bakes your project/site
* `jbake:watch` - watches to changes and bakes your site whenever a change is detected
* `jbake:inline` - bakes, watches and serves out content on http://localhost:8820[http://localhost:8820]

You can also more details on each goal by running the help goal:

----
$ mvn jbake:help -Ddetail # -DgoalName=[seed|generate|watch|inline]
----

== Versioning

The project adopts the http://semver.org[Semantic Versioning] spec 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.

== Copyright & License

This plugin is licensed under the Apache 2.0 License.
Loading

0 comments on commit f315131

Please sign in to comment.