@knowcode/doc-builder 1.8.0 → 1.8.1

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 (47) hide show
  1. package/.claude/settings.local.json +4 -1
  2. package/CHANGELOG.md +7 -0
  3. package/assets/js/main.js +10 -6
  4. package/html/README.html +43 -5
  5. package/html/auth.js +62 -13
  6. package/html/documentation-index.html +43 -5
  7. package/html/guides/authentication-default-change.html +43 -5
  8. package/html/guides/authentication-guide.html +43 -5
  9. package/html/guides/claude-workflow-guide.html +43 -5
  10. package/html/guides/documentation-standards.html +43 -5
  11. package/html/guides/phosphor-icons-guide.html +43 -5
  12. package/html/guides/private-directory-authentication.html +237 -117
  13. package/html/guides/public-site-deployment.html +43 -5
  14. package/html/guides/search-engine-verification-guide.html +43 -5
  15. package/html/guides/seo-guide.html +43 -5
  16. package/html/guides/seo-optimization-guide.html +43 -5
  17. package/html/guides/troubleshooting-guide.html +43 -5
  18. package/html/guides/windows-setup-guide.html +43 -5
  19. package/html/index.html +43 -5
  20. package/html/js/auth.js +118 -39
  21. package/html/js/main.js +10 -6
  22. package/html/login.html +4 -4
  23. package/html/logout.html +2 -2
  24. package/html/private/cache-control-anti-pattern.html +66 -5
  25. package/html/private/launch/README.html +66 -5
  26. package/html/private/launch/auth-cleanup-summary.html +66 -5
  27. package/html/private/launch/bubble-plugin-specification.html +66 -5
  28. package/html/private/launch/go-to-market-strategy.html +66 -5
  29. package/html/private/launch/launch-announcements.html +66 -5
  30. package/html/private/launch/vercel-deployment-auth-setup.html +66 -5
  31. package/html/private/next-steps-walkthrough.html +66 -5
  32. package/html/private/supabase-auth-implementation-completed.html +66 -5
  33. package/html/private/supabase-auth-implementation-plan.html +66 -5
  34. package/html/private/supabase-auth-integration-plan.html +66 -5
  35. package/html/private/supabase-auth-setup-guide.html +66 -5
  36. package/html/private/test-private-doc.html +66 -5
  37. package/html/robots.txt +4 -0
  38. package/html/sitemap.xml +43 -43
  39. package/html/vercel-cli-setup-guide.html +43 -5
  40. package/html/vercel-first-time-setup-guide.html +43 -5
  41. package/lib/config.js +15 -21
  42. package/lib/core-builder.js +9 -1
  43. package/lib/supabase-auth.js +20 -14
  44. package/package.json +1 -1
  45. package/user-management/README.md +276 -51
  46. package/user-management/add-users.sh +635 -262
  47. package/user-management/create-user.js +65 -0
@@ -36,7 +36,10 @@
36
36
  "Bash(./cli.js build:*)",
37
37
  "Bash(./cli.js deploy:*)",
38
38
  "Bash(./add-users.sh:*)",
39
- "Bash(python3:*)"
39
+ "Bash(python3:*)",
40
+ "Bash(chmod:*)",
41
+ "Bash(supabase auth:*)",
42
+ "Bash(supabase:*)"
40
43
  ],
41
44
  "deny": []
42
45
  }
package/CHANGELOG.md CHANGED
@@ -5,6 +5,13 @@ All notable changes to @knowcode/doc-builder will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.8.1] - 2025-07-26
9
+
10
+ ### Fixed
11
+ - Private directory now **always** enables authentication, even when config explicitly sets `authentication: false`
12
+ - This is a security enhancement to ensure private content is never accidentally exposed
13
+ - Updated documentation to clarify that private directories override config settings for security
14
+
8
15
  ## [1.8.0] - 2025-07-26
9
16
 
10
17
  ### Added
