Browse Source

Fix multi-table issue (buffer not flushed)

vincent 10 years ago
parent
commit
476d18f47f

+ 0 - 29
src/extensions/furigana.js

@@ -1,29 +0,0 @@
-//
-//  Twitter Extension
-//  @username   ->  <a href="http://twitter.com/username">@username</a>
-//  #hashtag    ->  <a href="http://twitter.com/search/%23hashtag">#hashtag</a>
-//
-
-(function(){
-
-    var furigana = function(converter) {
-        return [
-
-            // @username syntax
-            { type: 'lang', regex: '([\u4e00-\u9faf])(([\u3040-\u3096]+?))', replace: function(match, kanji, furigana) {
-                // Check if we matched the leading \ and return nothing changed if so
-                if (leadingSlash === '\\') {
-                    return match;
-                } else {
-                    return '<ruby><rb>'+kanji + '</rb><rp>(</rp><rt>'+furigana+'</rt><rp>)</rp></ruby>';
-                }
-            }}
-        ];
-    };
-
-    // Client-side export
-    if (typeof window !== 'undefined' && window.Showdown && window.Showdown.extensions) { window.Showdown.extensions.furigana = furigana; }
-    // Server-side export
-    if (typeof module !== 'undefined') module.exports = furigana;
-
-}());

+ 2 - 1
src/extensions/table.js

