From bc4d6cc58c5f0ff67e7097a91e1760618c374741 Mon Sep 17 00:00:00 2001 From: Jonathan Bullock Date: Sun, 20 Oct 2013 16:27:10 +0100 Subject: [PATCH 01/11] Changed default server port to 8820. Update to version num for issue #42. Improved speed of Parser test. --- pom.xml | 2 +- src/main/resources/default.properties | 2 +- src/test/java/org/jbake/app/ParserTest.java | 8 ++------ 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/pom.xml b/pom.xml index fd0e17e70..032322020 100644 --- a/pom.xml +++ b/pom.xml @@ -11,7 +11,7 @@ org.jbake jbake-core - 2.2-SNAPSHOT + 2.2.0-SNAPSHOT jar jbake diff --git a/src/main/resources/default.properties b/src/main/resources/default.properties index eacc634bb..b15fa378b 100644 --- a/src/main/resources/default.properties +++ b/src/main/resources/default.properties @@ -39,7 +39,7 @@ output.extension=.html # draft content suffix draft.suffix=-draft # default server port -server.port=8080 +server.port=8820 # default template file base.template=base.zip # default asciidoctor options diff --git a/src/test/java/org/jbake/app/ParserTest.java b/src/test/java/org/jbake/app/ParserTest.java index a6ffdc254..5f77dcb36 100644 --- a/src/test/java/org/jbake/app/ParserTest.java +++ b/src/test/java/org/jbake/app/ParserTest.java @@ -18,6 +18,7 @@ public class ParserTest { public TemporaryFolder folder = new TemporaryFolder(); public CompositeConfiguration config; + public Parser parser; private File validHTMLFile; private File invalidHTMLFile; @@ -36,6 +37,7 @@ public class ParserTest { public void createSampleFile() throws Exception { ConfigUtil.reset(); config = ConfigUtil.load(new File(this.getClass().getResource(".").getFile())); + parser = new Parser(config); validHTMLFile = folder.newFile("valid.html"); PrintWriter out = new PrintWriter(validHTMLFile); @@ -122,7 +124,6 @@ public void createSampleFile() throws Exception { @Test public void parseValidHTMLFile() { - Parser parser = new Parser(config); Map map = parser.processFile(validHTMLFile); Assert.assertNotNull(map); Assert.assertEquals("draft", map.get("status")); @@ -131,14 +132,12 @@ public void parseValidHTMLFile() { @Test public void parseInvalidHTMLFile() { - Parser parser = new Parser(config); Map map = parser.processFile(invalidHTMLFile); Assert.assertNull(map); } @Test public void parseValidMarkdownFile() throws Exception { - Parser parser = new Parser(config); Map map = parser.processFile(validMarkdownFile); Assert.assertNotNull(map); Assert.assertEquals("draft", map.get("status")); @@ -155,7 +154,6 @@ public void parseInvalidMarkdownFile() { @Test public void parseValidAsciiDocFile() { - Parser parser = new Parser(config); Map map = parser.processFile(validAsciiDocFile); Assert.assertNotNull(map); Assert.assertEquals("draft", map.get("status")); @@ -172,7 +170,6 @@ public void parseInvalidAsciiDocFile() { @Test public void parseValidAsciiDocFileWithoutHeader() { - Parser parser = new Parser(config); Map map = parser.processFile(validAsciiDocFileWithoutHeader); Assert.assertNotNull(map); Assert.assertEquals("published", map.get("status")); @@ -189,7 +186,6 @@ public void parseInvalidAsciiDocFileWithoutHeader() { @Test public void parseValidAsciiDocFileWithExampleHeaderInContent() { - Parser parser = new Parser(config); Map map = parser.processFile(validAsciiDocFileWithHeaderInContent); Assert.assertNotNull(map); Assert.assertEquals("published", map.get("status")); From 9787466c042d38fd9ed74d4cd7eedc4a891d7710 Mon Sep 17 00:00:00 2001 From: Jonathan Bullock Date: Sun, 20 Oct 2013 23:45:49 +0100 Subject: [PATCH 02/11] Added Coveralls support --- .travis.yml | 6 +++++- pom.xml | 21 +++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index d75dced0e..455a7aaf2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,9 @@ language: java + jdk: - openjdk6 - openjdk7 - - oraclejdk7 \ No newline at end of file + - oraclejdk7 + +after_success: + - mvn jacoco:report coveralls:jacoco \ No newline at end of file diff --git a/pom.xml b/pom.xml index 032322020..822212da7 100644 --- a/pom.xml +++ b/pom.xml @@ -155,6 +155,27 @@ + + org.jacoco + jacoco-maven-plugin + 0.6.3.201306030806 + + + prepare-agent + + prepare-agent + + + + + + org.eluder.coveralls + coveralls-maven-plugin + 2.0.1 + + From 6bd136d4c55efe988e8963ca6a0f1dffa0395712 Mon Sep 17 00:00:00 2001 From: Jonathan Bullock Date: Tue, 22 Oct 2013 21:59:37 +0100 Subject: [PATCH 03/11] Fixes for issues #47 & #46 --- src/main/java/org/jbake/app/FileUtil.java | 3 ++- src/main/java/org/jbake/app/Parser.java | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/jbake/app/FileUtil.java b/src/main/java/org/jbake/app/FileUtil.java index 12df5c9bb..a05e62ed5 100644 --- a/src/main/java/org/jbake/app/FileUtil.java +++ b/src/main/java/org/jbake/app/FileUtil.java @@ -26,7 +26,8 @@ public boolean accept(File pathname) { || pathname.getPath().endsWith(".html") || pathname.getPath().endsWith(".md") || pathname.getPath().endsWith(".asciidoc") - || pathname.getPath().endsWith(".ad"); + || pathname.getPath().endsWith(".ad") + || pathname.getPath().endsWith(".adoc"); } }; } diff --git a/src/main/java/org/jbake/app/Parser.java b/src/main/java/org/jbake/app/Parser.java index dfd10f34b..4679df8d4 100644 --- a/src/main/java/org/jbake/app/Parser.java +++ b/src/main/java/org/jbake/app/Parser.java @@ -84,7 +84,7 @@ public Map processFile(File file) { System.err.println("Error parsing meta data from header!"); return null; } - } else if (file.getPath().endsWith(".asciidoc") || file.getPath().endsWith(".ad")) { + } else if (file.getPath().endsWith(".asciidoc") || file.getPath().endsWith(".ad") || file.getPath().endsWith(".adoc")) { if (hasHeader) { // process jbake header processHeader(fileContents); @@ -229,7 +229,7 @@ private void processAsciiDocHeader(File file) { if (attributes.get(key) != null) { content.put("type", attributes.get(key)); } - } else if (key.equals("docdate")) { + } else if (key.equals("revdate")) { if (attributes.get(key) != null && attributes.get(key) instanceof String) { DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); @@ -278,7 +278,7 @@ private void processBody(List contents, File file) { if (file.getPath().endsWith(".md")) { MarkdownProcessor markdown = new MarkdownProcessor(); content.put("body", markdown.markdown(body.toString())); - } else if (file.getPath().endsWith(".ad") || file.getPath().endsWith(".asciidoc")) { + } else if (file.getPath().endsWith(".ad") || file.getPath().endsWith(".asciidoc") || file.getPath().endsWith(".adoc")) { processAsciiDoc(body); } else { content.put("body", body.toString()); From d3b224e1f35f1e096e1b2326909782a0a55bcd30 Mon Sep 17 00:00:00 2001 From: Jonathan Bullock Date: Wed, 23 Oct 2013 19:32:34 +0100 Subject: [PATCH 04/11] Fix for #49 --- src/main/java/org/jbake/app/Crawler.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/jbake/app/Crawler.java b/src/main/java/org/jbake/app/Crawler.java index 9ebe1679c..b13cb7416 100644 --- a/src/main/java/org/jbake/app/Crawler.java +++ b/src/main/java/org/jbake/app/Crawler.java @@ -24,6 +24,7 @@ public class Crawler { private File source; private CompositeConfiguration config; + private Parser parser; private List> pages = new ArrayList>(); private List> posts = new ArrayList>(); @@ -37,6 +38,7 @@ public class Crawler { public Crawler(File source, CompositeConfiguration config) { this.source = source; this.config = config; + this.parser = new Parser(config); } /** @@ -45,7 +47,6 @@ public Crawler(File source, CompositeConfiguration config) { * @param path Folder to start from */ public void crawl(File path) { - Parser parser = new Parser(config); File[] contents = path.listFiles(FileUtil.getFileFilter()); if (contents != null) { Arrays.sort(contents); From 5c1c19c492f243524a5750d339d6869e4566a5bf Mon Sep 17 00:00:00 2001 From: Jonathan Bullock Date: Wed, 23 Oct 2013 19:36:19 +0100 Subject: [PATCH 05/11] Removed port from usage text. --- src/main/java/org/jbake/launcher/LaunchOptions.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/jbake/launcher/LaunchOptions.java b/src/main/java/org/jbake/launcher/LaunchOptions.java index 9c2824ba0..e22b635cb 100644 --- a/src/main/java/org/jbake/launcher/LaunchOptions.java +++ b/src/main/java/org/jbake/launcher/LaunchOptions.java @@ -15,7 +15,7 @@ public class LaunchOptions { @Option(name = "-i", aliases = {"--init"}, usage="initialises required folder structure with default templates") private boolean init; - @Option(name = "-s", aliases = {"--server"}, usage="runs HTTP server to serve out destination folder (defaults to port 8080)") + @Option(name = "-s", aliases = {"--server"}, usage="runs HTTP server to serve out destination folder") private boolean runServer; @Option(name = "-h", aliases = {"--help"}, usage="prints this message") From 522866ceb7d8d452502d679acf9705236c22e820 Mon Sep 17 00:00:00 2001 From: Jonathan Bullock Date: Wed, 23 Oct 2013 19:50:48 +0100 Subject: [PATCH 06/11] Updated with latest copy of base template. --- src/main/templates/base.zip | Bin 114946 -> 116794 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/main/templates/base.zip b/src/main/templates/base.zip index 9c81ef0bb2066c8ef0b83fa5e7fd5f6b561a704c..754ace88cd3fce3258633b2d1bba93dca5eb385e 100644 GIT binary patch delta 10824 zcmZu%1y~%-vfahq-6d%7;O_2DaCdhIEEe1sSc1C*cXx*%L4yT?1b2c%9?AdgzWesu znXc}ws_vROT|3{@2?>F3PlQk8fhOy+PU4qFo3xjaI2opI*Z~3n1h7f*ABMBd@!JcPW>u}7~z!NTt4Tw$)P1g@L25X>M#)) zR^Jnd2E-lI4sMpf8hHumL|+{mDkUek7CCdyFBw*Zm%0T~A8U-w)E@xy%GAo762noG z0eUeQN%GA_(Z&rYSRh*t-e)grJOrL8wIT|^FSQra7pA|kz<@Yuj(oYO>U!9uQr^F% z8~fPc=y1GZd8Ec7FcZG8B<0e`HXBn7OtbidSJR5ZK-FcxbnoV z68j`eNqMWq;hc*$9vFVcc8{iVL;AwHF}82X!T;5h<3VQ*>@W;A&m4eWa-Q`lkz=u) zyUzBYSvloVsCnU-@NUs#_qOZ8RcnW>nwE>a>?BeY1!D4FRY_6q=2!Q_TY^AQ&|8ID6)EINZVaMote0vzn4@MzLl-}yaLxjOZ zh(g{{J*mFNxtOgpEIhvzyjA4jbFmj%x=cId@yM=f6bhJVYMbVBU3D+;#uLBsKHXio zSs1!GG(-pu;~oqY`-U_Y1K+E>p{d8?MU#Q;xhZoM5;h`rtx^@^VMEvO$nVfG2!7R~0TUx{w?(6l&@0l}VP)g&N9We{2 zT`m2EH+c3bjf}82J}#%QC;Iwc5Xfb(D`NeaHjXe?{JaSB5I<-tKAN!N3XA-AvmADv(>jigW%vy$aKS^9nirk~* z)w!prHLuNIK6pwcYRxYp@wZ^U#n=Fr zN35)fQutMCU+#b*b+jlEQ37rog*e};5JghXnH*LiJ$7fuHYuu5B;A#A>Jk6u(XQjZ z;|y24=SZP(CJ0Q7Ci54kmS}IGF#Q~KBuYa0Oc`E*x9|!)%2(h~f&LR}Wv?*%bNrvw z_6KU%Vi;YwI`f1|idb(jWQA+xDI!HFSRy6bN(mtQ%tkvWlFCC-Jv5I@ej^324*sfQf-EXQrL8pt&LtbL5 zMpn1h&ueL?aUUSqw?cG&rj!=H=c=}ASXirbcyEPuqKb<3iufW7%5CZ5XX!5axGoIa zwYKzP%pBj#hTNbAa5%QmdL)WAxD}Z#tb`lA-_4H4J4$I}fW49By$!nQf>@)IkF&

