Skip to main content

Prepare markdown content for publication with configurable processing pipeline

Project description

publishmd

PyPI Docs

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

pip install publishmd

# With WebP image conversion support
pip install "publishmd[webp]"

Usage

publishmd -c _config.yml
publishmd -c _config.yml -i ./vault -o ./dist

Configuration

Create a YAML configuration file to specify the processing pipeline, e.g.:

# _config.yml
input_dir: vault
output_dir: dist

filters:
  - name: published_only
    type: publishmd.filters.frontmatter_filter.FrontmatterFilter
    config:
      publish: true

transformers:
  - name: wikilinks
    type: publishmd.transformers.wikilink_transformer.WikilinkTransformer
    config:
      preserve_aliases: true
      link_extension: ".qmd"
  - name: stale_links
    type: publishmd.transformers.stale_links_transformer.StaleLinksTransformer
    config:
      convert_to_text: true

For the full configuration reference and all available filters/transformers, see the docs.

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

publishmd-1.0.1.tar.gz (43.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

publishmd-1.0.1-py3-none-any.whl (35.5 kB view details)

Uploaded Python 3

File details

Details for the file publishmd-1.0.1.tar.gz.

File metadata

  • Download URL: publishmd-1.0.1.tar.gz
  • Upload date:
  • Size: 43.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for publishmd-1.0.1.tar.gz
Algorithm Hash digest
SHA256 ac15f64bed8c1117a073f0c56f859ab1c71c93dcd6b6a198135deab15436cce1
MD5 c971e7787dd0bdff6a8ff1d06dd40bd2
BLAKE2b-256 9724432920c17392b3fdf7a629a8f2da63b2f0d1d27764f1a8613481f89569ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for publishmd-1.0.1.tar.gz:

Publisher: release.yml on MateusMolina/publishmd

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file publishmd-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: publishmd-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 35.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for publishmd-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e69cc50b7970a511299e7383c1b885779d533e90b73a1c3ac72714a589140934
MD5 ca4e46663f248fe3cffbaa3bd06400c6
BLAKE2b-256 d8473da0fc5fd803ec50e22f3eb6ccd352575f40a0dedd6529d8015574ccb2bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for publishmd-1.0.1-py3-none-any.whl:

Publisher: release.yml on MateusMolina/publishmd

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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