From db074edafa4070cd9890d8e433aad772c647c473 Mon Sep 17 00:00:00 2001 From: wi11-holdsworth <83637728+wi11-holdsworth@users.noreply.github.com> Date: Thu, 18 Sep 2025 11:06:17 +1000 Subject: [PATCH] rendercv init --- .gitignore | 3 + engineeringresumes/BulletEntry.j2.typ | 3 + engineeringresumes/EducationEntry.j2.typ | 106 ++++ engineeringresumes/ExperienceEntry.j2.typ | 36 ++ engineeringresumes/Header.j2.typ | 42 ++ engineeringresumes/NormalEntry.j2.typ | 36 ++ engineeringresumes/NumberedEntry.j2.typ | 1 + engineeringresumes/OneLineEntry.j2.typ | 3 + engineeringresumes/Preamble.j2.typ | 461 ++++++++++++++++++ engineeringresumes/PublicationEntry.j2.typ | 45 ++ .../ReversedNumberedEntry.j2.typ | 1 + engineeringresumes/SectionBeginning.j2.typ | 12 + engineeringresumes/SectionEnding.j2.typ | 21 + engineeringresumes/TextEntry.j2.typ | 3 + markdown/BulletEntry.j2.md | 1 + markdown/EducationEntry.j2.md | 9 + markdown/ExperienceEntry.j2.md | 9 + markdown/Header.j2.md | 19 + markdown/NormalEntry.j2.md | 9 + markdown/NumberedEntry.j2.md | 1 + markdown/OneLineEntry.j2.md | 1 + markdown/PublicationEntry.j2.md | 9 + markdown/ReversedNumberedEntry.j2.md | 1 + markdown/SectionBeginning.j2.md | 1 + markdown/TextEntry.j2.md | 2 + 25 files changed, 835 insertions(+) create mode 100644 engineeringresumes/BulletEntry.j2.typ create mode 100644 engineeringresumes/EducationEntry.j2.typ create mode 100644 engineeringresumes/ExperienceEntry.j2.typ create mode 100644 engineeringresumes/Header.j2.typ create mode 100644 engineeringresumes/NormalEntry.j2.typ create mode 100644 engineeringresumes/NumberedEntry.j2.typ create mode 100644 engineeringresumes/OneLineEntry.j2.typ create mode 100644 engineeringresumes/Preamble.j2.typ create mode 100644 engineeringresumes/PublicationEntry.j2.typ create mode 100644 engineeringresumes/ReversedNumberedEntry.j2.typ create mode 100644 engineeringresumes/SectionBeginning.j2.typ create mode 100644 engineeringresumes/SectionEnding.j2.typ create mode 100644 engineeringresumes/TextEntry.j2.typ create mode 100644 markdown/BulletEntry.j2.md create mode 100644 markdown/EducationEntry.j2.md create mode 100644 markdown/ExperienceEntry.j2.md create mode 100644 markdown/Header.j2.md create mode 100644 markdown/NormalEntry.j2.md create mode 100644 markdown/NumberedEntry.j2.md create mode 100644 markdown/OneLineEntry.j2.md create mode 100644 markdown/PublicationEntry.j2.md create mode 100644 markdown/ReversedNumberedEntry.j2.md create mode 100644 markdown/SectionBeginning.j2.md create mode 100644 markdown/TextEntry.j2.md diff --git a/.gitignore b/.gitignore index 9b42106..7916535 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,4 @@ .direnv/ +*/__pycache__/ +rendercv_output/ +!rendercv_output/*.pdf diff --git a/engineeringresumes/BulletEntry.j2.typ b/engineeringresumes/BulletEntry.j2.typ new file mode 100644 index 0000000..c179c66 --- /dev/null +++ b/engineeringresumes/BulletEntry.j2.typ @@ -0,0 +1,3 @@ +#one-col-entry( + content: [- <>], +) diff --git a/engineeringresumes/EducationEntry.j2.typ b/engineeringresumes/EducationEntry.j2.typ new file mode 100644 index 0000000..cd89d65 --- /dev/null +++ b/engineeringresumes/EducationEntry.j2.typ @@ -0,0 +1,106 @@ +((* if date_and_location_column_template and design.entry_types.education_entry.degree_column_template *)) +// YES DATE, YES DEGREE +#three-col-entry( + left-column-width: <>, + left-content: [<>], + middle-content: [ + <> + ((* if design.entries.short_second_row or date_and_location_column_template.count("\n\n") > main_column_first_row_template.count("\n\n") or design.section_titles.type=="moderncv" *)) + ((* if main_column_second_row_template *)) + #v(-design-text-leading) + ((* endif *)) + + <> + ((* endif *)) + ], + right-content: [ + <> + ], +) +((* if not (design.entries.short_second_row or date_and_location_column_template.count("\n\n") > main_column_first_row_template.count("\n\n")) and main_column_second_row_template *)) +#block( + [ + #set par(spacing: 0pt) + <> + ], + inset: ( + left: design-entry-types-education-entry-degree-column-width + design-entries-horizontal-space-between-columns + design-entries-left-and-right-margin, + right: design-entries-left-and-right-margin, + ), +) +((* endif *)) +((* elif date_and_location_column_template and not design.entry_types.education_entry.degree_column_template *)) +// YES DATE, NO DEGREE +#two-col-entry( + left-content: [ + <> + ((* if design.entries.short_second_row or date_and_location_column_template.count("\n\n") > main_column_first_row_template.count("\n\n") or design.section_titles.type=="moderncv" *)) + ((* if main_column_second_row_template *)) + #v(-design-text-leading) + ((* endif *)) + + <> + ((* endif *)) + ], + right-content: [ + <> + ], +) + ((* if not (design.entries.short_second_row or date_and_location_column_template.count("\n\n") > main_column_first_row_template.count("\n\n") or design.section_titles.type=="moderncv") *)) +#block( + [ + #set par(spacing: 0pt) + <> + ], + inset: ( + left: design-entries-left-and-right-margin, + right: design-entries-left-and-right-margin, + ), +) +((* endif *)) +((* elif not date_and_location_column_template and design.entry_types.education_entry.degree_column_template *)) +// NO DATE, YES DEGREE +#two-col-entry( + left-column-width: <>, + right-column-width: 1fr, + alignments: (left, left), + left-content: [ + <> + ], + right-content: [ + <> + ((* if design.entries.short_second_row or date_and_location_column_template.count("\n\n") > main_column_first_row_template.count("\n\n") or design.section_titles.type=="moderncv" *)) + ((* if main_column_second_row_template *)) + #v(-design-text-leading) + ((* endif *)) + + <> + ((* endif *)) + ], +) +((* if not (design.entries.short_second_row or date_and_location_column_template.count("\n\n") > main_column_first_row_template.count("\n\n")) and main_column_second_row_template *)) +#block( + [ + #set par(spacing: 0pt) + <> + ], + inset: ( + left: design-entry-types-education-entry-degree-column-width + design-entries-horizontal-space-between-columns + design-entries-left-and-right-margin, + right: design-entries-left-and-right-margin, + ), +) +((* endif *)) +((* else *)) +// NO DATE, NO DEGREE + +#one-col-entry( + content: [ + <> + + ((* if main_column_second_row_template *)) + #v(-design-text-leading) + ((* endif *)) + <> + ], +) +((* endif *)) \ No newline at end of file diff --git a/engineeringresumes/ExperienceEntry.j2.typ b/engineeringresumes/ExperienceEntry.j2.typ new file mode 100644 index 0000000..ce90bd4 --- /dev/null +++ b/engineeringresumes/ExperienceEntry.j2.typ @@ -0,0 +1,36 @@ +((* if date_and_location_column_template *)) +#two-col-entry( + left-content: [ + <> + ((* if design.entries.short_second_row or date_and_location_column_template.count("\n\n") > main_column_first_row_template.count("\n\n") or design.section_titles.type=="moderncv" *)) + ((* if main_column_second_row_template *)) + #v(-design-text-leading) + ((* endif *)) + + <> + ((* endif *)) + ], + right-content: [ + <> + ], +) + ((* if not (design.entries.short_second_row or date_and_location_column_template.count("\n\n") > main_column_first_row_template.count("\n\n") or design.section_titles.type=="moderncv") *)) +#one-col-entry( + content: [ + <> + ], +) +((* endif *)) +((* else *)) + +#one-col-entry( + content: [ + <> + + ((* if main_column_second_row_template *)) + #v(-design-text-leading) + ((* endif *)) + <> + ], +) +((* endif *)) diff --git a/engineeringresumes/Header.j2.typ b/engineeringresumes/Header.j2.typ new file mode 100644 index 0000000..e504b56 --- /dev/null +++ b/engineeringresumes/Header.j2.typ @@ -0,0 +1,42 @@ +((* if cv.photo *)) +#two-col( + left-column-width: design-header-photo-width * 1.1, + right-column-width: 1fr, + left-content: [ + #align( + left + horizon, + image("profile_picture.jpg", width: design-header-photo-width), + ) + ], + column-gutter: 0cm, + right-content: [ +((* endif *)) +((* if cv.name *)) += <> +((* endif *)) + +// Print connections: +#let connections-list = ( +((* for connection in cv.connections *)) + [((*- if connection["url"] -*)) + #box(original-link("<>")[ + ((*- endif -*)) + ((*- if design.header.use_icons_for_connections -*)) + #fa-icon("<>", size: 0.9em) #h(0.05cm) + ((*- endif -*)) + ((*- if design.header.use_icons_for_connections or not connection["url"] -*)) + <> + ((*- else -*)) + <> + ((*- endif -*)) + ((*- if connection["url"] -*)) + ]) + ((*- endif -*))], +((* endfor *)) +) +#connections(connections-list) + +((* if cv.photo *)) + ], +) +((* endif *)) diff --git a/engineeringresumes/NormalEntry.j2.typ b/engineeringresumes/NormalEntry.j2.typ new file mode 100644 index 0000000..ce90bd4 --- /dev/null +++ b/engineeringresumes/NormalEntry.j2.typ @@ -0,0 +1,36 @@ +((* if date_and_location_column_template *)) +#two-col-entry( + left-content: [ + <> + ((* if design.entries.short_second_row or date_and_location_column_template.count("\n\n") > main_column_first_row_template.count("\n\n") or design.section_titles.type=="moderncv" *)) + ((* if main_column_second_row_template *)) + #v(-design-text-leading) + ((* endif *)) + + <> + ((* endif *)) + ], + right-content: [ + <> + ], +) + ((* if not (design.entries.short_second_row or date_and_location_column_template.count("\n\n") > main_column_first_row_template.count("\n\n") or design.section_titles.type=="moderncv") *)) +#one-col-entry( + content: [ + <> + ], +) +((* endif *)) +((* else *)) + +#one-col-entry( + content: [ + <> + + ((* if main_column_second_row_template *)) + #v(-design-text-leading) + ((* endif *)) + <> + ], +) +((* endif *)) diff --git a/engineeringresumes/NumberedEntry.j2.typ b/engineeringresumes/NumberedEntry.j2.typ new file mode 100644 index 0000000..b8ec33e --- /dev/null +++ b/engineeringresumes/NumberedEntry.j2.typ @@ -0,0 +1 @@ ++ <> \ No newline at end of file diff --git a/engineeringresumes/OneLineEntry.j2.typ b/engineeringresumes/OneLineEntry.j2.typ new file mode 100644 index 0000000..f48dd41 --- /dev/null +++ b/engineeringresumes/OneLineEntry.j2.typ @@ -0,0 +1,3 @@ +#one-col-entry( + content: [<