fixed font size
[pnews.git] / src / main / java / pnews / HTML.java
index b761b88..78d584d 100644 (file)
@@ -2,14 +2,17 @@ package pnews;
 
 import java.util.List;
 
-import com.rometools.rome.feed.synd.SyndEntry;
-import com.rometools.rome.feed.synd.SyndFeed;
-
 public class HTML {
-       private static void appendA(StringBuffer buf, String child, String href) {
+       private static void appendA(StringBuffer buf, String child, String href, String cl) {
                buf.append("<a href='");
                buf.append(href);
-               buf.append("'>");
+               buf.append("'");
+               if (cl != null) {
+                       buf.append(" class='");
+                       buf.append(cl);
+                       buf.append('\'');
+               }
+               buf.append('>');
                buf.append(child);
                buf.append("</a>");
        }
@@ -20,33 +23,73 @@ public class HTML {
                buf.append("</div>\n");
        }
        
-       private static void append(StringBuffer buf, SyndEntry entry) {
-               buf.append("<div>");
-               appendA(buf, entry.getTitle(), entry.getLink());
-               buf.append("</div>\n");
+       private static void appendP(StringBuffer buf, String child) {
+               buf.append("<p>");
+               buf.append(child);
+               buf.append("</p>\n");
+       }
+       
+       private static void append(StringBuffer buf, Article a) {               
+               buf.append("<div class='article'>\n");
+               
+               buf.append("<h2>");
+               if (a.thumbnail != null) {
+                       buf.append("<img class='left' src='");
+                       buf.append(a.thumbnail);
+                       buf.append("'/>\n");
+               }
+               appendA(buf, a.title, a.link, null);
+               buf.append("</h2>\n");
                
-               appendDiv(buf, entry.getPublishedDate().toString());
-               appendDiv(buf, entry.getDescription().getValue());
+               buf.append("<div class='article-info'>" + a.website + " - " + a.publicationDate + "</div>");
+               
+               if (a.description != null) {
+                       buf.append("<p>");
+                       buf.append(a.description);
+                       buf.append("</p>");
+               }
+               
+               buf.append("</div>\n");         
        }
        
-       public static void append(StringBuffer buf, SyndFeed feed) {
-               for (SyndEntry e: feed.getEntries()) {
-                       append(buf, e);
+       private static void appendMenu(StringBuffer buf, Category catActive) {
+               String cl;
+               
+               buf.append("<nav>\n");
+               buf.append("<ul>\n");
+
+               for (Category cat: Category.values()) {
+                       buf.append("<li>");
+                       
+                       if (cat.equals(catActive))
+                               cl = "active";
+                       else
+                               cl = null;
+                       
+                       appendA(buf, cat.getId(), cat.getId() + ".html", cl);
+                       buf.append("</li>");
                }
+               
+               buf.append("</ul>\n");
+               buf.append("</nav>\n");
        }
        
-       public static String toHTML(List<SyndFeed> feeds) {
+       public static String toHTML(List<Article> articles, Category catActive) {
                StringBuffer buf;
                
                buf = new StringBuffer();
                buf.append("<!DOCTYPE html>\n");
-               buf.append("<html>\n");
+               buf.append("<html lang='fr'>\n");
                buf.append("<head>\n");
                buf.append("<meta charset=\"UTF-8\">\n");
+               buf.append("<link rel='stylesheet' href='style.css' />\n");
+               buf.append("<title>PNews</title>\n");
                buf.append("</head>\n");
                buf.append("<body>\n");
                
-               for (SyndFeed e: feeds)
+               appendMenu(buf, catActive);
+               
+               for (Article e: articles)
                        append(buf, e);
                
                buf.append("</body>\n");