@tenphi/renderer 0.19.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/LICENSE +21 -0
- package/README.md +23 -0
- package/dist/client/appearance.d.ts +12 -0
- package/dist/client/appearance.d.ts.map +1 -0
- package/dist/client/appearance.js +66 -0
- package/dist/client/appearance.js.map +1 -0
- package/dist/client/code-copy.d.ts +1 -0
- package/dist/client/code-copy.js +63 -0
- package/dist/client/code-copy.js.map +1 -0
- package/dist/client/heading-links.d.ts +6 -0
- package/dist/client/heading-links.d.ts.map +1 -0
- package/dist/client/heading-links.js +87 -0
- package/dist/client/heading-links.js.map +1 -0
- package/dist/client/mobile-toc.d.ts +1 -0
- package/dist/client/mobile-toc.js +28 -0
- package/dist/client/mobile-toc.js.map +1 -0
- package/dist/client/navigation.d.ts +1 -0
- package/dist/client/navigation.js +112 -0
- package/dist/client/navigation.js.map +1 -0
- package/dist/client/page-copy.d.ts +1 -0
- package/dist/client/page-copy.js +34 -0
- package/dist/client/page-copy.js.map +1 -0
- package/dist/client/search.d.ts +13 -0
- package/dist/client/search.d.ts.map +1 -0
- package/dist/client/search.js +87 -0
- package/dist/client/search.js.map +1 -0
- package/dist/client/sidebar.d.ts +1 -0
- package/dist/client/sidebar.js +93 -0
- package/dist/client/sidebar.js.map +1 -0
- package/dist/client/tabs.d.ts +6 -0
- package/dist/client/tabs.d.ts.map +1 -0
- package/dist/client/tabs.js +64 -0
- package/dist/client/tabs.js.map +1 -0
- package/dist/components/Callout.astro +15 -0
- package/dist/components/Card.astro +13 -0
- package/dist/components/CodeGroup.astro +47 -0
- package/dist/components/ContrastIcon.astro +29 -0
- package/dist/components/EditLink.astro +11 -0
- package/dist/components/GlobalStyles.js +1675 -0
- package/dist/components/HeaderLinks.astro +84 -0
- package/dist/components/Icon.astro +39 -0
- package/dist/components/LastUpdated.astro +17 -0
- package/dist/components/LayoutComponents.js +866 -0
- package/dist/components/Logo.astro +37 -0
- package/dist/components/MobileNavigationTabs.astro +79 -0
- package/dist/components/MobileTocList.astro +22 -0
- package/dist/components/PackageVersion.astro +25 -0
- package/dist/components/PageActions.astro +29 -0
- package/dist/components/Pagination.astro +29 -0
- package/dist/components/Preview.astro +34 -0
- package/dist/components/SidebarList.astro +122 -0
- package/dist/components/SiteLogo.astro +40 -0
- package/dist/components/SiteTitle.astro +7 -0
- package/dist/components/Steps.astro +6 -0
- package/dist/components/Tab.astro +10 -0
- package/dist/components/TableOfContents.astro +23 -0
- package/dist/components/Tabs.astro +16 -0
- package/dist/components/TastyComponents.js +255 -0
- package/dist/components/VersionSwitcher.astro +44 -0
- package/dist/components/appearance-preferences.test.ts +91 -0
- package/dist/components/appearance-preferences.ts +57 -0
- package/dist/components/component-styles.test.ts +129 -0
- package/dist/components/component-styles.ts +65 -0
- package/dist/components/customize-component.js +8 -0
- package/dist/components/props.d.ts +38 -0
- package/dist/components/props.d.ts.map +1 -0
- package/dist/components/props.js +1 -0
- package/dist/components/props.ts +30 -0
- package/dist/components/svg-icon.test.ts +11 -0
- package/dist/components/svg-icon.ts +11 -0
- package/dist/components/tasty-states.d.ts +2 -0
- package/dist/components/tasty-states.js +42 -0
- package/dist/components-public.d.ts +21 -0
- package/dist/components.d.ts +10 -0
- package/dist/components.js +9 -0
- package/dist/content.d.ts +11 -0
- package/dist/content.d.ts.map +1 -0
- package/dist/content.js +16 -0
- package/dist/content.js.map +1 -0
- package/dist/eslint-plugin.d.ts +32 -0
- package/dist/eslint-plugin.d.ts.map +1 -0
- package/dist/eslint-plugin.js +155 -0
- package/dist/eslint-plugin.js.map +1 -0
- package/dist/icons/arrow-left.svg +1 -0
- package/dist/icons/arrow-right.svg +1 -0
- package/dist/icons/check.svg +1 -0
- package/dist/icons/chevron-down.svg +1 -0
- package/dist/icons/chevron-right.svg +1 -0
- package/dist/icons/close.svg +1 -0
- package/dist/icons/copy.svg +1 -0
- package/dist/icons/device-desktop.svg +1 -0
- package/dist/icons/favicon.svg +11 -0
- package/dist/icons/menu.svg +1 -0
- package/dist/icons/moon.svg +1 -0
- package/dist/icons/palette.svg +1 -0
- package/dist/icons/search.svg +1 -0
- package/dist/icons/sun.svg +1 -0
- package/dist/index-BuX_Sb5c.d.ts +10 -0
- package/dist/index-BuX_Sb5c.d.ts.map +1 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1648 -0
- package/dist/index.js.map +1 -0
- package/dist/localization.d.ts +69 -0
- package/dist/localization.d.ts.map +1 -0
- package/dist/localization.js +195 -0
- package/dist/localization.js.map +1 -0
- package/dist/markdown/rendered-content.d.ts +6 -0
- package/dist/markdown/rendered-content.d.ts.map +1 -0
- package/dist/markdown/rendered-content.js +34 -0
- package/dist/markdown/rendered-content.js.map +1 -0
- package/dist/messages-B_3xUzUb.js +14 -0
- package/dist/messages-B_3xUzUb.js.map +1 -0
- package/dist/navigation.d.ts +31 -0
- package/dist/navigation.d.ts.map +1 -0
- package/dist/navigation.js +165 -0
- package/dist/navigation.js.map +1 -0
- package/dist/overrides/DraftContentNotice.astro +8 -0
- package/dist/overrides/EmptyFooter.astro +3 -0
- package/dist/overrides/Footer.astro +23 -0
- package/dist/overrides/Head.astro +59 -0
- package/dist/overrides/Header.astro +139 -0
- package/dist/overrides/Hero.astro +73 -0
- package/dist/overrides/LanguageSelect.astro +63 -0
- package/dist/overrides/MarkdownContent.astro +14 -0
- package/dist/overrides/MobileMenuFooter.astro +15 -0
- package/dist/overrides/MobileMenuToggle.astro +36 -0
- package/dist/overrides/MobileTableOfContents.astro +37 -0
- package/dist/overrides/PageFrame.astro +35 -0
- package/dist/overrides/Search.astro +64 -0
- package/dist/overrides/Sidebar.astro +89 -0
- package/dist/overrides/SocialIcons.astro +27 -0
- package/dist/overrides/ThemeSelect.astro +148 -0
- package/dist/page-metadata.d.ts +13 -0
- package/dist/page-metadata.d.ts.map +1 -0
- package/dist/page-metadata.js +109 -0
- package/dist/page-metadata.js.map +1 -0
- package/dist/route-context.d.ts +85 -0
- package/dist/route-context.d.ts.map +1 -0
- package/dist/route-context.js +116 -0
- package/dist/route-context.js.map +1 -0
- package/dist/routes/DocsPage.astro +91 -0
- package/dist/routes/NotFound.astro +12 -0
- package/dist/routes/Page.astro +120 -0
- package/dist/styling.d.ts +17 -0
- package/dist/styling.d.ts.map +1 -0
- package/dist/styling.js +17 -0
- package/dist/styling.js.map +1 -0
- package/dist/tasty-states-BDKIbfw2.js +65 -0
- package/dist/tasty-states-BDKIbfw2.js.map +1 -0
- package/dist/theme/defaults.d.ts +21 -0
- package/dist/theme/defaults.d.ts.map +1 -0
- package/dist/theme/defaults.js +93 -0
- package/dist/theme/defaults.js.map +1 -0
- package/dist/theme/fonts.ts +64 -0
- package/dist/theme/shiki-theme.d.ts +13 -0
- package/dist/theme/shiki-theme.d.ts.map +1 -0
- package/dist/theme/shiki-theme.js +328 -0
- package/dist/theme/shiki-theme.js.map +1 -0
- package/dist/theme/tasty-config.d.ts +13 -0
- package/dist/theme/tasty-config.d.ts.map +1 -0
- package/dist/theme/tasty-config.js +16 -0
- package/dist/theme/tasty-config.js.map +1 -0
- package/dist/ui.d.ts +6 -0
- package/dist/ui.d.ts.map +1 -0
- package/dist/ui.js +53 -0
- package/dist/ui.js.map +1 -0
- package/dist/versioning.d.ts +11 -0
- package/dist/versioning.d.ts.map +1 -0
- package/dist/versioning.js +38 -0
- package/dist/versioning.js.map +1 -0
- package/package.json +92 -0
- package/tasty.config.mjs +1 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { t as ResolvedDocsTheme } from "../index-BuX_Sb5c.js";
|
|
2
|
+
import { ConfigTokens } from "@tenphi/tasty/core";
|
|
3
|
+
//#region src/theme/tasty-config.d.ts
|
|
4
|
+
declare const TASTY_UNITS: {
|
|
5
|
+
readonly x: "var(--gap)";
|
|
6
|
+
readonly r: "var(--radius)";
|
|
7
|
+
readonly cr: "var(--card-radius)";
|
|
8
|
+
readonly bw: "var(--border-width)";
|
|
9
|
+
};
|
|
10
|
+
declare function tastyTokens(theme: ResolvedDocsTheme): ConfigTokens;
|
|
11
|
+
//#endregion
|
|
12
|
+
export { TASTY_UNITS, tastyTokens };
|
|
13
|
+
//# sourceMappingURL=tasty-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tasty-config.d.ts","names":[],"sources":["../../src/theme/tasty-config.ts"],"mappings":";;;cAGa;WACX;WACA;WACA;WACA;;iBAGc,YAAY,OAAO,oBAAoB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
//#region src/theme/tasty-config.ts
|
|
2
|
+
const TASTY_UNITS = {
|
|
3
|
+
x: "var(--gap)",
|
|
4
|
+
r: "var(--radius)",
|
|
5
|
+
cr: "var(--card-radius)",
|
|
6
|
+
bw: "var(--border-width)"
|
|
7
|
+
};
|
|
8
|
+
function tastyTokens(theme) {
|
|
9
|
+
const tokens = Object.fromEntries(Object.entries(theme.tokens).filter(([name]) => name.startsWith("$")));
|
|
10
|
+
Object.assign(tokens, theme.colorTokens);
|
|
11
|
+
return tokens;
|
|
12
|
+
}
|
|
13
|
+
//#endregion
|
|
14
|
+
export { TASTY_UNITS, tastyTokens };
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=tasty-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tasty-config.js","names":[],"sources":["../../src/theme/tasty-config.ts"],"sourcesContent":["import type { ConfigTokens } from \"@tenphi/tasty/core\";\nimport type { ResolvedDocsTheme } from \"./index.js\";\n\nexport const TASTY_UNITS = {\n x: \"var(--gap)\",\n r: \"var(--radius)\",\n cr: \"var(--card-radius)\",\n bw: \"var(--border-width)\",\n} as const;\n\nexport function tastyTokens(theme: ResolvedDocsTheme): ConfigTokens {\n const tokens = Object.fromEntries(\n Object.entries(theme.tokens).filter(([name]) => name.startsWith(\"$\")),\n ) as ConfigTokens;\n\n Object.assign(tokens, theme.colorTokens as ConfigTokens);\n\n return tokens;\n}\n"],"mappings":";AAGA,MAAa,cAAc;CACzB,GAAG;CACH,GAAG;CACH,IAAI;CACJ,IAAI;AACN;AAEA,SAAgB,YAAY,OAAwC;CAClE,MAAM,SAAS,OAAO,YACpB,OAAO,QAAQ,MAAM,MAAM,CAAC,CAAC,QAAQ,CAAC,UAAU,KAAK,WAAW,GAAG,CAAC,CACtE;CAEA,OAAO,OAAO,QAAQ,MAAM,WAA2B;CAEvD,OAAO;AACT"}
|
package/dist/ui.d.ts
ADDED
package/dist/ui.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui.d.ts","names":[],"sources":["../src/ui.ts"],"mappings":";;iBA4CgB,eACd,cACA,SAAS,KAAK,8BACb"}
|
package/dist/ui.js
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
//#region src/ui.ts
|
|
2
|
+
const english = {
|
|
3
|
+
"sidebarNav.accessibleLabel": "Main navigation",
|
|
4
|
+
"menuButton.accessibleLabel": "Menu",
|
|
5
|
+
"tableOfContents.onThisPage": "On this page",
|
|
6
|
+
"languageSelect.accessibleLabel": "Select language",
|
|
7
|
+
"themeSelect.light": "Light",
|
|
8
|
+
"themeSelect.dark": "Dark",
|
|
9
|
+
"themeSelect.auto": "Auto",
|
|
10
|
+
"search.label": "Search",
|
|
11
|
+
"search.ctrlKey": "Ctrl+",
|
|
12
|
+
"search.cancelLabel": "Cancel",
|
|
13
|
+
"search.devWarning": "Search is available after building the site.",
|
|
14
|
+
"page.nextLink": "Next",
|
|
15
|
+
"page.previousLink": "Previous",
|
|
16
|
+
"page.editLink": "Edit page",
|
|
17
|
+
"page.lastUpdated": "Last updated",
|
|
18
|
+
"page.skipToContent": "Skip to content",
|
|
19
|
+
"pagefind.search": "Search for",
|
|
20
|
+
"pagefind.zero_results": "No results for",
|
|
21
|
+
"pagefind.many_results": "results for",
|
|
22
|
+
"pagefind.one_result": "result for"
|
|
23
|
+
};
|
|
24
|
+
const french = {
|
|
25
|
+
"sidebarNav.accessibleLabel": "Navigation principale",
|
|
26
|
+
"menuButton.accessibleLabel": "Menu",
|
|
27
|
+
"tableOfContents.onThisPage": "Sur cette page",
|
|
28
|
+
"languageSelect.accessibleLabel": "Choisir la langue",
|
|
29
|
+
"themeSelect.light": "Clair",
|
|
30
|
+
"themeSelect.dark": "Sombre",
|
|
31
|
+
"themeSelect.auto": "Auto",
|
|
32
|
+
"search.label": "Rechercher",
|
|
33
|
+
"search.cancelLabel": "Annuler",
|
|
34
|
+
"search.devWarning": "La recherche est disponible après la génération du site.",
|
|
35
|
+
"page.nextLink": "Suivant",
|
|
36
|
+
"page.previousLink": "Précédent",
|
|
37
|
+
"page.editLink": "Modifier la page",
|
|
38
|
+
"page.lastUpdated": "Dernière mise à jour",
|
|
39
|
+
"page.skipToContent": "Aller au contenu"
|
|
40
|
+
};
|
|
41
|
+
function uiTranslations(lang, options) {
|
|
42
|
+
const language = lang.split("-")[0] ?? "en";
|
|
43
|
+
return {
|
|
44
|
+
...english,
|
|
45
|
+
...language === "fr" ? french : {},
|
|
46
|
+
...options.translations?.[language],
|
|
47
|
+
...options.translations?.[lang]
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
//#endregion
|
|
51
|
+
export { uiTranslations };
|
|
52
|
+
|
|
53
|
+
//# sourceMappingURL=ui.js.map
|
package/dist/ui.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui.js","names":[],"sources":["../src/ui.ts"],"sourcesContent":["import type { DocsConfig } from \"@tenphi/docs\";\n\nconst english: Record<string, string> = {\n \"sidebarNav.accessibleLabel\": \"Main navigation\",\n \"menuButton.accessibleLabel\": \"Menu\",\n \"tableOfContents.onThisPage\": \"On this page\",\n \"languageSelect.accessibleLabel\": \"Select language\",\n \"themeSelect.light\": \"Light\",\n \"themeSelect.dark\": \"Dark\",\n \"themeSelect.auto\": \"Auto\",\n \"search.label\": \"Search\",\n \"search.ctrlKey\": \"Ctrl+\",\n \"search.cancelLabel\": \"Cancel\",\n \"search.devWarning\": \"Search is available after building the site.\",\n \"page.nextLink\": \"Next\",\n \"page.previousLink\": \"Previous\",\n \"page.editLink\": \"Edit page\",\n \"page.lastUpdated\": \"Last updated\",\n \"page.skipToContent\": \"Skip to content\",\n \"pagefind.search\": \"Search for\",\n \"pagefind.zero_results\": \"No results for\",\n \"pagefind.many_results\": \"results for\",\n \"pagefind.one_result\": \"result for\",\n};\n\nconst french: Record<string, string> = {\n \"sidebarNav.accessibleLabel\": \"Navigation principale\",\n \"menuButton.accessibleLabel\": \"Menu\",\n \"tableOfContents.onThisPage\": \"Sur cette page\",\n \"languageSelect.accessibleLabel\": \"Choisir la langue\",\n \"themeSelect.light\": \"Clair\",\n \"themeSelect.dark\": \"Sombre\",\n \"themeSelect.auto\": \"Auto\",\n \"search.label\": \"Rechercher\",\n \"search.cancelLabel\": \"Annuler\",\n \"search.devWarning\":\n \"La recherche est disponible après la génération du site.\",\n \"page.nextLink\": \"Suivant\",\n \"page.previousLink\": \"Précédent\",\n \"page.editLink\": \"Modifier la page\",\n \"page.lastUpdated\": \"Dernière mise à jour\",\n \"page.skipToContent\": \"Aller au contenu\",\n};\n\nexport function uiTranslations(\n lang: string,\n options: Pick<DocsConfig, \"translations\">,\n): Record<string, string> {\n const language = lang.split(\"-\")[0] ?? \"en\";\n return {\n ...english,\n ...(language === \"fr\" ? french : {}),\n ...options.translations?.[language],\n ...options.translations?.[lang],\n };\n}\n"],"mappings":";AAEA,MAAM,UAAkC;CACtC,8BAA8B;CAC9B,8BAA8B;CAC9B,8BAA8B;CAC9B,kCAAkC;CAClC,qBAAqB;CACrB,oBAAoB;CACpB,oBAAoB;CACpB,gBAAgB;CAChB,kBAAkB;CAClB,sBAAsB;CACtB,qBAAqB;CACrB,iBAAiB;CACjB,qBAAqB;CACrB,iBAAiB;CACjB,oBAAoB;CACpB,sBAAsB;CACtB,mBAAmB;CACnB,yBAAyB;CACzB,yBAAyB;CACzB,uBAAuB;AACzB;AAEA,MAAM,SAAiC;CACrC,8BAA8B;CAC9B,8BAA8B;CAC9B,8BAA8B;CAC9B,kCAAkC;CAClC,qBAAqB;CACrB,oBAAoB;CACpB,oBAAoB;CACpB,gBAAgB;CAChB,sBAAsB;CACtB,qBACE;CACF,iBAAiB;CACjB,qBAAqB;CACrB,iBAAiB;CACjB,oBAAoB;CACpB,sBAAsB;AACxB;AAEA,SAAgB,eACd,MACA,SACwB;CACxB,MAAM,WAAW,KAAK,MAAM,GAAG,CAAC,CAAC,MAAM;CACvC,OAAO;EACL,GAAG;EACH,GAAI,aAAa,OAAO,SAAS,CAAC;EAClC,GAAG,QAAQ,eAAe;EAC1B,GAAG,QAAQ,eAAe;CAC5B;AACF"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { DocsConfig, DocsRoute, SiteVersion } from "@tenphi/docs";
|
|
2
|
+
//#region src/versioning.d.ts
|
|
3
|
+
declare function versionLinks(versions: SiteVersion[], routes: DocsRoute[], currentPath: string, base?: string, options?: Pick<DocsConfig, "locales" | "defaultLocale">): {
|
|
4
|
+
current?: SiteVersion;
|
|
5
|
+
links: Array<SiteVersion & {
|
|
6
|
+
href: string;
|
|
7
|
+
}>;
|
|
8
|
+
};
|
|
9
|
+
//#endregion
|
|
10
|
+
export { versionLinks };
|
|
11
|
+
//# sourceMappingURL=versioning.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"versioning.d.ts","names":[],"sources":["../src/versioning.ts"],"mappings":";;iBAQgB,aACd,UAAU,eACV,QAAQ,aACR,qBACA,eACA,UAAS,KAAK;EACX,UAAU;EAAa,OAAO,MAAM;IAAgB"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { normalizeNavigationPath } from "./navigation.js";
|
|
2
|
+
import { routeVersion } from "@tenphi/docs";
|
|
3
|
+
//#region src/versioning.ts
|
|
4
|
+
function versionLinks(versions, routes, currentPath, base = "/", options = {}) {
|
|
5
|
+
const path = normalizeNavigationPath(currentPath);
|
|
6
|
+
const first = path.split("/")[1];
|
|
7
|
+
const locale = first && first !== "root" && options.locales?.[first] ? first : "root";
|
|
8
|
+
const localePrefix = locale === "root" ? "" : `/${locale}`;
|
|
9
|
+
const versionPath = path.slice(localePrefix.length) || "/";
|
|
10
|
+
const current = routeVersion(path, {
|
|
11
|
+
site: { versions },
|
|
12
|
+
...options
|
|
13
|
+
});
|
|
14
|
+
const suffix = current ? versionPath.slice(current.routeBase === "/" ? 0 : current.routeBase.length) : "";
|
|
15
|
+
const available = new Set(routes.filter((route) => route.discoverable !== false).map((route) => route.route));
|
|
16
|
+
const prefix = base.replace(/\/$/, "");
|
|
17
|
+
const locales = [
|
|
18
|
+
locale,
|
|
19
|
+
options.defaultLocale ?? (options.locales?.root ? "root" : Object.keys(options.locales ?? {})[0] ?? "root"),
|
|
20
|
+
"root",
|
|
21
|
+
...Object.keys(options.locales ?? {})
|
|
22
|
+
];
|
|
23
|
+
return {
|
|
24
|
+
...current ? { current } : {},
|
|
25
|
+
links: versions.flatMap((version) => {
|
|
26
|
+
const root = version.routeBase === "/" ? "" : version.routeBase;
|
|
27
|
+
const route = [...locales.slice(0, 2).map((lang) => normalizeNavigationPath(`${lang === "root" ? "" : `/${lang}`}${root}${suffix}`)), ...locales.map((lang) => normalizeNavigationPath(`${lang === "root" ? "" : `/${lang}`}${root}`))].find((route) => available.has(route));
|
|
28
|
+
return route ? [{
|
|
29
|
+
...version,
|
|
30
|
+
href: `${prefix}${route}` || "/"
|
|
31
|
+
}] : [];
|
|
32
|
+
})
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
//#endregion
|
|
36
|
+
export { versionLinks };
|
|
37
|
+
|
|
38
|
+
//# sourceMappingURL=versioning.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"versioning.js","names":[],"sources":["../src/versioning.ts"],"sourcesContent":["import {\n routeVersion,\n type DocsConfig,\n type DocsRoute,\n type SiteVersion,\n} from \"@tenphi/docs\";\nimport { normalizeNavigationPath } from \"./navigation.js\";\n\nexport function versionLinks(\n versions: SiteVersion[],\n routes: DocsRoute[],\n currentPath: string,\n base = \"/\",\n options: Pick<DocsConfig, \"locales\" | \"defaultLocale\"> = {},\n): { current?: SiteVersion; links: Array<SiteVersion & { href: string }> } {\n const path = normalizeNavigationPath(currentPath);\n const first = path.split(\"/\")[1];\n const locale =\n first && first !== \"root\" && options.locales?.[first] ? first : \"root\";\n const localePrefix = locale === \"root\" ? \"\" : `/${locale}`;\n const versionPath = path.slice(localePrefix.length) || \"/\";\n const current = routeVersion(path, { site: { versions }, ...options });\n const suffix = current\n ? versionPath.slice(\n current.routeBase === \"/\" ? 0 : current.routeBase.length,\n )\n : \"\";\n const available = new Set(\n routes\n .filter((route) => route.discoverable !== false)\n .map((route) => route.route),\n );\n const prefix = base.replace(/\\/$/, \"\");\n const defaultLocale =\n options.defaultLocale ??\n (options.locales?.root\n ? \"root\"\n : (Object.keys(options.locales ?? {})[0] ?? \"root\"));\n const locales = [\n locale,\n defaultLocale,\n \"root\",\n ...Object.keys(options.locales ?? {}),\n ];\n return {\n ...(current ? { current } : {}),\n links: versions.flatMap((version) => {\n const root = version.routeBase === \"/\" ? \"\" : version.routeBase;\n const candidates = [\n ...locales\n .slice(0, 2)\n .map((lang) =>\n normalizeNavigationPath(\n `${lang === \"root\" ? \"\" : `/${lang}`}${root}${suffix}`,\n ),\n ),\n ...locales.map((lang) =>\n normalizeNavigationPath(\n `${lang === \"root\" ? \"\" : `/${lang}`}${root}`,\n ),\n ),\n ];\n const route = candidates.find((route) => available.has(route));\n return route ? [{ ...version, href: `${prefix}${route}` || \"/\" }] : [];\n }),\n };\n}\n"],"mappings":";;;AAQA,SAAgB,aACd,UACA,QACA,aACA,OAAO,KACP,UAAyD,CAAC,GACe;CACzE,MAAM,OAAO,wBAAwB,WAAW;CAChD,MAAM,QAAQ,KAAK,MAAM,GAAG,CAAC,CAAC;CAC9B,MAAM,SACJ,SAAS,UAAU,UAAU,QAAQ,UAAU,SAAS,QAAQ;CAClE,MAAM,eAAe,WAAW,SAAS,KAAK,IAAI;CAClD,MAAM,cAAc,KAAK,MAAM,aAAa,MAAM,KAAK;CACvD,MAAM,UAAU,aAAa,MAAM;EAAE,MAAM,EAAE,SAAS;EAAG,GAAG;CAAQ,CAAC;CACrE,MAAM,SAAS,UACX,YAAY,MACV,QAAQ,cAAc,MAAM,IAAI,QAAQ,UAAU,MACpD,IACA;CACJ,MAAM,YAAY,IAAI,IACpB,OACG,QAAQ,UAAU,MAAM,iBAAiB,KAAK,CAAC,CAC/C,KAAK,UAAU,MAAM,KAAK,CAC/B;CACA,MAAM,SAAS,KAAK,QAAQ,OAAO,EAAE;CAMrC,MAAM,UAAU;EACd;EALA,QAAQ,kBACP,QAAQ,SAAS,OACd,SACC,OAAO,KAAK,QAAQ,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM;EAI9C;EACA,GAAG,OAAO,KAAK,QAAQ,WAAW,CAAC,CAAC;CACtC;CACA,OAAO;EACL,GAAI,UAAU,EAAE,QAAQ,IAAI,CAAC;EAC7B,OAAO,SAAS,SAAS,YAAY;GACnC,MAAM,OAAO,QAAQ,cAAc,MAAM,KAAK,QAAQ;GAetD,MAAM,QAAQ,CAbZ,GAAG,QACA,MAAM,GAAG,CAAC,CAAC,CACX,KAAK,SACJ,wBACE,GAAG,SAAS,SAAS,KAAK,IAAI,SAAS,OAAO,QAChD,CACF,GACF,GAAG,QAAQ,KAAK,SACd,wBACE,GAAG,SAAS,SAAS,KAAK,IAAI,SAAS,MACzC,CACF,CAEqB,CAAC,CAAC,MAAM,UAAU,UAAU,IAAI,KAAK,CAAC;GAC7D,OAAO,QAAQ,CAAC;IAAE,GAAG;IAAS,MAAM,GAAG,SAAS,WAAW;GAAI,CAAC,IAAI,CAAC;EACvE,CAAC;CACH;AACF"}
|
package/package.json
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@tenphi/renderer",
|
|
3
|
+
"version": "0.19.0",
|
|
4
|
+
"description": "Astro renderer and Tasty theme for Cookbook",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"sideEffects": [
|
|
7
|
+
"./dist/client/*.js",
|
|
8
|
+
"./dist/styling.js"
|
|
9
|
+
],
|
|
10
|
+
"exports": {
|
|
11
|
+
".": {
|
|
12
|
+
"types": "./dist/index.d.ts",
|
|
13
|
+
"import": "./dist/index.js"
|
|
14
|
+
},
|
|
15
|
+
"./content": {
|
|
16
|
+
"types": "./dist/content.d.ts",
|
|
17
|
+
"import": "./dist/content.js"
|
|
18
|
+
},
|
|
19
|
+
"./components": {
|
|
20
|
+
"types": "./dist/components-public.d.ts",
|
|
21
|
+
"import": "./dist/components.js"
|
|
22
|
+
},
|
|
23
|
+
"./styling": {
|
|
24
|
+
"types": "./dist/styling.d.ts",
|
|
25
|
+
"import": "./dist/styling.js"
|
|
26
|
+
},
|
|
27
|
+
"./eslint-plugin": {
|
|
28
|
+
"types": "./dist/eslint-plugin.d.ts",
|
|
29
|
+
"import": "./dist/eslint-plugin.js"
|
|
30
|
+
},
|
|
31
|
+
"./client/*": "./dist/client/*.js"
|
|
32
|
+
},
|
|
33
|
+
"files": [
|
|
34
|
+
"dist",
|
|
35
|
+
"tasty.config.mjs",
|
|
36
|
+
"README.md",
|
|
37
|
+
"LICENSE"
|
|
38
|
+
],
|
|
39
|
+
"engines": {
|
|
40
|
+
"node": ">=22.19"
|
|
41
|
+
},
|
|
42
|
+
"publishConfig": {
|
|
43
|
+
"access": "public"
|
|
44
|
+
},
|
|
45
|
+
"repository": {
|
|
46
|
+
"type": "git",
|
|
47
|
+
"url": "git+https://github.com/tenphi/cookbook.git",
|
|
48
|
+
"directory": "packages/renderer"
|
|
49
|
+
},
|
|
50
|
+
"homepage": "https://github.com/tenphi/cookbook#readme",
|
|
51
|
+
"bugs": {
|
|
52
|
+
"url": "https://github.com/tenphi/cookbook/issues"
|
|
53
|
+
},
|
|
54
|
+
"author": "Andrey Yamanov",
|
|
55
|
+
"license": "MIT",
|
|
56
|
+
"dependencies": {
|
|
57
|
+
"@astrojs/markdown-remark": "^7.3.1",
|
|
58
|
+
"@astrojs/mdx": "8.0.1",
|
|
59
|
+
"@astrojs/react": "^6.0.5",
|
|
60
|
+
"@astrojs/sitemap": "^3.7.3",
|
|
61
|
+
"@fontsource-variable/jetbrains-mono": "^5.3.0",
|
|
62
|
+
"@fontsource-variable/onest": "^5.3.0",
|
|
63
|
+
"@pagefind/default-ui": "1.5.2",
|
|
64
|
+
"@tenphi/docs": "0.19.0",
|
|
65
|
+
"@tenphi/eslint-plugin-tasty": "1.1.0",
|
|
66
|
+
"@tenphi/glaze": "2.0.0",
|
|
67
|
+
"@tenphi/tasty": "3.8.0",
|
|
68
|
+
"beautiful-mermaid": "^1.1.3",
|
|
69
|
+
"hast-util-from-html": "^2.0.3",
|
|
70
|
+
"pagefind": "1.5.2",
|
|
71
|
+
"react": "^18.3.1 || ^19.0.0",
|
|
72
|
+
"react-dom": "^18.3.1 || ^19.0.0",
|
|
73
|
+
"sharp": "0.35.4"
|
|
74
|
+
},
|
|
75
|
+
"peerDependencies": {
|
|
76
|
+
"astro": "^7.3.2"
|
|
77
|
+
},
|
|
78
|
+
"devDependencies": {
|
|
79
|
+
"@types/node": "^22.15.2",
|
|
80
|
+
"@types/react": "^19.2.18",
|
|
81
|
+
"astro": "^7.3.2",
|
|
82
|
+
"tsdown": "^0.22.14",
|
|
83
|
+
"typescript": "^7.0.2",
|
|
84
|
+
"vitest": "^4.1.11"
|
|
85
|
+
},
|
|
86
|
+
"scripts": {
|
|
87
|
+
"build": "tsdown --config tsdown.config.ts && node ../../scripts/pack-assets.mjs",
|
|
88
|
+
"clean": "rm -rf dist",
|
|
89
|
+
"typecheck": "tsc --noEmit",
|
|
90
|
+
"test": "vitest run"
|
|
91
|
+
}
|
|
92
|
+
}
|
package/tasty.config.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { validationConfig as default } from "./dist/eslint-plugin.js";
|