Coverage for rendercv/themes/engineeringresumes/__init__.py: 100%

100 statements  

« prev     ^ index     » next       coverage.py v7.6.10, created at 2025-01-26 00:25 +0000

1from typing import Literal, Optional 

2 

3import pydantic_extra_types.color as pydantic_color 

4 

5import rendercv.themes.options as o 

6 

7o.page_show_page_numbering_field_info.default = False 

8 

9 

10class Page(o.Page): 

11 show_page_numbering: bool = o.page_show_page_numbering_field_info 

12 

13 

14o.header_separator_between_connections_field_info.default = "|" 

15o.header_use_icons_for_connections_field_info.default = False 

16o.header_name_bold_field_info.default = False 

17o.header_name_font_size_field_info = "25pt" 

18 

19 

20class Header(o.Header): 

21 name_font_size: o.TypstDimension = o.header_name_font_size_field_info 

22 name_bold: bool = o.header_name_bold_field_info 

23 separator_between_connections: str = ( 

24 o.header_separator_between_connections_field_info 

25 ) 

26 use_icons_for_connections: bool = o.header_use_icons_for_connections_field_info 

27 

28 

29o.colors_name_field_info.default = "rgb(0,0,0)" 

30o.colors_connections_field_info.default = "rgb(0,0,0)" 

31o.colors_section_titles_field_info.default = "rgb(0,0,0)" 

32o.colors_links_field_info.default = "rgb(0,0,0)" 

33 

34 

35class Colors(o.Colors): 

36 name: pydantic_color.Color = o.colors_name_field_info 

37 connections: pydantic_color.Color = o.colors_connections_field_info 

38 section_titles: pydantic_color.Color = o.colors_section_titles_field_info 

39 links: pydantic_color.Color = o.colors_links_field_info 

40 

41 

42o.links_underline_field_info.default = True 

43o.links_use_external_link_icon_field_info.default = False 

44 

45 

46class Links(o.Links): 

47 underline: bool = o.links_underline_field_info 

48 use_external_link_icon: bool = o.links_use_external_link_icon_field_info 

49 

50 

51o.text_font_family_field_info.default = "XCharter" 

52o.text_leading_field_info.default = "0.6em" 

53 

54 

55class Text(o.Text): 

56 font_family: o.FontFamily = o.text_font_family_field_info 

57 leading: o.TypstDimension = o.text_leading_field_info 

58 

59 

60o.section_titles_type_field_info.default = "with-full-line" 

61o.section_titles_vertical_space_above_field_info.default = "0.55cm" 

62o.section_titles_vertical_space_below_field_info.default = "0.3cm" 

63o.section_titles_font_size_field_info.default = "1.2em" 

64 

65 

66class SectionTitles(o.SectionTitles): 

67 line_type: o.SectionTitleType = o.section_titles_type_field_info 

68 vertical_space_above: o.TypstDimension = ( 

69 o.section_titles_vertical_space_above_field_info 

70 ) 

71 vertical_space_below: o.TypstDimension = ( 

72 o.section_titles_vertical_space_below_field_info 

73 ) 

74 font_size: o.TypstDimension = o.section_titles_font_size_field_info 

75 

76 

77o.entries_vertical_space_between_entries_field_info.default = "0.4cm" 

78o.entries_left_and_right_margin_field_info.default = "0cm" 

79 

80 

81class Entries(o.Entries): 

82 vertical_space_between_entries: o.TypstDimension = ( 

83 o.entries_vertical_space_between_entries_field_info 

84 ) 

85 left_and_right_margin: o.TypstDimension = o.entries_left_and_right_margin_field_info 

86 

87 

88o.highlights_left_margin_field_info.default = "0cm" 

89o.highlights_top_margin_field_info.default = "0.25cm" 

90o.highlights_vertical_space_between_highlights_field_info.default = "0.19cm" 

91o.highlights_horizontal_space_between_bullet_and_highlight_field_info.default = "0.3em" 

92 

93 

94class Highlights(o.Highlights): 

95 left_margin: o.TypstDimension = o.highlights_left_margin_field_info 

