mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2024-12-11 18:50:28 +00:00
43 lines
1.1 KiB
JavaScript
43 lines
1.1 KiB
JavaScript
/*\
|
|
title: $:/plugins/tiddlywiki/text-slicer/modules/slicers/heading.js
|
|
type: application/javascript
|
|
module-type: slicer
|
|
|
|
Handle slicing heading nodes
|
|
|
|
\*/
|
|
(function(){
|
|
|
|
/*jslint node: true, browser: true */
|
|
/*global $tw: false */
|
|
"use strict";
|
|
|
|
exports.processHeadingNode = function(domNode,tagName) {
|
|
if(domNode.nodeType === 1 && (tagName === "h1" || tagName === "h2" || tagName === "h3" || tagName === "h4")) {
|
|
var text = $tw.utils.htmlEncode(domNode.textContent);
|
|
var title = this.makeUniqueTitle("heading",text),
|
|
parentTitle = this.popParentStackUntil(tagName),
|
|
tags = [];
|
|
if(domNode.className.trim() !== "") {
|
|
tags = tags.concat(domNode.className.split(" "));
|
|
}
|
|
this.addToList(parentTitle,title);
|
|
this.parentStack.push({type: tagName, title: this.addTiddler({
|
|
"toc-type": "heading",
|
|
"toc-heading-level": tagName,
|
|
title: title,
|
|
text: "",
|
|
list: [],
|
|
tags: tags
|
|
})});
|
|
this.currentTiddler = title;
|
|
this.containerStack.push(title);
|
|
this.processNodeList(domNode.childNodes);
|
|
this.containerStack.pop();
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|
|
|
|
})();
|