Theme for Cloudmesh AI documentation
Project description
Cloudmesh AI Theme Guide
Welcome to the guide for the Cloudmesh AI Theme. This package provides a consistent look and feel for Cloudmesh AI project documentation, built as an extension of the Material for MkDocs theme.
Table of Contents
Introduction
The cloudmesh-ai-theme is a Python package that provides branding for Cloudmesh AI documentation. Instead of copying CSS and images into every project, this package allows you to apply the theme via a configuration change in your mkdocs.yml.
It automatically handles:
- Branding: Injects the "Cloudmesh AI" site name and a standardized footer.
- Styling: Applies custom CSS.
- Assets: Provides shared logos and favicons.
Installation
The theme is distributed as a Python package. You can install it using pip:
pip install cloudmesh-ai-theme
Usage
Primary Method (Recommended)
The simplest way to use the theme is to specify it by name in your mkdocs.yml file. This method automatically applies all branding, styles, and assets.
theme:
name: cloudmesh-ai-theme
Configuration Options
You can customize the theme while maintaining the Cloudmesh AI layout. Currently, the following options are supported:
primary_color
Change the primary accent color of the theme.
theme:
name: cloudmesh-ai-theme
primary_color: "#ff0000" # Example: Red
logo and favicon
You can override the default Cloudmesh AI logo and favicon by specifying their paths in your mkdocs.yml. SVG favicons are recommended for better scalability and quality.
theme:
name: cloudmesh-ai-theme
logo: assets/my-logo.png
favicon: assets/my-favicon.svg
Alternative: Manual Asset Deployment
If you need direct access to the CSS and image files within your project directory (e.g., for further local overrides), you can deploy the assets manually.
-
Run the deployment command:
cloudmesh-ai-theme-install
This will copy the assets into
docs/theme/in your current project. -
Reference assets in
mkdocs.yml:extra_css: - theme/custom.css theme: favicon: theme/assets/favicon.svg logo: theme/assets/logo-white.png name: material
Development & Contribution
Local Development
To make changes to the theme and see them reflected in your projects immediately, install the package in editable mode:
cd cloudmesh-ai-theme
pip install -e .
Running Tests
The theme includes a verification suite to ensure that the package builds and renders correctly.
cd cloudmesh-ai-theme/tests
python test_theme.py
Maintainer's Guide
Project Structure
cloudmesh-ai-theme/
├── .github/workflows/ # CI/CD pipelines
├── src/
│ └── cloudmesh_ai_theme/
│ ├── __init__.py # Package logic & versioning
│ ├── assets/ # Logos and favicons
│ ├── css/ # Custom stylesheets
│ └── theme/ # MkDocs templates (main.html)
├── tests/ # Verification suite
├── VERSION # Single source of truth for version
├── pyproject.toml # Build system & metadata
└── README.md # This guide
Version Management
The version is managed in the VERSION file at the root of the repository. To bump the version:
- Edit the
VERSIONfile (e.g., change0.1.0to0.1.1). - Commit the change:
git add VERSION git commit -m "Bump version to 0.1.1"
Release Process
Releases are automated via GitHub Actions. To trigger a new release:
- Create a git tag following the
v*pattern:git tag v0.1.0 git push origin v0.1.0
- The GitHub Action will automatically build the
.whland.tar.gzdistributions and upload them as artifacts.
Publishing to PyPI
The easiest way to upload the package to PyPI is using the provided Makefile:
make pypi
This command automatically installs the necessary build tools, builds the distribution, and uploads it to PyPI using twine.
Manual Upload (without Makefile):
- Install build tools:
pip install build twine
- Build the distribution:
python -m build
- Upload to PyPI:
python -m twine upload dist/*
Automated Upload (GitHub Actions):
To automate publishing, add a pypi-publish step to the .github/workflows/release.yml file and configure a PYPI_API_TOKEN in your GitHub repository secrets.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cloudmesh_ai_theme-7.0.1-py3-none-any.whl.
File metadata
- Download URL: cloudmesh_ai_theme-7.0.1-py3-none-any.whl
- Upload date:
- Size: 27.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88f7469ce7b5803f7b0ab874f3e674b2cef980c7b7cc002e8bb75bb0ef1b2247
|
|
| MD5 |
3c0063b7cfc03d97c2ea678ded0921a4
|
|
| BLAKE2b-256 |
12a621e1f5facb33ea86862a3009005d16a9b017f6346a60e45f8b536a90d3db
|