Text-slicer: Add support for discarding the content of an element

This commit is contained in:
Jermolene 2018-01-24 12:01:56 +00:00
parent 3e81921eea
commit 55d7f43f0c
2 changed files with 23 additions and 12 deletions

View File

@ -7,7 +7,22 @@ tags: $:/tags/text-slicer/slicer-rules
[
{
"selector": "address,blockquote,center,dl,dt,fieldset,form,h1,h2,h3,h4,h5,h6,hr,iframe,isindex,noframes,noscript,ol,p,pre,table,ul",
"selector": "li > p",
"actions": {
"dontRenderTag": true
}
},
{
"selector": "p",
"actions": {
"startNewChunk": {
"toc-type": "paragraph"
},
"dontRenderTag": true
}
},
{
"selector": "address,blockquote,center,dl,dt,fieldset,form,h1,h2,h3,h4,h5,h6,hr,iframe,isindex,noframes,noscript,ol,pre,table,ul",
"actions": {
"startNewChunk": {
"toc-type": "paragraph"
@ -25,19 +40,11 @@ tags: $:/tags/text-slicer/slicer-rules
"isImage": true
}
},
{
"selector": "head > title",
"actions": {
"dontRenderTag": true,
"startNewChunk": {
"toc-type": "title"
}
}
},
{
"selector": "*",
"actions": {
"dontRenderTag": true
"dontRenderTag": true,
"discard": true
}
}
]

View File

@ -340,8 +340,12 @@ Slicer.prototype.onCloseTag = function(name) {
Slicer.prototype.onText = function(text) {
var self = this;
text = $tw.utils.htmlEncode(text);
// Discard the text if we're inside an element with actions.discard set true
if(this.elementStack.some(function(e) {return e.actions.discard;})) {
return;
}
// Optionally escape common character sequences that might be parsed as wikitext
text = $tw.utils.htmlEncode(text);
if(this.escapeWikiText) {
$tw.utils.each(["[[","{{","__","''","//",",,","^^","~~","`","--","\"\"","@@"],function(str) {
var replace = str.split("").map(function(c) {