@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
@@ -1,361 +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="This guide documents how to implement aggressive cache-busting headers in doc-builder, but we strongly recommend against using this approach. This...">
7
- <title>Cache Control Anti-Pattern: Why Aggressive Cach...</title>
8
-
9
- <meta name="author" content="Lindsay Smith">
10
- <meta name="keywords" content="documentation, markdown, static site generator, vercel, notion-style, cache, caching">
11
- <meta name="robots" content="index, follow">
12
- <link rel="canonical" href="https://doc-builder-delta.vercel.app/guides/cache-control-anti-pattern.html">
13
-
14
- <!-- Open Graph / Facebook -->
15
- <meta property="og:type" content="article">
16
- <meta property="og:url" content="https://doc-builder-delta.vercel.app/guides/cache-control-anti-pattern.html">
17
- <meta property="og:title" content="Cache Control Anti-Pattern: Why Aggressive Cach...">
18
- <meta property="og:description" content="This guide documents how to implement aggressive cache-busting headers in doc-builder, but we strongly recommend against using this approach. This...">
19
- <meta property="og:image" content="https://doc-builder-delta.vercel.app/og-default.png">
20
- <meta property="og:site_name" content="@knowcode/doc-builder">
21
- <meta property="og:locale" content="en_US">
22
-
23
- <!-- Twitter Card -->
24
- <meta name="twitter:card" content="summary_large_image">
25
- <meta name="twitter:site" content="@planbbackups">
26
- <meta name="twitter:creator" content="@planbbackups">
27
- <meta name="twitter:title" content="Cache Control Anti-Pattern: Why Aggressive Cach...">
28
- <meta name="twitter:description" content="This guide documents how to implement aggressive cache-busting headers in doc-builder, but we strongly recommend against using this approach. This...">
29
- <meta name="twitter:image" content="https://doc-builder-delta.vercel.app/og-default.png">
30
-
31
- <!-- Custom Meta Tags -->
32
- <meta name="google-site-verification" content="FtzcDTf5BQ9K5EfnGazQkgU2U4FiN3ITzM7gHwqUAqQ">
33
- <meta name="msvalidate.01" content="B2D8C4C12C530D47AA962B24CAA09630">
34
-
35
- <!-- Fonts -->
36
- <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
37
-
38
- <!-- Icons -->
39
- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">
40
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@phosphor-icons/web@2.1.1/src/regular/style.css">
41
-
42
- <!-- Mermaid -->
43
- <script src="https://cdn.jsdelivr.net/npm/mermaid@10.6.1/dist/mermaid.min.js"></script>
44
-
45
- <!-- Styles -->
46
- <link rel="stylesheet" href="/css/notion-style.css">
47
-
48
-
49
-
50
- <!-- Favicon -->
51
- <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>">
52
-
53
- <script type="application/ld+json">
54
- {
55
- "@context": "https://schema.org",
56
- "@type": "TechArticle",
57
- "headline": "Cache Control Anti-Pattern: Why Aggressive Cache-Busting is Bad for Documentation Sites",
58
- "description": "This guide documents how to implement aggressive cache-busting headers in doc-builder, but we strongly recommend against using this approach. This...",
59
- "author": {
60
- "@type": "Person",
61
- "name": "Lindsay Smith"
62
- },
63
- "publisher": {
64
- "@type": "Organization",
65
- "name": "Knowcode Ltd",
66
- "url": "https://knowcode.tech"
67
- },
68
- "datePublished": "2025-07-25T13:49:06.522Z",
69
- "dateModified": "2025-07-25T13:49:06.522Z",
70
- "mainEntityOfPage": {
71
- "@type": "WebPage",
72
- "@id": "https://doc-builder-delta.vercel.app/guides/cache-control-anti-pattern.html"
73
- },
74
- "breadcrumb": {
75
- "@type": "BreadcrumbList",
76
- "itemListElement": [
77
- {
78
- "@type": "ListItem",
79
- "position": 1,
80
- "name": "@knowcode/doc-builder",
81
- "item": "https://doc-builder-delta.vercel.app"
82
- },
83
- {
84
- "@type": "ListItem",
85
- "position": 2,
86
- "name": "Guides",
87
- "item": "https://doc-builder-delta.vercel.app/guides/"
88
- },
89
- {
90
- "@type": "ListItem",
91
- "position": 3,
92
- "name": "Cache Control Anti Pattern",
93
- "item": "https://doc-builder-delta.vercel.app/guides/cache-control-anti-pattern.html"
94
- }
95
- ]
96
- }
97
- }
98
- </script>
99
- </head>
100
- <body>
101
- <!-- Header -->
102
- <header class="header">
103
- <div class="header-content">
104
- <a href="/index.html" class="logo">@knowcode/doc-builder</a>
105
-
106
- <div class="header-actions">
107
- <div class="deployment-info">
108
- <span class="deployment-date" title="Built with doc-builder v1.7.5">Last updated: Jul 25, 2025, 01:49 PM UTC</span>
109
- </div>
110
-
111
-
112
-
113
- <button id="theme-toggle" class="theme-toggle" aria-label="Toggle theme">
114
- <i class="fas fa-moon"></i>
115
- </button>
116
-
117
- <button id="menu-toggle" class="menu-toggle" aria-label="Toggle menu">
118
- <i class="fas fa-bars"></i>
119
- </button>
120
- </div>
121
- </div>
122
- </header>
123
-
124
- <!-- Preview Banner -->
125
- <div id="preview-banner" class="preview-banner">
126
- <div class="banner-content">
127
- <i class="fas fa-exclamation-triangle banner-icon"></i>
128
- <span class="banner-text">This documentation is a preview version - some content may be incomplete</span>
129
- <button id="dismiss-banner" class="banner-dismiss" aria-label="Dismiss banner">
130
- <i class="fas fa-times"></i>
131
- </button>
132
- </div>
133
- </div>
134
-
135
- <!-- Breadcrumbs -->
136
- <nav class="breadcrumbs" id="breadcrumbs">
137
- <!-- Breadcrumbs will be generated by JavaScript -->
138
- </nav>
139
-
140
- <!-- Main Content -->
141
- <div class="main-wrapper">
142
- <!-- Sidebar -->
143
- <aside class="sidebar">
144
- <div class="sidebar-header">
145
- <div class="filter-box">
146
- <input type="text" placeholder="Filter items..." class="filter-input" id="nav-filter">
147
- <i class="fas fa-search filter-icon"></i>
148
- </div>
149
- </div>
150
- <nav class="navigation">
151
-
152
- <div class="nav-section" data-level="0">
153
- <a class="nav-title" href="/README.html" >
154
- <i class="fas fa-home"></i> Documentation
155
- </a>
156
- <div class="nav-content" >
157
- <a href="/README.html" class="nav-item" data-tooltip="@knowcode/doc-builder."><i class="fas fa-file-alt"></i> Overview</a>
158
- <a href="/documentation-index.html" class="nav-item" data-tooltip="This directory contains additional documentation for the @knowcode/doc-builder project, organized by topic and purpose."><i class="fas fa-file-alt"></i> Documentation Index</a>
159
- <a href="/vercel-cli-setup-guide.html" class="nav-item" data-tooltip="This guide provides comprehensive instructions for installing the Vercel CLI across different operating systems."><i class="fas fa-file-alt"></i> Vercel Cli Setup Guide</a>
160
- <a href="/vercel-first-time-setup-guide.html" class="nav-item" data-tooltip="This guide walks you through the Vercel deployment process when using ."><i class="fas fa-file-alt"></i> Vercel First Time Setup Guide</a></div></div>
161
- <div class="nav-section" data-level="1">
162
- <a class="nav-title collapsible expanded" href="#" data-target="nav-guides-1" >
163
- <i class="fas fa-chevron-right collapse-icon"></i><i class="fas fa-folder"></i> Guides
164
- </a>
165
- <div class="nav-content" id="nav-guides-1">
166
- <a href="/guides/authentication-default-change.html" class="nav-item" data-tooltip="Starting from version 1.7.4, @knowcode/doc-builder now defaults to no authentication for all documentation sites."><i class="fas fa-file-alt"></i> Authentication Default Change</a>
167
- <a href="/guides/authentication-guide.html" class="nav-item" data-tooltip="🚨 This authentication method has been REMOVED in version 2.0.0 due to serious security flaws."><i class="fas fa-file-alt"></i> Authentication Guide</a>
168
- <a href="/guides/cache-control-anti-pattern.html" class="nav-item active" data-tooltip="Cache Control Anti-Pattern: Why Aggressive Cache-Busting is Bad for Documentation Sites."><i class="fas fa-file-alt"></i> Cache Control Anti Pattern</a>
169
- <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>
170
- <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>
171
- <a href="/guides/next-steps-walkthrough.html" class="nav-item" data-tooltip="Now that we&#039;ve implemented Supabase authentication, let&#039;s walk through testing the implementation and preparing for deployment."><i class="fas fa-file-alt"></i> Next Steps Walkthrough</a>
172
- <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>
173
- <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>
174
- <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>
175
- <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>
176
- <a href="/guides/seo-optimization-guide.html" class="nav-item" data-tooltip="@knowcode/doc-builder includes comprehensive SEO (Search Engine Optimization) features that automatically optimize your documentation for search..."><i class="fas fa-file-alt"></i> Seo Optimization Guide</a>
177
- <a href="/guides/supabase-auth-implementation-plan.html" class="nav-item" data-tooltip="Supabase Auth Implementation Plan for @knowcode/doc-builder."><i class="fas fa-file-alt"></i> Supabase Auth Implementation Plan</a>
178
- <a href="/guides/supabase-auth-integration-plan.html" class="nav-item" data-tooltip="Supabase Authentication Integration Plan for @knowcode/doc-builder."><i class="fas fa-file-alt"></i> Supabase Auth Integration Plan</a>
179
- <a href="/guides/supabase-auth-setup-guide.html" class="nav-item" data-tooltip="@knowcode/doc-builder now supports enterprise-grade authentication through Supabase, replacing the previous insecure basic authentication."><i class="fas fa-file-alt"></i> Supabase Auth Setup Guide</a>
180
- <a href="/guides/troubleshooting-guide.html" class="nav-item" data-tooltip="This guide helps you resolve common issues when using @knowcode/doc-builder."><i class="fas fa-file-alt"></i> Troubleshooting Guide</a>
181
- <a href="/guides/vercel-deployment-auth-setup.html" class="nav-item" data-tooltip="Vercel Deployment Authentication Setup Guide."><i class="fas fa-file-alt"></i> Vercel Deployment Auth Setup</a>
182
- <a href="/guides/windows-setup-guide.html" class="nav-item" data-tooltip="This guide helps Windows users set up the complete AI-powered documentation workflow using Claude Code, @knowcode/doc-builder, and Vercel."><i class="fas fa-file-alt"></i> Windows Setup Guide</a></div></div>
183
- <div class="nav-section" data-level="1">
184
- <a class="nav-title collapsible" href="/launch/README.html" data-target="nav-launch-1" >
185
- <i class="fas fa-chevron-right collapse-icon"></i><i class="fas fa-folder"></i> Launch
186
- </a>
187
- <div class="nav-content collapsed" id="nav-launch-1">
188
- <a href="/launch/README.html" class="nav-item" data-tooltip="This directory contains all documentation related to the commercial launch of @knowcode/doc-builder, including go-to-market strategy, platform..."><i class="fas fa-file-alt"></i> Launch Overview</a>
189
- <a href="/launch/bubble-plugin-specification.html" class="nav-item" data-tooltip="This document outlines the technical specification for creating a Bubble.io plugin that integrates @knowcode/doc-builder, enabling Bubble developers..."><i class="fas fa-file-alt"></i> Bubble Plugin Specification</a>
190
- <a href="/launch/go-to-market-strategy.html" class="nav-item" data-tooltip="Go-to-Market Strategy &amp; Product Launch Plan."><i class="fas fa-file-alt"></i> Go To Market Strategy</a>
191
- <a href="/launch/launch-announcements.html" class="nav-item" data-tooltip="This document contains ready-to-use announcement templates for launching @knowcode/doc-builder across various platforms and channels."><i class="fas fa-file-alt"></i> Launch Announcements</a></div></div>
192
- </nav>
193
- <div class="resize-handle"></div>
194
- </aside>
195
-
196
- <!-- Content Area -->
197
- <main class="content">
198
- <div class="content-inner">
199
- <h1>Cache Control Anti-Pattern: Why Aggressive Cache-Busting is Bad for Documentation Sites</h1>
200
- <h2><i class="ph ph-warning-circle" aria-label="warning"></i> Important Notice</h2>
201
- <p>This guide documents how to implement aggressive cache-busting headers in doc-builder, but <strong>we strongly recommend against using this approach</strong>. This documentation exists for educational purposes and to explain why this is considered an anti-pattern for static documentation sites.</p>
202
- <h2>Why Cache-Busting is a Bad Idea for Documentation</h2>
203
- <h3>1. Performance Degradation</h3>
204
- <ul>
205
- <li><strong>Increased Load Times</strong>: Every page visit requires a full server round-trip</li>
206
- <li><strong>No Offline Access</strong>: Users can&#39;t view previously visited pages without internet</li>
207
- <li><strong>Bandwidth Waste</strong>: Repeatedly downloading unchanged content</li>
208
- <li><strong>Server Load</strong>: Unnecessary strain on your hosting infrastructure</li>
209
- </ul>
210
- <h3>2. Poor User Experience</h3>
211
- <ul>
212
- <li>Documentation is typically static content that changes infrequently</li>
213
- <li>Users expect fast page loads when navigating documentation</li>
214
- <li>Browser back/forward navigation becomes sluggish</li>
215
- <li>Search engines may penalize sites with poor performance</li>
216
- </ul>
217
- <h3>3. Cost Implications</h3>
218
- <ul>
219
- <li>Higher bandwidth costs on platforms like Vercel</li>
220
- <li>Increased CDN usage without benefits</li>
221
- <li>More compute resources needed to serve requests</li>
222
- </ul>
223
- <h3>4. Against Web Best Practices</h3>
224
- <ul>
225
- <li>Static documentation should leverage browser caching</li>
226
- <li>CDNs exist specifically to cache and serve static content efficiently</li>
227
- <li>Modern web performance relies on intelligent caching strategies</li>
228
- </ul>
229
- <h2>How to Implement No-Cache Headers (Not Recommended)</h2>
230
- <p>Despite the downsides, here&#39;s how you would implement aggressive cache-busting if absolutely necessary:</p>
231
- <h3>Option 1: HTML Meta Tags</h3>
232
- <p>Add these meta tags to the HTML template in <code>lib/core-builder.js</code>:</p>
233
- <pre><code class="language-javascript">// In the generateHTML function, add to the &lt;head&gt; section:
234
- &lt;meta http-equiv=&quot;Cache-Control&quot; content=&quot;no-cache, no-store, must-revalidate&quot;&gt;
235
- &lt;meta http-equiv=&quot;Pragma&quot; content=&quot;no-cache&quot;&gt;
236
- &lt;meta http-equiv=&quot;Expires&quot; content=&quot;0&quot;&gt;
237
- </code></pre>
238
- <h3>Option 2: Vercel Configuration</h3>
239
- <p>Create or modify <code>vercel.json</code> in your output directory:</p>
240
- <pre><code class="language-json">{
241
- &quot;headers&quot;: [
242
- {
243
- &quot;source&quot;: &quot;/(.*)&quot;,
244
- &quot;headers&quot;: [
245
- {
246
- &quot;key&quot;: &quot;Cache-Control&quot;,
247
- &quot;value&quot;: &quot;no-cache, no-store, must-revalidate&quot;
248
- },
249
- {
250
- &quot;key&quot;: &quot;Pragma&quot;,
251
- &quot;value&quot;: &quot;no-cache&quot;
252
- },
253
- {
254
- &quot;key&quot;: &quot;Expires&quot;,
255
- &quot;value&quot;: &quot;0&quot;
256
- }
257
- ]
258
- }
259
- ]
260
- }
261
- </code></pre>
262
- <h3>Option 3: Modified Core Builder</h3>
263
- <p>To add cache-busting query parameters to all internal links:</p>
264
- <pre><code class="language-javascript">// In core-builder.js, modify link generation:
265
- function addCacheBuster(url) {
266
- const timestamp = Date.now();
267
- const separator = url.includes(&#39;?&#39;) ? &#39;&amp;&#39; : &#39;?&#39;;
268
- return `${url}${separator}v=${timestamp}`;
269
- }
270
- </code></pre>
271
- <h2>Better Alternatives (Recommended)</h2>
272
- <h3>1. Intelligent Cache Headers</h3>
273
- <p>Instead of no-cache, use smart caching:</p>
274
- <pre><code class="language-json">{
275
- &quot;headers&quot;: [
276
- {
277
- &quot;source&quot;: &quot;/(.*).html&quot;,
278
- &quot;headers&quot;: [{
279
- &quot;key&quot;: &quot;Cache-Control&quot;,
280
- &quot;value&quot;: &quot;public, max-age=3600, stale-while-revalidate=86400&quot;
281
- }]
282
- },
283
- {
284
- &quot;source&quot;: &quot;/css/(.*)&quot;,
285
- &quot;headers&quot;: [{
286
- &quot;key&quot;: &quot;Cache-Control&quot;,
287
- &quot;value&quot;: &quot;public, max-age=31536000, immutable&quot;
288
- }]
289
- }
290
- ]
291
- }
292
- </code></pre>
293
- <h3>2. Version-Based Cache Busting</h3>
294
- <p>Only bust cache when content actually changes:</p>
295
- <pre><code class="language-javascript">// In doc-builder.config.js
296
- module.exports = {
297
- // ... other config
298
- buildVersion: require(&#39;./package.json&#39;).version,
299
- // Assets will be served as: style.css?v=1.4.3
300
- };
301
- </code></pre>
302
- <h3>3. Content-Based Hashing</h3>
303
- <p>Use build tools to generate hashed filenames:</p>
304
- <ul>
305
- <li><code>style.css</code> → <code>style.a8f7c2.css</code></li>
306
- <li>Cache forever with new filename on changes</li>
307
- </ul>
308
- <h3>4. Service Worker Strategy</h3>
309
- <p>Implement a service worker for intelligent caching:</p>
310
- <ul>
311
- <li>Cache static assets aggressively</li>
312
- <li>Network-first for HTML content</li>
313
- <li>Offline fallback for better UX</li>
314
- </ul>
315
- <h2>The Real Solution to Browser Title Issues</h2>
316
- <p>The &quot;Quarterly Sales Report&quot; issue mentioned is likely due to:</p>
317
- <ol>
318
- <li><strong>Browser Session Restore</strong>: Browser remembering old tab titles</li>
319
- <li><strong>History Cache</strong>: Browser&#39;s back/forward cache</li>
320
- <li><strong>Tab Suspension</strong>: Browser saving memory by caching tab state</li>
321
- </ol>
322
- <h3>Simple Fixes:</h3>
323
- <ul>
324
- <li>Hard refresh: <code>Ctrl+Shift+R</code> (Windows/Linux) or <code>Cmd+Shift+R</code> (Mac)</li>
325
- <li>Clear browser cache for the specific site</li>
326
- <li>Open the page in an incognito/private window</li>
327
- </ul>
328
- <h2>Conclusion</h2>
329
- <p>Aggressive cache-busting is an anti-pattern for documentation sites. The performance and user experience costs far outweigh any benefits. Instead:</p>
330
- <ol>
331
- <li><i class="ph ph-check-circle" aria-label="checked"></i> Use intelligent caching strategies</li>
332
- <li><i class="ph ph-check-circle" aria-label="checked"></i> Implement version-based cache busting for assets</li>
333
- <li><i class="ph ph-check-circle" aria-label="checked"></i> Trust browsers to handle HTML caching appropriately</li>
334
- <li><i class="ph ph-x-circle" aria-label="error"></i> Don&#39;t disable caching entirely</li>
335
- </ol>
336
- <p>Remember: Documentation sites are meant to be fast, reliable, and accessible. Proper caching is essential to achieving these goals.</p>
337
- <h2>See Also</h2>
338
- <ul>
339
- <li><a href="./seo-optimization-guide.md">SEO Optimization Guide</a> - Proper meta tag configuration</li>
340
- <li><a href="https://web.dev/fast/">Performance Best Practices</a> - Google&#39;s web performance guidelines</li>
341
- <li><a href="https://vercel.com/docs/concepts/edge-network/caching">Vercel Caching Documentation</a> - Platform-specific caching strategies</li>
342
- </ul>
343
-
344
- </div>
345
- </main>
346
- </div>
347
-
348
- <!-- Scripts -->
349
- <script>
350
- // Pass configuration to frontend
351
- window.docBuilderConfig = {
352
- features: {
353
- showPdfDownload: true,
354
- menuDefaultOpen: false
355
- }
356
- };
357
- </script>
358
- <script src="/js/main.js"></script>
359
-
360
- </body>
361
- </html>