package be.nikiroo.gofetch.output;
-import be.nikiroo.gofetch.StringJustifier;
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;
+import be.nikiroo.utils.StringUtils.Alignment;
public class Gopher extends Output {
static private final int LINE_SIZE = 67;
}
@Override
- public String getIndexHeader() {
+ public String getMainIndexHeader() {
StringBuilder builder = new StringBuilder();
appendCenter(builder, true, "NEWS", "", true);
}
@Override
- public String getIndexFooter() {
+ public String getMainIndexFooter() {
+ return "";
+ }
+
+ @Override
+ public String getIndexHeader(BasicSupport support) {
+ StringBuilder builder = new StringBuilder();
+ appendCenter(builder, true, support.getDescription(), "", true);
+ builder.append("\r\n");
+ builder.append("\r\n");
+ builder.append("\r\n");
+ return builder.toString();
+ }
+
+ @Override
+ public String getIndexFooter(BasicSupport support) {
return "";
}
}
appendLeft(builder, menu, comment.getTitle(), "** ", " ", space);
- appendLeft(builder, menu, "(" + comment.getAuthor() + ")", " ",
- " ", space);
- builder.append((menu ? "i" : "") + "\r\n");
+ if (comment.getAuthor() != null
+ && !comment.getAuthor().trim().isEmpty()) {
+ appendLeft(builder, menu, "(" + comment.getAuthor() + ")", " ",
+ " ", space);
+ builder.append((menu ? "i" : "") + "\r\n");
+ }
for (String line : comment.getContentLines()) {
int depth = 0;
appendJustified(builder, false, story.getDetails(), " ");
builder.append("\r\n");
+ builder.append(" o Reference: ").append(story.getId())
+ .append("\r\n");
builder.append(" o News link: ").append(story.getUrlInternal())
.append("\r\n");
builder.append(" o Source link: ").append(story.getUrlExternal())
builder.append("\r\n");
appendJustified(builder, false, story.getFullContent(), " ");
+ builder.append("\r\n");
} else {
builder.append('0').append(story.getTitle()) //
.append('\t').append(story.getSelector()) //
appendJustified(builder, true, story.getDetails(), " ");
builder.append("i\r\n");
- appendJustified(builder, true, story.getContent(), " ");
+ String content = story.getContent();
+ if (!content.isEmpty()) {
+ appendJustified(builder, true, content, " ");
+ builder.append("i\r\n");
+ }
}
- builder.append(resume ? "i" : "").append("\r\n");
-
return builder;
}
if (allCaps) {
text = text.toUpperCase();
}
-
+
int size = LINE_SIZE - space.length();
- for (String line : StringJustifier.center(text, size)) {
- builder.append(menu ? "i" : "")
- .append(space)
- .append(line).append("\r\n");
+ for (String line : StringUtils
+ .justifyText(text, size, Alignment.CENTER)) {
+ builder.append(menu ? "i" : "") //
+ .append(space) //
+ .append(line) //
+ .append("\r\n");
}
}
String text, String space) {
for (String line : text.split("\n")) {
int size = LINE_SIZE - space.length();
- for (String subline : StringJustifier.full(line, size)) {
- builder.append(menu ? "i" : "")
- .append(space)
- .append(subline)
- .append("\r\n");
+ for (String subline : StringUtils.justifyText(line, size,
+ Alignment.JUSTIFY)) {
+ builder.append(menu ? "i" : "") //
+ .append(space) //
+ .append(subline) //
+ .append("\r\n");
}
}
}
String text, String prependFirst, String prependOthers, String space) {
String prepend = prependFirst;
for (String line : text.split("\n")) {
- for (String subline : StringJustifier.left(line,
- LINE_SIZE - space.length())) {
- builder.append(menu ? "i" : "").append(space).append(prepend)
- .append(subline).append("\r\n");
+ for (String subline : StringUtils.justifyText(line, LINE_SIZE
+ - space.length(), Alignment.LEFT)) {
+ builder.append(menu ? "i" : "") //
+ .append(space) //
+ .append(prepend) //
+ .append(subline) //
+ .append("\r\n");
prepend = prependOthers;
}
}