読者です 読者をやめる 読者になる 読者になる

Fight the Future

何かを始めたら、半分成功したのと同じ

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

仕事 pg

自分で作ってるライブラリの使い方とかこうやってはてなに書いてるんだけど、
プロジェクト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使ってるけど、こんなんにライブラリ使いたくない人は書き換えて。