Skip to content

Enhance mdBook documentation site with unified branding and download integration #93

Description

@coderabbitai

Docs: Implement oranda integration for unified project site

Overview

Implement oranda to create a unified project website that integrates the existing mdBook documentation with cargo-dist release artifacts, providing users with a seamless experience from project discovery to download to documentation.

Current State Analysis

Already Implemented:

  • mdBook documentation fully configured with comprehensive setup
  • cargo-dist release system configured and working (v0.29.0)
  • GitHub Pages deployment workflow operational
  • rustdoc API documentation integration
  • Comprehensive documentation structure with multiple sections

Missing Components:

  • oranda configuration (oranda.json)
  • oranda integration in GitHub Pages workflow
  • Unified site generation combining existing components

Simplified Implementation Plan

Phase 1: Oranda Configuration

  • Create oranda.json configuration file
  • Configure integration with existing mdBook content in docs/ directory
  • Set up cargo-dist artifact integration for download buttons
  • Configure project metadata and branding

Phase 2: Workflow Integration

  • Modify existing .github/workflows/docs.yml to use oranda
  • Ensure oranda builds with existing mdBook content
  • Maintain rustdoc API documentation integration
  • Test local oranda build before deployment

Phase 3: Validation & Polish

  • Validate all existing functionality is preserved
  • Test download buttons for all supported platforms
  • Ensure SEO and social media card configuration
  • Verify mobile responsiveness

Technical Implementation

Required oranda.json Configuration

{
  "build": {
    "path_prefix": "/gold_digger"
  },
  "project": {
    "name": "Gold Digger",
    "repository": "https://github.com/unclesp1d3r/gold_digger",
    "homepage": "https://unclesp1d3r.github.io/gold_digger",
    "description": "A powerful MySQL/MariaDB query tool with structured output for penetration testers and security professionals"
  },
  "marketing": {
    "social": {
      "image": "assets/social-card.png"
    }
  },
  "components": {
    "mdbook": {
      "path": "./docs"
    },
    "artifacts": {
      "cargo_dist": true
    }
  }
}

Updated GitHub Workflow

The existing .github/workflows/docs.yml needs modification to:

  1. Install oranda CLI
  2. Build oranda site instead of direct mdBook
  3. Maintain existing rustdoc integration
  4. Deploy oranda output to GitHub Pages

Minimal Changes Required

  • Add oranda.json to project root
  • Update docs.yml workflow to use oranda
  • All existing mdBook configuration and content can remain unchanged
  • cargo-dist integration will be automatic via oranda

Success Criteria

  • oranda.json configuration created and functional
  • Existing mdBook documentation accessible through oranda
  • Download buttons appear for all cargo-dist release targets
  • GitHub Pages deploys unified oranda site
  • All existing documentation features preserved (search, navigation, etc.)
  • API documentation remains accessible at /api/ path
  • Social media cards and SEO optimization working

Implementation Estimate

Time Required: 2-4 hours
Complexity: Low-Medium (mostly configuration changes)
Risk: Low (existing functionality preserved)

Next Steps

  1. Create oranda.json with basic configuration
  2. Test oranda build locally
  3. Update GitHub workflow
  4. Deploy and validate functionality

Related Issues

The implementation is significantly simpler than originally outlined since the foundational components (mdBook, cargo-dist, GitHub Pages) are already fully functional.

Metadata

Metadata

Assignees

Labels

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions