๐Ÿ“ฆ Hub Project Demoยถ

Complete example project demonstrating Hub Mode in action

Overviewยถ

This is a complete example project that demonstrates how Hub Mode discovers and organizes documentation from a typical software project structure.

Project Structure:

The example project includes:

  • README.md - Main project documentation

  • CHANGELOG.md - Version history

  • CONTRIBUTING.md - Contribution guidelines

  • docs/ - Additional documentation files

How Hub Mode Processes This:

When you run Introligo with Hub Mode on this project, it will:

  1. Discover all documentation files automatically

  2. Categorize them into logical sections

  3. Generate a complete Sphinx documentation site

  4. Maintain proper cross-references and navigation

Configuration Fileยถ

The hub project includes its own introligo_config.yaml that demonstrates Hub Mode configuration:

# MyProject Documentation Hub Configuration
# This example demonstrates how Introligo automatically discovers and organizes
# all documentation in a repository into a coherent Sphinx site.

index:
  title: "๐Ÿ“š MyProject Documentation Hub"
  description: "Complete documentation automatically organized from multiple sources"
  overview: |
    Welcome to MyProject! This documentation is automatically generated and organized
    from various sources throughout the repository:

    - README.md provides project overview and quick start
    - CHANGELOG.md tracks version history
    - CONTRIBUTING.md explains how to contribute
    - LICENSE contains legal information
    - docs/ folder contains tutorials and guides

    Everything is automatically discovered and categorized!

# Enable Documentation Hub
discovery:
  enabled: true

  # Scan these directories for documentation
  scan_paths:
    - "."          # Repository root (for README, CHANGELOG, etc.)
    - "docs/"      # Documentation directory

  # Automatically include these document types
  auto_include:
    readme: true          # Find README.md
    changelog: true       # Find CHANGELOG.md
    contributing: true    # Find CONTRIBUTING.md
    license: true         # Find LICENSE
    markdown_docs: "docs/**/*.md"  # All markdown in docs/

  # Exclude these directories from scanning
  exclude_patterns:
    - "node_modules"
    - ".venv"
    - "venv"
    - "build"
    - "_build"
    - ".git"
    - "__pycache__"

# Optional: Sphinx configuration for beautiful output
sphinx:
  project: "MyProject"
  author: "MyProject Contributors"
  copyright_year: "2025"

  # Use Furo theme with Celin palette
  html_theme: "furo"
  palette: "celin"

  html_title: "MyProject Docs"

  # Extensions are auto-detected based on content!
  # Add custom ones if needed:
  extensions:
    - "sphinx.ext.intersphinx"

  intersphinx_mapping:
    python:
      - "https://docs.python.org/3"
      - null

# Optional: Manually add modules (mixed with auto-discovered)
# Uncomment this to add API documentation
# modules:
#   api:
#     title: "๐Ÿ“– API Reference"
#     module: "myproject"
#     description: "Complete API documentation"

Running the Exampleยถ

To try this example yourself:

cd examples/hub_project
python -m introligo introligo_config.yaml -o /tmp/hub_output -v
cd /tmp/hub_output
sphinx-build -b html . _build/html

Then open _build/html/index.html in your browser to see the generated documentation hub.

MyProject - Example Documentation Hubยถ

A demonstration project showing how Introligoโ€™s Hub Mode automatically discovers and organizes documentation.

Featuresยถ

  • ๐Ÿš€ Fast and efficient

  • ๐Ÿ“ฆ Easy to install

  • ๐Ÿ”ง Highly configurable

  • ๐Ÿ“– Well documented

Quick Startยถ

pip install myproject
from myproject import MyClass

# Create instance
obj = MyClass()
result = obj.process()

Installationยถ

Via pipยถ

pip install myproject

From sourceยถ

git clone https://github.com/user/myproject.git
cd myproject
pip install -e .

Documentationยถ

For complete documentation, visit our docs.

Licenseยถ

MIT License - see LICENSE file for details.

Changelogยถ

All notable changes to this project will be documented in this file.

[2.0.0] - 2025-01-15ยถ

Addedยถ

  • New async API support

  • Configuration validation

  • Plugin system

Changedยถ

  • Improved performance by 50%

  • Updated dependencies

Fixedยถ

  • Memory leak in processing loop

  • Thread safety issues

[1.5.0] - 2024-12-01ยถ

Addedยถ

  • Batch processing support

  • Progress callbacks

  • Custom formatters

Fixedยถ

  • Edge case in parser

  • Documentation typos

[1.0.0] - 2024-10-01ยถ

Addedยถ

  • Initial release

  • Core functionality

  • Basic documentation

Contributing to MyProjectยถ

We love your input! We want to make contributing to MyProject as easy and transparent as possible.

Development Processยถ

  1. Fork the repo

  2. Create your feature branch (git checkout -b feature/amazing-feature)

  3. Commit your changes (git commit -m โ€˜Add amazing featureโ€™)

  4. Push to the branch (git push origin feature/amazing-feature)

  5. Open a Pull Request

Code Styleยถ

  • Follow PEP 8

  • Add docstrings to all functions

  • Write tests for new features

  • Keep functions focused and small

Testingยถ

Run tests before submitting:

pytest tests/

Documentationยถ

Update documentation for any changes:

cd docs/
make html

Reporting Bugsยถ

Report bugs by opening an issue. Include: - Steps to reproduce - Expected behavior - Actual behavior - System information

Questions?ยถ

Feel free to open a discussion or contact the maintainers.

Thank you for contributing!