X-Git-Url: http://git.wpitchoune.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmain%2Fjava%2FMain.java;h=64b4d8820b65610dd7cbb20e25e957fc9d881dc5;hb=76238691b4a28a8d248bad0f17245ac273ff3ace;hp=ea54abebc0660ff07dab50c56e9149de434f88cf;hpb=db33734e0d1fe77bd36acb452dff58de764b8537;p=asciidoctor_to_rss.git diff --git a/src/main/java/Main.java b/src/main/java/Main.java index ea54abe..64b4d88 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -5,9 +5,12 @@ import java.io.FileReader; import java.io.IOException; import java.io.InputStream; import java.io.StringWriter; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; import java.util.ArrayList; import java.util.HashMap; import java.util.Properties; +import java.util.logging.Logger; import org.asciidoctor.Asciidoctor; import org.asciidoctor.Asciidoctor.Factory; @@ -22,7 +25,9 @@ import com.rometools.rome.io.FeedException; import com.rometools.rome.io.SyndFeedOutput; public class Main { - private static String KEY_HTML_HEADER = "html.header"; + private static final Logger LOG = Logger.getLogger(Main.class.getSimpleName()); + private static final String KEY_HTML_HEADER_FILE = "html.header.file"; + private static final String KEY_FEED_TITLE = "feed.title"; private static File toHTMLFile(File dir, File adoc) { int idx; @@ -48,8 +53,28 @@ public class Main { return ret; } - private static String getHTMLHeader(Properties props) { - return null; + private static String getFeedTitle(Properties props) { + return props.getProperty(KEY_FEED_TITLE); + } + + private static void appendHTMLHeader(StringBuffer sb, Properties props) + throws IOException { + String fileName; + File f; + + fileName = props.getProperty(KEY_HTML_HEADER_FILE); + + if (fileName == null) { + LOG.info(KEY_HTML_HEADER_FILE + " is not set"); + return ; + } + + f = new File(fileName); + + sb.append("\n"); + sb.append(new String(Files.readAllBytes(f.toPath()), + StandardCharsets.UTF_8)); + sb.append("\n"); } public static void main(String[] args) throws FileNotFoundException, IOException, FeedException { @@ -79,15 +104,28 @@ public class Main { asciidoctor = Factory.create(); feed = new SyndFeedImpl(); - feed.setTitle(props.getProperty("feed.title")); + feed.setTitle(getFeedTitle(props)); feed.setDescription(props.getProperty("feed.description")); feed.setLink(props.getProperty("feed.link")); entries = new ArrayList(); news = new StringBuffer(); - news.append("\n"); + news.append("\n"); + news.append("\n"); + + appendHTMLHeader(news, props); + news.append("\n"); + + news.append(""); + + news.append("
\n"); + for (File adoc: adocs) { if (!adoc.getName().endsWith(".adoc")) continue; @@ -116,6 +154,8 @@ public class Main { news.append(desc.toString()); news.append("\n
\n"); } + + news.append("\n"); news.append("\n"); news.append("\n"); @@ -126,5 +166,6 @@ public class Main { output.output(feed, new File(outDir, "feed.xml")); System.out.println(news.toString()); + Files.write(new File(outDir, "news.html").toPath(), news.toString().getBytes()); } -} \ No newline at end of file +}