Architecture
Like any compiler, YAMLResume also contains a pipeline that transforms resume data from input to output with multiple phases.
- Input Phase: accepts YAML and JSON resume files as input.
- Parsing Phase: parses and validates the resume content and layout from the input files.
- Transformation Phase: transforms the resume content and layout data with a pipeline.
- Codegen Phase: renders the resume content and layout data using LaTeX templates.
- Output Phase: generates the final PDF document.
Here is a high-level architecture diagram of YAMLResume from 30000 feet:
Data Processing Pipeline
The transformation pipeline is responsible for processing raw resume data from YAML files and preparing it for LaTeX rendering. It operates in two main phases: content transformation and layout transformation:
- The content transformation phase processes all textual data, applies localization rules, escapes LaTeX special characters, and computes derived values.
- The layout transformation phase merges user-provided layout settings with defaults and applies locale-specific typography rules.
For a long data processing pipeline like this, code speaks more than words, you can check transform.ts for details if you are interested in the implementation.