aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--README.md17
-rwxr-xr-xcheck.sh20
-rw-r--r--src/main/java/it/alessandroiezzi/genwebsite/Genwebsite.java3
-rw-r--r--src/main/java/it/alessandroiezzi/genwebsite/Page.java21
-rw-r--r--src/main/java/it/alessandroiezzi/genwebsite/Website.java1
6 files changed, 55 insertions, 9 deletions
diff --git a/Makefile b/Makefile
index c44ef1a..9aab5c2 100644
--- a/Makefile
+++ b/Makefile
@@ -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}
diff --git a/README.md b/README.md
index a9ba811..fb37bf8 100644
--- a/README.md
+++ b/README.md
@@ -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;