{"version":3,"sources":["jsdelivr-header.js","/npm/pony-render@0.1.10/lib/main.js"],"names":[],"mappings":"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","file":"/npm/pony-render@0.1.10/lib/main.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/pony-render@0.1.10/lib/main.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","var _ = require('lodash'),\n  Kramed = require('./kramed'),\n  Renderer = new Kramed.Renderer();\n\n// Parser Opts\nKramed.setOptions({\n  renderer: Renderer,\n  gfm: true,\n  tables: true,\n  breaks: false,\n  pedantic: false,\n  sanitize: true,\n  smartLists: true,\n  smartypants: false\n});\n\n/**\n * Encode non-alpha string - HTML\n * return: string\n * \n*/\nfunction HTMLEncode(str){\n  var i = str.length,\n      aRet = [];\n\n  while (i--) {\n    var iC = str[i].charCodeAt();\n    if (iC < 65 || iC > 127 || (iC>90 && iC<97)) {\n      aRet[i] = '&#'+iC+';';\n    } else {\n      aRet[i] = str[i];\n    }\n   }\n  return aRet.join('');    \n}\n\nfunction parseClass(text) {\n\t\n\tvar str = text.split(' ');\n  var cls = \"\";\n  var style = null;\n  var pos = null;\n\n  switch(str[0]) {\n    \n    case 'fullscreen':\n      cls = 'fullscreen';\n      break;\n\n    case 'fit':\n      cls = \"fit\";\n      break;\n    \n    case 'left':\n      cls = \"left\";\n\t\t\tstr.shift();\n      style = str.join('');\n      break;\n    \n    case 'right':\n      cls = \"right\";\n\t\t\tstr.shift();\n      style = str.join('');\n      break;\n\n    case 'top':\n\t\t\tcls = \"top\";\n\t\t\tstr.shift();\n\t\t\tstyle = str.join('');\n\t\t\tbreak;\n\n\t  case 'bottom':\n\t\t\tcls = \"bottom\";\n\t\t\tstr.shift();\n\t\t\tstyle = str.join('');\n\t\t\tbreak;\n\n    case 'css':\n      str.shift();\n      style = str.join(' ');\n      break;\n      \n    default:\n      cls = str[0];\n  }\n\n\tif (Renderer.ponyoptions.shadows) {\n    cls = cls+\" shadow\";\n  }\n\n\treturn {\n\t\tcls: cls,\n\t\tstyle: style\n\t}\n\n}\n\n\n\n;(function() {\n  \n/**\n * Markdown to Shower\n * return: string\n * \n*/\n\nfunction Pony(options) {\n  \n  var self = this;\n    \n  var options = options || {};\n  \n  self.debug = options.debug||false;\n  \n  self.version = require('../package.json').version;\n  \n  self.heading = (options.heading) ? options.heading : [];\n  self.sections = (options.sections) ? options.sections : 0;\n  self.hideSlideNumbers = (options.hideSlideNumbers) ? options.hideSlideNumbers : \"\";\n  self.hrc = (options.hrc) ? options.hrc : [];\n  \n  self.error = (options.error) ? options.error : \"<div class='rendererror'><div class='img'></div><br><div class='text'>Rendering error</div></div>\";\n\n  self.header = options.header;\n  self.footer = options.footer;\n  \n  self._theme = false;\n  self.isPonyFile = false;\n  \n  Renderer.ponyoptions = {\n    format: \"\",\n    slidenumbers: true,\n    footer: 'Pony Show',\n    timing:false,\n    progress:true,\n    transition:false,\n    shadows:false\n  };\n\n  Renderer.list = function(body, ordered) {\n    var type = ordered ? 'ol' : 'ul', out=\"\", cls=\"\";\n    \n    out = '<' + type + '>\\n' + body + '</' + type + '>\\n';\n    \n    if (self.sections > 0 || !self.isPonyFile) {\n      return out;\n    } else {\n      self.heading.push(out);\n      return '';\n    }\n  };\n  \n  Renderer.listitem = function(text) {\n    var cls=\"\";\n    if (Renderer.ponyoptions.buildLists) {\n      cls = \"next\";\n    }\n    \n    return '<li class=\"'+cls+'\">' + text + '</li>\\n';\n  }\n    \n  Renderer.hr = function(cls,id) {\n    var out = null;\n    var timing = false;\n    \n    // set format for each section\n    if (Renderer.ponyoptions.format) {\n      cls = Renderer.ponyoptions.format + \" \" + cls;\n    }\n    \n    // Set timing option\n    if (Renderer.ponyoptions.timing) {\n      timing = 'data-timing=\"'+Renderer.ponyoptions.timing+'\"';\n    }\n\n    if (self.sections == 0) {\n\n      // heading\n      if (self.heading.length > 0) {\n        out = self.heading.join('') + \"</header>\\n\";\n      }\n\n      out = out+\"\\n<section class=\\\"slide \"+cls+\"\\\" id=\\\"\"+id+\"\\\" \"+timing+\">\\n<div>\\n\";\n    } else {\n      \n      if (self.sections == self.hrc.length) {\n        out = \"\\n</div>\\n</section>\\n\";\n      } else {\n        out = \"</div>\\n</section>\\n\\n<section class=\\\"slide \"+cls+\"\\\" id=\\\"\"+id+\"\\\" \"+timing+\">\\n<div>\\n\";\n      }\n    }\n    \n    self.sections++;\n    \n    return out||\"\";\n  }\n\n  Renderer.heading = function (text, level) {\n    var out = false;\n    \n    // var str = text.split('[');\n    // var style = null;\n    // \n    // switch(str[0]) {\n    //   case 'absolute':\n    //     str.shift();\n    //     style = str.join('');\n    //     break;\n    // \n    //   default:\n    // }\n    \n    if (self.sections == 0 && self.heading.length == 0 && self.isPonyFile) {\n      self.heading.push('<header class=\"caption\">\\n');\n      self.heading.push('<h' + level + '>' + text + '</h' + level + '>\\n');\n    } else if (self.sections == 0 && self.isPonyFile && (self.heading.length > 1)) {          \n      self.heading.push('<h' + level + '>' + text + '</h' + level + '>\\n');\n    } else {\n      // default\n      out = '<h' + level + ' class=\"fit\">' + text + '</h' + level + '>\\n';\n    }\n    \n    return (out) ? out : \"\";\n  };\n\n  Renderer.paragraph = function(text) {\n    var out = null;\n    var arr = [];\n    \n    text = text.trim();\n    \n    // ignore empty text\n    if (text.length == 0) {\n      return \"\";\n    }\n\n    if (self.sections > 0 || !self.isPonyFile) {\n      \n      // add line breaks\n      if (text.indexOf(\"\\n\") > -1) {\n        arr = text.split(\"\\n\");\n      } else {\n        arr.push(text);\n      }\n      \n      for (x in arr) {        \n        var img = text.indexOf(\"<img\");\n        // detect image\n        pre = (img > -1) ? \"\" : \"<p>\";\n        post = (img > -1) ? \"\\n\" : \"</p>\\n\";        \n      }\n              \n      out = pre+arr.join('\\n<span class=\"br\"></span>\\n')+post;      \n      \n    } else {\n\n      // Add to heading and ignore all other text\n      if (self.sections == 0 && self.heading.length > 0) {\n        self.heading.push(\"<p>\"+text+\"</p>\\n\");\n      }\n\n    }\n    return out||\"\";\n  }\n  \n  // images are rendered as paragraph / text\n  Renderer.image = function(href, title, text) {\n\n    var out = null;\n\t\t\n\t\tvar attr = parseClass(text);\n\n    var out = '<img src=\"' + href + '\" alt=\"' + text + '\" class=\"' + attr.cls + '\"';\n    if (title) {\n      out += ' title=\"' + title + '\"';\n    }\n    if (attr.style) {\n      out += ' style=\"' + attr.style + '\"';\n    }\n    out += this.options.xhtml ? '/>' : '>';\n    return out;\n\n  }\n  \n  Renderer.link = function(href, title, text) {\n    if (this.options.sanitize) {\n      try {\n        var prot = decodeURIComponent(unescape(href))\n          .replace(/[^\\w:]/g, '')\n          .toLowerCase();\n      } catch (e) {\n        return '';\n      }\n      if (prot.indexOf('javascript:') === 0) {\n        return '';\n      }\n    }\n    var out = '<a href=\"' + href + '\"';\n    if (title) {\n      out += ' title=\"' + title + '\"';\n    }\n    out += ' target=\"_blank\">' + text + '</a>';\n    return out;\n  };\n  \n  Renderer.code = function(text,lang) {\n\t\tvar attr = {cls:\"\",style:\"\"};\n\t\t\n\t\tif (lang) {\n\t\t\t// parse style attr if available\n\t\t\tif (lang.indexOf(']') >= 0) {\n\t\t\t\tlang = lang.split(']');\n\t\t\t\tattr = lang[0].replace('[','');\n\t\t\t\tlang = lang[1];\n\t\t\t\tattr = parseClass(attr);\n\t\t\t}\t\n\t\t}\n\t\t\n\t\tswitch(lang) {\n\t\t\tcase 'xml':\n\t\t\t\ttext = HTMLEncode(text);\n\t\t\t\tbreak;\n\t\t\tcase 'markup':\n\t\t\t\ttext = HTMLEncode(text);\n\t\t\t\tbreak;\n\t\t}\n\t\t\n\t\tvar out = '<pre';\n\t\t\n\t\tif (attr.cls) {\n\t\t\tout += ' class=\"'+attr.cls+'\"';\n\t\t}\n\t\t\n\t\tif (attr.style) {\n      out += ' style=\"' + attr.style + '\"';\n    }\n\n\t\tout += \">\";\n\t\n    return out+'<code class=\"language-'+lang+'\">'+text+'</code></pre>';\n  }\n  \n  Renderer.table = function(header, body) {\n    \n    return '<table class=\"'+Renderer.ponyoptions.tableclass+'\">\\n'\n      + '<thead>\\n'\n      + header\n      + '</thead>\\n'\n      + '<tbody>\\n'\n      + body\n      + '</tbody>\\n'\n      + '</table>\\n';\n  }\n  \n\tRenderer.blockquote = function(quote) {\n\t\tvar attr = {};\n\t\t\n\t\t// parse bracket style attr if available\n\t\tif (quote.indexOf('<p>[') >= 0) {\t\t\t\n\t\t\tvar re = /^<p>\\[(.*\\S+)?\\]/gm;\n\t\t\tvar m = re.exec(quote);\n\t\t\tattr = parseClass(m[1]);\n\t\t\t\n\t\t\t// remove bracket styling\n\t\t\tquote = quote.replace(m[0],'<p>');\n\t\t\t\n\t\t}\n\t\t\n\t\tvar out = '<blockquote data-test=\"bar\" ';\n\t\t\n\t\tif (attr.cls) {\n\t\t\tout += ' class=\"'+attr.cls+'\"';\n\t\t}\n\t\t\n\t\tif (attr.style) {\n      out += ' style=\"' + attr.style + '\"';\n    }\n\n\t\tout += \">\";\n\t\t\n\t  return out+'\\n' + quote + '</blockquote>\\n';\n\t};\n\t\n}\n\nPony.prototype.setHeader = function(str){\n  this.header = str;\n}\n\nPony.prototype.setFooter = function(str){\n  this.footer = str;\n}\n\nPony.prototype.setDebug = function(bool) {\n  this.debug = bool;\n}\n\nPony.prototype.log = function(args) {\n  if (this.debug) {\n    console.log(args);\n  }\n}\n\nPony.prototype.render = function(dat,opts) {\n  \n  var self = this;\n  \n  var header, footer, LEXED, htmlClass;\n  \n  // Set options (if avail)\n  var _globalopts = opts||{};\n  \n  // Reset\n  this.heading = [];\n  this.sections = 0;\n  this.hideSlideNumbers = \"\";\n  this.hrc = [];\n \n  var tokens = Kramed.lexer(dat);\n    \n  // Check if first token is configuration\n  if (tokens[0].type == \"paragraph\") {\n    if (tokens[0].text.indexOf(\"\\n\") > -1) {\n      \n      self.isPonyFile = true;\n      \n      // rebase tokens\n      var rebase = tokens.shift();\n      \n      var arr = rebase.text.split(\"\\n\");\n      \n      // Parse options\n      for(var x=0;x<arr.length;x++) {\n        \n        opts = arr[x].split(\":\");\n                \n        var _key = opts[0].trim().toLowerCase();\n        var _prop = opts[1].trim().toLowerCase();\n        \n        self.log(_key + \" = \" + _prop);\n                \n        switch(_key) {\n      \n          case 'theme':\n            Renderer.ponyoptions.theme = _prop;\n            break;\n      \n          case 'footer':\n            Renderer.ponyoptions.footer = _prop;\n            break;\n      \n          case 'slidenumbers':\n            Renderer.ponyoptions.slidenumbers = (_prop == \"false\") ? false : true;\n            break;\n          \n          case 'timing':\n            Renderer.ponyoptions.timing = _prop;\n            break;\n          \n          case 'error':\n            self.error = opts[1].trim();\n            break;\n            \n          case 'tableclass':\n            Renderer.ponyoptions.tableclass = _prop||\"\";\n            break;\n          \n          case 'format':\n            Renderer.ponyoptions.format = _prop||\"\";\n            break;\n            \n          case 'progress':\n            Renderer.ponyoptions.progress = (_prop == \"false\") ? false : true;\n            break;\n          \n          case 'build-lists':\n            Renderer.ponyoptions.buildLists = (_prop == \"false\") ? false : true;\n            break;\n          \n          case 'transition':\n            Renderer.ponyoptions.transition = _prop;\n            break;\n          \n          case 'shadows':\n            Renderer.ponyoptions.shadows = (_prop == \"false\") ? false : true;\n            break;\n          \n          default:\n            //out = \"<p>\"+text+\"</p>\";\n        }\n      \n      }\n      \n    }\n  }\n  \n  self.log(tokens);\n  \n  // count HR\n  for(var x in tokens) {\n    if (tokens[x].type == \"hr\") {\n      self.hrc.push(x);\n    }\n  }\n\n  \n  if (tokens[self.hrc[self.hrc.length-1]]) {\n    tokens[self.hrc[self.hrc.length-1]].last = true;\n  }\n\n  \n  // Check if ponyfile\n  if (!self.isPonyFile) {\n    for(var x=0;x<tokens.length;x++) {\n      if (tokens[x].type == \"paragraph\") {\n        if ((tokens[x].text.indexOf(\"\\n---\\n\") > -1)) {\n          self.isPonyFile = true;\n        }\n      }\n    }\n  }\n\n  \n  LEXED = Kramed.parser(tokens);\n  \n  self.log(LEXED);\n  self.log('___________');\n\n  if (LEXED.length == 0) {\n    LEXED = self.error;\n  }\n  \n  // Merge file config with global configs giving preference to file config\n  Renderer.ponyoptions = _.assign(_globalopts, Renderer.ponyoptions);\n          \n  if (!Renderer.ponyoptions.slidenumbers) {\n    self.hideSlideNumbers = '<style>.slide:after{display:none;}</style>';\n  }\n  \n  // Apply transition \n  if (Renderer.ponyoptions.transition) {\n    htmlClass = Renderer.ponyoptions.transition;\n    \n    // update defined header\n    if (self.header) {\n      self.header = self.header.replace(/(<html.*)(>).*?<head/mgi, '$1 class=\"'+htmlClass+'\"');\n    }\n  }\n        \n  header = self.header||'<!DOCTYPE HTML>' +\n  '<html lang=\"en\" class=\"'+htmlClass+'\">\\n' +\n  '<head>\\n' +\n  \t'<title>Pony Show IDE</title>\\n' +\n  \t'<meta charset=\"utf-8\">\\n' +\n  \t'<meta name=\"viewport\" content=\"width=792, user-scalable=no\">\\n' +\n  \t'<meta http-equiv=\"x-ua-compatible\" content=\"ie=edge\">\\n' +\n  \t'<link rel=\"stylesheet\" href=\"css/main.css\">\\n' +\n  \t'<link rel=\"stylesheet\" href=\"themes/'+Renderer.ponyoptions.theme+'/styles/screen.css\">\\n' +\n  \tself.hideSlideNumbers +\n  '</head>\\n' +\n  '<body class=\"list\" data-plugins=\"next timer markdown\">\\n\\n';\n        \n  footer = self.footer||'<script src=\"js/main.js\"></script>\\n' +\n  '</body>\\n' +\n  '</html>';\n    \n  if (Renderer.ponyoptions.progress) {\n    footer = '\\n<div class=\"progress\"><div></div></div>\\n' + footer;\n  }\n  \n  // Check if last section.\n  if (self.sections == self.hrc.length) {\n    LEXED = LEXED+\"\\n</div>\\n</section>\\n\";\n  }\n  \n  return header+LEXED+footer;\n  \n};\n\n\n\nif (typeof module !== 'undefined' && typeof exports === 'object') {\n  module.exports = new Pony;\n} else if (typeof define === 'function' && define.amd) {\n  define(function() { return Pony; });\n} else {\n  this.render = new Pony;\n}\n\n}).call(function() {\n  return this || (typeof window !== 'undefined' ? window : global);\n}());"]}