Content Structure Documentation
This document describes the content organization and structure for the nclsbayona.github.io blog.
Directory Structure
| |
Content Types
Blog Posts (content/post/)
Blog posts are the primary content type, organized by topic category.
Location Pattern: content/post/<category>/<post-slug>/index.md
Example:
| |
Required Frontmatter:
| |
Static Pages (content/page/)
Static pages for special functionality or informational content.
Location Pattern: content/page/<page-name>/_index.md
Current Pages:
- about: Personal/professional information
- archives: Chronological post listing
- quote: Daily inspirational quote (auto-updated)
- search: Site-wide search interface
Example Frontmatter:
| |
Categories (content/categories/)
Category definitions with descriptions and metadata.
Location Pattern: content/categories/<category-name>/_index.md
Example:
| |
Current Categories:
- Kubernetes: Container orchestration
- Containers: Container technology and Docker
- Cybersecurity: Security practices and tools
- Networking: Network concepts and protocols
- Tutorials: Step-by-step guides
Frontmatter Reference
Common Fields
| Field | Type | Required | Description |
|---|---|---|---|
title | string | ✅ | Post/page title (50-60 chars for SEO) |
description | string | ✅ | Brief summary (150-160 chars for SEO) |
date | date | ✅ | Publication date (YYYY-MM-DD) |
slug | string | ✅ | URL-friendly identifier |
categories | list | ✅ | Post categories (1-2 recommended) |
tags | list | ⚠️ | Relevant tags (3-7 recommended) |
image | string | ⚠️ | Featured/cover image filename |
draft | boolean | ⚠️ | Draft status (default: false) |
Optional Fields
| Field | Type | Description |
|---|---|---|
author | string | Post author (defaults to site author) |
lastmod | date | Last modified date |
keywords | list | Additional SEO keywords |
weight | number | Ordering weight (lower = higher priority) |
menu | object | Menu configuration for pages |
comments | boolean | Enable/disable comments (default: true) |
toc | boolean | Enable/disable table of contents |
math | boolean | Enable math typesetting |
Advanced Fields
| |
Content Guidelines
Writing Style
- Tone: Professional yet approachable
- Audience: Developers, DevOps engineers, technical practitioners
- Length: 800-2000 words for comprehensive coverage
- Structure: Clear headings, bullet points, code examples
Formatting Standards
Headings
Use semantic heading hierarchy:
| |
Code Blocks
Always specify language for syntax highlighting:
| |
Supported languages: go, python, javascript, bash, yaml, dockerfile, json, toml, etc.
Images
Local Images (preferred):
| |
External Images (when necessary):
| |
Image Optimization:
- Use WebP or JPEG format
- Compress to < 200KB per image
- Provide descriptive alt text
- Use responsive images via Hugo’s image processing
Links
Internal Links:
| |
External Links:
| |
Lists
Unordered:
| |
Ordered:
| |
Tables
| |
Callouts/Alerts
Use blockquotes for emphasis and callouts:
| |
Or use custom HTML if supported by your theme:
| |
SEO Best Practices
- Title: Include primary keyword, keep under 60 characters
- Description: Compelling summary with keywords, 150-160 characters
- Slug: Short, keyword-rich, hyphen-separated
- Headings: Use H2-H4 with keywords naturally incorporated
- Images: Descriptive filenames and alt text
- Internal Links: Link to 2-3 related posts
- External Links: Link to authoritative sources
Content Checklist
Before publishing:
- Title is descriptive and includes primary keyword
- Description is compelling and within character limit
- Slug is SEO-friendly
- Appropriate category selected
- 3-7 relevant tags added
- Featured image added (if applicable)
- All code examples tested and working
- All links verified and working
- Images optimized and have alt text
- Grammar and spelling checked
- Heading hierarchy is logical
- Table of contents is helpful (if enabled)
- Draft status set to
false
Naming Conventions
File Names
- Use lowercase
- Use hyphens for spaces
- Be descriptive but concise
- Match slug in frontmatter
Good:
kubernetes-security-best-practicesdocker-container-optimizationci-cd-pipeline-guide
Bad:
my-post-1Blog_Post_Titlekubernetes
Image Names
- Descriptive names
- Lowercase with hyphens
- Include context
Good:
kubernetes-architecture-diagram.pngdeployment-workflow.jpgsecurity-checklist-table.png
Bad:
image1.pngScreenshot 2024-02-11.pngIMG_0042.jpg
Category Names
- Title case
- Singular or plural consistently
- Match industry terminology
Current Standard: Lowercase folders, Title Case in frontmatter
Content Categories
Existing Categories
| Category | Description | Post Count |
|---|---|---|
| Fundamentals | Core concepts and basics | Multiple |
| Kubernetes | K8s orchestration and management | Multiple |
| Containers | Container technology (Docker, etc.) | Multiple |
| Cybersecurity | Security practices and tools | Multiple |
| Networking | Network concepts and protocols | Multiple |
| Tutorials | Step-by-step guides | Multiple |
Adding New Categories
- Create category folder:
content/categories/<category-name>/ - Create
_index.mdwith frontmatter and description - Use category in post frontmatter
- Update this documentation
Tags
Tag Guidelines
- Quantity: 3-7 tags per post
- Specificity: Balance general and specific tags
- Consistency: Reuse existing tags when possible
- Format: Lowercase, hyphenated multi-word tags
Common Tags
kubernetes,docker,containerssecurity,devops,devsecopsbest-practices,tutorials,architectureci-cd,automation,infrastructurecloud-native,microservices,monitoring
URLs and Permalinks
URL structure is configured in config/_default/permalinks.toml:
| |
Example URLs:
- Post:
https://nclsbayona.github.io/p/kubernetes-security/ - Page:
https://nclsbayona.github.io/about/ - Category:
https://nclsbayona.github.io/categories/kubernetes/ - Tag:
https://nclsbayona.github.io/tags/security/
Creating New Content
New Blog Post
| |
New Category
| |
New Page
| |
Related Documentation
- CONTRIBUTING.md - Contribution guidelines
- DEVELOPMENT.md - Development setup
- .github/instructions/POLISHING.instructions.md - Content quality standards
Questions?
For questions about content structure or suggestions:
- Open an issue with the “documentation” or “content” label
- Review existing posts for examples
- Check Hugo documentation: https://gohugo.io/content-management/