This guide explains how to integrate the mkdocs-material-ekgf theme into your EKGF documentation website.
- Python 3.8 or higher
- MkDocs 1.5.0 or higher
- Material for MkDocs 9.0.0 or higher
uv add mkdocs-material-ekgfcd ~/Work/mkdocs-material-ekgf
uv syncuv add git+https://github.com/EKGF/mkdocs-material-ekgf.gitAdd the material-ekgf plugin to your plugins list. You don't need to
specify custom_dir or add CSS/JS assets manually—the plugin takes
care of it.
theme:
name: material
language: en
palette:
- media: "(prefers-color-scheme: light)"
scheme: default
primary: indigo
accent: light-blue
toggle:
icon: material/weather-night
name: Switch to dark mode
- media: "(prefers-color-scheme: dark)"
scheme: slate
primary: indigo
accent: deep orange
toggle:
icon: material/weather-sunny
name: Switch to light mode
plugins:
- material-ekgf
- searchsite_name: Your Site Name
site_description: Your site description
repo_name: "EKGF/your-repo"
repo_url: https://github.com/EKGF/your-repo
site_url: https://yoursite.ekgf.org
edit_uri: edit/main/docs/
site_author: >-
Object Management Group (OMG) Enterprise Knowledge Graph Forum
copyright: >-
Copyright © 2026 EDMCouncil Inc., d/b/a
Enterprise Data Management Association ("EDMA")extra:
homepage: https://ekgf.org/quadrants
generator: false
social:
- icon: fontawesome/brands/twitter
link: https://twitter.com/EKG_Foundation
- icon: fontawesome/brands/linkedin
link: https://www.linkedin.com/company/EKGF
- icon: fontawesome/brands/github
link: https://github.com/EKGF/your-repo
analytics:
provider: google
property: YOUR-GA-PROPERTY-IDThe theme assets are automatically included when you use custom_dir.
No additional CSS or JavaScript references are needed in your
mkdocs.yml.
The theme works best with these markdown extensions:
markdown_extensions:
- footnotes
- attr_list
- md_in_html
- toc:
permalink: true
- meta
- def_list
- abbr
- admonition
- tables
- pymdownx.caret
- pymdownx.mark
- pymdownx.tilde
- pymdownx.smartsymbols
- pymdownx.snippets:
base_path:
- .
- docs
check_paths: true
- pymdownx.details
- pymdownx.magiclink
- pymdownx.critic
- pymdownx.emoji:
emoji_generator: !!python/name:material.extensions.emoji.to_svg
emoji_index: !!python/name:material.extensions.emoji.twemoji
- pymdownx.superfences:
custom_fences:
- name: mermaid
class: mermaid
format: !!python/name:pymdownx.superfences.fence_code_format
- pymdownx.tabbed:
alternate_style: true
- pymdownx.tasklist:
custom_checkbox: trueCreate engaging process cards with hero background images:
<div class="grid cards process-cards" markdown>
- <div class="process-card-header process-card-plan">
:material-file-document-outline:{ .lg }
<div class="process-card-title">
<strong>[Plan](plan/)</strong>
<span class="process-card-subtitle">Design Your EKG</span>
</div>
</div>
---
Define your use cases and identify knowledge assets for maximum reuse.
---
- Strategic planning
- Use case modeling
- Asset identification
- <div class="process-card-header process-card-build">
:material-cog-outline:{ .lg }
<div class="process-card-title">
<strong>[Build](build/)</strong>
<span class="process-card-subtitle">Construct Knowledge</span>
</div>
</div>
---
Create and integrate your knowledge graph components.
---
- Data modeling
- Integration
- Quality assurance
</div>Available background classes:
process-card-plan- Planning imageryprocess-card-build- Building/technology imageryprocess-card-run- Operations imagery
Create thematic cards for principles or concepts:
<div class="grid cards theme-cards" markdown>
- <div class="theme-card-header theme-card-transparency">
:material-eye-outline:{ .lg }
<div class="theme-card-title">
<strong>[Transparency](theme/transparency/)</strong>
</div>
</div>
Clear visibility into data, processes, and decisions.
[Learn more](theme/transparency/)
- <div class="theme-card-header theme-card-openness">
:material-open-source-initiative:{ .lg }
<div class="theme-card-title">
<strong>[Openness](theme/openness/)</strong>
</div>
</div>
Open standards and collaborative knowledge sharing.
[Learn more](theme/openness/)
</div>Available theme card backgrounds:
theme-card-transparencytheme-card-opennesstheme-card-sustainabilitytheme-card-fairnesstheme-card-accountabilitytheme-card-digital-assetstheme-card-composable-business- And more (see CSS for complete list)
Create circular letter badges for objectives:
<span class="objective-badge" data-letter="A"></span> **Objective A**
Or in tables:
| Objective | Description |
|-----------|-------------|
| <span class="objective-badge-sm" data-letter="A"></span> Align | Align business goals |
| <span class="objective-badge-sm" data-letter="B"></span> Build | Build capabilities |- Serve Locally:
uv run mkdocs serve- Check the Following:
- Header displays EKGF logo, site title, and OMG logo
- Navigation tabs appear with search box
- Theme toggle (sun/moon icon) works
- Footer matches EKGF design
- Dark/light mode switch works correctly
- Cards render properly if used
- Search functionality works
- Build for Production:
uv run mkdocs buildIf the theme doesn't load, verify:
- Package is installed:
uv pip list | grep mkdocs-material-ekgf - The
material-ekgfplugin is in yourmkdocs.yml - Material for MkDocs is installed:
uv pip list | grep mkdocs-material
Check that you're using Material for MkDocs 9.0.0 or higher:
uv add mkdocs-material --upgradeEnsure you have these extensions enabled:
attr_listmd_in_htmlpymdownx.emoji
- Remove
docs-overrides/directory - Remove custom CSS from
extra_css - Remove custom JavaScript from
extra_javascript - Update
mkdocs.ymlas shown above - Install the package
- Test locally
Same steps as above. These sites should see immediate visual improvements.
- Issues: GitHub Issues
- Documentation: EKGF Documentation
- Community: OMG EKGF Forum