41 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # Output Pipeline Overview
 | |
| 
 | |
| This directory contains the post-processing side of ResumeCustomizer. It is responsible for taking a job-targeted Markdown resume produced elsewhere in the system and turning it 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:
 | |
| 
 | |
| ```bash
 | |
| 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.). The stack registers under the project name `RCEO-AI-ResumeCustomizer-Output`, and the primary container is `RCEO-AI-ResumeCustomizer-Output-Processor`.
 | |
| 
 | |
| ## What the Watcher Does
 | |
| 1. Polls `ForRelease/inbox` every few seconds for a single Markdown resume.
 | |
| 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:
 | |
| 
 | |
| ```bash
 | |
| cd output/Docker
 | |
| ./run-output-processor.sh down
 | |
| ```
 | |
| 
 | |
| Log output is available through `./run-output-processor.sh logs -f`.
 |