🌐 Live Demo | 📖 Deployment Guide
A visual, interactive website for understanding the ONNX (Open Neural Network Exchange) codebase. This tool helps developers explore ONNX's architecture from a high level down to detailed implementation specifics.
Note: This is a standalone documentation website, separate from the main ONNX repository. It analyzes and visualizes the ONNX codebase structure without modifying the original source code.
The ONNX Codebase Explorer provides:
- Top-Down Navigation - Start with high-level concepts and drill down to code details
- Interactive Architecture Maps - Visual representation of the codebase structure
- Module Documentation - Detailed information about each ONNX component
- Code Flow Diagrams - Understanding how different parts connect
- Searchable Documentation - Find specific functions, classes, or concepts quickly
The website uses a zoom-level approach to understanding:
- Level 1: 🌍 High Level - What is ONNX, core concepts, ecosystem overview
- Level 2: 🏗️ Architecture - Repository structure, main modules, relationships
- Level 3: 🔧 Modules - Detailed module exploration, APIs, classes
- Level 4: 📝 Code - Implementation details, algorithms, code patterns
ONNX Codebase Explorer
├── Overview - What is ONNX, key stats, high-level diagram
├── Architecture - Repository structure, module relationships
├── Modules - Detailed module breakdown and APIs
├── APIs - Complete API reference with examples
└── Implementation - Low-level details, algorithms, patterns
onnx_codebase_docs/
├── index.html # Main HTML structure
├── styles.css # CSS styling and responsive design
├── script.js # JavaScript functionality and data
└── README.md # This documentation
- Responsive Design - Works on desktop, tablet, and mobile
- Interactive Navigation - Smooth transitions between sections
- Zoom Controls - Different detail levels for exploration
- Directory Tree - Visual file structure browser
- Module Grid - Organized view of core components
- Mermaid Diagrams - Automatic diagram rendering
- Search Interface - Ready for content search
- Breadcrumb Navigation - Track your exploration path
The website includes comprehensive data about the ONNX codebase:
- 3,198 total backend tests broken down by category
- 12 core modules with descriptions and relationships
- Complete directory structure with purpose explanations
- Protocol buffer definitions and their roles
- Key APIs and functions categorized by complexity
- HTML5 - Semantic structure
- CSS3 - Modern styling with Grid and Flexbox
- Vanilla JavaScript - No framework dependencies
- Mermaid.js - Diagram rendering
- Prism.js - Syntax highlighting
- D3.js - Interactive visualizations (ready for use)
The codebase information is stored in JavaScript objects:
const onnxCodebase = {
overview: { /* High-level stats and info */ },
architecture: { /* Repository structure */ },
modules: { /* Detailed module information */ },
protocolBuffers: { /* Protocol buffer files */ }
};The website adapts to different screen sizes:
- Desktop (>1024px) - Full sidebar, multi-column layouts
- Tablet (768-1024px) - Collapsible sidebar, adjusted grids
- Mobile (<768px) - Stacked layout, touch-friendly navigation
- Primary:
#667eea- ONNX blue theme - Secondary:
#764ba2- Purple accent - Success:
#66cc99- Green for completed/working elements - Warning:
#ff6b35- Orange for attention items - Background:
#fafafa- Light gray
- 🐍 Python modules - Blue theme
- 📚 Documentation - Green theme
- 💡 Examples - Orange theme
- 🔧 Tools - Purple theme
- ONNX introduction and purpose
- Architecture overview with interactive diagram
- Key statistics (3,198 tests, 12 modules, 194k+ lines)
- Component breakdown
- Interactive directory tree
- Module relationship grid
- Repository structure visualization
- Build system overview
The website is designed to be extensible. Planned additions:
- Deep Code Browser - Actual code viewing with syntax highlighting
- Interactive Dependency Graphs - D3.js visualizations of module relationships
- API Documentation - Auto-generated from docstrings
- Code Flow Diagrams - Visual representation of execution paths
- Search Functionality - Full-text search across all content
- Tutorial Integration - Step-by-step walkthroughs
- Performance Metrics - Code complexity and performance data
Visit the live site: https://armahnii2000.github.io/onnx-codebase-explorer
-
Clone this repository
git clone https://github.com/armahnii2000/onnx-codebase-explorer.git cd onnx-codebase-explorer -
Start a local server
# Option 1: Python python -m http.server 8080 # Option 2: Node.js npx serve .
-
Open in browser: http://localhost:8080
- Navigate using the top menu - Overview → Architecture → Modules → APIs → Implementation
- Use zoom controls in the sidebar to adjust detail level
- Click on components to explore specific modules
- Use breadcrumbs to track your exploration path
- Update the data structure in
script.js - Add corresponding HTML sections if needed
- Update navigation and TOC functions
- Test responsive behavior
- Colors: Modify CSS custom properties in
:root - Content: Update the
onnxCodebaseobject in JavaScript - Layout: Adjust CSS Grid and Flexbox in
styles.css
- Minimal dependencies - Only essential libraries
- Optimized images - SVG icons, compressed assets
- Efficient rendering - CSS transforms, minimal reflows
- Progressive loading - Content loads as needed
✅ Top-down exploration - From concepts to code
✅ Interactive navigation - Smooth, responsive interface
✅ Visual architecture maps - Clear codebase structure
✅ Comprehensive data - Real ONNX codebase information
✅ Responsive design - Works on all devices
✅ Extensible framework - Ready for additional features
Contributions are welcome! This project helps the ONNX community understand the codebase better.
- Add new sections - Expand module documentation
- Update ONNX data - Keep information current as ONNX evolves
- Improve visualizations - Add interactive diagrams or code flows
- Fix bugs - Report issues or submit fixes
- Enhance design - UI/UX improvements
- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Make changes and test locally
- Submit a pull request
MIT License - see LICENSE file for details.
- ONNX Community - For creating an amazing open-source ML framework
- Mermaid.js - For beautiful diagram rendering
- D3.js - For powerful data visualization capabilities
Built for ONNX developers who want to understand the codebase architecture and relationships between components. This tool transforms complex code exploration into an intuitive, visual experience.
⭐ Star this repository if it helps you understand ONNX better!