@knowcode/doc-builder 1.8.0 → 1.8.2
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 +4 -1
- package/CHANGELOG.md +24 -0
- package/assets/js/main.js +10 -6
- package/html/README.html +43 -5
- package/html/auth.js +61 -12
- package/html/documentation-index.html +43 -5
- package/html/guides/authentication-default-change.html +43 -5
- package/html/guides/authentication-guide.html +50 -9
- package/html/guides/claude-workflow-guide.html +43 -5
- package/html/guides/documentation-standards.html +43 -5
- package/html/guides/phosphor-icons-guide.html +43 -5
- package/html/guides/private-directory-authentication.html +246 -119
- package/html/guides/public-site-deployment.html +43 -5
- package/html/guides/search-engine-verification-guide.html +43 -5
- package/html/guides/seo-guide.html +43 -5
- package/html/guides/seo-optimization-guide.html +43 -5
- package/html/guides/troubleshooting-guide.html +43 -5
- package/html/guides/windows-setup-guide.html +43 -5
- package/html/index.html +43 -5
- package/html/js/auth.js +118 -39
- package/html/js/main.js +10 -6
- package/html/login.html +3 -3
- package/html/logout.html +2 -2
- package/html/private/cache-control-anti-pattern.html +67 -5
- package/html/private/launch/README.html +67 -5
- package/html/private/launch/auth-cleanup-summary.html +67 -5
- package/html/private/launch/bubble-plugin-specification.html +67 -5
- package/html/private/launch/go-to-market-strategy.html +67 -5
- package/html/private/launch/launch-announcements.html +67 -5
- package/html/private/launch/vercel-deployment-auth-setup.html +67 -5
- package/html/private/next-steps-walkthrough.html +67 -5
- package/html/private/supabase-auth-implementation-completed.html +67 -5
- package/html/private/supabase-auth-implementation-plan.html +67 -5
- package/html/private/supabase-auth-integration-plan.html +67 -5
- package/html/private/supabase-auth-setup-guide.html +67 -5
- package/html/private/test-private-doc.html +67 -5
- package/html/private/user-management-tooling.html +587 -0
- package/html/robots.txt +4 -0
- package/html/sitemap.xml +49 -43
- package/html/vercel-cli-setup-guide.html +43 -5
- package/html/vercel-first-time-setup-guide.html +43 -5
- package/lib/config.js +20 -27
- package/lib/core-builder.js +9 -1
- package/lib/shared-auth-config.js +21 -0
- package/lib/supabase-auth.js +20 -14
- package/package.json +1 -1
- package/user-management/README.md +280 -51
- package/user-management/add-users.sh +661 -262
- package/user-management/create-user.js +65 -0
package/html/js/auth.js
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
|
+
|
|
1
2
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* IMPORTANT: This is a basic authentication system suitable for
|
|
6
|
-
* protecting documentation from casual access. For production
|
|
7
|
-
* use with sensitive data, implement server-side authentication.
|
|
3
|
+
* Supabase Authentication for Documentation Site
|
|
4
|
+
* Generated by @knowcode/doc-builder
|
|
8
5
|
*/
|
|
9
6
|
|
|
10
7
|
(function() {
|
|
@@ -12,56 +9,138 @@
|
|
|
12
9
|
|
|
13
10
|
// Skip auth check on login and logout pages
|
|
14
11
|
const currentPage = window.location.pathname;
|
|
15
|
-
if (currentPage === '/login.html' || currentPage === '/logout.html' ||
|
|
12
|
+
if (currentPage === '/login.html' || currentPage === '/logout.html' ||
|
|
13
|
+
currentPage.includes('login') || currentPage.includes('logout')) {
|
|
16
14
|
return;
|
|
17
15
|
}
|
|
18
16
|
|
|
19
|
-
//
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
17
|
+
// Initialize Supabase client
|
|
18
|
+
const { createClient } = supabase;
|
|
19
|
+
const supabaseClient = createClient('https://xcihhnfcitjrwbynxmka.supabase.co', 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InhjaWhobmZjaXRqcndieW54bWthIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTM0Mzc2MzcsImV4cCI6MjA2OTAxMzYzN30.zvWp3JFIR8fBIiwuFF5gqOR_Kxb42baZS5fsBz60XOY', {
|
|
20
|
+
auth: {
|
|
21
|
+
persistSession: true,
|
|
22
|
+
autoRefreshToken: true,
|
|
23
|
+
detectSessionInUrl: true
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
// Check authentication and site access
|
|
28
|
+
async function checkAuth() {
|
|
24
29
|
try {
|
|
25
|
-
//
|
|
26
|
-
|
|
27
|
-
const
|
|
28
|
-
|
|
30
|
+
// Check if current page is in private directory
|
|
31
|
+
const currentPath = window.location.pathname;
|
|
32
|
+
const isPrivatePage = currentPath.includes('/private/');
|
|
33
|
+
|
|
34
|
+
// Get current user session
|
|
35
|
+
const { data: { user }, error: userError } = await supabaseClient.auth.getUser();
|
|
36
|
+
|
|
37
|
+
if (userError || !user) {
|
|
38
|
+
// Only redirect if we're on a private page
|
|
39
|
+
if (isPrivatePage) {
|
|
40
|
+
redirectToLogin();
|
|
41
|
+
} else {
|
|
42
|
+
// Public page, just show it
|
|
43
|
+
document.body.classList.add('authenticated'); // Use same class to show body
|
|
44
|
+
updateAuthButton(false);
|
|
45
|
+
}
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// Check if user has access to this site
|
|
50
|
+
const { data: access, error: accessError } = await supabaseClient
|
|
51
|
+
.from('docbuilder_access')
|
|
52
|
+
.select('*')
|
|
53
|
+
.eq('user_id', user.id)
|
|
54
|
+
.eq('site_id', '-knowcode-doc-builder-1753526321904-eivutk')
|
|
55
|
+
.single();
|
|
56
|
+
|
|
57
|
+
if (accessError || !access) {
|
|
58
|
+
if (isPrivatePage) {
|
|
59
|
+
showAccessDenied();
|
|
60
|
+
} else {
|
|
61
|
+
// Public page, just show it
|
|
62
|
+
document.body.classList.add('authenticated');
|
|
63
|
+
updateAuthButton(false);
|
|
64
|
+
}
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// User is authenticated and has access
|
|
69
|
+
console.log('User authenticated and authorized');
|
|
70
|
+
document.body.classList.add('authenticated');
|
|
71
|
+
updateAuthButton(true);
|
|
72
|
+
|
|
29
73
|
} catch (error) {
|
|
30
|
-
|
|
74
|
+
console.error('Auth check failed:', error);
|
|
75
|
+
if (window.location.pathname.includes('/private/')) {
|
|
76
|
+
redirectToLogin();
|
|
77
|
+
} else {
|
|
78
|
+
// Public page, show it anyway
|
|
79
|
+
document.body.classList.add('authenticated');
|
|
80
|
+
updateAuthButton(false);
|
|
81
|
+
}
|
|
31
82
|
}
|
|
32
83
|
}
|
|
33
84
|
|
|
34
|
-
//
|
|
35
|
-
function getCookie(name) {
|
|
36
|
-
const value = `; ${document.cookie}`;
|
|
37
|
-
const parts = value.split(`; ${name}=`);
|
|
38
|
-
if (parts.length === 2) return parts.pop().split(';').shift();
|
|
39
|
-
return null;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
// Redirect to login if not authenticated
|
|
85
|
+
// Redirect to login page
|
|
43
86
|
function redirectToLogin() {
|
|
44
87
|
const currentUrl = window.location.pathname + window.location.search;
|
|
45
88
|
const loginUrl = '/login.html' + (currentUrl !== '/' ? '?redirect=' + encodeURIComponent(currentUrl) : '');
|
|
46
89
|
window.location.href = loginUrl;
|
|
47
90
|
}
|
|
48
91
|
|
|
49
|
-
//
|
|
50
|
-
|
|
51
|
-
|
|
92
|
+
// Show access denied message
|
|
93
|
+
function showAccessDenied() {
|
|
94
|
+
document.body.classList.add('authenticated'); // Show the body
|
|
95
|
+
document.body.innerHTML = `
|
|
96
|
+
<div style="display: flex; justify-content: center; align-items: center; height: 100vh; font-family: Inter, sans-serif;">
|
|
97
|
+
<div style="text-align: center; max-width: 400px;">
|
|
98
|
+
<h1 style="color: #ef4444; margin-bottom: 1rem;">Access Denied</h1>
|
|
99
|
+
<p style="color: #6b7280; margin-bottom: 2rem;">You don't have permission to view this documentation site.</p>
|
|
100
|
+
<a href="/login.html" style="background: #3b82f6; color: white; padding: 0.75rem 1.5rem; border-radius: 0.5rem; text-decoration: none;">Try Different Account</a>
|
|
101
|
+
</div>
|
|
102
|
+
</div>
|
|
103
|
+
`;
|
|
52
104
|
}
|
|
53
105
|
|
|
54
|
-
//
|
|
106
|
+
// Function to update auth button
|
|
107
|
+
function updateAuthButton(isAuthenticated) {
|
|
108
|
+
const authBtn = document.querySelector('.auth-btn');
|
|
109
|
+
if (authBtn) {
|
|
110
|
+
const icon = authBtn.querySelector('i');
|
|
111
|
+
if (icon) {
|
|
112
|
+
if (isAuthenticated) {
|
|
113
|
+
icon.className = 'fas fa-sign-out-alt';
|
|
114
|
+
authBtn.title = 'Logout';
|
|
115
|
+
authBtn.href = '/logout.html';
|
|
116
|
+
} else {
|
|
117
|
+
icon.className = 'fas fa-sign-in-alt';
|
|
118
|
+
authBtn.title = 'Login';
|
|
119
|
+
authBtn.href = '/login.html';
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
// Add auth button functionality
|
|
55
126
|
document.addEventListener('DOMContentLoaded', function() {
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
127
|
+
const authBtn = document.querySelector('.auth-btn');
|
|
128
|
+
if (authBtn) {
|
|
129
|
+
authBtn.addEventListener('click', async function(e) {
|
|
130
|
+
// Check if we're logged in
|
|
131
|
+
const { data: { user } } = await supabaseClient.auth.getUser();
|
|
132
|
+
if (user) {
|
|
133
|
+
// Logged in - sign out
|
|
134
|
+
e.preventDefault();
|
|
135
|
+
await supabaseClient.auth.signOut();
|
|
136
|
+
window.location.href = '/logout.html';
|
|
137
|
+
}
|
|
138
|
+
// If not logged in, normal navigation to login page will occur
|
|
63
139
|
});
|
|
64
|
-
}
|
|
140
|
+
}
|
|
65
141
|
});
|
|
66
142
|
|
|
67
|
-
|
|
143
|
+
// Run auth check
|
|
144
|
+
checkAuth();
|
|
145
|
+
|
|
146
|
+
})();
|
package/html/js/main.js
CHANGED
|
@@ -665,12 +665,16 @@ document.addEventListener('click', (e) => {
|
|
|
665
665
|
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
|
|
666
666
|
anchor.addEventListener('click', function (e) {
|
|
667
667
|
e.preventDefault();
|
|
668
|
-
const
|
|
669
|
-
if (
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
668
|
+
const href = this.getAttribute('href');
|
|
669
|
+
// Skip if href is just '#' (prevents querySelector error)
|
|
670
|
+
if (href && href !== '#') {
|
|
671
|
+
const target = document.querySelector(href);
|
|
672
|
+
if (target) {
|
|
673
|
+
target.scrollIntoView({
|
|
674
|
+
behavior: 'smooth',
|
|
675
|
+
block: 'start'
|
|
676
|
+
});
|
|
677
|
+
}
|
|
674
678
|
}
|
|
675
679
|
});
|
|
676
680
|
});
|
package/html/login.html
CHANGED
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<title>Login -
|
|
6
|
+
<title>Login - @knowcode/doc-builder</title>
|
|
7
7
|
<link rel="stylesheet" href="css/notion-style.css">
|
|
8
8
|
<script src="https://unpkg.com/@supabase/supabase-js@2"></script>
|
|
9
9
|
</head>
|
|
10
10
|
<body class="auth-page">
|
|
11
11
|
<div class="auth-container">
|
|
12
12
|
<div class="auth-box">
|
|
13
|
-
<h1>Login to
|
|
13
|
+
<h1>Login to @knowcode/doc-builder</h1>
|
|
14
14
|
<form id="login-form">
|
|
15
15
|
<div class="form-group">
|
|
16
16
|
<label for="email">Email</label>
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
.from('docbuilder_access')
|
|
57
57
|
.select('*')
|
|
58
58
|
.eq('user_id', data.user.id)
|
|
59
|
-
.eq('site_id', '
|
|
59
|
+
.eq('site_id', '-knowcode-doc-builder-1753526321904-eivutk')
|
|
60
60
|
.single();
|
|
61
61
|
|
|
62
62
|
if (accessError || !access) {
|
package/html/logout.html
CHANGED
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<title>Logged Out -
|
|
6
|
+
<title>Logged Out - @knowcode/doc-builder</title>
|
|
7
7
|
<link rel="stylesheet" href="css/notion-style.css">
|
|
8
8
|
</head>
|
|
9
9
|
<body class="auth-page">
|
|
10
10
|
<div class="auth-container">
|
|
11
11
|
<div class="auth-box">
|
|
12
12
|
<h1>You have been logged out</h1>
|
|
13
|
-
<p>Thank you for using
|
|
13
|
+
<p>Thank you for using @knowcode/doc-builder.</p>
|
|
14
14
|
<a href="login.html" class="auth-button">Login Again</a>
|
|
15
15
|
</div>
|
|
16
16
|
</div>
|
|
@@ -46,6 +46,39 @@
|
|
|
46
46
|
<link rel="stylesheet" href="/css/notion-style.css">
|
|
47
47
|
|
|
48
48
|
|
|
49
|
+
<!-- Hide content until auth check -->
|
|
50
|
+
<style>
|
|
51
|
+
body {
|
|
52
|
+
visibility: hidden;
|
|
53
|
+
opacity: 0;
|
|
54
|
+
transition: opacity 0.3s ease;
|
|
55
|
+
}
|
|
56
|
+
body.authenticated {
|
|
57
|
+
visibility: visible;
|
|
58
|
+
opacity: 1;
|
|
59
|
+
}
|
|
60
|
+
/* Show login/logout pages immediately */
|
|
61
|
+
body.auth-page {
|
|
62
|
+
visibility: visible;
|
|
63
|
+
opacity: 1;
|
|
64
|
+
}
|
|
65
|
+
/* Style auth button consistently */
|
|
66
|
+
.auth-btn {
|
|
67
|
+
background: none;
|
|
68
|
+
border: none;
|
|
69
|
+
color: var(--text-secondary);
|
|
70
|
+
cursor: pointer;
|
|
71
|
+
padding: 0.5rem;
|
|
72
|
+
border-radius: 0.5rem;
|
|
73
|
+
transition: all 0.2s;
|
|
74
|
+
font-size: 1.1rem;
|
|
75
|
+
}
|
|
76
|
+
.auth-btn:hover {
|
|
77
|
+
background: var(--bg-secondary);
|
|
78
|
+
color: var(--text-primary);
|
|
79
|
+
}
|
|
80
|
+
</style>
|
|
81
|
+
|
|
49
82
|
|
|
50
83
|
<!-- Favicon -->
|
|
51
84
|
<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>">
|
|
@@ -65,8 +98,8 @@
|
|
|
65
98
|
"name": "Knowcode Ltd",
|
|
66
99
|
"url": "https://knowcode.tech"
|
|
67
100
|
},
|
|
68
|
-
"datePublished": "2025-07-
|
|
69
|
-
"dateModified": "2025-07-
|
|
101
|
+
"datePublished": "2025-07-26T10:38:42.005Z",
|
|
102
|
+
"dateModified": "2025-07-26T10:38:42.005Z",
|
|
70
103
|
"mainEntityOfPage": {
|
|
71
104
|
"@type": "WebPage",
|
|
72
105
|
"@id": "https://doc-builder-delta.vercel.app/private/cache-control-anti-pattern.html"
|
|
@@ -105,10 +138,14 @@
|
|
|
105
138
|
|
|
106
139
|
<div class="header-actions">
|
|
107
140
|
<div class="deployment-info">
|
|
108
|
-
<span class="deployment-date" title="Built with doc-builder v1.8.
|
|
141
|
+
<span class="deployment-date" title="Built with doc-builder v1.8.1">Last updated: Jul 26, 2025, 10:38 AM UTC</span>
|
|
109
142
|
</div>
|
|
110
143
|
|
|
111
144
|
|
|
145
|
+
<a href="../../login.html" class="auth-btn" title="Login/Logout">
|
|
146
|
+
<i class="fas fa-sign-in-alt"></i>
|
|
147
|
+
</a>
|
|
148
|
+
|
|
112
149
|
|
|
113
150
|
<button id="theme-toggle" class="theme-toggle" aria-label="Toggle theme">
|
|
114
151
|
<i class="fas fa-moon"></i>
|
|
@@ -168,13 +205,37 @@
|
|
|
168
205
|
<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>
|
|
169
206
|
<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>
|
|
170
207
|
<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>
|
|
171
|
-
<a href="/guides/private-directory-authentication.html" class="nav-item" data-tooltip="The @knowcode/doc-builder
|
|
208
|
+
<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="fas fa-file-alt"></i> Private Directory Authentication</a>
|
|
172
209
|
<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>
|
|
173
210
|
<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>
|
|
174
211
|
<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>
|
|
175
212
|
<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>
|
|
176
213
|
<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>
|
|
177
214
|
<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>
|
|
215
|
+
<div class="nav-section" data-level="1">
|
|
216
|
+
<a class="nav-title collapsible expanded" href="#" data-target="nav-private-1" >
|
|
217
|
+
<i class="fas fa-chevron-right collapse-icon"></i><i class="fas fa-folder"></i> Private
|
|
218
|
+
</a>
|
|
219
|
+
<div class="nav-content" id="nav-private-1">
|
|
220
|
+
<a href="/private/cache-control-anti-pattern.html" class="nav-item active" 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>
|
|
221
|
+
<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>
|
|
222
|
+
<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>
|
|
223
|
+
<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>
|
|
224
|
+
<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>
|
|
225
|
+
<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>
|
|
226
|
+
<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>
|
|
227
|
+
<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>
|
|
228
|
+
<div class="nav-section" data-level="2">
|
|
229
|
+
<a class="nav-title collapsible" href="/private/launch/README.html" data-target="nav-private-launch-2" >
|
|
230
|
+
<i class="fas fa-chevron-right collapse-icon"></i><i class="fas fa-folder"></i> Launch
|
|
231
|
+
</a>
|
|
232
|
+
<div class="nav-content collapsed" id="nav-private-launch-2">
|
|
233
|
+
<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>
|
|
234
|
+
<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>
|
|
235
|
+
<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>
|
|
236
|
+
<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>
|
|
237
|
+
<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>
|
|
238
|
+
<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>
|
|
178
239
|
</nav>
|
|
179
240
|
<div class="resize-handle"></div>
|
|
180
241
|
</aside>
|
|
@@ -342,6 +403,7 @@ module.exports = {
|
|
|
342
403
|
};
|
|
343
404
|
</script>
|
|
344
405
|
<script src="/js/main.js"></script>
|
|
345
|
-
|
|
406
|
+
<script src="https://unpkg.com/@supabase/supabase-js@2"></script>
|
|
407
|
+
<script src="/js/auth.js"></script>
|
|
346
408
|
</body>
|
|
347
409
|
</html>
|
|
@@ -46,6 +46,39 @@
|
|
|
46
46
|
<link rel="stylesheet" href="/css/notion-style.css">
|
|
47
47
|
|
|
48
48
|
|
|
49
|
+
<!-- Hide content until auth check -->
|
|
50
|
+
<style>
|
|
51
|
+
body {
|
|
52
|
+
visibility: hidden;
|
|
53
|
+
opacity: 0;
|
|
54
|
+
transition: opacity 0.3s ease;
|
|
55
|
+
}
|
|
56
|
+
body.authenticated {
|
|
57
|
+
visibility: visible;
|
|
58
|
+
opacity: 1;
|
|
59
|
+
}
|
|
60
|
+
/* Show login/logout pages immediately */
|
|
61
|
+
body.auth-page {
|
|
62
|
+
visibility: visible;
|
|
63
|
+
opacity: 1;
|
|
64
|
+
}
|
|
65
|
+
/* Style auth button consistently */
|
|
66
|
+
.auth-btn {
|
|
67
|
+
background: none;
|
|
68
|
+
border: none;
|
|
69
|
+
color: var(--text-secondary);
|
|
70
|
+
cursor: pointer;
|
|
71
|
+
padding: 0.5rem;
|
|
72
|
+
border-radius: 0.5rem;
|
|
73
|
+
transition: all 0.2s;
|
|
74
|
+
font-size: 1.1rem;
|
|
75
|
+
}
|
|
76
|
+
.auth-btn:hover {
|
|
77
|
+
background: var(--bg-secondary);
|
|
78
|
+
color: var(--text-primary);
|
|
79
|
+
}
|
|
80
|
+
</style>
|
|
81
|
+
|
|
49
82
|
|
|
50
83
|
<!-- Favicon -->
|
|
51
84
|
<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>">
|
|
@@ -65,8 +98,8 @@
|
|
|
65
98
|
"name": "Knowcode Ltd",
|
|
66
99
|
"url": "https://knowcode.tech"
|
|
67
100
|
},
|
|
68
|
-
"datePublished": "2025-07-
|
|
69
|
-
"dateModified": "2025-07-
|
|
101
|
+
"datePublished": "2025-07-26T10:38:42.007Z",
|
|
102
|
+
"dateModified": "2025-07-26T10:38:42.007Z",
|
|
70
103
|
"mainEntityOfPage": {
|
|
71
104
|
"@type": "WebPage",
|
|
72
105
|
"@id": "https://doc-builder-delta.vercel.app/private/launch/README.html"
|
|
@@ -111,10 +144,14 @@
|
|
|
111
144
|
|
|
112
145
|
<div class="header-actions">
|
|
113
146
|
<div class="deployment-info">
|
|
114
|
-
<span class="deployment-date" title="Built with doc-builder v1.8.
|
|
147
|
+
<span class="deployment-date" title="Built with doc-builder v1.8.1">Last updated: Jul 26, 2025, 10:38 AM UTC</span>
|
|
115
148
|
</div>
|
|
116
149
|
|
|
117
150
|
|
|
151
|
+
<a href="../../../login.html" class="auth-btn" title="Login/Logout">
|
|
152
|
+
<i class="fas fa-sign-in-alt"></i>
|
|
153
|
+
</a>
|
|
154
|
+
|
|
118
155
|
|
|
119
156
|
<button id="theme-toggle" class="theme-toggle" aria-label="Toggle theme">
|
|
120
157
|
<i class="fas fa-moon"></i>
|
|
@@ -174,13 +211,37 @@
|
|
|
174
211
|
<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>
|
|
175
212
|
<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>
|
|
176
213
|
<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>
|
|
177
|
-
<a href="/guides/private-directory-authentication.html" class="nav-item" data-tooltip="The @knowcode/doc-builder
|
|
214
|
+
<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="fas fa-file-alt"></i> Private Directory Authentication</a>
|
|
178
215
|
<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>
|
|
179
216
|
<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>
|
|
180
217
|
<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>
|
|
181
218
|
<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>
|
|
182
219
|
<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>
|
|
183
220
|
<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>
|
|
221
|
+
<div class="nav-section" data-level="1">
|
|
222
|
+
<a class="nav-title collapsible expanded" href="#" data-target="nav-private-1" >
|
|
223
|
+
<i class="fas fa-chevron-right collapse-icon"></i><i class="fas fa-folder"></i> Private
|
|
224
|
+
</a>
|
|
225
|
+
<div class="nav-content" id="nav-private-1">
|
|
226
|
+
<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>
|
|
227
|
+
<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>
|
|
228
|
+
<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>
|
|
229
|
+
<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>
|
|
230
|
+
<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>
|
|
231
|
+
<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>
|
|
232
|
+
<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>
|
|
233
|
+
<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>
|
|
234
|
+
<div class="nav-section" data-level="2">
|
|
235
|
+
<a class="nav-title collapsible expanded" href="/private/launch/README.html" data-target="nav-private-launch-2" >
|
|
236
|
+
<i class="fas fa-chevron-right collapse-icon"></i><i class="fas fa-folder"></i> Launch
|
|
237
|
+
</a>
|
|
238
|
+
<div class="nav-content" id="nav-private-launch-2">
|
|
239
|
+
<a href="/private/launch/README.html" class="nav-item active" 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>
|
|
240
|
+
<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>
|
|
241
|
+
<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>
|
|
242
|
+
<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>
|
|
243
|
+
<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>
|
|
244
|
+
<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>
|
|
184
245
|
</nav>
|
|
185
246
|
<div class="resize-handle"></div>
|
|
186
247
|
</aside>
|
|
@@ -284,6 +345,7 @@
|
|
|
284
345
|
};
|
|
285
346
|
</script>
|
|
286
347
|
<script src="/js/main.js"></script>
|
|
287
|
-
|
|
348
|
+
<script src="https://unpkg.com/@supabase/supabase-js@2"></script>
|
|
349
|
+
<script src="/js/auth.js"></script>
|
|
288
350
|
</body>
|
|
289
351
|
</html>
|
|
@@ -46,6 +46,39 @@
|
|
|
46
46
|
<link rel="stylesheet" href="/css/notion-style.css">
|
|
47
47
|
|
|
48
48
|
|
|
49
|
+
<!-- Hide content until auth check -->
|
|
50
|
+
<style>
|
|
51
|
+
body {
|
|
52
|
+
visibility: hidden;
|
|
53
|
+
opacity: 0;
|
|
54
|
+
transition: opacity 0.3s ease;
|
|
55
|
+
}
|
|
56
|
+
body.authenticated {
|
|
57
|
+
visibility: visible;
|
|
58
|
+
opacity: 1;
|
|
59
|
+
}
|
|
60
|
+
/* Show login/logout pages immediately */
|
|
61
|
+
body.auth-page {
|
|
62
|
+
visibility: visible;
|
|
63
|
+
opacity: 1;
|
|
64
|
+
}
|
|
65
|
+
/* Style auth button consistently */
|
|
66
|
+
.auth-btn {
|
|
67
|
+
background: none;
|
|
68
|
+
border: none;
|
|
69
|
+
color: var(--text-secondary);
|
|
70
|
+
cursor: pointer;
|
|
71
|
+
padding: 0.5rem;
|
|
72
|
+
border-radius: 0.5rem;
|
|
73
|
+
transition: all 0.2s;
|
|
74
|
+
font-size: 1.1rem;
|
|
75
|
+
}
|
|
76
|
+
.auth-btn:hover {
|
|
77
|
+
background: var(--bg-secondary);
|
|
78
|
+
color: var(--text-primary);
|
|
79
|
+
}
|
|
80
|
+
</style>
|
|
81
|
+
|
|
49
82
|
|
|
50
83
|
<!-- Favicon -->
|
|
51
84
|
<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>">
|
|
@@ -65,8 +98,8 @@
|
|
|
65
98
|
"name": "Knowcode Ltd",
|
|
66
99
|
"url": "https://knowcode.tech"
|
|
67
100
|
},
|
|
68
|
-
"datePublished": "2025-07-
|
|
69
|
-
"dateModified": "2025-07-
|
|
101
|
+
"datePublished": "2025-07-26T10:38:42.009Z",
|
|
102
|
+
"dateModified": "2025-07-26T10:38:42.009Z",
|
|
70
103
|
"mainEntityOfPage": {
|
|
71
104
|
"@type": "WebPage",
|
|
72
105
|
"@id": "https://doc-builder-delta.vercel.app/private/launch/auth-cleanup-summary.html"
|
|
@@ -111,10 +144,14 @@
|
|
|
111
144
|
|
|
112
145
|
<div class="header-actions">
|
|
113
146
|
<div class="deployment-info">
|
|
114
|
-
<span class="deployment-date" title="Built with doc-builder v1.8.
|
|
147
|
+
<span class="deployment-date" title="Built with doc-builder v1.8.1">Last updated: Jul 26, 2025, 10:38 AM UTC</span>
|
|
115
148
|
</div>
|
|
116
149
|
|
|
117
150
|
|
|
151
|
+
<a href="../../../login.html" class="auth-btn" title="Login/Logout">
|
|
152
|
+
<i class="fas fa-sign-in-alt"></i>
|
|
153
|
+
</a>
|
|
154
|
+
|
|
118
155
|
|
|
119
156
|
<button id="theme-toggle" class="theme-toggle" aria-label="Toggle theme">
|
|
120
157
|
<i class="fas fa-moon"></i>
|
|
@@ -174,13 +211,37 @@
|
|
|
174
211
|
<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>
|
|
175
212
|
<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>
|
|
176
213
|
<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>
|
|
177
|
-
<a href="/guides/private-directory-authentication.html" class="nav-item" data-tooltip="The @knowcode/doc-builder
|
|
214
|
+
<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="fas fa-file-alt"></i> Private Directory Authentication</a>
|
|
178
215
|
<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>
|
|
179
216
|
<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>
|
|
180
217
|
<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>
|
|
181
218
|
<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>
|
|
182
219
|
<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>
|
|
183
220
|
<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>
|
|
221
|
+
<div class="nav-section" data-level="1">
|
|
222
|
+
<a class="nav-title collapsible expanded" href="#" data-target="nav-private-1" >
|
|
223
|
+
<i class="fas fa-chevron-right collapse-icon"></i><i class="fas fa-folder"></i> Private
|
|
224
|
+
</a>
|
|
225
|
+
<div class="nav-content" id="nav-private-1">
|
|
226
|
+
<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>
|
|
227
|
+
<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>
|
|
228
|
+
<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>
|
|
229
|
+
<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>
|
|
230
|
+
<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>
|
|
231
|
+
<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>
|
|
232
|
+
<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>
|
|
233
|
+
<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>
|
|
234
|
+
<div class="nav-section" data-level="2">
|
|
235
|
+
<a class="nav-title collapsible expanded" href="/private/launch/README.html" data-target="nav-private-launch-2" >
|
|
236
|
+
<i class="fas fa-chevron-right collapse-icon"></i><i class="fas fa-folder"></i> Launch
|
|
237
|
+
</a>
|
|
238
|
+
<div class="nav-content" id="nav-private-launch-2">
|
|
239
|
+
<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>
|
|
240
|
+
<a href="/private/launch/auth-cleanup-summary.html" class="nav-item active" 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>
|
|
241
|
+
<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>
|
|
242
|
+
<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>
|
|
243
|
+
<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>
|
|
244
|
+
<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>
|
|
184
245
|
</nav>
|
|
185
246
|
<div class="resize-handle"></div>
|
|
186
247
|
</aside>
|
|
@@ -274,6 +335,7 @@ auth: {
|
|
|
274
335
|
};
|
|
275
336
|
</script>
|
|
276
337
|
<script src="/js/main.js"></script>
|
|
277
|
-
|
|
338
|
+
<script src="https://unpkg.com/@supabase/supabase-js@2"></script>
|
|
339
|
+
<script src="/js/auth.js"></script>
|
|
278
340
|
</body>
|
|
279
341
|
</html>
|