1 package be
.nikiroo
.gofetch
.output
;
5 import be
.nikiroo
.gofetch
.data
.Comment
;
6 import be
.nikiroo
.gofetch
.data
.Story
;
7 import be
.nikiroo
.gofetch
.support
.BasicSupport
.Type
;
9 public class Html
extends Output
{
10 public Html(Type type
, String hostname
, String preselector
, int port
) {
11 super(type
, hostname
, preselector
, port
);
15 public String
getIndexHeader() {
16 String gopherUrl
= "gopher://" + hostname
+ preselector
+ ":" + port
;
18 return "<h1>News</h1>\n"//
19 + "<p>You will find here a few pages full of news, mirroring <a href='"
24 + "<p>They are simply scrapped from their associated webpage and updated a few times a day.</p>\n"//
30 public String
getIndexFooter() {
35 public String
export(Story story
) {
36 StringBuilder builder
= new StringBuilder();
38 builder
.append("<div class='story-header'>\n");
39 appendHtml(builder
, story
, true);
40 builder
.append("<hr/>\n");
41 builder
.append("</div>\n");
43 return builder
.toString();
47 public String
export(Story story
, List
<Comment
> comments
) {
48 StringBuilder builder
= new StringBuilder();
50 builder
.append("<div class='story'>\n");
51 appendHtml(builder
, story
, false);
52 builder
.append("<hr/>\n");
54 if (comments
!= null) {
55 for (Comment comment
: comments
) {
56 appendHtml(builder
, comment
, " ");
60 builder
.append("</div>\n");
62 return builder
.toString();
65 private void appendHtml(StringBuilder builder
, Comment comment
, String space
) {
66 builder
.append(space
).append(
67 "<div class='comment' style='display: block; margin-left: "
68 + (20 * space
.length()) + "px'>");
69 builder
.append(space
).append(" <h2>").append(comment
.getTitle())
71 builder
.append(space
).append(" <div class='by'>")
72 .append(comment
.getAuthor()).append("</div>\n");
73 builder
.append(space
).append(" <div class='comment_content'>")
74 .append(comment
.getContent()).append("</div>\n");
75 for (Comment subComment
: comment
) {
76 appendHtml(builder
, subComment
, space
+ " ");
78 builder
.append(space
).append("</div>");
81 private StringBuilder
appendHtml(StringBuilder builder
, Story story
,
84 builder
.append(" <h1><a href='" + story
.getId() + ".html'>"
85 + story
.getTitle() + "</a></h1>\n");
87 builder
.append(" <h1>" + story
.getTitle() + "</h1>\n");
89 builder
.append(" <div class='details'>(" + story
.getDetails()
91 builder
.append(" <br/>\n");
94 builder
.append(" <ul>\n");
95 builder
.append(" <li>News link: <a href='"
96 + story
.getUrlInternal() + "'>" + story
.getUrlInternal()
98 builder
.append(" <li>Source link: <a href='"
99 + story
.getUrlExternal() + "'>" + story
.getUrlExternal()
101 builder
.append(" </ul>\n");
102 builder
.append(" <br/>\n");
105 builder
.append(" <div class='content'>\n");
106 builder
.append(" " + story
.getContent() + "\n");
107 builder
.append(" </div>\n");