Skip to main content

MkDocs plugin that generates a product catalog page from YAML files

Project description

mkdocs-product-catalog

An MkDocs plugin that renders a product catalog on any page from a directory of YAML files. Each product appears as a clickable button with an icon (or acronym fallback). Clicking a button opens a lightbox modal with all product details.

Installation

pip install mkdocs-product-catalog

Usage

Add the plugin to mkdocs.yml:

plugins:
  - search
  - product-catalog

Then place this tag anywhere in a markdown file to embed a catalog:

<!-- product-catalog: dirname -->

dirname is the path to a directory of YAML files, relative to your docs/ folder. The tag can appear on any page, any number of times, each pointing to a different directory:

# Platform Tools

<!-- product-catalog: catalog/platform -->

# Data Tools

<!-- product-catalog: catalog/data -->

Product YAML format

Each .yaml or .yml file in the directory represents one product:

title: My Product                                  # required
description: A short description of the product.  # optional
icon: images/my_icon.png                           # optional
url: https://myproduct.example.com                 # optional
documentation: https://docs.example.com/myproduct # optional
repository: https://github.com/example/myproduct  # optional
owners:                                            # optional
  - Alice
  - Bob
metadata:                                          # optional — arbitrary key/value pairs
  team: platform
  sla: 99.9%
  dashboard: https://grafana.example.com/d/overview

Products are rendered in alphabetical order by filename.

Icon

The icon value is used as the src of an <img> tag — use a path relative to the page the tag appears on, or an absolute URL. If omitted, an acronym (up to 3 initials) is shown in a colored circle instead.

Metadata

Any metadata value that contains a URL (http://, https://) is automatically rendered as a clickable link.

Search

Product titles, descriptions, and owner names are included in a hidden element on the page so MkDocs search can index them. Searching for a product title will surface the page it appears on.

How it works

  • The plugin scans all .yaml and .yml files in the specified directory.
  • It renders a responsive button grid; each button shows the product icon or acronym and title.
  • Clicking a button opens a modal with the product's description, URL, documentation, repository, owners, and metadata.
  • The modal closes with the × button, by clicking the backdrop, or pressing Escape.
  • Styles use MkDocs CSS custom properties and adapt to light and dark themes.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mkdocs_product_catalog-1.0.3.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mkdocs_product_catalog-1.0.3-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file mkdocs_product_catalog-1.0.3.tar.gz.

File metadata

  • Download URL: mkdocs_product_catalog-1.0.3.tar.gz
  • Upload date:
  • Size: 6.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mkdocs_product_catalog-1.0.3.tar.gz
Algorithm Hash digest
SHA256 693a7d23bdeae1dd9e8b6dcb5d84cbc62fb3f3ce1f623977d42fdc9aed5edbd0
MD5 7ee2e72fd0dc784391f9dcd4d20e16c8
BLAKE2b-256 b7ec4207c70d0bbf567e8e86aea834882a19ad2f5e327c8be41d1fb33d761f67

See more details on using hashes here.

Provenance

The following attestation bundles were made for mkdocs_product_catalog-1.0.3.tar.gz:

Publisher: pypi.yml on luukkemp/mkdocs_product_catalog

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mkdocs_product_catalog-1.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for mkdocs_product_catalog-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 d9cefc28987b5df9e8bd71755986aba1a51e7efb4d734101aac0ff3d5b749e6b
MD5 4eacf9e07f430c01c35d9fe1bb40006b
BLAKE2b-256 3416478ce2137f2734a6661f0453f4e59341ab9d9e7d9d87d1fe0b69f3842f13

See more details on using hashes here.

Provenance

The following attestation bundles were made for mkdocs_product_catalog-1.0.3-py3-none-any.whl:

Publisher: pypi.yml on luukkemp/mkdocs_product_catalog

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page