Skip to content

Prepare markdown content for publication with configurable processing pipeline.

Notifications You must be signed in to change notification settings

MateusMolina/publishmd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Prepare markdown content for publication with configurable processing pipeline.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages