import re


def refactor_markdown_headings(input_filename, output_filename):
    """
    Refactors Markdown headings in the input file to a more logical H1-H5
    structure and writes the result to the output file.

    Args:
        input_filename: Path to the input Markdown file.
        output_filename: Path to the output Markdown file.
    """

    heading_changes = {
        "# Document360": "# Document360 Overview",  # Main title.  More descriptive
        "## 1. What is Document360?": "## Introduction",
        "## 2. Knowledge base portal": "## Key Components: Knowledge Base Portal",
        "## 3. Table of Contents": "## Documentation Guide: Table of Contents",  # Context
        "## 4. My projects": "## Project Management: My Projects",  # Sectional Context
        "## 5. Other Resources": "## Additional Resources and Support",  # clearer, more standard name
        "## 6. Document360 AI - Eddy AI": "## AI Integration: Document360 AI (Eddy AI)",
        "## 7. Sign up to Document360": "## Getting Started: Account Creation",  # Standard section header
        "## 8. Knowledge base site": "## Key Components: Knowledge Base Site",
        "## 9. Recommended": "## System and Browser Requirements",  # Renamed section
        "## 10. Troubleshooting": "## Troubleshooting and Support",  # Broader
        "### 11.1. System Requirements": "### Hardware Requirements",
        "### 11.2. Browser Requirements": "### Software Requirements",
        "### 11.3. Additional Notes": "### Additional Requirements",
        "## 12. **Signing Up to Document360**": "## Getting Started: Signing Up",
        "## 13. Navigating the 'Your projects' page": "## Project Management: Navigating 'Your Projects'",  # More Descriptive.
        "## 14. Project dashboard": "## Project Management: Project Dashboard",  # Consistent
        "## 15. Accessing profile options": "## User Profile: Accessing Profile Options",  # Context added
        "## 16. Top-right menu overview": "## User Interface: Top-Right Menu",
        "## 17. Release updates": "## Updates and Releases",
        "## 18. Key features in the top-right menu": "## User Interface: Top-Right Menu Features",  # Consistency with 16.
        "## 19. Help menu": "## User Interface: Help Menu",  # Consistency
        "## 20. Switching between Document360 projects": "## Project Management: Switching Projects",  # Context
        "### 20.1. Step-by-Step Guide to Creating a Knowledge Base Project in Document360": "### Creating a New Knowledge Base Project",  # Remove step by step
        "## 21. Creating a project in Document360": "## Project Management: Project Creation",
        "## 22. Overview tab": "## Project Management: Overview Tab",  # Consistency.
        "## 23. Multilingual Knowledge bases": "## Localization: Multilingual Knowledge Bases",  # Consistent
        "## 24. Dashboard": "## Project Dashboard",
        "## 25. My contribution tab": "## User Contributions: My Contribution Tab",
        "## 26. Creating a sandbox project": "## Project Management: Creating a Sandbox Project",
        "## 27. FAQ": "## Frequently Asked Questions (FAQ)",
        "## 28. Adding multiple languages to a single workspace": "## Localization: Adding Multiple Languages",
        "## 29. Quick summary - Security and infrastructure": "## Security and Infrastructure: Overview",
        "## 30. Document360 security and infrastructure": "## Security and Infrastructure",
        "## 31. Security information of integrations and partners": "## Security and Infrastructure: Integrations and Partners",
        "## 32. Best practices": "## Best Practices",
        "## 33. Business continuity and disaster recovery": "## Business Continuity and Disaster Recovery",
        "## 34. GDPR compliance": "## Compliance: GDPR",
        "## 35. X-Frame options": "## Security: X-Frame Options",
        "## 36. Help": "## Support and Help",  # More appropriate
        "## 37. Content security policy": "## Security: Content Security Policy (CSP)",
        "## 38. Enable the content security policy": "## Security: Enabling CSP",
        "## 39. Access X-Frame Options": "## Security: Configuring X-Frame Options",
        "## 40. Testing your content security policy settings": "## Security: Testing CSP Settings",
        "## 41. Bot management": "## Security: Bot Management",
        "## 42. Troubleshooting": "## Security: Troubleshooting CSP",
        "## 43. Bot management": "## Security: Understanding Bot Management",
        "## 44. CSP and Whitelisting guidelines for Document360 widget": "## Security: CSP and Whitelisting for Widgets",
        "## 45. Heuristics and Machine Learning Detection": "## Security: Bot Detection Methods",
        "## 46. User-Agent monitoring and IP/Port blocking": "## Security: Bot Blocking Techniques",
        "## 47. Types of bots": "## Security: Bot Categorization",
        "## 48. Fair usage policy details": "## Fair Usage Policy: Overview",
        "## 49. Fair usage policy for bot management": "## Fair Usage Policy: Bot Management Rules",
        "## 50. Rate limiting": "## Fair Usage Policy: Rate Limiting",
        "## 51. Editor choices in Document360": "## Content Creation: Editor Options",
        "## 52. Importance of compliance": "## Fair Usage Policy: Compliance",
        "## 53. Markdown editor": "## Content Creation: Markdown Editor",
        "## 54. WYSIWYG editor": "## Content Creation: WYSIWYG Editor",
        "## 55. Purpose of the policy": "## Fair Usage Policy: Purpose",
        "## 56. Switching between Markdown - WYSIWYG - Advanced WYSIWYG editor": "## Content Creation: Switching Editors",
        "## 57. Advanced WYSIWYG editor": "## Content Creation: Advanced WYSIWYG Editor",
        "## 58. Elements of the editor": "## Content Creation: Editor Interface",
        "## 59. Markdown editor": "## Content Creation: Using the Markdown Editor",  # More descriptive
        "## 60. Left navigation bar: Category tree manager": "## User Interface: Left Navigation Bar",
        "## 61. Article editor's header section": "## Content Creation: Article Editor Header",
        "## 62. Related blogs": "## Related Resources",
        "## 63. Using Markdown in your Knowledge base": "## Content Creation: Markdown Usage",
        "## 64. Markdown toolbar": "## Content Creation: Markdown Toolbar Features",
        "## 65. Heading levels": "## Content Creation: Markdown - Heading Levels",
        "## 66. Styling text": "## Content Creation: Markdown - Styling Text",
        "## 67. Basic Markdown syntax": "## Content Creation: Markdown - Basic Syntax",
        "## 68. Markdown Commands": "## Content Creation: Markdown - Commands",
        "## 69. Horizontal line": "## Content Creation: Markdown - Horizontal Line",
        "## 70. Lists": "## Content Creation: Markdown - Lists",
        "## 71. Links and blockquotes": "## Content Creation: Markdown - Links and Blockquotes",
        "## 72. Emoji usage": "## Content Creation: Markdown - Emoji Usage",
        "## 73. More elements": "## Content Creation: Markdown - Additional Elements",
        "## 74. Using Unicode characters in the Markdown editor": "## Content Creation: Markdown - Unicode Characters",
        "## 75. Quick tips for beginners": "## Content Creation: Markdown - Beginner Tips",
        "## 76. WYSIWYG editor": "## Content Creation: Using the WYSIWYG Editor",
        "## 77. WYSIWYG toolbar": "## Content Creation: WYSIWYG Toolbar",
        "## 78. Example: Creating a simple article": "## Content Creation: Example - Creating an Article",
        "## 79. Heading 2": "## Content Creation: WYSIWYG - Heading 2",  # Specific, descriptive
        "## 80. Using Advanced WYSIWYG editor": "## Content Creation: Advanced WYSIWYG - Usage",
        "## 81. Advanced WYSIWYG editor": "## Content Creation: Advanced WYSIWYG Editor Overview",
        "## 82. Toolbar": "## Content Creation: Advanced WYSIWYG - Toolbar",
        "## 83. When, Where, and Why to Use the WYSIWYG Editor": "## Content Creation: Choosing the WYSIWYG Editor",
        "## 84. Advanced WYSIWYG editor basics": "## Content Creation: Advanced WYSIWYG - Basics",
        "## 85. Typography": "## Content Creation: Advanced WYSIWYG - Typography",
        "## 86. Keyboard shortcuts overview": "## Content Creation: Advanced WYSIWYG - Keyboard Shortcuts",
        "## 87. Unsupported markdown syntax": "## Content Creation: Advanced WYSIWYG - Unsupported Syntax",
        "## 88. Conditional content blocks in Advanced WYSIWYG editor": "## Content Creation: Advanced WYSIWYG - Conditional Blocks",
        "## 89. Movable blocks in Advanced WYSIWYG editor": "## Content Creation: Advanced WYSIWYG - Movable Blocks",
        "## 90. Creating a table": "## Content Creation: Advanced WYSIWYG - Creating Tables",
        "## 91. Set up **conditional content blocks**": "## Content Creation: Advanced WYSIWYG - Setting Up Conditional Blocks",
        "## 92. Tables in Advanced WYSIWYG editor": "## Content Creation: Advanced WYSIWYG - Table Overview",
        "## 93. Customizing table appearance": "## Content Creation: Advanced WYSIWYG - Customizing Tables",
        "## 94. Formatting table content": "## Content Creation: Advanced WYSIWYG - Formatting Table Content",
        "## 95. Image formatting in the Advanced WYSIWYG editor": "## Content Creation: Advanced WYSIWYG - Image Formatting",
        "## 96. Editing tabs": "## Content Creation: Advanced WYSIWYG - Editing Tabs",
        "## 97. Customizing tabs": "## Content Creation: Advanced WYSIWYG - Customizing Tabs",
        "## 98. Tabs in the Advanced WYSIWYG editor": "## Content Creation: Advanced WYSIWYG - Tabs Overview",
        "## 99. Viewing tabs in the Knowledge base site": "## Content Creation: Advanced WYSIWYG - Tabs on Site",
        "## 100. Creating tabs": "## Content Creation: Advanced WYSIWYG - Creating Tabs",
        "## 101. Categories and subcategories": "## Content Organization: Categories and Subcategories",
        "## 102. Creating a category": "## Content Organization: Creating a Category",
        "## 103. Changing category icon": "## Content Organization: Changing Category Icons",
        "## 104. Managing categories": "## Content Organization: Managing Categories",
        "## 105. Hiding and unhiding a category": "## Content Organization: Hiding and Unhiding Categories",
        "## 106. Renaming a category": "## Content Organization: Renaming a Category",
        "## 107. Deleting a category": "## Content Organization: Deleting a Category",
        "## 108. Cloning a category": "## Content Organization: Cloning a Category",
        "## 109. Category types": "## Content Organization: Understanding Category Types",
        "## 110. Starring a category": "## Content Organization: Starring a Category",
        "## 111. Moving a category": "## Content Organization: Moving a Category",
        "## 112. What is a 'Drive folder mapping'?": "## Content Organization: Drive Folder Mapping",
        "## 113. Types of categories": "## Content Organization: Types of Categories",
        "## 114. Associating a Drive folder to a category": "## Content Organization: Linking Drive Folders",
        "## 115. Mapping a category with a folder in Drive": "## Content Organization: Category-Drive Mapping",
        "## 116. Downloading category and article in KB site": "## Content Export: Downloading Categories and Articles",
        "## 117. Creating an article": "## Content Creation: Creating an Article",
        "## 118. Managing articles": "## Content Management: Managing Articles",
        "## 119. Locking an article": "## Content Management: Locking Articles",
        "## 120. Creating article templates": "## Content Management: Creating Article Templates",
        "## 121. Deleting an article": "## Content Management: Deleting Articles",
        "## 122. Renaming an article": "## Content Management: Renaming Articles",
        "## 123. Moving an article": "## Content Management: Moving Articles",
        "## 124. Editing an article": "## Content Management: Editing Articles",
        "## 125. Replicating an article": "## Content Management: Replicating Articles",
        "## 126. Hiding and Unhiding an article": "## Content Management: Hiding and Unhiding Articles",
        "## 127. Word .docx files": "## Content Import: Importing Word Files",  # Consistent.
        "## 128. Cloning an article": "## Content Management: Cloning Articles",
        "## 129. Importing Word files": "## Content Import: Importing Word Files",
        "## 130. Troubleshooting": "## Content Import: Troubleshooting Word Imports",
        "## 131. Publishing from the editor": "## Content Publishing: Publishing from the Editor",
        "## 132. Publishing articles in bulk": "## Content Publishing: Bulk Publishing",
        "## 133. Publishing an article": "## Content Publishing: Publishing Process",
        "## 134. Determining editors while importing .docx files": "## Content Import: Choosing Editors for .docx Import",
        "## 135. Adding inline comments to an article": "## Collaboration: Adding Inline Comments",
        "## 136. Adding images to articles": "## Content Enhancement: Adding Images",
        "## 137. Reviewing an article using Inline comments": "## Collaboration: Article Review with Comments",
        "## 138. Inserting an image in the Markdown editor": "## Content Enhancement: Inserting Images - Markdown",
        "## 139. Inserting an image in the Advanced WYSIWYG editor": "## Content Enhancement: Inserting Images - Advanced WYSIWYG",
        "## 140. Managing comments": "## Collaboration: Managing Comments",
        "## 141. Adding videos in articles": "## Content Enhancement: Adding Videos",
        "## 142. Insert a video in Advanced WYSIWYG editor": "## Content Enhancement: Inserting Videos - Advanced WYSIWYG",
        "## 143. **Troubleshooting**": "## Content Enhancement: Troubleshooting Broken Images",
        "## 144. Insert a video in the Markdown editor": "## Content Enhancement: Inserting Videos - Markdown",
        "## 145. Adding files to articles": "## Content Enhancement: Adding Files",
        "## 146. Adding hyperlinks": "## Content Enhancement: Adding Hyperlinks",
        "## 147. Adding files to article": "## Content Enhancement: Adding Files to Articles",
        "## 148. Editing or unlinking a hyperlink": "## Content Enhancement: Managing Hyperlinks",
        "## 149. Adding hyperlinks to an article": "## Content Enhancement: Adding Hyperlinks - Process",
        "## 150. Attaching files to articles": "## Content Enhancement: Attaching Files to Articles",
        "## 151. Bookmark links inside articles/page categories": "## Content Enhancement: Creating Bookmark Links",
        "## 152. **Effect of Machine translation on Hyperlinks**": "## Localization: Machine Translation and Hyperlinks",
        "## 153. Adding an Email link to an article": "## Content Enhancement: Adding Email Links",
        "## 154. Code blocks": "## Content Formatting: Code Blocks",
        "## 155. Effect of changing an article heading on Hyperlinks": "## Content Management: Heading Changes and Hyperlinks",
        "## 156. Creating code blocks in the Markdown editor": "## Content Formatting: Code Blocks - Markdown",
        "## 157. Creating code blocks in the Advanced WYSIWYG editor": "## Content Formatting: Code Blocks - Advanced WYSIWYG",
        "## 158. Using private notes": "## Collaboration: Using Private Notes",
        "## 159. Adding private notes": "## Collaboration: Adding Private Notes",
        "## 160. Creating code blocks in the WYSIWYG (HTML) editor": "## Content Formatting: Code Blocks - WYSIWYG",
        "## 161. Private note in the WYSIWYG editor": "## Collaboration: Private Notes - WYSIWYG",
        "## 162. Embedding Stream videos in articles": "## Content Enhancement: Embedding Stream Videos",
        "## 163. Private notes in the Markdown editor": "## Collaboration: Private Notes - Markdown",
        "## 164. Embedding SharePoint Stream videos": "## Content Enhancement: Embedding SharePoint Videos",
        "## 165. Private note in the Advanced WYSIWYG editor": "## Collaboration: Private Notes - Advanced WYSIWYG",
        "## 166. Embedding Google forms in articles": "## Content Enhancement: Embedding Google Forms",
        "## 167. Embedding a Draw.io diagram": "## Content Enhancement: Embedding Draw.io Diagrams",
        "## 168. Embedding Google forms": "## Content Enhancement: Embedding Google Forms",
        "## 169. Embedding Microsoft Stream videos in article": "## Content Enhancement: Embedding Stream Videos",
        "## 170. All articles - Overview page": "## Content Management: All Articles Overview",
        "## 171. Managing multiple articles with the All articles feature": "## Content Management: Bulk Actions with All Articles",
        "## 172. Using filters in All articles page": "## Content Management: Filtering in All Articles",
        "## 173. Embedding a Draw.io diagram": "## Content Enhancement: Embedding Draw.io Diagrams",  # Dupe.
        "## 174. Accessing 'All articles' filters": "## Content Management: Accessing All Articles Filters",
        "## 175. Exporting All articles": "## Content Management: Exporting All Articles",
        "## 176. Article review reminder": "## Content Management: Review Reminders",
        "## 177. Clear filters": "## Content Management: Clearing Filters",
        "## 178. Export All articles list": "## Content Management: Exporting Article Lists",
        "## 179. FAQ(s)": "## Content Management: Review Reminder FAQs",
        "## 180. Article SEO": "## Content Optimization: Article SEO",
        "## 181. Review reminder": "## Content Management: Setting Review Reminders",
        "## 182. Marking multiple articles as Reviewed or Needs review": "## Content Management: Bulk Review Status Updates",
        "## 183. Excluding articles from search engines": "## Content Optimization: Excluding Articles from Search",
        "## 184. Adding SEO title and description": "## Content Optimization: Adding SEO Metadata",
        "## 185. Excluding articles from external search engines": "## Content Optimization: Excluding from External Search",
        "## 186. Excluding articles from Search results and Eddy AI assistive search": "## Content Optimization: Excluding from Internal Search",
        "## 187. Changing the slug of an article": "## Content Management: Changing Article Slugs",
        "## 188. Change the URL of an article": "## Content Management: Changing Article URLs",
        "## 189. Article tags": "## Content Organization: Article Tags",
        "## 190. Adding tags to an article or category page": "## Content Organization: Adding Tags",
        "## 191. Related articles": "## Content Navigation: Related Articles",
        "## 192. Adding Related articles": "## Content Navigation: Adding Related Articles",
        "## 193. Add article labels": "## Content Organization: Article Labels",
        "## 194. Adding labels to articles": "## Content Organization: Adding Labels",
        "## 195. Adding a featured image to an article": "## Content Enhancement: Adding Featured Images",
        "## 196. Featured image": "## Content Enhancement: Featured Image Overview",
        "## 197. Adding attachments to an article": "## Content Enhancement: Adding Attachments",
        "## 198. Status indicator": "## Content Status: Status Indicators",
        "## 199. Attachments": "## Content Enhancement: Attachment Support by Plan",  # Specific, descriptive
        '## 200. Manually updating the "Status indicator" for an article': "## Content Status: Manual Status Updates",
        "## 201. Knowledge base site view": "## User Interface: Knowledge Base Site View",
        "## 202. Article status": "## Content Status: Understanding Article Status",
        "## 203. Article status in the Knowledge base portal": "## Content Status: Article Statuses",
        "## 204. Preferences": "## Content Preferences: Plan-Based Options",
        '## 205. Automatic "Status indicator" update': "## Content Status: Automatic Status Updates",
        "## 206. Article status of hidden articles": "## Content Status: Hidden Article Status",
        "## 207. Show/hide table of contents for an article": "## Content Structure: Managing Table of Contents",
        "## 208. What is a deprecated article?": "## Content Status: Deprecated Articles",
        "## 209. Mark as deprecated": "## Content Status: Marking Articles as Deprecated",
        "## 210. Updating the preferences for an article": "## Content Customization: Article Preferences",
        "## 211. Marking multiple articles as deprecated": "## Content Status: Bulk Deprecation",
        "## 212. Marking an article as deprecated": "## Content Status: Marking Articles as Deprecated",
        "## 213. Schedule publishing": "## Content Publishing: Scheduled Publishing",
        "## 214. Update article contributors": "## Content Management: Updating Contributors",
        "## 215. Setting up schedule publishing": "## Content Publishing: Setting Up Scheduled Publishing",
        "## 216. Adding or deleting contributors": "## Content Management: Managing Contributors",
        "## 217. Editing a schedule publication": "## Content Publishing: Editing Scheduled Publications",
        "## 218. Schedule publishing on multiple article": "## Content Publishing: Bulk Scheduled Publishing",
        "## 219. Cancel schedule publishing": "## Content Publishing: Cancelling Scheduled Publishing",
        "## 220. Discussion feed": "## Collaboration: Discussion Feed",
        "## 221. Delete from feed": "## Collaboration: Deleting from Discussion Feed",
        "## 222. FAQ (s)": "## Collaboration: Discussion Feed FAQs",
        "## 223. Article revision": "## Content Management: Article Revisioning",
        "## 224. Creating an article version": "## Content Management: Creating Article Versions",
        "## 225. Revision history": "## Content Management: Revision History Features",
        "## 226. Comparing article versions": "## Content Management: Comparing Article Versions",
        "## 227. Article analytics": "## Analytics: Article Analytics",
        "## 228. Article revision actions": "## Content Management: Article Revision Actions",
        "## 229. Security - Article access control": "## Security: Article Access Control",
        "## 230. Health check metrics": "## Content Optimization: Health Check Metrics",
        "## 231. Accessing article analytics": "## Analytics: Accessing Article Analytics",
        "## 232. SEO metrics": "## Content Optimization: SEO Metrics",
        "## 233. Accessing the Article access control": "## Security: Managing Article Access Control",
        "## 234. Readability score": "## Content Optimization: Readability Score",
        "## 235. Checking the readability score": "## Content Optimization: Checking Readability",
        "## 236. Accessing health check metrics": "## Content Optimization: Accessing Health Check Metrics",
        "## 237. Readability metrics": "## Content Optimization: Understanding Readability Metrics",
        "## 238. Accessing the Sitemap in Document360": "## SEO: Accessing the Sitemap",
        "## 239. Public article comments": "## Collaboration: Public Article Comments",
        "## 240. Sitemap": "## SEO: Sitemap Support by Plan",
        "## 241. Robots.txt": "## SEO: Robots.txt Support",  # Presume it's about support, since there's no info
        "## 242. What is a Robots.txt file?": "## SEO: Understanding Robots.txt",
        "## 243. Read receipt": "## Content Management: Read Receipts",
        "## 244. Enabling comments on a public article": "## Collaboration: Enabling Public Comments",
        "## 245. Managing Read receipts in the Knowledge base portal": "## Content Management: Managing Read Receipts",
        "## 246. Accessing Robots.txt in Document360": "## SEO: Managing Robots.txt",
        "## 247. Reader acknowledgement in the Knowledge base site": "## Content Management: Reader Acknowledgment",
        "## 248. **Read receipt page**": "## Content Management: Read Receipt Management Page",
        "## 249. Share articles via private link": "## Content Sharing: Private Article Links",
        "## 250. Acknowledgement required in the Knowledge base site": "## Content Management: Acknowledgment Tracking",
        "## 251. Eddy AI customization": "## AI Integration: Customizing Eddy AI",
        "## 252. Monitoring Read receipt in Analytics": "## Analytics: Monitoring Read Receipts",
        "## 253. Prerequisites for using machine translation": "## Localization: Machine Translation Prerequisites",
        "## 254. Using machine translation": "## Localization: Using Machine Translation",
        "## 255. AI machine translation": "## Localization: AI Machine Translation Overview",
        "## 256. Article translation status indicators": "## Localization: Translation Status Indicators",
        "## 257. Troubleshooting": "## Localization: Troubleshooting Machine Translation",
        "## 258. Understanding machine translation with real-time examples": "## Localization: Machine Translation Examples",
        "## 259. Compliance": "## AI Integration: Eddy AI Compliance",
        "## 260. Subprocessors": "## AI Integration: Eddy AI Subprocessors",
        "## 261. Eddy AI trust page": "## AI Integration: Eddy AI Trust and Transparency",
        "## 262. Data Security and Privacy": "## AI Integration: Eddy AI Data Security",
        "## 263. Data Privacy": "## AI Integration: Eddy AI Data Privacy",
        "## 264. Resources": "## Security: Information Security Policy Framework",
        "## 265. AI writer suite": "## AI Integration: AI Writer Suite",
        "## 266. Plan availability and usage limits": "## AI Integration: AI Writer - Plan Availability",
        "## 267. AI writer": "## AI Integration: AI Writer Overview",
        "## 268. Features in the AI writer suite": "## AI Integration: AI Writer Features",
        "## 269. Multilingual support for Eddy AI writer suite": "## AI Integration: AI Writer - Language Support",
        "## 270. Prerequisite": "## AI Integration: AI Writer - Prerequisites",
        "## 271. AI FAQ generator": "## AI Integration: AI FAQ Generator",
        "## 272. AI FAQ generator in Advanced WYSIWYG editor": "## AI Integration: AI FAQ Generator in Advanced WYSIWYG",
        "## 273. Accessing the AI writer actions": "## AI Integration: Using the AI Writer",
        "## 274. Using the article title recommender": "## AI Integration: AI Title Recommender",
        "## 275. AI title recommender": "## AI Integration: AI Title Recommender Overview",
        "## 276. Setting up the FAQ generator": "## AI Integration: Configuring the AI FAQ Generator",
        "## 277. AI SEO description generator": "## AI Integration: AI SEO Description Generator",
        "## 278. Using the SEO description generator": "## AI Integration: AI SEO Description Generator - Usage",
        "## 279. Prerequisites": "## AI Integration: AI SEO Description Generator - Prerequisites",
        "## 280. How to generate SEO descriptions for multiple articles/category pages?": "## AI Integration: Bulk SEO Description Generation",
        "## 281. AI tag recommender": "## AI Integration: AI Tag Recommender",
        "## 282. Best practices for content management": "## Content Management: Tagging Best Practices",
        "## 283. Accessing the AI related article recommender": "## AI Integration: Accessing AI Related Articles",
        "## 284. Accessing the recommended tags for an article": "## AI Integration: Accessing AI Tag Recommendations",
        "## 285. AI related articles recommender": "## AI Integration: AI Related Articles Overview",
        "## 286. Creating charts from text": "## AI Integration: Creating Charts from Text",
        "## 287. AI Chart generator": "## AI Integration: AI Chart Generator Overview",
        "## 288. Creating charts from tables": "## AI Integration: Creating Charts from Tables",
        "## 289. Prerequisites": "## AI Integration: AI Chart Generator - Prerequisites",
        "## 290. Customizing charts": "## AI Integration: Customizing Generated Charts",
        "## 291. AI alt text generator": "## AI Integration: AI Alt Text Generator",
        "## 292. File naming convention": "## AI Integration: AI Chart Generator - File Naming",
        "## 293. Supported chart types": "## AI Integration: AI Chart Generator - Supported Types",
        "## 294. Generating AI alt text while uploading an image in Drive": "## AI Integration: AI Alt Text in Drive",
        "## 295. AI search suite": "## AI Integration: AI Search Suite",
        "## 296. Generating AI alt Text in the Advanced WYSIWYG Editor": "## AI Integration: AI Alt Text in Editor",
        "## 297. Features in the AI search suite": "## AI Integration: AI Search Suite Features",
        "## 298. Try this feature": "## AI Integration: AI Alt Text Generator - Usage",
        "## 299. Plan availability and usage limits": "## AI Integration: AI Search - Plan Limits",
        "## 300. Multilingual support for Eddy AI search suite": "## AI Integration: AI Search - Language Support",
        "## 301. Enable Ask Eddy AI for your Knowledge base site": "## AI Integration: Enabling Ask Eddy AI",
        "## 302. Accessing Ask Eddy AI": "## AI Integration: Using Ask Eddy AI",
        "## 303. AI assistive search (Ask Eddy AI)": "## AI Integration: Ask Eddy AI Overview",
        "## 304. AI dynamic related articles recommendation": "## AI Integration: Dynamic Related Articles",
        "## 305. Dynamic related articles recommendation": "## AI Integration: Dynamic Related Articles Overview",
        "## 306. Integrating Eddy AI in KB Widget with multi-lingual support": "## AI Integration: Eddy AI in KB Widget",
        "## 307. Enabling Eddy AI credits notification": "## AI Integration: Eddy AI Credit Notifications",
        "## 308. Configuring the Eddy AI Chatbot": "## AI Integration: Eddy AI Chatbot Configuration",
        "## 309. AI Chatbot": "## AI Integration: Eddy AI Chatbot Overview",
        "## 310. Securing Chatbot authentication using JWT": "## AI Integration: Eddy AI Chatbot Security",
        "## 311. Styling the Eddy AI Chatbot": "## AI Integration: Eddy AI Chatbot Styling",
        "## 312. Accessing the Eddy AI Chatbot in the site": "## AI Integration: Using the Eddy AI Chatbot",
        "## 313. Styling the Chatbot": "## AI Integration: Eddy AI Chatbot Styling",
        "## 314. Adding external sources": "## AI Integration: Adding External Sources to Ask Eddy",
        "## 315. Manage source overview page": "## AI Integration: Managing External Sources",
        "## 316. Adding external sources for AI Assistive search": "## AI Integration: External Sources for AI Search",
        "## 317. Troubleshooting": "## AI Integration: Troubleshooting External Sources",
        "## 318. Knowledge base site view": "## AI Integration: External Source Display",
        "## 319. Ask Eddy AI API": "## AI Integration: Ask Eddy AI API",
        "## 320. AI article summarizer": "## AI Integration: AI Article Summarizer",
        "## 321. Enabling article summarizer": "## AI Integration: Enabling the Article Summarizer",
        "## 322. Try the Eddy AI Public API in our API docs": "## AI Integration: Using the Eddy AI API - API Docs",
        "## 323. Using the Public API": "## AI Integration: Using the Eddy AI Public API",
        "## 324. Enhancing accessibility with our read out loud feature": "## Accessibility: Read Out Loud Feature",
        "## 325. Try the Eddy AI Public API in Swagger": "## AI Integration: Using the Eddy AI API - Swagger",
        "## 326. FAQs": "## Accessibility: Read Out Loud - FAQs",
        "## 327. Features in the AI premium suite": "## AI Integration: AI Premium Suite",
        "## 328. AI glossary generator": "## AI Integration: AI Glossary Generator",
        "## 329. Using the read out loud feature": "## Accessibility: Using Read Out Loud",
        "## 330. AI premium suite": "## AI Integration: AI Premium Suite Overview",
        "## 331. FAQs": "## AI Integration: AI Glossary Generator - FAQs",
        "## 332. How to write GenAI friendly content": "## Content Optimization: Writing for GenAI",
        "## 333. Enabling the AI Glossary generator": "## AI Integration: Enabling AI Glossary Generator",
        "## 334. Accessing AI Glossary generator": "## AI Integration: Using the AI Glossary Generator",
        "## 335. Tips for enhancing knowledge base articles with Eddy AI": "## AI Integration: Enhancing Content with Eddy AI",
        "## 336. Best practices for prompt engineering with Eddy AI": "## AI Integration: Prompt Engineering Best Practices",
        "## 337. Prompt engineering tips": "## AI Integration: Prompt Engineering Tips",
        "## 338. Document360 Drive": "## File Management: Document360 Drive",
        "## 339. Adding folders and files": "## File Management: Adding Folders and Files",
        "## 340. File management": "## File Management: Storage Limits by Plan",  # Specific, descriptive
        "## 341. Use cases": "## AI Integration: Eddy AI Use Cases",
        "## 342. Adding a new folder": "## File Management: Adding New Folders",
        "## 343. System folders": "## File Management: Understanding System Folders",
        "## 344. Adding files": "## File Management: Adding Files to Drive",
        "## 345. Folder actions in Drive": "## File Management: Managing Folders in Drive",
        "## 346. Setting a folder as Default folder": "## File Management: Setting Default Folders",
        "## 347. File limits and file type restrictions": "## File Management: File Limits and Restrictions",
        "## 348. Troubleshooting": "## File Management: Troubleshooting Drive Issues",
        "## 349. Starred folders": "## File Management: Starring Folders",
        "## 350. Moving a folder": "## File Management: Moving Folders",
        "## 351. Renaming a folder": "## File Management: Renaming Folders",
        "## 352. Change folder color": "## File Management: Changing Folder Colors",
        "## 353. Folder breadcrumb": "## File Management: Folder Navigation",
        "## 354. File actions in Drive": "## File Management: File Actions",
        "## 355. Removing or deleting a folder": "## File Management: Deleting Folders",
        "## 356. Troubleshooting": "## File Management: Troubleshooting File Replacement",
        "## 357. Performing file actions in Drive": "## File Management: Performing File Actions",
        "## 358. All files overview": "## File Management: All Files View",
        "## 359. Recent, Starred, and Recycle bin files": "## File Management: Recent, Starred, and Deleted Files",
        "## 360. All files overview page": "## File Management: Managing All Files",
        "## 361. Recycle bin operations": "## File Management: Using the Recycle Bin",
        "## 362. Recently uploaded files and folders": "## File Management: Viewing Recent Uploads",
        "## 363. Why use workflow?": "## Workflow Management: Benefits of Workflow",
        "## 364. Workflow designer": "## Workflow Management: Workflow Designer Overview",
        "## 365. Starred folder and files": "## File Management: Starred Items and Recycle Bin",
        "## 366. Workflow designer": "## Workflow Management: Workflow Designer",
        "## 367. Troubleshooting": "## Workflow Management: Troubleshooting Workflow Issues",
        "## 368. eBook": "## Workflow Management: eBook - Documentation Workflow",
        "## 369. Workflow status": "## Workflow Management: Understanding Workflow Statuses",
        "## 370. Adding a new status": "## Workflow Management: Adding Workflow Statuses",
        "## 371. **eBook**": "## Workflow Management: eBook - Quality Documentation",
        "## 372. Managing workflow status": "## Workflow Management: Managing Workflow Statuses",
        "## 373. Workflow assignment": "## Workflow Management: Workflow Assignments",
        "## 374. Assign an article to a team member": "## Workflow Management: Assigning Articles",
        "## 375. Workflow status actions": "## Workflow Management: Workflow Status Actions",
        "## 376. eBook": "## Workflow Management: eBook - Documentation Workflow",  # Dupe with 368.
        "## 377. Templates": "## Content Templates: Overview",
        "## 378. Creating a new template": "## Content Templates: Creating Templates",
        "## 379. Workflow assignments overview": "## Workflow Management: Workflow Assignments Overview",
        "## 380. Saving an existing article as a template": "## Content Templates: Saving Articles as Templates",
        "## 381. FAQs": "## Content Templates: FAQs",
        "## 382. Variables": "## Content Reuse: Variables",
        "## 383. Variables overview page": "## Content Reuse: Managing Variables",
        "## 384. Translating variables": "## Localization: Translating Variables",
        "## 385. Creating a variable": "## Content Reuse: Creating Variables",
        "## 386. Using variable in an article/category page": "## Content Reuse: Using Variables",
        "## 387. Using snippet in the article": "## Content Reuse: Using Snippets",
        "## 388. Snippet": "## Content Reuse: Snippets Overview",
        "## 389. Snippet overview page": "## Content Reuse: Managing Snippets",
        "## 390. FAQs": "## Content Reuse: Snippet FAQs",
        "## 391. Translating snippets": "## Localization: Translating Snippets",
        "## 392. Glossary": "## Content Consistency: Glossary",
        "## 393. Creating a snippet": "## Content Reuse: Creating Snippets",
        "## 394. Quick navigation for glossary management": "## Content Consistency: Glossary Management Navigation",
        "## 395. Managing glossary terms": "## Content Consistency: Managing Glossary Terms",
        "## 396. Adding a glossary term": "## Content Consistency: Adding Glossary Terms",
        "## 397. Troubleshooting": "## Content Consistency: Troubleshooting Glossary Import",
        "## 398. Adding glossary terms": "## Content Consistency: Adding Glossary Terms",  # Dupe 396
        "## 399. Importing glossary terms": "## Content Consistency: Importing Glossary Terms",
        "## 400. Managing glossary terms": "## Content Consistency: Glossary Management",
        "## 401. Editing a Glossary term": "## Content Consistency: Editing Glossary Terms",
        "## 402. Inserting glossary term in an article": "## Content Consistency: Using Glossary Terms in Articles",
        "## 403. Deleting a Glossary": "## Content Consistency: Deleting Glossary Terms",
        "## 404. Translating glossaries": "## Localization: Translating Glossaries",
        "## 405. Feedback manager": "## User Feedback: Feedback Manager",
        "## 406. Managing the glossary landing page": "## Content Consistency: Glossary Landing Page",
        "## 407. Exporting glossary terms": "## Content Consistency: Exporting Glossary Terms",
        "## 408. Managing feedback in the No search results feedback tab": "## User Feedback: Managing No Search Results Feedback",
        "## 409. Feedback manager overview": "## User Feedback: Feedback Manager Overview",
        "## 410. Managing feedback in the Article feedback tab": "## User Feedback: Managing Article Feedback",
        "## 411. Custom pages": "## Site Customization: Custom Pages",
        "## 412. Additional features": "## User Feedback: Feedback Management Features",  # Group with 409
        "## 413. Managing a Custom page": "## Site Customization: Managing Custom Pages",
        "## 414. Try this feature": "## Site Customization: Custom Pages - Usage",
        "## 415. Multilingual custom pages": "## Localization: Multilingual Custom Pages",
        "## 416. What are tags?": "## Content Organization: Understanding Tags",
        "## 417. FAQs": "## Content Organization: Tag FAQs",
        "## 418. Tags": "## Content Organization: Tag Support by Plan",
        "## 419. Key features of the Manage tags page": "## Content Organization: Managing Tags - Features",
        "## 420. Adding a new tag": "## Content Organization: Creating Tags",
        "## 421. Manage tags page overview": "## Content Organization: Managing Tags - Overview",
        "## 422. Adding tags to the library": "## Content Organization: Adding Tags - Methods",
        "## 423. FAQs": "## Content Organization: Managing Tags - FAQs",
        "## 424. **Tag naming guidelines**": "## Content Organization: Tag Naming Guidelines",
        "## 425. Tag groups page overview": "## Content Organization: Tag Groups Overview",
        "## 426. Tag limitations and details": "## Content Organization: Tag Limitations",
        "## 427. Adding tags to tag groups": "## Content Organization: Using Tag Groups",
        "## 428. Deleting tag groups": "## Content Organization: Deleting Tag Groups",
        "## 429. Manage tag dependencies": "## Content Organization: Managing Tag Dependencies",
        "## 430. Creating a tag group": "## Content Organization: Creating Tag Groups",
        "## 431. Find and replace": "## Content Management: Find and Replace",
        "### 432.1. Information available in the Tag dependencies window": "#### Tag Dependency Information",
        "## 432. Viewing tag dependencies": "## Content Organization: Viewing Tag Dependencies",
        "## 433. Removing tag dependencies": "## Content Organization: Removing Tag Dependencies",
        "## 434. Performing the find and replace operation": "## Content Management: Using Find and Replace",
        "## 435. SEO descriptions": "## Content Optimization: Managing SEO Descriptions",
        "## 436. Generating SEO descriptions": "## Content Optimization: Generating SEO Descriptions",
        "## 437. Find and replace in editor": "## Content Management: Find and Replace Within Editor",
        "## 438. FAQ(s)": "## Content Management: Find and Replace FAQs",
        "## 439. Downloading the ZIP file": "## Content Export: Downloading Project ZIP",
        "## 440. Export project API endpoint": "## Content Export: Project Export API",
        "## 441. Exporting a project": "## Content Export: Exporting a Project",
        "## 442. Exporting your Document360 project as a ZIP file": "## Content Export: Project Export as ZIP",
        "## 443. Importing a project ZIP file": "## Content Import: Importing a Project ZIP",
        "## 444. Migrating documentation from other platforms": "## Content Migration: Migrating from Other Platforms",
        "## 445. Document360 migration - What happens next?": "## Content Migration: Migration Process",
        "## 446. Importing a Document360 project ZIP file": "## Content Import: Importing Project ZIP Files",
        "## 447. PDF templates overview page": "## Content Export: PDF Templates Overview",
        "## 448. New PDF template": "## Content Export: Creating PDF Templates",
        "## 449. Default template": "## Content Export: Setting Default PDF Templates",
        "## 450. Designing a PDF template": "## Content Export: PDF Template Design",
        "## 451. Compiling content for PDF": "## Content Export: Exporting to PDF",
        "## 452. Other actions on PDF": "## Content Export: Managing Exported PDFs",
        "## 453. FAQ(s)": "## Content Export: PDF Template FAQs",
        "## 454. Analytics": "## Analytics: Overview",
        "## 455. Export to PDF": "## Content Export: Exporting to PDF - Process",
        "## 456. Accessing Articles analytics": "## Analytics: Accessing Article Analytics",
        "## 457. Accessing Eddy AI search analytics": "## AI Integration: Accessing Eddy AI Search Analytics",
        "## 458. Articles analytics": "## Analytics: Understanding Article Analytics",
        "## 459. Search analytics": "## Analytics: Search Analytics",
        "## 460. Eddy AI search analytics": "## AI Integration: Eddy AI Search Analytics Overview",
        "## 461. Knowledge base site view": "## Analytics: Search Analytics - User Feedback",
        "## 462. Accessing the Reader analytics page": "## Analytics: Accessing Reader Analytics",
        "## 463. Accessing the Search analytics page": "## Analytics: Accessing Search Analytics",  # Dupe, but incomplete
        "## 464. Reader analytics": "## Analytics: Reader Analytics Overview",
        "## 465. Team accounts analytics": "## Analytics: Team Accounts Analytics",
        "## 466. Accessing the Feedback analytics page": "## Analytics: Accessing Feedback Analytics",
        "## 467. Feedback analytics": "## Analytics: Understanding Feedback Analytics",
        "## 468. Accessing the Team accounts analytics page": "## Analytics: Viewing Team Account Analytics",
        "## 469. Accessing the Links status analytics page": "## Analytics: Accessing Link Status Analytics",
        "## 470. Links status overview page": "## Analytics: Link Status Overview",
        "## 471. Links status analytics": "## Analytics: Understanding Link Status Analytics",
        "## 472. Manage links": "## Analytics: Managing Links",
        "## 473. Link validation": "## Analytics: Link Validation Methods",
        "## 474. Troubleshooting": "## Analytics: Troubleshooting Link Validation",
        "## 475. Actions and controls": "## Analytics: Link Status - Actions",
        "## 476. Sections of Ticket deflector tab": "## Analytics: Ticket Deflector Analytics - Sections",
        "## 477. Accessing the Ticket deflector analytics page": "## Analytics: Accessing Ticket Deflector Analytics",
        "## 478. Ticket deflector analytics": "## Analytics: Ticket Deflector Analytics Overview",
        "## 479. Generating API documentation": "## API Documentation: Generating API Docs",
        "## 480. Feedback tab": "## Analytics: Ticket Deflector - Feedback Tab",
        "## 481. Regenerate API documentation": "## API Documentation: Regenerating API Docs",
        "## 482. Managing API documentation": "## API Documentation: API Doc Management",
        "## 483. Helpful links": "## API Documentation: d360 npm Package Links",
        "## 484. Edit, Clone, and Delete widget": "## Widgets: Managing Widgets",
        "## 485. Edit Knowledge base Widget": "## Widgets: Editing Widgets",
        "## 486. Delete Knowledge base Widget": "## Widgets: Deleting Widgets",
        "## 487. Managing and customizing the Knowledge base widget": "## Widgets: Widget Management Overview",
        "## 488. Customizing the knowledge base widget": "## Widgets: Customizing Widgets",
        "## 489. Adding a ticket deflector in Knowledge base widget": "## Widgets: Adding Ticket Deflectors",
        "## 490. Domain restriction": "## Widgets: Domain Restriction",
        "## 491. Clone Knowledge base Widget": "## Widgets: Cloning Widgets",
        "## 492. Adding custom links": "## Widgets: Adding Custom Links",
        "## 493. URL Mapping": "## Widgets: URL Mapping",
        "## 494. Securing Knowledge base widget authentication using JWT": "## Widgets: JWT Authentication",
        "## 495. Using URL mapping": "## Widgets: Configuring URL Mapping",
        "## 496. Deleting URL mapping": "## Widgets: Deleting URL Mappings",
        "## 497. Adding URL Mapping to your Widget": "## Widgets: Adding URL Mappings",
        "## 498. Basic URL matching": "## Widgets: URL Matching with Regex",
        "## 499. URL mapping settings": "## Widgets: URL Mapping Settings",
        "## 500. Customizing the Knowledge base widget using Custom CSS/JavaScript": "## Widgets: Advanced Customization",
        "## 501. How to change the default widget icon?": "## Widgets: Customizing the Widget Icon",
        "## 502. How to change dark theme in Knowledge base widget?": "## Widgets: Customizing Dark Theme",
        "## 503. How to change the fields displayed in the Knowledge base Widget?": "## Widgets: Customizing Displayed Fields",
        "## 504. How to set the Knowledge base Widget to open automatically in the knowledge base site?": "## Widgets: Auto-Opening the Widget",
        "## 505. Knowledge base site 2.0": "## Site Customization: Knowledge Base Site 2.0",
        "## 506. Overview of Knowledge base site 2.0": "## Site Customization: Knowledge Base Site 2.0 Overview",
        "## 507. Customize site": "## Site Customization: Customizing the Site",
        "## 508. FAQ - Knowledge Base widget": "## Widgets: FAQs",
        "## 509. Troubleshooting": "## Troubleshooting: Common Issues and Solutions",  # More General
        "## 510. Advanced site customization": "## Site Customization: Advanced Customization",
        "## 511. KB site 2.0 migration": "## Site Migration: Migrating to KB Site 2.0",
        "## 512. Basic site customization": "## Site Customization: Basic Customization",
        "## 513. Implementing WCAG 2.1 A and AA in Document360": "## Accessibility: WCAG Compliance",
        "## 514. Customizing your knowledge base site 2.0": "## Site Customization: Customizing KB Site 2.0",
        "## 515. Web Content Accessibility Guidelines (WCAG)": "## Accessibility: Understanding WCAG",
        "## 516. Key Principles of WCAG 2.1": "## Accessibility: WCAG 2.1 Principles",
        "## 517. Header - Secondary navigation": "## Site Customization: Secondary Navigation",
        "## 518. Accessing the Header - Secondary navigation": "## Site Customization: Configuring Secondary Navigation",
        "## 519. Header - Primary navigation": "## Site Customization: Primary Navigation",
        "## 520. Accessing the Header - Primary navigation": "## Site Customization: Configuring Primary Navigation",
        "## 521. Custom footer": "## Site Customization: Custom Footer Support",  # Assume support, no info
        "## 522. Creating a custom footer": "## Site Customization: Creating Custom Footers",
        "## 523. Accessing the Footer navigation settings": "## Site Customization: Footer Navigation Settings",
        "## 524. Footer": "## Site Customization: Footer Customization",
        "## 525. Removing an **RSS Feed** from the Knowledge base site": "## Site Customization: Removing RSS Feeds",
        "## 526. RSS Feeds": "## Site Features: RSS Feeds",
        "## 527. Adding an **RSS Feed** option to your Knowledge base site": "## Site Features: Adding RSS Feeds",
        "## 528. Home page": "## Site Customization: Home Page Customization",
        "## 529. Main pages": "## Site Structure: Main Pages",
        "## 530. Login page": "## Site Customization: Login Page Customization",
        "## 531. Hero section": "## Site Customization: Hero Section",
        "## 532. Documentation": "## Site Customization: Documentation Page",
        "## 533. Multicolumn card section": "## Site Customization: Multicolumn Cards",
        "## 534. Rich text blocks": "## Site Customization: Rich Text Blocks",
        "## 535. Accessing **Hero section**": "## Site Customization: Configuring the Hero Section",
        "## 536. Adding Multicolumn cards": "## Site Customization: Adding Multicolumn Cards",
        "## 537. Image with text block": "## Site Customization: Image with Text Blocks",
        "## 538. Adding an Image with text block": "## Site Customization: Adding Image and Text Blocks",
        "## 539. Adding a **Custom code section**": "## Site Customization: Adding Custom Code Sections",
        "## 540. Custom code section": "## Site Customization: Custom Code Section Overview",
        "## 541. Widgets block": "## Site Customization: Widgets Block",
        "## 542. Knowledge base categories block": "## Site Customization: Knowledge Base Categories Block",
        "## 543. Adding **Knowledge base categories** block": "## Site Customization: Adding Category Blocks",
        "## 544. Error pages": "## Site Customization: Error Pages",
        "## 545. Deleting the widget section": "## Site Customization: Deleting Widget Sections",
        "## 546. Adding widget(s) on your Home page": "## Site Customization: Adding Widgets to Home Page",
        "## 547. What is a 404 page?": "## Site Customization: Understanding 404 Pages",
        "## 548. Accessing the Error Pages Design Settings": "## Site Customization: Configuring Error Pages",
        "## 549. 404 page": "## Site Customization: 404 Page Support",
        "## 550. Access denied page": "## Site Customization: Access Denied Page",
        "## 551. Access denied page": "## Site Customization: Access Denied Page Support",  # Dupe, descriptive.
        "## 552. Customizing the 404 page": "## Site Customization: Customizing the 404 Page",
        "## 553. Unauthorized page": "## Site Customization: Unauthorized Page Support",
        "## 554. Customizing the Access denied page": "## Site Customization: Customizing the Access Denied Page",
        "## 555. Unauthorized page": "## Site Customization: Understanding the Unauthorized Page",
        "## 556. Customizing the Unauthorized page": "## Site Customization: Customizing the Unauthorized Page",
        "## 557. IP restriction page": "## Site Customization: IP Restriction Page Support",
        "## 558. Customizing the IP restriction page": "## Site Customization: Customizing the IP Restriction Page",
        "## 559. IP restriction page": "## Site Customization: Understanding the IP Restriction Page",
        "## 560. Custom CSS & JavaScript": "## Site Customization: Custom CSS & JS Support",
        "## 561. JavaScript snippets": "## Site Customization: Using JavaScript Snippets",
        "## 562. Troubleshooting": "## Site Customization: Troubleshooting Custom JavaScript",
        "## 563. CSS snippets": "## Site Customization: Using CSS Snippets",
        "## 564. CSS Snippets": "## Site Customization: CSS Snippets",
        "## 565. CSS Snippets": "## Site Customization: Custom CSS/JS by Plan",  # Combine with 560
        "## 566. Callout styles": "## Site Customization: Callout Styles by Plan",
        '## 567. What is a "Callout"?': "## Content Enhancement: Understanding Callouts",
        "## 568. Body font style": "## Site Customization: Body Font Styling",
        "## 569. Setting up the body font style using Custom CSS & JavaScript": "## Site Customization: Setting Body Font Style",
        "## 570. Styling the Callouts": "## Site Customization: Styling Callouts",
        "## 571. Image alignment": "## Content Enhancement: Image Alignment",
        "## 572. Header font style": "## Site Customization: Header Font Style",
        "## 573. How to change the Header font style in Document360?": "## Site Customization: Changing Header Font Style",
        "## 574. Resizing images on the Knowledge base site": "## Site Customization: Image Resizing",
        "## 575. Center images in your Document360 Knowledge base": "## Site Customization: Centering Images",
        "## 576. Why are the table elements important for a document?": "## Content Structure: Importance of Tables",
        "## 577. Style the tables using CSS Snippets in Document360": "## Site Customization: Styling Tables with CSS",
        "## 578. Table style": "## Site Customization: Table Styles and Plan Support",
        "## 579. Editing a redirect rule": "## SEO: Editing Redirect Rules",
        "## 580. Adding an article redirect rule": "## SEO: Adding Redirect Rules",
        "## 581. Article redirect rule": "## SEO: Article Redirect Rules",
        "## 582. Filter a redirect rule": "## SEO: Filtering Redirect Rules",
        "## 583. Importing redirect rules": "## SEO: Importing Redirect Rules",
        "## 584. Exporting redirect rules": "## SEO: Exporting Redirect Rules",
        "## 585. Deleting a redirect rule": "## SEO: Deleting Redirect Rules",
        "## 586. Configuring the Knowledge base site article settings": "## Site Settings: Article Settings",
        "## 587. Article header": "## Site Settings: Article Header Customization",
        "## 588. Article settings & SEO": "## Site Settings: Article Settings and SEO",
        "## 589. Enabling the Article header elements": "## Site Settings: Enabling Article Header Elements",
        "## 590. Accessing the What's new feature": "## Site Features: Accessing What's New",
        "## 591. **Article header elements in the Knowledge base site**": "## Site Features: Article Header Elements",
        "## 592. Follow articles and categories": "## User Engagement: Following Articles and Categories",
        "## 593. Search in Knowledge base site": "## Site Features: Search Functionality",
        "## 594. Attributes used in the Knowledge base site search": "## Site Features: Search Attributes",
        "## 595. Enabling the 'Show Follow button' from KB Portal": "## Site Features: Enabling the Follow Button",
        "## 596. Using Follow articles and categories in KB Site": "## User Engagement: Using Follow Feature",
        "## 597. Search attachments": "## Site Features: Searching Attachments",
        "## 598. Advanced search": "## Site Features: Advanced Search",
        "## 599. Search filters": "## Site Features: Search Filters",
        "## 600. Search operator support": "## Site Features: Search Operators",
        "## 601. FAQs": "## Site Features: Advanced Search FAQs",
        "## 602. Smart bars": "## Site Features: Smart Bars",
        "## 603. Liking or disliking an article": "## User Feedback: Liking/Disliking Articles",
        "## 604. Creating a new **Smart bar**": "## Site Features: Creating Smart Bars",
        "## 605. Liking or Disliking an article": "## User Feedback: Liking/Disliking - Process",
        "## 606. **Smart bar** **overview**": "## Site Features: Smart Bar Management",
        "## 607. Accessing the ticket deflectors in portal": "## Support: Ticket Deflectors",
        "## 608. **Ticket deflectors** overview page": "## Support: Managing Ticket Deflectors",
        "## 609. Cookie consent": "## Compliance: Cookie Consent",
        "## 610. Adding a cookie consent message to your knowledge base site": "## Compliance: Adding Cookie Consent",
        "## 611. Adding **Ticket deflectors** in Header and Footer sections": "## Support: Adding Ticket Deflectors to Header/Footer",
        "## 612. Adding a new ticket deflector": "## Support: Creating Ticket Deflectors",
        "## 613. Helpdesk configuration": "## Integrations: Helpdesk Configuration",
        "## 614. Adding a new integration": "## Integrations: Adding New Integrations",
        "## 615. Integrations in Document360": "## Integrations: Overview",
        "## 616. Creating a new Ticket deflector": "## Support: Creating Ticket Deflectors - Detailed",
        "## 617. Editing or deleting an integration": "## Integrations: Managing Integrations",
        "## 618. Integration controls": "## Integrations: Integration Overview Page",
        "## 619. Code inclusion and exclusion conditions": "## Integrations: Code Filtering",
        "## 620. Integrating **Document360** and **LiveChat**": "## Integrations: LiveChat",
        "## 621. Custom HTML": "## Site Customization: Custom HTML Integration",
        "## 622. Olark": "## Integrations: Olark",
        "## 623. LiveChat": "## Integrations: LiveChat Overview",
        "## 624. Obtaining the LiveChat ID": "## Integrations: Getting the LiveChat ID",
        "## 625. Obtaining the **Olark** ID": "## Integrations: Getting the Olark ID",
        "## 626. Freshchat": "## Integrations: Freshchat",
        "## 627. Integrating **Document360** and **Olark**": "## Integrations: Integrating with Olark",
        "## 628. Integrating **Document360** and **Freshchat**": "## Integrations: Integrating with Freshchat",
        "## 629. Chatra": "## Integrations: Chatra",
        "## 630. Integrating **Document360** and **Chatra**": "## Integrations: Integrating with Chatra",
        "## 631. Crisp": "## Integrations: Crisp and Plan Support",
        "## 632. Gorgias": "## Integrations: Gorgias",
        "## 633. Integrating **Document360** and **Gorgias**": "## Integrations: Integrating with Gorgias",
        "## 634. Doorbell": "## Integrations: Doorbell",  # Screenshot
        "## 635. Integrating **Document360** and **Doorbell**": "## Integrations: Integrating with Doorbell",
        "## 636. Obtaining the **Gorgias** App ID": "## Integrations: Getting the Gorgias App ID",
        "## 637. Sunshine Conversations": "## Integrations: Sunshine Conversations",
        "## 638. Integrating Document360 and **Sunshine Conversations**": "## Integrations: Integrating with Sunshine Conversations",
        "## 639. Belco": "## Integrations: Belco",
        "## 640. Kommunicate": "## Integrations: Kommunicate",
        "## 641. Integrating Document360 and **Sunshine Conversations**": "## Integrations: Document360 and Sunshine",  # Dupe 638, combine
        "## 642. Obtaining the **Sunshine Conversations** ID": "## Integrations: Getting the Sunshine Conversations ID",
        "## 643. Integrating Document360 and **Kommunicate**": "## Integrations: Integrating with Kommunicate",
        "## 644. Integrating Document360 and Google Analytics": "## Integrations: Google Analytics",
        "## 645. Obtaining Google Analytics ID": "## Integrations: Getting the Google Analytics ID",
        "## 646. Obtaining the **Kommunicate** App ID": "## Integrations: Getting the Kommunicate App ID",
        "## 647. Google Analytics (GA4)": "## Integrations: Google Analytics (GA4)",
        "## 648. Obtaining Google Analytics ID (Measurement ID)": "## Integrations: Getting the GA4 Measurement ID",
        "## 649. Google Tag Manager": "## Integrations: Google Tag Manager",
        "## 650. Integrating Document360 and Google Analytics(GA4)": "## Integrations: Integrating with GA4",
        "## 651. Integrating Google Tag Manager with Document360": "## Integrations: Integrating with Google Tag Manager",
        "## 652. Heap": "## Integrations: Heap",
        "## 653. Integrating Document360 and **Heap**": "## Integrations: Integrating with Heap",
        "## 654. Obtaining Google Tag Manager ID": "## Integrations: Getting the Google Tag Manager ID",
        "## 655. Segment": "## Integrations: Segment",
        "## 656. Obtaining the **Segment** ID": "## Integrations: Getting the Segment ID",
        "## 657. Obtaining **Heap** App ID": "## Integrations: Getting the Heap App ID",
        "## 658. Hotjar": "## Integrations: Hotjar",
        "## 659. Integrating Document360 and **Segment**": "## Integrations: Integrating with Segment",
        "## 660. Integrating Document360 and **Hotjar**": "## Integrations: Integrating with Hotjar",
        "## 661. Integrating **Amplitude** and Document360": "## Integrations: Integrating with Amplitude",
        "## 662. Obtaining the **Hotjar** ID": "## Integrations: Getting the Hotjar ID",
        "## 663. Amplitude": "## Integrations: Amplitude",
        "## 664. FAQ": "## Integrations: Amplitude FAQ",
        "## 665. Obtaining the **Amplitude** API Key": "## Integrations: Getting the Amplitude API Key",
        "## 666. FullStory": "## Integrations: FullStory",
        "## 667. FAQs": "## Integrations: FullStory FAQ",
        "## 668. Obtaining the **FullStory** ID": "## Integrations: Getting the FullStory ID",
        "## 669. Integrating Document360 and **FullStory**": "## Integrations: Integrating with FullStory",
        "## 670. Mixpanel": "## Integrations: Mixpanel",
        "## 671. Integrating **Document360** and **Mixpanel**": "## Integrations: Integrating with Mixpanel",
        "## 672. Obtaining the **Mixpanel** ID": "## Integrations: Getting the Mixpanel ID",
        "## 673. VWO": "## Integrations: VWO",
        "## 674. How will you integrate Document360 and VWO?": "## Integrations: Integrating with VWO",
        "## 675. Sample JavaScript Codes for **Mixpanel** Integration": "## Integrations: Mixpanel - Sample Code",
        "## 676. ZOHO PageSense": "## Integrations: Zoho PageSense",
        "## 677. How will you integrate Document360 and Zoho PageSense?": "## Integrations: Integrating with Zoho PageSense",
        "## 678. Freshmarketer": "## Integrations: Freshmarketer",
        "## 679. Integrating GoSquared with Document360": "## Integrations: Integrating with GoSquared",
        "## 680. GoSquared": "## Integrations: GoSquared",
        "## 681. Commento": "## Integrations: Commento",
        "## 682. FAQ": "## Integrations: Commento FAQ",
        "## 683. Disqus": "## Integrations: Disqus",
        "## 684. FAQ": "## Integrations: Disqus FAQ",
        "## 685. Accessing the Extensions page": "## Integrations: Accessing Extensions",
        "## 686. Freshdesk": "## Integrations: Freshdesk",
        "## 687. Document360 Extensions - Getting started": "## Integrations: Document360 Extensions Overview",
        "## 688. Feature highlights": "## Integrations: Freshdesk - Features",
        "## 689. Freshservice": "## Integrations: Freshservice",
        "## 690. Basic configuration steps": "## Integrations: Freshservice - Setup",
        "## 691. Zendesk": "## Integrations: Zendesk",
        "## 692. Basic setup guide": "## Integrations: Zendesk - Basic Setup",  # Duplicated, combine below
        "## 693. Basic setup guide": "## Integrations: Zendesk - Setup Guide",
        "## 694. Feature highlights": "## Integrations: Freshservice - Features",  # Should be Zendesk
        "## 695. Create an article on the Knowledge base from Zendesk": "## Integrations: Zendesk - Creating Articles",
        "## 696. Search and share articles on ticket responses": "## Integrations: Zendesk - Article Search and Sharing",
        "## 697. Zendesk federated search": "## Integrations: Zendesk - Federated Search",
        "## 698. Intercom": "## Integrations: Intercom",
        "## 699. Removing Document360 from Zendesk": "## Integrations: Zendesk - Uninstallation",
        "## 700. FAQ": "## Integrations: Zendesk - FAQ",
        "## 701. Search for and share articles in chat response": "## Integrations: Intercom - Article Search and Sharing",
        "## 702. Article search app assistant": "## Integrations: Intercom - Article Creation",
        "## 703. Salesforce": "## Integrations: Salesforce",
        "## 704. Basic setup guide": "## Integrations: Salesforce - Setup",
        "## 705. Authorize Salesforce integration from your Document360 portal": "## Integrations: Salesforce - Authorization",
        "## 706. Searching and managing Knowledge base content in Salesforce": "## Integrations: Salesforce - Content Management",
        "## 707. Cases page": "## Integrations: Salesforce - Cases Integration",
        "## 708. Integrating Document360 and Cases home page": "## Integrations: Salesforce - Cases Integration Setup",
        "## 709. Recommendations": "## Integrations: Salesforce - Article Recommendations",
        "## 710. FAQs": "## Integrations: Salesforce - FAQs",
        "## 711. Commands and uses": "## Integrations: Slack - Commands",
        "## 712. Slack": "## Integrations: Slack",
        "## 713. Basic setup guide": "## Integrations: Slack - Setup",
        "## 714. Removing the Document360 app from the Slack workspace": "## Integrations: Slack - Uninstallation",
        "## 715. Teams and **Document360**": "## Integrations: Microsoft Teams",
        "## 716. Basic setup guide": "## Integrations: Microsoft Teams - Setup",
        "## 717. Microsoft Teams": "## Integrations: Microsoft Teams Overview",
        "## 718. Searching and Sharing Articles": "## Integrations: Microsoft Teams - Article Search",
        "## 719. Drift": "## Integrations: Drift",
        "## 720. FAQs": "## Integrations: Microsoft Teams - FAQs",
        "## 721. Zapier - Setup guide": "## Integrations: Zapier - Setup",
        "## 722. Basic setup guide": "## Integrations: Drift - Setup",
        "## 723. Zapier use cases for Document360": "## Integrations: Zapier - Use Cases",
        "## 724. Integrating Google Docs with Document360": "## Integrations: Zapier - Google Docs (Trigger)",
        "## 725. Integrating Google Docs with Document360": "## Integrations: Zapier - Google Docs",
        "## 726. Integrating Google Sheets with Document360": "## Integrations: Zapier - Google Sheets",
        "## 727. Zap overview": "## Integrations: Zapier - Zap Management",
        "## 728. Integrating Document360 with Google Drive": "## Integrations: Zapier - Google Drive",
        "## 729. FAQ": "## Integrations: Zapier - Google Sheets FAQ",
        "### 729.1 Google Drive - Document360": "#### Google Drive to Document360",
        "## 730. Zap overview": "## Integrations: Zapier - Zap Management",
        "## 731. Integrating Trello with **Document360**": "## Integrations: Zapier - Trello",
        "## 732. Integrating Document360 with Google Drive": "## Integrations: Zapier - Google Drive",
        "## 733. Zap overview": "## Integrations: Zapier - Zap Management",
        "## 734. Integrating Trello with Document360": "## Integrations: Zapier - Trello",
        "## 735. Integrating GitHub with **Document360**": "## Integrations: Zapier - GitHub",
        "## 736. Zap overview": "## Integrations: Zapier - Zap Management",  # combine all Zaps
        "## 737. Integrating Confluence Server with Document360": "## Integrations: Zapier - Confluence Server",
        "## 738. Zap overview": "## Integrations: Zapier - Zap Management",  # combine all Zaps
        "## 739. Integrating GitHub with Document360": "## Integrations: Zapier and GitHub",
        "## 740. Integrating Zoho CRM with **Document360**": "## Integrations: Zapier - Zoho CRM",
        "## 741. Integrating Confluence Server with **Document360**": "## Integrations: Zapier - Confluence",  # Dupe.
        "## 742. Zap overview": "## Integrations: Zapier - Zap Management",  # combine all Zaps
        "## 743. Integrating Pipedrive with Document360": "## Integrations: Zapier - Pipedrive Plan Support",
        "## 744. Integrating Zoho CRM with Document360": "## Integrations: Zapier - Zoho CRM",  # Dupe
        "## 745. Integrating Hubspot with Document360": "## Integrations: Zapier - HubSpot",
        "## 746. Integrating Pipedrive with **Document360**": "## Integrations: Zapier - Pipedrive",
        "## 747. Integrating HubSpot with **Document360**": "## Integrations: Zapier - HubSpot",
        "## 748. Zap overview": "## Integrations: Zapier - Zap Management",  # combine all Zaps
        "## 749. Integrating Asana with **Document360**": "## Integrations: Zapier - Asana",
        "## 750. Zap overview": "## Integrations: Zapier - Zap Management",  # combine all Zaps
        "## 751. Integrating Asana with Document360": "## Integrations: Zapier and Asana",
        "## 752. Zap overview": "## Integrations: Zapier - Zap Management",  # Dupe of 750
        "## 753. Integrating Monday.com with **Document360**": "## Integrations: Zapier - Monday.com",
        "## 754. Integrating Monday.com with Document360": "## Integrations: Zapier - Monday.com",
        "## 755. Integrating Typeform with Document360": "## Integrations: Zapier - Typeform",
        "## 756. Integrating Gmail with Document360": "## Integrations: Zapier - Gmail (Notification)",
        "## 757. Zap overview": "## Integrations: Zapier - Zap Management",  # combine all Zaps
        "## 758. Integrating Gmail with Document360": "## Integrations: Zapier - Gmail",
        "## 759. Zap overview": "## Integrations: Zapier - Zap Management",  # combine all Zaps
        "## 760. Integrating **Document360** with Mailchimp": "## Integrations: Zapier - Mailchimp",
        "## 761. Make - Setup guide": "## Integrations: Make - Setup",
        "## 762. Integrating Mailchimp with Document360": "## Integrations: Zapier - Mailchimp",  # Dupe
        "## 763. **Make** use cases for **Document360**": "## Integrations: Make - Use Cases",
        "## 764. Zap overview": "## Integrations: Zapier - Zap Management",  # combine all Zaps
        "## 765. Integrating Asana with Document360": "## Integrations: Make - Asana",
        "## 766. API key generation in **Document360**": "## API Management: Generating API Keys",
        "## 767. Integrating Monday.com with Document360": "## Integrations: Make - Monday.com",
        "## 768. Integrating Typeform with Document360": "## Integrations: Make - Typeform",
        "## 769. Integrating Typeform with **Document360**": "## Integrations: Make - Typeform",  # Combine 768, 769
        "## 770. Integrating **Document360** with Google Docs": "## Integrations: Make - Google Docs",
        "## 771. Integrating **Document360** with Google Docs": "## Integrations: Zapier - Google Docs",  # Combine with 724, 725.
        "## 772. Integrating Jira with Document360": "## Integrations: Make - Jira",
        "## 773. Integrating Jira with **Document360**": "## Integrations: Make - Jira",  # Combine 772, 773
        "## 774. Feature highlights": "## Integrations: Chrome Extension - Features",
        "## 775. **Removing the Document360 extension in Chrome**": "## Integrations: Chrome Extension - Uninstallation",
        "## 776. Chrome": "## Integrations: Chrome Extension",
        "## 777. Crowdin": "## Integrations: Crowdin",
        "## 778. Chrome extension: setup": "## Integrations: Chrome Extension - Setup",
        "## 779. FAQ": "## Integrations: Chrome Extension - FAQ",
        "## 780. Push to Crowdin from Document360": "## Integrations: Crowdin - Pushing Updates",
        "## 781. Phrase": "## Integrations: Phrase",
        "## 782. Basic setup guide": "## Integrations: Crowdin - Setup",
        "## 783. Language Configuration": "## Localization: Language Configuration",
        "## 784. Translation Configuration": "## Integrations: Phrase - Configuration",
        "## 785. Setting up Phrase Translation Service": "## Integrations: Phrase - Setup",
        "## 786. FAQ": "## Integrations: Crowdin - FAQ",
        "## 787. FAQ": "## Localization: Language Configuration FAQs",
        "## 788. General project settings": "## Settings: Project Settings",
        "## 789. Accessing the Project settings page": "## Settings: Accessing Project Settings",
        "## 790. Preview Translated Content": "## Integrations: Phrase - Previewing",
        "## 791. Accessing team auditing": "## Auditing: Accessing Team Audit Logs",
        "# Team auditing": "## Auditing: Team Auditing",
        "## 792. Localization - Getting started": "## Localization: Getting Started",
        "## 793. Setting up a Multi-lingual knowledge base": "## Localization: Multilingual Setup",
        "## 794. Setting up the audit configuration": "## Auditing: Configuring Audit Settings",
        "## 795. Adding multiple languages to a single version": "## Localization: Adding Languages to a Version",
        "## 796. **FAQ(s)**": "## Localization: Language Support FAQs",
        "## 797. Available languages": "## Localization: Supported Languages",
        "## 798. Defining workspaces and their role": "## Content Organization: Workspaces",
        "## 799. Localization variables": "## Localization: Customizing Localization Variables",
        "## 800. Workspaces": "## Content Organization: Understanding Workspaces",
        "## 801. Benefits of using workspaces": "## Content Organization: Workspace Benefits",
        "## 802. Starting with Workspaces": "## Content Organization: Getting Started with Workspaces",
        "## 803. Use cases of workspaces": "## Content Organization: Workspace Use Cases",
        "## 804. Troubleshooting": "## Content Organization: Troubleshooting Workspace Issues",
        "## 805. Purchasing workspaces from Localization & Workspaces": "## Billing: Purchasing Additional Workspaces",
        "## 806. Backup and restore": "## Data Management: Backup and Restore",
        "## 807. Restoring from a Backup": "## Data Management: Restoring from Backup",
        "## 808. Adding a new workspace": "## Content Organization: Adding New Workspaces",
        "## 809. Creating a manual backup": "## Data Management: Creating Manual Backups",
        "## 810. Restore options": "## Data Management: Restore Options",
        "## 811. Webhook notification channel": "## Notifications: Webhook Notifications",
        "## 812. Accessing notification channels": "## Notifications: Configuring Notification Channels",
        "## 813. Slack notification channel": "## Notifications: Slack Notifications",
        "## 814. Notifications": "## Notifications: Overview",
        "## 815. Setting up Slack notification channel": "## Notifications: Setting Up Slack Notifications",
        "## 816. Microsoft Teams notification channel": "## Notifications: Microsoft Teams Notifications",
        "## 817. Setting up a Webhook notification channel": "## Notifications: Setting Up Webhook Notifications",
        "## 818. SMTP notification channel": "## Notifications: SMTP Notifications",
        "## 819. Setting up the SMTP notification channel": "## Notifications: Setting Up SMTP Notifications",
        "## 820. Notification mapping": "## Notifications: Notification Mapping",
        "## 821. Mapping Notification channels to events": "## Notifications: Mapping Channels to Events",
        "## 822. Notification history": "## Notifications: Notification History",
        "## 823. Setting Up the Microsoft Teams Notification Channel": "## Notifications: Setting Up Teams Notifications",
        "## 824. Email domain": "## Notifications: Custom Email Domains",
        "## 825. Notification events": "## Notifications: Notification Event Types",
        "## 826. **Linking your Document360 project in Postman**": "## API Integration: Postman Integration",
        "## 827. Managing Notification history": "## Notifications: Managing Notification History",
        "## 828. **Swagger documentation site**": "## API Integration: Swagger Documentation",
        "## 829. Portal search": "## Search: Full Portal Search",
        "## 830. How to use Postman?": "## API Integration: Using Postman",
        "## 831. How to use Swagger?": "## API Integration: Using Swagger",
        "## 832. Article-portal search": "## Search: Article Search",
        "## 833. Accessing the articles through full portal search": "## Search: Accessing Articles via Search",
        "## 834. Filters": "## Search: Article Search Filters",
        "## 835. Accessing the full portal search": "## Search: Accessing Full Portal Search",
        "## 836. Drive-portal search": "## Search: Drive File Search",
        "## 837. **Accessing the Drive - Full portal search page**": "## Search: Accessing Drive Search",
        "## 838. **Accessing the Users & Groups - Full portal search page**": "## Search: Accessing Users and Groups Search",
        "## 839. Tags-portal search": "## Search: Tag Search",
        "## 840. Filters": "## Search: User and Group Search Filters",
        "## 841. Users & groups-portal search": "## Search: Users and Groups Search Overview",
        "## 842. Settings-portal search": "## Search: Settings Search",
        "## 843. **Accessing the Settings - Full portal search page**": "## Search: Accessing Settings Search",
        "## 844. Custom domain mapping": "## Site Configuration: Custom Domain Mapping",
        "## 845. **Accessing the Tags - Full portal search page**": "## Search: Accessing Tag Search",
        "## 846. Creating a custom domain": "## Site Configuration: Setting Up Custom Domains",
        "## 847. Configuring a custom domain for Apex domains": "## Site Configuration: Custom Domains for Apex Domains",
        "## 848. Editing a default domain": "## Site Configuration: Editing Default Domains",
        "## 849. Hosting Document360 on a sub-directory": "## Site Configuration: Subdirectory Hosting Support",
        "## 850. Load balancer": "## Site Configuration: Load Balancer",
        "## 851. **What is subfolder hosting?**": "## Site Configuration: Understanding Subfolder Hosting",
        "## 852. Troubleshooting": "## Site Configuration: Troubleshooting Domain Issues",
        "## 853. What happens next?": "## Site Configuration: Post-Configuration Steps",
        "## 854. Web servers": "## Site Configuration: Web Server Information",
        "## 855. Enabling Subfolder Hosting": "## Site Configuration: Enabling Subfolder Hosting",
        "## 856. Nginx server - Subfolder hosting": "## Site Configuration: Nginx Subfolder Hosting",
        "## 857. Helpful Links": "## Site Configuration: Nginx Configuration Resources",
        "## 858. Sitemap generation": "## Site Configuration: Nginx Sitemap Proxy",
        "## 859. What happens next?": "## Site Configuration: Nginx Post-Configuration",
        "## 860. Setting up a subfolder/subdirectory": "## Site Configuration: Nginx Subfolder Setup",
        "## 861. Home page hosted on a subfolder": "## Site Configuration: Nginx Home Page Subfolder",
        "## 862. ASP.NET Core server": "## Site Configuration: ASP.NET Core Subfolder Hosting",
        "## 863. What happens next?": "## Site Configuration: ASP.NET Core Post-Configuration",
        "## 864. Microsoft - IIS server": "## Site Configuration: IIS Subfolder Hosting",
        "## 865. Troubleshooting": "## Site Configuration: Troubleshooting Nginx Issues",
        "## 866. What happens next?": "## Site Configuration: IIS Post-Configuration",
        "## 867. Sitemap generation": "## Site Configuration: Web Server Sitemap Proxy",  # More generic
        "## 868. What happens next?": "## Site Configuration: Subfolder Hosting Next Steps",  # Generic.
        "## 869. Setting up a sub-folder path": "## Site Configuration: IIS Subfolder Setup",
        "## 870. Readers self-registration": "## User Management: Reader Self-Registration",
        "## 871. Readers self registration": "## User Management: Reader Self-Registration - Plan Availability",
        "## 872. Apache HTTP server": "## Site Configuration: Apache Subfolder Hosting",
        "## 873. Accessing the Reader self-registration option": "## User Management: Configuring Reader Self-Registration",
        "## 874. Adding a domain restriction": "## User Management: Domain Restrictions for Self-Registration",
        "## 875. Creating a Reviewer account": "## User Management: Creating Reviewer Accounts",
        "## 876. FAQs": "## User Management: Reader Self-Registration FAQs",
        "## 877. Managing reviewer accounts": "## User Management: Reviewer Role Overview",
        "## 878. Managing Reviewer accounts": "## User Management: Managing Reviewer Accounts",
        "## 879. Reviewer role functionality": "## User Management: Reviewer Role Capabilities",
        "## 880. Account locked": "## User Management: Account Lockout",
        "## 881. Reviewer permissions and access": "## User Management: Reviewer Permissions",
        "## 882. New password requirements": "## User Management: Password Requirements",
        "## 883. Resetting your password": "## User Management: Password Reset",
        "## 884. Block inheritance": "## Access Control: Block Inheritance Plan Support",  # Assume support
        "## 885. Changing your current password": "## User Management: Changing Passwords",
        "## 886. Block inheritance": "## Access Control: Blocking Inheritance",
        "## 887. IP restriction": "## Security: IP Restriction",
        "## 888. FAQs": "## Access Control: Block Inheritance FAQs",
        "## 889. Allow inheritance": "## Access Control: Enabling Inheritance",
        "## 890. IP restriction page": "## Security: Managing IP Restrictions",
        "## 891. Single Sign-On (SSO)": "## Authentication: Single Sign-On (SSO) Plans",  # Assume plans
        "## 892. What is SSO?": "## Authentication: Understanding SSO",
        "## 893. Reasons to configure Single Sign-On (SSO) in your project": "## Authentication: Benefits of SSO",
        "## 894. FAQ(s)": "## Security: IP Restriction FAQs",
        "## 895. How does SSO work?": "## Authentication: SSO Process",
        "## 896. What is an IdP?": "## Authentication: Identity Providers (IdPs)",
        "## 897. Logging in using SSO": "## Authentication: Logging In with SSO",
        "## 898. IdP initiated sign-in": "## Authentication: IdP-Initiated Sign-In",
        "## 899. SSO Standards on Document360": "## Authentication: Supported SSO Standards",
        "## 900. Login using SSO - Knowledge base portal": "## Authentication: SSO Login - Portal",
        "## 901. Login using SSO - Knowledge base site": "## Authentication: SSO Login - Site",
        "## 902. Logging in using SSO": "## Authentication: SSO Login Process",
        "## 903. Troubleshooting": "## Authentication: Troubleshooting SSO Login",
        "## 904. Adding a new team account as an SSO user": "## User Management: Adding SSO Team Accounts",
        "## 905. IdP Initiated Sign-In": "## Authentication: Enabling IdP-Initiated Sign-In",
        "## 906. Inviting or Adding SSO users": "## User Management: Inviting SSO Users",
        "## 907. Deleting an SSO user": "## User Management: Deleting SSO Users",
        "## 908. FAQ": "## Authentication: SSO FAQs",
        "## 909. Inviting an existing user": "## User Management: Inviting Existing Users to SSO",
        "## 910. Mapping an existing SSO configuration to other projects": "## Authentication: Mapping SSO Configurations",
        "## 911. Disabling the Document360 login page": "## Authentication: Disabling the Default Login Page",
        "## 912. FAQs": "## Authentication: Login Page FAQs",
        "## 913. Automatically assigning SSO readers": "## User Management: Auto-Assigning SSO Readers",
        "## 914. Disable Document360 login page": "## Authentication: Disabling Default Login",
        "## 915. Convert Document360 account to SSO account": "## User Management: Converting to SSO Accounts",
        "## 916. Auto assign reader group": "## User Management: Auto-Assigning Reader Groups",
        "## 917. FAQ(s)": "## User Management: Account Conversion FAQs",
        "## 918. Convert to SSO account": "## Authentication: SSO Account Conversion Support",
        "## 919. FAQs": "## Authentication: SSO Session Timeout FAQs",
        "## 920. SAML": "## Authentication: SAML SSO",
        "## 921. Sign out idle SSO team account": "## Authentication: SSO Idle Timeout",
        "## 922. How to enable the 'Sign out idle SSO team account' option?": "## Authentication: Enabling SSO Idle Timeout",
        "## 923. Troubleshooting": "## Authentication: Troubleshooting SAML SSO",
        "## 924. SAML SSO with Okta": "## Authentication: SAML SSO with Okta",
        "## 925. Configuring SSO using SAML": "## Authentication: Configuring SAML SSO",
        "## 926. Supported identity providers": "## Authentication: Supported Identity Providers",
        "## 927. Okta to Document360 SAML SSO configuration": "## Authentication: Configuring Okta SAML SSO",
        "## 928. Sign up for Okta": "## Authentication: Setting Up an Okta Account",
        "## 929. Other configuration settings in the Azure AD portal": "## Authentication: Configuring Azure AD for SSO",
        "## 930. SAML SSO with Entra": "## Authentication: SAML SSO with Entra ID",
        "## 931. Adding a custom SAML app on Google": "## Authentication: Setting Up a Custom SAML App in Google",
        "## 932. Adding an application in the Azure portal": "## Authentication: Adding an Application in Azure AD",
        "## 933. SAML SSO with Google": "## Authentication: SAML SSO with Google Workspace",
        "## 934. SAML SSO with OneLogin": "## Authentication: SAML SSO with OneLogin",
        "## 935. Identity Provider configuration": "## Authentication: Configuring the Identity Provider",
        "## 936. Service Provider configuration": "## Authentication: Configuring the Service Provider - Google",
        "## 937. Adding an Application in OneLogin": "## Authentication: Adding a OneLogin Application",
        "## 938. Document360 SSO Configuration": "## Authentication: Configuring Document360 for SSO",
        "## 939. More Settings": "## Authentication: Advanced SSO Settings",
        "## 940. Adding an Application in ADFS": "## Authentication: Adding an ADFS Application",
        "## 941. Configuring SAML in OneLogin": "## Authentication: Configuring SAML in OneLogin",
        "## 942. Document360 Service Provider (SP) Configuration": "## Authentication: Configuring ADFS for Document360",
        "## 943. Configuring Claim Rules": "## Authentication: Configuring ADFS Claim Rules",
        "## 944. SAML SSO with ADFS": "## Authentication: SAML SSO with ADFS",
        "## 945. SAML SSO with other configurations": "## Authentication: SAML SSO with Other IdPs",
        "## 946. Configuring SAML in your Identity Provider": "## Authentication: Configuring SAML in Your IdP",
        "## 947. Document360 SAML SSO Configuration": "## Authentication: Configuring Document360 for ADFS SSO",
        "## 948. Adding an Application in your Identity Provider": "## Authentication: Adding an Application in Your IdP",
        "## 949. Enabling the IdP-initiated sign in": "## Authentication: Enabling IdP-Initiated Sign-In",
        "## 950. FAQs": "## Authentication: SAML SSO FAQs",
        "## 951. Document360 SSO Configuration": "## Authentication: Configuring Document360 for SAML SSO",
        "## 952. Identity Provider (IdP) initiated sign in": "## Authentication: Supported IdPs for IdP-Initiated Sign-In",
        "## 953. OpenID": "## Authentication: OpenID Connect SSO",
        "## 954. Removing a configured SAML SSO": "## Authentication: Removing a SAML SSO Configuration",
        "## 955. Configuring SSO using OpenID": "## Authentication: Configuring OpenID Connect SSO",
        "## 956. Supported identity providers": "## Authentication: Supported Identity Providers",  # Dupe 926, combine.
        "## 957. Troubleshooting": "## Authentication: Troubleshooting OpenID Connect SSO",
        "## 958. Adding an Application in Okta": "## Authentication: Adding an Okta Application for OpenID",
        "## 959. Document360 Service Provider (SP) Configuration": "## Authentication: Configuring Document360 as an OpenID SP",
        "## 960. Sign up for Okta": "## Authentication: Obtaining an Okta Account",  # Dupe, consolidate.
        "## 961. Okta with OpenID SSO Setup and Configuration": "## Authentication: Setting Up OpenID Connect SSO with Okta",
        "## 962. Creating an application in Auth0": "## Authentication: Creating an Auth0 Application",
        "## 963. Configure Auth0 OpenID with Document360": "## Authentication: Configuring Auth0 OpenID",
        "## 964. Document360 OpenID SSO Configuration": "## Authentication: Configuring Document360 for Okta OpenID",
        "## 965. Auth0 with OpenID SSO": "## Authentication: Setting Up OpenID Connect SSO with Auth0",
        "## 966. ADFS with OpenID SSO": "## Authentication: Setting Up OpenID Connect SSO with ADFS",
        "## 967. Document360 Service Provider (SP) Configuration": "## Authentication: Configuring Document360 as an OpenID SP - ADFS",
        "## 968. Configuring Claim Rules": "## Authentication: Configuring ADFS Claim Rules",  # Dupe, combine.
        "## 969. Adding an Application in ADFS": "## Authentication: Adding an ADFS Application for OpenID",  # combine
        "## 970. Document360 OpenID SSO Configuration": "## Authentication: Configuring Document360 for ADFS OpenID",
        "## 971. Other configurations with OpenID SSO": "## Authentication: OpenID Connect SSO with Other IdPs",
        "## 972. Configuring OpenID in Your Identity Provider": "## Authentication: Configuring OpenID in Your IdP",
        "## 973. Document360 OpenID SSO Configuration": "## Authentication: Configuring Document360 for OpenID SSO",
        "## 974. Adding an Application in Your Identity Provider": "## Authentication: Adding an Application in Your IdP for OpenID",
        "## 975. Document360 OpenID SSO Configuration": "## Authentication: Configuring Document360 with ADFS",  # Combine.
        "## 976. Enterprise SSO using **JWT**": "## Authentication: JWT SSO",
        "## 977. Removing a configured OpenID SSO": "## Authentication: Removing an OpenID SSO Configuration",
        "## 978. SSO configuration": "## Authentication: JWT SSO Configuration",
        "## 979. Setting up JWT SSO": "## Authentication: Setting Up JWT SSO",
        "## 980. Reader groups in Document360": "## User Management: Reader Groups",
        "## 981. JWT reader groups": "## Authentication: JWT Reader Groups",
        "## 982. Reader group IDs": "## User Management: Finding Reader Group IDs",
        "## 983. Enabling JWT reader groups": "## Authentication: Using JWT Reader Groups",
        "## 984. How to change the highlighted search result color in articles?": "## Site Customization: Customizing Search Highlight Color",
        "## 985. How to hide the project's workspace dropdown in the Knowledge base site?": "## Site Customization: Hiding the Workspace Dropdown",
        "## 986. How to change the color of the hyperlinks in Dark mode?": "## Site Customization: Customizing Hyperlink Color in Dark Mode",
        "## 987. How to enlarge the pdf preview in the article?": "## Site Customization: Enlarging PDF Previews",
        "## 988. How to add a vertical scrollbar to the code blocks?": "## Content Formatting: Adding Scrollbars to Code Blocks",
        "## 989. How to vertically align table contents at the top in the Knowledge base?": "## Content Formatting: Aligning Table Content",
        "## 990. How to make the table border bold in knowledge base?": "## Site Customization: Customizing Table Borders",
        "## 991. How to restrict the readers from copying the content?": "## Site Customization: Restricting Content Copying",
        "## 992. How to set the default height and width of the embedded PDF?": "## Content Enhancement: Setting Default PDF Dimensions",
        "## 993. Center align Headings in Markdown": "## Content Formatting: Centering Headings in Markdown",
        "## 994. How to center align the text in Markdown?": "## Content Formatting: Centering Text in Markdown",
        "## 995. How to change the color of the text in Markdown?": "## Content Formatting: Changing Text Color in Markdown",
        "## 996. How to change the language name text in code blocks?": "## Site Customization: Customizing Code Block Language Names",
        "## 997. How to center align the heading in the articles?": "## Site Customization: Centering Headings",
        "## 998. How to change the color of the table header?": "## Site Customization: Changing Table Header Color",
        "## 999. How to change the callouts color in dark mode?": "## Site Customization: Changing Callout Colors in Dark Mode",
        "## 1000. How to add extra space in Markdown?": "## Content Formatting: Adding Extra Space in Markdown",
        "## 1001. How to align the image in Markdown?": "## Content Formatting: Aligning Images in Markdown",
        "## 1002. How to add accordion in Markdown?": "## Content Formatting: Adding Accordions in Markdown",
        "## 1003. Advanced customizations for accordions": "## Site Customization: Advanced Accordion Customization",
        "## 1004. How to add a background image for a text content?": "## Site Customization: Adding Background Images to Text",
        "## 1005. How to sort the contents of a table?": "## Site Customization: Sorting Table Content",
        "## 1006. How to align images in Markdown?": "## Content Enhancement: Aligning Images in Markdown",  # Combine with 1001
        "## 1007. How to make all links open in new tab?": "## Site Customization: Opening Links in New Tabs",
        "## 1008. How to change the color of the table of contents?": "## Site Customization: Changing Table of Contents Color",
        "## 1009. How to set a default featured image in knowledge base?": "## Content Enhancement: Setting Default Featured Images",
        "## 1010. How to customize the hyperlink size?": "## Site Customization: Customizing Hyperlink Size",
        "## 1011. How to add borders to an image in Markdown?": "## Content Formatting: Adding Image Borders in Markdown",
        "## 1012. How to embed YouTube Shorts?": "## Content Enhancement: Embedding YouTube Shorts",
        "## 1013. How to add shadows to an image in Markdown?": "## Content Formatting: Adding Image Shadows in Markdown",
        "## 1014. How to set the default featured image for articles?": "## Content Enhancement: Setting Default Featured Images",  # Dupe
        "## 1015. How to embed an Excel file?": "## Content Enhancement: Embedding Excel Files",
        "## 1016. Embedding an Excel file": "## Content Enhancement: Embedding Excel Files - Process",  # Combine
        "## 1017. Solution": "## Site Customization: Changing Feedback Button Colors",  # Consolidate similar customizations.
        "## 1018. How to change the color of Feedback buttons?": "## Site Customization: Changing Feedback Button Colors",  # Consolidate
        "## 1019. How to hide footer in mobile view?": "## Site Customization: Hiding the Footer on Mobile",
        "## 1020. How to embed a Loom video?": "## Content Enhancement: Embedding Loom Videos",
        "## 1021. Solution": "## Site Customization: Changing Header Hover Color",  # Consolidate.
        "## 1022. How to change the hover color of the header options?": "## Site Customization: Changing Header Hover Color",  # Consolidate.
        "## 1023. How to move the related articles above the feedback section?": "## Site Customization: Repositioning Related Articles",
        "## 1024. Solution": "## Site Customization: Hiding Footer in Mobile View",  # consolidate 1019, 1024
        "## 1025. Solution": "## Site Customization: Hiding the Change Password Option",  # Specific
        "## 1026. How to hide the category manager?": "## Site Customization: Hiding the Category Manager",
        "## 1027. How to move the related articles section above the feedback section?": "## Site Customization: Repositioning Related Articles",  # combine with 1023
        "## 1028. How to configure a custom font in the knowledge base?": "## Site Customization: Configuring Custom Fonts",
        "## 1029. Solution": "## Site Customization: Hiding the Category Manager",  # Combine with 1026
        "## 1030. How to hide the left navigation bar in the knowledge base site?": "## Site Customization: Hiding the Left Navigation Bar",
        "## 1031. Plans and pricing": "## Billing: Plans and Pricing",
        "## 1032. Solution": "## Site Customization: Hiding the Left Navigation Bar",  # Combine 1030, 1032.
        "## 1033. Accessing Billing overview page": "## Billing: Accessing Billing Overview",
        "## 1034. Upgrading your subscription plan": "## Billing: Upgrading Your Plan",
        "## 1035. Plans available in Document360": "## Billing: Available Plans",
        "## 1036. Plan comparison": "## Billing: Plan Comparison",
        "## 1037. Pricing page": "## Billing: Upgrading Your Plan",
        "## 1038. Upgrading for users on legacy pricing plans": "## Billing: Upgrading from Legacy Plans",
        "## 1039. FAQs": "## Billing: Upgrade FAQs",
        "## 1040. Upgrading for users on legacy free plan": "## Billing: Upgrading from Legacy Free Plan",
        "## 1041. Pricing page": "## Billing: Downgrading Your Plan",
        "## 1042. Downgrading your subscription plan": "## Billing: Downgrading Your Plan",
        "## 1043. Plan comparison": "## Billing: Downgrade - Plan Comparison",
        "## 1044. Important considerations for all downgrades": "## Billing: Downgrade Considerations",
        "## 1045. FAQs": "## Billing: Downgrade FAQs",
        "## 1046. Downgrading for users on legacy pricing plans": "## Billing: Downgrading from Legacy Plans",
        "## 1047. Post-downgrade tips": "## Billing: Post-Downgrade Tips",
        "## 1048. Changing your plan during the trial period": "## Billing: Changing Plans During Trial",
        "## 1049. Subscribing to a Document360 plan": "## Billing: Subscribing to a Plan",
        "## 1050. Purchasing add-ons": "## Billing: Purchasing Add-ons",
        "## 1051. Upgrading from trial version": "## Billing: Upgrading from Trial",
        "## 1052. Changing payment information": "## Billing: Updating Payment Information",
        "## 1053. FAQs": "## Billing: Payment Information FAQs",
        "## 1054. FAQs": "## Billing: Trial Period FAQs",
        "## 1055. Manage your Channel": "## Notifications: Managing Notification Channels",
        "## 1056. Notification History": "## Notifications: Viewing Notification History",
        "## 1057. Hiding Category": "## Content Organization: Hiding Categories",
        "## 1058. Custom Footer": "## Site Customization: Custom Footers",
        "## 1059. Category tree enhancement": "## Updates: Category Tree Enhancements",  # Group with Release Updates
        "## 1060. Viewing the status of your ticket": "## Support: Viewing Ticket Status",
        "## 1061. Support ticket": "## Support: Support Ticket Information",
        "## 1062. Raising a support ticket": "## Support: Raising Support Tickets",
        "## 1063. Exporting tickets": "## Support: Exporting Support Tickets",
        "## 1064. What is an HAR file?": "## Troubleshooting: Understanding HAR Files",
        "## 1065. Generate HAR files in web browsers": "## Troubleshooting: Generating HAR Files",
    }

    with (
        open(input_filename, "r", encoding="utf-8") as infile,
        open(output_filename, "w", encoding="utf-8") as outfile,
    ):
        for line in infile:
            matched = False
            for original_heading, new_heading in heading_changes.items():
                # Match whole line, ignoring leading/trailing spaces
                if line.strip() == original_heading:
                    outfile.write(new_heading + "\n")
                    matched = True
                    break  # Stop after the first match

            if not matched:
                outfile.write(line)

    print(f"Markdown headings refactored. Output saved to {output_filename}")


# Example usage
input_file = "d363.md"
output_file = "d364.md"
refactor_markdown_headings(input_file, output_file)
