@netfoundry/docusaurus-theme 0.2.0 → 0.2.3

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.
Files changed (141) hide show
  1. package/dist/src/components/Alert/Alert.js +51 -6
  2. package/dist/src/components/Alert/Alert.js.map +7 -1
  3. package/dist/src/components/Alert/index.js +29 -2
  4. package/dist/src/components/Alert/index.js.map +7 -1
  5. package/dist/src/components/CodeBlock/CodeBlock.js +53 -7
  6. package/dist/src/components/CodeBlock/CodeBlock.js.map +7 -1
  7. package/dist/src/components/CodeBlock/index.js +29 -2
  8. package/dist/src/components/CodeBlock/index.js.map +7 -1
  9. package/dist/src/components/Common/Common.js +59 -16
  10. package/dist/src/components/Common/Common.js.map +7 -1
  11. package/dist/src/components/Common/Logos.d.ts +6 -0
  12. package/dist/src/components/Common/Logos.d.ts.map +1 -0
  13. package/dist/src/components/Common/Logos.js +93 -0
  14. package/dist/src/components/Common/Logos.js.map +7 -0
  15. package/dist/src/components/Common/index.d.ts +1 -0
  16. package/dist/src/components/Common/index.d.ts.map +1 -1
  17. package/dist/src/components/Common/index.js +25 -2
  18. package/dist/src/components/Common/index.js.map +7 -1
  19. package/dist/src/components/NetFoundry/Divider/Divider.js +46 -5
  20. package/dist/src/components/NetFoundry/Divider/Divider.js.map +7 -1
  21. package/dist/src/components/NetFoundry/Divider/index.js +23 -2
  22. package/dist/src/components/NetFoundry/Divider/index.js.map +7 -1
  23. package/dist/src/components/NetFoundry/index.js +23 -2
  24. package/dist/src/components/NetFoundry/index.js.map +7 -1
  25. package/dist/src/components/NetFoundryFooter/NetFoundryFooter.d.ts +2 -21
  26. package/dist/src/components/NetFoundryFooter/NetFoundryFooter.d.ts.map +1 -1
  27. package/dist/src/components/NetFoundryFooter/NetFoundryFooter.js +115 -58
  28. package/dist/src/components/NetFoundryFooter/NetFoundryFooter.js.map +7 -1
  29. package/dist/src/components/NetFoundryFooter/defaults.js +50 -23
  30. package/dist/src/components/NetFoundryFooter/defaults.js.map +7 -1
  31. package/dist/src/components/NetFoundryFooter/index.js +23 -2
  32. package/dist/src/components/NetFoundryFooter/index.js.map +7 -1
  33. package/dist/src/components/NetFoundryFooter/types.d.ts +27 -0
  34. package/dist/src/components/NetFoundryFooter/types.d.ts.map +1 -0
  35. package/dist/src/components/NetFoundryFooter/types.js +53 -0
  36. package/dist/src/components/NetFoundryFooter/types.js.map +7 -0
  37. package/dist/src/components/NetFoundryHighlight/NetFoundryHighlight.js +32 -5
  38. package/dist/src/components/NetFoundryHighlight/NetFoundryHighlight.js.map +7 -1
  39. package/dist/src/components/NetFoundryHighlight/index.js +29 -2
  40. package/dist/src/components/NetFoundryHighlight/index.js.map +7 -1
  41. package/dist/src/components/NetFoundryHorizontalSection/NetFoundryHorizontalSection.js +52 -7
  42. package/dist/src/components/NetFoundryHorizontalSection/NetFoundryHorizontalSection.js.map +7 -1
  43. package/dist/src/components/NetFoundryHorizontalSection/index.js +29 -2
  44. package/dist/src/components/NetFoundryHorizontalSection/index.js.map +7 -1
  45. package/dist/src/components/NetFoundryLayout/NetFoundryLayout.js +111 -34
  46. package/dist/src/components/NetFoundryLayout/NetFoundryLayout.js.map +7 -1
  47. package/dist/src/components/NetFoundryLayout/index.js +23 -2
  48. package/dist/src/components/NetFoundryLayout/index.js.map +7 -1
  49. package/dist/src/components/NetFoundryNavbarItems/NetFoundryNavbarItems.js +40 -13
  50. package/dist/src/components/NetFoundryNavbarItems/NetFoundryNavbarItems.js.map +7 -1
  51. package/dist/src/components/NetFoundryNavbarItems/index.js +29 -2
  52. package/dist/src/components/NetFoundryNavbarItems/index.js.map +7 -1
  53. package/dist/src/components/OsTabs/OsTabs.js +53 -17
  54. package/dist/src/components/OsTabs/OsTabs.js.map +7 -1
  55. package/dist/src/components/OsTabs/index.js +29 -2
  56. package/dist/src/components/OsTabs/index.js.map +7 -1
  57. package/dist/src/components/ProductSearch/ProductSearch.js +243 -122
  58. package/dist/src/components/ProductSearch/ProductSearch.js.map +7 -1
  59. package/dist/src/components/ProductSearch/index.js +42 -4
  60. package/dist/src/components/ProductSearch/index.js.map +7 -1
  61. package/dist/src/components/StarUs/StarUs.js +45 -6
  62. package/dist/src/components/StarUs/StarUs.js.map +7 -1
  63. package/dist/src/components/StarUs/index.js +39 -2
  64. package/dist/src/components/StarUs/index.js.map +7 -1
  65. package/dist/src/components/index.js +45 -13
  66. package/dist/src/components/index.js.map +7 -1
  67. package/dist/src/config.d.ts +9 -0
  68. package/dist/src/config.d.ts.map +1 -0
  69. package/dist/src/config.js +34 -0
  70. package/dist/src/config.js.map +7 -0
  71. package/dist/src/css-modules.d.js +2 -0
  72. package/dist/src/css-modules.d.js.map +7 -0
  73. package/dist/src/docusaurus-envhelper.js +111 -64
  74. package/dist/src/docusaurus-envhelper.js.map +7 -1
  75. package/dist/src/docusaurus-plugins/index.js +35 -8
  76. package/dist/src/docusaurus-plugins/index.js.map +7 -1
  77. package/dist/src/docusaurus-plugins/logger.js +66 -38
  78. package/dist/src/docusaurus-plugins/logger.js.map +7 -1
  79. package/dist/src/docusaurus-plugins/remarkCodeSections.js +127 -94
  80. package/dist/src/docusaurus-plugins/remarkCodeSections.js.map +7 -1
  81. package/dist/src/docusaurus-plugins/remarkReplaceMetaUrl.js +50 -22
  82. package/dist/src/docusaurus-plugins/remarkReplaceMetaUrl.js.map +7 -1
  83. package/dist/src/docusaurus-plugins/remarkScopedPath.js +78 -46
  84. package/dist/src/docusaurus-plugins/remarkScopedPath.js.map +7 -1
  85. package/dist/src/docusaurus-plugins/remarkYamlTable.js +84 -49
  86. package/dist/src/docusaurus-plugins/remarkYamlTable.js.map +7 -1
  87. package/dist/src/docusaurus-plugins/remarkYouTube.js +65 -42
  88. package/dist/src/docusaurus-plugins/remarkYouTube.js.map +7 -1
  89. package/dist/src/docusaurus-plugins/timedPlugin.js +42 -15
  90. package/dist/src/docusaurus-plugins/timedPlugin.js.map +7 -1
  91. package/dist/src/docusaurus.d.js +2 -0
  92. package/dist/src/docusaurus.d.js.map +7 -0
  93. package/dist/src/index.d.ts.map +1 -1
  94. package/dist/src/index.js +63 -31
  95. package/dist/src/index.js.map +7 -1
  96. package/dist/src/node.js +23 -7
  97. package/dist/src/node.js.map +7 -1
  98. package/dist/src/options.d.ts +7 -0
  99. package/dist/src/options.d.ts.map +1 -1
  100. package/dist/src/options.js +17 -2
  101. package/dist/src/options.js.map +7 -1
  102. package/dist/src/plugins.js +23 -7
  103. package/dist/src/plugins.js.map +7 -1
  104. package/dist/src/ui.js +25 -8
  105. package/dist/src/ui.js.map +7 -1
  106. package/dist/src/version.js +29 -2
  107. package/dist/src/version.js.map +7 -1
  108. package/dist/theme/BlogPostPage/Metadata.js +35 -2
  109. package/dist/theme/BlogPostPage/Metadata.js.map +7 -1
  110. package/dist/theme/BlogPostPage/StructuredData.js +35 -2
  111. package/dist/theme/BlogPostPage/StructuredData.js.map +7 -1
  112. package/dist/theme/BlogPostPage/index.js +98 -24
  113. package/dist/theme/BlogPostPage/index.js.map +7 -1
  114. package/dist/theme/DocSearch/index.js +95 -27
  115. package/dist/theme/DocSearch/index.js.map +7 -1
  116. package/dist/theme/Layout/index.js +81 -35
  117. package/dist/theme/Layout/index.js.map +7 -1
  118. package/dist/theme/Navbar/Content/index.js +69 -26
  119. package/dist/theme/Navbar/Content/index.js.map +7 -1
  120. package/dist/theme/Navbar/Logo/index.d.ts.map +1 -1
  121. package/dist/theme/Navbar/Logo/index.js +87 -42
  122. package/dist/theme/Navbar/Logo/index.js.map +7 -1
  123. package/dist/theme/OsTabs/index.js +50 -19
  124. package/dist/theme/OsTabs/index.js.map +7 -1
  125. package/dist/theme/SearchBar/index.js +89 -34
  126. package/dist/theme/SearchBar/index.js.map +7 -1
  127. package/package.json +11 -25
  128. package/css/layout.css +0 -14
  129. package/css/legacy.css +0 -2313
  130. package/css/tabs-v1-gradient.css +0 -92
  131. package/css/tabs-v2-glass.css +0 -116
  132. package/css/tabs-v3-minimal.css +0 -86
  133. package/css/tabs-v4-segmented.css +0 -85
  134. package/css/tabs-v5-neon.css +0 -99
  135. package/css/tabs-v6-neumorphic.css +0 -89
  136. package/css/tabs-v7-brutalist.css +0 -81
  137. package/css/tabs-v8-float.css +0 -114
  138. package/css/tabs-v9-line.css +0 -104
  139. package/css/theme.css +0 -72
  140. package/css/vars-dark.css +0 -7
  141. package/css/vars.css +0 -8
