X-Git-Url: https://git.wpitchoune.net/gitweb/?p=asciidoctor_to_rss.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fwpitchoune%2Fasciidoctor%2FMain.java;h=43f0a88d081928821c1987cbf00b502b47c8a5ac;hp=1e09ab05848de427c4130d9f22fd69306c9e0f79;hb=fe214ade97ce439e19fc80fcf945f695638f16ed;hpb=af6778182487ef8a3a0603f31665314cd4b896f3 diff --git a/src/main/java/net/wpitchoune/asciidoctor/Main.java b/src/main/java/net/wpitchoune/asciidoctor/Main.java index 1e09ab0..43f0a88 100644 --- a/src/main/java/net/wpitchoune/asciidoctor/Main.java +++ b/src/main/java/net/wpitchoune/asciidoctor/Main.java @@ -19,18 +19,17 @@ package net.wpitchoune.asciidoctor; */ import java.io.File; -import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileReader; -import java.io.FileWriter; import java.io.IOException; -import java.io.InputStream; import java.io.StringWriter; import java.nio.charset.StandardCharsets; import java.nio.file.Files; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Date; import java.util.HashMap; -import java.util.Properties; import java.util.logging.Logger; import org.asciidoctor.Asciidoctor; @@ -114,6 +113,7 @@ public class Main { private static void generateHTMLFileItem(File file, String title, String content, + String date, Configuration cfg) throws IOException { StringBuffer buf; @@ -126,6 +126,11 @@ public class Main { appendHTMLContentHeader(buf, title); buf.append("
\n"); + if (date != null) { + buf.append("
"); + buf.append(date); + buf.append("
"); + } buf.append(content); buf.append("
"); @@ -134,7 +139,7 @@ public class Main { Files.write(file.toPath(), buf.toString().getBytes()); } - public static void main(String[] args) throws FileNotFoundException, IOException, FeedException { + public static void main(String[] args) throws FileNotFoundException, IOException, FeedException, ParseException { File inDir, html, outDir; File[] adocs; StringWriter desc; @@ -145,7 +150,11 @@ public class Main { DocumentHeader h; SyndContentImpl c; StringBuffer news; - String itemTitle, itemContent, itemURI; + String itemTitle, itemContent, itemURI, strDate; + Date itemDate; + SimpleDateFormat sdf; + + sdf = new SimpleDateFormat("yyyy-dd-MM"); inDir = new File(args[0]); outDir = new File(args[1]); @@ -179,7 +188,14 @@ public class Main { html = toHTMLFile(outDir, adoc); h = asciidoctor.readDocumentHeader(adoc); - + + if (h.getAttributes().get("date") == null) + strDate = h.getAttributes().get("docdate").toString(); + else + strDate = h.getAttributes().get("date").toString(); + + itemDate = sdf.parse(strDate); + asciidoctor.convert(new FileReader(adoc), desc, new HashMap()); itemTitle = h.getDocumentTitle().getMain(); @@ -190,7 +206,7 @@ public class Main { itemURI = cfg.getFeedBaseURL() + "/" + html.getName(); e.setUri(itemURI); e.setLink(itemURI); - + e.setPublishedDate(itemDate); c = toSyndContentImpl(itemContent); @@ -202,10 +218,15 @@ public class Main { news.append("

"); news.append(itemTitle); news.append("

"); + if (news != null) { + news.append("
"); + news.append(itemDate); + news.append("
"); + } news.append(desc.toString()); news.append("\n"); - generateHTMLFileItem(html, itemTitle, itemContent, cfg); + generateHTMLFileItem(html, itemTitle, itemContent, itemDate.toString(), cfg); } news.append("\n"); @@ -218,7 +239,6 @@ public class Main { SyndFeedOutput output = new SyndFeedOutput(); output.output(feed, new File(outDir, "feed.xml")); - System.out.println(news.toString()); Files.write(new File(outDir, "news.html").toPath(), news.toString().getBytes()); } }