@knowcode/doc-builder 1.5.3 → 1.5.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,57 @@ All notable changes to @knowcode/doc-builder will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.5.5] - 2025-07-22
9
+
10
+ ### Added
11
+ - **Front Matter Support**: Parse YAML front matter for page-specific SEO customization
12
+ - **SEO Check Command**: New `seo-check` command to analyze and report SEO issues
13
+ - **Smart Description Extraction**: Intelligent extraction of intro paragraphs for better descriptions
14
+ - **Enhanced Title Generation**: SEO-optimized titles with customizable templates
15
+ - **Page-specific Keywords**: Support for front matter keywords plus auto-extraction
16
+ - **Comprehensive SEO Guide**: Detailed documentation for SEO optimization
17
+
18
+ ### Changed
19
+ - Improved `generateDescription` with smart mode for better meta descriptions
20
+ - Title generation now respects 50-60 character limit with smart truncation
21
+ - Keywords can be defined per-page via front matter
22
+ - SEO configuration expanded with new options
23
+
24
+ ### Features
25
+ - **Front Matter SEO**: Add custom title, description, and keywords per page
26
+ - **Title Templates**: Configure title format with `{pageTitle} | {siteName}` patterns
27
+ - **Auto Keywords**: Automatically extract relevant keywords from content
28
+ - **SEO Analysis**: Run `doc-builder seo-check` to find and fix SEO issues
29
+ - **Smart Defaults**: Intelligent fallbacks for missing SEO data
30
+
31
+ ### Configuration
32
+ ```javascript
33
+ seo: {
34
+ titleTemplate: '{pageTitle} | {siteName}',
35
+ autoKeywords: true,
36
+ keywordLimit: 7,
37
+ descriptionFallback: 'smart'
38
+ }
39
+ ```
40
+
41
+ ## [1.5.4] - 2025-07-22
42
+
43
+ ### Added
44
+ - New CLI command `google-verify` to add Google site verification meta tags
45
+ - Support for custom meta tags in the SEO configuration
46
+ - Comprehensive guide for Google Search Console verification
47
+ - Ability to update existing verification codes
48
+
49
+ ### Changed
50
+ - Extended `generateMetaTags` function to support custom meta tags
51
+ - Updated config structure to include `seo.customMetaTags` array
52
+
53
+ ### Features
54
+ - Run `doc-builder google-verify YOUR_CODE` to add verification
55
+ - Verification meta tag automatically added to all generated pages
56
+ - Support for multiple custom meta tags (Google, Bing, Yandex, etc.)
57
+ - Safe to commit verification codes to repositories
58
+
8
59
  ## [1.5.3] - 2025-07-22
9
60
 
10
61
  ### Fixed
