Files
ResumeCustomizer/output

Output Pipeline Overview

This directory contains the post-processing side of ResumeCustomizer. It is responsible for taking job-targeted Markdown resumes produced elsewhere in the system and turning them into printable DOCX/PDF artifacts.

Directory Layout

  • ForRelease/inbox: drop a single *.md file here to trigger conversion.
  • ForRelease/outbox/YYYY/MM/DD/HHMM: conversion results (paired .docx and .pdf) organized by timestamp so repeated runs never overwrite each other.
  • ForRelease/processed/YYYY/MM/DD/HHMM: archives of Markdown files that converted successfully.
  • ForRelease/failed: Markdown files that encountered an error during conversion (contains .gitkeep to preserve the directory).
  • Docker/: container definition, watcher script, and helper wrapper that run the conversion daemon.

Running the Output Processor

Use the wrapper so the container writes files with your UID/GID:

cd output/Docker
./run-output-processor.sh up -d

The script detects either the Docker Compose plugin or the legacy docker-compose binary and forwards any additional arguments you supply (down, logs, etc.).

What the Watcher Does

  1. Polls ForRelease/inbox every few seconds for Markdown files.
  2. Runs Pandoc using the shared DOCX and LaTeX templates to generate DOCX/PDF.
  3. Drops the exports into the timestamped folder under ForRelease/outbox.
  4. Moves the original Markdown into the matching timestamp folder under ForRelease/processed.
  5. If the Pandoc conversion fails, moves the Markdown into ForRelease/failed so it can be reviewed without blocking subsequent runs.

Prerequisites

  • Docker Engine with either the Compose plugin (docker compose) or standalone docker-compose.
  • Pandoc templates available under input/templates relative to the repo root (mounted read-only into the container).

Stop the service with:

cd output/Docker
./run-output-processor.sh down

Log output is available through ./run-output-processor.sh logs -f.