markdown-it-diaspora-mention
Version:
diaspora* mentions for markdown-it markdown parser.
3 lines (2 loc) • 11.5 kB
JavaScript
/*! markdown-it-diaspora-mention 1.2.0 https://github.com/diaspora/markdown-it-diaspora-mention @license MIT */
!function(n){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=n();else if("function"==typeof define&&define.amd)define([],n);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.markdownitDiasporaMention=n()}}(function(){return function n(e,t,r){function o(c,u){if(!t[c]){if(!e[c]){var a="function"==typeof require&&require;if(!u&&a)return a(c,!0);if(i)return i(c,!0);var s=new Error("Cannot find module '"+c+"'");throw s.code="MODULE_NOT_FOUND",s}var f=t[c]={exports:{}};e[c][0].call(f.exports,function(n){var t=e[c][1][n];return o(t?t:n)},f,f.exports,n,e,t,r)}return t[c].exports}for(var i="function"==typeof require&&require,c=0;c<r.length;c++)o(r[c]);return o}({1:[function(n,e,t){n("../../modules/es6.array.find"),e.exports=n("../../modules/_core").Array.find},{"../../modules/_core":9,"../../modules/es6.array.find":33}],2:[function(n,e,t){e.exports=function(n){if("function"!=typeof n)throw TypeError(n+" is not a function!");return n}},{}],3:[function(n,e,t){var r=n("./_wks")("unscopables"),o=Array.prototype;void 0==o[r]&&n("./_hide")(o,r,{}),e.exports=function(n){o[r][n]=!0}},{"./_hide":18,"./_wks":32}],4:[function(n,e,t){var r=n("./_is-object");e.exports=function(n){if(!r(n))throw TypeError(n+" is not an object!");return n}},{"./_is-object":22}],5:[function(n,e,t){var r=n("./_ctx"),o=n("./_iobject"),i=n("./_to-object"),c=n("./_to-length"),u=n("./_array-species-create");e.exports=function(n,e){var t=1==n,a=2==n,s=3==n,f=4==n,l=6==n,p=5==n||l,d=e||u;return function(e,u,_){for(var v,h,y=i(e),m=o(y),b=r(u,_,3),k=c(m.length),w=0,x=t?d(e,k):a?d(e,0):void 0;k>w;w++)if((p||w in m)&&(v=m[w],h=b(v,w,y),n))if(t)x[w]=h;else if(h)switch(n){case 3:return!0;case 5:return v;case 6:return w;case 2:x.push(v)}else if(f)return!1;return l?-1:s||f?f:x}}},{"./_array-species-create":7,"./_ctx":10,"./_iobject":20,"./_to-length":28,"./_to-object":29}],6:[function(n,e,t){var r=n("./_is-object"),o=n("./_is-array"),i=n("./_wks")("species");e.exports=function(n){var e;return o(n)&&(e=n.constructor,"function"!=typeof e||e!==Array&&!o(e.prototype)||(e=void 0),r(e)&&(e=e[i],null===e&&(e=void 0))),void 0===e?Array:e}},{"./_is-array":21,"./_is-object":22,"./_wks":32}],7:[function(n,e,t){var r=n("./_array-species-constructor");e.exports=function(n,e){return new(r(n))(e)}},{"./_array-species-constructor":6}],8:[function(n,e,t){var r={}.toString;e.exports=function(n){return r.call(n).slice(8,-1)}},{}],9:[function(n,e,t){var r=e.exports={version:"2.4.0"};"number"==typeof __e&&(__e=r)},{}],10:[function(n,e,t){var r=n("./_a-function");e.exports=function(n,e,t){if(r(n),void 0===e)return n;switch(t){case 1:return function(t){return n.call(e,t)};case 2:return function(t,r){return n.call(e,t,r)};case 3:return function(t,r,o){return n.call(e,t,r,o)}}return function(){return n.apply(e,arguments)}}},{"./_a-function":2}],11:[function(n,e,t){e.exports=function(n){if(void 0==n)throw TypeError("Can't call method on "+n);return n}},{}],12:[function(n,e,t){e.exports=!n("./_fails")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},{"./_fails":15}],13:[function(n,e,t){var r=n("./_is-object"),o=n("./_global").document,i=r(o)&&r(o.createElement);e.exports=function(n){return i?o.createElement(n):{}}},{"./_global":16,"./_is-object":22}],14:[function(n,e,t){var r=n("./_global"),o=n("./_core"),i=n("./_hide"),c=n("./_redefine"),u=n("./_ctx"),a="prototype",s=function(n,e,t){var f,l,p,d,_=n&s.F,v=n&s.G,h=n&s.S,y=n&s.P,m=n&s.B,b=v?r:h?r[e]||(r[e]={}):(r[e]||{})[a],k=v?o:o[e]||(o[e]={}),w=k[a]||(k[a]={});v&&(t=e);for(f in t)l=!_&&b&&void 0!==b[f],p=(l?b:t)[f],d=m&&l?u(p,r):y&&"function"==typeof p?u(Function.call,p):p,b&&c(b,f,p,n&s.U),k[f]!=p&&i(k,f,d),y&&w[f]!=p&&(w[f]=p)};r.core=o,s.F=1,s.G=2,s.S=4,s.P=8,s.B=16,s.W=32,s.U=64,s.R=128,e.exports=s},{"./_core":9,"./_ctx":10,"./_global":16,"./_hide":18,"./_redefine":25}],15:[function(n,e,t){e.exports=function(n){try{return!!n()}catch(n){return!0}}},{}],16:[function(n,e,t){var r=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=r)},{}],17:[function(n,e,t){var r={}.hasOwnProperty;e.exports=function(n,e){return r.call(n,e)}},{}],18:[function(n,e,t){var r=n("./_object-dp"),o=n("./_property-desc");e.exports=n("./_descriptors")?function(n,e,t){return r.f(n,e,o(1,t))}:function(n,e,t){return n[e]=t,n}},{"./_descriptors":12,"./_object-dp":23,"./_property-desc":24}],19:[function(n,e,t){e.exports=!n("./_descriptors")&&!n("./_fails")(function(){return 7!=Object.defineProperty(n("./_dom-create")("div"),"a",{get:function(){return 7}}).a})},{"./_descriptors":12,"./_dom-create":13,"./_fails":15}],20:[function(n,e,t){var r=n("./_cof");e.exports=Object("z").propertyIsEnumerable(0)?Object:function(n){return"String"==r(n)?n.split(""):Object(n)}},{"./_cof":8}],21:[function(n,e,t){var r=n("./_cof");e.exports=Array.isArray||function(n){return"Array"==r(n)}},{"./_cof":8}],22:[function(n,e,t){e.exports=function(n){return"object"==typeof n?null!==n:"function"==typeof n}},{}],23:[function(n,e,t){var r=n("./_an-object"),o=n("./_ie8-dom-define"),i=n("./_to-primitive"),c=Object.defineProperty;t.f=n("./_descriptors")?Object.defineProperty:function(n,e,t){if(r(n),e=i(e,!0),r(t),o)try{return c(n,e,t)}catch(n){}if("get"in t||"set"in t)throw TypeError("Accessors not supported!");return"value"in t&&(n[e]=t.value),n}},{"./_an-object":4,"./_descriptors":12,"./_ie8-dom-define":19,"./_to-primitive":30}],24:[function(n,e,t){e.exports=function(n,e){return{enumerable:!(1&n),configurable:!(2&n),writable:!(4&n),value:e}}},{}],25:[function(n,e,t){var r=n("./_global"),o=n("./_hide"),i=n("./_has"),c=n("./_uid")("src"),u="toString",a=Function[u],s=(""+a).split(u);n("./_core").inspectSource=function(n){return a.call(n)},(e.exports=function(n,e,t,u){var a="function"==typeof t;a&&(i(t,"name")||o(t,"name",e)),n[e]!==t&&(a&&(i(t,c)||o(t,c,n[e]?""+n[e]:s.join(String(e)))),n===r?n[e]=t:u?n[e]?n[e]=t:o(n,e,t):(delete n[e],o(n,e,t)))})(Function.prototype,u,function(){return"function"==typeof this&&this[c]||a.call(this)})},{"./_core":9,"./_global":16,"./_has":17,"./_hide":18,"./_uid":31}],26:[function(n,e,t){var r=n("./_global"),o="__core-js_shared__",i=r[o]||(r[o]={});e.exports=function(n){return i[n]||(i[n]={})}},{"./_global":16}],27:[function(n,e,t){var r=Math.ceil,o=Math.floor;e.exports=function(n){return isNaN(n=+n)?0:(n>0?o:r)(n)}},{}],28:[function(n,e,t){var r=n("./_to-integer"),o=Math.min;e.exports=function(n){return n>0?o(r(n),9007199254740991):0}},{"./_to-integer":27}],29:[function(n,e,t){var r=n("./_defined");e.exports=function(n){return Object(r(n))}},{"./_defined":11}],30:[function(n,e,t){var r=n("./_is-object");e.exports=function(n,e){if(!r(n))return n;var t,o;if(e&&"function"==typeof(t=n.toString)&&!r(o=t.call(n)))return o;if("function"==typeof(t=n.valueOf)&&!r(o=t.call(n)))return o;if(!e&&"function"==typeof(t=n.toString)&&!r(o=t.call(n)))return o;throw TypeError("Can't convert object to primitive value")}},{"./_is-object":22}],31:[function(n,e,t){var r=0,o=Math.random();e.exports=function(n){return"Symbol(".concat(void 0===n?"":n,")_",(++r+o).toString(36))}},{}],32:[function(n,e,t){var r=n("./_shared")("wks"),o=n("./_uid"),i=n("./_global").Symbol,c="function"==typeof i,u=e.exports=function(n){return r[n]||(r[n]=c&&i[n]||(c?i:o)("Symbol."+n))};u.store=r},{"./_global":16,"./_shared":26,"./_uid":31}],33:[function(n,e,t){"use strict";var r=n("./_export"),o=n("./_array-methods")(5),i="find",c=!0;i in[]&&Array(1)[i](function(){c=!1}),r(r.P+r.F*c,"Array",{find:function(n){return o(this,n,arguments.length>1?arguments[1]:void 0)}}),n("./_add-to-unscopables")(i)},{"./_add-to-unscopables":3,"./_array-methods":5,"./_export":14}],34:[function(n,e,t){"use strict";function r(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}var o=function(){function n(n,e){var t=[],r=!0,o=!1,i=void 0;try{for(var c,u=n[Symbol.iterator]();!(r=(c=u.next()).done)&&(t.push(c.value),!e||t.length!==e);r=!0);}catch(n){o=!0,i=n}finally{try{!r&&u.return&&u.return()}finally{if(o)throw i}}return t}return function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return n(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),i=function(){function n(n,e){for(var t=0;t<e.length;t++){var r=e[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(n,r.key,r)}}return function(e,t,r){return t&&n(e.prototype,t),r&&n(e,r),e}}();n("core-js/fn/array/find");var c=function(n,e){return'<a href="'+n[e].content+'" class="'+n[e].linkclass+'">'},u=function(){return"</a>"},a=function(n,e){return n[e].content},s=/^<a[>\s]/i,f=/^<\/a\s*>/i,l=function(n){return s.test(n)},p=function(n){return f.test(n)},d="@\\{(?:([^}]+); )?([^\\} ]+)\\}",_=new RegExp(d),v=new RegExp(d,"g"),h=function(){function n(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{mentions:[],allowHovercards:!1},o=t.mentions,i=t.allowHovercards,s=t.currentUserId;r(this,n),this.mentions=o,this.allowHovercards=i,this.currentUserId=s,this.escapeHtml=e.utils.escapeHtml,e.core.ruler.after("inline","mention",this.parseMentions.bind(this)),e.renderer.rules.mention_open=c,e.renderer.rules.mention_text=a,e.renderer.rules.mention_close=u}return i(n,[{key:"findPersonById",value:function(n){return this.mentions.find(function(e){return n===e.diaspora_id||n===e.handle})}},{key:"mentionLinkClass",value:function(n){return this.allowHovercards&&n.guid!==this.currentUserId?"mention hovercardable":"mention"}},{key:"skipMarkdownLink",value:function(n){return this.inMarkdownLink?(n.level!==this.markdownLinkStartLevel&&"link_close"!==n.type||(this.inMarkdownLink=!1),!0):"link_open"===n.type&&(this.markdownLinkStartLevel=n.level,this.inMarkdownLink=!0,!0)}},{key:"skipHtmlLink",value:function(n){return"html_inline"===n.type&&(p(n.content)&&this.htmlLinkLevel>0&&this.htmlLinkLevel--,l(n.content)&&this.htmlLinkLevel++),this.htmlLinkLevel>0}},{key:"mentionTokens",value:function(n,e){var t=this,r=n.content,i=n.level,c=[],u=void 0,a=r.match(v);return null===a?[n]:(a.forEach(function(n){var a=n.match(_),s=o(a,3),f=s[0],l=s[1],p=s[2],d=r.indexOf(n);d>0&&(u=new e.Token("text","",0),u.content=r.slice(0,d),u.level=i,c.push(u)),u=new e.Token("text","",0),u.content="@",u.level=i,c.push(u);var v=t.findPersonById(p);v?(u=new e.Token("mention_open","",1),u.content=v.url||"/people/"+v.guid,u.linkclass=t.mentionLinkClass(v),u.level=i++,c.push(u),u=new e.Token("mention_text","",0),u.content=t.escapeHtml(l?l:v.name).trim(),u.level=i,c.push(u),u=new e.Token("mention_close","",-1),u.level=--i,c.push(u)):(u=new e.Token("text","",0),u.content=l?l:p,u.level=i,c.push(u)),r=r.slice(d+f.length)}),r.length>0&&(u=new e.Token("text","",0),u.content=r,u.level=e.level,c.push(u)),c)}},{key:"parseMentions",value:function(n){var e=this;n.tokens.forEach(function(t){"inline"===t.type&&(e.inMarkdownLink=!1,e.htmlLinkLevel=0,t.children=t.children.map(function(t){return e.skipMarkdownLink(t)||e.skipHtmlLink(t)||"text"!==t.type?[t]:e.mentionTokens(t,n)}).reduce(function(n,e){return n.concat(e)},[]))})}}]),n}();e.exports=function(n,e){return new h(n,e)}},{"core-js/fn/array/find":1}]},{},[34])(34)});