我正在寻找一个如何扩展mylyn(独立)wiki解析器的示例。我想制作我自己的多行块,即
%%%
my super text processed by my code
%%%
我试图通过查看mylyn的源代码和搜索网络来找出答案。我真的不知道该怎么办。而且文档也没有太大帮助。也许另一个图书馆更适合我的需要?我只需要一个wiki文本到html的解析器,我可以扩展它来嵌入我自己的东西。
我没有让mylyin使用自定义扩展。任何对这样一个fature感兴趣的人,我都改用bliki,下面是一些如何扩展解析器的例子:bliki。
即:
public class SampleTag extends NowikiTag implements INoBodyParsingTag {
private final static String HEADER = "<div id="sample">n"
+ "<a href="#" id="show" onclick="$('evalframe').show();$('hide').show();$('show').hide();" />Show Sample</a> n"
+ "<a href="#" style="display: none;" id="hide" onclick="$('evalframe').hide();;$('hide').hide();$('show').show();" />Hide Sample</a><br />n"
+ "<iframe src="";
private final static String FOOTER = "" style="display: none;" id="evalframe" width="480" height="160" n"
+ " scrolling="yes" marginheight="0" marginwidth="0" frameborder="1">n"
+ " <p>You browser doesn't support IFRAMEs</p>n" + "</iframe>n" + "</div>";
public SampleTag() {
super("sample");
}
@Override
public void renderHTML(ITextConverter converter, Appendable buf, IWikiModel model) throws IOException {
TagNode node = this;
Map<String, String> tagAtttributes = node.getAttributes();
StringBuilder evalUrl = new StringBuilder(512);
// sample input fields/textareas
Utils.appendAmpersandEscapedAttribute(evalUrl, "ci", tagAtttributes);
// sample actions
Utils.appendAmpersandEscapedAttribute(evalUrl, "ca", tagAtttributes);
buf.append(HEADER);
// URL points to http://matheclipse.org/eval.jsp
buf.append("../eval.jsp?");
buf.append(evalUrl);
// renderHTMLWithoutTag(converter, buf, model);
buf.append(FOOTER);
}
@Override
public boolean isReduceTokenStack() {
return true;
}
}