Fixes for definition lists

This commit is contained in:
Gabriel Wicke 2011-11-04 11:08:11 +00:00
parent 85def70a8a
commit 83a80bad49
2 changed files with 18 additions and 16 deletions

View file

@ -99,15 +99,16 @@ es.HtmlSerializer.prototype.list = function( node ) {
var commonPrefixLength = function (x, y) { var commonPrefixLength = function (x, y) {
var minLength = Math.min(x.length, y.length); var minLength = Math.min(x.length, y.length);
for(var i = 0; i < minLength; i++) { for(var i = 0; i < minLength; i++) {
if (x[i] !== y[i] if (x[i] !== y[i]) {
// Both definitiondata and definitionterm are // Both definitiondata and definitionterm are
// inside dls, so consider them equivalent here. // inside dls, so consider them equivalent here.
&& [x[i], y[i]].sort() var diffs = [x[i], y[i]].sort();
!== ['definitiondata', 'definitionterm'] ) if (diffs[0] !== 'definitiondata'
{ && diffs[1] !== 'definitionterm' ) {
break; break;
} }
} }
}
return i; return i;
} }

View file

@ -74,8 +74,8 @@
} }
dumped_text += bracket_level_padding + ")\n\n"; dumped_text += bracket_level_padding + ")\n\n";
} else { //Stings/Chars/Numbers etc. } else { //Strings/Chars/Numbers etc.
dumped_text = "===>" + arr + "<===(" + typeof(arr) + ")"; dumped_text = "=>" + arr + "<=(" + typeof(arr) + ")";
} }
return dumped_text; return dumped_text;
@ -566,19 +566,20 @@ ext_param_val
lists = es:(dtdd / li)+ lists = es:(dtdd / li)+
{ {
// flatten es // Flatten es
var esLen = es.length; var esLen = es.length;
var flatEs = []; var flatEs = [];
for (var i = 0; i < esLen; i++) { for (var i = 0; i < esLen; i++) {
if (es[i].constructor === Array) { var ei = es[i];
flatEs.concat(es[i]); if ($.isArray(ei)) {
flatEs = flatEs.concat(ei);
} else { } else {
flatEs.push(es[i]); flatEs.push(ei);
} }
} }
return { return {
type: 'list', type: 'list',
children: es children: flatEs
} }
} }
@ -598,7 +599,7 @@ li = bullets:list_char+
dtdd = bullets:list_char+ dtdd = bullets:list_char+
c:(inline_element / [^:\n])+ c:(inline_element / [^:\n])+
":" ":"
d:(inline / anyline) d:(inline_element / [^\n])+
newline newline
{ {
// reject rule if bullets do not end in semicolon // reject rule if bullets do not end in semicolon
@ -609,12 +610,12 @@ dtdd = bullets:list_char+
{ {
type: 'listItem', type: 'listItem',
attributes: {styles: bulletsToTypes(bullets)}, attributes: {styles: bulletsToTypes(bullets)},
content: c[0] content: {text: c.join('')}
}, { }, {
type: 'listItem', type: 'listItem',
attributes: {styles: bulletsToTypes( attributes: {styles: bulletsToTypes(
bullets.slice(0, bullets.length - 1) + ':')}, bullets.slice(0, bullets.length - 1) + ':')},
content: d[0] content: {text: d.join('')}
} }
] ]
} }