buf.append("</nav>\n");
}
- public static String toHTML(List<Article> articles, Category catActive, Config cfg, ArticleProvider provider) {
+ private static String toURL(Category catActive, String entity) {
+ try {
+ return catActive.getURL() + "?entity=" + URLEncoder.encode(entity, "UTF-8");
+ } catch (UnsupportedEncodingException e) {
+ LOG.log(Level.SEVERE, "Failed to generate link to entity " + entity, e);
+ return catActive.getURL();
+ }
+ }
+
+ public static String toHTML(List<Article> articles, Category catActive, String entityActive, Config cfg, ArticleProvider provider) {
StringBuffer buf;
int i;
- Category[] cats;
List<EntityStat> entities;
+ String cl;
buf = new StringBuffer();
buf.append("<!DOCTYPE html>\n");
buf.append("</head>\n");
buf.append("<body>\n");
- cats = cfg.getCategories();
-
appendMenu(buf, catActive, cfg);
try {
entities = provider.getEntityStats(catActive);
if (entities.size() > 0) {
- buf.append("Hot topics: ");
+ buf.append("<nav>");
buf.append("<ul>");
i = 0;
for (EntityStat s: entities) {
buf.append("<li>");
- buf.append(s.getEntity());
- buf.append("</li>");
+ if (entityActive != null && s.getEntity().equals(entityActive))
+ cl = "active";
+ else
+ cl = null;
+ appendA(buf, s.getEntity(), toURL(catActive, s.getEntity()), cl);
+ buf.append("</li>\n");
i++;
if (i > 10)
break;
}
- buf.append("</ul>");
+ buf.append("</ul>\n");
+ buf.append("</nav>\n");
}
} catch (IllegalArgumentException | FeedException | IOException e2) {
LOG.log(Level.SEVERE, "Failed to get entities", e2);