Skip to content

Commit b103ceb

Browse files
author
neatc0der
committed
#26: Adjusts javascript to support page update by decryption event
1 parent e88ba65 commit b103ceb

File tree

1 file changed

+29
-15
lines changed

1 file changed

+29
-15
lines changed
Lines changed: 29 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,33 @@
11
(function initializeMarkmap() {
2-
const markmap_transformer = new markmap.Transformer();
3-
const markmaps = document.getElementsByClassName('mkdocs-markmap');
4-
var el, content, svg, root, m;
5-
for (var i = 0; i < markmaps.length; i++) {
6-
el = markmaps[i];
7-
content = el.getAttribute('data-markdown').replaceAll('&#10;', '\n');
8-
svg = el.querySelector('svg');
9-
root = markmap_transformer.transform(content).root;
10-
m = markmap.Markmap.create(svg, null, root);
2+
function update_markmaps() {
3+
const markmap_transformer = new markmap.Transformer();
4+
const markmaps = document.getElementsByClassName('mkdocs-markmap');
5+
var el, content, svg, root, m;
6+
for (var i = 0; i < markmaps.length; i++) {
7+
el = markmaps[i];
8+
content = el.getAttribute('data-markdown').replaceAll('&#10;', '\n');
9+
svg = el.querySelector('svg');
10+
root = markmap_transformer.transform(content).root;
11+
m = markmap.Markmap.create(svg, null, root);
1112

12-
(function(obj, e, r) {
13-
obj.rescale(1).then(function() {
14-
e.parentElement.style.height = (e.getBBox().height + 10) + "px";
15-
requestAnimationFrame(() => { obj.fit(); })
16-
});
17-
})(m, svg, root);
13+
(function(obj, e, r) {
14+
obj.rescale(1).then(function() {
15+
e.parentElement.style.height = (e.getBBox().height + 10) + "px";
16+
requestAnimationFrame(() => { obj.fit(); })
17+
});
18+
})(m, svg, root);
19+
}
1820
}
21+
22+
var MutationObserver = window.MutationObserver || window.WebKitMutationObserver;
23+
var observer = new MutationObserver(function(mutations) {
24+
update_markmaps();
25+
});
26+
27+
var target = document.getElementById('mkdocs-decrypted-content');
28+
if (undefined != target) {
29+
observer.observe(target, { childList: true });
30+
}
31+
32+
update_markmaps();
1933
})();

0 commit comments

Comments
 (0)