@@ -1 +1,7 @@
1
- {"version":3,"file":"remarkScopedPath.js","sourceRoot":"","sources":["../../../src/docusaurus-plugins/remarkScopedPath.ts"],"names":[],"mappings":"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"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/docusaurus-plugins/remarkScopedPath.ts"],
4
+ "sourcesContent": ["import { Plugin } from 'unified'\r\nimport { visit } from 'unist-util-visit'\r\nimport { Image, Link } from 'mdast'\r\nimport { MdxJsxFlowElement, MdxjsEsm } from 'mdast-util-mdx'\r\nimport {Logger, LogLevel, resolveLogLevel} from './logger'\r\n\r\nconsole.log(\"\uD83E\uDD96 remarkScopedPath plugin module loaded\")\r\n\r\ninterface ScopedPathOptions {\r\n from: string\r\n to: string\r\n}\r\ninterface Options {\r\n mappings: ScopedPathOptions[]\r\n logLevel?: LogLevel\r\n}\r\n\r\nexport const remarkScopedPath: Plugin<[Options]> = (options?: Options) => {\r\n const { mappings = [], logLevel = LogLevel.Silent } = options ?? {}\r\n const logger = new Logger(resolveLogLevel(options?.logLevel), 'remarkScopedPath')\r\n\r\n logger.log(`initialized with ${mappings.length} mappings`)\r\n\r\n return (tree, file) => {\r\n const filePath = file?.path || file?.history?.slice(-1)[0] || 'unknown'\r\n logger.log(`processing file: ${filePath}`, LogLevel.Debug)\r\n\r\n const rewrite = (val: string, from: string, to: string, ctx: string) => {\r\n if (val.startsWith(from)) {\r\n const newVal = val.replace(from, to)\r\n logger.log(`\uD83D\uDD04 ${ctx} ${val} \u2192 ${newVal}`, LogLevel.Info)\r\n return newVal\r\n }\r\n return val\r\n }\r\n\r\n visit(tree, 'image', (node: Image) => {\r\n for (const { from, to } of mappings) node.url = rewrite(node.url, from, to, 'img')\r\n })\r\n\r\n visit(tree, 'link', (node: Link) => {\r\n for (const { from, to } of mappings) node.url = rewrite(node.url, from, to, 'link')\r\n })\r\n\r\n visit(tree, 'mdxJsxFlowElement', (node: MdxJsxFlowElement) => {\r\n node.attributes?.forEach(attr => {\r\n if (attr.type === 'mdxJsxAttribute' && typeof attr.value === 'string') {\r\n for (const { from, to } of mappings)\r\n attr.value = rewrite(attr.value, from, to, `jsx <${node.name}> ${attr.name}:`)\r\n }\r\n })\r\n })\r\n\r\n visit(tree, 'mdxjsEsm', (node: MdxjsEsm) => {\r\n for (const { from, to } of mappings) {\r\n const re = new RegExp(`(['\"])${from}/`, 'g')\r\n const newVal = node.value.replace(re, `$1${to}/`)\r\n if (newVal !== node.value) {\r\n logger.log(\r\n `esm rewrite (${from} \u2192 ${to}):\\n--- before ---\\n${node.value}\\n--- after ---\\n${newVal}`,\r\n LogLevel.Info\r\n )\r\n node.value = newVal\r\n }\r\n }\r\n })\r\n\r\n logger.log(` `, LogLevel.Debug)\r\n }\r\n}\r\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,8BAAsB;AAGtB,oBAAgD;AAEhD,QAAQ,IAAI,iDAA0C;AAW/C,MAAM,mBAAsC,CAAC,YAAsB;AACtE,QAAM,EAAE,WAAW,CAAC,GAAG,WAAW,uBAAS,OAAO,IAAI,WAAW,CAAC;AAClE,QAAM,SAAS,IAAI,yBAAO,+BAAgB,SAAS,QAAQ,GAAG,kBAAkB;AAEhF,SAAO,IAAI,oBAAoB,SAAS,MAAM,WAAW;AAEzD,SAAO,CAAC,MAAM,SAAS;AACnB,UAAM,WAAW,MAAM,QAAQ,MAAM,SAAS,MAAM,EAAE,EAAE,CAAC,KAAK;AAC9D,WAAO,IAAI,oBAAoB,QAAQ,IAAI,uBAAS,KAAK;AAEzD,UAAM,UAAU,CAAC,KAAa,MAAc,IAAY,QAAgB;AACpE,UAAI,IAAI,WAAW,IAAI,GAAG;AACtB,cAAM,SAAS,IAAI,QAAQ,MAAM,EAAE;AACnC,eAAO,IAAI,aAAM,GAAG,IAAI,GAAG,WAAM,MAAM,IAAI,uBAAS,IAAI;AACxD,eAAO;AAAA,MACX;AACA,aAAO;AAAA,IACX;AAEA,uCAAM,MAAM,SAAS,CAAC,SAAgB;AAClC,iBAAW,EAAE,MAAM,GAAG,KAAK,SAAU,MAAK,MAAM,QAAQ,KAAK,KAAK,MAAM,IAAI,KAAK;AAAA,IACrF,CAAC;AAED,uCAAM,MAAM,QAAQ,CAAC,SAAe;AAChC,iBAAW,EAAE,MAAM,GAAG,KAAK,SAAU,MAAK,MAAM,QAAQ,KAAK,KAAK,MAAM,IAAI,MAAM;AAAA,IACtF,CAAC;AAED,uCAAM,MAAM,qBAAqB,CAAC,SAA4B;AAC1D,WAAK,YAAY,QAAQ,UAAQ;AAC7B,YAAI,KAAK,SAAS,qBAAqB,OAAO,KAAK,UAAU,UAAU;AACnE,qBAAW,EAAE,MAAM,GAAG,KAAK;AACvB,iBAAK,QAAQ,QAAQ,KAAK,OAAO,MAAM,IAAI,QAAQ,KAAK,IAAI,KAAK,KAAK,IAAI,GAAG;AAAA,QACrF;AAAA,MACJ,CAAC;AAAA,IACL,CAAC;AAED,uCAAM,MAAM,YAAY,CAAC,SAAmB;AACxC,iBAAW,EAAE,MAAM,GAAG,KAAK,UAAU;AACjC,cAAM,KAAK,IAAI,OAAO,SAAS,IAAI,KAAK,GAAG;AAC3C,cAAM,SAAS,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,GAAG;AAChD,YAAI,WAAW,KAAK,OAAO;AACvB,iBAAO;AAAA,YACH,gBAAgB,IAAI,WAAM,EAAE;AAAA;AAAA,EAAuB,KAAK,KAAK;AAAA;AAAA,EAAoB,MAAM;AAAA,YACvF,uBAAS;AAAA,UACb;AACA,eAAK,QAAQ;AAAA,QACjB;AAAA,MACJ;AAAA,IACJ,CAAC;AAED,WAAO,IAAI,KAAK,uBAAS,KAAK;AAAA,EAClC;AACJ;",
6
+ "names": []
7
+ }
@@ -1,50 +1,85 @@
1
- import { visit } from 'unist-util-visit';
2
- import yaml from 'js-yaml';
3
- import { Logger, LogLevel, resolveLogLevel } from './logger';
4
- console.log("🦖 remarkYamlTable plugin module loaded");
5
- export const remarkYamlTable = (options) => {
6
- const { logLevel = LogLevel.Silent } = options ?? {};
7
- const logger = new Logger(resolveLogLevel(options?.logLevel), 'remarkYamlTable');
8
- logger.log('initialized');
9
- return (tree) => {
10
- visit(tree, 'code', (node, index, parent) => {
11
- if (!parent || index === undefined)
12
- return;
13
- if (node.lang === 'yaml-table') {
14
- try {
15
- const data = yaml.load(node.value);
16
- if (Array.isArray(data) && data.length > 0 && typeof data[0] === 'object') {
17
- const headers = Object.keys(data[0]);
18
- const tableRows = data.map((row) => ({
19
- type: 'tableRow',
20
- children: headers.map((header) => ({
21
- type: 'tableCell',
22
- children: [{ type: 'text', value: String(row[header] ?? '') }],
23
- })),
24
- }));
25
- const tableNode = {
26
- type: 'table',
27
- align: headers.map(() => null),
28
- children: [
29
- {
30
- type: 'tableRow',
31
- children: headers.map((header) => ({
32
- type: 'tableCell',
33
- children: [{ type: 'text', value: header }],
34
- })),
35
- },
36
- ...tableRows,
37
- ],
38
- };
39
- parent.children[index] = tableNode;
40
- logger.log(`generated table with ${headers.length} columns and ${data.length} rows`, LogLevel.Info);
41
- }
42
- }
43
- catch (error) {
44
- logger.log(`YAML parsing error: ${error.message}`, LogLevel.Info);
45
- }
46
- }
47
- });
48
- };
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
49
11
  };
50
- //# sourceMappingURL=remarkYamlTable.js.map
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var remarkYamlTable_exports = {};
30
+ __export(remarkYamlTable_exports, {
31
+ remarkYamlTable: () => remarkYamlTable
32
+ });
33
+ module.exports = __toCommonJS(remarkYamlTable_exports);
34
+ var import_unist_util_visit = require("unist-util-visit");
35
+ var import_js_yaml = __toESM(require("js-yaml"));
36
+ var import_logger = require("./logger");
37
+ console.log("\u{1F996} remarkYamlTable plugin module loaded");
38
+ const remarkYamlTable = (options) => {
39
+ const { logLevel = import_logger.LogLevel.Silent } = options ?? {};
40
+ const logger = new import_logger.Logger((0, import_logger.resolveLogLevel)(options?.logLevel), "remarkYamlTable");
41
+ logger.log("initialized");
42
+ return (tree) => {
43
+ (0, import_unist_util_visit.visit)(tree, "code", (node, index, parent) => {
44
+ if (!parent || index === void 0) return;
45
+ if (node.lang === "yaml-table") {
46
+ try {
47
+ const data = import_js_yaml.default.load(node.value);
48
+ if (Array.isArray(data) && data.length > 0 && typeof data[0] === "object") {
49
+ const headers = Object.keys(data[0]);
50
+ const tableRows = data.map((row) => ({
51
+ type: "tableRow",
52
+ children: headers.map((header) => ({
53
+ type: "tableCell",
54
+ children: [{ type: "text", value: String(row[header] ?? "") }]
55
+ }))
56
+ }));
57
+ const tableNode = {
58
+ type: "table",
59
+ align: headers.map(() => null),
60
+ children: [
61
+ {
62
+ type: "tableRow",
63
+ children: headers.map((header) => ({
64
+ type: "tableCell",
65
+ children: [{ type: "text", value: header }]
66
+ }))
67
+ },
68
+ ...tableRows
69
+ ]
70
+ };
71
+ parent.children[index] = tableNode;
72
+ logger.log(`generated table with ${headers.length} columns and ${data.length} rows`, import_logger.LogLevel.Info);
73
+ }
74
+ } catch (error) {
75
+ logger.log(`YAML parsing error: ${error.message}`, import_logger.LogLevel.Info);
76
+ }
77
+ }
78
+ });
79
+ };
80
+ };
81
+ // Annotate the CommonJS export names for ESM import in node:
82
+ 0 && (module.exports = {
83
+ remarkYamlTable
84
+ });
85
+ //# sourceMappingURL=remarkYamlTable.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"remarkYamlTable.js","sourceRoot":"","sources":["../../../src/docusaurus-plugins/remarkYamlTable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACxC,OAAO,IAAI,MAAM,SAAS,CAAA;AAG1B,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAC,MAAM,UAAU,CAAA;AAE1D,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAA;AA4BtD,MAAM,CAAC,MAAM,eAAe,GAAsB,CAAC,OAAiB,EAAE,EAAE;IACpE,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,OAAO,IAAI,EAAE,CAAA;IACpD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,iBAAiB,CAAC,CAAA;IAEhF,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IAEzB,OAAO,CAAC,IAAI,EAAE,EAAE;QACZ,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,IAAU,EAAE,KAAyB,EAAE,MAA0B,EAAE,EAAE;YACtF,IAAI,CAAC,MAAM,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAM;YAC1C,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC7B,IAAI,CAAC;oBACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;oBAClC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;wBACxE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAA4B,CAAC,CAAA;wBAE/D,MAAM,SAAS,GAAgB,IAAkC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;4BAC5E,IAAI,EAAE,UAAU;4BAChB,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAY,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gCAC1C,IAAI,EAAE,WAAW;gCACjB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;6BACjE,CAAC,CAAC;yBACN,CAAC,CAAC,CAAA;wBAEH,MAAM,SAAS,GAAU;4BACrB,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;4BAC9B,QAAQ,EAAE;gCACN;oCACI,IAAI,EAAE,UAAU;oCAChB,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAY,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;wCAC1C,IAAI,EAAE,WAAW;wCACjB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;qCAC9C,CAAC,CAAC;iCACN;gCACD,GAAG,SAAS;6BACf;yBACJ,CAAA;wBAED,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,SAAS,CAAA;wBAClC,MAAM,CAAC,GAAG,CAAC,wBAAwB,OAAO,CAAC,MAAM,gBAAgB,IAAI,CAAC,MAAM,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;oBACvG,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,MAAM,CAAC,GAAG,CAAC,uBAAwB,KAAe,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;gBAChF,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAA;IACN,CAAC,CAAA;AACL,CAAC,CAAA"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/docusaurus-plugins/remarkYamlTable.ts"],
4
+ "sourcesContent": ["import { Plugin } from 'unified'\r\nimport { visit } from 'unist-util-visit'\r\nimport yaml from 'js-yaml'\r\nimport { Parent } from 'unist'\r\nimport { Literal } from 'unist'\r\nimport {Logger, LogLevel, resolveLogLevel} from './logger'\r\n\r\nconsole.log(\"\uD83E\uDD96 remarkYamlTable plugin module loaded\")\r\n\r\ninterface Code extends Literal {\r\n type: 'code'\r\n lang?: string\r\n value: string\r\n}\r\n\r\ninterface TableCell {\r\n type: 'tableCell'\r\n children: { type: 'text'; value: string }[]\r\n}\r\n\r\ninterface TableRow {\r\n type: 'tableRow'\r\n children: TableCell[]\r\n}\r\n\r\ninterface Table {\r\n type: 'table'\r\n align: (null | 'left' | 'right' | 'center')[]\r\n children: TableRow[]\r\n}\r\n\r\ninterface Options {\r\n logLevel?: LogLevel\r\n}\r\n\r\nexport const remarkYamlTable: Plugin<[Options]> = (options?: Options) => {\r\n const { logLevel = LogLevel.Silent } = options ?? {}\r\n const logger = new Logger(resolveLogLevel(options?.logLevel), 'remarkYamlTable')\r\n\r\n logger.log('initialized')\r\n\r\n return (tree) => {\r\n visit(tree, 'code', (node: Code, index: number | undefined, parent: Parent | undefined) => {\r\n if (!parent || index === undefined) return\r\n if (node.lang === 'yaml-table') {\r\n try {\r\n const data = yaml.load(node.value)\r\n if (Array.isArray(data) && data.length > 0 && typeof data[0] === 'object') {\r\n const headers = Object.keys(data[0] as Record<string, unknown>)\r\n\r\n const tableRows: TableRow[] = (data as Record<string, unknown>[]).map((row) => ({\r\n type: 'tableRow',\r\n children: headers.map<TableCell>((header) => ({\r\n type: 'tableCell',\r\n children: [{ type: 'text', value: String(row[header] ?? '') }],\r\n })),\r\n }))\r\n\r\n const tableNode: Table = {\r\n type: 'table',\r\n align: headers.map(() => null),\r\n children: [\r\n {\r\n type: 'tableRow',\r\n children: headers.map<TableCell>((header) => ({\r\n type: 'tableCell',\r\n children: [{ type: 'text', value: header }],\r\n })),\r\n },\r\n ...tableRows,\r\n ],\r\n }\r\n\r\n parent.children[index] = tableNode\r\n logger.log(`generated table with ${headers.length} columns and ${data.length} rows`, LogLevel.Info)\r\n }\r\n } catch (error) {\r\n logger.log(`YAML parsing error: ${(error as Error).message}`, LogLevel.Info)\r\n }\r\n }\r\n })\r\n }\r\n}\r\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,8BAAsB;AACtB,qBAAiB;AAGjB,oBAAgD;AAEhD,QAAQ,IAAI,gDAAyC;AA4B9C,MAAM,kBAAqC,CAAC,YAAsB;AACrE,QAAM,EAAE,WAAW,uBAAS,OAAO,IAAI,WAAW,CAAC;AACnD,QAAM,SAAS,IAAI,yBAAO,+BAAgB,SAAS,QAAQ,GAAG,iBAAiB;AAE/E,SAAO,IAAI,aAAa;AAExB,SAAO,CAAC,SAAS;AACb,uCAAM,MAAM,QAAQ,CAAC,MAAY,OAA2B,WAA+B;AACvF,UAAI,CAAC,UAAU,UAAU,OAAW;AACpC,UAAI,KAAK,SAAS,cAAc;AAC5B,YAAI;AACA,gBAAM,OAAO,eAAAA,QAAK,KAAK,KAAK,KAAK;AACjC,cAAI,MAAM,QAAQ,IAAI,KAAK,KAAK,SAAS,KAAK,OAAO,KAAK,CAAC,MAAM,UAAU;AACvE,kBAAM,UAAU,OAAO,KAAK,KAAK,CAAC,CAA4B;AAE9D,kBAAM,YAAyB,KAAmC,IAAI,CAAC,SAAS;AAAA,cAC5E,MAAM;AAAA,cACN,UAAU,QAAQ,IAAe,CAAC,YAAY;AAAA,gBAC1C,MAAM;AAAA,gBACN,UAAU,CAAC,EAAE,MAAM,QAAQ,OAAO,OAAO,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;AAAA,cACjE,EAAE;AAAA,YACN,EAAE;AAEF,kBAAM,YAAmB;AAAA,cACrB,MAAM;AAAA,cACN,OAAO,QAAQ,IAAI,MAAM,IAAI;AAAA,cAC7B,UAAU;AAAA,gBACN;AAAA,kBACI,MAAM;AAAA,kBACN,UAAU,QAAQ,IAAe,CAAC,YAAY;AAAA,oBAC1C,MAAM;AAAA,oBACN,UAAU,CAAC,EAAE,MAAM,QAAQ,OAAO,OAAO,CAAC;AAAA,kBAC9C,EAAE;AAAA,gBACN;AAAA,gBACA,GAAG;AAAA,cACP;AAAA,YACJ;AAEA,mBAAO,SAAS,KAAK,IAAI;AACzB,mBAAO,IAAI,wBAAwB,QAAQ,MAAM,gBAAgB,KAAK,MAAM,SAAS,uBAAS,IAAI;AAAA,UACtG;AAAA,QACJ,SAAS,OAAO;AACZ,iBAAO,IAAI,uBAAwB,MAAgB,OAAO,IAAI,uBAAS,IAAI;AAAA,QAC/E;AAAA,MACJ;AAAA,IACJ,CAAC;AAAA,EACL;AACJ;",
6
+ "names": ["yaml"]
7
+ }
@@ -1,44 +1,67 @@
1
- import { visit } from 'unist-util-visit';
2
- import { Logger, LogLevel, resolveLogLevel } from './logger';
3
- console.log("🦖 remarkYouTube plugin module loaded");
4
- export const remarkYouTube = (options) => {
5
- const { logLevel = LogLevel.Silent } = options ?? {};
6
- const logger = new Logger(resolveLogLevel(options?.logLevel), 'remarkYouTube');
7
- logger.log('initialized');
8
- return (tree) => {
9
- visit(tree, ['link', 'text'], (node, index, parent) => {
10
- if (!parent || typeof index !== 'number')
11
- return;
12
- let raw = node.url || node.value || '';
13
- let ytUrl = raw.trim();
14
- const hashnodeMatch = ytUrl.match(/^%\[(.+)\]$/);
15
- if (hashnodeMatch) {
16
- ytUrl = hashnodeMatch[1];
17
- logger.log(`hashnode-style embed detected: ${ytUrl}`, LogLevel.Info);
18
- }
19
- const m = ytUrl.match(/youtube\.com\/watch\?v=([A-Za-z0-9_-]+)/) ||
20
- ytUrl.match(/youtu\.be\/([A-Za-z0-9_-]+)/) ||
21
- ytUrl.match(/youtube-nocookie\.com\/watch\?v=([A-Za-z0-9_-]+)/);
22
- if (m) {
23
- logger.log(`rewriting YouTube URL: ${ytUrl} → videoId=${m[1]}`, LogLevel.Debug);
24
- parent.children.splice(index, 1, {
25
- type: 'mdxJsxFlowElement',
26
- name: 'LiteYouTubeEmbed',
27
- attributes: [
28
- { type: 'mdxJsxAttribute', name: 'id', value: m[1] },
29
- { type: 'mdxJsxAttribute', name: 'title', value: 'YouTube video' },
30
- ],
31
- });
32
- }
33
- });
34
- visit(tree, 'text', (node, index, parent) => {
35
- if (!parent || typeof index !== 'number')
36
- return;
37
- if (node.value.trim() === '%[' || node.value.trim() === ']') {
38
- logger.log(`stripping hashnode bracket artifact: ${node.value}`, LogLevel.Debug);
39
- parent.children.splice(index, 1);
40
- }
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var remarkYouTube_exports = {};
20
+ __export(remarkYouTube_exports, {
21
+ remarkYouTube: () => remarkYouTube
22
+ });
23
+ module.exports = __toCommonJS(remarkYouTube_exports);
24
+ var import_unist_util_visit = require("unist-util-visit");
25
+ var import_logger = require("./logger");
26
+ console.log("\u{1F996} remarkYouTube plugin module loaded");
27
+ const remarkYouTube = (options) => {
28
+ const { logLevel = import_logger.LogLevel.Silent } = options ?? {};
29
+ const logger = new import_logger.Logger((0, import_logger.resolveLogLevel)(options?.logLevel), "remarkYouTube");
30
+ logger.log("initialized");
31
+ return (tree) => {
32
+ (0, import_unist_util_visit.visit)(tree, ["link", "text"], (node, index, parent) => {
33
+ if (!parent || typeof index !== "number") return;
34
+ let raw = node.url || node.value || "";
35
+ let ytUrl = raw.trim();
36
+ const hashnodeMatch = ytUrl.match(/^%\[(.+)\]$/);
37
+ if (hashnodeMatch) {
38
+ ytUrl = hashnodeMatch[1];
39
+ logger.log(`hashnode-style embed detected: ${ytUrl}`, import_logger.LogLevel.Info);
40
+ }
41
+ const m = ytUrl.match(/youtube\.com\/watch\?v=([A-Za-z0-9_-]+)/) || ytUrl.match(/youtu\.be\/([A-Za-z0-9_-]+)/) || ytUrl.match(/youtube-nocookie\.com\/watch\?v=([A-Za-z0-9_-]+)/);
42
+ if (m) {
43
+ logger.log(`rewriting YouTube URL: ${ytUrl} \u2192 videoId=${m[1]}`, import_logger.LogLevel.Debug);
44
+ parent.children.splice(index, 1, {
45
+ type: "mdxJsxFlowElement",
46
+ name: "LiteYouTubeEmbed",
47
+ attributes: [
48
+ { type: "mdxJsxAttribute", name: "id", value: m[1] },
49
+ { type: "mdxJsxAttribute", name: "title", value: "YouTube video" }
50
+ ]
41
51
  });
42
- };
52
+ }
53
+ });
54
+ (0, import_unist_util_visit.visit)(tree, "text", (node, index, parent) => {
55
+ if (!parent || typeof index !== "number") return;
56
+ if (node.value.trim() === "%[" || node.value.trim() === "]") {
57
+ logger.log(`stripping hashnode bracket artifact: ${node.value}`, import_logger.LogLevel.Debug);
58
+ parent.children.splice(index, 1);
59
+ }
60
+ });
61
+ };
43
62
  };
44
- //# sourceMappingURL=remarkYouTube.js.map
63
+ // Annotate the CommonJS export names for ESM import in node:
64
+ 0 && (module.exports = {
65
+ remarkYouTube
66
+ });
67
+ //# sourceMappingURL=remarkYouTube.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"remarkYouTube.js","sourceRoot":"","sources":["../../../src/docusaurus-plugins/remarkYouTube.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAExC,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAC,MAAM,UAAU,CAAA;AAE1D,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAA;AAMpD,MAAM,CAAC,MAAM,aAAa,GAA6B,CAAC,OAAwB,EAAE,EAAE;IAChF,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,OAAO,IAAI,EAAE,CAAA;IACpD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,eAAe,CAAC,CAAA;IAE9E,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IAEzB,OAAO,CAAC,IAAU,EAAE,EAAE;QAClB,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAS,EAAE,KAAyB,EAAE,MAAW,EAAE,EAAE;YAChF,IAAI,CAAC,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAM;YAChD,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAA;YACtC,IAAI,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;YAEtB,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;YAChD,IAAI,aAAa,EAAE,CAAC;gBAChB,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;gBACxB,MAAM,CAAC,GAAG,CAAC,kCAAkC,KAAK,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;YACxE,CAAC;YAED,MAAM,CAAC,GACH,KAAK,CAAC,KAAK,CAAC,yCAAyC,CAAC;gBACtD,KAAK,CAAC,KAAK,CAAC,6BAA6B,CAAC;gBAC1C,KAAK,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAA;YAEnE,IAAI,CAAC,EAAE,CAAC;gBACJ,MAAM,CAAC,GAAG,CAAC,0BAA0B,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;gBAC/E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE;oBAC7B,IAAI,EAAE,mBAAmB;oBACzB,IAAI,EAAE,kBAAkB;oBACxB,UAAU,EAAE;wBACR,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;wBACpD,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE;qBACrE;iBACJ,CAAC,CAAA;YACN,CAAC;QACL,CAAC,CAAC,CAAA;QAEF,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,IAAS,EAAE,KAAyB,EAAE,MAAW,EAAE,EAAE;YACtE,IAAI,CAAC,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAM;YAChD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBAC1D,MAAM,CAAC,GAAG,CAAC,wCAAwC,IAAI,CAAC,KAAK,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;gBAChF,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YACpC,CAAC;QACL,CAAC,CAAC,CAAA;IACN,CAAC,CAAA;AACL,CAAC,CAAA"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/docusaurus-plugins/remarkYouTube.ts"],
4
+ "sourcesContent": ["import type { Plugin } from 'unified'\nimport { visit } from 'unist-util-visit'\nimport type { Node } from 'unist'\nimport {Logger, LogLevel, resolveLogLevel} from './logger'\n\nconsole.log(\"\uD83E\uDD96 remarkYouTube plugin module loaded\")\n\ninterface YouTubeOptions {\n logLevel?: LogLevel\n}\n\nexport const remarkYouTube: Plugin<[YouTubeOptions]> = (options?: YouTubeOptions) => {\n const { logLevel = LogLevel.Silent } = options ?? {}\n const logger = new Logger(resolveLogLevel(options?.logLevel), 'remarkYouTube')\n\n logger.log('initialized')\n\n return (tree: Node) => {\n visit(tree, ['link', 'text'], (node: any, index: number | undefined, parent: any) => {\n if (!parent || typeof index !== 'number') return\n let raw = node.url || node.value || ''\n let ytUrl = raw.trim()\n\n const hashnodeMatch = ytUrl.match(/^%\\[(.+)\\]$/)\n if (hashnodeMatch) {\n ytUrl = hashnodeMatch[1]\n logger.log(`hashnode-style embed detected: ${ytUrl}`, LogLevel.Info)\n }\n\n const m =\n ytUrl.match(/youtube\\.com\\/watch\\?v=([A-Za-z0-9_-]+)/) ||\n ytUrl.match(/youtu\\.be\\/([A-Za-z0-9_-]+)/) ||\n ytUrl.match(/youtube-nocookie\\.com\\/watch\\?v=([A-Za-z0-9_-]+)/)\n\n if (m) {\n logger.log(`rewriting YouTube URL: ${ytUrl} \u2192 videoId=${m[1]}`, LogLevel.Debug)\n parent.children.splice(index, 1, {\n type: 'mdxJsxFlowElement',\n name: 'LiteYouTubeEmbed',\n attributes: [\n { type: 'mdxJsxAttribute', name: 'id', value: m[1] },\n { type: 'mdxJsxAttribute', name: 'title', value: 'YouTube video' },\n ],\n })\n }\n })\n\n visit(tree, 'text', (node: any, index: number | undefined, parent: any) => {\n if (!parent || typeof index !== 'number') return\n if (node.value.trim() === '%[' || node.value.trim() === ']') {\n logger.log(`stripping hashnode bracket artifact: ${node.value}`, LogLevel.Debug)\n parent.children.splice(index, 1)\n }\n })\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,8BAAsB;AAEtB,oBAAgD;AAEhD,QAAQ,IAAI,8CAAuC;AAM5C,MAAM,gBAA0C,CAAC,YAA6B;AACjF,QAAM,EAAE,WAAW,uBAAS,OAAO,IAAI,WAAW,CAAC;AACnD,QAAM,SAAS,IAAI,yBAAO,+BAAgB,SAAS,QAAQ,GAAG,eAAe;AAE7E,SAAO,IAAI,aAAa;AAExB,SAAO,CAAC,SAAe;AACnB,uCAAM,MAAM,CAAC,QAAQ,MAAM,GAAG,CAAC,MAAW,OAA2B,WAAgB;AACjF,UAAI,CAAC,UAAU,OAAO,UAAU,SAAU;AAC1C,UAAI,MAAM,KAAK,OAAO,KAAK,SAAS;AACpC,UAAI,QAAQ,IAAI,KAAK;AAErB,YAAM,gBAAgB,MAAM,MAAM,aAAa;AAC/C,UAAI,eAAe;AACf,gBAAQ,cAAc,CAAC;AACvB,eAAO,IAAI,kCAAkC,KAAK,IAAI,uBAAS,IAAI;AAAA,MACvE;AAEA,YAAM,IACF,MAAM,MAAM,yCAAyC,KACrD,MAAM,MAAM,6BAA6B,KACzC,MAAM,MAAM,kDAAkD;AAElE,UAAI,GAAG;AACH,eAAO,IAAI,0BAA0B,KAAK,mBAAc,EAAE,CAAC,CAAC,IAAI,uBAAS,KAAK;AAC9E,eAAO,SAAS,OAAO,OAAO,GAAG;AAAA,UAC7B,MAAM;AAAA,UACN,MAAM;AAAA,UACN,YAAY;AAAA,YACR,EAAE,MAAM,mBAAmB,MAAM,MAAM,OAAO,EAAE,CAAC,EAAE;AAAA,YACnD,EAAE,MAAM,mBAAmB,MAAM,SAAS,OAAO,gBAAgB;AAAA,UACrE;AAAA,QACJ,CAAC;AAAA,MACL;AAAA,IACJ,CAAC;AAED,uCAAM,MAAM,QAAQ,CAAC,MAAW,OAA2B,WAAgB;AACvE,UAAI,CAAC,UAAU,OAAO,UAAU,SAAU;AAC1C,UAAI,KAAK,MAAM,KAAK,MAAM,QAAQ,KAAK,MAAM,KAAK,MAAM,KAAK;AACzD,eAAO,IAAI,wCAAwC,KAAK,KAAK,IAAI,uBAAS,KAAK;AAC/E,eAAO,SAAS,OAAO,OAAO,CAAC;AAAA,MACnC;AAAA,IACJ,CAAC;AAAA,EACL;AACJ;",
6
+ "names": []
7
+ }
@@ -1,16 +1,43 @@
1
- import { Logger, LogLevel, resolveLogLevel } from './logger';
2
- export function timedPlugin(name, plugin, opts = {}) {
3
- const { logLevel = LogLevel.Info } = opts;
4
- const logger = new Logger(resolveLogLevel(opts?.logLevel), name);
5
- return ((...args) => {
6
- const instance = plugin(...args);
7
- return (tree, file) => {
8
- const start = Date.now();
9
- const res = instance(tree, file);
10
- const dur = Date.now() - start;
11
- logger.log(`⏱ finished in ${dur}ms`);
12
- return res;
13
- };
14
- });
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var timedPlugin_exports = {};
20
+ __export(timedPlugin_exports, {
21
+ timedPlugin: () => timedPlugin
22
+ });
23
+ module.exports = __toCommonJS(timedPlugin_exports);
24
+ var import_logger = require("./logger");
25
+ function timedPlugin(name, plugin, opts = {}) {
26
+ const { logLevel = import_logger.LogLevel.Info } = opts;
27
+ const logger = new import_logger.Logger((0, import_logger.resolveLogLevel)(opts?.logLevel), name);
28
+ return ((...args) => {
29
+ const instance = plugin(...args);
30
+ return (tree, file) => {
31
+ const start = Date.now();
32
+ const res = instance(tree, file);
33
+ const dur = Date.now() - start;
34
+ logger.log(`\u23F1 finished in ${dur}ms`);
35
+ return res;
36
+ };
37
+ });
15
38
  }
16
- //# sourceMappingURL=timedPlugin.js.map
39
+ // Annotate the CommonJS export names for ESM import in node:
40
+ 0 && (module.exports = {
41
+ timedPlugin
42
+ });
43
+ //# sourceMappingURL=timedPlugin.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"timedPlugin.js","sourceRoot":"","sources":["../../../src/docusaurus-plugins/timedPlugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAC,MAAM,UAAU,CAAA;AAE1D,MAAM,UAAU,WAAW,CACvB,IAAY,EACZ,MAAS,EACT,OAAgC,EAAE;IAElC,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,IAAI,CAAA;IACzC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAA;IAEhE,OAAO,CAAC,CAAC,GAAG,IAAW,EAAE,EAAE;QACvB,MAAM,QAAQ,GAAI,MAAc,CAAC,GAAG,IAAI,CAAC,CAAA;QACzC,OAAO,CAAC,IAAS,EAAE,IAAS,EAAE,EAAE;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YACxB,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YAChC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAA;YAC9B,MAAM,CAAC,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAA;YACpC,OAAO,GAAG,CAAA;QACd,CAAC,CAAA;IACL,CAAC,CAAQ,CAAA;AACb,CAAC"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/docusaurus-plugins/timedPlugin.ts"],
4
+ "sourcesContent": ["import { Plugin } from \"unified\"\r\nimport {Logger, LogLevel, resolveLogLevel} from './logger'\r\n\r\nexport function timedPlugin<T extends Plugin>(\r\n name: string,\r\n plugin: T,\r\n opts: { logLevel?: LogLevel } = {}\r\n): T {\r\n const { logLevel = LogLevel.Info } = opts\r\n const logger = new Logger(resolveLogLevel(opts?.logLevel), name)\r\n\r\n return ((...args: any[]) => {\r\n const instance = (plugin as any)(...args)\r\n return (tree: any, file: any) => {\r\n const start = Date.now()\r\n const res = instance(tree, file)\r\n const dur = Date.now() - start\r\n logger.log(`\u23F1 finished in ${dur}ms`)\r\n return res\r\n }\r\n }) as any\r\n}\r\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAAgD;AAEzC,SAAS,YACZ,MACA,QACA,OAAgC,CAAC,GAChC;AACD,QAAM,EAAE,WAAW,uBAAS,KAAK,IAAI;AACrC,QAAM,SAAS,IAAI,yBAAO,+BAAgB,MAAM,QAAQ,GAAG,IAAI;AAE/D,UAAQ,IAAI,SAAgB;AACxB,UAAM,WAAY,OAAe,GAAG,IAAI;AACxC,WAAO,CAAC,MAAW,SAAc;AAC7B,YAAM,QAAQ,KAAK,IAAI;AACvB,YAAM,MAAM,SAAS,MAAM,IAAI;AAC/B,YAAM,MAAM,KAAK,IAAI,IAAI;AACzB,aAAO,IAAI,sBAAiB,GAAG,IAAI;AACnC,aAAO;AAAA,IACX;AAAA,EACJ;AACJ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=docusaurus.d.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAGxD,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,OAAO,EAAE,WAAW,EACpB,OAAO,GAAE,sBAA2B,GACnC,MAAM,CA+BR;AAGD,YAAY,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAGxD,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,OAAO,EAAE,WAAW,EACpB,OAAO,GAAE,sBAA2B,GACnC,MAAM,CAqCR;AAGD,YAAY,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC"}
package/dist/src/index.js CHANGED
@@ -1,32 +1,64 @@
1
- import path from 'path';
2
- export default function themeNetFoundry(context, options = {}) {
3
- return {
4
- name: '@netfoundry/docusaurus-theme',
5
- // Register theme component overrides
6
- getThemePath() {
7
- return path.resolve(__dirname, '../theme');
8
- },
9
- // For TypeScript development
10
- getTypeScriptThemePath() {
11
- return path.resolve(__dirname, '../theme');
12
- },
13
- // Automatically inject CSS
14
- getClientModules() {
15
- const modules = [
16
- path.resolve(__dirname, '../css/theme.css'),
17
- ];
18
- // Add custom CSS if specified in options
19
- if (options.customCss) {
20
- const customCssArray = Array.isArray(options.customCss)
21
- ? options.customCss
22
- : [options.customCss];
23
- modules.push(...customCssArray);
24
- }
25
- return modules;
26
- },
27
- };
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var src_exports = {};
30
+ __export(src_exports, {
31
+ default: () => themeNetFoundry
32
+ });
33
+ module.exports = __toCommonJS(src_exports);
34
+ var import_path = __toESM(require("path"));
35
+ function themeNetFoundry(context, options = {}) {
36
+ return {
37
+ name: "@netfoundry/docusaurus-theme",
38
+ // Register theme component overrides
39
+ getThemePath() {
40
+ return import_path.default.resolve(__dirname, "../theme");
41
+ },
42
+ // For TypeScript development
43
+ getTypeScriptThemePath() {
44
+ return import_path.default.resolve(__dirname, "../theme");
45
+ },
46
+ getPathsToWatch() {
47
+ return [
48
+ import_path.default.resolve(__dirname, "../static")
49
+ ];
50
+ },
51
+ // Automatically inject CSS
52
+ getClientModules() {
53
+ const modules = [
54
+ import_path.default.resolve(__dirname, "../css/theme.css")
55
+ ];
56
+ if (options.customCss) {
57
+ const customCssArray = Array.isArray(options.customCss) ? options.customCss : [options.customCss];
58
+ modules.push(...customCssArray);
59
+ }
60
+ return modules;
61
+ }
62
+ };
28
63
  }
29
- // NOTE: UI components (defaultNetFoundryFooterProps, defaultSocialProps, etc.)
30
- // should be imported directly from '@netfoundry/docusaurus-shared/ui' in client code,
31
- // not from this theme entry point, as this file runs at Node.js config time.
32
- //# sourceMappingURL=index.js.map
64
+ //# sourceMappingURL=index.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,OAAoB,EACpB,UAAkC,EAAE;IAEpC,OAAO;QACL,IAAI,EAAE,8BAA8B;QAEpC,qCAAqC;QACrC,YAAY;YACV,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC7C,CAAC;QAED,6BAA6B;QAC7B,sBAAsB;YACpB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC7C,CAAC;QAED,2BAA2B;QAC3B,gBAAgB;YACd,MAAM,OAAO,GAAa;gBACxB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,kBAAkB,CAAC;aAC5C,CAAC;YAEF,yCAAyC;YACzC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACtB,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;oBACrD,CAAC,CAAC,OAAO,CAAC,SAAS;oBACnB,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;YAClC,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC;AAKD,+EAA+E;AAC/E,sFAAsF;AACtF,6EAA6E"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/index.ts"],
4
+ "sourcesContent": ["import type { LoadContext, Plugin } from '@docusaurus/types';\r\nimport type { NetFoundryThemeOptions } from './options';\r\nimport path from 'path';\r\n\r\nexport default function themeNetFoundry(\r\n context: LoadContext,\r\n options: NetFoundryThemeOptions = {}\r\n): Plugin {\r\n return {\r\n name: '@netfoundry/docusaurus-theme',\r\n\r\n // Register theme component overrides\r\n getThemePath() {\r\n return path.resolve(__dirname, '../theme');\r\n },\r\n\r\n // For TypeScript development\r\n getTypeScriptThemePath() {\r\n return path.resolve(__dirname, '../theme');\r\n },\r\n\r\n getPathsToWatch() {\r\n return [\r\n path.resolve(__dirname, '../static'),\r\n ];\r\n },\r\n\r\n // Automatically inject CSS\r\n getClientModules() {\r\n const modules: string[] = [\r\n path.resolve(__dirname, '../css/theme.css'),\r\n ];\r\n\r\n // Add custom CSS if specified in options\r\n if (options.customCss) {\r\n const customCssArray = Array.isArray(options.customCss)\r\n ? options.customCss\r\n : [options.customCss];\r\n modules.push(...customCssArray);\r\n }\r\n\r\n return modules;\r\n },\r\n };\r\n}\r\n\r\n// Re-export types for consumers (types are safe to export at config time)\r\nexport type { NetFoundryThemeOptions, NetFoundryThemeConfig } from './options';\r\n\r\n// NOTE: UI components (defaultNetFoundryFooterProps, defaultSocialProps, etc.)\r\n// should be imported directly from '@netfoundry/docusaurus-shared/ui' in client code,\r\n// not from this theme entry point, as this file runs at Node.js config time.\r\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,kBAAiB;AAEF,SAAR,gBACL,SACA,UAAkC,CAAC,GAC3B;AACR,SAAO;AAAA,IACL,MAAM;AAAA;AAAA,IAGN,eAAe;AACb,aAAO,YAAAA,QAAK,QAAQ,WAAW,UAAU;AAAA,IAC3C;AAAA;AAAA,IAGA,yBAAyB;AACvB,aAAO,YAAAA,QAAK,QAAQ,WAAW,UAAU;AAAA,IAC3C;AAAA,IAEA,kBAAkB;AAChB,aAAO;AAAA,QACL,YAAAA,QAAK,QAAQ,WAAW,WAAW;AAAA,MACrC;AAAA,IACF;AAAA;AAAA,IAGA,mBAAmB;AACjB,YAAM,UAAoB;AAAA,QACxB,YAAAA,QAAK,QAAQ,WAAW,kBAAkB;AAAA,MAC5C;AAGA,UAAI,QAAQ,WAAW;AACrB,cAAM,iBAAiB,MAAM,QAAQ,QAAQ,SAAS,IAClD,QAAQ,YACR,CAAC,QAAQ,SAAS;AACtB,gBAAQ,KAAK,GAAG,cAAc;AAAA,MAChC;AAEA,aAAO;AAAA,IACT;AAAA,EACF;AACF;",
6
+ "names": ["path"]
7
+ }
package/dist/src/node.js CHANGED
@@ -1,7 +1,23 @@
1
- /**
2
- * Node.js utilities entry point
3
- *
4
- * Import from '@netfoundry/docusaurus-theme/node' in Node.js contexts.
5
- */
6
- export * from './docusaurus-envhelper';
7
- //# sourceMappingURL=node.js.map
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
+ var node_exports = {};
17
+ module.exports = __toCommonJS(node_exports);
18
+ __reExport(node_exports, require("./docusaurus-envhelper"), module.exports);
19
+ // Annotate the CommonJS export names for ESM import in node:
20
+ 0 && (module.exports = {
21
+ ...require("./docusaurus-envhelper")
22
+ });
23
+ //# sourceMappingURL=node.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/node.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,cAAc,wBAAwB,CAAC"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/node.ts"],
4
+ "sourcesContent": ["/**\r\n * Node.js utilities entry point\r\n *\r\n * Import from '@netfoundry/docusaurus-theme/node' in Node.js contexts.\r\n */\r\nexport * from './docusaurus-envhelper';\r\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAKA,yBAAc,mCALd;",
6
+ "names": []
7
+ }
@@ -56,6 +56,13 @@ export interface ProductOverride {
56
56
  footer?: FooterConfig;
57
57
  starBanner?: StarBannerConfig;
58
58
  navbarItems?: any[];
59
+ logo?: {
60
+ to?: string;
61
+ text?: string;
62
+ alt?: string;
63
+ logoLight?: string;
64
+ logoDark?: string;
65
+ };
59
66
  }
60
67
  /**
61
68
  * Theme configuration in themeConfig.netfoundry
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yBAAyB;IACzB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,iEAAiE;IACjE,kBAAkB,CAAC,EAAE,SAAS,EAAE,CAAC;IACjC,8BAA8B;IAC9B,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC;IAC7B,8BAA8B;IAC9B,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4BAA4B;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,GAAG,EAAE,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,mCAAmC;IACnC,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,wCAAwC;IACxC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,uDAAuD;IACvD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yBAAyB;IACzB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,iEAAiE;IACjE,kBAAkB,CAAC,EAAE,SAAS,EAAE,CAAC;IACjC,8BAA8B;IAC9B,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC;IAC7B,8BAA8B;IAC9B,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4BAA4B;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,GAAG,EAAE,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE;QACL,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,mCAAmC;IACnC,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,wCAAwC;IACxC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,uDAAuD;IACvD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
@@ -1,2 +1,17 @@
1
- export {};
2
- //# sourceMappingURL=options.js.map
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var options_exports = {};
16
+ module.exports = __toCommonJS(options_exports);
17
+ //# sourceMappingURL=options.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/options.ts"],"names":[],"mappings":""}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/options.ts"],
4
+ "sourcesContent": ["import type { ReactNode } from 'react';\n\n/**\n * Social media link configuration for the footer\n */\nexport interface SocialProps {\n githubUrl?: string;\n twitterUrl?: string;\n linkedInUrl?: string;\n youtubeUrl?: string;\n facebookUrl?: string;\n instagramUrl?: string;\n}\n\n/**\n * Footer configuration for the theme\n */\nexport interface FooterConfig {\n /** Description text shown in the footer */\n description?: string;\n /** Social media links */\n socialProps?: SocialProps;\n /** Documentation section links (as ReactNode for JSX support) */\n documentationLinks?: ReactNode[];\n /** Community section links */\n communityLinks?: ReactNode[];\n /** Resources section links */\n resourceLinks?: ReactNode[];\n}\n\n/**\n * Star banner configuration\n */\nexport interface StarBannerConfig {\n /** GitHub repository URL */\n repoUrl: string;\n /** Label text for the star button */\n label: string;\n}\n\n/**\n * Navbar product configuration\n */\nexport interface NavbarProductConfig {\n pathPrefix: string;\n items: any[]; // Docusaurus NavbarItem types\n}\n\n/**\n * Options passed to the theme plugin in docusaurus.config.ts\n */\nexport interface NetFoundryThemeOptions {\n /** Custom CSS file path(s) to include */\n customCss?: string | string[];\n}\n\n/**\n * Product-specific overrides\n */\nexport interface ProductOverride {\n pathPrefix: string;\n footer?: FooterConfig;\n starBanner?: StarBannerConfig;\n navbarItems?: any[];\n logo?: {\n to?: string;\n text?: string;\n alt?: string;\n logoLight?: string;\n logoDark?: string;\n };\n}\n\n/**\n * Theme configuration in themeConfig.netfoundry\n */\nexport interface NetFoundryThemeConfig {\n /** Default footer configuration */\n footer?: FooterConfig;\n /** Default star banner configuration */\n starBanner?: StarBannerConfig;\n /** Whether to show the star banner (default: false) */\n showStarBanner?: boolean;\n /** Product-specific overrides based on path */\n products?: ProductOverride[];\n}\n\n/**\n * Extended Docusaurus ThemeConfig with NetFoundry configuration\n */\nexport interface ThemeConfigWithNetFoundry {\n netfoundry?: NetFoundryThemeConfig;\n [key: string]: unknown;\n}"],
5
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
6
+ "names": []
7
+ }