@knowcode/doc-builder 1.8.3 → 1.8.4
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.
- package/.claude/settings.local.json +5 -1
- package/CHANGELOG.md +16 -0
- package/assets/css/notion-style.css +26 -0
- package/debug-login.sql +30 -0
- package/html/README.html +27 -3
- package/html/auth.js +2 -2
- package/html/css/notion-style.css +26 -0
- package/html/documentation-index.html +27 -3
- package/html/guides/authentication-default-change.html +27 -3
- package/html/guides/authentication-guide.html +27 -3
- package/html/guides/claude-workflow-guide.html +27 -3
- package/html/guides/documentation-standards.html +27 -3
- package/html/guides/phosphor-icons-guide.html +27 -3
- package/html/guides/private-directory-authentication.html +27 -3
- package/html/guides/public-site-deployment.html +27 -3
- package/html/guides/search-engine-verification-guide.html +27 -3
- package/html/guides/seo-guide.html +27 -3
- package/html/guides/seo-optimization-guide.html +27 -3
- package/html/guides/troubleshooting-guide.html +27 -3
- package/html/guides/windows-setup-guide.html +27 -3
- package/html/index.html +27 -3
- package/html/js/auth.js +2 -2
- package/html/login.html +2 -2
- package/html/private/cache-control-anti-pattern.html +5 -5
- package/html/private/launch/README.html +5 -5
- package/html/private/launch/auth-cleanup-summary.html +5 -5
- package/html/private/launch/bubble-plugin-specification.html +5 -5
- package/html/private/launch/go-to-market-strategy.html +5 -5
- package/html/private/launch/launch-announcements.html +5 -5
- package/html/private/launch/vercel-deployment-auth-setup.html +5 -5
- package/html/private/next-steps-walkthrough.html +5 -5
- package/html/private/supabase-auth-implementation-completed.html +5 -5
- package/html/private/supabase-auth-implementation-plan.html +5 -5
- package/html/private/supabase-auth-integration-plan.html +5 -5
- package/html/private/supabase-auth-setup-guide.html +5 -5
- package/html/private/test-private-doc.html +5 -5
- package/html/private/user-management-tooling.html +5 -5
- package/html/sitemap.xml +44 -44
- package/html/vercel-cli-setup-guide.html +27 -3
- package/html/vercel-first-time-setup-guide.html +27 -3
- package/lib/core-builder.js +6 -10
- package/migrate-to-domain-auth.sql +47 -0
- package/package.json +1 -1
- package/user-access-view.sql +49 -0
- package/user-management/add-users.sh +31 -11
package/html/sitemap.xml
CHANGED
|
@@ -2,265 +2,265 @@
|
|
|
2
2
|
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
|
3
3
|
<url>
|
|
4
4
|
<loc>https://doc-builder-delta.vercel.app/404.html</loc>
|
|
5
|
-
<lastmod>2025-07-26T11:
|
|
5
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
6
6
|
<changefreq>monthly</changefreq>
|
|
7
7
|
<priority>0.6</priority>
|
|
8
8
|
</url>
|
|
9
9
|
<url>
|
|
10
10
|
<loc>https://doc-builder-delta.vercel.app/README.html</loc>
|
|
11
|
-
<lastmod>2025-07-26T11:
|
|
11
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
12
12
|
<changefreq>monthly</changefreq>
|
|
13
13
|
<priority>0.6</priority>
|
|
14
14
|
</url>
|
|
15
15
|
<url>
|
|
16
16
|
<loc>https://doc-builder-delta.vercel.app/claude-workflow-guide.html</loc>
|
|
17
|
-
<lastmod>2025-07-26T11:
|
|
17
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
18
18
|
<changefreq>monthly</changefreq>
|
|
19
19
|
<priority>0.8</priority>
|
|
20
20
|
</url>
|
|
21
21
|
<url>
|
|
22
22
|
<loc>https://doc-builder-delta.vercel.app/documentation-index.html</loc>
|
|
23
|
-
<lastmod>2025-07-26T11:
|
|
23
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
24
24
|
<changefreq>monthly</changefreq>
|
|
25
25
|
<priority>0.6</priority>
|
|
26
26
|
</url>
|
|
27
27
|
<url>
|
|
28
28
|
<loc>https://doc-builder-delta.vercel.app/guides/authentication-default-change.html</loc>
|
|
29
|
-
<lastmod>2025-07-26T11:
|
|
29
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
30
30
|
<changefreq>monthly</changefreq>
|
|
31
31
|
<priority>0.8</priority>
|
|
32
32
|
</url>
|
|
33
33
|
<url>
|
|
34
34
|
<loc>https://doc-builder-delta.vercel.app/guides/authentication-guide.html</loc>
|
|
35
|
-
<lastmod>2025-07-26T11:
|
|
35
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
36
36
|
<changefreq>monthly</changefreq>
|
|
37
37
|
<priority>0.8</priority>
|
|
38
38
|
</url>
|
|
39
39
|
<url>
|
|
40
40
|
<loc>https://doc-builder-delta.vercel.app/guides/cache-control-anti-pattern.html</loc>
|
|
41
|
-
<lastmod>2025-07-26T11:
|
|
41
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
42
42
|
<changefreq>monthly</changefreq>
|
|
43
43
|
<priority>0.8</priority>
|
|
44
44
|
</url>
|
|
45
45
|
<url>
|
|
46
46
|
<loc>https://doc-builder-delta.vercel.app/guides/claude-workflow-guide.html</loc>
|
|
47
|
-
<lastmod>2025-07-26T11:
|
|
47
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
48
48
|
<changefreq>monthly</changefreq>
|
|
49
49
|
<priority>0.8</priority>
|
|
50
50
|
</url>
|
|
51
51
|
<url>
|
|
52
52
|
<loc>https://doc-builder-delta.vercel.app/guides/document-standards.html</loc>
|
|
53
|
-
<lastmod>2025-07-26T11:
|
|
53
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
54
54
|
<changefreq>monthly</changefreq>
|
|
55
55
|
<priority>0.8</priority>
|
|
56
56
|
</url>
|
|
57
57
|
<url>
|
|
58
58
|
<loc>https://doc-builder-delta.vercel.app/guides/documentation-standards.html</loc>
|
|
59
|
-
<lastmod>2025-07-26T11:
|
|
59
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
60
60
|
<changefreq>monthly</changefreq>
|
|
61
61
|
<priority>0.8</priority>
|
|
62
62
|
</url>
|
|
63
63
|
<url>
|
|
64
64
|
<loc>https://doc-builder-delta.vercel.app/guides/next-steps-walkthrough.html</loc>
|
|
65
|
-
<lastmod>2025-07-26T11:
|
|
65
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
66
66
|
<changefreq>monthly</changefreq>
|
|
67
67
|
<priority>0.8</priority>
|
|
68
68
|
</url>
|
|
69
69
|
<url>
|
|
70
70
|
<loc>https://doc-builder-delta.vercel.app/guides/phosphor-icons-guide.html</loc>
|
|
71
|
-
<lastmod>2025-07-26T11:
|
|
71
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
72
72
|
<changefreq>monthly</changefreq>
|
|
73
73
|
<priority>0.8</priority>
|
|
74
74
|
</url>
|
|
75
75
|
<url>
|
|
76
76
|
<loc>https://doc-builder-delta.vercel.app/guides/private-directory-authentication.html</loc>
|
|
77
|
-
<lastmod>2025-07-26T11:
|
|
77
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
78
78
|
<changefreq>monthly</changefreq>
|
|
79
79
|
<priority>0.8</priority>
|
|
80
80
|
</url>
|
|
81
81
|
<url>
|
|
82
82
|
<loc>https://doc-builder-delta.vercel.app/guides/public-site-deployment.html</loc>
|
|
83
|
-
<lastmod>2025-07-26T11:
|
|
83
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
84
84
|
<changefreq>monthly</changefreq>
|
|
85
85
|
<priority>0.8</priority>
|
|
86
86
|
</url>
|
|
87
87
|
<url>
|
|
88
88
|
<loc>https://doc-builder-delta.vercel.app/guides/search-engine-verification-guide.html</loc>
|
|
89
|
-
<lastmod>2025-07-26T11:
|
|
89
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
90
90
|
<changefreq>monthly</changefreq>
|
|
91
91
|
<priority>0.8</priority>
|
|
92
92
|
</url>
|
|
93
93
|
<url>
|
|
94
94
|
<loc>https://doc-builder-delta.vercel.app/guides/seo-guide.html</loc>
|
|
95
|
-
<lastmod>2025-07-26T11:
|
|
95
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
96
96
|
<changefreq>monthly</changefreq>
|
|
97
97
|
<priority>0.8</priority>
|
|
98
98
|
</url>
|
|
99
99
|
<url>
|
|
100
100
|
<loc>https://doc-builder-delta.vercel.app/guides/seo-optimization-guide.html</loc>
|
|
101
|
-
<lastmod>2025-07-26T11:
|
|
101
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
102
102
|
<changefreq>monthly</changefreq>
|
|
103
103
|
<priority>0.8</priority>
|
|
104
104
|
</url>
|
|
105
105
|
<url>
|
|
106
106
|
<loc>https://doc-builder-delta.vercel.app/guides/supabase-auth-implementation-plan.html</loc>
|
|
107
|
-
<lastmod>2025-07-26T11:
|
|
107
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
108
108
|
<changefreq>monthly</changefreq>
|
|
109
109
|
<priority>0.8</priority>
|
|
110
110
|
</url>
|
|
111
111
|
<url>
|
|
112
112
|
<loc>https://doc-builder-delta.vercel.app/guides/supabase-auth-integration-plan.html</loc>
|
|
113
|
-
<lastmod>2025-07-26T11:
|
|
113
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
114
114
|
<changefreq>monthly</changefreq>
|
|
115
115
|
<priority>0.8</priority>
|
|
116
116
|
</url>
|
|
117
117
|
<url>
|
|
118
118
|
<loc>https://doc-builder-delta.vercel.app/guides/supabase-auth-setup-guide.html</loc>
|
|
119
|
-
<lastmod>2025-07-26T11:
|
|
119
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
120
120
|
<changefreq>monthly</changefreq>
|
|
121
121
|
<priority>0.8</priority>
|
|
122
122
|
</url>
|
|
123
123
|
<url>
|
|
124
124
|
<loc>https://doc-builder-delta.vercel.app/guides/troubleshooting-guide.html</loc>
|
|
125
|
-
<lastmod>2025-07-26T11:
|
|
125
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
126
126
|
<changefreq>monthly</changefreq>
|
|
127
127
|
<priority>0.8</priority>
|
|
128
128
|
</url>
|
|
129
129
|
<url>
|
|
130
130
|
<loc>https://doc-builder-delta.vercel.app/guides/vercel-deployment-auth-setup.html</loc>
|
|
131
|
-
<lastmod>2025-07-26T11:
|
|
131
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
132
132
|
<changefreq>monthly</changefreq>
|
|
133
133
|
<priority>0.8</priority>
|
|
134
134
|
</url>
|
|
135
135
|
<url>
|
|
136
136
|
<loc>https://doc-builder-delta.vercel.app/guides/windows-setup-guide.html</loc>
|
|
137
|
-
<lastmod>2025-07-26T11:
|
|
137
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
138
138
|
<changefreq>monthly</changefreq>
|
|
139
139
|
<priority>0.8</priority>
|
|
140
140
|
</url>
|
|
141
141
|
<url>
|
|
142
142
|
<loc>https://doc-builder-delta.vercel.app/index.html</loc>
|
|
143
|
-
<lastmod>2025-07-26T11:
|
|
143
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
144
144
|
<changefreq>weekly</changefreq>
|
|
145
145
|
<priority>1.0</priority>
|
|
146
146
|
</url>
|
|
147
147
|
<url>
|
|
148
148
|
<loc>https://doc-builder-delta.vercel.app/launch/README.html</loc>
|
|
149
|
-
<lastmod>2025-07-26T11:
|
|
149
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
150
150
|
<changefreq>monthly</changefreq>
|
|
151
151
|
<priority>0.6</priority>
|
|
152
152
|
</url>
|
|
153
153
|
<url>
|
|
154
154
|
<loc>https://doc-builder-delta.vercel.app/launch/bubble-plugin-specification.html</loc>
|
|
155
|
-
<lastmod>2025-07-26T11:
|
|
155
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
156
156
|
<changefreq>monthly</changefreq>
|
|
157
157
|
<priority>0.6</priority>
|
|
158
158
|
</url>
|
|
159
159
|
<url>
|
|
160
160
|
<loc>https://doc-builder-delta.vercel.app/launch/go-to-market-strategy.html</loc>
|
|
161
|
-
<lastmod>2025-07-26T11:
|
|
161
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
162
162
|
<changefreq>monthly</changefreq>
|
|
163
163
|
<priority>0.6</priority>
|
|
164
164
|
</url>
|
|
165
165
|
<url>
|
|
166
166
|
<loc>https://doc-builder-delta.vercel.app/launch/launch-announcements.html</loc>
|
|
167
|
-
<lastmod>2025-07-26T11:
|
|
167
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
168
168
|
<changefreq>monthly</changefreq>
|
|
169
169
|
<priority>0.6</priority>
|
|
170
170
|
</url>
|
|
171
171
|
<url>
|
|
172
172
|
<loc>https://doc-builder-delta.vercel.app/private/cache-control-anti-pattern.html</loc>
|
|
173
|
-
<lastmod>2025-07-26T11:
|
|
173
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
174
174
|
<changefreq>monthly</changefreq>
|
|
175
175
|
<priority>0.6</priority>
|
|
176
176
|
</url>
|
|
177
177
|
<url>
|
|
178
178
|
<loc>https://doc-builder-delta.vercel.app/private/launch/README.html</loc>
|
|
179
|
-
<lastmod>2025-07-26T11:
|
|
179
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
180
180
|
<changefreq>monthly</changefreq>
|
|
181
181
|
<priority>0.6</priority>
|
|
182
182
|
</url>
|
|
183
183
|
<url>
|
|
184
184
|
<loc>https://doc-builder-delta.vercel.app/private/launch/auth-cleanup-summary.html</loc>
|
|
185
|
-
<lastmod>2025-07-26T11:
|
|
185
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
186
186
|
<changefreq>monthly</changefreq>
|
|
187
187
|
<priority>0.6</priority>
|
|
188
188
|
</url>
|
|
189
189
|
<url>
|
|
190
190
|
<loc>https://doc-builder-delta.vercel.app/private/launch/bubble-plugin-specification.html</loc>
|
|
191
|
-
<lastmod>2025-07-26T11:
|
|
191
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
192
192
|
<changefreq>monthly</changefreq>
|
|
193
193
|
<priority>0.6</priority>
|
|
194
194
|
</url>
|
|
195
195
|
<url>
|
|
196
196
|
<loc>https://doc-builder-delta.vercel.app/private/launch/go-to-market-strategy.html</loc>
|
|
197
|
-
<lastmod>2025-07-26T11:
|
|
197
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
198
198
|
<changefreq>monthly</changefreq>
|
|
199
199
|
<priority>0.6</priority>
|
|
200
200
|
</url>
|
|
201
201
|
<url>
|
|
202
202
|
<loc>https://doc-builder-delta.vercel.app/private/launch/launch-announcements.html</loc>
|
|
203
|
-
<lastmod>2025-07-26T11:
|
|
203
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
204
204
|
<changefreq>monthly</changefreq>
|
|
205
205
|
<priority>0.6</priority>
|
|
206
206
|
</url>
|
|
207
207
|
<url>
|
|
208
208
|
<loc>https://doc-builder-delta.vercel.app/private/launch/vercel-deployment-auth-setup.html</loc>
|
|
209
|
-
<lastmod>2025-07-26T11:
|
|
209
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
210
210
|
<changefreq>monthly</changefreq>
|
|
211
211
|
<priority>0.6</priority>
|
|
212
212
|
</url>
|
|
213
213
|
<url>
|
|
214
214
|
<loc>https://doc-builder-delta.vercel.app/private/next-steps-walkthrough.html</loc>
|
|
215
|
-
<lastmod>2025-07-26T11:
|
|
215
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
216
216
|
<changefreq>monthly</changefreq>
|
|
217
217
|
<priority>0.6</priority>
|
|
218
218
|
</url>
|
|
219
219
|
<url>
|
|
220
220
|
<loc>https://doc-builder-delta.vercel.app/private/supabase-auth-implementation-completed.html</loc>
|
|
221
|
-
<lastmod>2025-07-26T11:
|
|
221
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
222
222
|
<changefreq>monthly</changefreq>
|
|
223
223
|
<priority>0.6</priority>
|
|
224
224
|
</url>
|
|
225
225
|
<url>
|
|
226
226
|
<loc>https://doc-builder-delta.vercel.app/private/supabase-auth-implementation-plan.html</loc>
|
|
227
|
-
<lastmod>2025-07-26T11:
|
|
227
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
228
228
|
<changefreq>monthly</changefreq>
|
|
229
229
|
<priority>0.6</priority>
|
|
230
230
|
</url>
|
|
231
231
|
<url>
|
|
232
232
|
<loc>https://doc-builder-delta.vercel.app/private/supabase-auth-integration-plan.html</loc>
|
|
233
|
-
<lastmod>2025-07-26T11:
|
|
233
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
234
234
|
<changefreq>monthly</changefreq>
|
|
235
235
|
<priority>0.6</priority>
|
|
236
236
|
</url>
|
|
237
237
|
<url>
|
|
238
238
|
<loc>https://doc-builder-delta.vercel.app/private/supabase-auth-setup-guide.html</loc>
|
|
239
|
-
<lastmod>2025-07-26T11:
|
|
239
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
240
240
|
<changefreq>monthly</changefreq>
|
|
241
241
|
<priority>0.8</priority>
|
|
242
242
|
</url>
|
|
243
243
|
<url>
|
|
244
244
|
<loc>https://doc-builder-delta.vercel.app/private/test-private-doc.html</loc>
|
|
245
|
-
<lastmod>2025-07-26T11:
|
|
245
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
246
246
|
<changefreq>monthly</changefreq>
|
|
247
247
|
<priority>0.6</priority>
|
|
248
248
|
</url>
|
|
249
249
|
<url>
|
|
250
250
|
<loc>https://doc-builder-delta.vercel.app/private/user-management-tooling.html</loc>
|
|
251
|
-
<lastmod>2025-07-26T11:
|
|
251
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
252
252
|
<changefreq>monthly</changefreq>
|
|
253
253
|
<priority>0.6</priority>
|
|
254
254
|
</url>
|
|
255
255
|
<url>
|
|
256
256
|
<loc>https://doc-builder-delta.vercel.app/vercel-cli-setup-guide.html</loc>
|
|
257
|
-
<lastmod>2025-07-26T11:
|
|
257
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
258
258
|
<changefreq>monthly</changefreq>
|
|
259
259
|
<priority>0.8</priority>
|
|
260
260
|
</url>
|
|
261
261
|
<url>
|
|
262
262
|
<loc>https://doc-builder-delta.vercel.app/vercel-first-time-setup-guide.html</loc>
|
|
263
|
-
<lastmod>2025-07-26T11:
|
|
263
|
+
<lastmod>2025-07-26T11:44:31.555Z</lastmod>
|
|
264
264
|
<changefreq>monthly</changefreq>
|
|
265
265
|
<priority>0.8</priority>
|
|
266
266
|
</url>
|
|
@@ -98,8 +98,8 @@
|
|
|
98
98
|
"name": "Knowcode Ltd",
|
|
99
99
|
"url": "https://knowcode.tech"
|
|
100
100
|
},
|
|
101
|
-
"datePublished": "2025-07-26T11:
|
|
102
|
-
"dateModified": "2025-07-26T11:
|
|
101
|
+
"datePublished": "2025-07-26T11:44:31.541Z",
|
|
102
|
+
"dateModified": "2025-07-26T11:44:31.541Z",
|
|
103
103
|
"mainEntityOfPage": {
|
|
104
104
|
"@type": "WebPage",
|
|
105
105
|
"@id": "https://doc-builder-delta.vercel.app/vercel-cli-setup-guide.html"
|
|
@@ -132,7 +132,7 @@
|
|
|
132
132
|
|
|
133
133
|
<div class="header-actions">
|
|
134
134
|
<div class="deployment-info">
|
|
135
|
-
<span class="deployment-date" title="Built with doc-builder v1.8.
|
|
135
|
+
<span class="deployment-date" title="Built with doc-builder v1.8.3">Last updated: Jul 26, 2025, 11:44 AM UTC</span>
|
|
136
136
|
</div>
|
|
137
137
|
|
|
138
138
|
|
|
@@ -206,6 +206,30 @@
|
|
|
206
206
|
<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>
|
|
207
207
|
<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>
|
|
208
208
|
<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>
|
|
209
|
+
<div class="nav-section private-nav" data-level="1">
|
|
210
|
+
<a class="nav-title collapsible" href="#" data-target="nav-private-1" >
|
|
211
|
+
<i class="fas fa-chevron-right collapse-icon"></i><i class="fas fa-folder"></i> Private
|
|
212
|
+
</a>
|
|
213
|
+
<div class="nav-content collapsed" id="nav-private-1">
|
|
214
|
+
<a href="/private/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>
|
|
215
|
+
<a href="/private/next-steps-walkthrough.html" class="nav-item" data-tooltip="Now that we've implemented Supabase authentication, let's walk through testing the implementation and preparing for deployment."><i class="fas fa-file-alt"></i> Next Steps Walkthrough</a>
|
|
216
|
+
<a href="/private/supabase-auth-implementation-completed.html" class="nav-item" data-tooltip="This document records the successful implementation of Supabase authentication in @knowcode/doc-builder v1.7.5+."><i class="fas fa-file-alt"></i> Supabase Auth Implementation Completed</a>
|
|
217
|
+
<a href="/private/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>
|
|
218
|
+
<a href="/private/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>
|
|
219
|
+
<a href="/private/supabase-auth-setup-guide.html" class="nav-item" data-tooltip="@knowcode/doc-builder supports enterprise-grade authentication through Supabase."><i class="fas fa-file-alt"></i> Supabase Auth Setup Guide</a>
|
|
220
|
+
<a href="/private/test-private-doc.html" class="nav-item" data-tooltip="Test Private Document."><i class="fas fa-file-alt"></i> Test Private Doc</a>
|
|
221
|
+
<a href="/private/user-management-tooling.html" class="nav-item" data-tooltip="The user management system is a set of tools designed to manage user access to Supabase-authenticated documentation sites built with."><i class="fas fa-file-alt"></i> User Management Tooling</a></div></div>
|
|
222
|
+
<div class="nav-section private-nav" data-level="2">
|
|
223
|
+
<a class="nav-title collapsible" href="/private/launch/README.html" data-target="nav-private-launch-2" >
|
|
224
|
+
<i class="fas fa-chevron-right collapse-icon"></i><i class="fas fa-folder"></i> Launch
|
|
225
|
+
</a>
|
|
226
|
+
<div class="nav-content collapsed" id="nav-private-launch-2">
|
|
227
|
+
<a href="/private/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>
|
|
228
|
+
<a href="/private/launch/auth-cleanup-summary.html" class="nav-item" data-tooltip="All references to the old client-side authentication system have been removed from @knowcode/doc-builder."><i class="fas fa-file-alt"></i> Auth Cleanup Summary</a>
|
|
229
|
+
<a href="/private/launch/bubble-plugin-specification.html" class="nav-item" 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>
|
|
230
|
+
<a href="/private/launch/go-to-market-strategy.html" class="nav-item" data-tooltip="Go-to-Market Strategy & Product Launch Plan."><i class="fas fa-file-alt"></i> Go To Market Strategy</a>
|
|
231
|
+
<a href="/private/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>
|
|
232
|
+
<a href="/private/launch/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></div></div>
|
|
209
233
|
</nav>
|
|
210
234
|
<div class="resize-handle"></div>
|
|
211
235
|
</aside>
|
|
@@ -98,8 +98,8 @@
|
|
|
98
98
|
"name": "Knowcode Ltd",
|
|
99
99
|
"url": "https://knowcode.tech"
|
|
100
100
|
},
|
|
101
|
-
"datePublished": "2025-07-26T11:
|
|
102
|
-
"dateModified": "2025-07-26T11:
|
|
101
|
+
"datePublished": "2025-07-26T11:44:31.543Z",
|
|
102
|
+
"dateModified": "2025-07-26T11:44:31.543Z",
|
|
103
103
|
"mainEntityOfPage": {
|
|
104
104
|
"@type": "WebPage",
|
|
105
105
|
"@id": "https://doc-builder-delta.vercel.app/vercel-first-time-setup-guide.html"
|
|
@@ -132,7 +132,7 @@
|
|
|
132
132
|
|
|
133
133
|
<div class="header-actions">
|
|
134
134
|
<div class="deployment-info">
|
|
135
|
-
<span class="deployment-date" title="Built with doc-builder v1.8.
|
|
135
|
+
<span class="deployment-date" title="Built with doc-builder v1.8.3">Last updated: Jul 26, 2025, 11:44 AM UTC</span>
|
|
136
136
|
</div>
|
|
137
137
|
|
|
138
138
|
|
|
@@ -206,6 +206,30 @@
|
|
|
206
206
|
<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>
|
|
207
207
|
<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>
|
|
208
208
|
<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>
|
|
209
|
+
<div class="nav-section private-nav" data-level="1">
|
|
210
|
+
<a class="nav-title collapsible" href="#" data-target="nav-private-1" >
|
|
211
|
+
<i class="fas fa-chevron-right collapse-icon"></i><i class="fas fa-folder"></i> Private
|
|
212
|
+
</a>
|
|
213
|
+
<div class="nav-content collapsed" id="nav-private-1">
|
|
214
|
+
<a href="/private/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>
|
|
215
|
+
<a href="/private/next-steps-walkthrough.html" class="nav-item" data-tooltip="Now that we've implemented Supabase authentication, let's walk through testing the implementation and preparing for deployment."><i class="fas fa-file-alt"></i> Next Steps Walkthrough</a>
|
|
216
|
+
<a href="/private/supabase-auth-implementation-completed.html" class="nav-item" data-tooltip="This document records the successful implementation of Supabase authentication in @knowcode/doc-builder v1.7.5+."><i class="fas fa-file-alt"></i> Supabase Auth Implementation Completed</a>
|
|
217
|
+
<a href="/private/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>
|
|
218
|
+
<a href="/private/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>
|
|
219
|
+
<a href="/private/supabase-auth-setup-guide.html" class="nav-item" data-tooltip="@knowcode/doc-builder supports enterprise-grade authentication through Supabase."><i class="fas fa-file-alt"></i> Supabase Auth Setup Guide</a>
|
|
220
|
+
<a href="/private/test-private-doc.html" class="nav-item" data-tooltip="Test Private Document."><i class="fas fa-file-alt"></i> Test Private Doc</a>
|
|
221
|
+
<a href="/private/user-management-tooling.html" class="nav-item" data-tooltip="The user management system is a set of tools designed to manage user access to Supabase-authenticated documentation sites built with."><i class="fas fa-file-alt"></i> User Management Tooling</a></div></div>
|
|
222
|
+
<div class="nav-section private-nav" data-level="2">
|
|
223
|
+
<a class="nav-title collapsible" href="/private/launch/README.html" data-target="nav-private-launch-2" >
|
|
224
|
+
<i class="fas fa-chevron-right collapse-icon"></i><i class="fas fa-folder"></i> Launch
|
|
225
|
+
</a>
|
|
226
|
+
<div class="nav-content collapsed" id="nav-private-launch-2">
|
|
227
|
+
<a href="/private/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>
|
|
228
|
+
<a href="/private/launch/auth-cleanup-summary.html" class="nav-item" data-tooltip="All references to the old client-side authentication system have been removed from @knowcode/doc-builder."><i class="fas fa-file-alt"></i> Auth Cleanup Summary</a>
|
|
229
|
+
<a href="/private/launch/bubble-plugin-specification.html" class="nav-item" 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>
|
|
230
|
+
<a href="/private/launch/go-to-market-strategy.html" class="nav-item" data-tooltip="Go-to-Market Strategy & Product Launch Plan."><i class="fas fa-file-alt"></i> Go To Market Strategy</a>
|
|
231
|
+
<a href="/private/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>
|
|
232
|
+
<a href="/private/launch/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></div></div>
|
|
209
233
|
</nav>
|
|
210
234
|
<div class="resize-handle"></div>
|
|
211
235
|
</aside>
|
package/lib/core-builder.js
CHANGED
|
@@ -505,16 +505,8 @@ function buildNavigationStructure(files, currentFile, config = {}) {
|
|
|
505
505
|
// Check if authentication is enabled
|
|
506
506
|
const isAuthEnabled = config.features?.authentication === 'supabase';
|
|
507
507
|
|
|
508
|
-
//
|
|
509
|
-
// We'll pass a flag from processMarkdownFile to indicate if this is a private page
|
|
510
|
-
const isPrivatePage = currentFile && (currentFile.startsWith('private/') || currentFile.includes('/private/'));
|
|
511
|
-
const shouldIncludePrivate = isAuthEnabled && isPrivatePage;
|
|
512
|
-
|
|
508
|
+
// Include all files in navigation - we'll use CSS to show/hide based on auth state
|
|
513
509
|
files.forEach(file => {
|
|
514
|
-
// Skip private files if we're not on an authenticated page
|
|
515
|
-
if (file.isPrivate && !shouldIncludePrivate) {
|
|
516
|
-
return;
|
|
517
|
-
}
|
|
518
510
|
|
|
519
511
|
const parts = file.urlPath.split('/');
|
|
520
512
|
let current = tree;
|
|
@@ -610,8 +602,12 @@ function buildNavigationStructure(files, currentFile, config = {}) {
|
|
|
610
602
|
// Expand all folders by default on initial page load (index.html or root README)
|
|
611
603
|
const shouldExpand = hasActiveChild || currentFile === 'index.html' || (currentFile === 'README.html' && level === 1);
|
|
612
604
|
|
|
605
|
+
// Check if this is a private folder
|
|
606
|
+
const isPrivateFolder = folderName === 'private' || parentPath.includes('private');
|
|
607
|
+
const privateClass = isPrivateFolder ? ' private-nav' : '';
|
|
608
|
+
|
|
613
609
|
let html = `
|
|
614
|
-
<div class="nav-section" data-level="${level}">
|
|
610
|
+
<div class="nav-section${privateClass}" data-level="${level}">
|
|
615
611
|
<a class="nav-title${isCollapsible ? ' collapsible' : ''}${shouldExpand ? ' expanded' : ''}" ${folderLink} ${isCollapsible ? `data-target="${sectionId}"` : ''} ${tooltipAttr}>
|
|
616
612
|
${collapseIcon}<i class="${icon}"></i> ${displayName}
|
|
617
613
|
</a>
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
-- Migration Script: From Site IDs to Domain-based Authentication
|
|
2
|
+
-- IMPORTANT: Backup your database before running this!
|
|
3
|
+
|
|
4
|
+
-- Step 1: Create new table structure
|
|
5
|
+
CREATE TABLE IF NOT EXISTS docbuilder_access_new (
|
|
6
|
+
user_id UUID REFERENCES auth.users(id) ON DELETE CASCADE,
|
|
7
|
+
domain TEXT NOT NULL,
|
|
8
|
+
created_at TIMESTAMPTZ DEFAULT NOW(),
|
|
9
|
+
PRIMARY KEY (user_id, domain)
|
|
10
|
+
);
|
|
11
|
+
|
|
12
|
+
-- Step 2: Migrate existing data (join access with sites to get domains)
|
|
13
|
+
INSERT INTO docbuilder_access_new (user_id, domain, created_at)
|
|
14
|
+
SELECT
|
|
15
|
+
da.user_id,
|
|
16
|
+
ds.domain,
|
|
17
|
+
da.created_at
|
|
18
|
+
FROM docbuilder_access da
|
|
19
|
+
JOIN docbuilder_sites ds ON da.site_id = ds.id
|
|
20
|
+
ON CONFLICT (user_id, domain) DO NOTHING;
|
|
21
|
+
|
|
22
|
+
-- Step 3: Create index
|
|
23
|
+
CREATE INDEX IF NOT EXISTS idx_docbuilder_access_new_domain ON docbuilder_access_new(domain);
|
|
24
|
+
|
|
25
|
+
-- Step 4: Enable RLS
|
|
26
|
+
ALTER TABLE docbuilder_access_new ENABLE ROW LEVEL SECURITY;
|
|
27
|
+
|
|
28
|
+
-- Step 5: Create RLS Policy
|
|
29
|
+
CREATE POLICY "Users see own access" ON docbuilder_access_new
|
|
30
|
+
FOR SELECT USING (user_id = auth.uid());
|
|
31
|
+
|
|
32
|
+
-- Step 6: Verify migration (check counts)
|
|
33
|
+
SELECT 'Old access records:' as info, COUNT(*) as count FROM docbuilder_access
|
|
34
|
+
UNION ALL
|
|
35
|
+
SELECT 'New access records:' as info, COUNT(*) as count FROM docbuilder_access_new
|
|
36
|
+
UNION ALL
|
|
37
|
+
SELECT 'Sites migrated:' as info, COUNT(DISTINCT domain) as count FROM docbuilder_access_new;
|
|
38
|
+
|
|
39
|
+
-- Step 7: Once verified, swap tables (CAREFUL - This is the point of no return!)
|
|
40
|
+
-- DROP TABLE IF EXISTS docbuilder_access;
|
|
41
|
+
-- ALTER TABLE docbuilder_access_new RENAME TO docbuilder_access;
|
|
42
|
+
-- DROP TABLE IF EXISTS docbuilder_sites;
|
|
43
|
+
|
|
44
|
+
-- Step 8: Update index name
|
|
45
|
+
-- ALTER INDEX idx_docbuilder_access_new_domain RENAME TO idx_docbuilder_access_domain;
|
|
46
|
+
|
|
47
|
+
-- Note: Uncomment steps 7 and 8 only after verifying the migration worked correctly!
|
package/package.json
CHANGED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
-- Create a view to easily see user access with email addresses
|
|
2
|
+
-- This makes it much easier to manage user access
|
|
3
|
+
|
|
4
|
+
-- Drop the view if it exists (to recreate with latest schema)
|
|
5
|
+
DROP VIEW IF EXISTS user_access_view;
|
|
6
|
+
|
|
7
|
+
-- Create the view joining docbuilder_access with auth.users
|
|
8
|
+
CREATE VIEW user_access_view AS
|
|
9
|
+
SELECT
|
|
10
|
+
u.email,
|
|
11
|
+
da.domain,
|
|
12
|
+
da.created_at as access_granted,
|
|
13
|
+
u.created_at as user_created,
|
|
14
|
+
u.last_sign_in_at,
|
|
15
|
+
u.id as user_id
|
|
16
|
+
FROM
|
|
17
|
+
docbuilder_access da
|
|
18
|
+
JOIN auth.users u ON da.user_id = u.id
|
|
19
|
+
ORDER BY
|
|
20
|
+
da.domain,
|
|
21
|
+
u.email;
|
|
22
|
+
|
|
23
|
+
-- Grant permissions to authenticated users to view their own records
|
|
24
|
+
GRANT SELECT ON user_access_view TO authenticated;
|
|
25
|
+
|
|
26
|
+
-- Example queries using the view:
|
|
27
|
+
|
|
28
|
+
-- 1. See all users for a specific domain
|
|
29
|
+
-- SELECT * FROM user_access_view WHERE domain = 'docs.example.com';
|
|
30
|
+
|
|
31
|
+
-- 2. See all domains a user has access to
|
|
32
|
+
-- SELECT * FROM user_access_view WHERE email = 'user@example.com';
|
|
33
|
+
|
|
34
|
+
-- 3. Count users per domain
|
|
35
|
+
-- SELECT domain, COUNT(*) as user_count
|
|
36
|
+
-- FROM user_access_view
|
|
37
|
+
-- GROUP BY domain
|
|
38
|
+
-- ORDER BY user_count DESC;
|
|
39
|
+
|
|
40
|
+
-- 4. Find users who haven't logged in recently
|
|
41
|
+
-- SELECT email, domain, last_sign_in_at
|
|
42
|
+
-- FROM user_access_view
|
|
43
|
+
-- WHERE last_sign_in_at < NOW() - INTERVAL '30 days'
|
|
44
|
+
-- OR last_sign_in_at IS NULL;
|
|
45
|
+
|
|
46
|
+
-- 5. Export all access for documentation
|
|
47
|
+
-- SELECT email, domain, access_granted
|
|
48
|
+
-- FROM user_access_view
|
|
49
|
+
-- ORDER BY domain, email;
|
|
@@ -18,8 +18,14 @@ NC='\033[0m' # No Color
|
|
|
18
18
|
# Configuration
|
|
19
19
|
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
20
20
|
CONFIG_FILE="$SCRIPT_DIR/.supabase-config"
|
|
21
|
+
ENV_FILE="$SCRIPT_DIR/.env"
|
|
21
22
|
PROJECT_ID="xcihhnfcitjrwbynxmka" # Default project ID
|
|
22
23
|
|
|
24
|
+
# Load .env file if exists
|
|
25
|
+
if [ -f "$ENV_FILE" ]; then
|
|
26
|
+
source "$ENV_FILE"
|
|
27
|
+
fi
|
|
28
|
+
|
|
23
29
|
# Load configuration if exists
|
|
24
30
|
if [ -f "$CONFIG_FILE" ]; then
|
|
25
31
|
source "$CONFIG_FILE"
|
|
@@ -209,7 +215,7 @@ execute_sql() {
|
|
|
209
215
|
|
|
210
216
|
# Method 1: Try using psql if DATABASE_URL is available
|
|
211
217
|
if [ ! -z "$DATABASE_URL" ]; then
|
|
212
|
-
local output=$(psql "$DATABASE_URL" -f "$temp_file" 2>&1)
|
|
218
|
+
local output=$(psql "$DATABASE_URL" -t -A -f "$temp_file" 2>&1)
|
|
213
219
|
local status=$?
|
|
214
220
|
rm "$temp_file"
|
|
215
221
|
|
|
@@ -219,15 +225,21 @@ execute_sql() {
|
|
|
219
225
|
fi
|
|
220
226
|
fi
|
|
221
227
|
|
|
222
|
-
# Method 2: Try
|
|
223
|
-
if command -v supabase &> /dev/null
|
|
224
|
-
|
|
225
|
-
local status
|
|
226
|
-
rm "$temp_file"
|
|
228
|
+
# Method 2: Try using supabase db dump to get connection details
|
|
229
|
+
if command -v supabase &> /dev/null; then
|
|
230
|
+
# Get database URL from supabase status
|
|
231
|
+
local db_url=$(supabase status --output json 2>/dev/null | grep -o '"db_url":"[^"]*' | cut -d'"' -f4)
|
|
227
232
|
|
|
228
|
-
if [
|
|
229
|
-
|
|
230
|
-
|
|
233
|
+
if [ ! -z "$db_url" ] && [ "$db_url" != "null" ]; then
|
|
234
|
+
# Try psql with the extracted URL
|
|
235
|
+
local output=$(psql "$db_url" -t -A -f "$temp_file" 2>&1)
|
|
236
|
+
local status=$?
|
|
237
|
+
rm "$temp_file"
|
|
238
|
+
|
|
239
|
+
if [ $status -eq 0 ]; then
|
|
240
|
+
echo "$output"
|
|
241
|
+
return 0
|
|
242
|
+
fi
|
|
231
243
|
fi
|
|
232
244
|
fi
|
|
233
245
|
|
|
@@ -257,9 +269,17 @@ create_user() {
|
|
|
257
269
|
# Check if user exists first
|
|
258
270
|
local check_sql="SELECT id, email FROM auth.users WHERE email = '$email';"
|
|
259
271
|
|
|
260
|
-
|
|
272
|
+
echo -e "${CYAN}Checking database for user...${NC}"
|
|
273
|
+
local result=$(execute_sql "$check_sql" 2>&1)
|
|
274
|
+
|
|
275
|
+
# Debug output
|
|
276
|
+
if [ ! -z "$DEBUG" ]; then
|
|
277
|
+
echo -e "${BLUE}[DEBUG] SQL Result:${NC}"
|
|
278
|
+
echo "$result"
|
|
279
|
+
fi
|
|
261
280
|
|
|
262
|
-
if
|
|
281
|
+
# Check if the result contains the email (case insensitive)
|
|
282
|
+
if echo "$result" | grep -qi "$email"; then
|
|
263
283
|
echo -e "${YELLOW}ℹ️ User already exists${NC}"
|
|
264
284
|
return 0
|
|
265
285
|
else
|