V-w|0n8D3 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 delta 9125 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 Date: Wed, 23 Oct 2013 22:14:49 +0100 Subject: [PATCH 07/11] Tweaked build options. --- pom.xml | 2 +- src/main/assembly/assembly.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 822212da7..e58e8981f 100644 --- a/pom.xml +++ b/pom.xml @@ -139,7 +139,7 @@ 2.4 dist - ${project.artifactId}-${project.version} + jbake-${project.version} src/main/assembly/assembly.xml diff --git a/src/main/assembly/assembly.xml b/src/main/assembly/assembly.xml index 59e3a9fab..5ba59c259 100644 --- a/src/main/assembly/assembly.xml +++ b/src/main/assembly/assembly.xml @@ -36,7 +36,7 @@ ${project.build.directory} - *.jar + jbake-core.jar From de067a52eb2a887e232714d80b868dd6c33d6eb0 Mon Sep 17 00:00:00 2001 From: Jonathan Bullock Date: Wed, 23 Oct 2013 22:19:19 +0100 Subject: [PATCH 08/11] Updated readme. --- README.asciidoc | 67 +++++++++++++++++ README.md | 193 ------------------------------------------------ 2 files changed, 67 insertions(+), 193 deletions(-) create mode 100644 README.asciidoc delete mode 100644 README.md diff --git a/README.asciidoc b/README.asciidoc new file mode 100644 index 000000000..f07f16d97 --- /dev/null +++ b/README.asciidoc @@ -0,0 +1,67 @@ += JBake +Jonathan Bullock +2013-10-20 +:idprefix: + +http://jbake.org[JBake] is a Java based open source static site/blog generator for developers. + +image::https://travis-ci.org/jonbullock/JBake.png?branch=master[Build Status, link="https://travis-ci.org/jonbullock/JBake"] + +== Documentation + +Full documentation is available on http://jbake.org/docs/[jbake.org]. + +== Maven + +You can run directly from the source code using the Maven exec plugin: + +---- +mvn exec:java -Dexec.mainClass=org.jbake.launcher.Main -Dexec.args="/fromFolder /tmp/toFolder/" +---- + +== Contributing + +Coming soon... + +== Versioning + +The project has adopted the http://semver.org[Semantic Versioning] spec from v2.2.0 onwards to maintain an +understandable backwards compatibility strategy. + +The version format is as follows: + +---- +..-

