Introduce inline commands : inlineAnchor, inlineCrossReference for easier markup composition
This commit is contained in:
@@ -109,6 +109,11 @@ public abstract class AbstractMarkupDocBuilder implements MarkupDocBuilder {
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String inlineCrossReference(String anchor) {
|
||||
return inlineCrossReference(anchor, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MarkupDocBuilder newLine(){
|
||||
documentBuilder.append(newLine);
|
||||
|
||||
@@ -62,14 +62,20 @@ public interface MarkupDocBuilder {
|
||||
|
||||
MarkupDocBuilder anchor(String anchor);
|
||||
|
||||
String inlineAnchor(String anchor);
|
||||
|
||||
/**
|
||||
* @param anchor Target anchor
|
||||
* @param text If not null, display this text instead of anchor
|
||||
*/
|
||||
MarkupDocBuilder crossReference(String anchor, String text);
|
||||
|
||||
String inlineCrossReference(String anchor, String text);
|
||||
|
||||
MarkupDocBuilder crossReference(String anchor);
|
||||
|
||||
String inlineCrossReference(String anchor);
|
||||
|
||||
MarkupDocBuilder newLine();
|
||||
|
||||
/**
|
||||
|
||||
@@ -132,19 +132,33 @@ public class AsciiDocBuilder extends AbstractMarkupDocBuilder {
|
||||
|
||||
@Override
|
||||
public MarkupDocBuilder anchor(String anchor) {
|
||||
documentBuilder.append(AsciiDoc.ANCHOR_START).append(normalizeReferenceAnchor(anchor)).append(AsciiDoc.ANCHOR_END);
|
||||
documentBuilder.append(inlineAnchor(anchor));
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String inlineAnchor(String anchor) {
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
stringBuilder.append(AsciiDoc.ANCHOR_START).append(normalizeReferenceAnchor(anchor)).append(AsciiDoc.ANCHOR_END);
|
||||
return stringBuilder.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public MarkupDocBuilder crossReference(String anchor, String text) {
|
||||
if (text == null)
|
||||
documentBuilder.append(AsciiDoc.CROSS_REFERENCE_START).append(normalizeReferenceAnchor(anchor)).append(AsciiDoc.CROSS_REFERENCE_END);
|
||||
else
|
||||
documentBuilder.append(AsciiDoc.CROSS_REFERENCE_START).append(normalizeReferenceAnchor(anchor)).append(",").append(text).append(AsciiDoc.CROSS_REFERENCE_END);
|
||||
documentBuilder.append(inlineCrossReference(anchor, text));
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String inlineCrossReference(String anchor, String text) {
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
if (text == null)
|
||||
stringBuilder.append(AsciiDoc.CROSS_REFERENCE_START).append(normalizeReferenceAnchor(anchor)).append(AsciiDoc.CROSS_REFERENCE_END);
|
||||
else
|
||||
stringBuilder.append(AsciiDoc.CROSS_REFERENCE_START).append(normalizeReferenceAnchor(anchor)).append(",").append(text).append(AsciiDoc.CROSS_REFERENCE_END);
|
||||
return stringBuilder.toString();
|
||||
}
|
||||
|
||||
private String escapeTableCell(String cell) {
|
||||
return cell.replace(AsciiDoc.TABLE_COLUMN_DELIMITER.toString(), AsciiDoc.TABLE_COLUMN_DELIMITER_ESCAPE.toString());
|
||||
}
|
||||
|
||||
@@ -148,22 +148,33 @@ public class MarkdownBuilder extends AbstractMarkupDocBuilder
|
||||
return this;
|
||||
}
|
||||
|
||||
// TODO
|
||||
@Override
|
||||
public MarkupDocBuilder anchor(String anchor) {
|
||||
documentBuilder.append(inlineAnchor(anchor));
|
||||
return this;
|
||||
}
|
||||
|
||||
// TODO
|
||||
@Override
|
||||
public String inlineAnchor(String anchor) {
|
||||
return "";
|
||||
}
|
||||
|
||||
@Override
|
||||
public MarkupDocBuilder crossReference(String anchor, String text) {
|
||||
if (text == null)
|
||||
documentBuilder.append(anchor);
|
||||
else
|
||||
documentBuilder.append(text);
|
||||
documentBuilder.append(inlineCrossReference(anchor, text));
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String inlineCrossReference(String anchor, String text) {
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
if (text == null)
|
||||
stringBuilder.append(anchor);
|
||||
else
|
||||
stringBuilder.append(text);
|
||||
return stringBuilder.toString();
|
||||
}
|
||||
|
||||
private String escapeTableCell(String cell) {
|
||||
return cell.replace(Markdown.TABLE_COLUMN_DELIMITER.toString(), Markdown.TABLE_COLUMN_DELIMITER_ESCAPE.toString());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user