{"id":14065162,"url":"https://github.com/wtc-cloud-eng/mkdocs-terraform-monorepo-plugin","last_synced_at":"2025-08-22T13:45:25.310Z","repository":{"id":37802605,"uuid":"326657038","full_name":"wtc-cloud-eng/mkdocs-terraform-monorepo-plugin","owner":"wtc-cloud-eng","description":"Adds config syntax to mkdocs nav to include terrafrom monorepo docs","archived":false,"fork":false,"pushed_at":"2023-03-06T14:00:26.000Z","size":715,"stargazers_count":11,"open_issues_count":10,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-10-30T01:43:42.612Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wtc-cloud-eng.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-01-04T11:08:17.000Z","updated_at":"2024-04-18T19:33:41.000Z","dependencies_parsed_at":"2024-05-28T00:29:37.202Z","dependency_job_id":"95263781-c513-4d56-b459-3fa8e04b1ca1","html_url":"https://github.com/wtc-cloud-eng/mkdocs-terraform-monorepo-plugin","commit_stats":{"total_commits":26,"total_committers":3,"mean_commits":8.666666666666666,"dds":0.3846153846153846,"last_synced_commit":"a6bb70638219ae358e66923640d958608196b082"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wtc-cloud-eng%2Fmkdocs-terraform-monorepo-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wtc-cloud-eng%2Fmkdocs-terraform-monorepo-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wtc-cloud-eng%2Fmkdocs-terraform-monorepo-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wtc-cloud-eng%2Fmkdocs-terraform-monorepo-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wtc-cloud-eng","download_url":"https://codeload.github.com/wtc-cloud-eng/mkdocs-terraform-monorepo-plugin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238174146,"owners_count":19428631,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-13T07:04:20.514Z","updated_at":"2025-02-10T19:30:55.517Z","avatar_url":"https://github.com/wtc-cloud-eng.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# mkdocs-terraform-monorepo-plugin\n\n[![](https://github.com/wtc-cloud-eng/mkdocs-terraform-monorepo-plugin/workflows/Build%2C%20Test%20%26%20Deploy/badge.svg)](https://github.com/wtc-cloud-eng/mkdocs-terraform-monorepo-plugin/actions)\n[![PyPI](https://img.shields.io/pypi/v/mkdocs-terraform-monorepo-plugin)](https://pypi.org/project/mkdocs-terraform-monorepo-plugin/)\n![](https://img.shields.io/badge/lifecycle-beta-509bf5.svg)\n[![PyPI - License](https://img.shields.io/pypi/l/mkdocs-terraform-monorepo-plugin)](LICENSE.md)\n\n\u003e **Note: This plugin is in beta.** Whilst it is not expected to significantly change in functionality, it may not yet be fully compatible with other Mkdocs configuration and thus may break with some advanced configurations. Once these have been resolved and all bugs have been ironed out, we will move this to a stable release.\n\n🐍 [Python Package](https://pypi.org/project/mkdocs-terraform-monorepo-plugin/) | ✚ [Demo](https://wtc-cloud-eng.github.io/mkdocs-terraform-monorepo-plugin/terraform-monorepo-example/) | 📕 [Docs](https://wtc-cloud-eng.github.io/mkdocs-terraform-monorepo-plugin/)\n\n\n✚ This plugin enables you to build multiple sets of documentation in a single Mkdocs. It is intended to auto discover documentation in a terraform modules monorepo.\n\n## Motivation\n\nIn mkdocs, adding and combining docs into the nav from both the `docs` default directory and terraform modules directories, in a terraform monorepo, can be easily automated.  If documentation for a monorepo is auto generated using terrafrom-docs in nested submodule trees, we can build the tree automatically and add it to the mkdocs site through mkdocs configuration.\n\nThis module was totally inspired by the backstage [mkdocs-monorepo-plugin](https://github.com/backstage/mkdocs-monorepo-plugin) and shares much of the same structure.\n\n## Install\n\nIt's easy to get started using [PyPI] and `pip` using Python:\n\n```terminal\n$ pip install mkdocs-terraform-monorepo-plugin\n```\n\nOr include it in a requirements.txt file in your project\n\n```python\nmkdocs==1.1.2\nmkdocs-material==5.4.0\nmkdocs-material-extensions==1.0\nmarkdown-include==0.5.1\nmkdocs-terraform-monorepo-plugin==0.1.0\n```\n\nand run\n\n```terminal\npip install -r requirements.txt\n```\n\n## Usage\n\nThis plugin introduces the `!tf_modules_root` syntax in your Mkdocs navigation structure and then merges them into the output.  The value of `!tf_modules_root` is relative to the project config file (mkdocs.yml), not the docs directory.\n\n```yaml\n# /mkdocs.yml\nsite_name: MyProject\n\nnav:\n    - Home: index.md\n    - User Guide:\n        - Testing: user-guide/testing.md\n        - Changelog: user-guide/changelog.md\n    - Modules:\n        - Convention: '!tf_modules_root convention'\n    - Examples: '!tf_modules_root examples'\n    - About:\n        - Release Notes: about/release-notes.md\n        - Contributing: about/contributing.md\n        - License: about/license.md\n        - Code of Conduct: about/code-of-conduct.md\n\nplugins:\n  - terraform-monorepo\n  - search\n  # if you include another plugin, and want search you have to add it again\n\n```\n\n### Example Source Filetree\n\n```terminal\n$ tree .\n├── convention\n│   ├── naming\n│   │   ├── compute\n│   │   │   ├── faas\n│   │   │   │   ├── main.tf\n│   │   │   │   └── README.md\n│   │   │   └── machine\n│   │   │       ├── main.tf\n│   │   │       └── README.md\n│   │   ├── dns\n│   │   │   ├── main.tf\n│   │   │   └── README.md\n│   │   └── storage\n│   │       └── bucket\n│   │           ├── main.tf\n│   │           └── README.md\n│   ├── README.md\n│   └── tags\n│       └── README.md\n├── docs\n│   ├── about\n│   │   ├── code-of-conduct.md\n│   │   ├── contributing.md\n│   │   ├── license.md\n│   │   └── release-notes.md\n│   ├── index.md\n│   └── user-guide\n│       ├── changelog.md\n│       └── testing.md\n├── examples\n│   └── var_types\n│       ├── inputs.tf\n│       ├── main.tf\n│       ├── Makefile\n│       ├── outputs.tf\n│       ├── README.md\n├── mkdocs.yml\n\n```\n\n### Example Rendered Filetree\n\n```terminal\n├── 404.html\n├── about\n│   ├── code-of-conduct\n│   │   └── index.html\n│   ├── contributing\n│   │   └── index.html\n│   ├── license\n│   │   └── index.html\n│   └── release-notes\n│       └── index.html\n├── assets\n│   ├── images\n│   │   └── favicon.png\n│   ├── javascripts\n│   │   ├── bundle.b39636ac.min.js\n│   │   ├── bundle.b39636ac.min.js.map\n│   │   ├── lunr\n│   │   │   ├── min\n│   │   │   │   ├── lunr.multi.min.js\n│   │   │   │   ├── lunr.stemmer.support.min.js\n│   │   │   └── tinyseg.min.js\n│   │   ├── vendor.d710d30a.min.js\n│   │   ├── vendor.d710d30a.min.js.map\n│   │   └── worker\n│   │       ├── search.a68abb33.min.js\n│   │       └── search.a68abb33.min.js.map\n│   └── stylesheets\n│       ├── main.fe0cca5b.min.css\n│       ├── main.fe0cca5b.min.css.map\n│       ├── palette.a46bcfb3.min.css\n│       └── palette.a46bcfb3.min.css.map\n├── convention\n│   ├── naming\n│   │   ├── compute\n│   │   │   ├── faas\n│   │   │   │   └── index.html\n│   │   │   └── machine\n│   │   │       └── index.html\n│   │   ├── dns\n│   │   │   └── index.html\n│   │   └── storage\n│   │       └── bucket\n│   │           └── index.html\n│   └── tags\n│       └── index.html\n├── examples\n│   └── var_types\n│       └── index.html\n├── img\n│   ├── favicon.png\n│   ├── logo.png\n│   └── wtc-logo.svg\n├── index.html\n├── search\n│   └── search_index.json\n├── sitemap.xml\n├── sitemap.xml.gz\n└── user-guide\n    ├── about\n    │   └── index.html\n    ├── changelog\n    │   └── index.html\n    ├── development\n    │   └── index.html\n    ├── setup\n    │   └── index.html\n    ├── standards\n    │   └── index.html\n    └── testing\n        └── index.html\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwtc-cloud-eng%2Fmkdocs-terraform-monorepo-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwtc-cloud-eng%2Fmkdocs-terraform-monorepo-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwtc-cloud-eng%2Fmkdocs-terraform-monorepo-plugin/lists"}