-.
-|-- assets
-|   |-- favicon.gif
-|   |-- robots.txt
-|   |-- css
-|       |-- style.css
-|-- content
-|   |-- about.html
-|   |-- 2013
-|       |-- 02 
-|           |-- weekly-links-1.html
-|           |-- weekly-links-2.md
-|-- templates
-|   |-- index.ftl
-|   |-- page.ftl
-|   |-- post.ftl
-|   |-- feed.ftl
-|-- custom.properties
-
- -A full example source folder is provided with the [source code](https://github.com/jonbullock/JBake/tree/master/src/test/resources). - -Both [http://jonathanbullock.com](http://jonathanbullock.com) and [http://jbake.org](http://jbake.org) are built using JBake. - -### Assets - -Place your static files in this folder and they will be copied to the root of the destination folder. Any folder structure you create will be maintained. - -### Content - -Place your dynamic content in this folder, the content in the files in this folder will be "mixed" with the templates to generate your site. Again any folder structure you create will be maintained in the destination folder. - -The extension of the file determines what content it contains: - -- .html = HTML content -- .md = Markdown content - -#### Header - -Each content file needs to have a meta-data header in it: - -
-title=Weekly Links #2
-date=2013-02-01
-type=post
-tags=weekly links, java
-status=published
-~~~~~~
-
- -The header MUST have at least the **status** & **type** fields, the rest are optional. - -##### Status - -You have 2 options for the status field: `draft` and `published`, drafts are rendered along with published posts however they are given a "-draft" suffix, for example `first-post-draft.html`. - -##### Type - -You can choose what template your content file will be "mixed" with by changing the type field (i.e. type=post will use post.ftl, type=page will use page.ftl). - -#### Extra Header - -You can also add extra meta data in the header that is also exposed to the templates: - -
-summary=This is a summary of the larger post
-
- -And access it from the template like so: - -`

${content.summary}

` - -### Templates - -This is the folder where your [Freemarker](http://freemarker.sourceforge.net) templates go. For more information on what you can do in Freemarker templates see the [Manual](http://freemarker.sourceforge.net/docs/index.html). - -Here is the data that is available to you in your template files: - -#### Global - -This data is available to all templates regardless. - -- `${version}` = version of JBake -- `${config.[options]}` = map of configuration data - -All the configuration options in `default.properties` are available with any `.` in the property being replaced with `_`. -For example `template.index.file=index.ftl` is available via `${config.template_index_file}`. - -- `${posts}` = collection of all posts (files that don't have `type=page`) -- `${pages}` = collection of all pages (files that have `type=page`) - -You can loop through the above collections using: - -
-<#list posts as post>
-	..
-</#list>
-
- -Within the loop you can then access the options for each post or page: `${post.[options]}` or `${page.[options]}` - -All of the header fields are available such as `${post.title}` and the body of the file is available via `${post.body}`. - -#### Page / Post - -These templates (page.ftl & post.ftl) as well as any custom templates you create yourself have the following data available to them: - -- `${content.[options]}` = map of file contents - -All of the header fields are available such as `${content.title}` and the body of the file is available via `${content.body}`. - -#### Index / Feed / Archive - -These templates (index.ftl, feed.ftl & archive.ftl) have the following extra data available to them: - -- `${published_posts}` = collection of published posts -- `${published_date}` = date when file is generated (only available to Feed) - -#### Tags - -This template (tags.ftl) has the following extra data available to it: - -- `${tag}` = tag being rendered -- `${tag_posts}` = collection posts for tag - -## Configuration - -The `custom.properties` file allows you to override the default configuration of JBake. You can change the name of the folder that stores your content or templates, decide whether to generate a an RSS feed or not. See [default.properties](https://github.com/jonbullock/JBake/blob/master/src/main/resources/default.properties) for what options are available. - -## License - -Licensed under the MIT License, see the LICENSE file. - -## Development Tools - -- Java v1.6 SDK -- Eclipse Juno (Java EE Package) -- Apache Maven v3.0.3 - -## Alternatives - -- [Jekyll - Ruby](http://jekyllrb.com/) -- [Awestruct - Ruby](http://awestruct.org/) -- [Usermesh - Perl](http://usermesh.org/) - -## Contact - -- [http://jonathanbullock.com/](http://jonathanbullock.com/) -- [jonbullock@gmail.com](mailto:jonbullock@gmail.com) -- [@jonbullock](http://twitter.com/jonbullock) From d54a4a78290fca428f1fa619a4effba28e49e494 Mon Sep 17 00:00:00 2001 From: Jonathan Bullock Date: Wed, 23 Oct 2013 22:22:30 +0100 Subject: [PATCH 09/11] Trying to fix link. --- README.asciidoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.asciidoc b/README.asciidoc index f07f16d97..9cfb4b534 100644 --- a/README.asciidoc +++ b/README.asciidoc @@ -44,7 +44,7 @@ The version format is as follows: Talk to the developers behind JBake: * http://groups.google.com/group/jbake-dev[Mailing list] -* irc://irc.freenode.net/#jbake[IRC - #jbake on Freenode] +* link:irc://irc.freenode.net/#jbake[IRC - #jbake on Freenode] Talk to other users of JBake on the forum: From db871b0391ef906d9fedcfeb027418c8ecd20f27 Mon Sep 17 00:00:00 2001 From: Jonathan Bullock Date: Wed, 6 Nov 2013 22:49:27 +0000 Subject: [PATCH 10/11] [maven-release-plugin] prepare release v2.2.0 --- pom.xml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index e58e8981f..9b29c256b 100644 --- a/pom.xml +++ b/pom.xml @@ -1,6 +1,5 @@ - + 4.0.0 @@ -11,7 +10,7 @@ org.jbake jbake-core - 2.2.0-SNAPSHOT + 2.2.0 jar jbake From 328acce9952174cbb34939d42d330e846efbeb17 Mon Sep 17 00:00:00 2001 From: Jonathan Bullock Date: Wed, 6 Nov 2013 22:50:37 +0000 Subject: [PATCH 11/11] [maven-release-plugin] prepare for next development iteration --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 9b29c256b..e2a6b59bb 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ org.jbake jbake-core - 2.2.0 + 2.2.1-SNAPSHOT jar jbake