@yamlresume/core 0.11.1 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -178,6 +178,10 @@ declare const JapaneseCountryNames: Record<Country, string>;
178
178
  * Represents all possible countries & regions with their corresponding German names.
179
179
  */
180
180
  declare const GermanCountryNames: Record<Country, string>;
181
+ /**
182
+ * Represents all possible countries & regions with their corresponding Indonesian names.
183
+ */
184
+ declare const IndonesianCountryNames: Record<Country, string>;
181
185
 
182
186
  /**
183
187
  * MIT License
@@ -223,7 +227,20 @@ declare const HTML_TEMPLATE_OPTIONS: readonly ["calm", "vscode"];
223
227
  /** The options for the latex layout fontspec numbers style. */
224
228
  declare const LATEX_FONTSPEC_NUMBERS_OPTIONS: readonly ["Lining", "OldStyle", "Auto"];
225
229
  /** Defines identifiers for the available latex layout templates. */
226
- declare const LATEX_TEMPLATE_OPTIONS: readonly ["moderncv-banking", "moderncv-casual", "moderncv-classic"];
230
+ declare const LATEX_TEMPLATE_OPTIONS: readonly ["jake", "moderncv-banking", "moderncv-casual", "moderncv-classic"];
231
+ /**
232
+ * Defines line spacing options (shared across all engines).
233
+ *
234
+ * These semantic values follow Tailwind CSS's leading scale exactly:
235
+ * - tight: Compact spacing for fitting more content
236
+ * - snug: Slightly more space than tight
237
+ * - normal: Balanced readability (default)
238
+ * - relaxed: Comfortable reading with more breathing room
239
+ * - loose: Very spacious layout (generally not recommended)
240
+ *
241
+ * @see {@link https://tailwindcss.com/docs/line-height}
242
+ */
243
+ declare const LINE_SPACING_OPTIONS: readonly ["tight", "snug", "normal", "relaxed", "loose"];
227
244
  /**
228
245
  * Defines common world languages.
229
246
  *
@@ -243,7 +260,7 @@ declare const LEVEL_OPTIONS: readonly ["Novice", "Beginner", "Intermediate", "Ad
243
260
  *
244
261
  * @see {@link https://en.wikipedia.org/wiki/IETF_language_tag}
245
262
  */
246
- declare const LOCALE_LANGUAGE_OPTIONS: readonly ["en", "zh-hans", "zh-hant-hk", "zh-hant-tw", "es", "fr", "no", "nl", "ja", "de"];
263
+ declare const LOCALE_LANGUAGE_OPTIONS: readonly ["en", "zh-hans", "zh-hant-hk", "zh-hant-tw", "es", "fr", "no", "nl", "ja", "de", "id"];
247
264
  /**
248
265
  * Defines network options.
249
266
  */
@@ -337,6 +354,10 @@ type Level = (typeof LEVEL_OPTIONS)[number];
337
354
  * A union type for all possible latex paper size options.
338
355
  */
339
356
  type LatexPaperSize = (typeof LATEX_PAPER_SIZE_OPTIONS)[number];
357
+ /**
358
+ * A union type for all possible line spacing options.
359
+ */
360
+ type LineSpacing = (typeof LINE_SPACING_OPTIONS)[number];
340
361
  /**
341
362
  * A union type for all possible locale languages.
342
363
  *
@@ -1089,6 +1110,8 @@ type HtmlTypography = {
1089
1110
  fontSize?: HtmlFontSize;
1090
1111
  /** A comma-separated list of font families to use. */
1091
1112
  fontFamily?: string;
1113
+ /** Line spacing for the document (e.g., "tight", "normal", "relaxed"). */
1114
+ lineSpacing?: LineSpacing;
1092
1115
  };
1093
1116
  /**
1094
1117
  * Defines advanced HTML configuration options.
@@ -1162,6 +1185,8 @@ type LatexTypography = {
1162
1185
  fontSize?: LatexFontSize;
1163
1186
  /** A comma-separated list of font families to use. */
1164
1187
  fontFamily?: string;
1188
+ /** Line spacing for the document (e.g., "tight", "normal", "relaxed"). */
1189
+ lineSpacing?: LineSpacing;
1165
1190
  /** Link styling settings. */
1166
1191
  links?: Links;
1167
1192
  };
