Sha256: fa4d813dfac906d9ee336b2c3e87c7f2b5e46308abe8a908bdb69733ae5bb74f

Contents?: true

Size: 1.18 KB

Versions: 3

Compression:

Stored size: 1.18 KB

Contents

// eslint-disable-next-line no-unused-vars
function createMDPreviewer (cmInstance) {
  var md = window.markdownit()

  return function (event) {
    event.preventDefault()

    document.getElementById('content-description-preview').innerHTML = md.render(cmInstance.getValue())

    openModal('content-preview-modal')
  }
}

/*
 * @author Wladimir Palant
 * @source https://stackoverflow.com/questions/1912501/unescape-html-entities-in-javascript/34064434#34064434
 */
function htmlDecode (input) {
  if (typeof DOMParser !== 'function') { return input }
  var doc = new DOMParser().parseFromString(input, 'text/html')
  return doc.documentElement.textContent
}

// eslint-disable-next-line no-unused-vars
function renderMdFromId (areaId) {
  var md = window.markdownit({
    highlight: function (str, lang) {
      // Unescape some chars
      str = htmlDecode(str)
      if (lang && hljs.getLanguage(lang)) {
        try {
          return hljs.highlight(lang, str).value
        } catch (__) {}
      }

      return '' // use external default escaping
    }
  })
  var value = document.getElementById('raw-' + areaId).innerHTML

  document.getElementById('markdown-' + areaId).innerHTML = md.render(value)
}

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
elabs-3.0.0 app/assets/javascripts/elabs/helpers-markdown.js
elabs-2.0.0 app/assets/javascripts/elabs/helpers-markdown.js
elabs-2.0.0.pre app/assets/javascripts/elabs/helpers-markdown.js