BUGFIX: inline spoiler for text, block spoiler for images
This commit is contained in:
parent
b024bebbe2
commit
ad8755aa70
|
@ -78,6 +78,19 @@ Discourse.Dialect.inlineBetween({
|
||||||
emitter: function(contents) { return ['a', {href: contents, 'data-bbcode': true}, contents]; }
|
emitter: function(contents) { return ['a', {href: contents, 'data-bbcode': true}, contents]; }
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Discourse.Dialect.inlineBetween({
|
||||||
|
start: '[spoiler]',
|
||||||
|
stop: '[/spoiler]',
|
||||||
|
rawContents: true,
|
||||||
|
emitter: function(contents) {
|
||||||
|
if (/<img/i.test(contents)) {
|
||||||
|
return ['div', { 'class': 'spoiler' }, contents];
|
||||||
|
} else {
|
||||||
|
return ['span', { 'class': 'spoiler' }, contents];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
replaceBBCodeParamsRaw("url", function(param, contents) {
|
replaceBBCodeParamsRaw("url", function(param, contents) {
|
||||||
return ['a', {href: param, 'data-bbcode': true}, contents];
|
return ['a', {href: param, 'data-bbcode': true}, contents];
|
||||||
});
|
});
|
||||||
|
@ -99,12 +112,3 @@ Discourse.Dialect.replaceBlock({
|
||||||
return ['p', ['pre'].concat(blockContents.join("\n"))];
|
return ['p', ['pre'].concat(blockContents.join("\n"))];
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
Discourse.Dialect.replaceBlock({
|
|
||||||
start: /(\[spoiler\])([\s\S]*)/igm,
|
|
||||||
stop: '[/spoiler]',
|
|
||||||
|
|
||||||
emitter: function(blockContents) {
|
|
||||||
return ['p', ['div', { 'class': 'spoiler' }, blockContents.join("\n")]];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
|
@ -40,8 +40,12 @@ describe PrettyText do
|
||||||
match_html "<p>hello <span class=\"mention\">@bob</span>'s <span class=\"mention\">@bob</span>,<span class=\"mention\">@bob</span>; <span class=\"mention\">@bob</span>\"</p>"
|
match_html "<p>hello <span class=\"mention\">@bob</span>'s <span class=\"mention\">@bob</span>,<span class=\"mention\">@bob</span>; <span class=\"mention\">@bob</span>\"</p>"
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'should add spoiler tags' do
|
it 'should spoiler text' do
|
||||||
PrettyText.cook("[spoiler]hello[/spoiler]").should match_html "<p><div class=\"spoiler\">hello</div></p>"
|
PrettyText.cook("[spoiler]hello[/spoiler]").should match_html "<p><span class=\"spoiler\">hello</span></p>"
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'should spoiler img' do
|
||||||
|
PrettyText.cook("[spoiler]<img src='http://cnn.com/a.gif'>[/spoiler]").should match_html "<p><div class=\"spoiler\"><img src=\"http://cnn.com/a.gif\"</div></p>"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@ test('code', function() {
|
||||||
});
|
});
|
||||||
|
|
||||||
test('spoiler', function() {
|
test('spoiler', function() {
|
||||||
format("[spoiler]it's a sled[/spoiler]", "<div class=\"spoiler\">it's a sled</div>", "supports spoiler tags on text");
|
format("[spoiler]it's a sled[/spoiler]", "<span class=\"spoiler\">it's a sled</span>", "supports spoiler tags on text");
|
||||||
format("[spoiler]<img src='http://eviltrout.com/eviltrout.png' width='50' height='50'>[/spoiler]", "<div class=\"spoiler\"><img src='http://eviltrout.com/eviltrout.png' width='50' height='50'></div>", "supports spoiler tags on images");
|
format("[spoiler]<img src='http://eviltrout.com/eviltrout.png' width='50' height='50'>[/spoiler]", "<div class=\"spoiler\"><img src='http://eviltrout.com/eviltrout.png' width='50' height='50'></div>", "supports spoiler tags on images");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue