This guide explains how to contribute to the Zer0-Mistakes documentation ecosystem, including when to use each documentation directory, content formats, and the conversion pipeline between technical and public documentation.
Zer0-Mistakes uses a dual documentation architecture that serves two distinct audiences:
/docs/) - For developers, contributors, and maintainers/pages/_docs/) - For end-users and theme adoptersgraph TD
A[New Documentation Content] --> B{Who is the primary audience?}
B -->|Developers & Contributors| C[Technical Implementation?]
B -->|End Users & Theme Adopters| D[General Technology Guide?]
C -->|Yes - Build processes, architecture| E[/docs/ - MDX Format]
C -->|No - User-focused tutorials| F[/pages/_docs/ - Markdown]
D -->|Yes - Jekyll, Bootstrap basics| F
D -->|No - Repository-specific| G{Content Type?}
G -->|Feature usage for users| F
G -->|Feature implementation| E
E --> H[Rich MDX with components]
F --> I[Standard Markdown]
/docs/)/docs/Technical documentation uses MDX format for rich, interactive content:
---
title: "Feature Implementation Guide"
description: "Technical implementation of theme features"
type: "technical-documentation"
audience: "developers"
last_updated: "2025-11-16"
---
# Feature Implementation Guide
## Architecture Overview
This feature integrates with the Jekyll build process through:
<CodeBlock language="ruby">
```ruby
module JekyllThemeZer0
class FeatureGenerator < Jekyll::Generator
def generate(site)
# Implementation details
end
end
end
</CodeBlock>
### File Organization
/docs/ βββ systems/ # Infrastructure & automation βββ features/ # Component implementation βββ configuration/ # Development setup βββ releases/ # Version management βββ jekyll/ # Jekyll-specific technical docs βββ templates/ # Documentation templates βββ _includes/ # Reusable MDX components
## π Public Documentation (`/pages/_docs/`)
### When to Use `/pages/_docs/`
- **User tutorials** and getting started guides
- **Theme customization** instructions for end-users
- **General technology guides** (Jekyll basics, Bootstrap usage)
- **Configuration examples** for typical use cases
- **Troubleshooting guides** for common user issues
- **API references** and option documentation
- **External documentation** imports (Jekyll docs, Bootstrap docs)
### Content Format: Markdown
Public documentation uses **standard Markdown** for Jekyll compatibility:
````markdown
---
title: "Getting Started with Theme Customization"
description: "Learn how to customize the Zer0-Mistakes theme"
layout: default
categories: [tutorials, customization]
tags: [jekyll, theme, bootstrap]
permalink: /docs/customization-guide/
---
# Getting Started with Theme Customization
This guide walks you through customizing the Zer0-Mistakes theme for your site.
## Basic Configuration
Edit your `_config.yml` file to customize theme settings:
```yaml
# Site configuration
title: "Your Site Name"
description: "Your site description"
# Theme settings
theme_config:
navbar_style: "dark"
enable_sidebar: true
## Customizing Colors
Override Bootstrap variables in your custom CSS:
```css
:root {
--bs-primary: #your-color;
--bs-secondary: #your-secondary-color;
}
```
```
### File Organization
```
/pages/\_docs/
βββ index.md # Documentation library index
βββ jekyll/ # Jekyll user guides
βββ bootstrap/ # Bootstrap usage guides
βββ customization/ # Theme customization
βββ deployment/ # Hosting and deployment
βββ troubleshooting/ # Common issues and solutions
Technical documentation in /docs/ can be converted to public documentation:
#!/bin/bash
# scripts/convert_docs.sh
# Convert technical MDX to public Markdown
./scripts/mdx-to-markdown.sh \
--source docs/features/component-guide.mdx \
--output pages/_docs/customization/components.md \
--audience user \
--strip-technical-details \
--add-user-examples
Technical β Public Conversion:
Import external documentation using git submodules:
# Import Jekyll documentation
git submodule add https://github.com/jekyll/jekyll.git external/jekyll-docs
# Configure sparse checkout for relevant sections
cd external/jekyll-docs
git sparse-checkout init --cone
git sparse-checkout set docs/_docs
# Process and integrate
./scripts/import-external-docs.sh jekyll-docs docs/_docs pages/_docs/jekyll/
Local Development:
# Start development environment
docker-compose up
# Test documentation changes
open http://localhost:4000/docs/
Integration Testing:
# Validate Jekyll processing
bundle exec jekyll build
# Test documentation links
./scripts/test-doc-links.sh
# Verify MDX conversion
./scripts/validate-conversion.sh
graph LR
A[Write Documentation] --> B[Local Testing]
B --> C[Content Review]
C --> D[Integration Testing]
D --> E[Pull Request]
E --> F[Automated CI/CD]
F --> G[Deploy to GitHub Pages]
G --> H[Published Documentation]
The documentation system is optimized for AI-assisted development:
# Run documentation test suite
./test/test_documentation.sh
# Validate external links
./test/test_external_links.sh
# Check MDX to Markdown conversion
./test/test_conversion_pipeline.sh
# Verify Jekyll processing
./test/test_jekyll_build.sh
Last Updated: November 16, 2025
Maintained By: Zer0-Mistakes Documentation Team
π Related Guides: Contributing Guidelines β’ Technical Documentation Standards β’ Public Documentation Template