czon 0.9.5 → 0.9.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ssg/ContentPage.js +16 -4
- package/package.json +1 -1
package/dist/ssg/ContentPage.js
CHANGED
|
@@ -59,15 +59,15 @@ const ContentPage = props => {
|
|
|
59
59
|
} })),
|
|
60
60
|
react_1.default.createElement("body", null,
|
|
61
61
|
react_1.default.createElement(PageLayout_1.PageLayout, { header: react_1.default.createElement(CZONHeader_1.CZONHeader, { ctx: props.ctx, lang: props.lang, file: props.file }), navigator: react_1.default.createElement("nav", { className: "sidebar border-r" },
|
|
62
|
-
react_1.default.createElement(Navigator_1.Navigator, { ctx: props.ctx, file: props.file, lang: props.lang })), rightSidebar: react_1.default.createElement("aside", { className: "sidebar border-l" },
|
|
62
|
+
react_1.default.createElement(Navigator_1.Navigator, { ctx: props.ctx, file: props.file, lang: props.lang })), rightSidebar: props.content.headings.length > 0 ? (react_1.default.createElement("aside", { className: "sidebar border-l" },
|
|
63
63
|
react_1.default.createElement("h2", { className: "text-2xl font-semibold mb-2" }, "Table of Contents"),
|
|
64
|
-
props.content.headings.map(heading => (react_1.default.createElement("a", { key: heading.id, href: `#${heading.id}`, className: `block ms-${(heading.depth - 1) * 4} mb-2 border-b`, dangerouslySetInnerHTML: { __html: heading.html } })))), main: react_1.default.createElement("main", { className: "content max-w-4xl mx-auto my-8 px-4" },
|
|
64
|
+
props.content.headings.map(heading => (react_1.default.createElement("a", { key: heading.id, href: `#${heading.id}`, className: `block ms-${(heading.depth - 1) * 4} mb-2 border-b`, dangerouslySetInnerHTML: { __html: heading.html } }))))) : undefined, main: react_1.default.createElement("main", { className: "content max-w-4xl mx-auto my-8 px-4" },
|
|
65
65
|
react_1.default.createElement(ContentMeta_1.ContentMeta, { ctx: props.ctx, file: props.file, lang: props.lang }),
|
|
66
|
-
react_1.default.createElement("div", { className: "border-b mb-4 pb-2 xl:hidden" },
|
|
66
|
+
props.content.headings.length > 0 && (react_1.default.createElement("div", { className: "border-b mb-4 pb-2 xl:hidden" },
|
|
67
67
|
react_1.default.createElement("h2", { className: "text-2xl font-semibold mb-2" }, "Table of Contents"),
|
|
68
68
|
props.content.headings.map(heading => (react_1.default.createElement("a", { key: heading.id, href: `#${heading.id}`,
|
|
69
69
|
// 按照 heading.depth 设置缩进
|
|
70
|
-
className: `block ps-${heading.depth * 4} mb-2`, dangerouslySetInnerHTML: { __html: heading.html } })))),
|
|
70
|
+
className: `block ps-${heading.depth * 4} mb-2`, dangerouslySetInnerHTML: { __html: heading.html } }))))),
|
|
71
71
|
react_1.default.createElement("div", { className: "content-body" },
|
|
72
72
|
react_1.default.createElement("article", { dangerouslySetInnerHTML: { __html: props.content.body } }),
|
|
73
73
|
relatedContents.length > 0 && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
@@ -159,6 +159,18 @@ const ContentPage = props => {
|
|
|
159
159
|
}, 300);
|
|
160
160
|
}
|
|
161
161
|
|
|
162
|
+
`),
|
|
163
|
+
react_1.default.createElement("script", null, `
|
|
164
|
+
// 页面加载后将当前激活的导航链接滚动到可视区域
|
|
165
|
+
if (document.readyState === 'loading') {
|
|
166
|
+
document.addEventListener('DOMContentLoaded', scrollActiveNavLink);
|
|
167
|
+
} else {
|
|
168
|
+
scrollActiveNavLink();
|
|
169
|
+
}
|
|
170
|
+
function scrollActiveNavLink() {
|
|
171
|
+
var el = document.querySelector('.nav-link.active');
|
|
172
|
+
if (el) el.scrollIntoView({ block: 'center', behavior: 'instant' });
|
|
173
|
+
}
|
|
162
174
|
`),
|
|
163
175
|
react_1.default.createElement("script", { id: "embla-lib", src: "https://unpkg.com/embla-carousel/embla-carousel.umd.js", defer: true }),
|
|
164
176
|
react_1.default.createElement("script", { id: "embla-autoplay-lib", src: "https://unpkg.com/embla-carousel-autoplay/embla-carousel-autoplay.umd.js", defer: true }),
|