Implement site parser
This commit is contained in:
parent
ff24a76743
commit
5e03334f46
@ -1,2 +0,0 @@
|
|||||||
<!DOCTYPE html><html><head><link rel="stylesheet" href="sig.css"></head>
|
|
||||||
Basic Content
|
|
14
out/testfile.html
Normal file
14
out/testfile.html
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<link rel=\"stylesheet\" href=\"sig.css\">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
SigPlace
|
||||||
|
Basic Content
|
||||||
|
</body>
|
||||||
|
<footer>
|
||||||
|
|
||||||
|
</footer>
|
||||||
|
</html>
|
7
ref/DEFAULT.html
Normal file
7
ref/DEFAULT.html
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<link rel=\"stylesheet\" href=\"sig.css\">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
5
ref/FOOTER.html
Normal file
5
ref/FOOTER.html
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
</body>
|
||||||
|
<footer>
|
||||||
|
|
||||||
|
</footer>
|
||||||
|
</html>
|
@ -1,6 +1,5 @@
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.nio.charset.Charset;
|
import java.nio.charset.Charset;
|
||||||
import java.nio.file.FileStore;
|
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
@ -10,24 +9,23 @@ import java.util.HashMap;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
public class sigPlace {
|
public class sigPlace {
|
||||||
|
|
||||||
final static String ROOTDIR = "sitefiles";
|
final static String ROOTDIR = "sitefiles";
|
||||||
|
final static String REFDIR = "ref";
|
||||||
final static String OUTDIR = "out";
|
final static String OUTDIR = "out";
|
||||||
|
|
||||||
final static HashMap<String,String> map = new HashMap<>(Map.ofEntries(
|
final static HashMap<String,String> map = new HashMap<>(Map.ofEntries(
|
||||||
new AbstractMap.SimpleEntry<>("$SITENAME", "SigPlace")
|
new AbstractMap.SimpleEntry<>("$SITENAME", "SigPlace")
|
||||||
));
|
));
|
||||||
final static HashMap<String,String> ops = new HashMap<>(Map.ofEntries(
|
final static HashMap<String,Path> ops = new HashMap<>(Map.ofEntries(
|
||||||
new AbstractMap.SimpleEntry<>(
|
new AbstractMap.SimpleEntry<>(
|
||||||
"%DEFAULT",
|
"%DEFAULT", Paths.get(REFDIR,"DEFAULT.html")),
|
||||||
"<!DOCTYPE html>"+
|
new AbstractMap.SimpleEntry<>(
|
||||||
"<html>"+
|
"%FOOTER", Paths.get(REFDIR,"FOOTER.html"))
|
||||||
"<head>"+
|
|
||||||
"<link rel=\"stylesheet\" href=\"sig.css\">"+
|
|
||||||
"</head>")
|
|
||||||
));
|
));
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
Set<Path> files = GetFilesInDir(ROOTDIR);
|
Set<Path> files = GetFilesInDir(ROOTDIR);
|
||||||
@ -40,19 +38,31 @@ public class sigPlace {
|
|||||||
System.out.println(" Preparing "+f.getFileName());
|
System.out.println(" Preparing "+f.getFileName());
|
||||||
|
|
||||||
List<String> content = Files.readAllLines(f);
|
List<String> content = Files.readAllLines(f);
|
||||||
content.add(0,ops.get("%DEFAULT"));
|
content.addAll(0,Files.readAllLines(ops.get("%DEFAULT")));
|
||||||
|
content.addAll(Files.readAllLines(ops.get("%FOOTER")));
|
||||||
|
|
||||||
|
System.out.println(" Parsing "+f.getFileName());
|
||||||
|
for (int i=0;i<content.size();i++) {
|
||||||
|
String s = content.get(i);
|
||||||
|
for (String key : map.keySet()) {
|
||||||
|
s=s.replaceAll(Pattern.quote(key),map.get(key));
|
||||||
|
}
|
||||||
|
content.set(i,s);
|
||||||
|
}
|
||||||
|
|
||||||
Path newf = Paths.get(OUTDIR,f.getFileName().toString());
|
Path newf = Paths.get(OUTDIR,f.getFileName().toString());
|
||||||
|
|
||||||
System.out.println(" Writing to "+newf);
|
System.out.println(" Writing to "+newf);
|
||||||
|
|
||||||
Files.write(newf, content, Charset.defaultCharset(),StandardOpenOption.CREATE,StandardOpenOption.TRUNCATE_EXISTING,StandardOpenOption.WRITE)
|
Files.write(newf, content, Charset.defaultCharset(),StandardOpenOption.CREATE,StandardOpenOption.TRUNCATE_EXISTING,StandardOpenOption.WRITE);
|
||||||
|
|
||||||
System.out.println(newf.getFileName() + " conversion complete!");
|
System.out.println(" "+newf.getFileName() + " conversion complete!");
|
||||||
|
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
System.out.println("Site has been built into the "+OUTDIR+" directory.");
|
||||||
}
|
}
|
||||||
private static Set<Path> GetFilesInDir(String directory) {
|
private static Set<Path> GetFilesInDir(String directory) {
|
||||||
Path dir = Paths.get(directory);
|
Path dir = Paths.get(directory);
|
||||||
|
@ -1 +0,0 @@
|
|||||||
Basic Content
|
|
2
sitefiles/testfile.html
Normal file
2
sitefiles/testfile.html
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
$SITENAME
|
||||||
|
Basic Content
|
Loading…
x
Reference in New Issue
Block a user