eDF documentation-as-code repository. Also 'website' as based on Hugo it is rendered statically. https://docs.edp.buildth.ing/
Find a file
Stephan Lo 8785b327dd feat(docs): integrate LikeC4 interactive diagrams into Hugo/Docsy
Implement complete integration of LikeC4 interactive architecture
diagrams into the Hugo/Docsy documentation system, enabling embedded
web components for exploring C4 models directly in documentation pages.

Integration Components:

Static Assets:
- static/js/likec4-webcomponent.js (3.1 MB) - Generated web component
  containing all 54 C4 views as interactive embeddable elements
- static/js/likec4-loader.js - Dynamic ES6 module loader with fallback
  paths for robust component loading across different page depths
- static/css/likec4-styles.css - Styling for diagram containers with
  dark mode support for Docsy theme compatibility

Hugo Configuration:
- hugo.toml - Added params.likec4.enable configuration flag
- layouts/partials/hooks/head-end.html - Hook to inject CSS and JS
  when LikeC4 is enabled site-wide

Documentation:
- content/en/docs/architecture/_index.md - Architecture section index
- content/en/docs/architecture/highlevelarch.md - Example page with
  interactive OTC FaaS deployment diagram demonstrating integration
- content/en/docs/architecture/setup.md - Comprehensive setup guide
  covering installation, usage, workflow, and troubleshooting
- resources/likec4/INTEGRATION.md - Technical integration details
- LIKEC4-QUICKSTART.md - Quick start guide for developers

Features:
- Interactive diagram exploration (click components for details)
- Automatic loading indicators with timeout fallback
- Graceful degradation for non-JS environments
- Dark mode support matching Docsy theme
- Multiple diagrams per page support
- Browser compatibility detection

Usage Pattern:
```html
<div class="likec4-container">
    <div class="likec4-header">Diagram Title</div>
    <likec4-view view-id="otc-faas" browser="true"></likec4-view>
    <div class="likec4-loading">Loading...</div>
</div>
```

Workflow:
1. Edit .c4 files in resources/likec4/
2. Run: npx likec4 gen webcomponent --webcomponent-prefix likec4
   --outfile ../../static/js/likec4-webcomponent.js
3. Commit both model changes and regenerated webcomponent

Available Views:
- otc-faas, edp, landscape, edpbuilderworkflow
- keycloak, forgejo, argocd, crossplane, monitoring
- And 40+ more component and deployment views

The integration preserves the MkDocs-style embedding approach from
edp-doc while adapting it to Hugo's static site generation model.