package/assets/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 target = document.querySelector(this.getAttribute('href'));
669
- if (target) {
670
- target.scrollIntoView({
671
- behavior: 'smooth',
672
- block: 'start'
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/README.html CHANGED
@@ -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-26T09:59:22.925Z",
69
- "dateModified": "2025-07-26T09:59:22.925Z",
101
+ "datePublished": "2025-07-26T10:20:52.365Z",
102
+ "dateModified": "2025-07-26T10:20:52.365Z",
70
103
  "mainEntityOfPage": {
71
104
  "@type": "WebPage",
72
105
  "@id": "https://doc-builder-delta.vercel.app/README.html"
@@ -99,10 +132,14 @@
99
132
 
100
133
  <div class="header-actions">
101
134
  <div class="deployment-info">
102
- <span class="deployment-date" title="Built with doc-builder v1.8.0">Last updated: Jul 26, 2025, 09:59 AM UTC</span>
135
+ <span class="deployment-date" title="Built with doc-builder v1.8.0">Last updated: Jul 26, 2025, 10:20 AM UTC</span>
103
136
  </div>
104
137
 
105
138
 
139
+ <a href="../login.html" class="auth-btn" title="Login/Logout">
140
+ <i class="fas fa-sign-in-alt"></i>
141
+ </a>
142
+
106
143
 
107
144
  <button id="theme-toggle" class="theme-toggle" aria-label="Toggle theme">
108
145
  <i class="fas fa-moon"></i>
@@ -162,7 +199,7 @@
162
199
  <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>
163
200
  <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>
164
201
  <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>
165
- <a href="/guides/private-directory-authentication.html" class="nav-item" data-tooltip="The @knowcode/doc-builder now includes automatic authentication for documents placed in a directory."><i class="fas fa-file-alt"></i> Private Directory Authentication</a>
202
+ <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>
166
203
  <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>
167
204
  <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>
168
205
  <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>
@@ -428,6 +465,7 @@ docBuilder.build({
428
465
  };
429
466
  </script>
430
467
  <script src="/js/main.js"></script>
431
-
468
+ <script src="https://unpkg.com/@supabase/supabase-js@2"></script>
469
+ <script src="/js/auth.js"></script>
432
470
  </body>
433
471
  </html>
package/html/auth.js CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
  // Initialize Supabase client
18
18
  const { createClient } = supabase;
19
- const supabaseClient = createClient('https://xcihhnfcitjrwbynxmka.supabase.co', 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InhjaWhobmZjaXRqcndieW54bWthIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTM0Mzc2MzcsImV4cCI6MjA2OTAxMzYzN30.zvWp3JFIR8fBIiwuFF5gqOR_Kxb42baZS5fsBz60XOY', {
19
+ const supabaseClient = createClient('https://placeholder.supabase.co', 'placeholder-key', {
20
20
  auth: {
21
21
  persistSession: true,
22
22
  autoRefreshToken: true,
@@ -27,11 +27,22 @@
27
27
  // Check authentication and site access
28
28
  async function checkAuth() {
29
29
  try {
30
+ // Check if current page is in private directory
31
+ const currentPath = window.location.pathname;
32
+ const isPrivatePage = currentPath.includes('/private/');
33
+
30
34
  // Get current user session
31
35
  const { data: { user }, error: userError } = await supabaseClient.auth.getUser();
32
36
 
33
37
  if (userError || !user) {
34
- redirectToLogin();
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
+ }
35
46
  return;
36
47
  }
37
48
 
@@ -40,21 +51,34 @@
40
51
  .from('docbuilder_access')
41
52
  .select('*')
42
53
  .eq('user_id', user.id)
43
- .eq('site_id', '4d8a53bf-dcdd-48c0-98e0-cd1451518735')
54
+ .eq('site_id', 'placeholder-site-id')
44
55
  .single();
45
56
 
46
57
  if (accessError || !access) {
47
- showAccessDenied();
58
+ if (isPrivatePage) {
59
+ showAccessDenied();
60
+ } else {
61
+ // Public page, just show it
62
+ document.body.classList.add('authenticated');
63
+ updateAuthButton(false);
64
+ }
48
65
  return;
49
66
  }
50
67
 
51
68
  // User is authenticated and has access
52
69
  console.log('User authenticated and authorized');
53
70
  document.body.classList.add('authenticated');
71
+ updateAuthButton(true);
54
72
 
55
73
  } catch (error) {
56
74
  console.error('Auth check failed:', error);
57
- redirectToLogin();
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
+ }
58
82
  }
59
83
  }
60
84
 
@@ -79,16 +103,41 @@
79
103
  `;
80
104
  }
81
105
 
82
- // Add logout functionality
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
83
126
  document.addEventListener('DOMContentLoaded', function() {
84
- const logoutLinks = document.querySelectorAll('a[href*="logout"]');
85
- logoutLinks.forEach(link => {
86
- link.addEventListener('click', async function(e) {
87
- e.preventDefault();
88
- await supabaseClient.auth.signOut();
89
- window.location.href = '/logout.html';
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
90
139
  });
91
- });
140
+ }
92
141
  });
93
142
 
94
143
  // Run auth check
@@ -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-26T09:59:22.938Z",
69
- "dateModified": "2025-07-26T09:59:22.938Z",
101
+ "datePublished": "2025-07-26T10:20:52.374Z",
102
+ "dateModified": "2025-07-26T10:20:52.374Z",
70
103
  "mainEntityOfPage": {
71
104
  "@type": "WebPage",
72
105
  "@id": "https://doc-builder-delta.vercel.app/documentation-index.html"
@@ -99,10 +132,14 @@
99
132
 
100
133
  <div class="header-actions">
101
134
  <div class="deployment-info">
102
- <span class="deployment-date" title="Built with doc-builder v1.8.0">Last updated: Jul 26, 2025, 09:59 AM UTC</span>
135
+ <span class="deployment-date" title="Built with doc-builder v1.8.0">Last updated: Jul 26, 2025, 10:20 AM UTC</span>
103
136
  </div>
104
137
 
105
138
 
139
+ <a href="../login.html" class="auth-btn" title="Login/Logout">
140
+ <i class="fas fa-sign-in-alt"></i>
141
+ </a>
142
+
106
143
 
107
144
  <button id="theme-toggle" class="theme-toggle" aria-label="Toggle theme">
108
145
  <i class="fas fa-moon"></i>
@@ -162,7 +199,7 @@
162
199
  <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>
163
200
  <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>
164
201
  <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>
165
- <a href="/guides/private-directory-authentication.html" class="nav-item" data-tooltip="The @knowcode/doc-builder now includes automatic authentication for documents placed in a directory."><i class="fas fa-file-alt"></i> Private Directory Authentication</a>
202
+ <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>
166
203
  <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>
167
204
  <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>
168
205
  <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>
@@ -368,6 +405,7 @@ Detailed information...
368
405
  };
369
406
  </script>
370
407
  <script src="/js/main.js"></script>
371
-
408
+ <script src="https://unpkg.com/@supabase/supabase-js@2"></script>
409
+ <script src="/js/auth.js"></script>
372
410
  </body>
373
411
  </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-26T09:59:22.942Z",
69
- "dateModified": "2025-07-26T09:59:22.942Z",
101
+ "datePublished": "2025-07-26T10:20:52.377Z",
102
+ "dateModified": "2025-07-26T10:20:52.377Z",
70
103
  "mainEntityOfPage": {
71
104
  "@type": "WebPage",
72
105
  "@id": "https://doc-builder-delta.vercel.app/guides/authentication-default-change.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.0">Last updated: Jul 26, 2025, 09:59 AM UTC</span>
141
+ <span class="deployment-date" title="Built with doc-builder v1.8.0">Last updated: Jul 26, 2025, 10:20 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,7 +205,7 @@
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 now includes automatic authentication for documents placed in a directory."><i class="fas fa-file-alt"></i> Private Directory Authentication</a>
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>
@@ -283,6 +320,7 @@ module.exports = {
283
320
  };
284
321
  </script>
285
322
  <script src="/js/main.js"></script>
286
-
323
+ <script src="https://unpkg.com/@supabase/supabase-js@2"></script>
324
+ <script src="/js/auth.js"></script>
287
325
  </body>
288
326
  </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-26T09:59:22.945Z",
69
- "dateModified": "2025-07-26T09:59:22.945Z",
101
+ "datePublished": "2025-07-26T10:20:52.380Z",
102
+ "dateModified": "2025-07-26T10:20:52.380Z",
70
103
  "mainEntityOfPage": {
71
104
  "@type": "WebPage",
72
105
  "@id": "https://doc-builder-delta.vercel.app/guides/authentication-guide.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.0">Last updated: Jul 26, 2025, 09:59 AM UTC</span>
141
+ <span class="deployment-date" title="Built with doc-builder v1.8.0">Last updated: Jul 26, 2025, 10:20 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,7 +205,7 @@
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 now includes automatic authentication for documents placed in a directory."><i class="fas fa-file-alt"></i> Private Directory Authentication</a>
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>
@@ -414,6 +451,7 @@ auth: {
414
451
  };
415
452
  </script>
416
453
  <script src="/js/main.js"></script>
417
-
454
+ <script src="https://unpkg.com/@supabase/supabase-js@2"></script>
455
+ <script src="/js/auth.js"></script>
418
456
  </body>
419
457
  </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-26T09:59:22.949Z",
69
- "dateModified": "2025-07-26T09:59:22.949Z",
101
+ "datePublished": "2025-07-26T10:20:52.384Z",
102
+ "dateModified": "2025-07-26T10:20:52.384Z",
70
103
  "mainEntityOfPage": {
71
104
  "@type": "WebPage",
72
105
  "@id": "https://doc-builder-delta.vercel.app/guides/claude-workflow-guide.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.0">Last updated: Jul 26, 2025, 09:59 AM UTC</span>
141
+ <span class="deployment-date" title="Built with doc-builder v1.8.0">Last updated: Jul 26, 2025, 10:20 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,7 +205,7 @@
168
205
  <a href="/guides/claude-workflow-guide.html" class="nav-item active" 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 now includes automatic authentication for documents placed in a directory."><i class="fas fa-file-alt"></i> Private Directory Authentication</a>
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>
@@ -987,6 +1024,7 @@ The key to success is iterative refinement of your CLAUDE.md file to capture you
987
1024
  };
988
1025
  </script>
989
1026
  <script src="/js/main.js"></script>
990
-
1027
+ <script src="https://unpkg.com/@supabase/supabase-js@2"></script>
1028
+ <script src="/js/auth.js"></script>
991
1029
  </body>
992
1030
  </html>