πŸ’Ό Use CasesΒΆ

Documentation for πŸ’Ό Use Cases.

Real-world examples of how to use markdown includes effectively.

1️⃣ Including Project READMEΒΆ

🎯 Use Case¢

Share your project’s main README.md in the documentation overview.

πŸ“ ConfigurationΒΆ

modules:
  overview:
    title: "πŸ“š Project Overview"
    description: "Project overview from README"
    markdown_includes: "../../README.md"

βœ… BenefitsΒΆ

  • Single source of truth for project information

  • Automatically stays up-to-date

  • No need to maintain duplicate content

β€”

2️⃣ User Guide SeriesΒΆ

🎯 Use Case¢

Create comprehensive user documentation from multiple markdown files.

πŸ“ ConfigurationΒΆ

modules:
  user_guide:
    title: "πŸ“– User Guide"
    description: "Complete user documentation"
    markdown_includes:
      - "markdown/getting_started.md"
      - "markdown/advanced_usage.md"
      - "markdown/troubleshooting.md"

βœ… BenefitsΒΆ

  • Organized, modular documentation

  • Easy to maintain individual sections

  • Clear separation of topics

β€”

3️⃣ API Documentation EnhancementΒΆ

🎯 Use Case¢

Enhance auto-generated API docs with detailed examples from markdown.

πŸ“ ConfigurationΒΆ

modules:
  api:
    title: "πŸ”§ API Reference"
    module: "myproject.api"
    description: "Complete API documentation"
    # Autodoc generates API reference
    # Markdown adds detailed examples
    markdown_includes: "markdown/api_examples.md"

βœ… BenefitsΒΆ

  • Combine automated and manual documentation

  • Add context and examples to API reference

  • Keep examples separate and maintainable

β€”

4️⃣ Contributing GuidelinesΒΆ

🎯 Use Case¢

Include your CONTRIBUTING.md in the developer documentation.

πŸ“ ConfigurationΒΆ

modules:
  contributing:
    title: "🀝 Contributing"
    description: "How to contribute to this project"
    markdown_includes: "../../CONTRIBUTING.md"

βœ… BenefitsΒΆ

  • Single CONTRIBUTING.md for both GitHub/GitLab/Bitbucket and docs

  • Always in sync

  • Developers see it in documentation too

β€”

5️⃣ Multi-language DocumentationΒΆ

🎯 Use Case¢

Document both Python and C/C++ components in one project.

πŸ“ ConfigurationΒΆ

modules:
  python_api:
    title: "🐍 Python API"
    module: "myproject"
    markdown_includes: "markdown/python_guide.md"

  cpp_api:
    title: "⚑ C++ API"
    language: cpp
    doxygen_files:
      - "mylib.h"
      - "mylib.cpp"
    markdown_includes: "markdown/cpp_guide.md"

βœ… BenefitsΒΆ

  • Consistent documentation across languages

  • Additional context for each language

  • Unified documentation structure

β€”

6️⃣ Tutorial SeriesΒΆ

🎯 Use Case¢

Create step-by-step tutorials with markdown files.

πŸ“ ConfigurationΒΆ

modules:
  tutorials:
    title: "πŸŽ“ Tutorials"
    description: "Step-by-step learning path"

  tutorial_basics:
    parent: "tutorials"
    title: "1️⃣ Basics"
    markdown_includes: "tutorials/01_basics.md"

  tutorial_advanced:
    parent: "tutorials"
    title: "2️⃣ Advanced"
    markdown_includes: "tutorials/02_advanced.md"

βœ… BenefitsΒΆ

  • Numbered, sequential tutorials

  • Each tutorial in its own file

  • Easy to add new tutorials

β€”

7️⃣ Changelog IntegrationΒΆ

🎯 Use Case¢

Include your CHANGELOG.md in the documentation.

πŸ“ ConfigurationΒΆ

modules:
  changelog:
    title: "πŸ“‹ Changelog"
    description: "Version history and changes"
    markdown_includes: "../../CHANGELOG.md"

βœ… BenefitsΒΆ

  • Single changelog file

  • Visible in documentation

  • Track changes in version control

β€”

8️⃣ FAQ SectionΒΆ

🎯 Use Case¢

Maintain FAQ in markdown, include in documentation.

πŸ“ ConfigurationΒΆ

modules:
  faq:
    title: "❓ FAQ"
    description: "Frequently Asked Questions"
    markdown_includes: "markdown/faq.md"

βœ… BenefitsΒΆ

  • Easy to update FAQ

  • Searchable in documentation

  • Can be maintained by non-developers

β€”

🎯 Choosing the Right Approach¢

Use Markdown Includes When:ΒΆ

  • βœ… You already have markdown documentation

  • βœ… Content needs to be maintained separately

  • βœ… Multiple people edit the documentation

  • βœ… Want to reuse content across projects

Use YAML Configuration When:ΒΆ

  • βœ… Simple, structured information

  • βœ… Close integration with module definitions

  • βœ… Automated API documentation

  • βœ… Consistent formatting across all modules

Best of Both Worlds:ΒΆ

  • 🌟 Use YAML for structure and metadata

  • 🌟 Use markdown includes for detailed content

  • 🌟 Combine both for comprehensive documentation!