@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,596 +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="&gt; 🎉 Update v1.8.2: Supabase credentials are now automatically configured! No manual setup needed - just enable authentication and add users to the database.">
7
- <title>Authentication Guide for @knowcode/doc-builder</title>
8
-
9
- <meta name="generator" content="@knowcode/doc-builder by Knowcode Ltd">
10
- <meta name="author" content="Lindsay Smith">
11
- <meta name="keywords" content="documentation, markdown, static site generator, vercel, notion-style, supabase, authentication">
12
- <meta name="robots" content="index, follow">
13
- <link rel="canonical" href="https://doc-builder-delta.vercel.app/guides/authentication-guide.html">
14
-
15
- <!-- Open Graph / Facebook -->
16
- <meta property="og:type" content="article">
17
- <meta property="og:url" content="https://doc-builder-delta.vercel.app/guides/authentication-guide.html">
18
- <meta property="og:title" content="Authentication Guide for @knowcode/doc-builder">
19
- <meta property="og:description" content="&gt; 🎉 Update v1.8.2: Supabase credentials are now automatically configured! No manual setup needed - just enable authentication and add users to the database.">
20
- <meta property="og:image" content="https://doc-builder-delta.vercel.app/og-default.png">
21
- <meta property="og:site_name" content="@knowcode/doc-builder">
22
- <meta property="og:locale" content="en_US">
23
-
24
- <!-- Twitter Card -->
25
- <meta name="twitter:card" content="summary_large_image">
26
- <meta name="twitter:site" content="@planbbackups">
27
- <meta name="twitter:creator" content="@planbbackups">
28
- <meta name="twitter:title" content="Authentication Guide for @knowcode/doc-builder">
29
- <meta name="twitter:description" content="&gt; 🎉 Update v1.8.2: Supabase credentials are now automatically configured! No manual setup needed - just enable authentication and add users to the database.">
30
- <meta name="twitter:image" content="https://doc-builder-delta.vercel.app/og-default.png">
31
-
32
- <!-- Custom Meta Tags -->
33
- <meta name="google-site-verification" content="FtzcDTf5BQ9K5EfnGazQkgU2U4FiN3ITzM7gHwqUAqQ">
34
- <meta name="msvalidate.01" content="B2D8C4C12C530D47AA962B24CAA09630">
35
-
36
- <!-- Fonts -->
37
- <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
38
-
39
- <!-- Icons -->
40
- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">
41
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@phosphor-icons/web@2.1.1/src/regular/style.css">
42
-
43
- <!-- Mermaid -->
44
- <script src="https://cdn.jsdelivr.net/npm/mermaid@10.6.1/dist/mermaid.min.js"></script>
45
-
46
- <!-- Styles -->
47
- <link rel="stylesheet" href="../css/notion-style.css">
48
-
49
-
50
- <!-- Blue theme and white background overrides for static output -->
51
- <style>
52
- /* Override green colors with blue */
53
- :root {
54
- --primary: #2563eb;
55
- --primary-dark: #1d4ed8;
56
- --primary-light: #dbeafe;
57
- --accent: #3b82f6;
58
- --color-accent-green: #2563eb;
59
- --color-accent-emerald: #3b82f6;
60
-
61
- /* White backgrounds for cleaner appearance */
62
- --color-bg-secondary: #FFFFFF;
63
- --color-bg-tertiary: #FAFAFA;
64
- --color-bg-hover: #F8F9FA;
65
- }
66
-
67
- /* Override green status colors with blue variants */
68
- .nav-item.active {
69
- background-color: #dbeafe !important;
70
- color: #1d4ed8 !important;
71
- }
72
-
73
- .nav-item:hover {
74
- background-color: #eff6ff !important;
75
- }
76
-
77
- /* Override complete/success icons to blue */
78
- .ph-check-circle[style*="color: #059669"] {
79
- color: #2563eb !important;
80
- }
81
-
82
- /* Override README/home icon color */
83
- .ph-house[style*="color: #059669"] {
84
- color: #2563eb !important;
85
- }
86
-
87
- /* Override links */
88
- a {
89
- color: #2563eb;
90
- }
91
-
92
- a:hover {
93
- color: #1d4ed8;
94
- }
95
-
96
- /* Override buttons and interactive elements */
97
- .theme-toggle:hover,
98
- .menu-toggle:hover {
99
- background-color: #dbeafe;
100
- color: #1d4ed8;
101
- }
102
-
103
- /* Override nav title hover */
104
- .nav-title:hover {
105
- background-color: #eff6ff;
106
- }
107
-
108
- /* White backgrounds for sidebar and navigation */
109
- body:not(.dark-mode) .sidebar {
110
- background: #FFFFFF !important;
111
- background-color: #FFFFFF !important;
112
- border-right: 1px solid #E5E7EB !important;
113
- }
114
-
115
- body:not(.dark-mode) .nav-section {
116
- background: #FFFFFF !important;
117
- background-color: #FFFFFF !important;
118
- }
119
-
120
- body:not(.dark-mode) .nav-content {
121
- background: #FFFFFF !important;
122
- background-color: #FFFFFF !important;
123
- }
124
-
125
- body:not(.dark-mode) .navigation {
126
- background: #FFFFFF !important;
127
- background-color: #FFFFFF !important;
128
- }
129
-
130
- /* Subtle separation for nav sections */
131
- body:not(.dark-mode) .nav-section + .nav-section {
132
- border-top: 1px solid #F3F4F6;
133
- }
134
-
135
- /* Adjust hover states for white backgrounds */
136
- body:not(.dark-mode) .nav-item:hover {
137
- background-color: #F8F9FA !important;
138
- }
139
-
140
- body:not(.dark-mode) .nav-title.collapsible:hover {
141
- background-color: #F8F9FA !important;
142
- }
143
-
144
- /* Header stays white (already is) but ensure consistency */
145
- body:not(.dark-mode) .header {
146
- background: #FFFFFF !important;
147
- background-color: #FFFFFF !important;
148
- border-bottom: 1px solid #E5E7EB !important;
149
- }
150
-
151
- /* Ensure search box looks good on white */
152
- body:not(.dark-mode) .filter-input,
153
- body:not(.dark-mode) .sidebar-search {
154
- background: #F8F9FA !important;
155
- background-color: #F8F9FA !important;
156
- border: 1px solid #E5E7EB !important;
157
- }
158
-
159
- body:not(.dark-mode) .filter-input:focus,
160
- body:not(.dark-mode) .sidebar-search:focus {
161
- background: #FFFFFF !important;
162
- background-color: #FFFFFF !important;
163
- border-color: #2563eb !important;
164
- }
165
-
166
- /* Override breadcrumbs */
167
- .breadcrumbs a {
168
- color: #2563eb;
169
- }
170
-
171
- .breadcrumbs a:hover {
172
- color: #1d4ed8;
173
- background-color: #dbeafe;
174
- }
175
-
176
- /* Override filter icon */
177
- .filter-icon {
178
- color: #2563eb;
179
- }
180
-
181
- /* Override deployment info on hover */
182
- .deployment-date:hover {
183
- color: #2563eb;
184
- }
185
-
186
- /* Dark mode adjustments */
187
- body.dark-mode {
188
- --primary: #3b82f6;
189
- --primary-dark: #2563eb;
190
- --primary-light: #1e3a8a;
191
- --accent: #60a5fa;
192
- }
193
-
194
- body.dark-mode .nav-item.active {
195
- background-color: rgba(59, 130, 246, 0.1) !important;
196
- color: #60a5fa !important;
197
- }
198
-
199
- body.dark-mode .nav-item:hover {
200
- background-color: rgba(59, 130, 246, 0.05) !important;
201
- }
202
-
203
- body.dark-mode a {
204
- color: #60a5fa;
205
- }
206
-
207
- body.dark-mode a:hover {
208
- color: #93bbfc;
209
- }
210
- </style>
211
-
212
-
213
-
214
-
215
- <!-- Favicon -->
216
- <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>">
217
-
218
- <script type="application/ld+json">
219
- {
220
- "@context": "https://schema.org",
221
- "@type": "TechArticle",
222
- "headline": "Authentication Guide for @knowcode/doc-builder",
223
- "description": "> 🎉 Update v1.8.2: Supabase credentials are now automatically configured! No manual setup needed - just enable authentication and add users to the database.",
224
- "author": {
225
- "@type": "Person",
226
- "name": "Lindsay Smith"
227
- },
228
- "publisher": {
229
- "@type": "Organization",
230
- "name": "Knowcode Ltd",
231
- "url": "https://knowcode.tech"
232
- },
233
- "datePublished": "2025-08-12T21:40:09.498Z",
234
- "dateModified": "2025-08-12T21:40:09.498Z",
235
- "mainEntityOfPage": {
236
- "@type": "WebPage",
237
- "@id": "https://doc-builder-delta.vercel.app/guides/authentication-guide.html"
238
- },
239
- "breadcrumb": {
240
- "@type": "BreadcrumbList",
241
- "itemListElement": [
242
- {
243
- "@type": "ListItem",
244
- "position": 1,
245
- "name": "@knowcode/doc-builder",
246
- "item": "https://doc-builder-delta.vercel.app"
247
- },
248
- {
249
- "@type": "ListItem",
250
- "position": 2,
251
- "name": "Guides",
252
- "item": "https://doc-builder-delta.vercel.app/guides/"
253
- },
254
- {
255
- "@type": "ListItem",
256
- "position": 3,
257
- "name": "Authentication Guide",
258
- "item": "https://doc-builder-delta.vercel.app/guides/authentication-guide.html"
259
- }
260
- ]
261
- }
262
- }
263
- </script>
264
- </head>
265
- <body>
266
-
267
-
268
-
269
-
270
- <!-- Breadcrumbs -->
271
- <nav class="breadcrumbs breadcrumbs-static" id="breadcrumbs" data-build-date="Aug 12, 2025, 09:40 PM UTC" data-doc-builder-version="1.9.29">
272
-
273
- <!-- Pre-rendered breadcrumb content for static builds -->
274
- <div class="breadcrumbs-content breadcrumbs-homepage">
275
- <div class="breadcrumbs-right">
276
- <span class="breadcrumb-date" title="Built with doc-builder v1.9.29">Last updated: Aug 12, 2025, 09:40 PM UTC</span>
277
- <button class="breadcrumb-pdf-btn" onclick="if(typeof exportToPDF !== 'undefined') exportToPDF(); else window.print();" title="Export to PDF" aria-label="Export to PDF">
278
- <i class="fas fa-file-pdf"></i>
279
- </button>
280
- </div>
281
- </div>
282
-
283
- </nav>
284
-
285
- <!-- Main Content -->
286
- <div class="main-wrapper">
287
- <!-- Sidebar -->
288
- <aside class="sidebar">
289
- <div class="sidebar-header">
290
- <div class="filter-box">
291
- <input type="text" placeholder="Search menu..." class="filter-input" id="nav-filter">
292
- <i class="fas fa-search filter-icon"></i>
293
- </div>
294
- </div>
295
- <nav class="navigation">
296
-
297
- <div class="nav-section" data-level="0">
298
- <a class="nav-title toggle-all-nav expanded" href="#" id="nav-toggle-all" title="Collapse/Expand All">
299
- <i class="ph ph-caret-down" id="toggle-all-icon"></i> Documentation
300
- </a>
301
- <div class="nav-content">
302
- <a href="README.html" class="nav-item" data-tooltip="@knowcode/doc-builder."><i class="ph ph-file-text"></i> Overview</a>
303
- <a href="about-doc-builder.html" class="nav-item" data-tooltip="About @knowcode/doc-builder."><i class="ph ph-check-circle" style="color: #2563eb;"></i> About Doc Builder</a>
304
- <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="ph ph-pencil-simple" style="color: #d97706;"></i> Documentation Index</a>
305
- <a href="image-modal-test.html" class="nav-item" data-tooltip="This document tests the new image modal functionality in doc-builder."><i class="ph ph-file-text"></i> Image Modal Test</a>
306
- <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="ph ph-check-circle" style="color: #2563eb;"></i> Vercel Cli Setup Guide</a>
307
- <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="ph ph-check-circle" style="color: #2563eb;"></i> Vercel First Time Setup Guide</a></div></div>
308
- <div class="nav-section" data-level="1">
309
- <a class="nav-title collapsible expanded" href="#" data-target="nav-guides-1" >
310
- <i class="ph ph-caret-right collapse-icon"></i><i class="ph ph-book"></i> Guides
311
- </a>
312
- <div class="nav-content" id="nav-guides-1">
313
- <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="ph ph-file-text"></i> Authentication Default Change</a>
314
- <a href="guides/authentication-guide.html" class="nav-item active" data-tooltip="@knowcode/doc-builder supports enterprise-grade authentication through Supabase - a secure, scalable authentication platform."><i class="ph ph-check-circle" style="color: #2563eb;"></i> Authentication Guide</a>
315
- <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="ph ph-pencil-simple" style="color: #d97706;"></i> Claude Workflow Guide</a>
316
- <a href="guides/configuration-guide.html" class="nav-item" data-tooltip="This guide explains how @knowcode/doc-builder handles configuration files and settings."><i class="ph ph-check-circle" style="color: #2563eb;"></i> Configuration Guide</a>
317
- <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="ph ph-pencil-simple" style="color: #d97706;"></i> Documentation Standards</a>
318
- <a href="guides/html-embedding-guide.html" class="nav-item" data-tooltip="Starting from version 1.9.2, doc-builder treats HTML files ( and ) as attachments that are automatically copied to your output directory during the..."><i class="ph ph-check-circle" style="color: #2563eb;"></i> Html Embedding Guide</a>
319
- <a href="guides/image-modal-guide.html" class="nav-item" data-tooltip="When users click on any image in your generated documentation, it opens in a professional modal overlay with: Full-screen viewing experience Smooth..."><i class="ph ph-check-circle" style="color: #2563eb;"></i> Image Modal Guide</a>
320
- <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="ph ph-pencil-simple" style="color: #d97706;"></i> Phosphor Icons Guide</a>
321
- <a href="guides/private-directory-authentication.html" class="nav-item" data-tooltip="The @knowcode/doc-builder provides flexible authentication options to protect your documentation."><i class="ph ph-check-circle" style="color: #2563eb;"></i> Private Directory Authentication</a>
322
- <a href="guides/private-directory-authentication-troubleshooting.html" class="nav-item" data-tooltip="Private Directory Authentication Troubleshooting."><i class="ph ph-check-circle" style="color: #2563eb;"></i> Private Directory Authentication Troubleshooting</a>
323
- <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="ph ph-check-circle" style="color: #2563eb;"></i> Public Site Deployment</a>
324
- <a href="guides/search-engine-verification-guide.html" class="nav-item" data-tooltip="Search engine verification provides access to powerful webmaster tools:."><i class="ph ph-check-circle" style="color: #2563eb;"></i> Search Engine Verification Guide</a>
325
- <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="ph ph-check-circle" style="color: #2563eb;"></i> Seo Guide</a>
326
- <a href="guides/seo-optimization-guide.html" class="nav-item" data-tooltip="Comprehensive guide to optimizing documentation for search engines. Learn SEO best practices, use built-in features, and improve your rankings."><i class="ph ph-check-circle" style="color: #2563eb;"></i> SEO Optimization Guide for @knowcode/doc-builder</a>
327
- <a href="guides/supabase-authentication-complete-guide.html" class="nav-item" data-tooltip="@knowcode/doc-builder includes built-in Supabase authentication that provides enterprise-grade security with zero configuration."><i class="ph ph-check-circle" style="color: #2563eb;"></i> Supabase Authentication Complete Guide</a>
328
- <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="ph ph-check-circle" style="color: #2563eb;"></i> Troubleshooting Guide</a>
329
- <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="ph ph-check-circle" style="color: #2563eb;"></i> Windows Setup Guide</a></div></div>
330
- <div class="nav-section" data-level="1">
331
- <a class="nav-title collapsible" href="#" data-target="nav-prompts-1" >
332
- <i class="ph ph-caret-right collapse-icon"></i><i class="ph ph-chat-circle-dots"></i> Prompts
333
- </a>
334
- <div class="nav-content collapsed" id="nav-prompts-1">
335
- <a href="prompts/beautiful-documentation-design.html" class="nav-item" data-tooltip="🎨 Beautiful Documentation Design Guide."><i class="ph ph-check-circle" style="color: #2563eb;"></i> Beautiful Documentation Design</a>
336
- <a href="prompts/markdown-document-standards.html" class="nav-item" data-tooltip="Detailed introduction to the topic..."><i class="ph ph-pencil-simple" style="color: #d97706;"></i> Markdown Document Standards</a>
337
- <a href="prompts/project-rename-strategy-sasha-publish.html" class="nav-item" data-tooltip="This document outlines the comprehensive strategy for renaming the @knowcode/doc-builder project to &quot;sasha-publish&quot;, including all package references,..."><i class="ph ph-x-circle" style="color: #dc2626;"></i> Project Rename Strategy Sasha Publish</a></div></div>
338
- <div class="nav-section" data-level="1">
339
- <a class="nav-title collapsible" href="#" data-target="nav-test-questions-1" >
340
- <i class="ph ph-caret-right collapse-icon"></i><i class="ph ph-folder"></i> Test Questions
341
- </a>
342
- <div class="nav-content collapsed" id="nav-test-questions-1">
343
- <a href="test-questions/how-does-it-work%3F.html" class="nav-item" data-tooltip="This is a test file to verify that question marks work properly in filenames."><i class="ph ph-file-text"></i> How Does It Work?</a>
344
- <a href="test-questions/step-1%3A%20getting-started.html" class="nav-item" data-tooltip="Step 1: Getting Started."><i class="ph ph-file-text"></i> Step 1: Getting Started</a>
345
- <a href="test-questions/what-is-the-purpose.html" class="nav-item" data-tooltip="Understanding the purpose of our documentation system"><i class="ph ph-file-text"></i> What Is The Purpose?</a></div></div>
346
- </nav>
347
- <div class="resize-handle"></div>
348
- </aside>
349
-
350
- <!-- Content Area -->
351
- <main class="content">
352
- <div class="content-inner">
353
- <h1>Authentication Guide for @knowcode/doc-builder</h1>
354
- <blockquote>
355
- <p><strong><i style="font-size: 1.2em" class="ph ph-confetti" aria-label="party"></i> Update v1.8.2</strong>: Supabase credentials are now automatically configured! No manual setup needed - just enable authentication and add users to the database.</p>
356
- </blockquote>
357
- <blockquote>
358
- <p><strong><i style="font-size: 1.2em" class="ph ph-books" aria-label="documentation"></i> Looking for complete documentation?</strong> See the <a href="supabase-authentication-complete-guide.md">Complete Supabase Authentication Guide</a> for detailed setup, troubleshooting, and advanced features.</p>
359
- </blockquote>
360
- <h2>Overview</h2>
361
- <p>@knowcode/doc-builder supports enterprise-grade authentication through <strong>Supabase</strong> - a secure, scalable authentication platform. This guide explains how to protect your documentation with proper user authentication and access control.</p>
362
- <h2>Why Supabase?</h2>
363
- <ul>
364
- <li><i style="font-size: 1.2em" class="ph ph-lock-key" aria-label="secure"></i> <strong>Enterprise Security</strong>: JWT tokens, bcrypt password hashing, Row Level Security</li>
365
- <li><i style="font-size: 1.2em" class="ph ph-users" aria-label="team"></i> <strong>Multi-User Support</strong>: Unlimited users with fine-grained access control</li>
366
- <li><i style="font-size: 1.2em" class="ph ph-globe-hemisphere-west" aria-label="world"></i> <strong>Scalable</strong>: Built on PostgreSQL, handles millions of users</li>
367
- <li><i style="font-size: 1.2em" class="ph ph-arrows-clockwise" aria-label="refresh"></i> <strong>Real-time</strong>: Live updates when permissions change</li>
368
- <li><i style="font-size: 1.2em" class="ph ph-money" aria-label="money"></i> <strong>Generous Free Tier</strong>: 50,000 monthly active users free</li>
369
- </ul>
370
- <h2>How It Works</h2>
371
- <div class="mermaid-wrapper">
372
- <div class="mermaid">graph TD
373
- A[User visits page] --> B{Has JWT Token?}
374
- B -->|No| C[Redirect to login]
375
- B -->|Yes| D[Verify with Supabase]
376
- C --> E[Enter credentials]
377
- E --> F[Authenticate with Supabase]
378
- F --> G{Valid?}
379
- G -->|No| H[Show error]
380
- G -->|Yes| I[Receive JWT token]
381
- I --> J[Check site access]
382
- J --> K{Has access?}
383
- K -->|Yes| L[Show content]
384
- K -->|No| M[Access denied]
385
- D --> J
386
-
387
- style A fill:#e1f5fe
388
- style L fill:#c8e6c9
389
- style M fill:#ffcdd2</div>
390
- </div>
391
- <h2>Setting Up Authentication</h2>
392
- <h3>Step 1: Create Supabase Project</h3>
393
- <ol>
394
- <li>Go to <a href="https://supabase.com">Supabase</a></li>
395
- <li>Create a new project</li>
396
- <li>Note your project URL and anon key</li>
397
- </ol>
398
- <h3>Step 2: Configure doc-builder (Mostly Automatic!)</h3>
399
- <p>As of v1.8.2, Supabase credentials are automatically configured. You have two options:</p>
400
- <p><strong>Option 1: Automatic (Recommended)</strong><br>Just create a <code>docs/private/</code> directory and authentication is automatically enabled with built-in credentials.</p>
401
- <p><strong>Option 2: Custom Configuration</strong><br>Create or update <code>doc-builder.config.js</code> (only if using your own Supabase project):</p>
402
- <pre><code class="language-javascript">module.exports = {
403
- siteName: &#39;My Documentation&#39;,
404
-
405
- features: {
406
- authentication: &#39;supabase&#39; // Enable Supabase auth
407
- },
408
-
409
- auth: {
410
- supabaseUrl: &#39;https://your-project.supabase.co&#39;, // Optional - has defaults
411
- supabaseAnonKey: &#39;your-anon-key&#39; // Optional - has defaults
412
- }
413
- };
414
- </code></pre>
415
- <p>Note: No more <code>siteId</code> needed! The system uses domains automatically.</p>
416
- <h3>Step 3: Set Up Database</h3>
417
- <p>Run this SQL command in your Supabase SQL editor (or use setup-database-v2.sql):</p>
418
- <pre><code class="language-sql">-- Single table for user access control
419
- CREATE TABLE docbuilder_access (
420
- user_id UUID REFERENCES auth.users(id) ON DELETE CASCADE,
421
- domain TEXT NOT NULL,
422
- created_at TIMESTAMPTZ DEFAULT NOW(),
423
- PRIMARY KEY (user_id, domain)
424
- );
425
-
426
- -- Create index for faster lookups
427
- CREATE INDEX idx_docbuilder_access_domain ON docbuilder_access(domain);
428
-
429
- -- Enable Row Level Security
430
- ALTER TABLE docbuilder_access ENABLE ROW LEVEL SECURITY;
431
-
432
- -- RLS Policy: Users can only see their own access
433
- CREATE POLICY &quot;Users see own access&quot; ON docbuilder_access
434
- FOR SELECT USING (user_id = auth.uid());
435
- </code></pre>
436
- <h3>Step 4: No Site Registration Needed!</h3>
437
- <p>With the new domain-based system, you don&#39;t need to register sites. The system automatically uses the current domain (e.g., docs.example.com) as the access key.</p>
438
- <h3>Step 5: Create Users</h3>
439
- <p>Users can sign up through Supabase Auth, or you can create them:</p>
440
- <pre><code class="language-sql">-- In Supabase dashboard, go to Authentication &gt; Users
441
- -- Click &quot;Invite user&quot; and enter their email
442
- </code></pre>
443
- <h3>Step 6: Grant Access</h3>
444
- <pre><code class="language-sql">-- Grant user access to your documentation domain
445
- INSERT INTO docbuilder_access (user_id, domain)
446
- VALUES (
447
- (SELECT id FROM auth.users WHERE email = &#39;user@example.com&#39;),
448
- &#39;docs.example.com&#39;
449
- );
450
-
451
- -- Grant multiple users access
452
- INSERT INTO docbuilder_access (user_id, domain)
453
- SELECT id, &#39;docs.example.com&#39;
454
- FROM auth.users
455
- WHERE email IN (&#39;user1@example.com&#39;, &#39;user2@example.com&#39;, &#39;user3@example.com&#39;);
456
- </code></pre>
457
- <h2>Deployment</h2>
458
- <h3>Build with Authentication</h3>
459
- <pre><code class="language-bash"># Build with auth enabled (reads from config)
460
- npx @knowcode/doc-builder build
461
-
462
- # Build without auth (override config)
463
- npx @knowcode/doc-builder build --no-auth
464
- </code></pre>
465
- <h3>Deploy to Vercel</h3>
466
- <pre><code class="language-bash"># Deploy with auth
467
- npx @knowcode/doc-builder deploy
468
-
469
- # Deploy public site
470
- npx @knowcode/doc-builder deploy --no-auth
471
- </code></pre>
472
- <h2>User Management</h2>
473
- <h3>CLI Commands (Future)</h3>
474
- <pre><code class="language-bash"># Add user to site
475
- npx @knowcode/doc-builder auth:grant --email user@example.com --site-id xxx
476
-
477
- # Remove user access
478
- npx @knowcode/doc-builder auth:revoke --email user@example.com --site-id xxx
479
-
480
- # List users with access
481
- npx @knowcode/doc-builder auth:list-users --site-id xxx
482
- </code></pre>
483
- <h3>Manual Management</h3>
484
- <p>Use Supabase dashboard or SQL commands to manage users and access.</p>
485
- <h2>Security Features</h2>
486
- <h3>What Supabase Provides</h3>
487
- <ul>
488
- <li><i style="font-size: 1.2em" class="ph ph-check-circle" aria-label="checked"></i> <strong>JWT Authentication</strong>: Industry-standard secure tokens</li>
489
- <li><i style="font-size: 1.2em" class="ph ph-check-circle" aria-label="checked"></i> <strong>Password Hashing</strong>: bcrypt with salt</li>
490
- <li><i style="font-size: 1.2em" class="ph ph-check-circle" aria-label="checked"></i> <strong>Row Level Security</strong>: Database-level access control</li>
491
- <li><i style="font-size: 1.2em" class="ph ph-check-circle" aria-label="checked"></i> <strong>Session Management</strong>: Automatic token refresh</li>
492
- <li><i style="font-size: 1.2em" class="ph ph-check-circle" aria-label="checked"></i> <strong>Multi-Factor Auth</strong>: Optional 2FA support</li>
493
- <li><i style="font-size: 1.2em" class="ph ph-check-circle" aria-label="checked"></i> <strong>OAuth Providers</strong>: Google, GitHub, etc. (optional)</li>
494
- </ul>
495
- <h3>Security Best Practices</h3>
496
- <ol>
497
- <li><p><strong>Use environment variables</strong> for custom config (optional):</p>
498
- <pre><code class="language-javascript">auth: {
499
- supabaseUrl: process.env.SUPABASE_URL || defaultUrl,
500
- supabaseAnonKey: process.env.SUPABASE_ANON_KEY || defaultKey
501
- }
502
- </code></pre>
503
- </li>
504
- <li><p><strong>Enable RLS policies</strong> on all tables</p>
505
- </li>
506
- <li><p><strong>Regular access audits</strong> - review who has access</p>
507
- </li>
508
- <li><p><strong>Use custom domains</strong> for professional appearance</p>
509
- </li>
510
- <li><p><strong>Monitor usage</strong> in Supabase dashboard</p>
511
- </li>
512
- </ol>
513
- <h2>Troubleshooting</h2>
514
- <h3>Common Issues</h3>
515
- <p><strong>Users can&#39;t log in</strong></p>
516
- <ul>
517
- <li>Verify Supabase project is active</li>
518
- <li>Check credentials are correct</li>
519
- <li>Ensure user exists in auth.users</li>
520
- <li>Verify site domain matches configuration</li>
521
- </ul>
522
- <p><strong>Content flashes before redirect</strong></p>
523
- <ul>
524
- <li>This is fixed in latest versions</li>
525
- <li>Ensure you&#39;re using @knowcode/doc-builder v1.7.4+</li>
526
- </ul>
527
- <p><strong>Access denied after login</strong></p>
528
- <ul>
529
- <li>Check user has entry in docbuilder_access table</li>
530
- <li>Verify site_id matches your configuration</li>
531
- <li>Check RLS policies are correctly set up</li>
532
- </ul>
533
- <h3>Debug Checklist</h3>
534
- <ol>
535
- <li>Check browser console for errors</li>
536
- <li>Verify JWT token in browser DevTools &gt; Application &gt; Storage</li>
537
- <li>Test Supabase connection separately</li>
538
- <li>Check network tab for API calls</li>
539
- <li>Verify domain in database matches deployment</li>
540
- </ol>
541
- <h2>Migration from Old Auth</h2>
542
- <p>If you were using the old authentication system:</p>
543
- <ol>
544
- <li><p><strong>Remove old config</strong>:</p>
545
- <pre><code class="language-javascript">// Remove this:
546
- auth: {
547
- username: &#39;admin&#39;,
548
- password: &#39;password&#39;
549
- }
550
- </code></pre>
551
- </li>
552
- <li><p><strong>Set up Supabase</strong> following this guide</p>
553
- </li>
554
- <li><p><strong>Update config</strong> to use Supabase:</p>
555
- <pre><code class="language-javascript">features: {
556
- authentication: &#39;supabase&#39;
557
- }
558
- </code></pre>
559
- </li>
560
- </ol>
561
- <h2>Conclusion</h2>
562
- <p>Supabase authentication provides enterprise-grade security for your documentation while maintaining ease of use. With proper setup, you get secure, scalable authentication that grows with your needs.</p>
563
- <p>For public documentation that doesn&#39;t need authentication, simply set <code>authentication: false</code> or use the <code>--no-auth</code> flag during build/deploy.</p>
564
- <h2><i style="font-size: 1.2em" class="ph ph-books" aria-label="documentation"></i> Next Steps</h2>
565
- <p>For comprehensive documentation including advanced features, troubleshooting, and detailed setup instructions, see:</p>
566
- <p><strong><a href="supabase-authentication-complete-guide.md">Complete Supabase Authentication Guide</a></strong></p>
567
- <p>This detailed guide covers:</p>
568
- <ul>
569
- <li><i style="font-size: 1.2em" class="ph ph-crane" aria-label="construction"></i> All authentication modes (Global, Private Directory, Hybrid)</li>
570
- <li><i style="font-size: 1.2em" class="ph ph-wrench" aria-label="settings"></i> Advanced configuration options</li>
571
- <li><i style="font-size: 1.2em" class="ph ph-users" aria-label="team"></i> Bulk user management workflows</li>
572
- <li><i style="font-size: 1.2em" class="ph ph-shield" aria-label="security"></i> Security best practices and hardening</li>
573
- <li><i style="font-size: 1.2em" class="ph ph-bug" aria-label="bug"></i> Comprehensive troubleshooting guide</li>
574
- <li><i style="font-size: 1.2em" class="ph ph-rocket-launch" aria-label="launch"></i> Performance optimization and monitoring</li>
575
- <li><i style="font-size: 1.2em" class="ph ph-link" aria-label="link"></i> Multi-domain and role-based access control</li>
576
- </ul>
577
-
578
- </div>
579
- </main>
580
- </div>
581
-
582
- <!-- Scripts -->
583
- <script>
584
- // Pass configuration to frontend
585
- window.docBuilderConfig = {
586
- features: {
587
- showPdfDownload: true,
588
- menuDefaultOpen: false,
589
- mermaidEnhanced: true
590
- }
591
- };
592
- </script>
593
- <script src="../js/main.js"></script>
594
-
595
- </body>
596
- </html>