diff options
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | README.md | 17 | ||||
-rwxr-xr-x | check.sh | 20 | ||||
-rw-r--r-- | src/main/java/it/alessandroiezzi/genwebsite/Genwebsite.java | 3 | ||||
-rw-r--r-- | src/main/java/it/alessandroiezzi/genwebsite/Page.java | 21 | ||||
-rw-r--r-- | src/main/java/it/alessandroiezzi/genwebsite/Website.java | 1 |
6 files changed, 55 insertions, 9 deletions
@@ -24,6 +24,6 @@ install: ln -s ${DESTDIR}/${LAUNCHER}.sh ${INSTALLDIR}/bin/${LAUNCHER} clean: - rm -f ${LAUNCHER}.sh + rm -rf ${BUILDDIR} rm -f ${INSTALLDIR}/bin/${LAUNCHER} rm -rf ${DESTDIR} @@ -1,3 +1,20 @@ # hyde It's a simple website generator + +## Build instructions +Launch `check.sh` to check required softwares (and versions). + +Then: + +``` +$ make +# make install +``` + +To uninstall: + +``` +# make clean +``` + diff --git a/check.sh b/check.sh new file mode 100755 index 0000000..ff4fb0c --- /dev/null +++ b/check.sh @@ -0,0 +1,20 @@ +#!/bin/sh + +if [ -z `which javac` ]; then + echo "- JDK 8 missing" + ERROR=1 +else + if [ -z `javac -version 2>&1 | awk '{print $2}' | grep -o "1.8"` ]; then + echo "- JDK 8 missing" + ERROR=1 + fi +fi + +if [ -z `which mvn` ]; then + echo "- Maven missing" + ERROR=1 +fi + +if [ -z $ERROR ]; then + echo "Check completed without errors" +fi diff --git a/src/main/java/it/alessandroiezzi/genwebsite/Genwebsite.java b/src/main/java/it/alessandroiezzi/genwebsite/Genwebsite.java index 5db5a3a..c1a015d 100644 --- a/src/main/java/it/alessandroiezzi/genwebsite/Genwebsite.java +++ b/src/main/java/it/alessandroiezzi/genwebsite/Genwebsite.java @@ -80,11 +80,14 @@ public class Genwebsite { Map<String, Object> data = new HashMap<>(); data.put("title", page.getTitle()); data.put("content", page.parse()); + data.put(page.getId() + "Active", "class=\"active\""); // Console output + /* Writer out = new OutputStreamWriter(System.out); template.process(data, out); out.flush(); + */ File pageFile = Paths.get(outDir.getAbsolutePath()).resolve(page.getOut()).toFile(); pageFile.getParentFile().mkdirs(); diff --git a/src/main/java/it/alessandroiezzi/genwebsite/Page.java b/src/main/java/it/alessandroiezzi/genwebsite/Page.java index 91506e0..b3f5f4c 100644 --- a/src/main/java/it/alessandroiezzi/genwebsite/Page.java +++ b/src/main/java/it/alessandroiezzi/genwebsite/Page.java @@ -36,6 +36,7 @@ public class Page { @Getter @Setter private String in = ""; @Getter @Setter private String template = ""; @Getter @Setter private String title = ""; + @Getter @Setter private String id = ""; public String parse() throws IOException { if (content != null && !content.isEmpty()) { @@ -43,16 +44,16 @@ public class Page { } else if (in != null && !in.isEmpty() && !in.trim().isEmpty()) { String[] splited = in.split("\\."); String extension = splited[splited.length - 1]; - switch (extension) { - case "md": - StringBuilder sb = new StringBuilder(); - BufferedReader br = Files.newBufferedReader(Paths.get(rootDir).resolve(in)); - String line; - while ((line = br.readLine()) != null) { - sb.append(line).append("\n"); - } + StringBuilder sb = new StringBuilder(); + BufferedReader br = Files.newBufferedReader(Paths.get(rootDir).resolve(in)); + String line; + while ((line = br.readLine()) != null) { + sb.append(line).append("\n"); + } + switch (extension) { + case "md": MutableDataSet options = new MutableDataSet(); // uncomment to set optional extensions @@ -68,6 +69,10 @@ public class Page { Node document = parser.parse(sb.toString()); return renderer.render(document); + case "html": + case "htm": + case "xhtm": + return sb.toString(); } } diff --git a/src/main/java/it/alessandroiezzi/genwebsite/Website.java b/src/main/java/it/alessandroiezzi/genwebsite/Website.java index b5394b7..57ea472 100644 --- a/src/main/java/it/alessandroiezzi/genwebsite/Website.java +++ b/src/main/java/it/alessandroiezzi/genwebsite/Website.java @@ -26,6 +26,7 @@ import java.util.ArrayList; import java.util.List; public class Website { + @Getter private List<Dir> includes; @Getter private String rootDir; @Setter private String pagesDir; @Getter @Setter private String template; |