package/CLAUDE.md CHANGED
@@ -312,6 +312,9 @@ build(config).then(() => {
312
312
 
313
313
  MIT License - See LICENSE file for details
314
314
 
315
+ ### NPM Features Documentation
316
+ - When we add new features - add it to the NPM documented bullet point features - if its a big feature give it a section
317
+
315
318
  ---
316
319
 
317
320
  **Note**: This project was extracted from the cybersolstice monorepo on 2025-07-21 with full git history preservation.
package/README.md CHANGED
@@ -4,17 +4,11 @@ Beautiful documentation with the least effort possible. A zero-configuration doc
4
4
 
5
5
  🔗 **[View Live Example](https://doc-builder-delta.vercel.app)** - See what your documentation will look like!
6
6
 
7
- ## Recent Documentation Updates (Last 14 Days)
8
-
9
- ### 🚀 System & Deployment (docs:)
10
- - 🔄 **UPDATE**: [Claude + CLAUDE.md Documentation Workflow Guide](docs/claude-workflow-guide.md) - Documentation updates and improvements
11
- - 🔄 **MAJOR UPDATE**: [Documentation Index](docs/documentation-index.md) - Significant updates with enhanced functionality and coverage
12
- - 🔄 **MAJOR UPDATE**: [Document Standards for @knowcode/doc-builder](docs/guides/DOCUMENT-STANDARDS.md) - Significant updates with enhanced functionality and coverage
13
- - 🔄 **UPDATE**: [@knowcode/doc-builder](docs/README.md) - Documentation updates and improvements
14
- - 🔄 **UPDATE**: [Document Standards for @knowcode/doc-builder](docs/guides/document-standards.md) - Documentation updates and improvements
15
-
16
- **Total Changes**: 0+ new documents, 5+ updates and improvements across 5 files
7
+ ## TL:DR
17
8
 
9
+ ```
10
+ npx @knowcode/doc-builder deploy
11
+ ```
18
12
 
19
13
  ## Why This Project Exists
20
14
 
@@ -28,7 +22,7 @@ The main premise of @knowcode/doc-builder is simple: **create beautiful document
28
22
  - **Converts** markdown to HTML with syntax highlighting and diagram support
29
23
  - **Styles** everything with a clean, Notion-inspired theme
30
24
  - **Deploys** to Vercel with a single command - leveraging their generous free tier
31
- - **Provides** optional features like authentication, dark mode, and changelog generation
25
+ - **Provides** optional features like authentication, dark mode, and changelog generation, SEO
32
26
 
33
27
  Perfect for project documentation, API references, knowledge bases, or any content written in markdown.
34
28
 
@@ -55,6 +49,9 @@ This aligns perfectly with our mission: beautiful documentation should be access
55
49
  - 🔄 **Live Reload** - Development server with hot reloading
56
50
  - ☁️ **Vercel Integration** - One-command deployment to Vercel
57
51
  - 🔍 **SEO Optimized** - Meta tags, Open Graph, Twitter Cards, and structured data
52
+ - ✅ **Google Site Verification** - Easy Google Search Console verification with CLI command
53
+ - 📝 **Front Matter SEO** - Per-page titles, descriptions, and keywords with YAML front matter
54
+ - 🎯 **SEO Analysis** - Built-in `seo-check` command to optimize your content
58
55
  - 📦 **Self-Contained** - No configuration or setup required
59
56
  - 🤖 **Claude Code Ready** - Optimized for AI-generated documentation workflows
60
57
 
@@ -106,7 +103,7 @@ After deployment, go to your Vercel dashboard:
106
103
  3. Set to **Disabled** for public access
107
104
  4. Or configure authentication for private docs
108
105
 
109
- ## Configuration
106
+ ## Configuration (optional - can be managed with CLI)
110
107
 
111
108
  Create `doc-builder.config.js` in your project root:
112
109
 
@@ -153,6 +150,44 @@ npx @knowcode/doc-builder set-production-url https://my-custom-domain.com
153
150
 
154
151
  This is useful when you have a custom domain or Vercel alias that differs from the auto-detected URL.
155
152
 
153
+ ### google-verify
154
+
155
+ Add Google site verification meta tag for Google Search Console:
156
+
157
+ ```bash
158
+ # Add your verification code
159
+ npx @knowcode/doc-builder google-verify YOUR_VERIFICATION_CODE
160
+
161
+ # Example
162
+ npx @knowcode/doc-builder google-verify FtzcDTf5BQ9K5EfnGazQkgU2U4FiN3ITzM7gHwqUAqQ
163
+ ```
164
+
165
+ This adds the verification meta tag to all generated HTML pages, allowing you to verify ownership in Google Search Console. See the [Google Site Verification Guide](docs/guides/google-site-verification-guide.md) for complete details.
166
+
167
+ ### seo-check
168
+
169
+ Analyze and optimize your documentation's SEO:
170
+
171
+ ```bash
172
+ # Check all pages for SEO issues
173
+ npx @knowcode/doc-builder seo-check
174
+
175
+ # Check a specific page
176
+ npx @knowcode/doc-builder seo-check docs/guide.md
177
+
178
+ # Future: Auto-fix common issues
179
+ npx @knowcode/doc-builder seo-check --fix
180
+ ```
181
+
182
+ This command analyzes:
183
+ - Title length and optimization (50-60 characters)
184
+ - Meta descriptions (140-160 characters)
185
+ - Keywords usage and relevance
186
+ - Front matter SEO fields
187
+ - Content quality signals
188
+
189
+ See the [SEO Optimization Guide](docs/guides/seo-optimization-guide.md) for best practices.
190
+
156
191
  ### setup-seo
157
192
  Interactive SEO configuration wizard:
158
193
  ```bash
@@ -168,7 +203,7 @@ This wizard helps you set up:
168
203
 
169
204
  See the [SEO Guide](docs/guides/seo-guide.md) for complete details.
170
205
 
171
- ### build
206
+ ### build (defaults will work just fine)
172
207
  Build the documentation site to static HTML:
173
208
  ```bash
174
209
  doc-builder build [options]
@@ -189,23 +224,6 @@ Examples:
189
224
  doc-builder build --config my-config.js # Use custom config
190
225
  ```
191
226
 
192
- ### dev
193
- Start development server with live reload:
194
- ```bash
195
- doc-builder dev [options]
196
-
197
- Options:
198
- -c, --config <path> Path to config file (default: "doc-builder.config.js")
199
- -p, --port <port> Port to run dev server on (default: 3000)
200
- -h, --host <host> Host to bind to (default: localhost)
201
- --no-open Don't open browser automatically
202
-
203
- Examples:
204
- doc-builder dev # Start on http://localhost:3000
205
- doc-builder dev --port 8080 # Use custom port
206
- doc-builder dev --host 0.0.0.0 # Allow external connections
207
- ```
208
-
209
227
  ### deploy
210
228
  Deploy documentation to Vercel (requires Vercel CLI):
211
229
  ```bash
package/cli.js CHANGED
@@ -10,6 +10,7 @@ const { build } = require('./lib/builder');
10
10
  const { startDevServer } = require('./lib/dev-server');
11
11
  const { deployToVercel, setupVercelProject, prepareDeployment } = require('./lib/deploy');
12
12
  const { loadConfig, createDefaultConfig } = require('./lib/config');
13
+ const { generateDescription } = require('./lib/seo');
13
14
  const { execSync } = require('child_process');
14
15
 
15
16
  // Package info
@@ -118,6 +119,250 @@ ${chalk.yellow('Examples:')}
118
119
  }
119
120
  });
