@ox-content/vite-plugin 2.25.0 → 2.26.0
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/index.cjs +32 -15
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7 -2
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +7 -2
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +32 -15
- package/dist/index.mjs.map +1 -1
- package/dist/tabs.cjs +14 -154
- package/dist/tabs.cjs.map +1 -1
- package/dist/tabs2.mjs +14 -152
- package/dist/tabs2.mjs.map +1 -1
- package/dist/youtube.cjs +10 -89
- package/dist/youtube.cjs.map +1 -1
- package/dist/youtube2.mjs +10 -87
- package/dist/youtube2.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -374,9 +374,11 @@ function protectMermaidSvgs(html) {
|
|
|
374
374
|
* Restore protected mermaid SVG blocks from placeholders.
|
|
375
375
|
*/
|
|
376
376
|
function restoreMermaidSvgs(html, svgs) {
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
377
|
+
if (svgs.size === 0) return html;
|
|
378
|
+
return html.replace(/<!--ox-mermaid-\d+-->/g, (placeholder) => {
|
|
379
|
+
const content = svgs.get(placeholder);
|
|
380
|
+
return content !== void 0 ? content : placeholder;
|
|
381
|
+
});
|
|
380
382
|
}
|
|
381
383
|
//#endregion
|
|
382
384
|
//#region src/transform.ts
|
|
@@ -1669,6 +1671,32 @@ function generateBareHtmlPage(content, title) {
|
|
|
1669
1671
|
return require_napi.importNapiModuleSync().generateSsgBareHtml(content, title);
|
|
1670
1672
|
}
|
|
1671
1673
|
/**
|
|
1674
|
+
* Per-build cache for the Rust-facing nav conversion. `navGroups` is the same
|
|
1675
|
+
* `context.navItems` reference for every page in a build, so the deep recursive
|
|
1676
|
+
* copy below only needs to run once per build instead of once per page.
|
|
1677
|
+
*/
|
|
1678
|
+
const navGroupsForRustCache = /* @__PURE__ */ new WeakMap();
|
|
1679
|
+
function toRustNavItem(item) {
|
|
1680
|
+
return {
|
|
1681
|
+
title: item.title,
|
|
1682
|
+
path: item.path,
|
|
1683
|
+
href: item.href,
|
|
1684
|
+
children: item.children?.map(toRustNavItem),
|
|
1685
|
+
collapsed: item.collapsed
|
|
1686
|
+
};
|
|
1687
|
+
}
|
|
1688
|
+
function convertNavGroupsForRust(navGroups) {
|
|
1689
|
+
const cached = navGroupsForRustCache.get(navGroups);
|
|
1690
|
+
if (cached) return cached;
|
|
1691
|
+
const converted = navGroups.map((group) => ({
|
|
1692
|
+
title: group.title,
|
|
1693
|
+
collapsed: group.collapsed,
|
|
1694
|
+
items: group.items.map(toRustNavItem)
|
|
1695
|
+
}));
|
|
1696
|
+
navGroupsForRustCache.set(navGroups, converted);
|
|
1697
|
+
return converted;
|
|
1698
|
+
}
|
|
1699
|
+
/**
|
|
1672
1700
|
* Generates HTML page with navigation using Rust NAPI bindings.
|
|
1673
1701
|
*/
|
|
1674
1702
|
async function generateHtmlPage(pageData, navGroups, siteName, base, ogImage, theme, locale, availableLocales) {
|
|
@@ -1680,18 +1708,7 @@ async function generateHtmlPage(pageData, navGroups, siteName, base, ogImage, th
|
|
|
1680
1708
|
children: entry.children?.map(toRustTocEntry) ?? []
|
|
1681
1709
|
});
|
|
1682
1710
|
const tocForRust = pageData.toc.map(toRustTocEntry);
|
|
1683
|
-
const
|
|
1684
|
-
title: item.title,
|
|
1685
|
-
path: item.path,
|
|
1686
|
-
href: item.href,
|
|
1687
|
-
children: item.children?.map(toRustNavItem),
|
|
1688
|
-
collapsed: item.collapsed
|
|
1689
|
-
});
|
|
1690
|
-
const navGroupsForRust = navGroups.map((group) => ({
|
|
1691
|
-
title: group.title,
|
|
1692
|
-
collapsed: group.collapsed,
|
|
1693
|
-
items: group.items.map(toRustNavItem)
|
|
1694
|
-
}));
|
|
1711
|
+
const navGroupsForRust = convertNavGroupsForRust(navGroups);
|
|
1695
1712
|
const themeForRust = theme ? require_vitepress.themeToNapi(theme) : void 0;
|
|
1696
1713
|
const entryPageForRust = pageData.entryPage ? {
|
|
1697
1714
|
hero: pageData.entryPage.hero ? {
|