This completes the migration making this repository the central hub
for both C4 architecture models and their rendered documentation.
2025-10-24 13:08:59 +02:00
.devcontainer feat(devcontainer): Added containerUser for rootless podman 2024-10-02 18:24:10 +02:00
.github/workflows WIP: add release pipeline and documentation 2025-10-23 17:41:34 +02:00
.vscode refactor(docs): migrate existing content to v1 legacy structure 2025-10-23 14:54:08 +02:00
assets feat(theme): improve inline code styling with Telekom colors 2025-10-23 15:43:37 +02:00
content/en feat(docs): integrate LikeC4 interactive diagrams into Hugo/Docsy 2025-10-24 13:08:59 +02:00
layouts feat(docs): integrate LikeC4 interactive diagrams into Hugo/Docsy 2025-10-24 13:08:59 +02:00
resources feat(architecture): migrate LikeC4 models from edp-doc with Git history 2025-10-24 13:08:28 +02:00
scripts feat(ci): add Docker build pipeline with version management 2025-10-23 17:04:28 +02:00
static feat(docs): integrate LikeC4 interactive diagrams into Hugo/Docsy 2025-10-24 13:08:59 +02:00
.dockerignore fix: ensure package-lock.json is included in Docker build context 2025-10-23 17:15:14 +02:00
.env.versions feat(ci): add Docker build pipeline with version management 2025-10-23 17:04:28 +02:00
.gitignore fix: add package-lock.json to repository for npm ci 2025-10-23 17:20:12 +02:00
.gitmodules chore(documentation-base): Initial commit with Hugo devcontainer and RELEARN theme installed - just open the devconatiner and start editing! 2024-07-30 11:12:09 +02:00
.htmltest.yml test: add comprehensive testing infrastructure 2025-10-23 14:02:39 +02:00
.htmlvalidate.json test: add comprehensive testing infrastructure 2025-10-23 14:02:39 +02:00
.markdownlint.json refactor(docs): migrate existing content to v1 legacy structure 2025-10-23 14:54:08 +02:00
config.yaml chore(hugo-theme): moved to docsy. Started from https://github.com/google/docsy-example and ported all ipceicis content to there. removed all docsy example stuff 2024-08-05 11:56:38 +02:00
devbox.json feat(ci): add Docker build pipeline with version management 2025-10-23 17:04:28 +02:00
devbox.lock docs(dev): add Taskfile and developer documentation 2025-10-23 14:13:31 +02:00
DOCKER.md feat(ci): add Docker build pipeline with version management 2025-10-23 17:04:28 +02:00
Dockerfile fix: use TARGETARCH for multi-platform Docker builds 2025-10-23 17:26:19 +02:00
go.mod chore(deps): update Hugo to v0.151.0 and Docsy to v0.12.0 2025-10-23 14:02:22 +02:00
go.sum chore(deps): update Hugo to v0.151.0 and Docsy to v0.12.0 2025-10-23 14:02:22 +02:00
hugo.toml feat(docs): integrate LikeC4 interactive diagrams into Hugo/Docsy 2025-10-24 13:08:59 +02:00
LIKEC4-QUICKSTART.md feat(docs): integrate LikeC4 interactive diagrams into Hugo/Docsy 2025-10-24 13:08:59 +02:00
package-lock.json fix: add package-lock.json to repository for npm ci 2025-10-23 17:20:12 +02:00
package.json test: add comprehensive testing infrastructure 2025-10-23 14:02:39 +02:00
README-developer.md docs(dev): add Taskfile and developer documentation 2025-10-23 14:13:31 +02:00
README.md chore(hugo): Added devbox for hugo processing. Improved README documentation. 2024-11-05 09:38:29 +01:00
RELEASE.md WIP: add release pipeline and documentation 2025-10-23 17:41:34 +02:00
Taskfile.yml feat(ci): add Docker build pipeline with version management 2025-10-23 17:04:28 +02:00
TESTING.md test: add comprehensive testing infrastructure 2025-10-23 14:02:39 +02:00
VERSIONS.md feat(ci): add Docker build pipeline with version management 2025-10-23 17:04:28 +02:00

IPCEICIS-DeveloperFramework Documentation

This repo contains business and architectural design and documentation of the DeveloperFramework subproject of IPCEI-CIS.

How to read and contribute to this documentation locally

The documentation is done in Hugo-format.

Hugo is a static site renderer - so to get the documentation site presented you need a running Hugo processor. Therefore there is

Local installation of the Hugo documentation system

We describe two possible ways (one with devcontainer, one with devbox) to get the Hugo-documentation system locally running.

For both prepare the following three steps:

  1. open a terminal on your local box
  2. clone this repo: git clone https://forgejo.edf-bootstrap.cx.fg1.ffm.osc.live/DevFW/website-and-documentation
  3. change to the repo working dir: cd website-and-documentation

Possibility 1: Hugo in a devcontainer

devcontainers are running containers as virtual systems on your local box. The defintion is in the .devcontainer folder. Thus as preliminary you need a container daemon running, e.g. Docker.

There are several options to create and run the devcontainer - we present here two:

Option 1: Run the container triggered by and connected to an IDE, e.g. VS Code

  1. open the repo in an Devcontainer-aware tool/IDE (e.g. code .)
  2. start the devcontainer (in VSC it's F1 + Reopen in Devcontainer)
  3. when the container is up & running just open your browser with http://localhost:1313/

Option 2: Run the container natively

An alternative to get the container image is the devcontainer CLI, then you can run the devcontainer without VS Code. Thus as preliminary you need to do the install steps of the devconatiner cli.

  1. start the devcontainer by running: devcontainer up --workspace-folder .
  2. find out the IP address of the devconatiner by using docker ps and docker inspect <id of container>
  3. when the container is up & running just open your browser with http://<DOCKER IP>:1313/

Possibility 2: Hugo in a devbox

Devboxes are locally isolated environments, managed by the Nix package manager. So first prepare the devbox.

Then

  1. devbox shell
  2. In the shell: hugo serve

Editing

Documentation language

The documentation is done in Docsy-Theme.

So for editing content just goto the content-folder and edit content arrording to the Docsy documentation

Commiting

After having finished a unit of work commit and push.

Annex

Installation steps illustrated

When you run the above installation, the outputs could typically look like this:

In Visual Studio Code

Reopen in Container

vsc-f1

Hugo server is running and (typically) listens to localhost:1313

After some installation time you have:

vsc-hugo

Final result in a web browser

browser