diff --git a/docs/developer_guide/index.md b/docs/developer_guide/index.md index 2ef69fba..dd61dc47 100644 --- a/docs/developer_guide/index.md +++ b/docs/developer_guide/index.md @@ -56,15 +56,18 @@ The flowchart below illustrates the general operations of RenderCV. A detailed d ```mermaid flowchart TD + subgraph rendercv.data A[YAML Input File] --parsing with ruamel.yaml package--> B(Python Dictionary) B --validation with pydantic package--> C((Pydantic Object)) - C --> D[LaTeX File] - C --> E[Markdown File] - E --markdown package--> K[HTML FIle] - D --TinyTeX--> L[PDF File] + end + subgraph rendercv.renderer + C --> AA + E[Markdown File] --markdown package--> K[HTML FIle] + D[LaTeX File] --TinyTeX--> L[PDF File] L --PyMuPDF package--> Z[PNG Files] AA[(Jinja2 Templates)] --> D AA[(Jinja2 Templates)] --> E + end ``` ## Available Commands diff --git a/docs/reference/cli.md b/docs/reference/cli.md deleted file mode 100644 index 2db2166a..00000000 --- a/docs/reference/cli.md +++ /dev/null @@ -1,3 +0,0 @@ -# `cli.py` - -::: rendercv.cli \ No newline at end of file diff --git a/docs/reference/cli/commands.md b/docs/reference/cli/commands.md new file mode 100644 index 00000000..c71ca73f --- /dev/null +++ b/docs/reference/cli/commands.md @@ -0,0 +1,3 @@ +# `rendercv.cli.commands` + +::: rendercv.cli.commands \ No newline at end of file diff --git a/docs/reference/cli/index.md b/docs/reference/cli/index.md new file mode 100644 index 00000000..96b10fde --- /dev/null +++ b/docs/reference/cli/index.md @@ -0,0 +1,3 @@ +# `rendercv.cli` + +::: rendercv.cli diff --git a/docs/reference/cli/printer.md b/docs/reference/cli/printer.md new file mode 100644 index 00000000..5b99a170 --- /dev/null +++ b/docs/reference/cli/printer.md @@ -0,0 +1,3 @@ +# `rendercv.cli.printer` + +::: rendercv.cli.printer \ No newline at end of file diff --git a/docs/reference/cli/utilities.md b/docs/reference/cli/utilities.md new file mode 100644 index 00000000..0a7f380c --- /dev/null +++ b/docs/reference/cli/utilities.md @@ -0,0 +1,3 @@ +# `rendercv.cli.utilities` + +::: rendercv.cli.utilities \ No newline at end of file diff --git a/docs/reference/data/generator.md b/docs/reference/data/generator.md new file mode 100644 index 00000000..77438354 --- /dev/null +++ b/docs/reference/data/generator.md @@ -0,0 +1,3 @@ +# `rendercv.data.generator` + +::: rendercv.data.generator diff --git a/docs/reference/data/index.md b/docs/reference/data/index.md new file mode 100644 index 00000000..166cf048 --- /dev/null +++ b/docs/reference/data/index.md @@ -0,0 +1,3 @@ +# `rendercv.data` + +::: rendercv.data diff --git a/docs/reference/data/models/base.md b/docs/reference/data/models/base.md new file mode 100644 index 00000000..cdd6565e --- /dev/null +++ b/docs/reference/data/models/base.md @@ -0,0 +1,3 @@ +# `rendercv.data.models.base` + +::: rendercv.data.models.base diff --git a/docs/reference/data/models/computers.md b/docs/reference/data/models/computers.md new file mode 100644 index 00000000..3d407563 --- /dev/null +++ b/docs/reference/data/models/computers.md @@ -0,0 +1,3 @@ +# `rendercv.data.models.computers` + +::: rendercv.data.models.computers diff --git a/docs/reference/data/models/curriculum_vitae.md b/docs/reference/data/models/curriculum_vitae.md new file mode 100644 index 00000000..332cd554 --- /dev/null +++ b/docs/reference/data/models/curriculum_vitae.md @@ -0,0 +1,3 @@ +# `rendercv.data.models.curriculum_vitae` + +::: rendercv.data.models.curriculum_vitae diff --git a/docs/reference/data/models/design.md b/docs/reference/data/models/design.md new file mode 100644 index 00000000..118157d6 --- /dev/null +++ b/docs/reference/data/models/design.md @@ -0,0 +1,3 @@ +# `rendercv.data.models.design` + +::: rendercv.data.models.design diff --git a/docs/reference/data/models/entry_types.md b/docs/reference/data/models/entry_types.md new file mode 100644 index 00000000..44e11462 --- /dev/null +++ b/docs/reference/data/models/entry_types.md @@ -0,0 +1,3 @@ +# `rendercv.data.models.entry_types` + +::: rendercv.data.models.entry_types diff --git a/docs/reference/data/models/index.md b/docs/reference/data/models/index.md new file mode 100644 index 00000000..313fba01 --- /dev/null +++ b/docs/reference/data/models/index.md @@ -0,0 +1,3 @@ +# `rendercv.data.models` + +::: rendercv.data.models diff --git a/docs/reference/data/models/locale_catalog.md b/docs/reference/data/models/locale_catalog.md new file mode 100644 index 00000000..2362bf7f --- /dev/null +++ b/docs/reference/data/models/locale_catalog.md @@ -0,0 +1,3 @@ +# `rendercv.data.models.locale_catalog` + +::: rendercv.data.models.locale_catalog diff --git a/docs/reference/data/models/rendercv_data_model.md b/docs/reference/data/models/rendercv_data_model.md new file mode 100644 index 00000000..6edd1cc3 --- /dev/null +++ b/docs/reference/data/models/rendercv_data_model.md @@ -0,0 +1,3 @@ +# `rendercv.data.models.rendercv_data_model` + +::: rendercv.data.models.rendercv_data_model diff --git a/docs/reference/data/reader.md b/docs/reference/data/reader.md new file mode 100644 index 00000000..5264bb38 --- /dev/null +++ b/docs/reference/data/reader.md @@ -0,0 +1,3 @@ +# `rendercv.data.reader` + +::: rendercv.data.reader diff --git a/docs/reference/data_models.md b/docs/reference/data_models.md deleted file mode 100644 index f89c9a78..00000000 --- a/docs/reference/data_models.md +++ /dev/null @@ -1,3 +0,0 @@ -# `data_models.py` - -::: rendercv.data_models \ No newline at end of file diff --git a/docs/reference/index.md b/docs/reference/index.md index b9b82192..29e7d3a7 100644 --- a/docs/reference/index.md +++ b/docs/reference/index.md @@ -4,11 +4,11 @@ In this section, you can find how RenderCV's components are structured and how they interact with each other. -- [cli.py](cli.md) – This module contains all the command-line interface (CLI) related code for RenderCV. -- [data_models.py](data_models.md) – This module contains classes and functions to parse and validate RenderCV's input YAML. -- [renderer.py](renderer.md) – This module contains utilities for generating $\LaTeX$, Markdown, and HTML files, as well as running TinyTeX for RenderCV. -- [themes](themes/index.md) – This package contains all the built-in themes of RenderCV. - - [classic](themes/classic.md) - - [engineeringresumes](themes/engineeringresumes.md) - - [sb2nov](themes/sb2nov.md) - - [moderncv](themes/moderncv.md) +- [`cli`](cli/index.md) – This package contains all the command-line interface (CLI) related code for RenderCV. +- [`data`](data/index.md) – This package contains classes and functions to parse and validate a YAML input file. +- [`renderer`](renderer/index.md) – This package contains utilities for generating the output files. +- [`themes`](themes/index.md) – This package contains all the built-in themes of RenderCV. + - [`classic`](themes/classic.md) + - [`engineeringresumes`](themes/engineeringresumes.md) + - [`sb2nov`](themes/sb2nov.md) + - [`moderncv`](themes/moderncv.md) diff --git a/docs/reference/renderer.md b/docs/reference/renderer.md deleted file mode 100644 index ac2e21a3..00000000 --- a/docs/reference/renderer.md +++ /dev/null @@ -1,3 +0,0 @@ -# `renderer.py` - -::: rendercv.renderer \ No newline at end of file diff --git a/docs/reference/renderer/index.md b/docs/reference/renderer/index.md new file mode 100644 index 00000000..51ca22d4 --- /dev/null +++ b/docs/reference/renderer/index.md @@ -0,0 +1,3 @@ +# `rendercv.renderer` + +::: rendercv.renderer diff --git a/docs/reference/renderer/renderer.md b/docs/reference/renderer/renderer.md new file mode 100644 index 00000000..07beb194 --- /dev/null +++ b/docs/reference/renderer/renderer.md @@ -0,0 +1,3 @@ +# `rendercv.renderer.renderer` + +::: rendercv.renderer.renderer diff --git a/docs/reference/renderer/templater.md b/docs/reference/renderer/templater.md new file mode 100644 index 00000000..0a249fa7 --- /dev/null +++ b/docs/reference/renderer/templater.md @@ -0,0 +1,3 @@ +# `rendercv.renderer.templater` + +::: rendercv.renderer.templater diff --git a/docs/update_entry_figures.py b/docs/update_entry_figures.py index e1340c51..58694266 100644 --- a/docs/update_entry_figures.py +++ b/docs/update_entry_figures.py @@ -14,8 +14,8 @@ from typing import Any import pdfCropMargins import ruamel.yaml -import rendercv.data as dm -import rendercv.renderer as r +import rendercv.data as data +import rendercv.renderer as renderer repository_root = pathlib.Path(__file__).parent.parent rendercv_path = repository_root / "rendercv" @@ -127,7 +127,7 @@ def define_env(env): "alt_text": f"{proper_entry_name} in {theme}", "theme": theme, } - for theme in dm.available_themes + for theme in data.available_themes ], } @@ -136,7 +136,7 @@ def define_env(env): # for theme templates reference docs: themes_path = rendercv_path / "themes" theme_templates = dict() - for theme in dm.available_themes: + for theme in data.available_themes: theme_templates[theme] = dict() for theme_file in themes_path.glob(f"{theme}/*.tex"): theme_templates[theme][ @@ -146,12 +146,12 @@ def define_env(env): env.variables["theme_templates"] = theme_templates # available themes strings (put available themes between ``) - themes = [f"`{theme}`" for theme in dm.available_themes] + themes = [f"`{theme}`" for theme in data.available_themes] env.variables["available_themes"] = ", ".join(themes) # available social networks strings (put available social networks between ``) social_networks = [ - f"`{social_network}`" for social_network in dm.available_social_networks + f"`{social_network}`" for social_network in data.available_social_networks ] env.variables["available_social_networks"] = ", ".join(social_networks) @@ -160,15 +160,15 @@ def generate_entry_figures(): """Generate an image for each entry type and theme.""" # Generate PDF figures for each entry type and theme entries = { - "education_entry": dm.EducationEntry(**education_entry), - "experience_entry": dm.ExperienceEntry(**experience_entry), - "normal_entry": dm.NormalEntry(**normal_entry), - "publication_entry": dm.PublicationEntry(**publication_entry), - "one_line_entry": dm.OneLineEntry(**one_line_entry), + "education_entry": data.EducationEntry(**education_entry), + "experience_entry": data.ExperienceEntry(**experience_entry), + "normal_entry": data.NormalEntry(**normal_entry), + "publication_entry": data.PublicationEntry(**publication_entry), + "one_line_entry": data.OneLineEntry(**one_line_entry), "text_entry": f"{text_entry}", - "bullet_entry": dm.BulletEntry(**bullet_entry), + "bullet_entry": data.BulletEntry(**bullet_entry), } - themes = dm.available_themes + themes = data.available_themes with tempfile.TemporaryDirectory() as temporary_directory: # create a temporary directory: @@ -186,18 +186,18 @@ def generate_entry_figures(): for entry_type, entry in entries.items(): # Create the data model with only one section and one entry - data_model = dm.RenderCVDataModel( + data_model = data.RenderCVDataModel( **{ - "cv": dm.CurriculumVitae(sections={entry_type: [entry]}), + "cv": data.CurriculumVitae(sections={entry_type: [entry]}), "design": design_dictionary, } ) # Render: - latex_file_path = r.render_a_latex_file_and_copy_theme_files( + latex_file_path = renderer.render_a_latex_file_and_copy_theme_files( data_model, temporary_directory_path ) - pdf_file_path = r.render_pdf_from_latex(latex_file_path) + pdf_file_path = renderer.render_pdf_from_latex(latex_file_path) # Prepare the output directory and file path: output_directory = image_assets_directory / theme @@ -228,7 +228,7 @@ def generate_entry_figures(): ) # Convert pdf to an image - png_file_path = r.render_a_markdown_file(output_pdf_file_path)[0] + png_file_path = renderer.render_a_markdown_file(output_pdf_file_path)[0] desired_png_file_path = output_pdf_file_path.with_suffix(".png") # If the image exists, remove it diff --git a/docs/update_examples.py b/docs/update_examples.py index 0e90bff2..ab8916f9 100644 --- a/docs/update_examples.py +++ b/docs/update_examples.py @@ -5,8 +5,8 @@ import pathlib import shutil import rendercv.cli as cli -import rendercv.data as dm -import rendercv.renderer as r +import rendercv.data as data +import rendercv.renderer as renderer repository_root = pathlib.Path(__file__).parent.parent rendercv_path = repository_root / "rendercv" @@ -22,7 +22,7 @@ def generate_examples(): examples_directory_path.mkdir() os.chdir(examples_directory_path) - themes = dm.available_themes + themes = data.available_themes for theme in themes: cli.cli_command_new( "John Doe", @@ -61,7 +61,7 @@ def generate_examples(): shutil.rmtree(rendercv_output_directory) # convert first page of the pdf to an image: - png_file_paths = r.render_a_markdown_file(new_pdf_file_path) + png_file_paths = renderer.render_a_markdown_file(new_pdf_file_path) firt_page_png_file_path = png_file_paths[0] if len(png_file_paths) > 1: # remove the other pages diff --git a/docs/update_schema.py b/docs/update_schema.py index 4bb2c5ca..2954cdbf 100644 --- a/docs/update_schema.py +++ b/docs/update_schema.py @@ -2,7 +2,7 @@ import pathlib -import rendercv.data as dm +import rendercv.data as data repository_root = pathlib.Path(__file__).parent.parent @@ -10,7 +10,7 @@ repository_root = pathlib.Path(__file__).parent.parent def generate_schema(): """Generate the schema.""" json_schema_file_path = repository_root / "schema.json" - dm.generate_json_schema_file(json_schema_file_path) + data.generate_json_schema_file(json_schema_file_path) if __name__ == "__main__": diff --git a/mkdocs.yaml b/mkdocs.yaml index 02404f6a..c7837c22 100644 --- a/mkdocs.yaml +++ b/mkdocs.yaml @@ -61,9 +61,28 @@ nav: - FAQ: developer_guide/faq.md - Reference: - Reference: reference/index.md - - cli.py: reference/cli.md - - data_models.py: reference/data_models.md - - renderer.py: reference/renderer.md + - cli: + - cli: reference/cli/index.md + - commands: reference/cli/commands.md + - printer: reference/cli/printer.md + - utilities: reference/cli/utilities.md + - data: + - data: reference/data/index.md + - models: + - models: reference/data/models/index.md + - base: reference/data/models/base.md + - computers: reference/data/models/computers.md + - entry_types: reference/data/models/entry_types.md + - curriculum_vitae: reference/data/models/curriculum_vitae.md + - design: reference/data/models/design.md + - locale_catalog: reference/data/models/locale_catalog.md + - rendercv_data_model: reference/data/models/rendercv_data_model.md + - generator: reference/data/generator.md + - reader: reference/data/reader.md + - renderer: + - renderer: reference/renderer/index.md + - renderer: reference/renderer/renderer.md + - templater: reference/renderer/templater.md - themes: - themes: reference/themes/index.md - classic: reference/themes/classic.md diff --git a/rendercv/cli/utilities.py b/rendercv/cli/utilities.py index 846b422c..3da7a904 100644 --- a/rendercv/cli/utilities.py +++ b/rendercv/cli/utilities.py @@ -172,7 +172,7 @@ def get_error_message_and_location_and_value_from_a_custom_error( error_string: str, ) -> tuple[Optional[str], Optional[str], Optional[str]]: """Look at a string and figure out if it's a custom error message that has been - sent from [`data_models.py`](data_models.md). If it is, then return the custom + sent from `rendercv.data.reader.read_input_file`. If it is, then return the custom message, location, and the input value. This is done because sometimes we raise an error about a specific field in the model diff --git a/rendercv/data/__init__.py b/rendercv/data/__init__.py index b1e5f205..abc94849 100644 --- a/rendercv/data/__init__.py +++ b/rendercv/data/__init__.py @@ -31,7 +31,9 @@ from .models import ( SocialNetwork, available_social_networks, available_theme_options, + available_themes, format_date, + SectionContents, ) from .reader import read_input_file @@ -56,4 +58,5 @@ __all__ = [ "format_date", "Entry", "available_social_networks", + "SectionContents", ] diff --git a/rendercv/data/models/__init__.py b/rendercv/data/models/__init__.py index 1526387e..a7e36341 100644 --- a/rendercv/data/models/__init__.py +++ b/rendercv/data/models/__init__.py @@ -21,8 +21,13 @@ modules, each containing a different group of data models. """ from .computers import format_date -from .curriculum_vitae import CurriculumVitae, SocialNetwork, available_social_networks -from .design import available_theme_options +from .curriculum_vitae import ( + CurriculumVitae, + SocialNetwork, + available_social_networks, + SectionContents, +) +from .design import available_theme_options, available_themes from .entry_types import ( BulletEntry, EducationEntry, @@ -50,4 +55,6 @@ __all__ = [ "format_date", "Entry", "available_social_networks", + "SectionContents", + "available_themes", ] diff --git a/rendercv/data/models/design.py b/rendercv/data/models/design.py index b391f590..bfb0cbe2 100644 --- a/rendercv/data/models/design.py +++ b/rendercv/data/models/design.py @@ -10,10 +10,10 @@ from typing import Annotated, Any, Type import pydantic -from ...renderer.themes.classic import ClassicThemeOptions -from ...renderer.themes.engineeringresumes import EngineeringresumesThemeOptions -from ...renderer.themes.moderncv import ModerncvThemeOptions -from ...renderer.themes.sb2nov import Sb2novThemeOptions +from ...themes.classic import ClassicThemeOptions +from ...themes.engineeringresumes import EngineeringresumesThemeOptions +from ...themes.moderncv import ModerncvThemeOptions +from ...themes.sb2nov import Sb2novThemeOptions from . import entry_types from .base import RenderCVBaseModel @@ -175,3 +175,5 @@ available_theme_options = { "sb2nov": Sb2novThemeOptions, "engineeringresumes": EngineeringresumesThemeOptions, } + +available_themes = list(available_theme_options.keys()) diff --git a/rendercv/data/models/entry_types.py b/rendercv/data/models/entry_types.py index ed9aff36..1621cc13 100644 --- a/rendercv/data/models/entry_types.py +++ b/rendercv/data/models/entry_types.py @@ -1,5 +1,5 @@ """ -`rendercv.models.data.entry_types` module contains the data models of all the available +The `rendercv.models.data.entry_types` module contains the data models of all the available entry types in RenderCV. """ @@ -85,7 +85,9 @@ def validate_and_adjust_dates_for_an_entry( """Check if the dates are provided correctly and make the necessary adjustments. Args: - entry (EntryBase): The entry to validate its dates. + start_date (StartDate): The start date of the event. + end_date (EndDate): The end date of the event. + date (ArbitraryDate): The date of the event. Returns: EntryBase: The validated """ diff --git a/rendercv/data/models/locale_catalog.py b/rendercv/data/models/locale_catalog.py index 0d43042f..1df5ae03 100644 --- a/rendercv/data/models/locale_catalog.py +++ b/rendercv/data/models/locale_catalog.py @@ -1,6 +1,6 @@ """ -`rendercv.models.locale_catalog` module contains the data model of the `locale_catalog` -field of the input file. +The `rendercv.models.locale_catalog` module contains the data model of the +`locale_catalog` field of the input file. """ from typing import Annotated, Optional diff --git a/rendercv/data/models/rendercv_data_model.py b/rendercv/data/models/rendercv_data_model.py index dcd6b5ba..088af9dd 100644 --- a/rendercv/data/models/rendercv_data_model.py +++ b/rendercv/data/models/rendercv_data_model.py @@ -7,7 +7,7 @@ from typing import Optional import pydantic -from ...renderer.themes.classic import ClassicThemeOptions +from ...themes.classic import ClassicThemeOptions # Disable Pydantic warnings: # warnings.filterwarnings("ignore") diff --git a/rendercv/renderer/renderer.py b/rendercv/renderer/renderer.py index 5868fb5b..ebcf24ec 100644 --- a/rendercv/renderer/renderer.py +++ b/rendercv/renderer/renderer.py @@ -14,8 +14,8 @@ from typing import Optional import fitz import markdown -from .. import data as dm -from . import templater as tp +from .. import data +from . import templater def copy_theme_files_to_output_directory( @@ -31,7 +31,7 @@ def copy_theme_files_to_output_directory( theme_name (str): The name of the theme. output_directory_path (pathlib.Path): Path to the output directory. """ - if theme_name in dm.available_themes: + if theme_name in data.available_themes: theme_directory_path = importlib.resources.files( f"rendercv.themes.{theme_name}" ) @@ -69,7 +69,7 @@ def copy_theme_files_to_output_directory( def render_a_latex_file( - rendercv_data_model: dm.RenderCVDataModel, output_directory: pathlib.Path + rendercv_data_model: data.RenderCVDataModel, output_directory: pathlib.Path ) -> pathlib.Path: """Render the $\\LaTeX$ file with the given data model and write it to the output directory. @@ -84,8 +84,8 @@ def render_a_latex_file( if not output_directory.is_dir(): output_directory.mkdir(parents=True) - jinja2_environment = tp.setup_jinja2_environment() - latex_file_object = tp.LaTeXFile( + jinja2_environment = templater.setup_jinja2_environment() + latex_file_object = templater.LaTeXFile( rendercv_data_model, jinja2_environment, ) @@ -98,7 +98,7 @@ def render_a_latex_file( def render_a_markdown_file( - rendercv_data_model: dm.RenderCVDataModel, output_directory: pathlib.Path + rendercv_data_model: data.RenderCVDataModel, output_directory: pathlib.Path ) -> pathlib.Path: """Render the Markdown file with the given data model and write it to the output directory. @@ -113,8 +113,8 @@ def render_a_markdown_file( if not output_directory.is_dir(): output_directory.mkdir(parents=True) - jinja2_environment = tp.setup_jinja2_environment() - markdown_file_object = tp.MarkdownFile( + jinja2_environment = templater.setup_jinja2_environment() + markdown_file_object = templater.MarkdownFile( rendercv_data_model, jinja2_environment, ) @@ -127,7 +127,7 @@ def render_a_markdown_file( def render_a_latex_file_and_copy_theme_files( - rendercv_data_model: dm.RenderCVDataModel, output_directory: pathlib.Path + rendercv_data_model: data.RenderCVDataModel, output_directory: pathlib.Path ) -> pathlib.Path: """Render the $\\LaTeX$ file with the given data model in the output directory and copy the auxiliary theme files to the output directory. @@ -304,7 +304,7 @@ def render_html_from_markdown(markdown_file_path: pathlib.Path) -> pathlib.Path: else: title = title.group(1) - jinja2_environment = tp.setup_jinja2_environment() + jinja2_environment = templater.setup_jinja2_environment() html_template = jinja2_environment.get_template("main.j2.html") html = html_template.render(html_body=html_body, title=title) diff --git a/rendercv/renderer/templater.py b/rendercv/renderer/templater.py index 63fd2d0a..a21f49be 100644 --- a/rendercv/renderer/templater.py +++ b/rendercv/renderer/templater.py @@ -12,7 +12,7 @@ from typing import Any, Optional import jinja2 -from .. import data as dm +from .. import data class TemplatedFile: @@ -28,7 +28,7 @@ class TemplatedFile: def __init__( self, - data_model: dm.RenderCVDataModel, + data_model: data.RenderCVDataModel, environment: jinja2.Environment, ): self.cv = data_model.cv @@ -40,7 +40,7 @@ class TemplatedFile: theme_name: str, template_name: str, extension: str, - entry: Optional[dm.Entry] = None, + entry: Optional[data.Entry] = None, **kwargs, ) -> str: """Template one of the files in the `themes` directory. @@ -75,7 +75,7 @@ class TemplatedFile: cv=self.cv, design=self.design, entry=entry, - today=dm.format_date(Date.today(), use_full_name=True), + today=data.format_date(Date.today(), use_full_name=True), **kwargs, ) @@ -97,7 +97,7 @@ class LaTeXFile(TemplatedFile): def __init__( self, - data_model: dm.RenderCVDataModel, + data_model: data.RenderCVDataModel, environment: jinja2.Environment, ): latex_file_data_model = copy.deepcopy(data_model) @@ -152,7 +152,7 @@ class LaTeXFile(TemplatedFile): def template( self, template_name: str, - entry: Optional[dm.Entry] = None, + entry: Optional[data.Entry] = None, **kwargs, ) -> str: """Template one of the files in the `themes` directory. @@ -242,7 +242,7 @@ class MarkdownFile(TemplatedFile): def template( self, template_name: str, - entry: Optional[dm.Entry] = None, + entry: Optional[data.Entry] = None, **kwargs, ) -> str: """Template one of the files in the `themes` directory. @@ -461,8 +461,8 @@ def markdown_to_latex(markdown_string: str) -> str: def transform_markdown_sections_to_latex_sections( - sections: dict[str, dm.SectionInput], -) -> Optional[dict[str, dm.SectionInput]]: + sections: dict[str, data.SectionContents], +) -> Optional[dict[str, data.SectionContents]]: """ Recursively loop through sections and convert all the Markdown strings (user input is in Markdown format) to $\\LaTeX$ strings. Also, escape special $\\LaTeX$ @@ -531,14 +531,9 @@ def make_matched_part_something( whole string will be made something. Warning: - This function shouldn't be used directly. Use - [make_matched_part_bold][rendercv.renderer.make_matched_part_bold], - [make_matched_part_underlined][rendercv.renderer.make_matched_part_underlined], - [make_matched_part_italic][rendercv.renderer.make_matched_part_italic], - or - [make_matched_part_non_line_breakable][rendercv.renderer.make_matched_part_non_line_breakable] - instead. - + This function shouldn't be used directly. Use `make_matched_part_bold`, + `make_matched_part_underlined`, `make_matched_part_italic`, or + `make_matched_part_non_line_breakable instead. Args: value (str): The string to make something. something (str): The $\\LaTeX$ command to use.