0

mylyn (スタンドアロン) wiki パーサーを拡張する方法の例を探しています。独自の複数行ブロックを作成したい

%%%
my super text processed by my code
%%%

mylyn のソース コードを見て、Web を検索して、それを理解しようとしました。どうすればいいのか本当にわかりません。また、ドキュメントもあまり役に立ちません。とにかく、別のライブラリの方が私のニーズに適しているのでしょうか? 自分のものを埋め込むために拡張できる wiki-text to html パーサーが必要です。

4

1 に答える 1

0

カスタム拡張機能で mylyin を動作させることができませんでした。私が 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;
    }
}
于 2015-03-16T12:55:54.777 に答える