From 749e7200f5fbff27bc20250ceb410ec8629e4a26 Mon Sep 17 00:00:00 2001 From: ache Date: Wed, 6 Dec 2017 12:28:48 +0100 Subject: Init commit --- app.js | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 app.js (limited to 'app.js') diff --git a/app.js b/app.js new file mode 100644 index 0000000..b244cb8 --- /dev/null +++ b/app.js @@ -0,0 +1,63 @@ +'use strict'; + + +const START = /^(\[_+)/g; +const END = /(_+])/g; + +function locator(value, fromIndex) { + var index = value.indexOf(START, fromIndex); + return index; +} + +function plugin() { + function blockTokenizer(eat, value, silent) { + + if (!this.options.gfm || value.search(START) != 0) { + return; + } + if( value.search(END) > 0 ) { + return eat(value.slice(0,value.search(END))+value.match(END)[0])({ + type:'html', + value:'' + /* + type: 'form', + children: [ { + type: 'texterea', + children: [ { type: 'text', + value: value.slice(value.match(START)[0].length+1, value.search(END)-1 ) + } ], + data: { + hName: 'textarea' + } + }], + data: { + hName: 'form' + }*/ + }); + } else + return true; + } + + blockTokenizer.locator = locator; + + var Parser = this.Parser; + + // Inject blockTokenizer + const blockTokenizers = Parser.prototype.blockTokenizers + const blockMethods = Parser.prototype.blockMethods + blockTokenizers.textinput = blockTokenizer + blockMethods.splice(blockMethods.indexOf('fencedCode') + 1, 0, 'textinput') + + + var Compiler = this.Compiler; + + // Stringify + if (Compiler) { + var visitors = Compiler.prototype.visitors; + visitors.textinput = function (node) { + return '[__' + this.all(node).join('') + '__]'; + }; + } +} + +module.exports = plugin; -- cgit v1.2.3