@@ -1321,7 +1346,7 @@ declare function getLatexTemplateDetail(template: LatexTemplate): {
1321
1346
  engine: LayoutEngine;
1322
1347
  name: string;
1323
1348
  description: string;
1324
- id: "moderncv-banking" | "moderncv-casual" | "moderncv-classic";
1349
+ id: "jake" | "moderncv-banking" | "moderncv-casual" | "moderncv-classic";
1325
1350
  };
1326
1351
  /**
1327
1352
  * Get the detail of the given HTML template.
@@ -1357,7 +1382,7 @@ declare const MARGIN_OPTIONS: string[];
1357
1382
  * @returns The language code and name of the given locale language.
1358
1383
  */
1359
1384
  declare function getLocaleLanguageDetail(localeLanguage: LocaleLanguage): {
1360
- localeLanguage: "en" | "zh-hans" | "zh-hant-hk" | "zh-hant-tw" | "es" | "fr" | "no" | "nl" | "ja" | "de";
1385
+ localeLanguage: "en" | "zh-hans" | "zh-hant-hk" | "zh-hant-tw" | "es" | "fr" | "no" | "nl" | "ja" | "de" | "id";
1361
1386
  name: string;
1362
1387
  };
1363
1388
  /** Default HTML layout configuration. */
@@ -2066,6 +2091,289 @@ declare class HtmlRenderer extends Renderer {
2066
2091
  render(): string;
2067
2092
  }
2068
2093
 
