# LikeC4 Architecture Documentation Integration This directory contains the LikeC4 architecture models and views that power the interactive architecture diagrams throughout this documentation. ## What is LikeC4? LikeC4 is a tool for creating interactive C4 architecture diagrams as code. It generates web components that can be embedded directly into web pages, providing an interactive way to explore complex system architectures. ## Directory Structure ``` resources/likec4/ ├── models/ # C4 model definitions (.c4 files) │ ├── components/ # Component-level models │ ├── containers/ # Container-level models │ ├── context/ # System context models │ └── code/ # Code-level workflow models ├── views/ # View definitions │ ├── deployment/ # Deployment architecture views │ ├── edp/ # EDP-specific views │ ├── high-level-concept/ # Conceptual views │ └── dynamic/ # Dynamic process views ├── deployment/ # Deployment-specific models ├── doc/ # Documentation and screenshots ├── package.json # Node.js dependencies └── README.md # This file ``` ## Generating Web Components To generate the web component that Hugo can use: ```bash cd resources/likec4 # Install dependencies (first time only) npm install # Generate the web component npx likec4 codegen webcomponent \ --webcomponent-prefix likec4 \ --outfile ../../static/js/likec4-webcomponent.js ``` This creates `static/js/likec4-webcomponent.js` which contains all your architecture views as an interactive web component. ## Using in Hugo Content ### Using the Shortcode (Recommended) The simplest way to embed diagrams: ```markdown ## Architecture Overview {{< likec4-view view="otc-faas" project="architecture" title="OTC FaaS Deployment Architecture" >}} ``` **Parameters:** - `view` (required) - The view ID from your LikeC4 model - `project` (optional, default: "architecture") - The LikeC4 project name - `title` (optional, default: "Architecture View: {view}") - Custom header text ### Manual HTML (Alternative) If you need more control: ```markdown
System Architecture - High Level View
Loading architecture diagram...
{{< alert title="Note" >}} The diagram above is interactive. Click on components to explore details. {{< /alert >}} ``` ## Available Views To discover available view IDs: ```bash # Search for all view definitions in .c4 files cd resources/likec4 grep -r "view\s\+\w" views/ models/ --include="*.c4" ``` Common view IDs include: - `otc-faas` - OTC FaaS Deployment Architecture - `edp` - EDP Main Overview - `landscape` - Developer Landscape - `edpbuilderworkflow` - EDP Builder Workflow - And many more... ## Workflow for Changes 1. **Edit Models**: Modify `.c4` files in `models/` or `views/` 2. **Regenerate**: Run the codegen command (see above) 3. **Test**: Start Hugo dev server and check your pages 4. **Commit**: Commit both the `.c4` changes and regenerated JS file ## Integration with Hugo The integration is enabled via: - `hugo.toml` - Configuration parameter `params.likec4.enable = true` - `layouts/partials/hooks/head-end.html` - Loads CSS and JS - `static/css/likec4-styles.css` - Styling for diagrams - `static/js/likec4-loader.js` - Dynamic loading logic - `static/js/likec4-webcomponent.js` - Generated web component (you create this) ## Migrated from edp-doc This content was migrated from the edp-doc repository with full Git history preserved. This repository is now the primary source for LikeC4 architecture documentation. ## More Information - [LikeC4 Documentation](https://likec4.dev/) - [C4 Model](https://c4model.com/)