Fix multi-table issue (buffer not flushed)

This commit is contained in:
vincent 2014-11-11 20:17:35 +01:00
parent 5eb7e618e9
commit 476d18f47f
6 changed files with 64 additions and 179 deletions

View File

@ -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;
}());

View File

@ -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));

View File

@ -1,137 +0,0 @@
Cours 2
==========
4年
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

View File

@ -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
test/testTable.js Normal file
View File

@ -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();
}
};