improved structure
authorJean-Philippe Orsini <orsinije@fr.ibm.com>
Tue, 12 Jul 2016 09:21:08 +0000 (11:21 +0200)
committerJean-Philippe Orsini <orsinije@fr.ibm.com>
Tue, 12 Jul 2016 09:21:08 +0000 (11:21 +0200)
src/main/java/net/wpitchoune/asciidoctor/HTML.java
src/main/java/net/wpitchoune/asciidoctor/Main.java

index 63588a7..8c3bc0b 100644 (file)
@@ -106,6 +106,32 @@ public final class HTML {
                return buf.toString();  
        }
        
+       private static void appendStartTag(StringBuffer buf, String tag, int indent, boolean newline) {
+               while (indent > 0) {
+                       buf.append('\t');
+                       indent--;
+               }
+               buf.append('<');
+               buf.append(tag);
+               buf.append(">");
+               
+               if (newline)
+                       buf.append('\n');
+       }
+
+       private static void appendEndTag(StringBuffer buf, String tag, int indent, boolean newline) {           
+               while (indent > 0) {
+                       buf.append('\t');
+                       indent--;
+               }
+               buf.append("</");
+               buf.append(tag);
+               buf.append(">");
+               
+               if (newline)    
+                       buf.append('\n');
+       }
+       
        public String toHTML(Collection<SyndEntry> entries) throws IOException {
                StringBuffer buf;
                List<SyndEntry> sortedEntries;
@@ -115,7 +141,7 @@ public final class HTML {
                
                appendHTMLHead(buf, config.getFeedTitle());
                
-               buf.append("<body>\n");
+               appendStartTag(buf, "body", 1, true);
                
                appendHTMLContentHeader(buf, config.getFeedTitle());
                
@@ -132,18 +158,25 @@ public final class HTML {
                Collections.sort(sortedEntries, cmp);
                
                for(SyndEntry e: sortedEntries) {
-                       buf.append("\n<div>");
-                       buf.append("<h2>");
+                       appendStartTag(buf, "article", 3, true);
+                       appendStartTag(buf, "header", 4, true);
+                       appendStartTag(buf, "h1", 5, false);
                        buf.append("<a href='" + e.getUri() + "'>");
                        buf.append(e.getTitle());
-                       buf.append("</a></h2>");
+                       buf.append("</a>");
+                       appendEndTag(buf, "h1", 0, true);
+                       
                        if (e.getPublishedDate() != null) {
-                               buf.append("<div class='date'>");
-                               buf.append(DATE_FORMATTER.format(e.getPublishedDate()));
-                               buf.append("</div>");
+                               buf.append("<div class='date'>");
+                               buf.append(DATE_FORMATTER.format(e.getPublishedDate()));
+                               buf.append("</div>\n");
                        }
+                       
+                       appendEndTag(buf, "header", 4, true);
+                       
                        buf.append(e.getDescription().getValue());
-                       buf.append("</div>\n");   
+                       
+                       appendEndTag(buf, "article", 3, true);
                }
                                
                buf.append("</div>\n");
index d669885..d5b19a1 100644 (file)
@@ -133,7 +133,7 @@ public class Main {
                        
                        e.setDescription(toSyndContentImpl(itemContent));
                        
-                       entries.add(e);
+                       entries.add(e);                 
                        
                        Files.write(html.toPath(), new HTML(cfg).toHTML(e).getBytes());
                }