Prepare markdown content for publication with configurable processing pipeline
Project description
publishmd
Prepare markdown content for publication with configurable processing pipeline.
Use Case 1. Transform an Obsidian vault into publication-ready content for a Quarto blog. Convert wikilinks, filter content, copy assets, and apply transformations to prepare your notes for publishing.
Installation
From Source
pip install -e .
Usage
publishmd -c config.yaml -i /path/to/markdown -o /path/to/output
Configuration
Create a YAML configuration file to specify the processing pipeline, e.g.:
filters:
- name: frontmatter_filter
type: publishmd.filters.frontmatter_filter.FrontmatterFilter
config:
publish: true
emitters:
- name: qmd_emitter
type: publishmd.emitters.qmd_emitter.QmdEmitter
- name: assets_emitter
type: publishmd.emitters.assets_emitter.AssetsEmitter
transformers:
- name: wikilink_transformer
type: publishmd.transformers.wikilink_transformer.WikilinkTransformer
config:
preserve_aliases: true
link_extension: ".qmd"
- name: stale_links_transformer
type: publishmd.transformers.stale_links_transformer.StaleLinksTransformer
config:
remove_stale_links: true
convert_to_text: true
For more examples, please check the integration tests folder (tests/integration).
Development
pip install -e ".[dev]"
pytest
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
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 publishmd-0.1.0.tar.gz.
File metadata
- Download URL: publishmd-0.1.0.tar.gz
- Upload date:
- Size: 22.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6eec7bea3e24efb88b50d7b08dd5c6a2903dda00d0e8151c13fc483563461e6c
|
|
| MD5 |
66d00698f050f70e91355e2111b27071
|
|
| BLAKE2b-256 |
3ab46b37ab9b111fa6ac9e9164dbfbd68641eb65e6f946632bcbf3db82ace43d
|
File details
Details for the file publishmd-0.1.0-py3-none-any.whl.
File metadata
- Download URL: publishmd-0.1.0-py3-none-any.whl
- Upload date:
- Size: 19.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f8e834fbd52abc23bc51c1b27a3e9b57b625e702b563ede2b395ccaf27da4a6c
|
|
| MD5 |
5fc8f248ebcbac255d8ca458fa146e07
|
|
| BLAKE2b-256 |
f1466862e2a9c6c1302f8737616ee985ad05a5430f8914cf074da69f0bbc39ea
|