{"version":3,"names":["Markdown","__SystemJSRewritingHack","_export","setters","_reactiveJsx","_childSpread","childSpread","_addSourceLocation","addSourceLocation","_childText","childText","_childElement","childElement","_attributeStringLiteral","attributeStringLiteral","_childExpression","childExpression","_children","children","_attributeExpression","attributeExpression","_attributes","attributes","_element","element","_srcClientStringsJs","Strings","default","_srcExternalLodashLodashJs","_","_srcExternalHighlightJs","highlight","execute","_recorder_","_src_client_markdown_js","Object","defineProperty","get","set","thisIsVererySecretVariableName","enumerable","configurable","parseAndReplaceTextNode","ea","eaChild","regex","func","s","textContent","m","RegExp","replace","exec","replacement","undefined","isString","Text","insertBefore","slice","index","rest","length","remove","lastIndex","parseAndReplace","all","concat","Array","from","querySelectorAll","childNodes","e","console","error","parseAndReplaceBibrefs","link","evt","preventDefault","stopPropagation","lively","openBrowser","file","end","column","line","start","parseAndReplaceLabels","contextElement","localName","id","anchor","parseAndReplaceMiscLatex","parseAndReplaceFigures","container","query","baseDir","getDir","parseAndReplaceListings","pre","url","description","fetch","then","r","status","source","text","innerHTML","highlightBlock","parseAndReplaceFigureRefs","forEach","name","getAttribute","titleString","title","parentElement","appendChild","parseAndReplaceHeadings","allNodesBetween","startNode","endNode","nodes","node","push","nextSibling","parseAndReplaceFootenotes","count","footnotes","stack","footnote","content","last","pop","marker","document","createElement","region","footnotesDiv","map","extractReferences","matchAll","parseAndReplaceLatex","_parsedLatex"],"sources":["markdown.js"],"sourcesContent":["\n\n/*MD # Markdown  MD*/\n\n\n/*MD ## Ebedded Latex MD*/\n/*MD \n<style>* { background-color: lightgray }</style>\n\n### Example\n\n![TestFigure](../../media/drawio \"A figure created with drawio.\")\n\nAnd look also at Figure @fig:TestFigure\n\n```javascript\nvar a = \"hello\"\n```\nThis is a reference to a paper [@Rein2016LLP] and this is a footnote^[https://d3js.org/]. \n\n<script>\n// #TODO lively-script gets executed very often in this context!\nimport Markdown from \"src/client/markdown.js\"\nMarkdown.parseAndReplaceLatex(this.parentElement)    \n</script>\n\nMD*/\nimport Strings from \"src/client/strings.js\"\nimport _ from 'src/external/lodash/lodash.js' \nimport highlight from 'src/external/highlight.js';\n\n\nexport default class Markdown {\n\n  \n  \n  // #helper \n  static parseAndReplaceTextNode(ea, eaChild,  regex, func) {\n    var s = eaChild.textContent\n    var m;\n    regex = new RegExp(regex)\n    var replace = () => {\n      m  = regex.exec(s)\n      if (m) {\n        var replacement = func(m, ea)\n        if (replacement !== undefined) {\n          if (_.isString(replacement)) {\n            replacement = new Text(replacement)\n          }\n          \n          ea.insertBefore(new Text(s.slice(0, m.index )), eaChild)\n          ea.insertBefore(replacement, eaChild)\n          var rest = new Text(s.slice(m.index + m[0].length, s.length))\n          ea.insertBefore(rest, eaChild)\n          eaChild.remove()\n          this.parseAndReplaceTextNode(ea, rest,  regex, func) // go on with the rest...\n        } else {\n          if (regex.lastIndex) {\n            replace()  \n          }\n        }              \n      }\n    }\n    replace()\n  }\n  \n  \n  // #helper \n  static parseAndReplace(element, regex, func) {\n    var all = [element].concat(Array.from(element.querySelectorAll(\"*\")))\n    // lively.notify(\"parse \" + all.length + \" elements.\")\n    for(var ea of all) {\n      // if (ea.localName == \"code\" || ea.localName == \"pre\") return; \n      try {\n        // lively.showElement(ea)\n        if (!ea.childNodes) continue; \n          \n        for(var eaChild of ea.childNodes) {\n          if (eaChild instanceof Text) {\n            this.parseAndReplaceTextNode(ea, eaChild, regex, func)\n          }\n        }        \n      } catch(e) {\n        console.error(e)\n      }\n    }\n  }\n\n  static parseAndReplaceBibrefs(element) {\n    \n    this.parseAndReplace(element, /\\@([A-Za-z_]+[0-9]+[A-Za-z_]*)/g, (m) => {\n      var link = <a click={evt => {\n        evt.preventDefault(); \n        evt.stopPropagation();\n        lively.openBrowser(\"bib://\" + m[1])\n      }} >{m[1]}</a> // href={\"bib://\" +m[1]}\n      return link \n    })\n  }\n  \n  static parseAndReplaceLabels(element) {\n    \n    this.parseAndReplace(element, /\\\\label({[^}]+})?/g, (m, contextElement) => {\n      if (contextElement.localName !== \"p\") return \n      \n      var id = \"undefined\" // the id is allreay \n      var anchor = <a click={evt => {\n      }} id={id}></a>\n      return anchor \n    })\n  }\n  static parseAndReplaceMiscLatex(element) {\n    this.parseAndReplace(element, /(\\\\[a-z]+({[^}]+})?(\\[[^\\]]+\\])?)/g, (m, contextElement) => {\n      if (contextElement.localName !== \"p\") return \"\"\n      \n      return <span class=\"stripped\" latex={m[1]}></span> \n    })\n  }\n \n   static parseAndReplaceFigures(element) {\n    var container = lively.query(element, \"lively-container\")\n    var baseDir = container ? container.getDir() : \"\"\n    this.parseAndReplace(element, /\\\\includegraphics\\[[^\\]]*\\]{([^}]+)\\}/g, (m) => <div><img src={baseDir + m[1]}></img></div>)\n    this.parseAndReplace(element, /\\\\caption\\[[^\\]]*\\]{([^}]+)\\}/g, (m) => <div>Figure: {m[1]}</div>)\n  }\n  \n  // #important\n  static parseAndReplaceListings(element) {\n    var container = lively.query(element, \"lively-container\")\n    var baseDir = container ? container.getDir() : \"\"\n    this.parseAndReplace(element, /(?:^|\\n)\\/([^ ]+) \"([^\"]*)\"/g, (m) => { \n      var pre = <pre>LOADING...</pre>\n      var url = baseDir + m[1];\n      var description = m[2];\n      fetch(url).then(async r => {\n        \n        if (r.status == 200) {\n          let source = await r.text()\n          pre.innerHTML = source\n          highlight.highlightBlock(pre);\n        } else {\n          pre.textContent = \"Could not load \" + url\n        }\n      })\n      return <div>{pre}<p><b>Listing:</b> {description} </p></div> })\n  }\n \n  \n  static parseAndReplaceFigureRefs(element) {\n    element.querySelectorAll(\"lively-drawio\").forEach(ea => {\n      var name = ea.getAttribute(\"alt\")\n      if (name && name !== null) {\n        var titleString = ea.getAttribute(\"title\")\n        if (titleString == null) titleString = \"\" \n        var title = <div class=\"figuretitle\"><a id={ea.getAttribute(\"alt\")}></a><b>Figure {ea.getAttribute(\"alt\")}. </b>{titleString}</div>\n        ea.parentElement.appendChild(title)        \n      }\n    })\n    \n    // late parse and convert latex figure references\n    this.parseAndReplace(element, /@fig:([A-Za-z0-9]+)/g, (m) => <a href={\"#\" +m[1]}>{m[1]}</a>)\n    this.parseAndReplace(element, /\\\\(?:auto)?ref\\{([^}]+)\\}/g, (m) => <a href={\"#\" +m[1]}>{m[1]}</a>)\n  }\n  \n  \n  static parseAndReplaceHeadings(element) {\n    this.parseAndReplace(element, /\\\\paragraph\\{([^}]+)\\}/g, (m) => <b>{m[1]}</b>)\n  }\n                         \n  static allNodesBetween(startNode, endNode) {\n    var nodes = [] \n    var node = startNode\n    while(node && node != endNode) {\n      if (node !== startNode) nodes.push(node)\n      node = node.nextSibling\n    }\n   \n    return nodes\n  }\n    \n  static parseAndReplaceFootenotes(element) {\n    var count = 1\n    var footnotes = []\n    // #TODO what about markup in that markup?: ^[*Exposé* shows an overview ]\n    /*MD <browse://../Lively4DevelopmentExperience/content/Discussion.md> MD*/\n    \n    var stack = []\n    \n    // hacky hacky hack hack hack!\n    this.parseAndReplace(element, /((\\^\\[)|\\])/g, (m) => {\n      if (m[1] == \"^[\") {\n        var footnote = {index: count++, content: \"\", id() {  return \"footnote_\" + this.index} }\n        footnotes.push(footnote)\n        let link = <sup><a href={\"#\" + footnote.id()}>{footnote.index}</a></sup>\n        footnote.startNode = link\n        stack.push(footnote)\n        return link\n      } else {\n        let last = stack.pop()\n        if (last) {\n          var marker = document.createElement(\"b\")\n          marker.textContent = \"END\" + last.index\n          last.endNode = marker\n          return marker\n        }\n      }\n      \n    })\n      \n    footnotes.forEach(ea => {\n      if (ea.startNode && ea.endNode) {\n        var region = this.allNodesBetween(ea.startNode, ea.endNode)\n        ea.content = <span>{...region}</span> // will get removed...\n        ea.endNode.remove() // ged rid of the marker\n      }     \n      \n    })\n    \n    if (footnotes.length > 0) {\n      var footnotesDiv = <div><h3>Footnotes</h3><ol>{...footnotes.map(ea => <li><a id={ea.id()}></a>{ea.content}</li>)}</ol></div>\n      element.appendChild(footnotesDiv)\n    }\n\n  }\n  \n    \n      /*MD\n<style>* {background-color:lightgray}</style>\n```javascript\n// we have to \"quote\" the @ because we are still in markdown... and replacing those references\nMarkdown.extractReferences(`Hello @`+`Foo1981HHC World\\nggg @`+`Bar2019X`)\n```\n<script>\n  import Markdown from 'src/client/markdown.js';\n  <pre>Result:{eval(this.parentElement.querySelector(\"code\").textContent)}</pre>\n</script>\n  MD*/\n  \n  static extractReferences(source) {\n    return Strings.matchAll(/@([A-Za-z0-9_]+)/g, source).map(ea => ea[1])\n  }\n  \n  static parseAndReplaceLatex(element) {\n    // do it only once\n    if (element._parsedLatex) {\n      return\n    } else {\n      element._parsedLatex = true    \n    }\n\n    this.parseAndReplaceBibrefs(element)\n    this.parseAndReplaceFootenotes(element)\n    this.parseAndReplaceListings(element)\n    this.parseAndReplaceFigures(element)\n    this.parseAndReplaceFigureRefs(element)\n    this.parseAndReplaceLabels(element)\n    this.parseAndReplaceHeadings(element)\n    this.parseAndReplaceMiscLatex(element)\n  }\n  \n}\n\n\n\n\n"],"mappings":"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"}