Markdown Template
A tool to help primarily with generating Markdown tables based on a set of files. This is particularly useful to repositories that contain several subprojects, such as userscript repos.
Installation
This will install md-template and natsort as well as pyyaml for the userscript preset.
pip install md-template[full]
For the most minimal installation.
pip install md-template
# or with natsort (recommended)
pip install md-template[natsort]
Usage
Command-line
The easiest but most restricted method.
# md-template --help
md-template table --preset scoop --dry-run
Class-based
See table.presets for more detailed examples.
from pathlib import Path
from typing import Iterable
from mdtemplate.table import TableTemplate
class MyTemplate(TableTemplate):
files = "bucket/*.json"
columns = ("Name", "Branch")
source = "README.md" # default
def handle_path(self, path: Path) -> Iterable[Iterable[str]]:
# create a row
yield [
# include information using the current filepath
f"Column 1: **{path.name}**",
# use information from the git repository
f"Column 2: {self.repository.branch}",
]
if __name__ == "__main__":
MyTemplate().parse_args().render()
Function-based
from pathlib import Path
from typing import Iterable
from mdtemplate.table import TableTemplate
def handle_path(self: TableTemplate, path: Path) -> Iterable[Iterable[str]]:
# create a row
yield [
# include information using the current filepath
f"Column 1: **{path.name}**",
# use information from the git repository
f"Column 2: {self.repository.branch}",
]
if __name__ == "__main__":
TableTemplate(
files="bucket/*.json",
columns=("Name", "Branch"),
source="README.md", # default
handle_path=handle_path,
).parse_args().render()
Output
Both the class-based and function-based examples above generate the same table.
Input
# My Repository
<!-- table -->
| Manifests |
| --------- |
<!-- table-end -->
Metadata
Release files for md-template 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| md_template-0.2.1.tar.gz | 15.3 kB | Without provenance | Details for md_template-0.2.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| md_template-0.2.1-py3-none-any.whl | Python 3 | none | any | Details for md_template-0.2.1-py3-none-any.whl |
Total release size: 25.3 kB
Release files / md_template-0.2.1.tar.gz
| Download URL | md_template-0.2.1.tar.gz |
|---|---|
| Size | 15.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4bf30f66d8daedd4ed9aff41cd270c5519db408afb5a9299d8dda09385a7de2c
|
|
BLAKE2b-256 checksum How to use checksums |
65f15d4b7098453279b74ac71d265ee7d1d0cf3f16ac7b94ad90999ce66c0f47
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.5.4
|
Release files / md_template-0.2.1-py3-none-any.whl
| Download URL | md_template-0.2.1-py3-none-any.whl |
|---|---|
| Size | 10.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f0ca17d24a3c4b5d34d3f9507b6a6e33d18198607bacf8b428fa172c9adc5bb8
|
|
BLAKE2b-256 checksum How to use checksums |
e2cd3804b22270629bf68db50f8ca0d66d32c6148866a00df6e930e111c4aa70
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.5.4
|
Security for md-template 0.2.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.