@@ -55,12 +55,13 @@
       return out;
     };
     filter = function(text) { 
-      var i=0, lines = text.split('\n'), tbl = [], line, hs, rows, out = [];
+      var i=0, lines = text.split('\n'), line, hs, rows, out = [];
       for (i; i<lines.length;i+=1) {
         line = lines[i];
         // looks like a table heading
         if (line.trim().match(/^[|]{1}.*[|]{1}$/)) {
           line = line.trim();
+          var tbl = [];
           tbl.push('<table>');
           hs = line.substring(1, line.length -1).split('|');
           tbl.push(tables.thead.apply(this, hs));

+ 0 - 0
test/extensions/furigana/cours_02.html


+ 0 - 137
test/extensions/furigana/cours_02.md

@@ -1,137 +0,0 @@
-Cours 2
-==========
-
-2014年10月06日
-
-Présentation - じこしょうかい
-----------------------
-
-めがねのはんばいいん = vendeur de lunettes
-
-ほうていのひしょ = secrétaire au tribunal
-
-いしゃ = médecin
-
-絵(え)を書(か)く = dessiner, peindre
-
-どこに住(す)んでいますか = Où habitez-vous ?  
-
-小(しょう)児(に)精(せい)神(しん)科(か) = pédopsychiatre (科 pour la spécialisation)
-
-治(なお)す= soigner
-
-ローラースケート = patins à roulettes
-
-ローラーブレード = rollers en lignes
-
-乗(じょう)馬(ば) = équitation
-
-庭(にわ)仕(し)事(ごと) = faire du jardinage
-
-しばいをする = faire du théâtre
-
-家(か)事(じ)をする = faire le ménage
-
-公(こう)園(えん)**を**さんぽします = se promener (avec le を de passage)
-
-はしをわたります = traverser le pont
-
-友(とも)達(だち)に会(あ)います = voir des amis
-
-れきし = histoire
-
-
-Structure grammaticale - 文(ぶん)型(けい)
-----------------------
-
-### Demander, Question ouverte
-
-Mot interrogatif + [Verbe | adj neutre | Nom] + か
-
-#### 例(れい)1
-
-* 何(なん)時(じ)に到(とう)着(ちゃく)しますか。  
-À quelle heure est-ce que j'arrive ?
-* しらべてください。  
-Renseignez-vous  
-
-何(なん)時(じ)に到(とう)着(ちゃく)**するか**しらべてください。  
-Renseignez-vous pour moi sur l'heure d'arrivée.
-
-#### 例(れい)2
-
-* 会(かい)ぎは何(なん)時(じ)におわりますか。   
-À quelle heure fini la réunion ?
-* わかりません。   
-Je ne sais pas
-
-会(かい)ぎは何(なん)時(じ)に**おわるか**わかりません。  
-Je ne sais pas à quelle heure fini la réunion.
-
-#### 例(れい)3
-
-* ビールは何(なん)本(ぼん)ありますか。  
-Combien de bières y a-t-il ?
-* おしえてください。  
-Renseignez moi sur …
-
-ビールは何(なん)本(ぼん)あるかおしえてください。  
-Dites moi combien y a-t-il de bières.
-
-### かどうか - Question fermée (Oui ou non)
-
-[Verbe | adj | Nom] かどうか
-
-#### 例(れい)1
-
-* 間(まち)違(が)いがありませんか。  
-Est-ce qu'il y a des erreurs ?
-* 見(み)てください。  
-Regardez, svp.
-
-間(まち)違(が)いが**ないかどうか**見(み)ってください。  
-Regardez s'il n'y aurait pas des fautes, svp.
-
-* マリアンヌさんが来(き)ますか。   
-Est-ce que Marie-Anne est venue ?
-* 分(わ)かりません。  
-Elle ne savait pas
-
-マリアンヌさんが**くるかどうか**分(わ)かりません。
-
-### Exercices
-
-例1:先生は学生に元(げん)気(き)**かどうか**、聞(き)きました。  
-Le professeur a demandé à l'étudiante si elle allait bien.
-
-例2:先生は学生に何(なん)時(じ)に**来たか**、聞(き)きました。  
-Le professeur a demandé à l'étudiante à quelle heure elle est arrivée.
-
-1. 学生は先生にどんな学(がっ)校(こう)**いいか**相(そう)談(だん)しました。  
-L'étudiant a demandé quelle école était bien.
-2. 学生は田(た)中(なか)さんにパスポートがひっよう**かどうか**確(たし)かめました。  
-L'étudiant a demandé à Mme Yamada si le passport était nécessaire.
-3. 先生は学生に困(こま)っていることが**ないか**聞(き)きました。  
-Le professeur a demandé à l'étudiant s'il était embêté.
-
-### essayer de … pour voir - Vテ + 見(み)ます
-
-靴(くつ)をはいてみます。Essayer des chaussures
-
-* 来て見ます
-* はいてみます Essayer (des chaussures)
-* めがねをかけて見ます Essayer des lunettes
-* かぶって見ます Essayer (un chapeau)
-* たしかめて見ます Vérifier
-* 聞いて見ます demander pour vérifier
-* 電(でん)話(わ)して見ます téléphoner pour vérifier
-* 食(た)べてみます goûter
-
-漢字 Kanji
-----------
-
-* <font size="+2">画</font>・ガ・dessin
-* <font size="+2">用</font>・ヨウ・dédié pour
-* <font size="+2">角</font>・カク・かど・angle
-* <font size="+2">絵</font>・え・dessin
-* <font size="+2">形</font>・かたち・forme

+ 38 - 12
test/extensions/table/multiple-tables.html

@@ -1,17 +1,43 @@
-Table Test
-============
+<h1 id="tabletest">Table Test</h1>
 
-section 1
-------------
+<h2 id="section1">section 1</h2>
 
-|header1    |header2    |header3|
-|-----------|-----------|---------|
-|Value1     |Value2     |Value3   |
+<table>
+    <thead>
+    <tr>
+        <th id="header1" style="text-align:left;">header1    </th>
+        <th id="header2" style="text-align:left;">header2    </th>
+        <th id="header3" style="text-align:left;">header3</th>
+    </tr>
+    </thead>
 
+    <tbody>
+    <tr>
+        <td style="text-align:left;"><p>Value1     </p></td>
+        <td style="text-align:left;"><p>Value2     </p></td>
+        <td style="text-align:left;"><p>Value3   </p></td>
+    </tr>
 
-section 2
------------
+    </tbody>
+</table>
 
-|headerA    |headerB    |headerC|
-|-----------|-----------|---------|
-|ValueA     |ValueB     |ValueC   |
+<h2 id="section2">section 2</h2>
+
+<table>
+    <thead>
+    <tr>
+        <th id="headera" style="text-align:left;">headerA    </th>
+        <th id="headerb" style="text-align:left;">headerB    </th>
+        <th id="headerc" style="text-align:left;">headerC</th>
+    </tr>
+    </thead>
+
+    <tbody>
+    <tr>
+        <td style="text-align:left;"><p>ValueA     </p></td>
+        <td style="text-align:left;"><p>ValueB     </p></td>
+        <td style="text-align:left;"><p>ValueC   </p></td>
+    </tr>
+
+    </tbody>
+</table>

+ 24 - 0
test/testTable.js

@@ -0,0 +1,24 @@
+var Showdown = require('../src/showdown');
+var fs = require('fs');
+
+module.exports = {
+    setUp:function(callback) {
+        this.showdown = new Showdown.converter({extensions:['table']});
+        callback();
+    },
+    testMakeHtml:function(test) {
+        var html = this.showdown.makeHtml("**blah**");
+        console.log(html);
+        test.equals(html ,'<p><strong>blah</strong></p>');
+        test.done();
+    },
+    testMakeTable:function(test) {
+        var md = fs.readFileSync('test/extensions/table/multiple-tables.md','UTF-8');
+        var html = fs.readFileSync('test/extensions/table/multiple-tables.html','UTF-8');
+
+        var result = this.showdown.makeHtml(md);
+        console.log(result);
+        test.equals(result, html);
+        test.done();
+    }
+};