export styled HTML with heading id's (#460)

* export styled HTML with heading id's

* Overwrite id attribute
This commit is contained in:
Felix Häusler 2018-08-16 15:51:40 +02:00 committed by Ran Luo
parent d1be68372f
commit 45aa733ceb

View File

@ -149,6 +149,9 @@ class ExportHTML {
getHtml () { getHtml () {
const rawHTML = document.querySelector(`#${CLASS_OR_ID['AG_EDITOR_ID']}`).outerHTML const rawHTML = document.querySelector(`#${CLASS_OR_ID['AG_EDITOR_ID']}`).outerHTML
const $ = cheerio.load(rawHTML) const $ = cheerio.load(rawHTML)
const headingClassNames = [
'h1', 'h2', 'h3', 'h4', 'h5', 'h6'
]
const removeClassNames = [ const removeClassNames = [
`.${CLASS_OR_ID['AG_REMOVE']}`, `.${CLASS_OR_ID['AG_REMOVE']}`,
`.${CLASS_OR_ID['AG_OUTPUT_REMOVE']}`, `.${CLASS_OR_ID['AG_OUTPUT_REMOVE']}`,
@ -162,6 +165,15 @@ class ExportHTML {
$(`.${CLASS_OR_ID['AG_ACTIVE']}`).removeClass(CLASS_OR_ID['AG_ACTIVE']) $(`.${CLASS_OR_ID['AG_ACTIVE']}`).removeClass(CLASS_OR_ID['AG_ACTIVE'])
$(`[data-role=hr]`).replaceWith('<hr>') $(`[data-role=hr]`).replaceWith('<hr>')
// create heading id's
const headings = $(headingClassNames.join(', '))
if (headings.length) {
headings.each((i, h) => {
const heading = $(h)
heading.attr('id', heading.attr('data-id'))
})
}
// replace the `emoji text` with actual emoji // replace the `emoji text` with actual emoji
const emojis = $(`span.${CLASS_OR_ID['AG_EMOJI_MARKED_TEXT']}`) const emojis = $(`span.${CLASS_OR_ID['AG_EMOJI_MARKED_TEXT']}`)
if (emojis.length > 0) { if (emojis.length > 0) {