躺在沙灘上的小豬

          快樂的每一天

          wiki語法

          喜歡 Confluence 最主要的原因其實是因為我喜歡他強大的wiki語法,今天閑的無事,試著用javascript寫了看看:

          <html>
          <head>
              
          <title>Demo</title>
              
          <link rel="stylesheet" href="style.css" type="text/css"/>
          </head>

          <body>
          Text goes here:
          <br>
          <textarea rows="15" cols="120" id="input" name="input" onchange="parse();">
          </textarea>
          <br/>

          Output:
          <div id="output"/>
          </body>
          </html>
          <script type="text/javascript">
              
          function parse() {
                  
          //{"pattern":"","replacement":""}
                  var line = "(.*)";
                  
          var words = "((.*\\n?)*)";
                  
          var breaklines = "\\n";
                  
          var patterns = new Array(
                  
          //Headings
                  {"pattern":"h1\\." + line ,"replacement":"<h1 class=\"heading1\">$1</h1>"},
                  
          {"pattern":"h2\\." + line,"replacement":"<h2 class=\"heading1\">$1</h1>"},
                  
          {"pattern":"h3\\." + line ,"replacement":"<h3 class=\"heading1\">$1</h1>"},
                  
          {"pattern":"h4\\." + line ,"replacement":"<h4 class=\"heading1\">$1</h1>"},
                  
          {"pattern":"h5\\." + line ,"replacement":"<h5 class=\"heading1\">$1</h1>"},
                  
          {"pattern":"h6\\." + line ,"replacement":"<h6 class=\"heading1\">$1</h1>"},
                  
          //Text Effects
                  {"pattern":"\\*" + line + "\\*","replacement":"<b>$1</b>"},
                  
          {"pattern":"_" + line + "_","replacement":"<em>$1</em>"},
                  
          {"pattern":"\\?\\?" + line + "\\?\\?","replacement":"<cite>$1</cite>"},
                  
          {"pattern":"-" + line + "-","replacement":"<del>$1</del>"},
                  
          {"pattern":"\\+" + line + "\\+","replacement":"<u>$1</u>"},
                  
          {"pattern":"\\^" + line + "\\^","replacement":"<sup>$1</sup>"},
                  
          {"pattern":"~" + line + "~","replacement":"<sub>$1</sub>"},
                  
          {"pattern":"\\{\\{" + line + "\\}\\}","replacement":"<tt class=\"monospaced\">$1</tt>"},

                  
          {"pattern":"bq\\." + line,"replacement":"<blockquote class=\"blockquote\">$1</blockquote>"},
                  
          {"pattern":"\\{quote\\}" + words + "\\{quote\\}","replacement":"<blockquote class=\"blockquote\">$1</blockquote>"},

                 
          //{"pattern":"\\{color:(\\w*)\\}" + words + "\\{color\\}","replacement":"<font color=\"$1\">$2</font>"},
                  //Text Breaks

                  
          //Links

                  
          // Lists

                  
          //Images

                  
          //Tables

                  
          //Advanced Formatting
                  {"pattern":"\\{noformat\\}((.*\\n?)*)\\{noformat\\}","replacement":"<div class=\"preformatted\"><div class=\"preformattedContent\"><pre>$1</pre></div></div>"}

                  
          //Confluence Content

                  
          //External Content

                  
          //Misc
                          )
                          ;
                  
          var text = document.getElementById("input").getAttribute("value"+ "\n";

                  alert(text);
                  
          for (var element in patterns) {
                      
          var pattern = new RegExp(patterns[element].pattern, "gi");
                      text 
          = text.replace(pattern, patterns[element].replacement)
                  }


                  document.getElementById(
          "output").innerHTML = text;
              }


              parse();
          </script>

          看起來,還不錯,但是有個要命的問題是,IE運行的時候會掛
          不管它,Just for Fun明天繼續.

          posted on 2006-01-18 20:21 martin xus 閱讀(697) 評論(0)  編輯  收藏 所屬分類: javascript

          主站蜘蛛池模板: 秦皇岛市| 岚皋县| 九寨沟县| 高安市| 梅州市| 遵义县| 卫辉市| 土默特右旗| 福清市| 原平市| 北宁市| 贡觉县| 独山县| 湄潭县| 阜城县| 呼图壁县| 隆回县| 慈溪市| 丹寨县| 穆棱市| 汨罗市| 罗甸县| 柏乡县| 锡林郭勒盟| 尼木县| 长治市| 浦东新区| 杭州市| 灌阳县| 宜宾县| 丹寨县| 苍梧县| 桂平市| 松溪县| 饶阳县| 黄大仙区| 兴义市| 浏阳市| 土默特左旗| 宣武区| 南江县|