Skip to content

typst

generate_typst(rendercv_model)

Generate Typst source file from CV model via Jinja2 templates.

Why

Typst is the intermediate format before PDF/PNG compilation. Templates convert validated model data to Typst markup with proper formatting, fonts, and styling from design options.

Parameters:

  • rendercv_model (RenderCVModel) –

    Validated CV model with content and design.

Returns:

  • Path | None

    Path to generated Typst file, or None if generation disabled.

Source code in src/rendercv/renderer/typst.py
def generate_typst(rendercv_model: RenderCVModel) -> pathlib.Path | None:
    """Generate Typst source file from CV model via Jinja2 templates.

    Why:
        Typst is the intermediate format before PDF/PNG compilation. Templates
        convert validated model data to Typst markup with proper formatting,
        fonts, and styling from design options.

    Args:
        rendercv_model: Validated CV model with content and design.

    Returns:
        Path to generated Typst file, or None if generation disabled.
    """
    if rendercv_model.settings.render_command.dont_generate_typst:
        return None
    typst_path = resolve_rendercv_file_path(
        rendercv_model, rendercv_model.settings.render_command.typst_path
    )
    typst_contents = render_full_template(rendercv_model, "typst")
    typst_path.write_text(typst_contents, encoding="utf-8")
    return typst_path