2094
+ /**
2095
+ * MIT License
2096
+ *
2097
+ * Copyright (c) 2023–Present PPResume (https://ppresume.com)
2098
+ *
2099
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
2100
+ * of this software and associated documentation files (the "Software"), to
2101
+ * deal in the Software without restriction, including without limitation the
2102
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
2103
+ * sell copies of the Software, and to permit persons to whom the Software is
2104
+ * furnished to do so, subject to the following conditions:
2105
+ *
2106
+ * The above copyright notice and this permission notice shall be included in
2107
+ * all copies or substantial portions of the Software.
2108
+ *
2109
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
2110
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
2111
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
2112
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
2113
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
2114
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
2115
+ * IN THE SOFTWARE.
2116
+ */
2117
+
2118
+ /**
2119
+ * Base class for LaTeX renderers.
2120
+ */
2121
+ declare abstract class LatexRenderer extends Renderer {
2122
+ /**
2123
+ * Check if the resume is a CJK resume.
2124
+ */
2125
+ protected isCJKResume(): boolean;
2126
+ /**
2127
+ * Render the LaTeX packages for Spanish support and other languages
2128
+ */
2129
+ protected renderBabelConfig(): string;
2130
+ /**
2131
+ * Render the fontspec configuration.
2132
+ */
2133
+ protected renderFontspecConfig(): string;
2134
+ /**
2135
+ * Render the LaTeX packages for CJK support
2136
+ */
2137
+ protected renderCTeXConfig(): string;
2138
+ /**
2139
+ * Render the page layout/margins using the geometry package.
2140
+ *
2141
+ * @returns The LaTeX code for page layout/margins configuration
2142
+ */
2143
+ protected renderGeometry(): string;
2144
+ /**
2145
+ * Render the line spacing configuration using the setspace package.
2146
+ *
2147
+ * @returns The LaTeX code for line spacing configuration
2148
+ */
2149
+ protected renderLineSpacingConfig(): string;
2150
+ /**
2151
+ * Render URL configuration to use normal text instead of monospace.
2152
+ *
2153
+ * @returns The LaTeX code for URL configuration
2154
+ */
2155
+ protected renderUrlConfig(): string;
2156
+ /**
2157
+ * Get FontAwesome icon for a network.
2158
+ */
2159
+ protected getFaIcon(network: string): string;
2160
+ /**
2161
+ * Whether to show icons in the rendered LaTeX.
2162
+ */
2163
+ protected get showIcons(): boolean;
2164
+ /**
2165
+ * Render a string with an icon.
2166
+ *
2167
+ * It should respect the `showIcons` option as well.
2168
+ *
2169
+ * @param icon The icon to use
2170
+ * @param info The string to use
2171
+ * @returns The string with an icon
2172
+ */
2173
+ protected iconedString(icon: string, info: string): string;
2174
+ }
2175
+
2176
+ /**
2177
+ * MIT License
2178
+ *
2179
+ * Copyright (c) 2023–Present PPResume (https://ppresume.com)
2180
+ *
2181
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
2182
+ * of this software and associated documentation files (the "Software"), to
2183
+ * deal in the Software without restriction, including without limitation the
2184
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
2185
+ * sell copies of the Software, and to permit persons to whom the Software is
2186
+ * furnished to do so, subject to the following conditions:
2187
+ *
2188
+ * The above copyright notice and this permission notice shall be included in
2189
+ * all copies or substantial portions of the Software.
2190
+ *
2191
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
2192
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
2193
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
2194
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
2195
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
2196
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
2197
+ * IN THE SOFTWARE.
2198
+ */
2199
+
2200
+ /**
2201
+ * Renderer for Jake's Resume template.
2202
+ *
2203
+ * This template is based on the popular "Jake's Resume" LaTeX template
2204
+ * originally created by Jake Gutierrez and widely used on Overleaf.
2205
+ *
2206
+ * It uses the `article` document class with custom commands for resume
2207
+ * formatting, producing a clean, ATS-friendly layout with:
2208
+ * - Centered header with contact info separated by `$|$`
2209
+ * - Section headings with `\titlerule` dividers
2210
+ * - `tabular*` based subheadings for aligned date ranges
2211
+ * - Compact itemize lists for bullet points
2212
+ *
2213
+ * @see {@link https://www.overleaf.com/latex/templates/jakes-resume/syzfjbzwjncs}
2214
+ * @see {@link https://github.com/jakeryang/resume}
2215
+ */
2216
+ declare class JakeRenderer extends LatexRenderer {
2217
+ private padding;
2218
+ private separator;
2219
+ /**
2220
+ * Constructor for the JakeRenderer class.
2221
+ *
2222
+ * @param resume - The resume object
2223
+ * @param layoutIndex - The index of the selected layout to use.
2224
+ * @param summaryParser - The summary parser used to parse summary field in
2225
+ * various sections.
2226
+ */
2227
+ constructor(resume: Resume, layoutIndex: number, summaryParser?: Parser);
2228
+ /**
2229
+ * Render the document class configuration.
2230
+ *
2231
+ * Uses the `article` document class, respecting user-configured paper size
2232
+ * and font size, with Jake's defaults of letterpaper and 11pt.
2233
+ */
2234
+ private renderDocumentClassConfig;
2235
+ /**
2236
+ * Render the LaTeX packages required by Jake's Resume template.
2237
+ */
2238
+ private renderPackages;
2239
+ /**
2240
+ * Render the page layout/margin configuration.
2241
+ */
2242
+ private renderPageNumbersConfig;
2243
+ /**
2244
+ * Render the section formatting configuration.
2245
+ */
2246
+ private renderSectionFormatting;
2247
+ /**
2248
+ * Render the custom resume commands used by Jake's template.
2249
+ */
2250
+ private renderCustomCommands;
2251
+ /**
2252
+ * Render PDF metadata using hyperref.
2253
+ */
2254
+ private renderPdfMetadata;
2255
+ /**
2256
+ * Render the preamble for the resume.
2257
+ *
2258
+ * @returns The LaTeX code for the preamble
2259
+ */
2260
+ renderPreamble(): string;
2261
+ /**
2262
+ * Render the basics section (centered header).
2263
+ *
2264
+ * @returns The LaTeX code for the heading
2265
+ */
2266
+ renderBasics(): string;
2267
+ /**
2268
+ * Render the location (full address) as the first line of contact info.
2269
+ *
2270
+ * @returns The LaTeX code for the location line
2271
+ */
2272
+ renderLocation(): string;
2273
+ /**
2274
+ * Render homepage and profiles as the third line of contact info.
2275
+ *
2276
+ * @returns The LaTeX code for the homepage/profiles line
2277
+ */
2278
+ renderProfiles(): string;
2279
+ /**
2280
+ * Render the summary section.
2281
+ *
2282
+ * @returns The LaTeX code for the summary section
2283
+ */
2284
+ renderSummary(): string;
2285
+ /**
2286
+ * Render the education section.
2287
+ *
2288
+ * @returns The LaTeX code for the education section
2289
+ */
2290
+ renderEducation(): string;
2291
+ /**
2292
+ * Render the work section.
2293
+ *
2294
+ * @returns The LaTeX code for the work section
2295
+ */
2296
+ renderWork(): string;
2297
+ /**
2298
+ * Render the languages section.
2299
+ *
2300
+ * Uses Jake's Technical Skills pattern with label: value format.
2301
+ *
2302
+ * @returns The LaTeX code for the languages section
2303
+ */
2304
+ renderLanguages(): string;
2305
+ /**
2306
+ * Render the skills section.
2307
+ *
2308
+ * Uses Jake's Technical Skills pattern with label: keywords format.
2309
+ *
2310
+ * @returns The LaTeX code for the skills section
2311
+ */
2312
+ renderSkills(): string;
2313
+ /**
2314
+ * Render the awards section.
2315
+ *
2316
+ * @returns The LaTeX code for the awards section
2317
+ */
2318
+ renderAwards(): string;
2319
+ /**
2320
+ * Render the certificates section.
2321
+ *
2322
+ * @returns The LaTeX code for the certificates section
2323
+ */
2324
+ renderCertificates(): string;
2325
+ /**
2326
+ * Render the publications section.
2327
+ *
2328
+ * @returns The LaTeX code for the publications section
2329
+ */
2330
+ renderPublications(): string;
2331
+ /**
2332
+ * Render the references section.
2333
+ *
2334
+ * @returns The LaTeX code for the references section
2335
+ */
2336
+ renderReferences(): string;
2337
+ /**
2338
+ * Render the projects section.
2339
+ *
2340
+ * Uses the `\resumeSubheading` command for consistent layout with other
2341
+ * sections like volunteer.
2342
+ *
2343
+ * @returns The LaTeX code for the projects section
2344
+ */
2345
+ renderProjects(): string;
2346
+ /**
2347
+ * Render the interests section.
2348
+ *
2349
+ * Uses Jake's Technical Skills pattern.
2350
+ *
2351
+ * @returns The LaTeX code for the interests section
2352
+ */
2353
+ renderInterests(): string;
2354
+ /**
2355
+ * Render the volunteer section.
2356
+ *
2357
+ * @returns The LaTeX code for the volunteer section
2358
+ */
2359
+ renderVolunteer(): string;
2360
+ /**
2361
+ * Render the resume.
2362
+ *
2363
+ * @returns The LaTeX code for the resume
2364
+ */
2365
+ render(): string;
2366
+ /**
2367
+ * Generate the LaTeX code for the resume.
2368
+ *
2369
+ * Assembles the preamble, header (basics + location + profiles in a
2370
+ * centered block), and ordered sections into a complete LaTeX document.
2371
+ *
2372
+ * @returns The LaTeX code for the resume
2373
+ */
2374
+ private generateTeX;
2375
+ }
2376
+
2069
2377
  /**
2070
2378
  * The style options for the moderncv document class.
2071
2379
  *
@@ -2110,7 +2418,7 @@ type ModerncvStyle = (typeof MODERNCV_STYLE_OPTIONS)[number];
2110
2418
  /**
2111
2419
  * Base class for moderncv renderers.
2112
2420
  */
