package be.nikiroo.gofetch.output;
import java.util.List;
import be.nikiroo.gofetch.data.Comment;
import be.nikiroo.gofetch.data.Story;
import be.nikiroo.gofetch.support.BasicSupport.Type;
public class Html extends Output {
public Html(Type type, String hostname, String preselector, int port) {
super(type, hostname, preselector, port);
}
@Override
public String getIndexHeader() {
String gopherUrl = "gopher://" + hostname + preselector + ":" + port;
return "
News
\n"//
+ "You will find here a few pages full of news, mirroring "
+ gopherUrl
+ ".
\n"//
+ "
\n"//
+ "They are simply scrapped from their associated webpage and updated a few times a day.
\n"//
+ "
\n"//
;
}
@Override
public String getIndexFooter() {
return "";
}
@Override
public String export(Story story) {
StringBuilder builder = new StringBuilder();
builder.append("\n");
return builder.toString();
}
@Override
public String export(Story story, List comments) {
StringBuilder builder = new StringBuilder();
builder.append("\n");
appendHtml(builder, story, false);
builder.append("
\n");
if (comments != null) {
for (Comment comment : comments) {
appendHtml(builder, comment, " ");
}
}
builder.append("\n");
return builder.toString();
}
private void appendHtml(StringBuilder builder, Comment comment, String space) {
builder.append(space).append(
"");
}
private StringBuilder appendHtml(StringBuilder builder, Story story,
boolean resume) {
if (resume) {
builder.append(" \n");
} else {
builder.append(" " + story.getTitle() + "
\n");
}
builder.append(" (" + story.getDetails()
+ ")
\n");
builder.append("
\n");
if (!resume) {
builder.append(" \n");
builder.append("
\n");
}
builder.append(" \n");
builder.append(" " + story.getContent() + "\n");
builder.append("
\n");
return builder;
}
}
").append(comment.getTitle()) .append("
\n"); builder.append(space).append("