96 top_margin: o.TypstDimension = o.highlights_top_margin_field_info 

97 horizontal_space_between_bullet_and_highlight: o.TypstDimension = ( 

98 o.highlights_horizontal_space_between_bullet_and_highlight_field_info 

99 ) 

100 vertical_space_between_highlights: o.TypstDimension = ( 

101 o.highlights_vertical_space_between_highlights_field_info 

102 ) 

103 

104 

105o.education_entry_main_column_first_row_template_field_info.default = ( 

106 "**INSTITUTION**, DEGREE in AREA -- LOCATION" 

107) 

108o.education_entry_degree_column_template_field_info.default = None 

109o.entry_base_with_date_date_and_location_column_template_field_info.default = "DATE" 

110 

111 

112class EducationEntry(o.EducationEntry): 

113 main_column_first_row_template: str = ( 

114 o.education_entry_main_column_first_row_template_field_info 

115 ) 

116 degree_column_template: Optional[str] = ( 

117 o.education_entry_degree_column_template_field_info 

118 ) 

119 date_and_location_column_template: str = ( 

120 o.entry_base_with_date_date_and_location_column_template_field_info 

121 ) 

122 

123 

124o.normal_entry_main_column_first_row_template_field_info.default = ( 

125 "**NAME** -- **LOCATION**" 

126) 

127 

128 

129class NormalEntry(o.NormalEntry): 

130 main_column_first_row_template: str = ( 

131 o.normal_entry_main_column_first_row_template_field_info 

132 ) 

133 date_and_location_column_template: str = ( 

134 o.entry_base_with_date_date_and_location_column_template_field_info 

135 ) 

136 

137 

138o.experience_entry_main_column_first_row_template_field_info.default = ( 

139 "**POSITION**, COMPANY -- LOCATION" 

140) 

141 

142 

143class ExperienceEntry(o.ExperienceEntry): 

144 main_column_first_row_template: str = ( 

145 o.experience_entry_main_column_first_row_template_field_info 

146 ) 

147 date_and_location_column_template: str = ( 

148 o.entry_base_with_date_date_and_location_column_template_field_info 

149 ) 

150 

151 

152o.entry_types_education_entry_field_info.default = EducationEntry() 

153o.entry_types_normal_entry_field_info.default = NormalEntry() 

154o.entry_types_experience_entry_field_info.default = ExperienceEntry() 

155 

156 

157class EntryTypes(o.EntryTypes): 

158 education_entry: EducationEntry = o.entry_types_education_entry_field_info 

159 normal_entry: NormalEntry = o.entry_types_normal_entry_field_info 

160 experience_entry: ExperienceEntry = o.entry_types_experience_entry_field_info 

161 

162 

163o.theme_options_theme_field_info.default = "engineeringresumes" 

164o.theme_options_page_field_info.default = Page() 

165o.theme_options_header_field_info.default = Header() 

166o.theme_options_text_field_info.default = Text() 

167o.theme_options_colors_field_info.default = Colors() 

168o.theme_options_entry_types_field_info.default = EntryTypes() 

169o.theme_options_section_titles_field_info.default = SectionTitles() 

170o.theme_options_highlights_field_info.default = Highlights() 

171o.theme_options_links_field_info.default = Links() 

172o.theme_options_entries_field_info.default = Entries() 

173 

174 

175class EngineeringresumesThemeOptions(o.ThemeOptions): 

176 theme: Literal["engineeringresumes"] = o.theme_options_theme_field_info 

177 page: Page = o.theme_options_page_field_info 

178 header: Header = o.theme_options_header_field_info 

179 highlights: Highlights = o.theme_options_highlights_field_info 

180 text: Text = o.theme_options_text_field_info 

181 colors: Colors = o.theme_options_colors_field_info 

182 links: Links = o.theme_options_links_field_info 

183 entries: Entries = o.theme_options_entries_field_info 

184 entry_types: EntryTypes = o.theme_options_entry_types_field_info 

185 section_titles: SectionTitles = o.theme_options_section_titles_field_info