@knowcode/doc-builder 1.9.30 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. package/lib/core-builder.js +164 -174
  2. package/lib/emoji-mapper.js +27 -12
  3. package/package.json +12 -2
  4. package/.claude/settings.local.json +0 -56
  5. package/CACHE-BUSTING-GUIDE.md +0 -82
  6. package/CLAUDE.md +0 -86
  7. package/CONTRIBUTING.md +0 -148
  8. package/GITHUB_SETUP.md +0 -203
  9. package/RELEASE-NOTES-1.7.5.md +0 -64
  10. package/Screenshot 2025-07-22 at 19.51.21.png +0 -0
  11. package/Screenshot 2025-07-26 at 17.06.49.png +0 -0
  12. package/add-user-clive.sql +0 -35
  13. package/add-user-lindsay-fixed.sql +0 -85
  14. package/add-user-lindsay.sql +0 -68
  15. package/add-user-pmorgan.sql +0 -35
  16. package/add-user-robbie.sql +0 -35
  17. package/add-wru-users.sql +0 -105
  18. package/debug-login.sql +0 -30
  19. package/doc-builder.config.js +0 -126
  20. package/doc-builder.config.js.backup.1753793768283 +0 -47
  21. package/doc-builder.config.js.backup.1753803964423 +0 -114
  22. package/doc-builder.config.js.backup.1753945707032 +0 -115
  23. package/doc-builder.config.js.backup.1754059241330 +0 -115
  24. package/doc-builder.config.js.backup.1754119567787 +0 -123
  25. package/doc-builder.config.js.backup.1754120048862 +0 -124
  26. package/doc-builder.config.js.backup.1754120529913 +0 -124
  27. package/doc-builder.config.js.backup.1754218469785 +0 -124
  28. package/doc-builder.config.js.backup.1754384764054 +0 -124
  29. package/doc-builder.config.js.backup.1754567425847 +0 -124
  30. package/doc-builder.config.js.backup.1754568137859 +0 -126
  31. package/doc-builder.config.js.backup.1754569388252 +0 -126
  32. package/doc-builder.config.js.backup.1754576694123 +0 -126
  33. package/doc-builder.config.js.backup.1755031374829 +0 -126
  34. package/doc-builder.config.js.backup.1755034500990 +0 -126
  35. package/doc-builder.config.js.backup.1755034809236 +0 -126
  36. package/grant-access.sql +0 -15
  37. package/html/11.png +0 -0
  38. package/html/404.html +0 -115
  39. package/html/README.html +0 -522
  40. package/html/Screenshot 2025-08-12 at 21.35.07.png +0 -0
  41. package/html/about-doc-builder.html +0 -491
  42. package/html/auth.js +0 -157
  43. package/html/claude-workflow-guide.html +0 -525
  44. package/html/css/notion-style.css +0 -2502
  45. package/html/documentation-index.html +0 -471
  46. package/html/guides/authentication-default-change.html +0 -370
  47. package/html/guides/authentication-guide.html +0 -509
  48. package/html/guides/cache-control-anti-pattern.html +0 -361
  49. package/html/guides/claude-workflow-guide.html +0 -1074
  50. package/html/guides/configuration-guide.html +0 -472
  51. package/html/guides/document-standards.html +0 -518
  52. package/html/guides/documentation-standards.html +0 -694
  53. package/html/guides/html-embedding-guide.html +0 -461
  54. package/html/guides/image-modal-guide.html +0 -515
  55. package/html/guides/next-steps-walkthrough.html +0 -638
  56. package/html/guides/phosphor-icons-guide.html +0 -584
  57. package/html/guides/private-directory-authentication-troubleshooting.html +0 -555
  58. package/html/guides/private-directory-authentication.html +0 -541
  59. package/html/guides/public-site-deployment.html +0 -431
  60. package/html/guides/search-engine-verification-guide.html +0 -542
  61. package/html/guides/seo-guide.html +0 -661
  62. package/html/guides/seo-optimization-guide.html +0 -887
  63. package/html/guides/supabase-auth-implementation-plan.html +0 -543
  64. package/html/guides/supabase-auth-integration-plan.html +0 -671
  65. package/html/guides/supabase-auth-setup-guide.html +0 -498
  66. package/html/guides/supabase-authentication-complete-guide.html +0 -866
  67. package/html/guides/troubleshooting-guide.html +0 -633
  68. package/html/guides/vercel-deployment-auth-setup.html +0 -337
  69. package/html/guides/windows-setup-guide.html +0 -859
  70. package/html/image-modal-test.html +0 -318
  71. package/html/index.html +0 -522
  72. package/html/js/auth.js +0 -157
  73. package/html/js/main.js +0 -1754
  74. package/html/launch/README.html +0 -297
  75. package/html/launch/bubble-plugin-specification.html +0 -933
  76. package/html/launch/go-to-market-strategy.html +0 -663
  77. package/html/launch/launch-announcements.html +0 -593
  78. package/html/login.html +0 -102
  79. package/html/logout.html +0 -18
  80. package/html/private/cache-control-anti-pattern.html +0 -429
  81. package/html/private/launch/README.html +0 -371
  82. package/html/private/launch/auth-cleanup-summary.html +0 -361
  83. package/html/private/launch/bubble-plugin-specification.html +0 -1007
  84. package/html/private/launch/go-to-market-strategy.html +0 -737
  85. package/html/private/launch/launch-announcements.html +0 -667
  86. package/html/private/launch/vercel-deployment-auth-setup.html +0 -417
  87. package/html/private/next-steps-walkthrough.html +0 -679
  88. package/html/private/supabase-auth-implementation-completed.html +0 -454
  89. package/html/private/supabase-auth-implementation-plan.html +0 -594
  90. package/html/private/supabase-auth-integration-plan.html +0 -704
  91. package/html/private/supabase-auth-setup-guide.html +0 -555
  92. package/html/private/test-private-doc.html +0 -302
  93. package/html/private/user-management-tooling.html +0 -601
  94. package/html/prompts/Screenshot 2025-08-02 at 08.49.55.png +0 -0
  95. package/html/prompts/beautiful-documentation-design.html +0 -784
  96. package/html/prompts/markdown-document-standards.html +0 -422
  97. package/html/prompts/project-rename-strategy-sasha-publish.html +0 -530
  98. package/html/robots.txt +0 -9
  99. package/html/sitemap.xml +0 -357
  100. package/html/test-questions/how-does-it-work%3F.html +0 -294
  101. package/html/test-questions/step-1%3A%20getting-started.html +0 -289
  102. package/html/test-questions/what-is-the-purpose.html +0 -293
  103. package/html/test-status.html +0 -281
  104. package/html/vercel-cli-setup-guide.html +0 -495
  105. package/html/vercel-first-time-setup-guide.html +0 -454
  106. package/html/vercel.json +0 -29
  107. package/html-static/11.png +0 -0
  108. package/html-static/404.html +0 -115
  109. package/html-static/README.html +0 -609
  110. package/html-static/Screenshot 2025-08-12 at 21.35.07.png +0 -0
  111. package/html-static/about-doc-builder.html +0 -578
  112. package/html-static/css/notion-style.css +0 -2502
  113. package/html-static/documentation-index.html +0 -558
  114. package/html-static/guides/authentication-default-change.html +0 -457
  115. package/html-static/guides/authentication-guide.html +0 -596
  116. package/html-static/guides/claude-workflow-guide.html +0 -1161
  117. package/html-static/guides/configuration-guide.html +0 -559
  118. package/html-static/guides/documentation-standards.html +0 -781
  119. package/html-static/guides/html-embedding-guide.html +0 -548
  120. package/html-static/guides/image-modal-guide.html +0 -602
  121. package/html-static/guides/phosphor-icons-guide.html +0 -671
  122. package/html-static/guides/private-directory-authentication-troubleshooting.html +0 -642
  123. package/html-static/guides/private-directory-authentication.html +0 -628
  124. package/html-static/guides/public-site-deployment.html +0 -518
  125. package/html-static/guides/search-engine-verification-guide.html +0 -629
  126. package/html-static/guides/seo-guide.html +0 -748
  127. package/html-static/guides/seo-optimization-guide.html +0 -974
  128. package/html-static/guides/supabase-authentication-complete-guide.html +0 -953
  129. package/html-static/guides/troubleshooting-guide.html +0 -720
  130. package/html-static/guides/windows-setup-guide.html +0 -946
  131. package/html-static/image-modal-test.html +0 -405
  132. package/html-static/index.html +0 -609
  133. package/html-static/js/main.js +0 -1754
  134. package/html-static/prompts/Screenshot 2025-08-02 at 08.49.55.png +0 -0
  135. package/html-static/prompts/beautiful-documentation-design.html +0 -871
  136. package/html-static/prompts/markdown-document-standards.html +0 -509
  137. package/html-static/prompts/project-rename-strategy-sasha-publish.html +0 -617
  138. package/html-static/robots.txt +0 -5
  139. package/html-static/sitemap.xml +0 -195
  140. package/html-static/test-questions/how-does-it-work%3F.html +0 -381
  141. package/html-static/test-questions/step-1%3A%20getting-started.html +0 -376
  142. package/html-static/test-questions/what-is-the-purpose.html +0 -380
  143. package/html-static/vercel-cli-setup-guide.html +0 -582
  144. package/html-static/vercel-first-time-setup-guide.html +0 -541
  145. package/manage-users.sql +0 -191
  146. package/migrate-to-domain-auth.sql +0 -47
  147. package/package/CACHE-BUSTING-GUIDE.md +0 -82
  148. package/package/CHANGELOG.md +0 -902
  149. package/package/README.md +0 -248
  150. package/package/assets/css/notion-style.css +0 -2211
  151. package/package/assets/js/auth.js +0 -67
  152. package/package/assets/js/main.js +0 -1565
  153. package/package/cli.js +0 -764
  154. package/package/index.js +0 -38
  155. package/package/knowcode-doc-builder-1.3.15.tgz +0 -0
  156. package/package/lib/builder.js +0 -32
  157. package/package/lib/config.js +0 -278
  158. package/package/lib/core-builder.js +0 -957
  159. package/package/lib/deploy.js +0 -497
  160. package/package/lib/dev-server.js +0 -96
  161. package/package/package.json +0 -34
  162. package/package/scripts/npx-runner.js +0 -27
  163. package/package/scripts/setup.js +0 -56
  164. package/package/test-cache-bust.sh +0 -43
  165. package/public-config.js +0 -22
  166. package/public-html/404.html +0 -115
  167. package/public-html/README.html +0 -149
  168. package/public-html/css/notion-style.css +0 -2036
  169. package/public-html/index.html +0 -149
  170. package/public-html/js/auth.js +0 -67
  171. package/public-html/js/main.js +0 -1485
  172. package/quick-test-commands.md +0 -40
  173. package/recordings/Screenshot 2025-07-24 at 18.22.01.png +0 -0
  174. package/recordings/mh-ls-22jul.txt +0 -2305
  175. package/screenshot.png +0 -0
  176. package/scripts/Screenshot 2025-07-23 at 15.39.41.png +0 -0
  177. package/setup-database-v2.sql +0 -53
  178. package/setup-database.sql +0 -41
  179. package/test-auth-config.js +0 -17
  180. package/test-cache-bust.sh +0 -43
  181. package/test-docs/README.md +0 -39
  182. package/test-html/404.html +0 -115
  183. package/test-html/README.html +0 -172
  184. package/test-html/auth.js +0 -97
  185. package/test-html/css/notion-style.css +0 -2036
  186. package/test-html/index.html +0 -172
  187. package/test-html/js/auth.js +0 -97
  188. package/test-html/js/main.js +0 -1485
  189. package/test-html/login.html +0 -102
  190. package/test-html/logout.html +0 -18
  191. package/update-domain.sql +0 -9
  192. package/user-access-view.sql +0 -49
  193. package/user-management/README.md +0 -301
  194. package/user-management/add-users.sh +0 -776
  195. package/user-management/create-user.js +0 -65
  196. package/user-management/users.txt +0 -15
  197. package/view-all-users.sql +0 -40
  198. package/wru-auth-config.js +0 -17
