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