Skip to main content

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

publishmd-0.1.0.tar.gz (22.6 kB view details)

Uploaded Source

Built Distribution

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

publishmd-0.1.0-py3-none-any.whl (19.1 kB view details)

Uploaded Python 3

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

Hashes for publishmd-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6eec7bea3e24efb88b50d7b08dd5c6a2903dda00d0e8151c13fc483563461e6c
MD5 66d00698f050f70e91355e2111b27071
BLAKE2b-256 3ab46b37ab9b111fa6ac9e9164dbfbd68641eb65e6f946632bcbf3db82ace43d

See more details on using hashes here.

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

Hashes for publishmd-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f8e834fbd52abc23bc51c1b27a3e9b57b625e702b563ede2b395ccaf27da4a6c
MD5 5fc8f248ebcbac255d8ca458fa146e07
BLAKE2b-256 f1466862e2a9c6c1302f8737616ee985ad05a5430f8914cf074da69f0bbc39ea

See more details on using hashes here.

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