Fight the Future

Java言語とJVM、そしてJavaエコシステム全般にまつわること

はてな記法からSourceForgeのWiki記法に変換する

自分で作ってるライブラリの使い方とかこうやってはてなに書いてるんだけど、
プロジェクトWikiにまとめるときに、はてなとSourceForgeのWikiの記法に違いがあって変換に手間がかかる。
すべてうまく変換できないけど、主要なものは変換するスクリプトを書いた。

var wiki = text.replace(/>\|(.*)\|/g, "\{\{\{ code $1")
               .replace(/\|\|</g, "\}\}\}")
               .replace(/\*(.*)/g, "= $1 =")
               .replace(/[\-|\+]/g, " * ")
               .replace(/\|/g, "\|\|");

シンタックスハイライトと、箇条書き、表組みを書き換える。
HTMLファイルはこれ。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <script type="text/javascript" src="lib/jquery/jquery.js">
        </script>
        <script type="text/javascript">
            $(function(){
                $("#trigger").click(function(){
                    var text = $("#target").val();
                    var wiki = text.replace(/>\|(.*)\|/g, "\{\{\{ code $1").replace(/\|\|</g, "\}\}\}").replace(/\*(.*)/g, "= $1 =").replace(/[\-|\+]/g, " * ").replace(/\|/g, "\|\|");
                    $("#result").val(wiki);
                });
            });
        </script>
    </head>
    <body>
        <textarea id="target" rows="10" cols="100"></textarea>
        <br>
        <input id="trigger" type="button" value="変換">
        <br>
        <textarea id="result" rows="10" cols="100" onfocus="this.select()"></textarea>
    </body>
</html>

素で書くの面倒なのでjQuery使ってるけど、こんなんにライブラリ使いたくない人は書き換えて。