如果文章中没有标题属性,则不创建TOC
This commit is contained in:
parent
f733212c4b
commit
15d5ea1e7d
@ -2,9 +2,15 @@ function createTOC() {
|
|||||||
var tocElement = document.createElement('div');
|
var tocElement = document.createElement('div');
|
||||||
tocElement.className = 'toc';
|
tocElement.className = 'toc';
|
||||||
var contentContainer = document.getElementById('content');
|
var contentContainer = document.getElementById('content');
|
||||||
contentContainer.prepend(tocElement);
|
|
||||||
const headings = contentContainer.querySelectorAll('h1, h2, h3, h4, h5, h6');
|
const headings = contentContainer.querySelectorAll('h1, h2, h3, h4, h5, h6');
|
||||||
|
|
||||||
|
if (headings.length === 0) {
|
||||||
|
return; // 如果没有标题元素,则不创建TOC
|
||||||
|
}
|
||||||
|
|
||||||
tocElement.insertAdjacentHTML('afterbegin', '<div class="toc-title">文章目录</div>');
|
tocElement.insertAdjacentHTML('afterbegin', '<div class="toc-title">文章目录</div>');
|
||||||
|
|
||||||
headings.forEach(heading => {
|
headings.forEach(heading => {
|
||||||
if (!heading.id) {
|
if (!heading.id) {
|
||||||
heading.id = heading.textContent.trim().replace(/\s+/g, '-').toLowerCase();
|
heading.id = heading.textContent.trim().replace(/\s+/g, '-').toLowerCase();
|
||||||
@ -16,10 +22,11 @@ function createTOC() {
|
|||||||
link.style.paddingLeft = `${(parseInt(heading.tagName.charAt(1)) - 1) * 10}px`;
|
link.style.paddingLeft = `${(parseInt(heading.tagName.charAt(1)) - 1) * 10}px`;
|
||||||
tocElement.appendChild(link);
|
tocElement.appendChild(link);
|
||||||
});
|
});
|
||||||
|
|
||||||
tocElement.insertAdjacentHTML('beforeend', '<a href="#" class="toc-end" onclick="window.scrollTo({top:0,behavior: \'smooth\'});">Top</a>');
|
tocElement.insertAdjacentHTML('beforeend', '<a href="#" class="toc-end" onclick="window.scrollTo({top:0,behavior: \'smooth\'});">Top</a>');
|
||||||
|
contentContainer.prepend(tocElement);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
document.addEventListener("DOMContentLoaded", function() {
|
document.addEventListener("DOMContentLoaded", function() {
|
||||||
createTOC();
|
createTOC();
|
||||||
var css = `
|
var css = `
|
||||||
@ -89,4 +96,4 @@ document.addEventListener("DOMContentLoaded", function() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
console.log("\n %c GmeekTOC Plugins https://github.com/Meekdai/Gmeek \n","padding:5px 0;background:#C333D0;color:#fff");
|
console.log("\n %c GmeekTOC Plugins https://github.com/Meekdai/Gmeek \n","padding:5px 0;background:#C333D0;color:#fff");
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user