120
121
 
122
+ // Google Site Verification command
123
+ program
124
+ .command('google-verify <verification-code>')
125
+ .description('Add Google site verification meta tag to all pages')
126
+ .option('-c, --config <path>', 'path to config file (default: doc-builder.config.js)')
127
+ .addHelpText('after', `
128
+ ${chalk.yellow('Examples:')}
129
+ ${chalk.gray('$')} doc-builder google-verify FtzcDTf5BQ9K5EfnGazQkgU2U4FiN3ITzM7gHwqUAqQ
130
+ ${chalk.gray('$')} doc-builder google-verify YOUR_VERIFICATION_CODE
131
+
132
+ ${chalk.yellow('This will add the Google site verification meta tag to all generated HTML pages.')}
133
+ ${chalk.yellow('Get your verification code from Google Search Console.')}
134
+ `)
135
+ .action(async (verificationCode, options) => {
136
+ try {
137
+ const configPath = path.join(process.cwd(), options.config || 'doc-builder.config.js');
138
+ let config;
139
+
140
+ if (fs.existsSync(configPath)) {
141
+ // Load existing config
142
+ delete require.cache[require.resolve(configPath)];
143
+ config = require(configPath);
144
+ } else {
145
+ console.log(chalk.yellow('⚠️ No config file found. Creating one...'));
146
+ await createDefaultConfig();
147
+ config = require(configPath);
148
+ }
149
+
150
+ // Ensure SEO section exists
151
+ if (!config.seo) {
152
+ config.seo = {
153
+ enabled: true,
154
+ customMetaTags: []
155
+ };
156
+ }
157
+
158
+ if (!config.seo.customMetaTags) {
159
+ config.seo.customMetaTags = [];
160
+ }
161
+
162
+ // Check if Google verification already exists
163
+ const googleVerifyIndex = config.seo.customMetaTags.findIndex(tag =>
164
+ tag.name === 'google-site-verification'
165
+ );
166
+
167
+ const newTag = {
168
+ name: 'google-site-verification',
169
+ content: verificationCode
170
+ };
171
+
172
+ if (googleVerifyIndex >= 0) {
173
+ // Update existing
174
+ config.seo.customMetaTags[googleVerifyIndex] = newTag;
175
+ console.log(chalk.green(`✅ Updated Google site verification code`));
176
+ } else {
177
+ // Add new
178
+ config.seo.customMetaTags.push(newTag);
179
+ console.log(chalk.green(`✅ Added Google site verification code`));
180
+ }
181
+
182
+ // Write updated config
183
+ const configContent = `module.exports = ${JSON.stringify(config, null, 2)};\n`;
184
+ fs.writeFileSync(configPath, configContent);
185
+
186
+ console.log(chalk.gray(`\nThe following meta tag will be added to all pages:`));
187
+ console.log(chalk.cyan(`<meta name="google-site-verification" content="${verificationCode}" />`));
188
+ console.log(chalk.gray(`\nRun ${chalk.cyan('doc-builder build')} to regenerate your documentation.`));
189
+ } catch (error) {
190
+ console.error(chalk.red('Failed to add Google verification:'), error.message);
191
+ process.exit(1);
192
+ }
193
+ });
194
+
195
+ // SEO Check command
196
+ program
197
+ .command('seo-check [path]')
198
+ .description('Analyze SEO for your documentation pages')
199
+ .option('-c, --config <path>', 'path to config file (default: doc-builder.config.js)')
200
+ .option('--fix', 'auto-fix common SEO issues')
201
+ .addHelpText('after', `
202
+ ${chalk.yellow('Examples:')}
203
+ ${chalk.gray('$')} doc-builder seo-check ${chalk.gray('# Check all pages')}
204
+ ${chalk.gray('$')} doc-builder seo-check docs/guide.md ${chalk.gray('# Check specific page')}
205
+ ${chalk.gray('$')} doc-builder seo-check --fix ${chalk.gray('# Auto-fix issues')}
206
+
207
+ ${chalk.yellow('This command analyzes:')}
208
+ • Title length and optimization (50-60 characters)
209
+ • Meta descriptions (140-160 characters)
210
+ • Keywords usage and relevance
211
+ • Front matter SEO fields
212
+ • Duplicate content issues
213
+ `)
214
+ .action(async (filePath, options) => {
215
+ try {
216
+ const config = await loadConfig(options.config);
217
+ const docsDir = path.resolve(config.docsDir || 'docs');
218
+
219
+ console.log(chalk.cyan('🔍 Analyzing SEO...'));
220
+
221
+ // Get files to check
222
+ let files = [];
223
+ if (filePath) {
224
+ const fullPath = path.resolve(filePath);
225
+ if (await fs.pathExists(fullPath)) {
226
+ files = [fullPath];
227
+ } else {
228
+ console.error(chalk.red(`File not found: ${filePath}`));
229
+ process.exit(1);
230
+ }
231
+ } else {
232
+ // Get all markdown files
233
+ const getAllFiles = async (dir) => {
234
+ const results = [];
235
+ const items = await fs.readdir(dir);
236
+ for (const item of items) {
237
+ const fullPath = path.join(dir, item);
238
+ const stat = await fs.stat(fullPath);
239
+ if (stat.isDirectory() && !item.startsWith('.')) {
240
+ results.push(...await getAllFiles(fullPath));
241
+ } else if (item.endsWith('.md')) {
242
+ results.push(fullPath);
243
+ }
244
+ }
245
+ return results;
246
+ };
247
+ files = await getAllFiles(docsDir);
248
+ }
249
+
250
+ // Analyze each file
251
+ const issues = [];
252
+ const suggestions = [];
253
+
254
+ for (const file of files) {
255
+ const content = await fs.readFile(file, 'utf-8');
256
+ const { data: frontMatter, content: mainContent } = matter(content);
257
+ const relativePath = path.relative(docsDir, file);
258
+
259
+ // Extract current metadata
260
+ const h1Match = mainContent.match(/^#\s+(.+)$/m);
261
+ const h1Title = h1Match ? h1Match[1] : null;
262
+ const title = frontMatter.title || h1Title || path.basename(file, '.md');
263
+ const description = frontMatter.description || generateDescription(mainContent, 'smart');
264
+ const keywords = frontMatter.keywords || [];
265
+
266
+ // Check title
267
+ const titleLength = title.length;
268
+ if (titleLength > 60) {
269
+ issues.push({
270
+ file: relativePath,
271
+ type: 'title',
272
+ message: `Title too long (${titleLength} chars, max 60)`,
273
+ current: title,
274
+ suggestion: title.substring(0, 57) + '...'
275
+ });
276
+ } else if (titleLength < 30) {
277
+ suggestions.push({
278
+ file: relativePath,
279
+ type: 'title',
280
+ message: `Title might be too short (${titleLength} chars, ideal 50-60)`
281
+ });
282
+ }
283
+
284
+ // Check description
285
+ const descLength = description.length;
286
+ if (descLength > 160) {
287
+ issues.push({
288
+ file: relativePath,
289
+ type: 'description',
290
+ message: `Description too long (${descLength} chars, max 160)`,
291
+ current: description,
292
+ suggestion: description.substring(0, 157) + '...'
293
+ });
294
+ } else if (descLength < 120) {
295
+ suggestions.push({
296
+ file: relativePath,
297
+ type: 'description',
298
+ message: `Description might be too short (${descLength} chars, ideal 140-160)`
299
+ });
300
+ }
301
+
302
+ // Check keywords
303
+ if (keywords.length === 0 && !frontMatter.description) {
304
+ suggestions.push({
305
+ file: relativePath,
306
+ type: 'keywords',
307
+ message: 'No keywords defined in front matter'
308
+ });
309
+ }
310
+
311
+ // Check for front matter
312
+ if (!frontMatter.title && !frontMatter.description) {
313
+ suggestions.push({
314
+ file: relativePath,
315
+ type: 'frontmatter',
316
+ message: 'No SEO front matter found'
317
+ });
318
+ }
319
+ }
320
+
321
+ // Display results
322
+ console.log(`\n${chalk.cyan('📊 SEO Analysis Complete')}\n`);
323
+ console.log(`Analyzed ${files.length} files\n`);
324
+
325
+ if (issues.length === 0 && suggestions.length === 0) {
326
+ console.log(chalk.green('✅ No SEO issues found!'));
327
+ } else {
328
+ if (issues.length > 0) {
329
+ console.log(chalk.red(`❌ Found ${issues.length} issues:\n`));
330
+ issues.forEach(issue => {
331
+ console.log(chalk.red(` ${issue.file}:`));
332
+ console.log(chalk.yellow(` ${issue.message}`));
333
+ if (issue.suggestion) {
334
+ console.log(chalk.gray(` Suggestion: ${issue.suggestion.substring(0, 50)}...`));
335
+ }
336
+ console.log('');
337
+ });
338
+ }
339
+
340
+ if (suggestions.length > 0) {
341
+ console.log(chalk.yellow(`💡 ${suggestions.length} suggestions:\n`));
342
+ suggestions.forEach(suggestion => {
343
+ console.log(chalk.yellow(` ${suggestion.file}: ${suggestion.message}`));
344
+ });
345
+ }
346
+
347
+ console.log(`\n${chalk.cyan('💡 Tips:')}`);
348
+ console.log(' • Add front matter to customize SEO per page');
349
+ console.log(' • Keep titles between 50-60 characters');
350
+ console.log(' • Write descriptions between 140-160 characters');
351
+ console.log(' • Include relevant keywords in front matter');
352
+ console.log(`\n${chalk.gray('Example front matter:')}`);
353
+ console.log(chalk.gray('---'));
354
+ console.log(chalk.gray('title: "Your SEO Optimized Title Here"'));
355
+ console.log(chalk.gray('description: "A compelling description between 140-160 characters that includes keywords and encourages clicks."'));
356
+ console.log(chalk.gray('keywords: ["keyword1", "keyword2", "keyword3"]'));
357
+ console.log(chalk.gray('---'));
358
+ }
359
+
360
+ } catch (error) {
361
+ console.error(chalk.red('Failed to analyze SEO:'), error.message);
362
+ process.exit(1);
363
+ }
364
+ });
365
+
121
366
  // Set Production URL command
122
367
  program
123
368
  .command('set-production-url <url>')
@@ -29,6 +29,12 @@ module.exports = {
29
29
  "organization": {
30
30
  "name": "Knowcode Ltd",
31
31
  "url": "https://knowcode.tech"
32
- }
32
+ },
33
+ "customMetaTags": [
34
+ {
35
+ "name": "google-site-verification",
36
+ "content": "FtzcDTf5BQ9K5EfnGazQkgU2U4FiN3ITzM7gHwqUAqQ"
37
+ }
38
+ ]
33
39
  }