@@ -1,933 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <meta name="description" content="This document outlines the technical specification for creating a Bubble.io plugin that integrates @knowcode/doc-builder, enabling Bubble developers to...">
7
- <title>Bubble.io Plugin Specification | @knowcode/doc-builder</title>
8
-
9
- <meta name="author" content="Lindsay Smith">
10
- <meta name="keywords" content="documentation, markdown, static site generator, vercel, notion-style, text, bubble">
11
- <meta name="robots" content="index, follow">
12
- <link rel="canonical" href="https://doc-builder-delta.vercel.app/launch/bubble-plugin-specification.html">
13
-
14
- <!-- Open Graph / Facebook -->
15
- <meta property="og:type" content="article">
16
- <meta property="og:url" content="https://doc-builder-delta.vercel.app/launch/bubble-plugin-specification.html">
17
- <meta property="og:title" content="Bubble.io Plugin Specification | @knowcode/doc-builder">
18
- <meta property="og:description" content="This document outlines the technical specification for creating a Bubble.io plugin that integrates @knowcode/doc-builder, enabling Bubble developers to...">
19
- <meta property="og:image" content="https://doc-builder-delta.vercel.app/og-default.png">
20
- <meta property="og:site_name" content="@knowcode/doc-builder">
21
- <meta property="og:locale" content="en_US">
22
-
23
- <!-- Twitter Card -->
24
- <meta name="twitter:card" content="summary_large_image">
25
- <meta name="twitter:site" content="@planbbackups">
26
- <meta name="twitter:creator" content="@planbbackups">
27
- <meta name="twitter:title" content="Bubble.io Plugin Specification | @knowcode/doc-builder">
28
- <meta name="twitter:description" content="This document outlines the technical specification for creating a Bubble.io plugin that integrates @knowcode/doc-builder, enabling Bubble developers to...">
29
- <meta name="twitter:image" content="https://doc-builder-delta.vercel.app/og-default.png">
30
-
31
- <!-- Custom Meta Tags -->
32
- <meta name="google-site-verification" content="FtzcDTf5BQ9K5EfnGazQkgU2U4FiN3ITzM7gHwqUAqQ">
33
- <meta name="msvalidate.01" content="B2D8C4C12C530D47AA962B24CAA09630">
34
-
35
- <!-- Fonts -->
36
- <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
37
-
38
- <!-- Icons -->
39
- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">
40
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@phosphor-icons/web@2.1.1/src/regular/style.css">
41
-
42
- <!-- Mermaid -->
43
- <script src="https://cdn.jsdelivr.net/npm/mermaid@10.6.1/dist/mermaid.min.js"></script>
44
-
45
- <!-- Styles -->
46
- <link rel="stylesheet" href="/css/notion-style.css">
47
-
48
-
49
-
50
- <!-- Favicon -->
51
- <link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>✨</text></svg>">
52
-
53
- <script type="application/ld+json">
54
- {
55
- "@context": "https://schema.org",
56
- "@type": "TechArticle",
57
- "headline": "Bubble.io Plugin Specification",
58
- "description": "This document outlines the technical specification for creating a Bubble.io plugin that integrates @knowcode/doc-builder, enabling Bubble developers to...",
59
- "author": {
60
- "@type": "Person",
61
- "name": "Lindsay Smith"
62
- },
63
- "publisher": {
64
- "@type": "Organization",
65
- "name": "Knowcode Ltd",
66
- "url": "https://knowcode.tech"
67
- },
68
- "datePublished": "2025-07-25T13:49:06.569Z",
69
- "dateModified": "2025-07-25T13:49:06.569Z",
70
- "mainEntityOfPage": {
71
- "@type": "WebPage",
72
- "@id": "https://doc-builder-delta.vercel.app/launch/bubble-plugin-specification.html"
73
- },
74
- "breadcrumb": {
75
- "@type": "BreadcrumbList",
76
- "itemListElement": [
77
- {
78
- "@type": "ListItem",
79
- "position": 1,
80
- "name": "@knowcode/doc-builder",
81
- "item": "https://doc-builder-delta.vercel.app"
82
- },
83
- {
84
- "@type": "ListItem",
85
- "position": 2,
86
- "name": "Launch",
87
- "item": "https://doc-builder-delta.vercel.app/launch/"
88
- },
89
- {
90
- "@type": "ListItem",
91
- "position": 3,
92
- "name": "Bubble Plugin Specification",
93
- "item": "https://doc-builder-delta.vercel.app/launch/bubble-plugin-specification.html"
94
- }
95
- ]
96
- }
97
- }
98
- </script>
99
- </head>
100
- <body>
101
- <!-- Header -->
102
- <header class="header">
103
- <div class="header-content">
104
- <a href="/index.html" class="logo">@knowcode/doc-builder</a>
105
-
106
- <div class="header-actions">
107
- <div class="deployment-info">
108
- <span class="deployment-date" title="Built with doc-builder v1.7.5">Last updated: Jul 25, 2025, 01:49 PM UTC</span>
109
- </div>
110
-
111
-
112
-
113
- <button id="theme-toggle" class="theme-toggle" aria-label="Toggle theme">
114
- <i class="fas fa-moon"></i>
115
- </button>
116
-
117
- <button id="menu-toggle" class="menu-toggle" aria-label="Toggle menu">
118
- <i class="fas fa-bars"></i>
119
- </button>
120
- </div>
121
- </div>
122
- </header>
123
-
124
- <!-- Preview Banner -->
125
- <div id="preview-banner" class="preview-banner">
126
- <div class="banner-content">
127
- <i class="fas fa-exclamation-triangle banner-icon"></i>
128
- <span class="banner-text">This documentation is a preview version - some content may be incomplete</span>
129
- <button id="dismiss-banner" class="banner-dismiss" aria-label="Dismiss banner">
130
- <i class="fas fa-times"></i>
131
- </button>
132
- </div>
133
- </div>
134
-
135
- <!-- Breadcrumbs -->
136
- <nav class="breadcrumbs" id="breadcrumbs">
137
- <!-- Breadcrumbs will be generated by JavaScript -->
138
- </nav>
139
-
140
- <!-- Main Content -->
141
- <div class="main-wrapper">
142
- <!-- Sidebar -->
143
- <aside class="sidebar">
144
- <div class="sidebar-header">
145
- <div class="filter-box">
146
- <input type="text" placeholder="Filter items..." class="filter-input" id="nav-filter">
147
- <i class="fas fa-search filter-icon"></i>
148
- </div>
149
- </div>
150
- <nav class="navigation">
151
-
152
- <div class="nav-section" data-level="0">
153
- <a class="nav-title" href="/README.html" >
154
- <i class="fas fa-home"></i> Documentation
155
- </a>
156
- <div class="nav-content" >
157
- <a href="/README.html" class="nav-item" data-tooltip="@knowcode/doc-builder."><i class="fas fa-file-alt"></i> Overview</a>
158
- <a href="/documentation-index.html" class="nav-item" data-tooltip="This directory contains additional documentation for the @knowcode/doc-builder project, organized by topic and purpose."><i class="fas fa-file-alt"></i> Documentation Index</a>
159
- <a href="/vercel-cli-setup-guide.html" class="nav-item" data-tooltip="This guide provides comprehensive instructions for installing the Vercel CLI across different operating systems."><i class="fas fa-file-alt"></i> Vercel Cli Setup Guide</a>
160
- <a href="/vercel-first-time-setup-guide.html" class="nav-item" data-tooltip="This guide walks you through the Vercel deployment process when using ."><i class="fas fa-file-alt"></i> Vercel First Time Setup Guide</a></div></div>
161
- <div class="nav-section" data-level="1">
162
- <a class="nav-title collapsible" href="#" data-target="nav-guides-1" >
163
- <i class="fas fa-chevron-right collapse-icon"></i><i class="fas fa-folder"></i> Guides
164
- </a>
165
- <div class="nav-content collapsed" id="nav-guides-1">
166
- <a href="/guides/authentication-default-change.html" class="nav-item" data-tooltip="Starting from version 1.7.4, @knowcode/doc-builder now defaults to no authentication for all documentation sites."><i class="fas fa-file-alt"></i> Authentication Default Change</a>
167
- <a href="/guides/authentication-guide.html" class="nav-item" data-tooltip="🚨 This authentication method has been REMOVED in version 2.0.0 due to serious security flaws."><i class="fas fa-file-alt"></i> Authentication Guide</a>
168
- <a href="/guides/cache-control-anti-pattern.html" class="nav-item" data-tooltip="Cache Control Anti-Pattern: Why Aggressive Cache-Busting is Bad for Documentation Sites."><i class="fas fa-file-alt"></i> Cache Control Anti Pattern</a>
169
- <a href="/guides/claude-workflow-guide.html" class="nav-item" data-tooltip="This guide demonstrates an efficient workflow for using Claude Code with a refined CLAUDE.md file to create high-quality documentation and deploy it..."><i class="fas fa-file-alt"></i> Claude Workflow Guide</a>
170
- <a href="/guides/documentation-standards.html" class="nav-item" data-tooltip="This document defines the documentation standards and conventions for the @knowcode/doc-builder project."><i class="fas fa-file-alt"></i> Documentation Standards</a>
171
- <a href="/guides/next-steps-walkthrough.html" class="nav-item" data-tooltip="Now that we&#039;ve implemented Supabase authentication, let&#039;s walk through testing the implementation and preparing for deployment."><i class="fas fa-file-alt"></i> Next Steps Walkthrough</a>
172
- <a href="/guides/phosphor-icons-guide.html" class="nav-item" data-tooltip="@knowcode/doc-builder automatically converts Unicode emojis in your markdown files to beautiful Phosphor icons in the generated HTML."><i class="fas fa-file-alt"></i> Phosphor Icons Guide</a>
173
- <a href="/guides/public-site-deployment.html" class="nav-item" data-tooltip="The @knowcode/doc-builder now supports deploying public documentation sites without authentication."><i class="fas fa-file-alt"></i> Public Site Deployment</a>
174
- <a href="/guides/search-engine-verification-guide.html" class="nav-item" data-tooltip="Search engine verification provides access to powerful webmaster tools:."><i class="fas fa-file-alt"></i> Search Engine Verification Guide</a>
175
- <a href="/guides/seo-guide.html" class="nav-item" data-tooltip="@knowcode/doc-builder includes comprehensive SEO (Search Engine Optimization) features to help your documentation rank better in search results and..."><i class="fas fa-file-alt"></i> Seo Guide</a>
176
- <a href="/guides/seo-optimization-guide.html" class="nav-item" data-tooltip="@knowcode/doc-builder includes comprehensive SEO (Search Engine Optimization) features that automatically optimize your documentation for search..."><i class="fas fa-file-alt"></i> Seo Optimization Guide</a>
177
- <a href="/guides/supabase-auth-implementation-plan.html" class="nav-item" data-tooltip="Supabase Auth Implementation Plan for @knowcode/doc-builder."><i class="fas fa-file-alt"></i> Supabase Auth Implementation Plan</a>
178
- <a href="/guides/supabase-auth-integration-plan.html" class="nav-item" data-tooltip="Supabase Authentication Integration Plan for @knowcode/doc-builder."><i class="fas fa-file-alt"></i> Supabase Auth Integration Plan</a>
179
- <a href="/guides/supabase-auth-setup-guide.html" class="nav-item" data-tooltip="@knowcode/doc-builder now supports enterprise-grade authentication through Supabase, replacing the previous insecure basic authentication."><i class="fas fa-file-alt"></i> Supabase Auth Setup Guide</a>
180
- <a href="/guides/troubleshooting-guide.html" class="nav-item" data-tooltip="This guide helps you resolve common issues when using @knowcode/doc-builder."><i class="fas fa-file-alt"></i> Troubleshooting Guide</a>
181
- <a href="/guides/vercel-deployment-auth-setup.html" class="nav-item" data-tooltip="Vercel Deployment Authentication Setup Guide."><i class="fas fa-file-alt"></i> Vercel Deployment Auth Setup</a>
182
- <a href="/guides/windows-setup-guide.html" class="nav-item" data-tooltip="This guide helps Windows users set up the complete AI-powered documentation workflow using Claude Code, @knowcode/doc-builder, and Vercel."><i class="fas fa-file-alt"></i> Windows Setup Guide</a></div></div>
183
- <div class="nav-section" data-level="1">
184
- <a class="nav-title collapsible expanded" href="/launch/README.html" data-target="nav-launch-1" >
185
- <i class="fas fa-chevron-right collapse-icon"></i><i class="fas fa-folder"></i> Launch
186
- </a>
187
- <div class="nav-content" id="nav-launch-1">
188
- <a href="/launch/README.html" class="nav-item" data-tooltip="This directory contains all documentation related to the commercial launch of @knowcode/doc-builder, including go-to-market strategy, platform..."><i class="fas fa-file-alt"></i> Launch Overview</a>
189
- <a href="/launch/bubble-plugin-specification.html" class="nav-item active" data-tooltip="This document outlines the technical specification for creating a Bubble.io plugin that integrates @knowcode/doc-builder, enabling Bubble developers..."><i class="fas fa-file-alt"></i> Bubble Plugin Specification</a>
190
- <a href="/launch/go-to-market-strategy.html" class="nav-item" data-tooltip="Go-to-Market Strategy &amp; Product Launch Plan."><i class="fas fa-file-alt"></i> Go To Market Strategy</a>
191
- <a href="/launch/launch-announcements.html" class="nav-item" data-tooltip="This document contains ready-to-use announcement templates for launching @knowcode/doc-builder across various platforms and channels."><i class="fas fa-file-alt"></i> Launch Announcements</a></div></div>
192
- </nav>
193
- <div class="resize-handle"></div>
194
- </aside>
195
-
196
- <!-- Content Area -->
197
- <main class="content">
198
- <div class="content-inner">
199
- <h1>Bubble.io Plugin Specification</h1>
200
- <h2>Overview</h2>
201
- <p>This document outlines the technical specification for creating a Bubble.io plugin that integrates @knowcode/doc-builder, enabling Bubble developers to create and manage beautiful documentation directly from their Bubble applications.</p>
202
- <h2>Plugin Architecture</h2>
203
- <h3>Core Components</h3>
204
- <pre><code>bubble-doc-builder/
205
- ├── plugin.json # Plugin manifest
206
- ├── elements/
207
- │ ├── DocViewer/ # Main documentation viewer
208
- │ │ ├── element.json # Element configuration
209
- │ │ ├── preview.js # Editor preview
210
- │ │ ├── runtime.js # Runtime behavior
211
- │ │ └── style.css # Component styling
212
- │ ├── DocSearch/ # Search component
213
- │ └── DocNav/ # Navigation widget
214
- ├── actions/
215
- │ ├── generate-docs/ # Generate documentation
216
- │ ├── deploy-to-vercel/ # Deploy documentation
217
- │ ├── update-content/ # Update doc content
218
- │ └── sync-from-bubble/ # Sync Bubble data
219
- ├── api/
220
- │ ├── calls/ # API definitions
221
- │ └── shared.js # Shared utilities
222
- └── assets/
223
- ├── icons/ # Plugin icons
224
- └── templates/ # Doc templates
225
- </code></pre>
226
- <h2>Element Specifications</h2>
227
- <h3>1. DocViewer Element</h3>
228
- <p>The main component for displaying documentation within Bubble apps.</p>
229
- <h4>Properties</h4>
230
- <table>
231
- <thead>
232
- <tr>
233
- <th>Property</th>
234
- <th>Type</th>
235
- <th>Default</th>
236
- <th>Description</th>
237
- </tr>
238
- </thead>
239
- <tbody><tr>
240
- <td>doc_url</td>
241
- <td>text</td>
242
- <td>&quot;&quot;</td>
243
- <td>URL of hosted documentation</td>
244
- </tr>
245
- <tr>
246
- <td>theme</td>
247
- <td>dropdown</td>
248
- <td>&quot;light&quot;</td>
249
- <td>Theme selection (light/dark/auto)</td>
250
- </tr>
251
- <tr>
252
- <td>show_navigation</td>
253
- <td>boolean</td>
254
- <td>true</td>
255
- <td>Show/hide navigation sidebar</td>
256
- </tr>
257
- <tr>
258
- <td>show_search</td>
259
- <td>boolean</td>
260
- <td>true</td>
261
- <td>Enable search functionality</td>
262
- </tr>
263
- <tr>
264
- <td>custom_css</td>
265
- <td>text</td>
266
- <td>&quot;&quot;</td>
267
- <td>Custom CSS overrides</td>
268
- </tr>
269
- <tr>
270
- <td>height</td>
271
- <td>number</td>
272
- <td>600</td>
273
- <td>Viewer height in pixels</td>
274
- </tr>
275
- <tr>
276
- <td>auth_required</td>
277
- <td>boolean</td>
278
- <td>false</td>
279
- <td>Require authentication</td>
280
- </tr>
281
- <tr>
282
- <td>auth_token</td>
283
- <td>text</td>
284
- <td>&quot;&quot;</td>
285
- <td>Authentication token</td>
286
- </tr>
287
- </tbody></table>
288
- <h4>States</h4>
289
- <table>
290
- <thead>
291
- <tr>
292
- <th>State</th>
293
- <th>Type</th>
294
- <th>Description</th>
295
- </tr>
296
- </thead>
297
- <tbody><tr>
298
- <td>is_loading</td>
299
- <td>boolean</td>
300
- <td>Documentation loading state</td>
301
- </tr>
302
- <tr>
303
- <td>current_page</td>
304
- <td>text</td>
305
- <td>Current page path</td>
306
- </tr>
307
- <tr>
308
- <td>search_results</td>
309
- <td>list</td>
310
- <td>Search results array</td>
311
- </tr>
312
- <tr>
313
- <td>error_message</td>
314
- <td>text</td>
315
- <td>Error details if any</td>
316
- </tr>
317
- </tbody></table>
318
- <h4>Events</h4>
319
- <ul>
320
- <li><strong>Documentation Loaded</strong> - Triggered when docs load</li>
321
- <li><strong>Page Changed</strong> - Fired on navigation</li>
322
- <li><strong>Search Performed</strong> - When user searches</li>
323
- <li><strong>Error Occurred</strong> - On loading errors</li>
324
- </ul>
325
- <h3>2. DocSearch Element</h3>
326
- <p>Standalone search widget for documentation.</p>
327
- <h4>Properties</h4>
328
- <table>
329
- <thead>
330
- <tr>
331
- <th>Property</th>
332
- <th>Type</th>
333
- <th>Default</th>
334
- <th>Description</th>
335
- </tr>
336
- </thead>
337
- <tbody><tr>
338
- <td>doc_source</td>
339
- <td>text</td>
340
- <td>&quot;&quot;</td>
341
- <td>Documentation source URL</td>
342
- </tr>
343
- <tr>
344
- <td>placeholder</td>
345
- <td>text</td>
346
- <td>&quot;Search docs...&quot;</td>
347
- <td>Search placeholder</td>
348
- </tr>
349
- <tr>
350
- <td>max_results</td>
351
- <td>number</td>
352
- <td>10</td>
353
- <td>Maximum results</td>
354
- </tr>
355
- <tr>
356
- <td>show_preview</td>
357
- <td>boolean</td>
358
- <td>true</td>
359
- <td>Show result previews</td>
360
- </tr>
361
- </tbody></table>
362
- <h3>3. DocNav Element</h3>
363
- <p>Navigation tree component.</p>
364
- <h4>Properties</h4>
365
- <table>
366
- <thead>
367
- <tr>
368
- <th>Property</th>
369
- <th>Type</th>
370
- <th>Default</th>
371
- <th>Description</th>
372
- </tr>
373
- </thead>
374
- <tbody><tr>
375
- <td>doc_structure</td>
376
- <td>text</td>
377
- <td>&quot;&quot;</td>
378
- <td>JSON navigation structure</td>
379
- </tr>
380
- <tr>
381
- <td>collapsible</td>
382
- <td>boolean</td>
383
- <td>true</td>
384
- <td>Allow collapse/expand</td>
385
- </tr>
386
- <tr>
387
- <td>show_icons</td>
388
- <td>boolean</td>
389
- <td>true</td>
390
- <td>Show file/folder icons</td>
391
- </tr>
392
- </tbody></table>
393
- <h2>Action Specifications</h2>
394
- <h3>1. Generate Documentation</h3>
395
- <p>Creates documentation from Bubble app data.</p>
396
- <h4>Parameters</h4>
397
- <table>
398
- <thead>
399
- <tr>
400
- <th>Parameter</th>
401
- <th>Type</th>
402
- <th>Required</th>
403
- <th>Description</th>
404
- </tr>
405
- </thead>
406
- <tbody><tr>
407
- <td>source_type</td>
408
- <td>dropdown</td>
409
- <td>Yes</td>
410
- <td>Data source (database/API/page)</td>
411
- </tr>
412
- <tr>
413
- <td>content_list</td>
414
- <td>list</td>
415
- <td>Yes</td>
416
- <td>List of content to document</td>
417
- </tr>
418
- <tr>
419
- <td>output_format</td>
420
- <td>dropdown</td>
421
- <td>Yes</td>
422
- <td>Format (markdown/html)</td>
423
- </tr>
424
- <tr>
425
- <td>include_schemas</td>
426
- <td>boolean</td>
427
- <td>No</td>
428
- <td>Include data schemas</td>
429
- </tr>
430
- <tr>
431
- <td>template</td>
432
- <td>dropdown</td>
433
- <td>No</td>
434
- <td>Documentation template</td>
435
- </tr>
436
- </tbody></table>
437
- <h4>Output</h4>
438
- <ul>
439
- <li><code>documentation_url</code> - Generated documentation URL</li>
440
- <li><code>generation_time</code> - Time taken in ms</li>
441
- <li><code>page_count</code> - Number of pages created</li>
442
- </ul>
443
- <h3>2. Deploy to Vercel</h3>
444
- <p>Deploys documentation to Vercel.</p>
445
- <h4>Parameters</h4>
446
- <table>
447
- <thead>
448
- <tr>
449
- <th>Parameter</th>
450
- <th>Type</th>
451
- <th>Required</th>
452
- <th>Description</th>
453
- </tr>
454
- </thead>
455
- <tbody><tr>
456
- <td>project_name</td>
457
- <td>text</td>
458
- <td>Yes</td>
459
- <td>Vercel project name</td>
460
- </tr>
461
- <tr>
462
- <td>vercel_token</td>
463
- <td>text</td>
464
- <td>Yes</td>
465
- <td>Vercel API token</td>
466
- </tr>
467
- <tr>
468
- <td>domain</td>
469
- <td>text</td>
470
- <td>No</td>
471
- <td>Custom domain</td>
472
- </tr>
473
- <tr>
474
- <td>production</td>
475
- <td>boolean</td>
476
- <td>No</td>
477
- <td>Deploy to production</td>
478
- </tr>
479
- </tbody></table>
480
- <h4>Output</h4>
481
- <ul>
482
- <li><code>deployment_url</code> - Live documentation URL</li>
483
- <li><code>deployment_id</code> - Vercel deployment ID</li>
484
- <li><code>status</code> - Deployment status</li>
485
- </ul>
486
- <h3>3. Update Content</h3>
487
- <p>Updates specific documentation content.</p>
488
- <h4>Parameters</h4>
489
- <table>
490
- <thead>
491
- <tr>
492
- <th>Parameter</th>
493
- <th>Type</th>
494
- <th>Required</th>
495
- <th>Description</th>
496
- </tr>
497
- </thead>
498
- <tbody><tr>
499
- <td>page_path</td>
500
- <td>text</td>
501
- <td>Yes</td>
502
- <td>Path to page</td>
503
- </tr>
504
- <tr>
505
- <td>new_content</td>
506
- <td>text</td>
507
- <td>Yes</td>
508
- <td>Updated content</td>
509
- </tr>
510
- <tr>
511
- <td>commit_message</td>
512
- <td>text</td>
513
- <td>No</td>
514
- <td>Change description</td>
515
- </tr>
516
- <tr>
517
- <td>auto_deploy</td>
518
- <td>boolean</td>
519
- <td>No</td>
520
- <td>Auto-deploy changes</td>
521
- </tr>
522
- </tbody></table>
523
- <h3>4. Sync from Bubble</h3>
524
- <p>Synchronizes documentation with Bubble data.</p>
525
- <h4>Parameters</h4>
526
- <table>
527
- <thead>
528
- <tr>
529
- <th>Parameter</th>
530
- <th>Type</th>
531
- <th>Required</th>
532
- <th>Description</th>
533
- </tr>
534
- </thead>
535
- <tbody><tr>
536
- <td>sync_type</td>
537
- <td>dropdown</td>
538
- <td>Yes</td>
539
- <td>Manual/automatic/scheduled</td>
540
- </tr>
541
- <tr>
542
- <td>data_types</td>
543
- <td>list</td>
544
- <td>Yes</td>
545
- <td>Bubble data types to sync</td>
546
- </tr>
547
- <tr>
548
- <td>sync_interval</td>
549
- <td>number</td>
550
- <td>No</td>
551
- <td>Interval in minutes</td>
552
- </tr>
553
- <tr>
554
- <td>webhook_url</td>
555
- <td>text</td>
556
- <td>No</td>
557
- <td>Webhook for updates</td>
558
- </tr>
559
- </tbody></table>
560
- <h2>API Integration</h2>
561
- <h3>Authentication Flow</h3>
562
- <pre><code class="language-javascript">// Initialize doc-builder API
563
- function initializeDocBuilder(apiKey, bubbleAppId) {
564
- return {
565
- baseUrl: &#39;https://api.doc-builder.io&#39;,
566
- headers: {
567
- &#39;Authorization&#39;: `Bearer ${apiKey}`,
568
- &#39;X-Bubble-App-ID&#39;: bubbleAppId,
569
- &#39;Content-Type&#39;: &#39;application/json&#39;
570
- }
571
- };
572
- }
573
- </code></pre>
574
- <h3>Webhook Events</h3>
575
- <table>
576
- <thead>
577
- <tr>
578
- <th>Event</th>
579
- <th>Payload</th>
580
- <th>Description</th>
581
- </tr>
582
- </thead>
583
- <tbody><tr>
584
- <td>docs.generated</td>
585
- <td><code>{pages, url, timestamp}</code></td>
586
- <td>Documentation generated</td>
587
- </tr>
588
- <tr>
589
- <td>docs.deployed</td>
590
- <td><code>{url, version, environment}</code></td>
591
- <td>Deployment complete</td>
592
- </tr>
593
- <tr>
594
- <td>docs.updated</td>
595
- <td><code>{changes, author, timestamp}</code></td>
596
- <td>Content updated</td>
597
- </tr>
598
- <tr>
599
- <td>docs.error</td>
600
- <td><code>{error, context, timestamp}</code></td>
601
- <td>Error occurred</td>
602
- </tr>
603
- </tbody></table>
604
- <h2>Bubble Database Schema</h2>
605
- <h3>DocBuilder Config</h3>
606
- <table>
607
- <thead>
608
- <tr>
609
- <th>Field</th>
610
- <th>Type</th>
611
- <th>Description</th>
612
- </tr>
613
- </thead>
614
- <tbody><tr>
615
- <td>api_key</td>
616
- <td>text</td>
617
- <td>Doc-builder API key</td>
618
- </tr>
619
- <tr>
620
- <td>vercel_token</td>
621
- <td>text</td>
622
- <td>Vercel deployment token</td>
623
- </tr>
624
- <tr>
625
- <td>project_name</td>
626
- <td>text</td>
627
- <td>Documentation project name</td>
628
- </tr>
629
- <tr>
630
- <td>base_url</td>
631
- <td>text</td>
632
- <td>Documentation base URL</td>
633
- </tr>
634
- <tr>
635
- <td>last_sync</td>
636
- <td>date</td>
637
- <td>Last synchronization</td>
638
- </tr>
639
- <tr>
640
- <td>auto_sync</td>
641
- <td>boolean</td>
642
- <td>Enable auto-sync</td>
643
- </tr>
644
- <tr>
645
- <td>sync_interval</td>
646
- <td>number</td>
647
- <td>Sync interval (minutes)</td>
648
- </tr>
649
- </tbody></table>
650
- <h3>Documentation Pages</h3>
651
- <table>
652
- <thead>
653
- <tr>
654
- <th>Field</th>
655
- <th>Type</th>
656
- <th>Description</th>
657
- </tr>
658
- </thead>
659
- <tbody><tr>
660
- <td>title</td>
661
- <td>text</td>
662
- <td>Page title</td>
663
- </tr>
664
- <tr>
665
- <td>slug</td>
666
- <td>text</td>
667
- <td>URL slug</td>
668
- </tr>
669
- <tr>
670
- <td>content</td>
671
- <td>text</td>
672
- <td>Markdown content</td>
673
- </tr>
674
- <tr>
675
- <td>parent_page</td>
676
- <td>DocPage</td>
677
- <td>Parent for hierarchy</td>
678
- </tr>
679
- <tr>
680
- <td>order</td>
681
- <td>number</td>
682
- <td>Sort order</td>
683
- </tr>
684
- <tr>
685
- <td>is_published</td>
686
- <td>boolean</td>
687
- <td>Publication status</td>
688
- </tr>
689
- <tr>
690
- <td>last_modified</td>
691
- <td>date</td>
692
- <td>Last update</td>
693
- </tr>
694
- <tr>
695
- <td>author</td>
696
- <td>User</td>
697
- <td>Page author</td>
698
- </tr>
699
- </tbody></table>
700
- <h3>Documentation Templates</h3>
701
- <table>
702
- <thead>
703
- <tr>
704
- <th>Field</th>
705
- <th>Type</th>
706
- <th>Description</th>
707
- </tr>
708
- </thead>
709
- <tbody><tr>
710
- <td>name</td>
711
- <td>text</td>
712
- <td>Template name</td>
713
- </tr>
714
- <tr>
715
- <td>description</td>
716
- <td>text</td>
717
- <td>Template description</td>
718
- </tr>
719
- <tr>
720
- <td>structure</td>
721
- <td>text</td>
722
- <td>JSON structure</td>
723
- </tr>
724
- <tr>
725
- <td>styles</td>
726
- <td>text</td>
727
- <td>Custom CSS</td>
728
- </tr>
729
- <tr>
730
- <td>is_default</td>
731
- <td>boolean</td>
732
- <td>Default template</td>
733
- </tr>
734
- </tbody></table>
735
- <h2>Use Cases</h2>
736
- <h3>1. API Documentation</h3>
737
- <p>Automatically generate API documentation from Bubble API workflows:</p>
738
- <pre><code class="language-javascript">// Generate API docs from workflows
739
- generateDocs({
740
- source_type: &#39;api_workflows&#39;,
741
- include_schemas: true,
742
- template: &#39;api_reference&#39;
743
- });
744
- </code></pre>
745
- <h3>2. User Guides</h3>
746
- <p>Create user documentation from Bubble pages:</p>
747
- <pre><code class="language-javascript">// Generate user guide from app pages
748
- generateDocs({
749
- source_type: &#39;pages&#39;,
750
- content_list: [&#39;dashboard&#39;, &#39;settings&#39;, &#39;profile&#39;],
751
- template: &#39;user_guide&#39;
752
- });
753
- </code></pre>
754
- <h3>3. Database Documentation</h3>
755
- <p>Document data types and fields:</p>
756
- <pre><code class="language-javascript">// Document database structure
757
- generateDocs({
758
- source_type: &#39;database&#39;,
759
- include_schemas: true,
760
- template: &#39;data_dictionary&#39;
761
- });
762
- </code></pre>
763
- <h2>Implementation Roadmap</h2>
764
- <h3>Phase 1: MVP (2 weeks)</h3>
765
- <ul>
766
- <li><input disabled="" type="checkbox"> Basic DocViewer element</li>
767
- <li><input disabled="" type="checkbox"> Generate documentation action</li>
768
- <li><input disabled="" type="checkbox"> Simple deployment to Vercel</li>
769
- <li><input disabled="" type="checkbox"> Basic authentication</li>
770
- </ul>
771
- <h3>Phase 2: Enhanced Features (2 weeks)</h3>
772
- <ul>
773
- <li><input disabled="" type="checkbox"> DocSearch element</li>
774
- <li><input disabled="" type="checkbox"> DocNav element</li>
775
- <li><input disabled="" type="checkbox"> Update content action</li>
776
- <li><input disabled="" type="checkbox"> Webhook integration</li>
777
- </ul>
778
- <h3>Phase 3: Advanced Integration (2 weeks)</h3>
779
- <ul>
780
- <li><input disabled="" type="checkbox"> Auto-sync from Bubble</li>
781
- <li><input disabled="" type="checkbox"> Custom templates</li>
782
- <li><input disabled="" type="checkbox"> Multi-language support</li>
783
- <li><input disabled="" type="checkbox"> Analytics integration</li>
784
- </ul>
785
- <h3>Phase 4: Polish &amp; Launch (1 week)</h3>
786
- <ul>
787
- <li><input disabled="" type="checkbox"> Performance optimization</li>
788
- <li><input disabled="" type="checkbox"> Error handling</li>
789
- <li><input disabled="" type="checkbox"> Documentation</li>
790
- <li><input disabled="" type="checkbox"> Marketplace submission</li>
791
- </ul>
792
- <h2>Plugin Settings</h2>
793
- <h3>General Settings</h3>
794
- <pre><code class="language-json">{
795
- &quot;name&quot;: &quot;Doc Builder for Bubble&quot;,
796
- &quot;description&quot;: &quot;Create beautiful documentation from your Bubble app&quot;,
797
- &quot;categories&quot;: [&quot;data&quot;, &quot;visual elements&quot;, &quot;analytics&quot;],
798
- &quot;plugin_version&quot;: &quot;1.0.0&quot;,
799
- &quot;documentation_url&quot;: &quot;https://doc-builder.io/bubble-plugin&quot;,
800
- &quot;support_email&quot;: &quot;support@doc-builder.io&quot;
801
- }
802
- </code></pre>
803
- <h3>API Connections</h3>
804
- <pre><code class="language-json">{
805
- &quot;api_connections&quot;: [
806
- {
807
- &quot;name&quot;: &quot;DocBuilder API&quot;,
808
- &quot;base_url&quot;: &quot;https://api.doc-builder.io/v1&quot;,
809
- &quot;authentication&quot;: &quot;bearer_token&quot;,
810
- &quot;shared_headers&quot;: {
811
- &quot;X-Plugin-Version&quot;: &quot;1.0.0&quot;,
812
- &quot;X-Platform&quot;: &quot;bubble&quot;
813
- }
814
- }
815
- ]
816
- }
817
- </code></pre>
818
- <h2>Security Considerations</h2>
819
- <h3>API Key Management</h3>
820
- <ul>
821
- <li>Store API keys encrypted in Bubble database</li>
822
- <li>Use Bubble&#39;s privacy rules for key access</li>
823
- <li>Implement key rotation mechanism</li>
824
- <li>Log all API key usage</li>
825
- </ul>
826
- <h3>Content Security</h3>
827
- <ul>
828
- <li>Sanitize all user-generated content</li>
829
- <li>Implement CSP headers for embedded docs</li>
830
- <li>Use iframe sandboxing for viewer</li>
831
- <li>Validate all webhook signatures</li>
832
- </ul>
833
- <h3>Access Control</h3>
834
- <ul>
835
- <li>Integrate with Bubble&#39;s user roles</li>
836
- <li>Implement document-level permissions</li>
837
- <li>Support SSO for enterprise users</li>
838
- <li>Audit trail for all actions</li>
839
- </ul>
840
- <h2>Performance Optimization</h2>
841
- <h3>Caching Strategy</h3>
842
- <ul>
843
- <li>Cache generated documentation (1 hour)</li>
844
- <li>CDN integration for static assets</li>
845
- <li>Lazy load documentation sections</li>
846
- <li>Progressive enhancement</li>
847
- </ul>
848
- <h3>Resource Management</h3>
849
- <ul>
850
- <li>Limit concurrent API calls</li>
851
- <li>Implement request queuing</li>
852
- <li>Optimize large documentation sets</li>
853
- <li>Background processing for heavy tasks</li>
854
- </ul>
855
- <h2>Pricing Model for Plugin</h2>
856
- <h3>Free Tier</h3>
857
- <ul>
858
- <li>Up to 10 documentation pages</li>
859
- <li>Basic templates</li>
860
- <li>Community support</li>
861
- <li>Bubble.io branding</li>
862
- </ul>
863
- <h3>Pro Tier ($19/month)</h3>
864
- <ul>
865
- <li>Unlimited pages</li>
866
- <li>Custom templates</li>
867
- <li>Priority support</li>
868
- <li>White-label option</li>
869
- </ul>
870
- <h3>Team Tier ($49/month)</h3>
871
- <ul>
872
- <li>Everything in Pro</li>
873
- <li>Team collaboration</li>
874
- <li>Advanced analytics</li>
875
- <li>API access</li>
876
- </ul>
877
- <h2>Success Metrics</h2>
878
- <h3>Usage Metrics</h3>
879
- <ul>
880
- <li>Plugin installations</li>
881
- <li>Active users (MAU)</li>
882
- <li>Documentation pages created</li>
883
- <li>Deployments per month</li>
884
- </ul>
885
- <h3>Performance Metrics</h3>
886
- <ul>
887
- <li>API response time (&lt;200ms)</li>
888
- <li>Documentation load time (&lt;2s)</li>
889
- <li>Search response time (&lt;100ms)</li>
890
- <li>Uptime (99.9%)</li>
891
- </ul>
892
- <h3>Business Metrics</h3>
893
- <ul>
894
- <li>Conversion rate (free to paid)</li>
895
- <li>Customer lifetime value</li>
896
- <li>Monthly recurring revenue</li>
897
- <li>Support ticket volume</li>
898
- </ul>
899
- <hr>
900
- <h2>Document History</h2>
901
- <table>
902
- <thead>
903
- <tr>
904
- <th>Date</th>
905
- <th>Author</th>
906
- <th>Changes</th>
907
- </tr>
908
- </thead>
909
- <tbody><tr>
910
- <td>2025-07-22</td>
911
- <td>System</td>
912
- <td>Initial plugin specification</td>
913
- </tr>
914
- </tbody></table>
915
-
916
- </div>
917
- </main>
918
- </div>
919
-
920
- <!-- Scripts -->
921
- <script>
922
- // Pass configuration to frontend
923
- window.docBuilderConfig = {
924
- features: {
925
- showPdfDownload: true,
926
- menuDefaultOpen: false
927
- }
928
- };
929
- </script>
930
- <script src="/js/main.js"></script>
931
-
932
- </body>
933
- </html>