X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Fgofetch%2Foutput%2FHtml.java;h=a4452643ccf055d6584d74781771370b7c1c8e58;hb=ff49bc765089d37d20ad950350d02876435c73f8;hp=ab7489b47dedf593f409139057be1a24b9d03a72;hpb=737852686d8897331706ed4b902dbd9d5038cb53;p=gofetch.git
diff --git a/src/be/nikiroo/gofetch/output/Html.java b/src/be/nikiroo/gofetch/output/Html.java
index ab7489b..a445264 100644
--- a/src/be/nikiroo/gofetch/output/Html.java
+++ b/src/be/nikiroo/gofetch/output/Html.java
@@ -1,80 +1,174 @@
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;
+import be.nikiroo.gofetch.support.BasicSupport;
+import be.nikiroo.gofetch.support.Type;
+import be.nikiroo.utils.StringUtils;
public class Html extends Output {
- public Html(Type type) {
- super(type);
+ public Html(Type type, String hostname, String preselector, int port) {
+ super(type, hostname, preselector, port);
}
@Override
- public String getIndexHeader() {
- return "
Hello world!
TODO\n";
+ public String getMainIndexHeader() {
+ String sel = preselector;
+ if (!sel.isEmpty()) {
+ sel = "/1" + sel;
+ }
+
+ String gopherUrl = "gopher://" + hostname + sel + ":" + port;
+
+ StringBuilder builder = new StringBuilder();
+ appendPre(builder);
+
+ builder.append("News
\n"//
+ + "You will find here a few pages full of news, mirroring "
+ + gopherUrl
+ + ".
\n"//
+ + "They are simply scrapped from their associated webpage and updated a few times a day.
\n"//
+ );
+
+ appendPost(builder);
+
+ return builder.toString();
}
@Override
- public String getIndexFooter() {
+ public String getMainIndexFooter() {
return "";
}
@Override
- public String export(Story story) {
- return appendHtml(new StringBuilder(), story, true).append("
\n")
- .toString();
+ public String getIndexHeader(BasicSupport support) {
+ return "" + support.getDescription() + "
\n
";
}
@Override
- public String export(Story story, List comments) {
+ public String getIndexFooter(BasicSupport support) {
+ return "";
+ }
+
+ @Override
+ public String exportHeader(Story story) {
StringBuilder builder = new StringBuilder();
- appendHtml(builder, story, false);
- // TODO: ext link and link
+ appendPre(builder);
+
+ builder.append("\n");
+
+ appendPost(builder);
+
+ return builder.toString();
+ }
+
+ @Override
+ public String export(Story story) {
+ StringBuilder builder = new StringBuilder();
+ appendPre(builder);
+
+ builder.append("\n");
+ appendHtml(builder, story, false);
+ builder.append("
\n");
- builder.append("
");
- for (Comment comment : comments) {
- appendHtml(builder, comment, " ");
+ if (story.getComments() != null) {
+ for (Comment comment : story.getComments()) {
+ appendHtml(builder, comment, " ");
+ }
}
+ builder.append("\n");
+
+ appendPost(builder);
+
return builder.toString();
}
+ private void appendPre(StringBuilder builder) {
+ builder.append("\n");
+ builder.append("\n");
+ builder.append("\n");
+ builder.append(" \n");
+ builder.append(" \n");
+ builder.append(" \n");
+ builder.append("\n");
+ builder.append("\n");
+ }
+
+ private void appendPost(StringBuilder builder) {
+ builder.append("\n");
+ }
+
private void appendHtml(StringBuilder builder, Comment comment, String space) {
- builder.append(space).append(
- "
").append(comment.getTitle()) - .append("
\n"); - builder.append(space).append("").append(comment.getTitle()) + .append("
\n"); + builder.append(space) + .append("" + line + "
"); + } + builder.append("" - + story.getTitle() + "
"); + boolean resume) { + if (resume) { + builder.append("" + + story.getTitle() + "
\n"); + } else { + builder.append("" + story.getTitle() + "
\n"); + } + + builder.append("\n"); + + if (!resume) { + builder.append("
\n"); + builder.append("- Reference: " + story.getId()
+ + "
\n");
+ builder.append(" - News link: " + story.getUrlInternal()
+ + "
\n");
+ builder.append(" - Source link: " + story.getUrlExternal()
+ + "
\n");
+ builder.append("
\n"); + builder.append("\n"); + } + + builder.append("
") + "\n"); } else { - builder.append("
" + story.getTitle() + "
"); + builder.append(" " + + StringUtils.xmlEscape(story.getFullContent()) + .replace("\n", "").replace("[ ", "
") + .replace(" ]", "
") + "\n"); } - builder.append(""); - builder.append("