space = space.substring(0, LINE_SIZE - 20);
}
- appendLeft(builder, comment.getTitle(), ">> ", " ", space);
+ appendLeft(builder, comment.getTitle(), "** ", " ", space);
appendLeft(builder, "(" + comment.getAuthor() + ")", " ", " ",
space);
builder.append("i\r\n");
- appendLeft(builder, comment.getContent(), " ", " ", space);
+ for (String line : comment.getContentLines()) {
+ int depth = 0;
+ while (line.length() > depth && line.charAt(depth) == '>') {
+ depth++;
+ }
+ line = line.substring(depth).trim();
+
+ String prep = " ";
+ for (int i = 0; i < depth; i++) {
+ prep += ">";
+ }
+
+ if (depth > 0) {
+ prep += " ";
+ }
+
+ appendLeft(builder, line, prep, prep, space);
+ }
builder.append("i\r\n");
for (Comment subComment : comment) {
if (!resume) {
appendCenter(builder, story.getTitle(), true);
builder.append("i\r\n");
- appendLeft(builder, story.getDetails(), " ");
+ appendJustified(builder, story.getDetails(), " ");
builder.append("i\r\n");
builder.append("i o News link: ").append(story.getUrlInternal())
builder.append("i\r\n");
- appendLeft(builder, story.getFullContent(), " ");
+ appendJustified(builder, story.getFullContent(), " ");
} else {
builder.append('1').append(story.getTitle()) //
- .append('\t').append("0").append(story.getSelector()) //
+ .append('\t').append(story.getSelector()) //
.append('\t').append(hostname) //
.append('\t').append(port) //
.append("\r\n");
- appendLeft(builder, story.getDetails(), " ");
+ appendJustified(builder, story.getDetails(), " ");
builder.append("i\r\n");
- appendLeft(builder, story.getContent(), " ");
+ appendJustified(builder, story.getContent(), " ");
}
builder.append("i\r\n");
}
}
+ // note: adds "i"
+ private static void appendJustified(StringBuilder builder, String text,
+ String space) {
+ for (String line : text.split("\n")) {
+ for (String subline : StringJustifier.full(line,
+ LINE_SIZE - space.length())) {
+ builder.append("i").append(subline).append("\r\n");
+ }
+ }
+ }
+
// note: adds "i"
private static void appendLeft(StringBuilder builder, String text,
String space) {
private static void appendLeft(StringBuilder builder, String text,
String prependFirst, String prependOthers, String space) {
String prepend = prependFirst;
- for (String line : StringJustifier.left(text,
- LINE_SIZE - space.length())) {
- builder.append("i").append(space).append(prepend).append(line)
- .append("\r\n");
- prepend = prependOthers;
+ for (String line : text.split("\n")) {
+ for (String subline : StringJustifier.left(line,
+ LINE_SIZE - space.length())) {
+ builder.append("i").append(space).append(prepend)
+ .append(subline).append("\r\n");
+ prepend = prependOthers;
+ }
}
}
}