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 (default True)
include_all: True
# the title shown above the card grid (default: 'Child pages')
cards_title: 'Child pages'
Page Metadata
childpages_card_grid
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
.
childpages_card_grid_title
It is possible to customize the card grid title of a specific page with the childpages_card_grid_title
metadata.
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_title {
padding: 1rem 0 1rem 0;
border-top: 1px;
border-top-color: gray;
border-top-style: solid;
}
.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.7.tar.gz
.
File metadata
- Download URL: mkdocs-childpages-card-grid-plugin-0.1.7.tar.gz
- Upload date:
- Size: 9.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bce7a6875d2ddc6f69d474121b8d5204da63517e34e98c2bb59d9778f110ab5f |
|
MD5 | c19907ce62b168162f85c57103e13e2c |
|
BLAKE2b-256 | 73bcaaa32dbc8f0735213617ec5139156ae528fdfddbe46992685cf5e93fe92e |
File details
Details for the file mkdocs_childpages_card_grid_plugin-0.1.7-py3-none-any.whl
.
File metadata
- Download URL: mkdocs_childpages_card_grid_plugin-0.1.7-py3-none-any.whl
- Upload date:
- Size: 12.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5eb881f2d9f7b17ba3b18b005e002c8bd27ffa02f53c56ef21f595ea4864d5fb |
|
MD5 | f806c1caa7eddaf917e82f8e323fe8fe |
|
BLAKE2b-256 | 71d2644283cfa7ad0d9a694b737e0651d7609457da0064d9d44fbe37fa52bfa4 |