fixed date
[asciidoctor_to_rss.git] / src / main / java / net / wpitchoune / asciidoctor / Main.java
index b3e2de2..feb103a 100644 (file)
@@ -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;
@@ -42,7 +41,6 @@ import com.rometools.rome.feed.synd.SyndEntry;
 import com.rometools.rome.feed.synd.SyndEntryImpl;
 import com.rometools.rome.feed.synd.SyndFeed;
 import com.rometools.rome.feed.synd.SyndFeedImpl;
-import com.rometools.rome.feed.synd.SyndLinkImpl;
 import com.rometools.rome.io.FeedException;
 import com.rometools.rome.io.SyndFeedOutput;
 
@@ -57,6 +55,8 @@ public class Main {
 
        private static final Asciidoctor asciidoctor = Factory.create();
        
+        private static final SimpleDateFormat DATE_FORMATTER = new SimpleDateFormat("yyyy-dd-MM");        
+       
         private static File toHTMLFile(File dir, File adoc) {
                 int idx;
                 String name;
@@ -115,7 +115,7 @@ public class Main {
         private static void generateHTMLFileItem(File file,
                                                 String title,
                                                 String content,
-                                                String date,
+                                                Date date,
                                                 Configuration cfg) throws IOException {
                StringBuffer buf;
                
@@ -130,7 +130,7 @@ public class Main {
                buf.append("<div id='content'>\n");
                if (date != null) {
                        buf.append("<div class='date'>");
-                       buf.append(date);
+                       buf.append(DATE_FORMATTER.format(date));
                        buf.append("</div>");
                }
                buf.append(content);
@@ -141,7 +141,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;
@@ -152,7 +152,8 @@ public class Main {
                DocumentHeader h;
                SyndContentImpl c;
                StringBuffer news;
-               String itemTitle, itemContent, itemURI, itemDate;
+               String itemTitle, itemContent, itemURI, strDate;
+               Date itemDate;
                
                inDir = new File(args[0]);
                outDir = new File(args[1]);
@@ -188,9 +189,11 @@ public class Main {
                        h = asciidoctor.readDocumentHeader(adoc);
 
                        if (h.getAttributes().get("date") == null)
-                               itemDate = h.getAttributes().get("docdate").toString();
+                               strDate = h.getAttributes().get("docdate").toString();
                        else
-                               itemDate = h.getAttributes().get("date").toString();
+                               strDate = h.getAttributes().get("date").toString();
+                                               
+                       itemDate = DATE_FORMATTER.parse(strDate);
                        
                        asciidoctor.convert(new FileReader(adoc), desc, new HashMap<String,Object>());
                        
@@ -202,6 +205,7 @@ public class Main {
                        itemURI = cfg.getFeedBaseURL() + "/" + html.getName(); 
                        e.setUri(itemURI);
                        e.setLink(itemURI);
+                       e.setPublishedDate(itemDate);
                        
                        c = toSyndContentImpl(itemContent);
                        
@@ -215,7 +219,7 @@ public class Main {
                        news.append("</h2>");
                        if (news != null) {
                                news.append("<div class='date'>");
-                               news.append(itemDate);
+                               news.append(DATE_FORMATTER.format(itemDate));
                                news.append("</div>");
                        }
                        news.append(desc.toString());