Skip to main content

πŸ“– Documentation Workflow Guide

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.

🎯 Documentation Strategy Overview

Zer0-Mistakes uses a dual documentation architecture that serves two distinct audiences:

  1. Technical Documentation (/docs/) - For developers, contributors, and maintainers
  2. Public Documentation (/pages/_docs/) - For end-users and theme adopters

πŸ“ Directory Usage Decision Tree

graph 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]

πŸ› οΈ Technical Documentation (/docs/)

When to Use /docs/

Content Format: MDX

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>

Testing Implementation

```bash ./test/test_feature.sh ```

### 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

πŸ”„ Content Conversion Pipeline

MDX to Markdown Conversion

Technical documentation in /docs/ can be converted to public documentation:

1. Automated Conversion Script

#!/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

2. Manual Conversion Process

  1. Source Analysis: Review technical MDX content for user-relevant information
  2. Content Extraction: Extract user-facing information and examples
  3. Simplification: Remove implementation details, add explanatory content
  4. Format Conversion: Convert MDX components to standard Markdown
  5. Testing: Verify Jekyll rendering and link functionality

3. Conversion Guidelines

Technical β†’ Public Conversion:

πŸ”§ External Documentation Import

Importing Official Documentation

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/

Processing External Content

  1. Source Filtering: Extract relevant documentation sections
  2. Content Cleanup: Remove external branding and navigation
  3. Integration: Add Zer0-Mistakes front matter and styling
  4. Cross-linking: Add references to theme-specific features
  5. Testing: Verify Jekyll processing and site integration

πŸ“ Writing Guidelines

Technical Documentation Standards

Public Documentation Standards

πŸš€ Publication Workflow

Development Process

  1. Local Development:

    # Start development environment
    docker-compose up
    
    # Test documentation changes
    open http://localhost:4000/docs/
    
  2. Content Review:
    • Technical accuracy validation
    • User experience testing
    • Cross-reference verification
    • Accessibility compliance check
  3. Integration Testing:

    # Validate Jekyll processing
    bundle exec jekyll build
    
    # Test documentation links
    ./scripts/test-doc-links.sh
    
    # Verify MDX conversion
    ./scripts/validate-conversion.sh
    

Publication Pipeline

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]

πŸ€– GitHub Copilot Integration

The documentation system is optimized for AI-assisted development:

Copilot-Optimized Structure

AI Development Assistance

πŸ“Š Quality Assurance

Documentation Testing

# 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

Metrics and Monitoring


Last Updated: November 16, 2025
Maintained By: Zer0-Mistakes Documentation Team

πŸ“š Related Guides: Contributing Guidelines β€’ Technical Documentation Standards β€’ Public Documentation Template