@knowcode/doc-builder 1.9.30 โ†’ 1.9.31

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 (196) hide show
  1. package/package.json +12 -2
  2. package/.claude/settings.local.json +0 -56
  3. package/CACHE-BUSTING-GUIDE.md +0 -82
  4. package/CLAUDE.md +0 -86
  5. package/CONTRIBUTING.md +0 -148
  6. package/GITHUB_SETUP.md +0 -203
  7. package/RELEASE-NOTES-1.7.5.md +0 -64
  8. package/Screenshot 2025-07-22 at 19.51.21.png +0 -0
  9. package/Screenshot 2025-07-26 at 17.06.49.png +0 -0
  10. package/add-user-clive.sql +0 -35
  11. package/add-user-lindsay-fixed.sql +0 -85
  12. package/add-user-lindsay.sql +0 -68
  13. package/add-user-pmorgan.sql +0 -35
  14. package/add-user-robbie.sql +0 -35
  15. package/add-wru-users.sql +0 -105
  16. package/debug-login.sql +0 -30
  17. package/doc-builder.config.js +0 -126
  18. package/doc-builder.config.js.backup.1753793768283 +0 -47
  19. package/doc-builder.config.js.backup.1753803964423 +0 -114
  20. package/doc-builder.config.js.backup.1753945707032 +0 -115
  21. package/doc-builder.config.js.backup.1754059241330 +0 -115
  22. package/doc-builder.config.js.backup.1754119567787 +0 -123
  23. package/doc-builder.config.js.backup.1754120048862 +0 -124
  24. package/doc-builder.config.js.backup.1754120529913 +0 -124
  25. package/doc-builder.config.js.backup.1754218469785 +0 -124
  26. package/doc-builder.config.js.backup.1754384764054 +0 -124
  27. package/doc-builder.config.js.backup.1754567425847 +0 -124
  28. package/doc-builder.config.js.backup.1754568137859 +0 -126
  29. package/doc-builder.config.js.backup.1754569388252 +0 -126
  30. package/doc-builder.config.js.backup.1754576694123 +0 -126
  31. package/doc-builder.config.js.backup.1755031374829 +0 -126
  32. package/doc-builder.config.js.backup.1755034500990 +0 -126
  33. package/doc-builder.config.js.backup.1755034809236 +0 -126
  34. package/grant-access.sql +0 -15
  35. package/html/11.png +0 -0
  36. package/html/404.html +0 -115
  37. package/html/README.html +0 -522
  38. package/html/Screenshot 2025-08-12 at 21.35.07.png +0 -0
  39. package/html/about-doc-builder.html +0 -491
  40. package/html/auth.js +0 -157
  41. package/html/claude-workflow-guide.html +0 -525
  42. package/html/css/notion-style.css +0 -2502
  43. package/html/documentation-index.html +0 -471
  44. package/html/guides/authentication-default-change.html +0 -370
  45. package/html/guides/authentication-guide.html +0 -509
  46. package/html/guides/cache-control-anti-pattern.html +0 -361
  47. package/html/guides/claude-workflow-guide.html +0 -1074
  48. package/html/guides/configuration-guide.html +0 -472
  49. package/html/guides/document-standards.html +0 -518
  50. package/html/guides/documentation-standards.html +0 -694
  51. package/html/guides/html-embedding-guide.html +0 -461
  52. package/html/guides/image-modal-guide.html +0 -515
  53. package/html/guides/next-steps-walkthrough.html +0 -638
  54. package/html/guides/phosphor-icons-guide.html +0 -584
  55. package/html/guides/private-directory-authentication-troubleshooting.html +0 -555
  56. package/html/guides/private-directory-authentication.html +0 -541
  57. package/html/guides/public-site-deployment.html +0 -431
  58. package/html/guides/search-engine-verification-guide.html +0 -542
  59. package/html/guides/seo-guide.html +0 -661
  60. package/html/guides/seo-optimization-guide.html +0 -887
  61. package/html/guides/supabase-auth-implementation-plan.html +0 -543
  62. package/html/guides/supabase-auth-integration-plan.html +0 -671
  63. package/html/guides/supabase-auth-setup-guide.html +0 -498
  64. package/html/guides/supabase-authentication-complete-guide.html +0 -866
  65. package/html/guides/troubleshooting-guide.html +0 -633
  66. package/html/guides/vercel-deployment-auth-setup.html +0 -337
  67. package/html/guides/windows-setup-guide.html +0 -859
  68. package/html/image-modal-test.html +0 -318
  69. package/html/index.html +0 -522
  70. package/html/js/auth.js +0 -157
  71. package/html/js/main.js +0 -1754
  72. package/html/launch/README.html +0 -297
  73. package/html/launch/bubble-plugin-specification.html +0 -933
  74. package/html/launch/go-to-market-strategy.html +0 -663
  75. package/html/launch/launch-announcements.html +0 -593
  76. package/html/login.html +0 -102
  77. package/html/logout.html +0 -18
  78. package/html/private/cache-control-anti-pattern.html +0 -429
  79. package/html/private/launch/README.html +0 -371
  80. package/html/private/launch/auth-cleanup-summary.html +0 -361
  81. package/html/private/launch/bubble-plugin-specification.html +0 -1007
  82. package/html/private/launch/go-to-market-strategy.html +0 -737
  83. package/html/private/launch/launch-announcements.html +0 -667
  84. package/html/private/launch/vercel-deployment-auth-setup.html +0 -417
  85. package/html/private/next-steps-walkthrough.html +0 -679
  86. package/html/private/supabase-auth-implementation-completed.html +0 -454
  87. package/html/private/supabase-auth-implementation-plan.html +0 -594
  88. package/html/private/supabase-auth-integration-plan.html +0 -704
  89. package/html/private/supabase-auth-setup-guide.html +0 -555
  90. package/html/private/test-private-doc.html +0 -302
  91. package/html/private/user-management-tooling.html +0 -601
  92. package/html/prompts/Screenshot 2025-08-02 at 08.49.55.png +0 -0
  93. package/html/prompts/beautiful-documentation-design.html +0 -784
  94. package/html/prompts/markdown-document-standards.html +0 -422
  95. package/html/prompts/project-rename-strategy-sasha-publish.html +0 -530
  96. package/html/robots.txt +0 -9
  97. package/html/sitemap.xml +0 -357
  98. package/html/test-questions/how-does-it-work%3F.html +0 -294
  99. package/html/test-questions/step-1%3A%20getting-started.html +0 -289
  100. package/html/test-questions/what-is-the-purpose.html +0 -293
  101. package/html/test-status.html +0 -281
  102. package/html/vercel-cli-setup-guide.html +0 -495
  103. package/html/vercel-first-time-setup-guide.html +0 -454
  104. package/html/vercel.json +0 -29
  105. package/html-static/11.png +0 -0
  106. package/html-static/404.html +0 -115
  107. package/html-static/README.html +0 -609
  108. package/html-static/Screenshot 2025-08-12 at 21.35.07.png +0 -0
  109. package/html-static/about-doc-builder.html +0 -578
  110. package/html-static/css/notion-style.css +0 -2502
  111. package/html-static/documentation-index.html +0 -558
  112. package/html-static/guides/authentication-default-change.html +0 -457
  113. package/html-static/guides/authentication-guide.html +0 -596
  114. package/html-static/guides/claude-workflow-guide.html +0 -1161
  115. package/html-static/guides/configuration-guide.html +0 -559
  116. package/html-static/guides/documentation-standards.html +0 -781
  117. package/html-static/guides/html-embedding-guide.html +0 -548
  118. package/html-static/guides/image-modal-guide.html +0 -602
  119. package/html-static/guides/phosphor-icons-guide.html +0 -671
  120. package/html-static/guides/private-directory-authentication-troubleshooting.html +0 -642
  121. package/html-static/guides/private-directory-authentication.html +0 -628
  122. package/html-static/guides/public-site-deployment.html +0 -518
  123. package/html-static/guides/search-engine-verification-guide.html +0 -629
  124. package/html-static/guides/seo-guide.html +0 -748
  125. package/html-static/guides/seo-optimization-guide.html +0 -974
  126. package/html-static/guides/supabase-authentication-complete-guide.html +0 -953
  127. package/html-static/guides/troubleshooting-guide.html +0 -720
  128. package/html-static/guides/windows-setup-guide.html +0 -946
  129. package/html-static/image-modal-test.html +0 -405
  130. package/html-static/index.html +0 -609
  131. package/html-static/js/main.js +0 -1754
  132. package/html-static/prompts/Screenshot 2025-08-02 at 08.49.55.png +0 -0
  133. package/html-static/prompts/beautiful-documentation-design.html +0 -871
  134. package/html-static/prompts/markdown-document-standards.html +0 -509
  135. package/html-static/prompts/project-rename-strategy-sasha-publish.html +0 -617
  136. package/html-static/robots.txt +0 -5
  137. package/html-static/sitemap.xml +0 -195
  138. package/html-static/test-questions/how-does-it-work%3F.html +0 -381
  139. package/html-static/test-questions/step-1%3A%20getting-started.html +0 -376
  140. package/html-static/test-questions/what-is-the-purpose.html +0 -380
  141. package/html-static/vercel-cli-setup-guide.html +0 -582
  142. package/html-static/vercel-first-time-setup-guide.html +0 -541
  143. package/manage-users.sql +0 -191
  144. package/migrate-to-domain-auth.sql +0 -47
  145. package/package/CACHE-BUSTING-GUIDE.md +0 -82
  146. package/package/CHANGELOG.md +0 -902
  147. package/package/README.md +0 -248
  148. package/package/assets/css/notion-style.css +0 -2211
  149. package/package/assets/js/auth.js +0 -67
  150. package/package/assets/js/main.js +0 -1565
  151. package/package/cli.js +0 -764
  152. package/package/index.js +0 -38
  153. package/package/knowcode-doc-builder-1.3.15.tgz +0 -0
  154. package/package/lib/builder.js +0 -32
  155. package/package/lib/config.js +0 -278
  156. package/package/lib/core-builder.js +0 -957
  157. package/package/lib/deploy.js +0 -497
  158. package/package/lib/dev-server.js +0 -96
  159. package/package/package.json +0 -34
  160. package/package/scripts/npx-runner.js +0 -27
  161. package/package/scripts/setup.js +0 -56
  162. package/package/test-cache-bust.sh +0 -43
  163. package/public-config.js +0 -22
  164. package/public-html/404.html +0 -115
  165. package/public-html/README.html +0 -149
  166. package/public-html/css/notion-style.css +0 -2036
  167. package/public-html/index.html +0 -149
  168. package/public-html/js/auth.js +0 -67
  169. package/public-html/js/main.js +0 -1485
  170. package/quick-test-commands.md +0 -40
  171. package/recordings/Screenshot 2025-07-24 at 18.22.01.png +0 -0
  172. package/recordings/mh-ls-22jul.txt +0 -2305
  173. package/screenshot.png +0 -0
  174. package/scripts/Screenshot 2025-07-23 at 15.39.41.png +0 -0
  175. package/setup-database-v2.sql +0 -53
  176. package/setup-database.sql +0 -41
  177. package/test-auth-config.js +0 -17
  178. package/test-cache-bust.sh +0 -43
  179. package/test-docs/README.md +0 -39
  180. package/test-html/404.html +0 -115
  181. package/test-html/README.html +0 -172
  182. package/test-html/auth.js +0 -97
  183. package/test-html/css/notion-style.css +0 -2036
  184. package/test-html/index.html +0 -172
  185. package/test-html/js/auth.js +0 -97
  186. package/test-html/js/main.js +0 -1485
  187. package/test-html/login.html +0 -102
  188. package/test-html/logout.html +0 -18
  189. package/update-domain.sql +0 -9
  190. package/user-access-view.sql +0 -49
  191. package/user-management/README.md +0 -301
  192. package/user-management/add-users.sh +0 -776
  193. package/user-management/create-user.js +0 -65
  194. package/user-management/users.txt +0 -15
  195. package/view-all-users.sql +0 -40
  196. package/wru-auth-config.js +0 -17
