Stackedit/src/extensions/abcExtension.js
2018-08-23 16:38:52 +01:00

22 lines
661 B
JavaScript

import abcjs from 'abcjs';
import extensionSvc from '../services/extensionSvc';
const render = (elt) => {
const content = elt.textContent;
// Create a div element
const divElt = document.createElement('div');
divElt.className = 'abc-notation-block';
// Replace the pre element with the div
elt.parentNode.parentNode.replaceChild(divElt, elt.parentNode);
abcjs.renderAbc(divElt, content, {});
};
extensionSvc.onGetOptions((options, properties) => {
options.abc = properties.extensions.abc.enabled;
});
extensionSvc.onSectionPreview((elt) => {
elt.querySelectorAll('.prism.language-abc')
.cl_each(notationElt => render(notationElt));
});