Collect Documents for Publishing

This skill collects Markdown documents from the library that are marked for a specific publication.

Usage

python scripts/collect-documents-for-publishing.py <path-to-publication.yml>

Configuration

The publication config must include:

  • publication_name: Name of the publication
  • publication_status: Status to match (e.g., “publishable”)
  • docs_dir: Output directory for collected documents

Optional config keys:

  • output_root_dir: Directory that receives mkdocs.yml plus overrides/ from the publication config folder
  • extra_source_dirs: Comma-separated list or bracketed list of directories to copy into docs_dir
  • extra_source_dir: Single directory to copy into docs_dir
  • overrides_dir: Directory to copy into docs_dir/overrides

How It Works

  1. Scans Markdown files in the source directory
  2. Parses frontmatter for a publications list
  3. Matches entries of the form {publication}: {status}
  4. Copies matching files to docs_dir, preserving paths
  5. Copies declared dependencies alongside matched files
  6. Generates references.bib from frontmatter references lists

Example Frontmatter

publications:
  - emsenn-net: publishable