*/
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;
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;
private static void generateHTMLFileItem(File file,
String title,
String content,
+ Date date,
Configuration cfg) throws IOException {
StringBuffer buf;
appendHTMLContentHeader(buf, title);
buf.append("<div id='content'>\n");
+ if (date != null) {
+ buf.append("<div class='date'>");
+ buf.append(DATE_FORMATTER.format(date));
+ buf.append("</div>");
+ }
buf.append(content);
buf.append("</div>");
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;
DocumentHeader h;
SyndContentImpl c;
StringBuffer news;
- String itemTitle, itemContent;
+ String itemTitle, itemContent, itemURI, strDate;
+ Date itemDate;
inDir = new File(args[0]);
outDir = new File(args[1]);
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 = DATE_FORMATTER.parse(strDate);
+
asciidoctor.convert(new FileReader(adoc), desc, new HashMap<String,Object>());
itemTitle = h.getDocumentTitle().getMain();
e = new SyndEntryImpl();
e.setTitle(itemTitle);
- e.setUri(cfg.getFeedBaseURL() + "/" + html.getName());
+ itemURI = cfg.getFeedBaseURL() + "/" + html.getName();
+ e.setUri(itemURI);
+ e.setLink(itemURI);
+ e.setPublishedDate(itemDate);
c = toSyndContentImpl(itemContent);
news.append("<h2>");
news.append(itemTitle);
news.append("</h2>");
+ if (news != null) {
+ news.append("<div class='date'>");
+ news.append(DATE_FORMATTER.format(itemDate));
+ news.append("</div>");
+ }
news.append(desc.toString());
news.append("</div>\n");
- generateHTMLFileItem(html, itemTitle, itemContent, cfg);
+ generateHTMLFileItem(html, itemTitle, itemContent, itemDate, cfg);
}
news.append("</div>\n");
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());
}
}