mirror of https://github.com/eyhc1/rendercv.git
cli: add PNG generation options
This commit is contained in:
parent
2959dd0567
commit
ec15f0ad3d
|
@ -501,6 +501,12 @@ def cli_command_render(
|
||||||
help="Copy the HTML file to the given path.",
|
help="Copy the HTML file to the given path.",
|
||||||
),
|
),
|
||||||
] = None,
|
] = None,
|
||||||
|
png_file_path: Annotated[
|
||||||
|
Optional[str],
|
||||||
|
typer.Option(
|
||||||
|
help="Copy the PNG file to the given path.",
|
||||||
|
),
|
||||||
|
] = None,
|
||||||
dont_generate_markdown: Annotated[
|
dont_generate_markdown: Annotated[
|
||||||
bool,
|
bool,
|
||||||
typer.Option(
|
typer.Option(
|
||||||
|
@ -515,6 +521,13 @@ def cli_command_render(
|
||||||
help="Don't generate the HTML file.",
|
help="Don't generate the HTML file.",
|
||||||
),
|
),
|
||||||
] = False,
|
] = False,
|
||||||
|
dont_generate_png: Annotated[
|
||||||
|
bool,
|
||||||
|
typer.Option(
|
||||||
|
"--dont-generate-png",
|
||||||
|
help="Don't generate the PNG file.",
|
||||||
|
),
|
||||||
|
] = False,
|
||||||
):
|
):
|
||||||
"""Generate a $\\LaTeX$ CV from a YAML input file.
|
"""Generate a $\\LaTeX$ CV from a YAML input file.
|
||||||
|
|
||||||
|
@ -532,10 +545,13 @@ def cli_command_render(
|
||||||
# compute the number of steps
|
# compute the number of steps
|
||||||
# 1. read and validate the input file
|
# 1. read and validate the input file
|
||||||
# 2. generate the LaTeX file
|
# 2. generate the LaTeX file
|
||||||
# 3. generate the Markdown file
|
# 3. render the LaTeX file to a PDF
|
||||||
# 4. render the LaTeX file to a PDF
|
# 4. render PNG files from the PDF
|
||||||
# 5. render the Markdown file to a HTML (for Grammarly)
|
# 5. generate the Markdown file
|
||||||
number_of_steps = 5
|
# 6. render the Markdown file to a HTML (for Grammarly)
|
||||||
|
number_of_steps = 6
|
||||||
|
if dont_generate_png:
|
||||||
|
number_of_steps = number_of_steps - 1
|
||||||
if dont_generate_markdown:
|
if dont_generate_markdown:
|
||||||
number_of_steps = number_of_steps - 2
|
number_of_steps = number_of_steps - 2
|
||||||
else:
|
else:
|
||||||
|
@ -563,6 +579,25 @@ def cli_command_render(
|
||||||
shutil.copy2(pdf_file_path_in_output_folder, pdf_file_path)
|
shutil.copy2(pdf_file_path_in_output_folder, pdf_file_path)
|
||||||
progress.finish_the_current_step()
|
progress.finish_the_current_step()
|
||||||
|
|
||||||
|
if not dont_generate_png:
|
||||||
|
progress.start_a_step("Rendering PNG files from the PDF")
|
||||||
|
png_file_paths_in_output_folder = r.pdf_to_pngs(
|
||||||
|
pdf_file_path_in_output_folder
|
||||||
|
)
|
||||||
|
if png_file_path:
|
||||||
|
if len(png_file_paths_in_output_folder) == 1:
|
||||||
|
shutil.copy2(png_file_paths_in_output_folder[0], png_file_path)
|
||||||
|
else:
|
||||||
|
for i, png_path in enumerate(png_file_paths_in_output_folder):
|
||||||
|
# append the page number to the file name
|
||||||
|
page_number = i + 1
|
||||||
|
png_file_path_with_page_number = (
|
||||||
|
pathlib.Path(png_file_path).parent
|
||||||
|
/ f"{pathlib.Path(png_file_path).stem}_{page_number}.png"
|
||||||
|
)
|
||||||
|
shutil.copy2(png_path, png_file_path_with_page_number)
|
||||||
|
progress.finish_the_current_step()
|
||||||
|
|
||||||
if not dont_generate_markdown:
|
if not dont_generate_markdown:
|
||||||
progress.start_a_step("Generating the Markdown file")
|
progress.start_a_step("Generating the Markdown file")
|
||||||
markdown_file_path_in_output_folder = r.generate_markdown_file(
|
markdown_file_path_in_output_folder = r.generate_markdown_file(
|
||||||
|
|
Loading…
Reference in New Issue