@adminide-stack/clock-tik-browser 12.0.17-alpha.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.
Files changed (154) hide show
  1. package/lib/components/HelpCenterFooter.d.ts +3 -0
  2. package/lib/components/HelpCenterFooter.d.ts.map +1 -0
  3. package/lib/components/HelpCenterFooter.js +98 -0
  4. package/lib/components/HelpCenterFooter.js.map +1 -0
  5. package/lib/components/HelpCenterHeader.d.ts +7 -0
  6. package/lib/components/HelpCenterHeader.d.ts.map +1 -0
  7. package/lib/components/HelpCenterHeader.js +80 -0
  8. package/lib/components/HelpCenterHeader.js.map +1 -0
  9. package/lib/components/Logo.d.ts +4 -0
  10. package/lib/components/Logo.d.ts.map +1 -0
  11. package/lib/components/Logo.js +105 -0
  12. package/lib/components/Logo.js.map +1 -0
  13. package/lib/components/navbar/index.d.ts +7 -0
  14. package/lib/components/navbar/index.d.ts.map +1 -0
  15. package/lib/components/navbar/index.js +77 -0
  16. package/lib/components/navbar/index.js.map +1 -0
  17. package/lib/compute.d.ts +5 -0
  18. package/lib/compute.d.ts.map +1 -0
  19. package/lib/compute.js +59 -0
  20. package/lib/compute.js.map +1 -0
  21. package/lib/config.d.ts +43 -0
  22. package/lib/config.d.ts.map +1 -0
  23. package/lib/index.d.ts +4 -0
  24. package/lib/index.d.ts.map +1 -0
  25. package/lib/index.js +2 -0
  26. package/lib/index.js.map +1 -0
  27. package/lib/module.d.ts +4 -0
  28. package/lib/module.d.ts.map +1 -0
  29. package/lib/module.js +13 -0
  30. package/lib/module.js.map +1 -0
  31. package/lib/pages/ArticlePage/index.d.ts +4 -0
  32. package/lib/pages/ArticlePage/index.d.ts.map +1 -0
  33. package/lib/pages/ArticlePage/index.js +190 -0
  34. package/lib/pages/ArticlePage/index.js.map +1 -0
  35. package/lib/pages/CategoryCollection/index.d.ts +4 -0
  36. package/lib/pages/CategoryCollection/index.d.ts.map +1 -0
  37. package/lib/pages/CategoryCollection/index.js +121 -0
  38. package/lib/pages/CategoryCollection/index.js.map +1 -0
  39. package/lib/pages/GetStarted/components/ExampleCard.d.ts +10 -0
  40. package/lib/pages/GetStarted/components/ExampleCard.d.ts.map +1 -0
  41. package/lib/pages/GetStarted/components/GetStartedHero.d.ts +8 -0
  42. package/lib/pages/GetStarted/components/GetStartedHero.d.ts.map +1 -0
  43. package/lib/pages/GetStarted/components/InfoSection.d.ts +11 -0
  44. package/lib/pages/GetStarted/components/InfoSection.d.ts.map +1 -0
  45. package/lib/pages/GetStarted/components/TipCard.d.ts +10 -0
  46. package/lib/pages/GetStarted/components/TipCard.d.ts.map +1 -0
  47. package/lib/pages/GetStarted/components/UseCase.d.ts +13 -0
  48. package/lib/pages/GetStarted/components/UseCase.d.ts.map +1 -0
  49. package/lib/pages/GetStarted/index.d.ts +3 -0
  50. package/lib/pages/GetStarted/index.d.ts.map +1 -0
  51. package/lib/pages/GetStarted/index.js +776 -0
  52. package/lib/pages/GetStarted/index.js.map +1 -0
  53. package/lib/pages/HelpCenter/components/BookStack.d.ts +3 -0
  54. package/lib/pages/HelpCenter/components/BookStack.d.ts.map +1 -0
  55. package/lib/pages/HelpCenter/components/BookStack.js +36 -0
  56. package/lib/pages/HelpCenter/components/BookStack.js.map +1 -0
  57. package/lib/pages/HelpCenter/components/HelpCategoryCard.d.ts +21 -0
  58. package/lib/pages/HelpCenter/components/HelpCategoryCard.d.ts.map +1 -0
  59. package/lib/pages/HelpCenter/components/HelpCategoryCard.js +84 -0
  60. package/lib/pages/HelpCenter/components/HelpCategoryCard.js.map +1 -0
  61. package/lib/pages/HelpCenter/components/Icons.d.ts +22 -0
  62. package/lib/pages/HelpCenter/components/Icons.d.ts.map +1 -0
  63. package/lib/pages/HelpCenter/components/Icons.js +342 -0
  64. package/lib/pages/HelpCenter/components/Icons.js.map +1 -0
  65. package/lib/pages/HelpCenter/components/PopularArticle.d.ts +8 -0
  66. package/lib/pages/HelpCenter/components/PopularArticle.d.ts.map +1 -0
  67. package/lib/pages/HelpCenter/components/PopularArticle.js +51 -0
  68. package/lib/pages/HelpCenter/components/PopularArticle.js.map +1 -0
  69. package/lib/pages/HelpCenter/index.d.ts +4 -0
  70. package/lib/pages/HelpCenter/index.d.ts.map +1 -0
  71. package/lib/pages/HelpCenter/index.js +71 -0
  72. package/lib/pages/HelpCenter/index.js.map +1 -0
  73. package/lib/pages/HelpCenter/mockData.d.ts +8 -0
  74. package/lib/pages/HelpCenter/mockData.d.ts.map +1 -0
  75. package/lib/pages/HelpCenter/mockData.js +13 -0
  76. package/lib/pages/HelpCenter/mockData.js.map +1 -0
  77. package/lib/pages/LandingPage/components/ArticleCard.d.ts +11 -0
  78. package/lib/pages/LandingPage/components/ArticleCard.d.ts.map +1 -0
  79. package/lib/pages/LandingPage/components/ArticleCard.js +29 -0
  80. package/lib/pages/LandingPage/components/ArticleCard.js.map +1 -0
  81. package/lib/pages/LandingPage/components/Assets.d.ts +15 -0
  82. package/lib/pages/LandingPage/components/Assets.d.ts.map +1 -0
  83. package/lib/pages/LandingPage/components/Assets.js +14 -0
  84. package/lib/pages/LandingPage/components/Assets.js.map +1 -0
  85. package/lib/pages/LandingPage/components/CategoriesSection.d.ts +16 -0
  86. package/lib/pages/LandingPage/components/CategoriesSection.d.ts.map +1 -0
  87. package/lib/pages/LandingPage/components/CategoriesSection.js +31 -0
  88. package/lib/pages/LandingPage/components/CategoriesSection.js.map +1 -0
  89. package/lib/pages/LandingPage/components/CategoryCard.d.ts +11 -0
  90. package/lib/pages/LandingPage/components/CategoryCard.d.ts.map +1 -0
  91. package/lib/pages/LandingPage/components/CategoryCard.js +25 -0
  92. package/lib/pages/LandingPage/components/CategoryCard.js.map +1 -0
  93. package/lib/pages/LandingPage/components/FeaturedSection.d.ts +15 -0
  94. package/lib/pages/LandingPage/components/FeaturedSection.d.ts.map +1 -0
  95. package/lib/pages/LandingPage/components/FeaturedSection.js +24 -0
  96. package/lib/pages/LandingPage/components/FeaturedSection.js.map +1 -0
  97. package/lib/pages/LandingPage/components/HeroSection.d.ts +9 -0
  98. package/lib/pages/LandingPage/components/HeroSection.d.ts.map +1 -0
  99. package/lib/pages/LandingPage/components/HeroSection.js +46 -0
  100. package/lib/pages/LandingPage/components/HeroSection.js.map +1 -0
  101. package/lib/pages/LandingPage/components/Icons.d.ts +14 -0
  102. package/lib/pages/LandingPage/components/Icons.d.ts.map +1 -0
  103. package/lib/pages/LandingPage/components/Icons.js +174 -0
  104. package/lib/pages/LandingPage/components/Icons.js.map +1 -0
  105. package/lib/pages/LandingPage/components/ResourceCard.d.ts +12 -0
  106. package/lib/pages/LandingPage/components/ResourceCard.d.ts.map +1 -0
  107. package/lib/pages/LandingPage/components/ResourceCard.js +30 -0
  108. package/lib/pages/LandingPage/components/ResourceCard.js.map +1 -0
  109. package/lib/pages/LandingPage/components/ResourcesSection.d.ts +18 -0
  110. package/lib/pages/LandingPage/components/ResourcesSection.d.ts.map +1 -0
  111. package/lib/pages/LandingPage/components/ResourcesSection.js +26 -0
  112. package/lib/pages/LandingPage/components/ResourcesSection.js.map +1 -0
  113. package/lib/pages/LandingPage/components/SearchBar.d.ts +8 -0
  114. package/lib/pages/LandingPage/components/SearchBar.d.ts.map +1 -0
  115. package/lib/pages/LandingPage/components/SearchBar.js +58 -0
  116. package/lib/pages/LandingPage/components/SearchBar.js.map +1 -0
  117. package/lib/pages/LandingPage/index.d.ts +3 -0
  118. package/lib/pages/LandingPage/index.d.ts.map +1 -0
  119. package/lib/pages/LandingPage/index.js +209 -0
  120. package/lib/pages/LandingPage/index.js.map +1 -0
  121. package/lib/routes.json +58 -0
  122. package/lib/slot-fill/FooterFill.d.ts +3 -0
  123. package/lib/slot-fill/FooterFill.d.ts.map +1 -0
  124. package/lib/slot-fill/FooterFill.js +12 -0
  125. package/lib/slot-fill/FooterFill.js.map +1 -0
  126. package/lib/slot-fill/HeaderSearchButtonFill.d.ts +3 -0
  127. package/lib/slot-fill/HeaderSearchButtonFill.d.ts.map +1 -0
  128. package/lib/slot-fill/LogoFill.d.ts +5 -0
  129. package/lib/slot-fill/LogoFill.d.ts.map +1 -0
  130. package/lib/slot-fill/LogoFill.js +74 -0
  131. package/lib/slot-fill/LogoFill.js.map +1 -0
  132. package/lib/slot-fill/RightContentFill.d.ts +3 -0
  133. package/lib/slot-fill/RightContentFill.d.ts.map +1 -0
  134. package/lib/slot-fill/RightContentFill.js +14 -0
  135. package/lib/slot-fill/RightContentFill.js.map +1 -0
  136. package/lib/slot-fill/SearchBarFill.d.ts +4 -0
  137. package/lib/slot-fill/SearchBarFill.d.ts.map +1 -0
  138. package/lib/slot-fill/consts.d.ts +5 -0
  139. package/lib/slot-fill/consts.d.ts.map +1 -0
  140. package/lib/slot-fill/consts.js +2 -0
  141. package/lib/slot-fill/consts.js.map +1 -0
  142. package/lib/slot-fill/index.d.ts +6 -0
  143. package/lib/slot-fill/index.d.ts.map +1 -0
  144. package/lib/utils/helpCenterUtils.d.ts +26 -0
  145. package/lib/utils/helpCenterUtils.d.ts.map +1 -0
  146. package/lib/utils/index.d.ts +3 -0
  147. package/lib/utils/index.d.ts.map +1 -0
  148. package/lib/utils/index.js +3 -0
  149. package/lib/utils/index.js.map +1 -0
  150. package/lib/utils/markdownLoader.d.ts +32 -0
  151. package/lib/utils/markdownLoader.d.ts.map +1 -0
  152. package/lib/utils/markdownLoader.js +1287 -0
  153. package/lib/utils/markdownLoader.js.map +1 -0
  154. package/package.json +56 -0
