Skip to content

Writing Documentation

The documentation's source files are located in the docs directory and it is built using the MkDocs package. To work on the documentation and see the changes in real-time, run the following command.

hatch run docs:serve

Once the changes are pushed to the main branch, the deploy-docs workflow will be automatically triggered, and docs.rendercv.com will be updated to the most recent version.

Updating the examples folder

The examples folder includes example YAML files for all the built-in themes, along with their corresponding PDF outputs. Also, there are PNG files of the first pages of each theme in docs/assets/images. These examples are shown in README.md.

These files are generated using docs/update_examples.py. The contents of the examples are taken from the create_a_sample_data_model function from rendercv.data.

Run the following command to update the examples folder.

hatch run docs:update-examples

Once a new release is created on GitHub, the publish.yaml workflow will be automatically triggered, and the examples folder will be updated to the most recent version.

Updating figures of the entry types in the "Structure of the YAML Input File"

There are example figures for each entry type for each theme in the "Structure of the YAML Input File" page.

The figures are generated using docs/update_entry_figures.py.

Run the following command to update the figures.

hatch run docs:update-entry-figures

Once a new release is created on GitHub, the publish.yaml workflow will be automatically triggered, and the figures will be updated to the most recent version.

Updating the JSON Schema (schema.json)

The schema of RenderCV's input file is defined using Pydantic. Pydantic allows automatic creation and customization of JSON schemas from Pydantic models.

The JSON Schema is also generated using docs/update_schema.py. It uses generate_json_schema function from rendercv.data.

Run the following command to update the JSON Schema.

hatch run docs:update-schema

Once a new release is created on GitHub, the publish.yaml workflow will be automatically triggered, and schema.json will be updated to the most recent version.