package/screenshot.png DELETED
Binary file
@@ -1,53 +0,0 @@
1
- -- Doc-builder Supabase Database Setup V2
2
- -- Simplified schema using domains instead of site IDs
3
- -- Run this in your Supabase SQL Editor
4
-
5
- -- Drop old tables if migrating
6
- -- DROP TABLE IF EXISTS docbuilder_access;
7
- -- DROP TABLE IF EXISTS docbuilder_sites;
8
-
9
- -- Single table for user access control
10
- CREATE TABLE docbuilder_access (
11
- user_id UUID REFERENCES auth.users(id) ON DELETE CASCADE,
12
- domain TEXT NOT NULL,
13
- created_at TIMESTAMPTZ DEFAULT NOW(),
14
- PRIMARY KEY (user_id, domain)
15
- );
16
-
17
- -- Create index for faster lookups
18
- CREATE INDEX idx_docbuilder_access_domain ON docbuilder_access(domain);
19
-
20
- -- Enable Row Level Security
21
- ALTER TABLE docbuilder_access ENABLE ROW LEVEL SECURITY;
22
-
23
- -- RLS Policy: Users can only see their own access
24
- CREATE POLICY "Users see own access" ON docbuilder_access
25
- FOR SELECT USING (user_id = auth.uid());
26
-
27
- -- Example: Grant access to a user for a specific domain
28
- -- INSERT INTO docbuilder_access (user_id, domain)
29
- -- VALUES ('user-uuid-here', 'doc-builder-delta.vercel.app');
30
-
31
- -- Example: Grant access to multiple users for a domain
32
- -- INSERT INTO docbuilder_access (user_id, domain) VALUES
33
- -- ('user-1-uuid', 'mydocs.vercel.app'),
34
- -- ('user-2-uuid', 'mydocs.vercel.app'),
35
- -- ('user-3-uuid', 'mydocs.vercel.app');
36
-
37
- -- Example: Grant a user access to multiple domains
38
- -- INSERT INTO docbuilder_access (user_id, domain) VALUES
39
- -- ('user-uuid', 'docs.example.com'),
40
- -- ('user-uuid', 'internal-docs.example.com'),
41
- -- ('user-uuid', 'api-docs.example.com');
42
-
43
- -- View all access for a domain (admin use)
44
- -- SELECT u.email, da.created_at
45
- -- FROM docbuilder_access da
46
- -- JOIN auth.users u ON da.user_id = u.id
47
- -- WHERE da.domain = 'mydocs.vercel.app';
48
-
49
- -- Migration from old schema (if needed)
50
- -- INSERT INTO docbuilder_access (user_id, domain)
51
- -- SELECT da.user_id, ds.domain
52
- -- FROM old_docbuilder_access da
53
- -- JOIN docbuilder_sites ds ON da.site_id = ds.id;
@@ -1,41 +0,0 @@
1
- -- Doc-builder Supabase Database Setup
2
- -- Run this in your Supabase SQL Editor
3
-
4
- -- Table 1: Documentation sites
5
- CREATE TABLE docbuilder_sites (
6
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
7
- domain TEXT UNIQUE NOT NULL,
8
- name TEXT NOT NULL,
9
- created_at TIMESTAMPTZ DEFAULT NOW()
10
- );
11
-
12
- -- Table 2: User access mapping
13
- CREATE TABLE docbuilder_access (
14
- user_id UUID REFERENCES auth.users(id) ON DELETE CASCADE,
15
- site_id UUID REFERENCES docbuilder_sites(id) ON DELETE CASCADE,
16
- created_at TIMESTAMPTZ DEFAULT NOW(),
17
- PRIMARY KEY (user_id, site_id)
18
- );
19
-
20
- -- Enable Row Level Security
21
- ALTER TABLE docbuilder_sites ENABLE ROW LEVEL SECURITY;
22
- ALTER TABLE docbuilder_access ENABLE ROW LEVEL SECURITY;
23
-
24
- -- RLS Policy: Users can only see sites they have access to
25
- CREATE POLICY "Users see accessible sites" ON docbuilder_sites
26
- FOR SELECT USING (
27
- EXISTS (
28
- SELECT 1 FROM docbuilder_access
29
- WHERE site_id = docbuilder_sites.id
30
- AND user_id = auth.uid()
31
- )
32
- );
33
-
34
- -- RLS Policy: Users can see their own access
35
- CREATE POLICY "Users see own access" ON docbuilder_access
36
- FOR SELECT USING (user_id = auth.uid());
37
-
38
- -- Insert a test site for localhost development
39
- INSERT INTO docbuilder_sites (domain, name)
40
- VALUES ('localhost:3000', 'Test Documentation Site')
41
- RETURNING id, domain, name;
@@ -1,17 +0,0 @@
1
- module.exports = {
2
- siteName: 'Test Documentation',
3
- siteDescription: 'Testing Supabase authentication integration',
4
-
5
- features: {
6
- authentication: 'supabase',
7
- darkMode: true,
8
- mermaid: true,
9
- changelog: false // Disable for simpler testing
10
- },
11
-
12
- auth: {
13
- supabaseUrl: 'https://xcihhnfcitjrwbynxmka.supabase.co',
14
- supabaseAnonKey: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InhjaWhobmZjaXRqcndieW54bWthIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTM0Mzc2MzcsImV4cCI6MjA2OTAxMzYzN30.zvWp3JFIR8fBIiwuFF5gqOR_Kxb42baZS5fsBz60XOY',
15
- siteId: '4d8a53bf-dcdd-48c0-98e0-cd1451518735'
16
- }
17
- };
@@ -1,43 +0,0 @@
1
- #!/bin/bash
2
-
3
- echo "๐Ÿงน Cache Busting Test for doc-builder"
4
- echo "===================================="
5
-
6
- # Step 1: Clean everything
7
- echo "1. Removing old build artifacts..."
8
- rm -rf html/
9
- rm -rf node_modules/
10
- rm -rf .cache/
11
-
12
- # Step 2: Clear npm cache
13
- echo "2. Clearing npm cache..."
14
- npm cache clean --force
15
-
16
- # Step 3: Install latest version
17
- echo "3. Installing latest doc-builder..."
18
- npm install @knowcode/doc-builder@latest
19
-
20
- # Step 4: Show version
21
- echo "4. Installed version:"
22
- npm list @knowcode/doc-builder
23
-
24
- # Step 5: Build fresh
25
- echo "5. Building documentation..."
26
- npx @knowcode/doc-builder build
27
-
28
- # Step 6: Check CSS content
29
- echo "6. Checking if CSS has latest changes..."
30
- echo " Looking for 'margin: 0; /* Left aligned'..."
31
- grep -n "margin: 0; /\* Left aligned" html/css/notion-style.css || echo "NOT FOUND!"
32
-
33
- echo " Looking for 'position: fixed; /* Use fixed'..."
34
- grep -n "position: fixed; /\* Use fixed" html/css/notion-style.css || echo "NOT FOUND!"
35
-
36
- echo ""
37
- echo "โœ… If you see the CSS changes above, the package is working correctly!"
38
- echo "๐Ÿšจ If not found, there's a build issue we need to investigate."
39
- echo ""
40
- echo "Next steps:"
41
- echo "1. Deploy with: vercel --prod --force"
42
- echo "2. Open in incognito/private browsing"
43
- echo "3. Hard refresh: Cmd+Shift+R (Mac) or Ctrl+Shift+R (Windows)"
@@ -1,39 +0,0 @@
1
- # ๐Ÿ” Test Documentation with Supabase Auth
2
-
3
- Welcome to the test documentation site! If you can see this page, it means:
4
-
5
- ## โœ… Authentication is Working!
6
-
7
- - You successfully logged in with Supabase
8
- - Your user account has access to this documentation site
9
- - The JWT token is valid and verified
10
- - Row Level Security is properly configured
11
-
12
- ## ๐Ÿงช Test Features
13
-
14
- ### Secure Access
15
- This page is protected by enterprise-grade Supabase authentication. Only authorized users can view this content.
16
-
17
- ### Modern Technology Stack
18
- - **Frontend**: Generated static HTML with auth checking
19
- - **Backend**: Supabase authentication and database
20
- - **Security**: JWT tokens, bcrypt password hashing, RLS policies
21
-
22
- ### What This Proves
23
- 1. **Database Setup**: Tables were created correctly
24
- 2. **Authentication Flow**: Login โ†’ JWT โ†’ Access check โ†’ Content
25
- 3. **Integration**: doc-builder + Supabase working together
26
- 4. **Security**: Only authenticated users with proper access can see this
27
-
28
- ## ๐ŸŽฏ Next Steps
29
-
30
- Once this test works, we can:
31
- - Deploy to Vercel with production settings
32
- - Add more users and documentation sites
33
- - Set up your real documentation content
34
- - Configure custom domains and advanced features
35
-
36
- ---
37
-
38
- **Generated by**: @knowcode/doc-builder with Supabase authentication
39
- **Test Date**: July 25, 2025
@@ -1,115 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>Page Not Found - Redirecting...</title>
7
- <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
8
- <style>
9
- body {
10
- font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
11
- margin: 0;
12
- padding: 0;
13
- display: flex;
14
- align-items: center;
15
- justify-content: center;
16
- min-height: 100vh;
17
- background-color: #f7f7f5;
18
- color: #37352f;
19
- }
20
- .container {
21
- text-align: center;
22
- padding: 2rem;
23
- max-width: 600px;
24
- }
25
- h1 {
26
- font-size: 3rem;
27
- margin: 0 0 1rem 0;
28
- color: #37352f;
29
- }
30
- p {
31
- font-size: 1.125rem;
32
- line-height: 1.6;
33
- color: #6b6b6b;
34
- margin: 0 0 2rem 0;
35
- }
36
- a {
37
- color: #0366d6;
38
- text-decoration: none;
39
- }
40
- a:hover {
41
- text-decoration: underline;
42
- }
43
- .emoji {
44
- font-size: 4rem;
45
- margin-bottom: 1rem;
46
- }
47
- .loading {
48
- display: none;
49
- color: #0366d6;
50
- margin-top: 1rem;
51
- }
52
- .redirect-message {
53
- display: none;
54
- background-color: #e8f4fd;
55
- border: 1px solid #c3e0f7;
56
- padding: 1rem;
57
- border-radius: 8px;
58
- margin-top: 1rem;
59
- }
60
- </style>
61
- </head>
62
- <body>
63
- <div class="container">
64
- <div class="emoji">๐Ÿ”</div>
65
- <h1>404</h1>
66
- <p id="message">The page you're looking for doesn't exist.</p>
67
- <div id="redirect-message" class="redirect-message">
68
- Redirecting to the correct page...
69
- </div>
70
- <p id="loading" class="loading">Redirecting...</p>
71
- <p>
72
- <a href="/" id="home-link">Go to Home</a>
73
- </p>
74
- </div>
75
-
76
- <script>
77
- // Check if the URL ends with .md
78
- const pathname = window.location.pathname;
79
-
80
- if (pathname.endsWith('.md')) {
81
- // Convert .md to .html
82
- const htmlPath = pathname.replace(/\.md$/, '.html');
83
-
84
- // Show redirect message
85
- document.getElementById('message').textContent = 'Found a markdown link. Redirecting to the HTML version...';
86
- document.getElementById('redirect-message').style.display = 'block';
87
- document.getElementById('loading').style.display = 'block';
88
-
89
- // Redirect after a brief delay to show the message
90
- setTimeout(() => {
91
- window.location.replace(htmlPath);
92
- }, 500);
93
- } else {
94
- // For true 404s, show the standard message
95
- document.getElementById('message').textContent = "The page you're looking for doesn't exist.";
96
-
97
- // Also check if we can suggest a similar page
98
- // Remove common suffixes and try to find a match
99
- const basePath = pathname
100
- .replace(/\.(html|htm|php|asp|aspx)$/, '')
101
- .replace(/\/$/, '');
102
-
103
- if (basePath && basePath !== pathname) {
104
- document.getElementById('message').innerHTML =
105
- `The page you're looking for doesn't exist.<br>
106
- <small>Did you mean <a href="${basePath}.html">${basePath}.html</a>?</small>`;
107
- }
108
- }
109
-
110
- // Update home link to use the correct base URL
111
- const baseUrl = window.location.origin;
112
- document.getElementById('home-link').href = baseUrl;
113
- </script>
114
- </body>
115
- </html>
@@ -1,172 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <meta name="description" content="Welcome to the test documentation site! If you can see this page, it means:">
7
- <title>๐Ÿ” Test Documentation with Supabase Auth - Test Documentation</title>
8
-
9
-
10
-
11
- <!-- Fonts -->
12
- <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
13
-
14
- <!-- Icons -->
15
- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">
16
-
17
-
18
- <!-- Mermaid -->
19
- <script src="https://cdn.jsdelivr.net/npm/mermaid@10.6.1/dist/mermaid.min.js"></script>
20
-
21
- <!-- Styles -->
22
- <link rel="stylesheet" href="/css/notion-style.css">
23
-
24
-
25
- <!-- Hide content until auth check -->
26
- <style>
27
- body {
28
- visibility: hidden;
29
- opacity: 0;
30
- transition: opacity 0.3s ease;
31
- }
32
- body.authenticated {
33
- visibility: visible;
34
- opacity: 1;
35
- }
36
- /* Show login/logout pages immediately */
37
- body.auth-page {
38
- visibility: visible;
39
- opacity: 1;
40
- }
41
- </style>
42
-
43
-
44
- <!-- Favicon -->
45
- <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>">
46
-
47
-
48
- </head>
49
- <body>
50
- <!-- Header -->
51
- <header class="header">
52
- <div class="header-content">
53
- <a href="/index.html" class="logo">Test Documentation</a>
54
-
55
- <div class="header-actions">
56
- <div class="deployment-info">
57
- <span class="deployment-date" title="Built with doc-builder v1.7.4">Last updated: Jul 25, 2025, 12:27 PM UTC</span>
58
- </div>
59
-
60
-
61
- <a href="../logout.html" class="logout-btn" title="Logout">
62
- <i class="fas fa-sign-out-alt"></i>
63
- </a>
64
-
65
-
66
- <button id="theme-toggle" class="theme-toggle" aria-label="Toggle theme">
67
- <i class="fas fa-moon"></i>
68
- </button>
69
-
70
- <button id="menu-toggle" class="menu-toggle" aria-label="Toggle menu">
71
- <i class="fas fa-bars"></i>
72
- </button>
73
- </div>
74
- </div>
75
- </header>
76
-
77
- <!-- Preview Banner -->
78
- <div id="preview-banner" class="preview-banner">
79
- <div class="banner-content">
80
- <i class="fas fa-exclamation-triangle banner-icon"></i>
81
- <span class="banner-text">This documentation is a preview version - some content may be incomplete</span>
82
- <button id="dismiss-banner" class="banner-dismiss" aria-label="Dismiss banner">
83
- <i class="fas fa-times"></i>
84
- </button>
85
- </div>
86
- </div>
87
-
88
- <!-- Breadcrumbs -->
89
- <nav class="breadcrumbs" id="breadcrumbs">
90
- <!-- Breadcrumbs will be generated by JavaScript -->
91
- </nav>
92
-
93
- <!-- Main Content -->
94
- <div class="main-wrapper">
95
- <!-- Sidebar -->
96
- <aside class="sidebar">
97
- <div class="sidebar-header">
98
- <div class="filter-box">
99
- <input type="text" placeholder="Filter items..." class="filter-input" id="nav-filter">
100
- <i class="fas fa-search filter-icon"></i>
101
- </div>
102
- </div>
103
- <nav class="navigation">
104
-
105
- <div class="nav-section" data-level="0">
106
- <a class="nav-title expanded" href="/README.html" >
107
- <i class="fas fa-home"></i> Documentation
108
- </a>
109
- <div class="nav-content" >
110
- <a href="/README.html" class="nav-item active" data-tooltip="๐Ÿ” Test Documentation with Supabase Auth."><i class="fas fa-file-alt"></i> Overview</a></div></div>
111
- </nav>
112
- <div class="resize-handle"></div>
113
- </aside>
114
-
115
- <!-- Content Area -->
116
- <main class="content">
117
- <div class="content-inner">
118
- <h1><i class="ph ph-lock-key" aria-label="secure"></i> Test Documentation with Supabase Auth</h1>
119
- <p>Welcome to the test documentation site! If you can see this page, it means:</p>
120
- <h2><i class="ph ph-check-circle" aria-label="checked"></i> Authentication is Working!</h2>
121
- <ul>
122
- <li>You successfully logged in with Supabase</li>
123
- <li>Your user account has access to this documentation site</li>
124
- <li>The JWT token is valid and verified</li>
125
- <li>Row Level Security is properly configured</li>
126
- </ul>
127
- <h2>๐Ÿงช Test Features</h2>
128
- <h3>Secure Access</h3>
129
- <p>This page is protected by enterprise-grade Supabase authentication. Only authorized users can view this content.</p>
130
- <h3>Modern Technology Stack</h3>
131
- <ul>
132
- <li><strong>Frontend</strong>: Generated static HTML with auth checking</li>
133
- <li><strong>Backend</strong>: Supabase authentication and database</li>
134
- <li><strong>Security</strong>: JWT tokens, bcrypt password hashing, RLS policies</li>
135
- </ul>
136
- <h3>What This Proves</h3>
137
- <ol>
138
- <li><strong>Database Setup</strong>: Tables were created correctly</li>
139
- <li><strong>Authentication Flow</strong>: Login โ†’ JWT โ†’ Access check โ†’ Content</li>
140
- <li><strong>Integration</strong>: doc-builder + Supabase working together</li>
141
- <li><strong>Security</strong>: Only authenticated users with proper access can see this</li>
142
- </ol>
143
- <h2><i class="ph ph-target" aria-label="goal"></i> Next Steps</h2>
144
- <p>Once this test works, we can:</p>
145
- <ul>
146
- <li>Deploy to Vercel with production settings</li>
147
- <li>Add more users and documentation sites </li>
148
- <li>Set up your real documentation content</li>
149
- <li>Configure custom domains and advanced features</li>
150
- </ul>
151
- <hr>
152
- <p><strong>Generated by</strong>: @knowcode/doc-builder with Supabase authentication<br><strong>Test Date</strong>: July 25, 2025</p>
153
-
154
- </div>
155
- </main>
156
- </div>
157
-
158
- <!-- Scripts -->
159
- <script>
160
- // Pass configuration to frontend
161
- window.docBuilderConfig = {
162
- features: {
163
- showPdfDownload: true,
164
- menuDefaultOpen: true
165
- }
166
- };
167
- </script>
168
- <script src="/js/main.js"></script>
169
- <script src="https://unpkg.com/@supabase/supabase-js@2"></script>
170
- <script src="/js/auth.js"></script>
171
- </body>
172
- </html>
package/test-html/auth.js DELETED
@@ -1,97 +0,0 @@
1
-
2
- /**
3
- * Supabase Authentication for Documentation Site
4
- * Generated by @knowcode/doc-builder
5
- */
6
-
7
- (function() {
8
- 'use strict';
9
-
10
- // Skip auth check on login and logout pages
11
- const currentPage = window.location.pathname;
12
- if (currentPage === '/login.html' || currentPage === '/logout.html' ||
13
- currentPage.includes('login') || currentPage.includes('logout')) {
14
- return;
15
- }
16
-
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() {
29
- try {
30
- // Get current user session
31
- const { data: { user }, error: userError } = await supabaseClient.auth.getUser();
32
-
33
- if (userError || !user) {
34
- redirectToLogin();
35
- return;
36
- }
37
-
38
- // Check if user has access to this site
39
- const { data: access, error: accessError } = await supabaseClient
40
- .from('docbuilder_access')
41
- .select('*')
42
- .eq('user_id', user.id)
43
- .eq('site_id', '4d8a53bf-dcdd-48c0-98e0-cd1451518735')
44
- .single();
45
-
46
- if (accessError || !access) {
47
- showAccessDenied();
48
- return;
49
- }
50
-
51
- // User is authenticated and has access
52
- console.log('User authenticated and authorized');
53
- document.body.classList.add('authenticated');
54
-
55
- } catch (error) {
56
- console.error('Auth check failed:', error);
57
- redirectToLogin();
58
- }
59
- }
60
-
61
- // Redirect to login page
62
- function redirectToLogin() {
63
- const currentUrl = window.location.pathname + window.location.search;
64
- const loginUrl = '/login.html' + (currentUrl !== '/' ? '?redirect=' + encodeURIComponent(currentUrl) : '');
65
- window.location.href = loginUrl;
66
- }
67
-
68
- // Show access denied message
69
- function showAccessDenied() {
70
- document.body.classList.add('authenticated'); // Show the body
71
- document.body.innerHTML = `
72
- <div style="display: flex; justify-content: center; align-items: center; height: 100vh; font-family: Inter, sans-serif;">
73
- <div style="text-align: center; max-width: 400px;">
74
- <h1 style="color: #ef4444; margin-bottom: 1rem;">Access Denied</h1>
75
- <p style="color: #6b7280; margin-bottom: 2rem;">You don't have permission to view this documentation site.</p>
76
- <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>
77
- </div>
78
- </div>
79
- `;
80
- }
81
-
82
- // Add logout functionality
83
- 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';
90
- });
91
- });
92
- });
93
-
94
- // Run auth check
95
- checkAuth();
96
-
97
- })();