34
40
  };
package/html/README.html CHANGED
@@ -28,6 +28,9 @@
28
28
  <meta name="twitter:description" content="@knowcode/doc-builder.">
29
29
  <meta name="twitter:image" content="https://doc-builder-delta.vercel.app/og-default.png">
30
30
 
31
+ <!-- Custom Meta Tags -->
32
+ <meta name="google-site-verification" content="FtzcDTf5BQ9K5EfnGazQkgU2U4FiN3ITzM7gHwqUAqQ">
33
+
31
34
  <!-- Fonts -->
32
35
  <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
33
36
 
@@ -58,8 +61,8 @@
58
61
  "name": "Knowcode Ltd",
59
62
  "url": "https://knowcode.tech"
60
63
  },
61
- "datePublished": "2025-07-22T06:01:14.255Z",
62
- "dateModified": "2025-07-22T06:01:14.255Z",
64
+ "datePublished": "2025-07-22T07:02:21.490Z",
65
+ "dateModified": "2025-07-22T07:02:21.490Z",
63
66
  "mainEntityOfPage": {
64
67
  "@type": "WebPage",
65
68
  "@id": "https://doc-builder-delta.vercel.app/README.html"
@@ -92,7 +95,7 @@
92
95
 
93
96
  <div class="header-actions">
94
97
  <div class="deployment-info">
95
- <span class="deployment-date" title="Built with doc-builder v1.5.2">Last updated: Jul 22, 2025, 06:01 AM UTC</span>
98
+ <span class="deployment-date" title="Built with doc-builder v1.5.4">Last updated: Jul 22, 2025, 07:02 AM UTC</span>
96
99
  </div>
97
100
 
98
101
 
@@ -153,6 +156,7 @@
153
156
  <a href="/guides/authentication-guide.html" class="nav-item" data-tooltip="This guide explains how to configure and use the built-in authentication feature in @knowcode/doc-builder to protect your documentation with basic..."><i class="fas fa-file-alt"></i> Authentication Guide</a>
154
157
  <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>
155
158
  <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>
159
+ <a href="/guides/google-site-verification-guide.html" class="nav-item" data-tooltip="Google Search Console verification allows you to: Monitor your site&#039;s performance in Google Search Submit sitemaps for better indexing View search..."><i class="fas fa-file-alt"></i> Google Site Verification Guide</a>
156
160
  <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>
157
161
  <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></div></div>
158
162
  </nav>
@@ -954,19 +954,39 @@ tr:hover {
954
954
 
955
955
  /* Hide sidebar on mobile */
956
956
  .sidebar {
957
- position: absolute;
957
+ position: fixed;
958
958
  top: calc(var(--header-height) + var(--breadcrumb-height));
959
959
  left: 0;
960
960
  height: calc(100vh - var(--header-height) - var(--breadcrumb-height));
961
- z-index: 999;
961
+ z-index: 1002; /* Above header and floating button */
962
962
  transform: translateX(-100%);
963
963
  transition: transform var(--duration-normal) var(--easing-out);
964
+ box-shadow: 2px 0 8px rgba(0, 0, 0, 0.15); /* Add shadow for depth */
964
965
  }
965
966
 
966
967
  .sidebar.open {
967
968
  transform: translateX(0);
968
969
  }
969
970
 
971
+ /* Mobile menu overlay */
972
+ .sidebar-overlay {
973
+ display: none;
974
+ position: fixed;
975
+ top: 0;
976
+ left: 0;
977
+ right: 0;
978
+ bottom: 0;
979
+ background: rgba(0, 0, 0, 0.5);
980
+ z-index: 1001; /* Below sidebar but above content */
981
+ opacity: 0;
982
+ transition: opacity var(--duration-normal);
983
+ }
984
+
985
+ .sidebar-overlay.active {
986
+ display: block;
987
+ opacity: 1;
988
+ }
989
+
970
990
  .main-wrapper {
971
991
  margin-left: 0;
972
992
  margin-top: var(--header-height); /* Only account for fixed header on mobile */
@@ -28,6 +28,9 @@
28
28
  <meta name="twitter:description" content="Documentation Index.">
29
29
  <meta name="twitter:image" content="https://doc-builder-delta.vercel.app/og-default.png">
30
30
 
31
+ <!-- Custom Meta Tags -->
32
+ <meta name="google-site-verification" content="FtzcDTf5BQ9K5EfnGazQkgU2U4FiN3ITzM7gHwqUAqQ">
33
+
31
34
  <!-- Fonts -->
32
35
  <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
33
36
 
@@ -58,8 +61,8 @@
58
61
  "name": "Knowcode Ltd",
59
62
  "url": "https://knowcode.tech"
60
63
  },
61
- "datePublished": "2025-07-22T06:01:14.265Z",
62
- "dateModified": "2025-07-22T06:01:14.265Z",
64
+ "datePublished": "2025-07-22T07:02:21.500Z",
65
+ "dateModified": "2025-07-22T07:02:21.500Z",
63
66
  "mainEntityOfPage": {
64
67
  "@type": "WebPage",
65
68
  "@id": "https://doc-builder-delta.vercel.app/documentation-index.html"
@@ -92,7 +95,7 @@
92
95
 
93
96
  <div class="header-actions">
94
97
  <div class="deployment-info">
95
- <span class="deployment-date" title="Built with doc-builder v1.5.2">Last updated: Jul 22, 2025, 06:01 AM UTC</span>
98
+ <span class="deployment-date" title="Built with doc-builder v1.5.4">Last updated: Jul 22, 2025, 07:02 AM UTC</span>
96
99
  </div>
97
100
 
98
101
 
@@ -153,6 +156,7 @@
153
156
  <a href="/guides/authentication-guide.html" class="nav-item" data-tooltip="This guide explains how to configure and use the built-in authentication feature in @knowcode/doc-builder to protect your documentation with basic..."><i class="fas fa-file-alt"></i> Authentication Guide</a>
154
157
  <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>
155
158
  <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>
159
+ <a href="/guides/google-site-verification-guide.html" class="nav-item" data-tooltip="Google Search Console verification allows you to: Monitor your site&#039;s performance in Google Search Submit sitemaps for better indexing View search..."><i class="fas fa-file-alt"></i> Google Site Verification Guide</a>
156
160
  <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>
157
161
  <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></div></div>
158
162
  </nav>
@@ -28,6 +28,9 @@
28
28
  <meta name="twitter:description" content="Authentication Guide for @knowcode/doc-builder.">
29
29
  <meta name="twitter:image" content="https://doc-builder-delta.vercel.app/og-default.png">
30
30
 
31
+ <!-- Custom Meta Tags -->
32
+ <meta name="google-site-verification" content="FtzcDTf5BQ9K5EfnGazQkgU2U4FiN3ITzM7gHwqUAqQ">
33
+
31
34
  <!-- Fonts -->
32
35
  <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
33
36
 
@@ -58,8 +61,8 @@
58
61
  "name": "Knowcode Ltd",
59
62
  "url": "https://knowcode.tech"
60
63
  },
61
- "datePublished": "2025-07-22T06:01:14.269Z",
62
- "dateModified": "2025-07-22T06:01:14.269Z",
64
+ "datePublished": "2025-07-22T07:02:21.503Z",
65
+ "dateModified": "2025-07-22T07:02:21.503Z",
63
66
  "mainEntityOfPage": {
64
67
  "@type": "WebPage",
65
68
  "@id": "https://doc-builder-delta.vercel.app/guides/authentication-guide.html"
@@ -98,7 +101,7 @@
98
101
 
99
102
  <div class="header-actions">
100
103
  <div class="deployment-info">
101
- <span class="deployment-date" title="Built with doc-builder v1.5.2">Last updated: Jul 22, 2025, 06:01 AM UTC</span>
104
+ <span class="deployment-date" title="Built with doc-builder v1.5.4">Last updated: Jul 22, 2025, 07:02 AM UTC</span>
102
105
  </div>
103
106
 
104
107
 
@@ -159,6 +162,7 @@
159
162
  <a href="/guides/authentication-guide.html" class="nav-item active" data-tooltip="This guide explains how to configure and use the built-in authentication feature in @knowcode/doc-builder to protect your documentation with basic..."><i class="fas fa-file-alt"></i> Authentication Guide</a>
160
163
  <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>
161
164
  <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>
165
+ <a href="/guides/google-site-verification-guide.html" class="nav-item" data-tooltip="Google Search Console verification allows you to: Monitor your site&#039;s performance in Google Search Submit sitemaps for better indexing View search..."><i class="fas fa-file-alt"></i> Google Site Verification Guide</a>
162
166
  <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>
163
167
  <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></div></div>
164
168
  </nav>
@@ -28,6 +28,9 @@
28
28
  <meta name="twitter:description" content="Claude + CLAUDE.">
29
29
  <meta name="twitter:image" content="https://doc-builder-delta.vercel.app/og-default.png">
30
30
 
31
+ <!-- Custom Meta Tags -->
32
+ <meta name="google-site-verification" content="FtzcDTf5BQ9K5EfnGazQkgU2U4FiN3ITzM7gHwqUAqQ">
33
+
31
34
  <!-- Fonts -->
32
35
  <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
33
36
 
@@ -58,8 +61,8 @@
58
61
  "name": "Knowcode Ltd",
59
62
  "url": "https://knowcode.tech"
60
63
  },
61
- "datePublished": "2025-07-22T06:01:14.275Z",
62
- "dateModified": "2025-07-22T06:01:14.275Z",
64
+ "datePublished": "2025-07-22T07:02:21.506Z",
65
+ "dateModified": "2025-07-22T07:02:21.506Z",
63
66
  "mainEntityOfPage": {
64
67
  "@type": "WebPage",
65
68
  "@id": "https://doc-builder-delta.vercel.app/guides/claude-workflow-guide.html"
@@ -98,7 +101,7 @@
98
101
 
99
102
  <div class="header-actions">
100
103
  <div class="deployment-info">
101
- <span class="deployment-date" title="Built with doc-builder v1.5.2">Last updated: Jul 22, 2025, 06:01 AM UTC</span>
104
+ <span class="deployment-date" title="Built with doc-builder v1.5.4">Last updated: Jul 22, 2025, 07:02 AM UTC</span>
102
105
  </div>
103
106
 
104
107
 
@@ -159,6 +162,7 @@
159
162
  <a href="/guides/authentication-guide.html" class="nav-item" data-tooltip="This guide explains how to configure and use the built-in authentication feature in @knowcode/doc-builder to protect your documentation with basic..."><i class="fas fa-file-alt"></i> Authentication Guide</a>
160
163
  <a href="/guides/claude-workflow-guide.html" class="nav-item active" data-tooltip="This guide demonstrates an efficient workflow for using Claude Code with a refined CLAUDE.md file to create high-quality documentation and deploy it..."><i class="fas fa-file-alt"></i> Claude Workflow Guide</a>
161
164
  <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>
165
+ <a href="/guides/google-site-verification-guide.html" class="nav-item" data-tooltip="Google Search Console verification allows you to: Monitor your site&#039;s performance in Google Search Submit sitemaps for better indexing View search..."><i class="fas fa-file-alt"></i> Google Site Verification Guide</a>
162
166
  <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>
163
167
  <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></div></div>
164
168
  </nav>