Skip to main content

Create card grids with links to child pages on your MkDocs site

Project description

MkDocs Child Pages Card Grid Plugin

Under development, use with caution!

This plugin allows users to automatically add card grids on their pages with links to child pages.

Users can include card grids on all pages or configure using markdown metadata to include or exclude specific pages.

TODO items:

  • Add linters, build, versioning, tests, etc. Professional stuff 😄
  • Add config to always include or exclude a page in their parent card grid.
  • Add support to include teaser content from metadata, possibly in conjunction with the wilhelmer/mkdocs-add-teaser plugin.

Config

theme: 
  name: material
  features:
    - navigation.indexes

extra_css:
  - stylesheets/childpages_card_grid.css

plugins:
  - childpages-card-grid:
      # include card grids on all pages by default (default True)
      include_all: True

When include_all: True, it possible to exclude the card grid from a page with the metadata: childpages_card_grid: exclude.

Likewise, when include_all: False, it is possible to include the card grid in a page using childpages_card_grid: include.

Sample childpages_card_grid.css

.cards {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.card {
    /* Add shadows to create the "card" effect */
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
    transition: 0.3s;
}

.card:hover {
    /* On mouse-over, add a deeper shadow */
    box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2);
}

.card_container {
    /* Add some padding inside the card container */
    padding: 2px 16px;
}

Limitations

This plugin was only tested with MkDocs Material Theme and the navigation.indexes feature enabled. It may be that other themes or other features of the Material theme generate a different nav tree and this plugin will not be able to figure out the parent/child pages.

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

Built Distribution

File details

Details for the file mkdocs-childpages-card-grid-plugin-0.1.5.tar.gz.

File metadata

File hashes

Hashes for mkdocs-childpages-card-grid-plugin-0.1.5.tar.gz
Algorithm Hash digest
SHA256 a397f55ce7029255657246729e9a9327bc874ef121d5f8e673aeac24a8b38f67
MD5 c6036be6281ed59efbdf9bd3b244ba4d
BLAKE2b-256 c05941590e153ecb228299fc9fdc8e98928340062fc0afa6b1b6fbbe8584bed6

See more details on using hashes here.

File details

Details for the file mkdocs_childpages_card_grid_plugin-0.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for mkdocs_childpages_card_grid_plugin-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 c88c1d2aababc50edfb1b1bacdc944a5b19d0b200be5c9e92282221a033ee75e
MD5 57a5f301e359a1324f55ea700ca764de
BLAKE2b-256 16c20409a37e8c23583ad6d22e99d99a3541bdd2b403c846c5e63a2a0d13df8f

See more details on using hashes here.

Supported by

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