@@ -135,11 +135,94 @@ Each folder contains `_category_.json`:
135135
136136---
137137
138+ # # Frontmatter Naming Convention
139+ **CRITICAL RULE**: All custom frontmatter fields MUST use `snake_case`. Never use camelCase for custom frontmatter.
140+ - ✅ Correct : ` published_at` , `proficiency_level`, `external_url`, `img_alt`, `repository_url`, `license_url`
141+ - ❌ Wrong : ` publishedAt` , `proficiencyLevel`, `externalUrl`, `imgAlt`, `repositoryUrl`, `licenseUrl`
142+ - Standard Docusaurus fields (e.g., `title`, `description`, `slug`) remain as-is.
143+ - Tag values in guides and samples MUST use `kebab-case` (e.g., `vector-search`, `azure-storage-queues-etl`).
144+
145+ ---
146+
138147# # Guides
139148- Tags defined in `guides/tags.yml` (~40 predefined tags — do not invent new ones without adding there first).
140- - Guide-specific frontmatter : ` tags` , `description`, `icon`, `image`, `publishedAt ` (ISO date), `externalUrl `.
149+ - Guide-specific frontmatter : ` tags` , `description`, `icon`, `image`, `published_at ` (ISO date), `external_url`, `proficiency_level`, `author `.
141150- Indexed and sorted by `src/plugins/recent-guides-plugin.ts`.
142151
152+ # ## Guides Frontmatter Example
153+ ` ` ` yaml
154+ ---
155+ title: "Guide Title"
156+ published_at: 2026-04-02
157+ author: "Author Name"
158+ tags: [ai, vector-search, getting-started]
159+ description: "Short description shown in cards."
160+ image: "/img/guides-example.webp"
161+ proficiency_level: "Beginner"
162+ ---
163+ ` ` `
164+
165+ For external guides (linking to blog posts) :
166+ ` ` ` yaml
167+ ---
168+ title: "External Article Title"
169+ published_at: 2026-04-02
170+ tags: [integration]
171+ description: "Short description."
172+ external_url: "https://ravendb.net/articles/example"
173+ image: "https://ravendb.net/path/to/image.jpg"
174+ ---
175+ ` ` `
176+
177+ ---
178+
179+ # # Samples
180+ - Production-ready code samples demonstrating RavenDB features and architecture patterns.
181+ - Located in `samples/` directory.
182+ - Three-category tag system : Challenges & Solutions, Features, Tech Stack.
183+ - Tags defined in `samples/tags/` YAML files — do not invent new ones without adding there first.
184+ - Indexed by `src/plugins/recent-samples-plugin.ts`.
185+ - Hub page at `/samples` with filtering by tags.
186+
187+ # ## Sample Tag Categories
188+ 1. **Challenges & Solutions** (`samples/tags/challenges-solutions.yml`) - Business problems the sample solves
189+ - Examples : ` semantic-search` , `integration-patterns`, `cloud-tax`, `gen-ai-data-enrichment`
190+
191+ 2. **Features** (`samples/tags/feature.yml`) - RavenDB features demonstrated
192+ - Examples : ` vector-search` , `document-refresh`, `include`, `azure-storage-queues-etl`
193+
194+ 3. **Tech Stack** (`samples/tags/tech-stack.yml`) - Technologies used
195+ - Examples : ` csharp` , `aspire`, `azure-functions`, `nodejs`, `nextjs`
196+
197+ # ## Sample Frontmatter Example
198+ ` ` ` yaml
199+ ---
200+ title: "Sample Application Name"
201+ description: "Brief description for sample cards."
202+ challenges_solutions_tags: [semantic-search, integration-patterns]
203+ feature_tags: [vector-search, document-refresh, include]
204+ tech_stack_tags: [csharp, aspire, azure-functions]
205+ image: "/img/samples/my-sample/cover.webp"
206+ img_alt: "Screenshot of the application"
207+ category: "Ecommerce"
208+ license: "MIT License"
209+ license_url: "https://opensource.org/licenses/MIT"
210+ repository_url: "https://github.com/ravendb/sample-repo"
211+ languages: ["C#"]
212+ gallery:
213+ - src: "/img/samples/my-sample/screenshot-1.webp"
214+ alt: "Main interface"
215+ - src: "/img/samples/my-sample/screenshot-2.webp"
216+ alt: "Admin dashboard"
217+ ---
218+ ` ` `
219+
220+ **Required fields**: `title`, `description`, `challenges_solutions_tags`, `feature_tags`, `tech_stack_tags`
221+
222+ **Optional fields**: `image`, `img_alt`, `category`, `license`, `license_url`, `repository_url`, `languages`, `gallery`
223+
224+ **SEO**: `repository_url` and `languages` feed `SoftwareSourceCode` JSON-LD schema for better search visibility.
225+
143226---
144227
145228# # Icon System
@@ -377,11 +460,31 @@ Each folder contains `_category_.json`:
377460# ## `cloud/` — RavenDB Cloud service documentation (~24 files)
378461Account management, instance configuration, security (TLS, MFA, certificates), pricing/billing, scaling, backup/restore, migration, AWS/Azure Marketplace setup, and the cloud portal UI (home, products, billing, backups, support tabs).
379462
380- # ## `guides/` — Practical how-to guides (~63 files, flat structure)
381- Community guides covering : connecting specific frameworks (ASP.NET Core, Next.js, SvelteKit, FastAPI), AI/ML integration, DevOps (Docker, Kubernetes/EKS, Helm, Ansible), observability (Datadog, Grafana/OpenTelemetry), data pipelines (Elasticsearch, Azure Queue, OLAP ETL), testing (unit test drivers for .NET/Java/Python), and troubleshooting specific problems. Tags defined in `guides/tags.yml`.
463+ # ## `guides/` — Practical how-to guides (~64 files, flat structure)
464+ Community guides covering : connecting specific frameworks (ASP.NET Core, Next.js, SvelteKit, FastAPI), AI/ML integration, DevOps (Docker, Kubernetes/EKS, Helm, Ansible), observability (Datadog, Grafana/OpenTelemetry), data pipelines (Elasticsearch, Azure Queue, OLAP ETL), testing (unit test drivers for .NET/Java/Python), and troubleshooting specific problems.
465+
466+ **Frontmatter**: `title`, `published_at`, `author`, `tags`, `description`, `icon`, `image`, `proficiency_level`, `external_url` (for external guides).
467+
468+ **Tags**: Defined in `guides/tags.yml` (~40 predefined tags — do not invent new ones without adding there first). All tag values use kebab-case.
469+
470+ **Indexed by**: `src/plugins/recent-guides-plugin.ts`
471+
472+ # ## `samples/` — Production-ready code samples (~1+ files)
473+ Production-ready code samples, architecture patterns, and starter kits demonstrating RavenDB features and integration scenarios. Hub page at `/samples` with tag-based filtering.
474+
475+ **Frontmatter**: `title`, `description`, `challenges_solutions_tags`, `feature_tags`, `tech_stack_tags`, `image`, `img_alt`, `category`, `license`, `license_url`, `repository_url`, `languages`, `gallery`.
476+
477+ **Tags**: Three categories defined in `samples/tags/`:
478+ - ` challenges-solutions.yml` - Business problems solved (e.g., `semantic-search`, `integration-patterns`)
479+ - ` feature.yml` - RavenDB features demonstrated (e.g., `vector-search`, `document-refresh`)
480+ - ` tech-stack.yml` - Technologies used (e.g., `csharp`, `aspire`, `azure-functions`)
481+
482+ All tag values use kebab-case.
483+
484+ **Indexed by**: `src/plugins/recent-samples-plugin.ts`
382485
383486# ## `templates/` — Authoring reference templates (~9 files)
384- Style guide and live examples for documentation building blocks : ContentFrame/Panel layouts, icon gallery, themed images, tag reference, see-also cross-links, featured/new guide blocks.
487+ Style guide and live examples for documentation building blocks : ContentFrame/Panel layouts, icon gallery, themed images, tag reference, see-also cross-links, featured/new guide blocks, sample authoring templates .
385488
386489---
387490
0 commit comments