@knowcode/doc-builder 1.9.29 โ†’ 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 (197) hide show
  1. package/assets/js/main.js +7 -0
  2. package/lib/core-builder.js +18 -1
  3. package/package.json +12 -2
  4. package/.claude/settings.local.json +0 -56
  5. package/CACHE-BUSTING-GUIDE.md +0 -82
  6. package/CLAUDE.md +0 -86
  7. package/CONTRIBUTING.md +0 -148
  8. package/GITHUB_SETUP.md +0 -203
  9. package/RELEASE-NOTES-1.7.5.md +0 -64
  10. package/Screenshot 2025-07-22 at 19.51.21.png +0 -0
  11. package/Screenshot 2025-07-26 at 17.06.49.png +0 -0
  12. package/add-user-clive.sql +0 -35
  13. package/add-user-lindsay-fixed.sql +0 -85
  14. package/add-user-lindsay.sql +0 -68
  15. package/add-user-pmorgan.sql +0 -35
  16. package/add-user-robbie.sql +0 -35
  17. package/add-wru-users.sql +0 -105
  18. package/debug-login.sql +0 -30
  19. package/doc-builder.config.js +0 -126
  20. package/doc-builder.config.js.backup.1753793768283 +0 -47
  21. package/doc-builder.config.js.backup.1753803964423 +0 -114
  22. package/doc-builder.config.js.backup.1753945707032 +0 -115
  23. package/doc-builder.config.js.backup.1754059241330 +0 -115
  24. package/doc-builder.config.js.backup.1754119567787 +0 -123
  25. package/doc-builder.config.js.backup.1754120048862 +0 -124
  26. package/doc-builder.config.js.backup.1754120529913 +0 -124
  27. package/doc-builder.config.js.backup.1754218469785 +0 -124
  28. package/doc-builder.config.js.backup.1754384764054 +0 -124
  29. package/doc-builder.config.js.backup.1754567425847 +0 -124
  30. package/doc-builder.config.js.backup.1754568137859 +0 -126
  31. package/doc-builder.config.js.backup.1754569388252 +0 -126
  32. package/doc-builder.config.js.backup.1754576694123 +0 -126
  33. package/doc-builder.config.js.backup.1755031374829 +0 -126
  34. package/doc-builder.config.js.backup.1755034500990 +0 -126
  35. package/grant-access.sql +0 -15
  36. package/html/11.png +0 -0
  37. package/html/404.html +0 -115
  38. package/html/README.html +0 -522
  39. package/html/Screenshot 2025-08-12 at 21.35.07.png +0 -0
  40. package/html/about-doc-builder.html +0 -491
  41. package/html/auth.js +0 -157
  42. package/html/claude-workflow-guide.html +0 -525
  43. package/html/css/notion-style.css +0 -2502
  44. package/html/documentation-index.html +0 -471
  45. package/html/guides/authentication-default-change.html +0 -370
  46. package/html/guides/authentication-guide.html +0 -509
  47. package/html/guides/cache-control-anti-pattern.html +0 -361
  48. package/html/guides/claude-workflow-guide.html +0 -1074
  49. package/html/guides/configuration-guide.html +0 -472
  50. package/html/guides/document-standards.html +0 -518
  51. package/html/guides/documentation-standards.html +0 -694
  52. package/html/guides/html-embedding-guide.html +0 -461
  53. package/html/guides/image-modal-guide.html +0 -515
  54. package/html/guides/next-steps-walkthrough.html +0 -638
  55. package/html/guides/phosphor-icons-guide.html +0 -584
  56. package/html/guides/private-directory-authentication-troubleshooting.html +0 -555
  57. package/html/guides/private-directory-authentication.html +0 -541
  58. package/html/guides/public-site-deployment.html +0 -431
  59. package/html/guides/search-engine-verification-guide.html +0 -542
  60. package/html/guides/seo-guide.html +0 -661
  61. package/html/guides/seo-optimization-guide.html +0 -887
  62. package/html/guides/supabase-auth-implementation-plan.html +0 -543
  63. package/html/guides/supabase-auth-integration-plan.html +0 -671
  64. package/html/guides/supabase-auth-setup-guide.html +0 -498
  65. package/html/guides/supabase-authentication-complete-guide.html +0 -866
  66. package/html/guides/troubleshooting-guide.html +0 -633
  67. package/html/guides/vercel-deployment-auth-setup.html +0 -337
  68. package/html/guides/windows-setup-guide.html +0 -859
  69. package/html/image-modal-test.html +0 -318
  70. package/html/index.html +0 -522
  71. package/html/js/auth.js +0 -157
  72. package/html/js/main.js +0 -1747
  73. package/html/launch/README.html +0 -297
  74. package/html/launch/bubble-plugin-specification.html +0 -933
  75. package/html/launch/go-to-market-strategy.html +0 -663
  76. package/html/launch/launch-announcements.html +0 -593
  77. package/html/login.html +0 -102
  78. package/html/logout.html +0 -18
  79. package/html/private/cache-control-anti-pattern.html +0 -429
  80. package/html/private/launch/README.html +0 -371
  81. package/html/private/launch/auth-cleanup-summary.html +0 -361
  82. package/html/private/launch/bubble-plugin-specification.html +0 -1007
  83. package/html/private/launch/go-to-market-strategy.html +0 -737
  84. package/html/private/launch/launch-announcements.html +0 -667
  85. package/html/private/launch/vercel-deployment-auth-setup.html +0 -417
  86. package/html/private/next-steps-walkthrough.html +0 -679
  87. package/html/private/supabase-auth-implementation-completed.html +0 -454
  88. package/html/private/supabase-auth-implementation-plan.html +0 -594
  89. package/html/private/supabase-auth-integration-plan.html +0 -704
  90. package/html/private/supabase-auth-setup-guide.html +0 -555
  91. package/html/private/test-private-doc.html +0 -302
  92. package/html/private/user-management-tooling.html +0 -601
  93. package/html/prompts/Screenshot 2025-08-02 at 08.49.55.png +0 -0
  94. package/html/prompts/beautiful-documentation-design.html +0 -784
  95. package/html/prompts/markdown-document-standards.html +0 -422
  96. package/html/prompts/project-rename-strategy-sasha-publish.html +0 -530
  97. package/html/robots.txt +0 -9
  98. package/html/sitemap.xml +0 -357
  99. package/html/test-questions/how-does-it-work%3F.html +0 -294
  100. package/html/test-questions/step-1%3A%20getting-started.html +0 -289
  101. package/html/test-questions/what-is-the-purpose.html +0 -293
  102. package/html/test-status.html +0 -281
  103. package/html/vercel-cli-setup-guide.html +0 -495
  104. package/html/vercel-first-time-setup-guide.html +0 -454
  105. package/html/vercel.json +0 -29
  106. package/html-static/11.png +0 -0
  107. package/html-static/404.html +0 -115
  108. package/html-static/README.html +0 -599
  109. package/html-static/Screenshot 2025-08-12 at 21.35.07.png +0 -0
  110. package/html-static/about-doc-builder.html +0 -568
  111. package/html-static/css/notion-style.css +0 -2502
  112. package/html-static/documentation-index.html +0 -548
  113. package/html-static/guides/authentication-default-change.html +0 -447
  114. package/html-static/guides/authentication-guide.html +0 -586
  115. package/html-static/guides/claude-workflow-guide.html +0 -1151
  116. package/html-static/guides/configuration-guide.html +0 -549
  117. package/html-static/guides/documentation-standards.html +0 -771
  118. package/html-static/guides/html-embedding-guide.html +0 -538
  119. package/html-static/guides/image-modal-guide.html +0 -592
  120. package/html-static/guides/phosphor-icons-guide.html +0 -661
  121. package/html-static/guides/private-directory-authentication-troubleshooting.html +0 -632
  122. package/html-static/guides/private-directory-authentication.html +0 -618
  123. package/html-static/guides/public-site-deployment.html +0 -508
  124. package/html-static/guides/search-engine-verification-guide.html +0 -619
  125. package/html-static/guides/seo-guide.html +0 -738
  126. package/html-static/guides/seo-optimization-guide.html +0 -964
  127. package/html-static/guides/supabase-authentication-complete-guide.html +0 -943
  128. package/html-static/guides/troubleshooting-guide.html +0 -710
  129. package/html-static/guides/windows-setup-guide.html +0 -936
  130. package/html-static/image-modal-test.html +0 -395
  131. package/html-static/index.html +0 -599
  132. package/html-static/js/main.js +0 -1747
  133. package/html-static/prompts/Screenshot 2025-08-02 at 08.49.55.png +0 -0
  134. package/html-static/prompts/beautiful-documentation-design.html +0 -861
  135. package/html-static/prompts/markdown-document-standards.html +0 -499
  136. package/html-static/prompts/project-rename-strategy-sasha-publish.html +0 -607
  137. package/html-static/robots.txt +0 -5
  138. package/html-static/sitemap.xml +0 -195
  139. package/html-static/test-questions/how-does-it-work%3F.html +0 -371
  140. package/html-static/test-questions/step-1%3A%20getting-started.html +0 -366
  141. package/html-static/test-questions/what-is-the-purpose.html +0 -370
  142. package/html-static/vercel-cli-setup-guide.html +0 -572
  143. package/html-static/vercel-first-time-setup-guide.html +0 -531
  144. package/manage-users.sql +0 -191
  145. package/migrate-to-domain-auth.sql +0 -47
  146. package/package/CACHE-BUSTING-GUIDE.md +0 -82
  147. package/package/CHANGELOG.md +0 -902
  148. package/package/README.md +0 -248
  149. package/package/assets/css/notion-style.css +0 -2211
  150. package/package/assets/js/auth.js +0 -67
  151. package/package/assets/js/main.js +0 -1565
  152. package/package/cli.js +0 -764
  153. package/package/index.js +0 -38
  154. package/package/knowcode-doc-builder-1.3.15.tgz +0 -0
  155. package/package/lib/builder.js +0 -32
  156. package/package/lib/config.js +0 -278
  157. package/package/lib/core-builder.js +0 -957
  158. package/package/lib/deploy.js +0 -497
  159. package/package/lib/dev-server.js +0 -96
  160. package/package/package.json +0 -34
  161. package/package/scripts/npx-runner.js +0 -27
  162. package/package/scripts/setup.js +0 -56
  163. package/package/test-cache-bust.sh +0 -43
  164. package/public-config.js +0 -22
  165. package/public-html/404.html +0 -115
  166. package/public-html/README.html +0 -149
  167. package/public-html/css/notion-style.css +0 -2036
  168. package/public-html/index.html +0 -149
  169. package/public-html/js/auth.js +0 -67
  170. package/public-html/js/main.js +0 -1485
  171. package/quick-test-commands.md +0 -40
  172. package/recordings/Screenshot 2025-07-24 at 18.22.01.png +0 -0
  173. package/recordings/mh-ls-22jul.txt +0 -2305
  174. package/screenshot.png +0 -0
  175. package/scripts/Screenshot 2025-07-23 at 15.39.41.png +0 -0
  176. package/setup-database-v2.sql +0 -53
  177. package/setup-database.sql +0 -41
  178. package/test-auth-config.js +0 -17
  179. package/test-cache-bust.sh +0 -43
  180. package/test-docs/README.md +0 -39
  181. package/test-html/404.html +0 -115
  182. package/test-html/README.html +0 -172
  183. package/test-html/auth.js +0 -97
  184. package/test-html/css/notion-style.css +0 -2036
  185. package/test-html/index.html +0 -172
  186. package/test-html/js/auth.js +0 -97
  187. package/test-html/js/main.js +0 -1485
  188. package/test-html/login.html +0 -102
  189. package/test-html/logout.html +0 -18
  190. package/update-domain.sql +0 -9
  191. package/user-access-view.sql +0 -49
  192. package/user-management/README.md +0 -301
  193. package/user-management/add-users.sh +0 -776
  194. package/user-management/create-user.js +0 -65
  195. package/user-management/users.txt +0 -15
  196. package/view-all-users.sql +0 -40
  197. 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
- })();