deblan.io-murph/assets/js/app/code.js

43 lines
1 KiB
JavaScript

var Code = function(w) {
this.window = w;
}
Code.prototype.init = function() {
Prism.highlightAllUnder(document);
var elements = this.window.document.querySelectorAll('code[data-title], div[data-title]');
for (var i = 0, len = elements.length; i < len; i++) {
var element = elements[i];
if (element.tagName === 'CODE') {
var code = element;
var pre = code.parentNode;
var post = pre.parentNode;
} else {
var code = element.querySelector('code');
if (!code) {
continue;
}
var pre = code.parentNode;
var post = pre.parentNode;
}
if (!pre || !post) {
continue;
}
pre.classList.add('with-title');
var title = this.window.document.createElement('div');
title.classList.add('code-title');
title.textContent = element.getAttribute('data-title');
post.insertBefore(title, pre);
}
}
module.exports = Code