rendercv/docs/developer_guide/writing_documentation.md

3.5 KiB

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 get_a_sample_data_model function from data_models.py.

Run the following command to update the examples folder.

hatch run docs:update-examples

The deploy-docs workflow also updates examples folder after each push to the main branch.

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

The deploy-docs workflow also updates the figures after each push to the main branch.

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 data_models.py.

Run the following command to update the JSON Schema.

hatch run docs:update-schema

The deploy-docs workflow also updates schema.json after each push to the main branch.