2113
- declare class ModerncvBase extends Renderer {
2421
+ declare class ModerncvBase extends LatexRenderer {
2114
2422
  style: ModerncvStyle;
2115
2423
  /**
2116
2424
  * Constructor for the ModerncvBase class.
@@ -2122,14 +2430,6 @@ declare class ModerncvBase extends Renderer {
2122
2430
  * various sections.
2123
2431
  */
2124
2432
  constructor(resume: Resume, style: ModerncvStyle, layoutIndex: number, summaryParser: Parser);
2125
- /**
2126
- * Whether to show icons in the rendered LaTeX.
2127
- */
2128
- private get showIcons();
2129
- /**
2130
- * Check if the resume is a CJK resume.
2131
- */
2132
- private isCJKResume;
2133
2433
  /**
2134
2434
  * Render the document class configuration.
2135
2435
  */
@@ -2143,21 +2443,29 @@ declare class ModerncvBase extends Renderer {
2143
2443
  */
2144
2444
  private renderModerncvConfig;
2145
2445
  /**
2146
- * Render the layout configuration.
2147
- */
2148
- private renderLayoutConfig;
2149
- /**
2150
- * Render the LaTeX packages for CJK support
2151
- */
2152
- private renderCTeXConfig;
2153
- /**
2154
- * Render the LaTeX packages for Spanish support
2446
+ * Render the page numbers configuration.
2155
2447
  */
2156
- private renderBabelConfig;
2448
+ private renderPageNumbersConfig;
2157
2449
  /**
2158
- * Render the LaTeX packages for Spanish support
2450
+ * Render a redefinition of \httplink and \httpslink to support full URLs.
2451
+ *
2452
+ * The original moderncv \httplink and \httpslink macros always prepend
2453
+ * the protocol (http:// or https://) to the URL. This causes issues when
2454
+ * the URL already contains a protocol (e.g., https://example.com), resulting
2455
+ * in malformed URLs like https://https://example.com.
2456
+ *
2457
+ * This redefinition checks if the URL already contains "://" and if so,
2458
+ * uses the URL directly without prepending the protocol.
2459
+ *
2460
+ * Note: We use \str_set:Nx (with x-expansion) to fully expand the argument
2461
+ * before converting to a string. This is necessary because moderncv passes
2462
+ * the URL via a macro (\@homepage), and without expansion we would be
2463
+ * checking the literal string "\@homepage" instead of its value.
2464
+ * We then use \str_if_in:NnTF to check for "://" in the expanded URL.
2465
+ *
2466
+ * @returns The LaTeX code for the httplink/httpslink redefinition
2159
2467
  */
2160
- private renderFontspecConfig;
2468
+ private renderHomepageRedefinition;
2161
2469
  /**
2162
2470
  * Render the preamble for the resume.
2163
2471
  *
@@ -2176,10 +2484,6 @@ declare class ModerncvBase extends Renderer {
2176
2484
  * @returns The LaTeX code for the location section
2177
2485
  */
2178
2486
  renderLocation(): string;
2179
- /**
2180
- * Get FontAwesome icon for a network.
2181
- */
2182
- private getFaIcon;
2183
2487
  /**
2184
2488
  * Render the profiles section of the resume.
2185
2489
  *
@@ -2557,6 +2861,7 @@ declare const ResumeSchema: z.ZodObject<{
2557
2861
  typography: z.ZodOptional<z.ZodNullable<z.ZodObject<{
2558
2862
  fontSize: z.ZodOptional<z.ZodNullable<z.ZodType<"14px" | "15px" | "16px" | "17px" | "18px" | "19px" | "20px", unknown, z.core.$ZodTypeInternals<"14px" | "15px" | "16px" | "17px" | "18px" | "19px" | "20px", unknown>>>>;
2559
2863
  fontFamily: z.ZodOptional<z.ZodNullable<z.ZodType<string, unknown, z.core.$ZodTypeInternals<string, unknown>>>>;
2864
+ lineSpacing: z.ZodOptional<z.ZodNullable<z.ZodType<"tight" | "snug" | "normal" | "relaxed" | "loose", unknown, z.core.$ZodTypeInternals<"tight" | "snug" | "normal" | "relaxed" | "loose", unknown>>>>;
2560
2865
  }, z.core.$strip>>>;
2561
2866
  template: z.ZodOptional<z.ZodNullable<z.ZodType<"calm" | "vscode", unknown, z.core.$ZodTypeInternals<"calm" | "vscode", unknown>>>>;
2562
2867
  engine: z.ZodLiteral<"html">;
@@ -2603,8 +2908,9 @@ declare const ResumeSchema: z.ZodObject<{
2603
2908
  }, z.core.$strip>>>;
2604
2909
  fontSize: z.ZodOptional<z.ZodNullable<z.ZodType<"10pt" | "11pt" | "12pt", unknown, z.core.$ZodTypeInternals<"10pt" | "11pt" | "12pt", unknown>>>>;
2605
2910
  fontFamily: z.ZodOptional<z.ZodNullable<z.ZodType<string, unknown, z.core.$ZodTypeInternals<string, unknown>>>>;
2911
+ lineSpacing: z.ZodOptional<z.ZodNullable<z.ZodType<"tight" | "snug" | "normal" | "relaxed" | "loose", unknown, z.core.$ZodTypeInternals<"tight" | "snug" | "normal" | "relaxed" | "loose", unknown>>>>;
2606
2912
  }, z.core.$strip>>>;
2607
- template: z.ZodOptional<z.ZodNullable<z.ZodType<"moderncv-banking" | "moderncv-casual" | "moderncv-classic", unknown, z.core.$ZodTypeInternals<"moderncv-banking" | "moderncv-casual" | "moderncv-classic", unknown>>>>;
2913
+ template: z.ZodOptional<z.ZodNullable<z.ZodType<"jake" | "moderncv-banking" | "moderncv-casual" | "moderncv-classic", unknown, z.core.$ZodTypeInternals<"jake" | "moderncv-banking" | "moderncv-casual" | "moderncv-classic", unknown>>>>;
2608
2914
  page: z.ZodOptional<z.ZodNullable<z.ZodObject<{
2609
2915
  margins: z.ZodOptional<z.ZodNullable<z.ZodObject<{
2610
2916
  top: z.ZodOptional<z.ZodNullable<z.ZodType<string, unknown, z.core.$ZodTypeInternals<string, unknown>>>>;
@@ -2650,7 +2956,7 @@ declare const ResumeSchema: z.ZodObject<{
2650
2956
  engine: z.ZodLiteral<"markdown">;
2651
2957
  }, z.core.$strip>], "engine">>>>;
2652
2958
  locale: z.ZodOptional<z.ZodNullable<z.ZodObject<{
2653
- language: z.ZodOptional<z.ZodNullable<z.ZodType<"en" | "zh-hans" | "zh-hant-hk" | "zh-hant-tw" | "es" | "fr" | "no" | "nl" | "ja" | "de", unknown, z.core.$ZodTypeInternals<"en" | "zh-hans" | "zh-hant-hk" | "zh-hant-tw" | "es" | "fr" | "no" | "nl" | "ja" | "de", unknown>>>>;
2959
+ language: z.ZodOptional<z.ZodNullable<z.ZodType<"en" | "zh-hans" | "zh-hant-hk" | "zh-hant-tw" | "es" | "fr" | "no" | "nl" | "ja" | "de" | "id", unknown, z.core.$ZodTypeInternals<"en" | "zh-hans" | "zh-hant-hk" | "zh-hant-tw" | "es" | "fr" | "no" | "nl" | "ja" | "de" | "id", unknown>>>>;
2654
2960
  }, z.core.$strip>>>;
2655
2961
  content: z.ZodObject<{
2656
2962
  work: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
@@ -3233,4 +3539,4 @@ declare function joinNonEmptyString(codes: string[], separator?: string): string
3233
3539
  */
3234
3540
  declare function toCodeBlock(code?: string, lang?: string): string;
3235
3541
 
3236
- export { type Awards, type Basics, type BulletListNode, COUNTRY_OPTIONS, type Certificates, type Content, type Country, DEFAULT_HTML_LAYOUT, DEFAULT_LATEX_LAYOUT, DEFAULT_MARKDOWN_LAYOUT, DEFAULT_RESUME, DEFAULT_RESUME_CONTENT, DEFAULT_RESUME_LAYOUTS, DEFAULT_RESUME_LOCALE, DEFAULT_SECTIONS_ORDER, DEGREE_OPTIONS, type Degree, type DocNode, DutchCountryNames, type Education, EnglishCountryNames, ErrorType, FILLED_RESUME, FILLED_RESUME_CONTENT, FLUENCY_OPTIONS, type Fluency, FrenchCountryNames, GermanCountryNames, HTML_FONT_SIZE_OPTIONS, HTML_TEMPLATE_OPTIONS, HtmlCodeGenerator, type HtmlFontSize, type HtmlLayout, HtmlRenderer, type HtmlTemplate, type Interests, JapaneseCountryNames, type Keywords, LANGUAGE_OPTIONS, LATEX_FONTSPEC_NUMBERS_OPTIONS, LATEX_FONT_SIZE_OPTIONS, LATEX_PAPER_SIZE_OPTIONS, LATEX_TEMPLATE_OPTIONS, LEVEL_OPTIONS, LOCALE_LANGUAGE_OPTIONS, type Language, type Languages, LatexCodeGenerator, type LatexFontSize, type LatexFontspecNumbers, type LatexLayout, type LatexPaperSize, type LatexTemplate, type LayoutEngine, type Layouts, type Level, type Locale, type LocaleLanguage, type Location, MARGIN_OPTIONS, type MarkdownLayout, MarkdownParser, MarkdownRenderer, ModerncvBankingRenderer, ModerncvCasualRenderer, ModerncvClassicRenderer, NETWORK_OPTIONS, type Network, type Node, NorwegianCountryNames, ONE_DAY, ORDERABLE_SECTION_IDS, type OrderableSectionID, type OrderedListNode, PUNCTUATIONS, type ParagraphNode, type Parser, type Profiles, type Projects, type Publications, type Punctuation, RESUME_SECTION_ITEMS, type References, type Resume, type ResumeItem, ResumeSchema, SECTION_IDS, type SectionID, SimplifiedChineseCountryNames, type Skills, SpanishCountryNames, TERMS, type Term, type TextNode, TraditionalChineseCountryHKNames, TraditionalChineseCountryTWNames, type Volunteer, type Work, YAMLResumeError, collectAllKeys, epochSecondsToLocaleDateString, escapeHtml, escapeLatex, getDateRange, getHtmlTemplateDetail, getLatexTemplateDetail, getLocaleLanguageDetail, getOptionTranslation, getResumeRenderer, getTemplateTranslations, isEmptyString, isEmptyValue, joinNonEmptyString, localizeDate, mergeArrayWithOrder, milliSecondsToSeconds, nowInUTCSeconds, parseDate, removeKeysFromObject, showIf, showIfNotEmpty, toCodeBlock, transformResume };
3542
+ export { type Awards, type Basics, type BulletListNode, COUNTRY_OPTIONS, type Certificates, type Content, type Country, DEFAULT_HTML_LAYOUT, DEFAULT_LATEX_LAYOUT, DEFAULT_MARKDOWN_LAYOUT, DEFAULT_RESUME, DEFAULT_RESUME_CONTENT, DEFAULT_RESUME_LAYOUTS, DEFAULT_RESUME_LOCALE, DEFAULT_SECTIONS_ORDER, DEGREE_OPTIONS, type Degree, type DocNode, DutchCountryNames, type Education, EnglishCountryNames, ErrorType, FILLED_RESUME, FILLED_RESUME_CONTENT, FLUENCY_OPTIONS, type Fluency, FrenchCountryNames, GermanCountryNames, HTML_FONT_SIZE_OPTIONS, HTML_TEMPLATE_OPTIONS, HtmlCodeGenerator, type HtmlFontSize, type HtmlLayout, HtmlRenderer, type HtmlTemplate, IndonesianCountryNames, type Interests, JakeRenderer, JapaneseCountryNames, type Keywords, LANGUAGE_OPTIONS, LATEX_FONTSPEC_NUMBERS_OPTIONS, LATEX_FONT_SIZE_OPTIONS, LATEX_PAPER_SIZE_OPTIONS, LATEX_TEMPLATE_OPTIONS, LEVEL_OPTIONS, LINE_SPACING_OPTIONS, LOCALE_LANGUAGE_OPTIONS, type Language, type Languages, LatexCodeGenerator, type LatexFontSize, type LatexFontspecNumbers, type LatexLayout, type LatexPaperSize, type LatexTemplate, type LayoutEngine, type Layouts, type Level, type LineSpacing, type Locale, type LocaleLanguage, type Location, MARGIN_OPTIONS, type MarkdownLayout, MarkdownParser, MarkdownRenderer, ModerncvBankingRenderer, ModerncvCasualRenderer, ModerncvClassicRenderer, NETWORK_OPTIONS, type Network, type Node, NorwegianCountryNames, ONE_DAY, ORDERABLE_SECTION_IDS, type OrderableSectionID, type OrderedListNode, PUNCTUATIONS, type ParagraphNode, type Parser, type Profiles, type Projects, type Publications, type Punctuation, RESUME_SECTION_ITEMS, type References, type Resume, type ResumeItem, ResumeSchema, SECTION_IDS, type SectionID, SimplifiedChineseCountryNames, type Skills, SpanishCountryNames, TERMS, type Term, type TextNode, TraditionalChineseCountryHKNames, TraditionalChineseCountryTWNames, type Volunteer, type Work, YAMLResumeError, collectAllKeys, epochSecondsToLocaleDateString, escapeHtml, escapeLatex, getDateRange, getHtmlTemplateDetail, getLatexTemplateDetail, getLocaleLanguageDetail, getOptionTranslation, getResumeRenderer, getTemplateTranslations, isEmptyString, isEmptyValue, joinNonEmptyString, localizeDate, mergeArrayWithOrder, milliSecondsToSeconds, nowInUTCSeconds, parseDate, removeKeysFromObject, showIf, showIfNotEmpty, toCodeBlock, transformResume };