info.bliki.wiki.tags.ReferencesTag Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bliki-core Show documentation
Show all versions of bliki-core Show documentation
This is the core project.
The newest version!
package info.bliki.wiki.tags;
import info.bliki.wiki.filter.Encoder;
import info.bliki.wiki.filter.ITextConverter;
import info.bliki.wiki.model.Configuration;
import info.bliki.wiki.model.IWikiModel;
import info.bliki.wiki.model.Reference;
import java.io.IOException;
import java.util.List;
/**
* Wiki tag for references <references />
*
* See Footnotes
*/
public class ReferencesTag extends HTMLTag {
public ReferencesTag() {
super("references");
}
@Override
public void renderHTML(ITextConverter converter, Appendable writer, IWikiModel model) throws IOException {
List list = model.getReferences();
if (list != null) {
Reference ref;
int counter;
writer.append("\n");
for (int i = 0; i < list.size(); i++) {
ref = list.get(i);
counter = ref.getCounter();
writer.append("- ↑ ");// ↑
} else {
String note;
char ch;
writer.append(nameAttribute);
writer.append("\">↑ "); // ↑
for (int j = 0; j <= counter; j++) {
if (j >= Reference.CHARACTER_REFS.length()) {
ch = 'Z';
} else {
ch = Reference.CHARACTER_REFS.charAt(j);
}
if (j != 0) {
note = nameAttribute + '_' + ch;
} else {
note = nameAttribute;
}
writer.append("" + ch + " ");
}
}
writer.append(ref.getRefString());
writer.append("
");
}
writer.append("\n
");
}
}
@Override
public boolean isReduceTokenStack() {
return false;
}
@Override
public String getParents() {
return Configuration.SPECIAL_BLOCK_TAGS;
}
}