X-Git-Url: http://git.nikiroo.be/?p=gofetch.git;a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Fgofetch%2Foutput%2FHtml.java;h=50fe2d7fac8848e50c2efe41929567e2fa92c15c;hp=c087ef24d91ced582827d5cac32f9dcf8574424f;hb=59eb1223bbbf1bafa53360ba6e0c5cfa55aec14b;hpb=70b18499defd9bd4c32f1d60ac44b971678308c2 diff --git a/src/be/nikiroo/gofetch/output/Html.java b/src/be/nikiroo/gofetch/output/Html.java index c087ef2..50fe2d7 100644 --- a/src/be/nikiroo/gofetch/output/Html.java +++ b/src/be/nikiroo/gofetch/output/Html.java @@ -1,7 +1,5 @@ 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; @@ -13,17 +11,27 @@ public class Html extends Output { @Override public String getIndexHeader() { - String gopherUrl = "gopher://" + hostname + preselector + ":" + port; + String sel = preselector; + if (!sel.isEmpty()) { + sel = "/1" + sel; + } - return "

News

\n"// + 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"// - + "
\n"// + "

They are simply scrapped from their associated webpage and updated a few times a day.

\n"// - + "
\n"// - ; + ); + + appendPost(builder); + + return builder.toString(); } @Override @@ -32,50 +40,76 @@ public class Html extends Output { } @Override - public String export(Story story) { + public String exportHeader(Story story) { StringBuilder builder = new StringBuilder(); + appendPre(builder); + builder.append("
\n"); appendHtml(builder, story, true); builder.append("
\n"); 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( - "
"); + builder.append(space) + .append("
\n"); builder.append(space).append("

").append(comment.getTitle()) .append("

\n"); - builder.append(space).append("
") + builder.append(space).append("
") .append(comment.getAuthor()).append("
\n"); - builder.append(space).append("
") - .append(comment.getContent()).append("
\n"); + builder.append(space).append("
"); + for (String line : comment.getContentLines()) { + builder.append("

" + line + "

"); + } + builder.append("
\n"); for (Comment subComment : comment) { appendHtml(builder, subComment, space + " "); } - builder.append(space).append("
"); + builder.append(space).append("
\n"); } private StringBuilder appendHtml(StringBuilder builder, Story story, @@ -86,8 +120,12 @@ public class Html extends Output { } else { builder.append("

" + story.getTitle() + "

\n"); } - builder.append("
(" + story.getDetails() - + ")
\n"); + + builder.append("
"); + if (story.getDetails() != null && !story.getDetails().isEmpty()) { + builder.append("(").append(story.getDetails()).append(")"); + } + builder.append("
\n"); builder.append("
\n"); if (!resume) { @@ -102,8 +140,15 @@ public class Html extends Output { builder.append("
\n"); } - builder.append("
\n"); - builder.append(" " + story.getContent() + "\n"); + builder.append("
\n"); + if (resume) { + builder.append(" " + story.getContent() + "\n"); + } else { + builder.append(" " + + story.getFullContent().replace("\n", "
") + .replace("[ ", "

").replace(" ]", "

") + + "\n"); + } builder.append("
\n"); return builder;