-
Notifications
You must be signed in to change notification settings - Fork 2
/
pagine.js
1 lines (1 loc) · 7.27 KB
/
pagine.js
1
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Pagine=t():e.Pagine=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=1)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assign=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return n.reduce(function(e,t){for(var n in t)e[n]=t[n];return e},e)},t.compose=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){return t.reduce(function(e,t){return t(e)},e)}}},function(e,t,n){"use strict";var r=n(2),o=function(e){return e&&e.__esModule?e:{default:e}}(r);e.exports=o.default},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(3),s=r(i),a=n(4),c=r(a),l=n(5),f=r(l),p=n(6),h=r(p),d=n(0),v=function(){function e(t){o(this,e),this.router=new f.default,this.templateEngine=new h.default,this.view=t.view||"#view",this.cache={md:{}},this.createRoutes(t.routes),this.router.listen()}return u(e,[{key:"createRoutes",value:function(e){var t=this,n=e.reduce(function(e,n){return e[n.path]=function(){t.setContent(n.layout,n.md)},e},{});this.router.on(n)}},{key:"fetchMarkdownFile",value:function(e){var t=this;return this.cache.md[e]?Promise.resolve(this.cache.md[e]):(0,c.default)(e).then(function(e){return e.text()}).then(function(n){return Promise.resolve(t.cache.md[e]=n)})}},{key:"setContent",value:function(e,t){var n=this;return this.fetchMarkdownFile(t).then(function(t){var r=(0,d.compose)(s.default,function(e){return{content:e}},n.templateEngine.tmpl(e))(t);document.querySelector(n.view).innerHTML=r,Promise.resolve(r)}).catch(function(e){return Promise.reject(e)})}}]),e}();t.default=v},function(e,t,n){"use strict";function r(e){return e.replace(RegExp("^"+(e.match(/^(\t| )+/)||"")[0],"gm"),"")}function o(e){return(e+"").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function u(e){function t(e){var t=i[e.replace(/\*/g,"_")[1]||""],n=h[h.length-1]==e;return t?t[1]?(h[n?"pop":"push"](e),t[0|n]):t[0]:e}function n(){for(var e="";h.length;)e+=t(h[h.length-1]);return e}var s,a,c,l,f,p=/((?:^|\n+)(?:\n---+|\* \*(?: \*)+)\n)|(?:^```(\w*)\n([\s\S]*?)\n```$)|((?:(?:^|\n+)(?:\t| {2,}).+)+\n*)|((?:(?:^|\n)([>*+-]|\d+\.)\s+.*)+)|(?:\!\[([^\]]*?)\]\(([^\)]+?)\))|(\[)|(\](?:\(([^\)]+?)\))?)|(?:(?:^|\n+)([^\s].*)\n(\-{3,}|={3,})(?:\n+|$))|(?:(?:^|\n+)(#{1,3})\s*(.+)(?:\n+|$))|(?:`([^`].*?)`)|( \n\n*|\n{2,}|__|\*\*|[_*])/gm,h=[],d="",v=0,m={};for(e=e.replace(/^\[(.+?)\]:\s*(.+)$/gm,function(e,t,n){return m[t.toLowerCase()]=n,""}).replace(/^\n+|\n+$/g,"");c=p.exec(e);)a=e.substring(v,c.index),v=p.lastIndex,s=c[0],a.match(/[^\\](\\\\)*\\$/)||(c[3]||c[4]?s='<pre class="code '+(c[4]?"poetry":c[2].toLowerCase())+'">'+r(o(c[3]||c[4]).replace(/^\n+|\n+$/g,""))+"</pre>":c[6]?(f=c[6],f.match(/\./)&&(c[5]=c[5].replace(/^\d+/gm,"")),l=u(r(c[5].replace(/^\s*[>*+.-]/gm,""))),">"===f?f="blockquote":(f=f.match(/\./)?"ol":"ul",l=l.replace(/^(.*)(\n|$)/gm,"<li>$1</li>")),s="<"+f+">"+l+"</"+f+">"):c[8]?s='<img src="'+o(c[8])+'" alt="'+o(c[7])+'">':c[10]?(d=d.replace("<a>",'<a href="'+o(c[11]||m[a.toLowerCase()])+'">'),s=n()+"</a>"):c[9]?s="<a>":c[12]||c[14]?(f="h"+(c[14]?c[14].length:"="===c[13][0]?1:2),s="<"+f+">"+u(c[12]||c[15])+"</"+f+">"):c[16]?s="<code>"+o(c[16])+"</code>":(c[17]||c[1])&&(s=t(c[17]||"--"))),d+=a,d+=s;return(d+e.substring(v)+n()).trim()}Object.defineProperty(t,"__esModule",{value:!0});var i={"":["<em>","</em>"],_:["<strong>","</strong>"],"\n":["<br />"]," ":["<br />"],"-":["<hr />"]};t.default=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r="function"==typeof fetch?fetch.bind():function(e,t){return t=t||{},new Promise(function(n,r){function o(){var e,t=[],n=[],r={};return u.getAllResponseHeaders().replace(/^(.*?):\s*([\s\S]*?)$/gm,function(o,u,i){t.push(u=u.toLowerCase()),n.push([u,i]),e=r[u],r[u]=e?e+","+i:i}),{ok:1==(u.status/200|0),status:u.status,statusText:u.statusText,url:u.responseURL,clone:o,text:function(){return Promise.resolve(u.responseText)},json:function(){return Promise.resolve(u.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([u.response]))},headers:{keys:function(){return t},entries:function(){return n},get:function(e){return r[e.toLowerCase()]},has:function(e){return e.toLowerCase()in r}}}}var u=new XMLHttpRequest;u.open(t.method||"get",e);for(var i in t.headers)u.setRequestHeader(i,t.headers[i]);u.withCredentials="include"==t.credentials,u.onload=function(){n(o())},u.onerror=r,u.send(t.body)})};t.default=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),i=function(){function e(t){r(this,e),this.routes={},this.__defaults__={"/404":function(){}},this.hash=t||"#"}return o(e,[{key:"listen",value:function(){window.addEventListener("hashchange",this.resolve.bind(this)),window.addEventListener("load",this.resolve.bind(this))}},{key:"on",value:function(e){this.routes=(0,u.assign)({},this.routes,e)}},{key:"resolve",value:function(){var e=location.hash.slice(1)||"/",t=this.routes[e];t?t():(this.__defaults__["/404"](),history.replaceState(void 0,void 0,this.hash+"/404"))}}]),e}();t.default=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=function(){function e(){r(this,e),this.cache={}}return o(e,[{key:"tmpl",value:function(e,t){var n=/\W/.test(e)?new Function("obj","var p=[],print=function(){p.push.apply(p,arguments);};with(obj){p.push('"+e.replace(/[\r\t\n]/g," ").split("<%").join("\t").replace(/((^|%>)[^\t]*)'/g,"$1\r").replace(/\t=(.*?)%>/g,"',$1,'").split("\t").join("');").split("%>").join("p.push('").split("\r").join("\\'")+"');}return p.join('');"):this.cache[e]=this.cache[e]||this.tmpl(document.getElementById(e).innerHTML);return t?n(t):n}}]),e}();t.default=u}])});