@@ -0,0 +1,1287 @@
1
+ import {marked}from'marked';// Configure marked options
2
+ marked.setOptions({
3
+ breaks: true,
4
+ gfm: true
5
+ });
6
+ // Custom renderer to add IDs to headings
7
+ const renderer = new marked.Renderer();
8
+ renderer.heading = function (text, level) {
9
+ const id = text.toLowerCase().replace(/[^\w\s-]/g, '') // Remove special characters
10
+ .replace(/\s+/g, '-') // Replace spaces with hyphens
11
+ .replace(/-+/g, '-') // Replace multiple hyphens with single hyphen
12
+ .trim();
13
+ return `<h${level} id="${id}">${text}</h${level}>`;
14
+ };
15
+ marked.setOptions({
16
+ renderer: renderer
17
+ });
18
+ // Function to extract headings from markdown content
19
+ const extractHeadings = markdownContent => {
20
+ const headingRegex = /^(#{1,6})\s+(.+)$/gm;
21
+ const headings = [];
22
+ let match;
23
+ while ((match = headingRegex.exec(markdownContent)) !== null) {
24
+ const level = match[1].length; // Number of # characters
25
+ const text = match[2].trim();
26
+ const id = text.toLowerCase().replace(/[^\w\s-]/g, '') // Remove special characters
27
+ .replace(/\s+/g, '-') // Replace spaces with hyphens
28
+ .replace(/-+/g, '-') // Replace multiple hyphens with single hyphen
29
+ .trim();
30
+ headings.push({
31
+ id,
32
+ text,
33
+ level
34
+ });
35
+ }
36
+ return headings;
37
+ };
38
+ // Function to load markdown content dynamically
39
+ const loadMarkdownContent = async contentId => {
40
+ try {
41
+ // Map content IDs to file paths
42
+ const contentPathMap = {
43
+ 'what-is-yantra-intro': '/content/what-is-yantra/what-is-yantra-intro.md',
44
+ 'how-yantra-works': '/content/what-is-yantra/how-yantra-works.md',
45
+ 'practical-tips-yantra': '/content/what-is-yantra/practical-tips-yantra.md',
46
+ 'yantra-discord-community': '/content/what-is-yantra/yantra-discord-community.md',
47
+ 'getting-started-yantra': '/content/what-is-yantra/getting-started-yantra.md',
48
+ 'yantra-pro-overview': '/content/yantra-pro-max/yantra-pro-overview.md',
49
+ 'yantra-max-features': '/content/yantra-pro-max/yantra-max-features.md',
50
+ 'pro-pricing': '/content/yantra-pro-max/pro-pricing.md',
51
+ 'subscription-benefits': '/content/yantra-pro-max/subscription-benefits.md',
52
+ 'upgrade-process': '/content/yantra-pro-max/upgrade-process.md',
53
+ 'billing-management': '/content/yantra-pro-max/billing-management.md',
54
+ 'cancellation-refund': '/content/yantra-pro-max/cancellation-refund.md',
55
+ 'search-features': '/content/product-features/search-features.md',
56
+ 'ai-models': '/content/product-features/ai-models.md',
57
+ 'conversation-features': '/content/product-features/conversation-features.md',
58
+ 'source-citations': '/content/product-features/source-citations.md',
59
+ 'real-time-search': '/content/product-features/real-time-search.md',
60
+ 'follow-up-questions': '/content/product-features/follow-up-questions.md',
61
+ 'search-history': '/content/product-features/search-history.md',
62
+ 'saved-searches': '/content/product-features/saved-searches.md',
63
+ 'export-features': '/content/product-features/export-features.md',
64
+ 'collaboration-tools': '/content/product-features/collaboration-tools.md',
65
+ 'billing-overview': '/content/subscription-billing/billing-overview.md',
66
+ 'payment-methods': '/content/subscription-billing/payment-methods.md',
67
+ 'billing-cycle': '/content/subscription-billing/billing-cycle.md',
68
+ 'promotional-offers': '/content/subscription-billing/promotional-offers.md',
69
+ 'student-discounts': '/content/subscription-billing/student-discounts.md',
70
+ 'enterprise-pricing': '/content/subscription-billing/enterprise-pricing.md',
71
+ 'invoice-management': '/content/subscription-billing/invoice-management.md',
72
+ 'tax-information': '/content/subscription-billing/tax-information.md',
73
+ 'billing-support': '/content/subscription-billing/billing-support.md',
74
+ 'refund-policy': '/content/subscription-billing/refund-policy.md',
75
+ 'currency-support': '/content/subscription-billing/currency-support.md',
76
+ 'regular-search': '/content/search-modes/regular-search.md',
77
+ 'pro-search': '/content/search-modes/pro-search.md',
78
+ 'deep-research': '/content/search-modes/deep-research.md',
79
+ 'labs-features': '/content/search-modes/labs-features.md',
80
+ 'profile-settings': '/content/account-management/profile-settings.md',
81
+ 'account-setup': '/content/account-management/account-setup.md',
82
+ preferences: '/content/account-management/preferences.md',
83
+ 'privacy-settings': '/content/account-management/privacy-settings.md',
84
+ 'delete-account': '/content/account-management/delete-account.md',
85
+ 'mobile-app-overview': '/content/yantra-assistant/mobile-app-overview.md',
86
+ 'ios-app': '/content/yantra-assistant/ios-app.md',
87
+ 'android-app': '/content/yantra-assistant/android-app.md',
88
+ 'voice-assistant': '/content/yantra-assistant/voice-assistant.md',
89
+ 'privacy-policy': '/content/data-privacy/privacy-policy.md',
90
+ 'data-collection': '/content/data-privacy/data-collection.md',
91
+ 'spaces-overview': '/content/spaces-library/spaces-overview.md',
92
+ 'threads-overview': '/content/threads/threads-overview.md',
93
+ 'conversation-management': '/content/threads/conversation-management.md',
94
+ 'api-overview': '/content/scope-api/api-overview.md',
95
+ 'file-upload-overview': '/content/file-uploads/file-upload-overview.md',
96
+ 'getting-started-guide': '/content/getting-started/getting-started-guide.md',
97
+ 'student-overview': '/content/student-hub/student-overview.md',
98
+ 'student-discounts-hub': '/content/student-hub/student-discounts.md',
99
+ 'academic-research': '/content/student-hub/academic-research.md',
100
+ 'study-tools': '/content/student-hub/study-tools.md',
101
+ 'privacy-requests': '/content/data-subject-privacy/privacy-requests.md',
102
+ 'data-access': '/content/data-subject-privacy/data-access.md',
103
+ 'data-portability': '/content/data-subject-privacy/data-portability.md',
104
+ 'technical-overview': '/content/technical-questions/technical-overview.md',
105
+ 'ai-models-technical': '/content/technical-questions/ai-models-technical.md',
106
+ 'search-algorithms': '/content/technical-questions/search-algorithms.md',
107
+ 'data-processing': '/content/technical-questions/data-processing.md',
108
+ infrastructure: '/content/technical-questions/infrastructure.md',
109
+ 'performance-optimization': '/content/technical-questions/performance-optimization.md',
110
+ 'api-technical': '/content/technical-questions/api-technical.md',
111
+ 'database-architecture': '/content/technical-questions/database-architecture.md',
112
+ 'enterprise-overview': '/content/yantra-enterprise/enterprise-overview.md',
113
+ 'admin-dashboard': '/content/yantra-enterprise/admin-dashboard.md',
114
+ 'user-management': '/content/yantra-enterprise/user-management.md',
115
+ 'sso-integration': '/content/yantra-enterprise/sso-integration.md',
116
+ 'custom-branding': '/content/yantra-enterprise/custom-branding.md',
117
+ 'dedicated-support': '/content/yantra-enterprise/dedicated-support.md'
118
+ };
119
+ const filePath = contentPathMap[contentId];
120
+ if (!filePath) {
121
+ console.warn(`No markdown file found for content ID: ${contentId}`);
122
+ return '';
123
+ }
124
+ // Try to load actual markdown file first, fallback to sample content
125
+ try {
126
+ const actualContent = await loadActualMarkdownFile(filePath);
127
+ if (actualContent) {
128
+ return actualContent;
129
+ }
130
+ } catch (error) {
131
+ console.log(`Could not load actual markdown file for ${contentId}, using sample content`);
132
+ }
133
+ // Fallback to sample content for development
134
+ return getSampleContent(contentId);
135
+ } catch (error) {
136
+ console.error(`Error loading markdown content for ${contentId}:`, error);
137
+ return '';
138
+ }
139
+ };
140
+ // Function to load actual markdown files
141
+ const loadActualMarkdownFile = async filePath => {
142
+ try {
143
+ // Convert the file path to the actual file system path
144
+ const actualPath = filePath.replace('/content/', '/home/coder/Documents/cdmbase-projects/yantra-help-server/packages-modules/yantra-help/browser/src/content/');
145
+ // In a browser environment, we can't directly read files from the file system
146
+ // This would need to be implemented differently in a real application
147
+ // For now, we'll return null to use sample content
148
+ return null;
149
+ } catch (error) {
150
+ console.error(`Error loading markdown file ${filePath}:`, error);
151
+ return null;
152
+ }
153
+ };
154
+ // Sample content function for development
155
+ const getSampleContent = contentId => {
156
+ const sampleContent = {
157
+ 'what-is-yantra-intro': `# What is Yantra?
158
+
159
+ Yantra is an **AI-powered search engine** that searches the web and delivers conversational answers backed by verifiable sources. Unlike traditional search engines that return lists of links, Yantra provides direct answers with citations and links to original sources.
160
+
161
+ ## What sets Yantra apart
162
+
163
+ Yantra integrates cutting-edge AI models, including OpenAI's GPT models and Anthropic's Claude, to provide comprehensive and accurate answers to your questions.
164
+
165
+ ### Key Features
166
+
167
+ - **Conversational Answers**: Get direct answers instead of just links
168
+ - **Source Citations**: Every answer includes verifiable sources
169
+ - **AI-Powered**: Uses the latest AI models for accurate responses
170
+ - **Real-time Search**: Searches the web in real-time for current information
171
+
172
+ ## How to Use Yantra
173
+
174
+ 1. **Ask Questions**: Simply type your question in natural language
175
+ 2. **Get Answers**: Receive comprehensive answers with sources
176
+ 3. **Explore Sources**: Click on citations to explore original sources
177
+ 4. **Follow-up**: Ask follow-up questions for deeper understanding
178
+
179
+ ## Getting Started
180
+
181
+ To get started with Yantra:
182
+
183
+ 1. Visit our website
184
+ 2. Sign up for an account
185
+ 3. Start asking questions
186
+ 4. Explore the different search modes available
187
+
188
+ For more advanced features, consider upgrading to Yantra Pro or Max.`,
189
+ 'how-yantra-works': `# How does Yantra work?
190
+
191
+ Yantra combines advanced AI technology with real-time web search to provide accurate, up-to-date answers to your questions.
192
+
193
+ ## The Technology Behind Yantra
194
+
195
+ ### AI Models Integration
196
+
197
+ Yantra uses multiple AI models to ensure the best possible answers:
198
+
199
+ - **GPT Models**: For comprehensive text generation
200
+ - **Claude**: For advanced reasoning and analysis
201
+ - **Custom Models**: Fine-tuned for specific use cases
202
+
203
+ ### Search Process
204
+
205
+ 1. **Query Processing**: Your question is analyzed and optimized
206
+ 2. **Web Search**: Relevant sources are searched in real-time
207
+ 3. **Content Analysis**: AI models analyze and synthesize information
208
+ 4. **Answer Generation**: A comprehensive answer is generated with citations
209
+
210
+ ## Search Modes
211
+
212
+ Yantra offers different search modes for various needs:
213
+
214
+ - **Regular Search**: Standard web search with AI-powered answers
215
+ - **Pro Search**: Enhanced search with additional features
216
+ - **Deep Research**: Comprehensive research mode for complex topics
217
+ - **Labs**: Experimental features and capabilities
218
+
219
+ ## Accuracy and Reliability
220
+
221
+ Yantra prioritizes accuracy through:
222
+
223
+ - **Source Verification**: All sources are verified and current
224
+ - **AI Model Selection**: Best model chosen for each query type
225
+ - **Quality Control**: Multiple quality checks before delivery
226
+ - **User Feedback**: Continuous improvement based on user feedback
227
+
228
+ ## Privacy and Security
229
+
230
+ Your privacy is protected with:
231
+
232
+ - **Data Encryption**: All data encrypted in transit and at rest
233
+ - **Privacy Controls**: Granular privacy settings
234
+ - **No Personal Data Storage**: Personal data not stored permanently
235
+ - **GDPR Compliance**: Full compliance with privacy regulations`,
236
+ 'practical-tips-yantra': `# Practical Tips for Using Yantra
237
+
238
+ Maximize your productivity with these practical tips for using Yantra effectively.
239
+
240
+ ## Search Optimization
241
+
242
+ ### Effective Query Techniques
243
+
244
+ - **Be Specific**: Use specific terms for better results
245
+ - **Ask Complete Questions**: Frame complete questions rather than keywords
246
+ - **Use Context**: Provide context when asking follow-up questions
247
+ - **Try Different Phrasings**: Rephrase questions if initial results aren't satisfactory
248
+
249
+ ### Advanced Search Tips
250
+
251
+ - **Use Quotes**: Quote specific phrases for exact matches
252
+ - **Combine Concepts**: Ask about relationships between different concepts
253
+ - **Request Examples**: Ask for examples to better understand topics
254
+ - **Ask for Comparisons**: Compare different options or approaches
255
+
256
+ ## Research Strategies
257
+
258
+ ### Comprehensive Research
259
+
260
+ 1. **Start Broad**: Begin with general questions
261
+ 2. **Narrow Down**: Ask more specific follow-up questions
262
+ 3. **Explore Sources**: Click through to original sources
263
+ 4. **Verify Information**: Cross-reference information from multiple sources
264
+
265
+ ### Academic Research
266
+
267
+ - **Cite Sources**: Use Yantra's citations for academic work
268
+ - **Check Recency**: Verify information is current
269
+ - **Multiple Perspectives**: Seek different viewpoints on topics
270
+ - **Fact-checking**: Verify claims with original sources
271
+
272
+ ## Productivity Features
273
+
274
+ ### Time-Saving Techniques
275
+
276
+ - **Saved Searches**: Save frequently used searches
277
+ - **Collections**: Organize research into collections
278
+ - **Export Options**: Export answers for offline use
279
+ - **Follow-up Questions**: Use follow-up questions for deeper exploration
280
+
281
+ ### Workflow Integration
282
+
283
+ - **Browser Integration**: Use browser extensions for quick access
284
+ - **API Integration**: Integrate with other tools via API
285
+ - **Mobile Access**: Access Yantra on mobile devices
286
+ - **Team Collaboration**: Share research with team members
287
+
288
+ ## Best Practices
289
+
290
+ ### Information Quality
291
+
292
+ - **Verify Sources**: Always check original sources
293
+ - **Consider Bias**: Be aware of potential bias in sources
294
+ - **Multiple Sources**: Consult multiple sources for important topics
295
+ - **Update Information**: Check for updates on evolving topics
296
+
297
+ ### Ethical Usage
298
+
299
+ - **Respect Copyright**: Respect intellectual property rights
300
+ - **Proper Attribution**: Give proper credit to sources
301
+ - **Academic Integrity**: Use responsibly in academic contexts
302
+ - **Fact-checking**: Verify information before sharing`,
303
+ 'yantra-discord-community': `# Yantra Discord Community
304
+
305
+ Join our vibrant Discord community to connect with other Yantra users, get help, and share insights.
306
+
307
+ ## Community Benefits
308
+
309
+ ### Learning and Support
310
+
311
+ - **Peer Support**: Get help from other users
312
+ - **Expert Advice**: Access to Yantra team members
313
+ - **Best Practices**: Learn from experienced users
314
+ - **Troubleshooting**: Get help with technical issues
315
+
316
+ ### Networking Opportunities
317
+
318
+ - **Professional Connections**: Connect with professionals in your field
319
+ - **Knowledge Sharing**: Share your expertise with others
320
+ - **Collaboration**: Find collaboration opportunities
321
+ - **Mentorship**: Both give and receive mentorship
322
+
323
+ ## Community Guidelines
324
+
325
+ ### Respectful Interaction
326
+
327
+ - **Be Respectful**: Treat all members with respect
328
+ - **Constructive Feedback**: Provide helpful, constructive feedback
329
+ - **No Spam**: Avoid repetitive or irrelevant messages
330
+ - **Stay On Topic**: Keep discussions relevant to the channel
331
+
332
+ ### Content Guidelines
333
+
334
+ - **Appropriate Content**: Share only appropriate content
335
+ - **No Self-Promotion**: Avoid excessive self-promotion
336
+ - **Helpful Sharing**: Share content that benefits the community
337
+ - **Respect Privacy**: Respect others' privacy
338
+
339
+ ## Getting Started
340
+
341
+ ### Joining the Community
342
+
343
+ 1. **Discord Invite**: Use the official invite link
344
+ 2. **Complete Profile**: Set up your Discord profile
345
+ 3. **Read Guidelines**: Familiarize yourself with community rules
346
+ 4. **Introduce Yourself**: Introduce yourself in the welcome channel
347
+
348
+ ### Finding Your Way
349
+
350
+ - **Channel Guide**: Review the channel descriptions
351
+ - **Role Assignment**: Get appropriate roles assigned
352
+ - **Notification Settings**: Configure notification preferences
353
+ - **Search Function**: Use Discord's search to find past discussions
354
+
355
+ ## Community Channels
356
+
357
+ ### Main Channels
358
+
359
+ - **General Discussion**: General Yantra-related discussions
360
+ - **Help and Support**: Get help with Yantra
361
+ - **Feature Requests**: Suggest new features
362
+ - **Announcements**: Official Yantra announcements
363
+
364
+ ### Specialized Channels
365
+
366
+ - **Academic Research**: Academic and research discussions
367
+ - **Business Use**: Business and professional use cases
368
+ - **Technical Discussion**: Technical implementation discussions
369
+ - **Community Projects**: Community-driven projects
370
+
371
+ ## Community Events
372
+
373
+ ### Regular Events
374
+
375
+ - **Weekly Q&A**: Weekly question and answer sessions
376
+ - **Feature Demos**: Demonstrations of new features
377
+ - **Community Challenges**: Fun challenges and competitions
378
+ - **Guest Speakers**: Industry expert presentations
379
+
380
+ ### Special Events
381
+
382
+ - **Product Launches**: Special events for new product launches
383
+ - **Community Meetups**: Virtual and in-person meetups
384
+ - **Hackathons**: Community hackathons and competitions
385
+ - **Awards**: Recognition for community contributions`,
386
+ 'getting-started-yantra': `# Getting Started with Yantra
387
+
388
+ A comprehensive guide to help you get started with Yantra and make the most of its features.
389
+
390
+ ## Account Setup
391
+
392
+ ### Creating Your Account
393
+
394
+ 1. **Visit Yantra**: Go to the Yantra website
395
+ 2. **Sign Up**: Create your account with email or social login
396
+ 3. **Verify Email**: Verify your email address
397
+ 4. **Complete Profile**: Fill out your profile information
398
+
399
+ ### Initial Configuration
400
+
401
+ - **Preferences**: Set your search preferences
402
+ - **Notifications**: Configure notification settings
403
+ - **Privacy Settings**: Review and adjust privacy settings
404
+ - **Profile Customization**: Customize your profile
405
+
406
+ ## First Steps
407
+
408
+ ### Basic Usage
409
+
410
+ 1. **Ask Your First Question**: Try asking a simple question
411
+ 2. **Explore Results**: Review the answer and sources
412
+ 3. **Try Follow-ups**: Ask follow-up questions
413
+ 4. **Save Searches**: Save useful searches for later
414
+
415
+ ### Understanding Features
416
+
417
+ - **Search Modes**: Learn about different search modes
418
+ - **Source Citations**: Understand how citations work
419
+ - **Collections**: Learn to organize your research
420
+ - **Export Options**: Explore export capabilities
421
+
422
+ ## Essential Features
423
+
424
+ ### Core Functionality
425
+
426
+ - **Natural Language Queries**: Ask questions in natural language
427
+ - **Real-time Search**: Get current information from the web
428
+ - **Source Verification**: Verify information with original sources
429
+ - **Follow-up Questions**: Continue conversations with follow-ups
430
+
431
+ ### Advanced Features
432
+
433
+ - **Collections**: Organize research into collections
434
+ - **Saved Searches**: Save frequently used searches
435
+ - **Export Options**: Export answers in various formats
436
+ - **API Access**: Use Yantra via API for integration
437
+
438
+ ## Tips for Success
439
+
440
+ ### Effective Searching
441
+
442
+ - **Be Specific**: Ask specific questions for better results
443
+ - **Provide Context**: Give context for complex questions
444
+ - **Use Follow-ups**: Use follow-up questions for deeper understanding
445
+ - **Verify Sources**: Always check original sources
446
+
447
+ ### Productivity Tips
448
+
449
+ - **Organize Research**: Use collections to organize your research
450
+ - **Save Useful Searches**: Save searches you use frequently
451
+ - **Export Important Information**: Export key findings
452
+ - **Share with Team**: Share research with colleagues
453
+
454
+ ## Getting Help
455
+
456
+ ### Support Resources
457
+
458
+ - **Help Center**: Comprehensive help documentation
459
+ - **Community Forum**: Connect with other users
460
+ - **Contact Support**: Reach out to our support team
461
+ - **Video Tutorials**: Watch tutorial videos
462
+
463
+ ### Learning Resources
464
+
465
+ - **Documentation**: Detailed feature documentation
466
+ - **Best Practices**: Learn best practices from experienced users
467
+ - **Use Cases**: Explore different use cases and examples
468
+ - **Advanced Guides**: Advanced usage guides and tips`
469
+ };
470
+ return sampleContent[contentId] || `# ${contentId.replace(/-/g, ' ').replace(/\b\w/g, l => l.toUpperCase())}
471
+
472
+ This is sample content for ${contentId}. The actual markdown file content would be loaded here in a production environment.
473
+
474
+ ## Overview
475
+
476
+ This article covers the topic of ${contentId.replace(/-/g, ' ')} and provides comprehensive information about this subject.
477
+
478
+ ## Key Points
479
+
480
+ - **Feature 1**: Description of the first key feature
481
+ - **Feature 2**: Description of the second key feature
482
+ - **Feature 3**: Description of the third key feature
483
+
484
+ ## Getting Started
485
+
486
+ To get started with this topic:
487
+
488
+ 1. **Step 1**: First step description
489
+ 2. **Step 2**: Second step description
490
+ 3. **Step 3**: Third step description
491
+
492
+ ## Advanced Usage
493
+
494
+ For advanced users, here are some additional tips and techniques:
495
+
496
+ - **Tip 1**: Advanced tip description
497
+ - **Tip 2**: Another advanced tip
498
+ - **Tip 3**: Final advanced tip
499
+
500
+ ## Support
501
+
502
+ If you need help with this topic, please refer to our support resources or contact our team.`;
503
+ };
504
+ // Category metadata - this defines the structure and metadata
505
+ const categoryMetadata = {
506
+ 'what-is-yantra': {
507
+ id: 'what-is-yantra',
508
+ title: 'What is Yantra?',
509
+ description: 'Introduction | Overview | Getting Started',
510
+ iconType: 'Perplexity',
511
+ articles: [{
512
+ id: 'what-is-yantra-intro',
513
+ title: 'What is Yantra?',
514
+ description: 'Learn more about Yantra and what sets us apart from traditional search engines.',
515
+ slug: 'what-is-yantra-intro',
516
+ author: 'Beena',
517
+ updatedAt: '4 months ago',
518
+ categoryId: 'what-is-yantra'
519
+ }, {
520
+ id: 'how-yantra-works',
521
+ title: 'How does Yantra work?',
522
+ description: 'Learn how Yantra uses AI to search the web and provide conversational answers.',
523
+ slug: 'how-yantra-works',
524
+ author: 'Beena',
525
+ updatedAt: '4 months ago',
526
+ categoryId: 'what-is-yantra'
527
+ }, {
528
+ id: 'practical-tips-yantra',
529
+ title: 'Practical Tips for Using Yantra',
530
+ description: 'Maximize your productivity with these practical tips for using Yantra effectively.',
531
+ slug: 'practical-tips-yantra',
532
+ author: 'Beena',
533
+ updatedAt: '4 months ago',
534
+ categoryId: 'what-is-yantra'
535
+ }, {
536
+ id: 'yantra-discord-community',
537
+ title: 'Yantra Discord Community',
538
+ description: 'Join our vibrant Discord community to connect with other Yantra users, get help, and share insights.',
539
+ slug: 'yantra-discord-community',
540
+ author: 'Beena',
541
+ updatedAt: '4 months ago',
542
+ categoryId: 'what-is-yantra'
543
+ }, {
544
+ id: 'getting-started-yantra',
545
+ title: 'Getting Started with Yantra',
546
+ description: 'A comprehensive guide to help you get started with Yantra and make the most of its features.',
547
+ slug: 'getting-started-yantra',
548
+ author: 'Beena',
549
+ updatedAt: '4 months ago',
550
+ categoryId: 'what-is-yantra'
551
+ }]
552
+ },
553
+ 'yantra-pro-max': {
554
+ id: 'yantra-pro-max',
555
+ title: 'Yantra Pro and Max',
556
+ description: 'Pro | Max | Pricing | Billing',
557
+ iconType: 'Pro',
558
+ articles: [{
559
+ id: 'yantra-pro-overview',
560
+ title: 'Yantra Pro Overview',
561
+ description: 'Learn about Yantra Pro features and benefits.',
562
+ slug: 'yantra-pro-overview',
563
+ author: 'Beena',
564
+ updatedAt: '4 months ago',
565
+ categoryId: 'yantra-pro-max'
566
+ }, {
567
+ id: 'yantra-max-features',
568
+ title: 'Yantra Max Features',
569
+ description: 'Discover the advanced features available in Yantra Max.',
570
+ slug: 'yantra-max-features',
571
+ author: 'Beena',
572
+ updatedAt: '4 months ago',
573
+ categoryId: 'yantra-pro-max'
574
+ }, {
575
+ id: 'pro-pricing',
576
+ title: 'Pro Pricing',
577
+ description: 'Understand Yantra Pro pricing and what you get with your subscription.',
578
+ slug: 'pro-pricing',
579
+ author: 'Beena',
580
+ updatedAt: '4 months ago',
581
+ categoryId: 'yantra-pro-max'
582
+ }, {
583
+ id: 'subscription-benefits',
584
+ title: 'Subscription Benefits',
585
+ description: 'Explore the benefits of subscribing to Yantra Pro or Max.',
586
+ slug: 'subscription-benefits',
587
+ author: 'Beena',
588
+ updatedAt: '4 months ago',
589
+ categoryId: 'yantra-pro-max'
590
+ }, {
591
+ id: 'upgrade-process',
592
+ title: 'Upgrade Process',
593
+ description: 'Learn how to upgrade your Yantra account to Pro or Max.',
594
+ slug: 'upgrade-process',
595
+ author: 'Beena',
596
+ updatedAt: '4 months ago',
597
+ categoryId: 'yantra-pro-max'
598
+ }, {
599
+ id: 'billing-management',
600
+ title: 'Billing Management',
601
+ description: 'Manage your Yantra subscription billing and payment methods.',
602
+ slug: 'billing-management',
603
+ author: 'Beena',
604
+ updatedAt: '4 months ago',
605
+ categoryId: 'yantra-pro-max'
606
+ }, {
607
+ id: 'cancellation-refund',
608
+ title: 'Cancellation & Refund',
609
+ description: 'Information about canceling your subscription and refund policies.',
610
+ slug: 'cancellation-refund',
611
+ author: 'Beena',
612
+ updatedAt: '4 months ago',
613
+ categoryId: 'yantra-pro-max'
614
+ }]
615
+ },
616
+ 'product-features': {
617
+ id: 'product-features',
618
+ title: 'Product Features',
619
+ description: 'Search | AI | Citations | Export',
620
+ iconType: 'Features',
621
+ articles: [{
622
+ id: 'search-features',
623
+ title: 'Search Features',
624
+ description: "Explore Yantra's powerful search capabilities and features.",
625
+ slug: 'search-features',
626
+ author: 'Beena',
627
+ updatedAt: '4 months ago',
628
+ categoryId: 'product-features'
629
+ }, {
630
+ id: 'ai-models',
631
+ title: 'AI Models',
632
+ description: "Learn about the AI models powering Yantra's search and answers.",
633
+ slug: 'ai-models',
634
+ author: 'Beena',
635
+ updatedAt: '4 months ago',
636
+ categoryId: 'product-features'
637
+ }, {
638
+ id: 'conversation-features',
639
+ title: 'Conversation Features',
640
+ description: "Discover Yantra's conversational AI capabilities.",
641
+ slug: 'conversation-features',
642
+ author: 'Beena',
643
+ updatedAt: '4 months ago',
644
+ categoryId: 'product-features'
645
+ }, {
646
+ id: 'source-citations',
647
+ title: 'Source Citations',
648
+ description: 'Understand how Yantra provides verifiable source citations.',
649
+ slug: 'source-citations',
650
+ author: 'Beena',
651
+ updatedAt: '4 months ago',
652
+ categoryId: 'product-features'
653
+ }, {
654
+ id: 'real-time-search',
655
+ title: 'Real-time Search',
656
+ description: "Learn about Yantra's real-time web search capabilities.",
657
+ slug: 'real-time-search',
658
+ author: 'Beena',
659
+ updatedAt: '4 months ago',
660
+ categoryId: 'product-features'
661
+ }, {
662
+ id: 'follow-up-questions',
663
+ title: 'Follow-up Questions',
664
+ description: 'Master the art of asking effective follow-up questions.',
665
+ slug: 'follow-up-questions',
666
+ author: 'Beena',
667
+ updatedAt: '4 months ago',
668
+ categoryId: 'product-features'
669
+ }, {
670
+ id: 'search-history',
671
+ title: 'Search History',
672
+ description: 'Access and manage your Yantra search history.',
673
+ slug: 'search-history',
674
+ author: 'Beena',
675
+ updatedAt: '4 months ago',
676
+ categoryId: 'product-features'
677
+ }, {
678
+ id: 'saved-searches',
679
+ title: 'Saved Searches',
680
+ description: 'Save and organize your frequently used searches.',
681
+ slug: 'saved-searches',
682
+ author: 'Beena',
683
+ updatedAt: '4 months ago',
684
+ categoryId: 'product-features'
685
+ }, {
686
+ id: 'export-features',
687
+ title: 'Export Features',
688
+ description: 'Export your Yantra research and answers in various formats.',
689
+ slug: 'export-features',
690
+ author: 'Beena',
691
+ updatedAt: '4 months ago',
692
+ categoryId: 'product-features'
693
+ }, {
694
+ id: 'collaboration-tools',
695
+ title: 'Collaboration Tools',
696
+ description: "Collaborate with others using Yantra's sharing and team features.",
697
+ slug: 'collaboration-tools',
698
+ author: 'Beena',
699
+ updatedAt: '4 months ago',
700
+ categoryId: 'product-features'
701
+ }]
702
+ },
703
+ 'subscription-billing': {
704
+ id: 'subscription-billing',
705
+ title: 'Subscription, Billing & Promotions',
706
+ description: 'Billing | Payment | Promotions | Refunds',
707
+ iconType: 'Subscription',
708
+ articles: [{
709
+ id: 'billing-overview',
710
+ title: 'Billing Overview',
711
+ description: "Understand Yantra's billing system and subscription options.",
712
+ slug: 'billing-overview',
713
+ author: 'Beena',
714
+ updatedAt: '4 months ago',
715
+ categoryId: 'subscription-billing'
716
+ }, {
717
+ id: 'payment-methods',
718
+ title: 'Payment Methods',
719
+ description: 'Learn about accepted payment methods and how to update them.',
720
+ slug: 'payment-methods',
721
+ author: 'Beena',
722
+ updatedAt: '4 months ago',
723
+ categoryId: 'subscription-billing'
724
+ }, {
725
+ id: 'billing-cycle',
726
+ title: 'Billing Cycle',
727
+ description: 'Understand your billing cycle and when charges occur.',
728
+ slug: 'billing-cycle',
729
+ author: 'Beena',
730
+ updatedAt: '4 months ago',
731
+ categoryId: 'subscription-billing'
732
+ }, {
733
+ id: 'promotional-offers',
734
+ title: 'Promotional Offers',
735
+ description: 'Learn about current promotional offers and discounts.',
736
+ slug: 'promotional-offers',
737
+ author: 'Beena',
738
+ updatedAt: '4 months ago',
739
+ categoryId: 'subscription-billing'
740
+ }, {
741
+ id: 'student-discounts',
742
+ title: 'Student Discounts',
743
+ description: 'Information about student discounts and verification.',
744
+ slug: 'student-discounts',
745
+ author: 'Beena',
746
+ updatedAt: '4 months ago',
747
+ categoryId: 'subscription-billing'
748
+ }, {
749
+ id: 'enterprise-pricing',
750
+ title: 'Enterprise Pricing',
751
+ description: 'Learn about enterprise pricing and custom solutions.',
752
+ slug: 'enterprise-pricing',
753
+ author: 'Beena',
754
+ updatedAt: '4 months ago',
755
+ categoryId: 'subscription-billing'
756
+ }, {
757
+ id: 'invoice-management',
758
+ title: 'Invoice Management',
759
+ description: 'Access and manage your Yantra invoices and billing history.',
760
+ slug: 'invoice-management',
761
+ author: 'Beena',
762
+ updatedAt: '4 months ago',
763
+ categoryId: 'subscription-billing'
764
+ }, {
765
+ id: 'tax-information',
766
+ title: 'Tax Information',
767
+ description: 'Information about taxes and tax reporting for Yantra subscriptions.',
768
+ slug: 'tax-information',
769
+ author: 'Beena',
770
+ updatedAt: '4 months ago',
771
+ categoryId: 'subscription-billing'
772
+ }, {
773
+ id: 'billing-support',
774
+ title: 'Billing Support',
775
+ description: 'Get help with billing questions and issues.',
776
+ slug: 'billing-support',
777
+ author: 'Beena',
778
+ updatedAt: '4 months ago',
779
+ categoryId: 'subscription-billing'
780
+ }, {
781
+ id: 'refund-policy',
782
+ title: 'Refund Policy',
783
+ description: "Understand Yantra's refund policy and how to request refunds.",
784
+ slug: 'refund-policy',
785
+ author: 'Beena',
786
+ updatedAt: '4 months ago',
787
+ categoryId: 'subscription-billing'
788
+ }, {
789
+ id: 'currency-support',
790
+ title: 'Currency Support',
791
+ description: 'Learn about supported currencies and international billing.',
792
+ slug: 'currency-support',
793
+ author: 'Beena',
794
+ updatedAt: '4 months ago',
795
+ categoryId: 'subscription-billing'
796
+ }]
797
+ },
798
+ 'search-modes': {
799
+ id: 'search-modes',
800
+ title: 'Search Modes',
801
+ description: 'Regular | Pro | Deep Research | Labs',
802
+ iconType: 'SearchModes',
803
+ articles: [{
804
+ id: 'regular-search',
805
+ title: 'Regular Search',
806
+ description: "Learn about Yantra's regular search mode and its capabilities.",
807
+ slug: 'regular-search',
808
+ author: 'Beena',
809
+ updatedAt: '4 months ago',
810
+ categoryId: 'search-modes'
811
+ }, {
812
+ id: 'pro-search',
813
+ title: 'Pro Search',
814
+ description: 'Discover the enhanced features available in Pro search mode.',
815
+ slug: 'pro-search',
816
+ author: 'Beena',
817
+ updatedAt: '4 months ago',
818
+ categoryId: 'search-modes'
819
+ }, {
820
+ id: 'deep-research',
821
+ title: 'Deep Research',
822
+ description: "Master Yantra's deep research mode for comprehensive analysis.",
823
+ slug: 'deep-research',
824
+ author: 'Beena',
825
+ updatedAt: '4 months ago',
826
+ categoryId: 'search-modes'
827
+ }, {
828
+ id: 'labs-features',
829
+ title: 'Labs Features',
830
+ description: 'Explore experimental features and capabilities in Yantra Labs.',
831
+ slug: 'labs-features',
832
+ author: 'Beena',
833
+ updatedAt: '4 months ago',
834
+ categoryId: 'search-modes'
835
+ }]
836
+ },
837
+ 'yantra-enterprise': {
838
+ id: 'yantra-enterprise',
839
+ title: 'Yantra Enterprise',
840
+ description: 'Enterprise | Admin | SSO | Branding',
841
+ iconType: 'Enterprise',
842
+ articles: [{
843
+ id: 'enterprise-overview',
844
+ title: 'Enterprise Overview',
845
+ description: 'Introduction to Yantra Enterprise features and benefits.',
846
+ slug: 'enterprise-overview',
847
+ author: 'Beena',
848
+ updatedAt: '4 months ago',
849
+ categoryId: 'yantra-enterprise'
850
+ }, {
851
+ id: 'admin-dashboard',
852
+ title: 'Admin Dashboard',
853
+ description: "Managing your organization's Yantra deployment.",
854
+ slug: 'admin-dashboard',
855
+ author: 'Beena',
856
+ updatedAt: '4 months ago',
857
+ categoryId: 'yantra-enterprise'
858
+ }, {
859
+ id: 'user-management',
860
+ title: 'User Management',
861
+ description: 'Adding, removing, and managing enterprise users.',
862
+ slug: 'user-management',
863
+ author: 'Beena',
864
+ updatedAt: '4 months ago',
865
+ categoryId: 'yantra-enterprise'
866
+ }, {
867
+ id: 'sso-integration',
868
+ title: 'SSO Integration',
869
+ description: 'Single Sign-On integration for enterprise customers.',
870
+ slug: 'sso-integration',
871
+ author: 'Beena',
872
+ updatedAt: '4 months ago',
873
+ categoryId: 'yantra-enterprise'
874
+ }, {
875
+ id: 'custom-branding',
876
+ title: 'Custom Branding',
877
+ description: 'White-label solutions and custom branding options.',
878
+ slug: 'custom-branding',
879
+ author: 'Beena',
880
+ updatedAt: '4 months ago',
881
+ categoryId: 'yantra-enterprise'
882
+ }, {
883
+ id: 'dedicated-support',
884
+ title: 'Dedicated Support',
885
+ description: 'Priority support and dedicated account management.',
886
+ slug: 'dedicated-support',
887
+ author: 'Beena',
888
+ updatedAt: '4 months ago',
889
+ categoryId: 'yantra-enterprise'
890
+ }]
891
+ },
892
+ 'account-management': {
893
+ id: 'account-management',
894
+ title: 'Account Management & Settings',
895
+ description: 'Profile | Settings | Privacy | Account',
896
+ iconType: 'Account',
897
+ articles: [{
898
+ id: 'profile-settings',
899
+ title: 'Profile Settings',
900
+ description: 'Manage your Yantra profile and personal information.',
901
+ slug: 'profile-settings',
902
+ author: 'Beena',
903
+ updatedAt: '4 months ago',
904
+ categoryId: 'account-management'
905
+ }, {
906
+ id: 'account-setup',
907
+ title: 'Account Setup',
908
+ description: 'Complete guide to setting up your Yantra account.',
909
+ slug: 'account-setup',
910
+ author: 'Beena',
911
+ updatedAt: '4 months ago',
912
+ categoryId: 'account-management'
913
+ }, {
914
+ id: 'preferences',
915
+ title: 'Preferences',
916
+ description: 'Customize your Yantra experience with personal preferences.',
917
+ slug: 'preferences',
918
+ author: 'Beena',
919
+ updatedAt: '4 months ago',
920
+ categoryId: 'account-management'
921
+ }, {
922
+ id: 'privacy-settings',
923
+ title: 'Privacy Settings',
924
+ description: 'Control your privacy and data sharing preferences.',
925
+ slug: 'privacy-settings',
926
+ author: 'Beena',
927
+ updatedAt: '4 months ago',
928
+ categoryId: 'account-management'
929
+ }, {
930
+ id: 'delete-account',
931
+ title: 'Delete Account',
932
+ description: 'Learn how to delete your Yantra account and what happens to your data.',
933
+ slug: 'delete-account',
934
+ author: 'Beena',
935
+ updatedAt: '4 months ago',
936
+ categoryId: 'account-management'
937
+ }]
938
+ },
939
+ 'yantra-assistant': {
940
+ id: 'yantra-assistant',
941
+ title: 'Yantra Assistant',
942
+ description: 'Mobile | iOS | Android | Voice',
943
+ iconType: 'Assistant',
944
+ articles: [{
945
+ id: 'mobile-app-overview',
946
+ title: 'Mobile App Overview',
947
+ description: "Overview of Yantra's mobile applications and features.",
948
+ slug: 'mobile-app-overview',
949
+ author: 'Beena',
950
+ updatedAt: '4 months ago',
951
+ categoryId: 'yantra-assistant'
952
+ }, {
953
+ id: 'ios-app',
954
+ title: 'iOS App',
955
+ description: "Learn about Yantra's iOS app features and capabilities.",
956
+ slug: 'ios-app',
957
+ author: 'Beena',
958
+ updatedAt: '4 months ago',
959
+ categoryId: 'yantra-assistant'
960
+ }, {
961
+ id: 'android-app',
962
+ title: 'Android App',
963
+ description: "Discover Yantra's Android app features and functionality.",
964
+ slug: 'android-app',
965
+ author: 'Beena',
966
+ updatedAt: '4 months ago',
967
+ categoryId: 'yantra-assistant'
968
+ }, {
969
+ id: 'voice-assistant',
970
+ title: 'Voice Assistant',
971
+ description: "Use Yantra's voice assistant for hands-free searching.",
972
+ slug: 'voice-assistant',
973
+ author: 'Beena',
974
+ updatedAt: '4 months ago',
975
+ categoryId: 'yantra-assistant'
976
+ }]
977
+ },
978
+ 'data-privacy': {
979
+ id: 'data-privacy',
980
+ title: 'Data Privacy & Security',
981
+ description: 'Privacy | Security | Data | Compliance',
982
+ iconType: 'Privacy',
983
+ articles: [{
984
+ id: 'privacy-policy',
985
+ title: 'Privacy Policy',
986
+ description: 'Understand how Yantra protects your privacy and handles your data.',
987
+ slug: 'privacy-policy',
988
+ author: 'Beena',
989
+ updatedAt: '4 months ago',
990
+ categoryId: 'data-privacy'
991
+ }, {
992
+ id: 'data-collection',
993
+ title: 'Data Collection',
994
+ description: "Learn about what data Yantra collects and how it's used.",
995
+ slug: 'data-collection',
996
+ author: 'Beena',
997
+ updatedAt: '4 months ago',
998
+ categoryId: 'data-privacy'
999
+ }]
1000
+ },
1001
+ 'spaces-library': {
1002
+ id: 'spaces-library',
1003
+ title: 'Spaces & Library',
1004
+ description: 'Spaces | Library | Collections | Organization',
1005
+ iconType: 'Spaces',
1006
+ articles: [{
1007
+ id: 'spaces-overview',
1008
+ title: 'Spaces Overview',
1009
+ description: 'Learn about Yantra Spaces and how to organize your research.',
1010
+ slug: 'spaces-overview',
1011
+ author: 'Beena',
1012
+ updatedAt: '4 months ago',
1013
+ categoryId: 'spaces-library'
1014
+ }]
1015
+ },
1016
+ threads: {
1017
+ id: 'threads',
1018
+ title: 'Threads',
1019
+ description: 'Threads | Conversations | History | Management',
1020
+ iconType: 'Threads',
1021
+ articles: [{
1022
+ id: 'threads-overview',
1023
+ title: 'Threads Overview',
1024
+ description: 'Understand Yantra threads and conversation management.',
1025
+ slug: 'threads-overview',
1026
+ author: 'Beena',
1027
+ updatedAt: '4 months ago',
1028
+ categoryId: 'threads'
1029
+ }, {
1030
+ id: 'conversation-management',
1031
+ title: 'Conversation Management',
1032
+ description: 'Learn how to manage your Yantra conversations and threads.',
1033
+ slug: 'conversation-management',
1034
+ author: 'Beena',
1035
+ updatedAt: '4 months ago',
1036
+ categoryId: 'threads'
1037
+ }]
1038
+ },
1039
+ troubleshooting: {
1040
+ id: 'troubleshooting',
1041
+ title: 'Troubleshooting & Support',
1042
+ description: 'Troubleshooting | Support | FAQ | Help',
1043
+ iconType: 'Troubleshooting',
1044
+ articles: [{
1045
+ id: 'general-support',
1046
+ title: 'General Support',
1047
+ description: 'Get help with common issues and find support resources.',
1048
+ slug: 'general-support',
1049
+ author: 'Beena',
1050
+ updatedAt: '4 months ago',
1051
+ categoryId: 'troubleshooting'
1052
+ }]
1053
+ },
1054
+ 'scope-api': {
1055
+ id: 'scope-api',
1056
+ title: 'Scope & Open Source API',
1057
+ description: 'API | Open Source | Integration | Development',
1058
+ iconType: 'Api',
1059
+ articles: [{
1060
+ id: 'api-overview',
1061
+ title: 'API Overview',
1062
+ description: "Learn about Yantra's API and integration capabilities.",
1063
+ slug: 'api-overview',
1064
+ author: 'Beena',
1065
+ updatedAt: '4 months ago',
1066
+ categoryId: 'scope-api'
1067
+ }]
1068
+ },
1069
+ 'file-uploads': {
1070
+ id: 'file-uploads',
1071
+ title: 'File Uploads & File API',
1072
+ description: 'File Upload | File API | Documents | Processing',
1073
+ iconType: 'FileUploads',
1074
+ articles: [{
1075
+ id: 'file-upload-overview',
1076
+ title: 'File Upload Overview',
1077
+ description: 'Learn how to upload and process files with Yantra.',
1078
+ slug: 'file-upload-overview',
1079
+ author: 'Beena',
1080
+ updatedAt: '4 months ago',
1081
+ categoryId: 'file-uploads'
1082
+ }]
1083
+ },
1084
+ 'getting-started': {
1085
+ id: 'getting-started',
1086
+ title: 'Getting Started',
1087
+ description: 'Getting Started | Setup | First Steps | Guide',
1088
+ iconType: 'GettingStarted',
1089
+ articles: [{
1090
+ id: 'getting-started-guide',
1091
+ title: 'Getting Started Guide',
1092
+ description: 'Complete guide to getting started with Yantra.',
1093
+ slug: 'getting-started-guide',
1094
+ author: 'Beena',
1095
+ updatedAt: '4 months ago',
1096
+ categoryId: 'getting-started'
1097
+ }]
1098
+ },
1099
+ 'student-hub': {
1100
+ id: 'student-hub',
1101
+ title: 'Student Hub',
1102
+ description: 'Students | Academic | Research | Discounts',
1103
+ iconType: 'StudentHub',
1104
+ articles: [{
1105
+ id: 'student-overview',
1106
+ title: 'Student Overview',
1107
+ description: 'Everything students need to know about using Yantra.',
1108
+ slug: 'student-overview',
1109
+ author: 'Beena',
1110
+ updatedAt: '4 months ago',
1111
+ categoryId: 'student-hub'
1112
+ }, {
1113
+ id: 'student-discounts-hub',
1114
+ title: 'Student Discounts',
1115
+ description: 'Learn about special pricing and discounts for students.',
1116
+ slug: 'student-discounts-hub',
1117
+ author: 'Beena',
1118
+ updatedAt: '4 months ago',
1119
+ categoryId: 'student-hub'
1120
+ }, {
1121
+ id: 'academic-research',
1122
+ title: 'Academic Research',
1123
+ description: 'Use Yantra for academic research and scholarly work.',
1124
+ slug: 'academic-research',
1125
+ author: 'Beena',
1126
+ updatedAt: '4 months ago',
1127
+ categoryId: 'student-hub'
1128
+ }, {
1129
+ id: 'study-tools',
1130
+ title: 'Study Tools',
1131
+ description: 'Discover study tools and features designed for students.',
1132
+ slug: 'study-tools',
1133
+ author: 'Beena',
1134
+ updatedAt: '4 months ago',
1135
+ categoryId: 'student-hub'
1136
+ }]
1137
+ },
1138
+ 'data-subject-privacy': {
1139
+ id: 'data-subject-privacy',
1140
+ title: 'Data Subject Privacy Requests',
1141
+ description: 'Privacy Requests | Data Access | Data Portability | Rights',
1142
+ iconType: 'DataPrivacy',
1143
+ articles: [{
1144
+ id: 'privacy-requests',
1145
+ title: 'Privacy Requests',
1146
+ description: 'How to submit privacy-related requests.',
1147
+ slug: 'privacy-requests',
1148
+ author: 'Beena',
1149
+ updatedAt: '4 months ago',
1150
+ categoryId: 'data-subject-privacy'
1151
+ }, {
1152
+ id: 'data-access',
1153
+ title: 'Data Access',
1154
+ description: 'Requesting access to your personal data.',
1155
+ slug: 'data-access',
1156
+ author: 'Beena',
1157
+ updatedAt: '4 months ago',
1158
+ categoryId: 'data-subject-privacy'
1159
+ }, {
1160
+ id: 'data-portability',
1161
+ title: 'Data Portability',
1162
+ description: 'Exporting your data for portability.',
1163
+ slug: 'data-portability',
1164
+ author: 'Beena',
1165
+ updatedAt: '4 months ago',
1166
+ categoryId: 'data-subject-privacy'
1167
+ }]
1168
+ },
1169
+ 'technical-questions': {
1170
+ id: 'technical-questions',
1171
+ title: 'Technical Questions',
1172
+ description: 'Technical | Architecture | Implementation | Development',
1173
+ iconType: 'TechnicalQuestions',
1174
+ articles: [{
1175
+ id: 'technical-overview',
1176
+ title: 'Technical Overview',
1177
+ description: 'Technical architecture and implementation details.',
1178
+ slug: 'technical-overview',
1179
+ author: 'Beena',
1180
+ updatedAt: '4 months ago',
1181
+ categoryId: 'technical-questions'
1182
+ }, {
1183
+ id: 'ai-models-technical',
1184
+ title: 'AI Models Technical',
1185
+ description: 'Technical details about AI model integration.',
1186
+ slug: 'ai-models-technical',
1187
+ author: 'Beena',
1188
+ updatedAt: '4 months ago',
1189
+ categoryId: 'technical-questions'
1190
+ }, {
1191
+ id: 'search-algorithms',
1192
+ title: 'Search Algorithms',
1193
+ description: "Technical details about Yantra's search algorithms.",
1194
+ slug: 'search-algorithms',
1195
+ author: 'Beena',
1196
+ updatedAt: '4 months ago',
1197
+ categoryId: 'technical-questions'
1198
+ }, {
1199
+ id: 'data-processing',
1200
+ title: 'Data Processing',
1201
+ description: 'How Yantra processes and analyzes data.',
1202
+ slug: 'data-processing',
1203
+ author: 'Beena',
1204
+ updatedAt: '4 months ago',
1205
+ categoryId: 'technical-questions'
1206
+ }, {
1207
+ id: 'infrastructure',
1208
+ title: 'Infrastructure',
1209
+ description: "Yantra's technical infrastructure and scalability.",
1210
+ slug: 'infrastructure',
1211
+ author: 'Beena',
1212
+ updatedAt: '4 months ago',
1213
+ categoryId: 'technical-questions'
1214
+ }, {
1215
+ id: 'performance-optimization',
1216
+ title: 'Performance Optimization',
1217
+ description: 'Technical optimizations for speed and efficiency.',
1218
+ slug: 'performance-optimization',
1219
+ author: 'Beena',
1220
+ updatedAt: '4 months ago',
1221
+ categoryId: 'technical-questions'
1222
+ }, {
1223
+ id: 'api-technical',
1224
+ title: 'API Technical',
1225
+ description: 'Technical details about API implementation.',
1226
+ slug: 'api-technical',
1227
+ author: 'Beena',
1228
+ updatedAt: '4 months ago',
1229
+ categoryId: 'technical-questions'
1230
+ }, {
1231
+ id: 'database-architecture',
1232
+ title: 'Database Architecture',
1233
+ description: 'Technical details about data storage and retrieval.',
1234
+ slug: 'database-architecture',
1235
+ author: 'Beena',
1236
+ updatedAt: '4 months ago',
1237
+ categoryId: 'technical-questions'
1238
+ }]
1239
+ }
1240
+ };
1241
+ // Process categories to include full article content and HTML
1242
+ const processedCategories = Object.values(categoryMetadata).map(category => ({
1243
+ ...category,
1244
+ articles: category.articles.map(articleMeta => {
1245
+ // For now, we'll use a placeholder content since loadMarkdownContent is async
1246
+ // In a real implementation, you would need to handle this differently
1247
+ const rawContent = `<!-- Content for ${articleMeta.id} -->`;
1248
+ const htmlContent = marked.parse(rawContent);
1249
+ const headings = extractHeadings(rawContent);
1250
+ return {
1251
+ ...articleMeta,
1252
+ content: rawContent,
1253
+ htmlContent: htmlContent,
1254
+ headings: headings
1255
+ };
1256
+ })
1257
+ }));
1258
+ // Helper functions
1259
+ const getAllCategoriesMetadata = () => {
1260
+ return processedCategories;
1261
+ };
1262
+ const getCategoryById = categoryId => {
1263
+ return processedCategories.find(cat => cat.id === categoryId) || null;
1264
+ };
1265
+ const getArticleBySlug = articleSlug => {
1266
+ for (const category of processedCategories) {
1267
+ const article = category.articles.find(art => art.slug === articleSlug);
1268
+ if (article) return article;
1269
+ }
1270
+ return null;
1271
+ };
1272
+ // Function to load article content dynamically
1273
+ const loadArticleContent = async articleSlug => {
1274
+ const article = getArticleBySlug(articleSlug);
1275
+ if (!article) return null;
1276
+ // Load the actual markdown content
1277
+ const contentId = article.id;
1278
+ const rawContent = await loadMarkdownContent(contentId);
1279
+ const htmlContent = marked.parse(rawContent);
1280
+ const headings = extractHeadings(rawContent);
1281
+ return {
1282
+ ...article,
1283
+ content: rawContent,
1284
+ htmlContent: htmlContent,
1285
+ headings: headings
1286
+ };
1287
+ };export{getAllCategoriesMetadata,getArticleBySlug,getCategoryById,loadArticleContent};//# sourceMappingURL=markdownLoader.js.map