X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;ds=sidebyside;f=src%2Fbe%2Fnikiroo%2Fgofetch%2Foutput%2FHtml.java;h=a4452643ccf055d6584d74781771370b7c1c8e58;hb=ff49bc765089d37d20ad950350d02876435c73f8;hp=c087ef24d91ced582827d5cac32f9dcf8574424f;hpb=70b18499defd9bd4c32f1d60ac44b971678308c2;p=gofetch.git
diff --git a/src/be/nikiroo/gofetch/output/Html.java b/src/be/nikiroo/gofetch/output/Html.java
index c087ef2..a445264 100644
--- a/src/be/nikiroo/gofetch/output/Html.java
+++ b/src/be/nikiroo/gofetch/output/Html.java
@@ -1,10 +1,10 @@
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, String hostname, String preselector, int port) {
@@ -12,86 +12,141 @@ public class Html extends Output {
}
@Override
- public String getIndexHeader() {
- String gopherUrl = "gopher://" + hostname + preselector + ":" + port;
+ public String getMainIndexHeader() {
+ String sel = preselector;
+ if (!sel.isEmpty()) {
+ sel = "/1" + sel;
+ }
+
+ String gopherUrl = "gopher://" + hostname + sel + ":" + port;
+
+ StringBuilder builder = new StringBuilder();
+ appendPre(builder);
- return "
News
\n"//
+ builder.append("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"//
- ;
+ );
+
+ appendPost(builder);
+
+ return builder.toString();
}
@Override
- public String getIndexFooter() {
+ public String getMainIndexFooter() {
return "";
}
@Override
- public String export(Story story) {
+ public String getIndexHeader(BasicSupport support) {
+ return "" + support.getDescription() + "
\n
";
+ }
+
+ @Override
+ public String getIndexFooter(BasicSupport support) {
+ return "";
+ }
+
+ @Override
+ public String exportHeader(Story story) {
StringBuilder builder = new StringBuilder();
+ appendPre(builder);
+
builder.append("\n");
+ appendPost(builder);
+
return builder.toString();
}
@Override
- public String export(Story story, List comments) {
+ public String export(Story story) {
StringBuilder builder = new StringBuilder();
+ appendPre(builder);
builder.append("\n");
appendHtml(builder, story, false);
builder.append("
\n");
- if (comments != null) {
- for (Comment comment : comments) {
+ 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() + "
\n"); + builder.append("" + + story.getTitle() + "
\n"); } else { - builder.append("" + story.getTitle() + "
\n"); + 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");
@@ -102,8 +157,17 @@ public class Html extends Output {
builder.append(" \n");
- builder.append(" " + story.getContent() + "\n");
+ builder.append(" \n");
+ if (resume) {
+ builder.append(" "
+ + StringUtils.xmlEscape(story.getContent()).replace("\n",
+ " \n");
return builder;
\n"); } - builder.append("
") + "\n"); + } else { + builder.append(" " + + StringUtils.xmlEscape(story.getFullContent()) + .replace("\n", "
").replace("[ ", "
") + .replace(" ]", "
") + "\n"); + } builder.append("