|
274 | 274 | title, |
275 | 275 | highlighted: true, |
276 | 276 | letters: 3, |
| 277 | + color: none, |
277 | 278 | metadata: none, |
278 | 279 | // New parameter names (recommended) |
279 | 280 | awesome-colors: none, |
|
282 | 283 | ) = context { |
283 | 284 | let metadata = if metadata != none { metadata } else { cv-metadata.get() } |
284 | 285 | // Backward compatibility logic (remove this block when deprecating) |
285 | | - let awesome-colors = if awesome-colors != none { |
286 | | - awesome-colors |
287 | | - } else { |
| 286 | + let awesome-colors = if awesome-colors != none { |
| 287 | + awesome-colors |
| 288 | + } else { |
288 | 289 | // TODO: Add deprecation warning in future version |
289 | 290 | // Currently Typst doesn't have a standard warning mechanism for user functions |
290 | | - awesomeColors |
| 291 | + awesomeColors |
291 | 292 | } |
292 | | - |
| 293 | + |
293 | 294 | let lang = metadata.language |
294 | 295 | let non-latin = _is-non-latin(lang) |
295 | 296 | let before-section-skip = _get-layout-value(metadata, "before_section_skip", 1pt) |
296 | | - let accent-color = _set-accent-color(awesome-colors, metadata) |
| 297 | + let accent-color = if color != none { color } else { _set-accent-color(awesome-colors, metadata) } |
297 | 298 | let highlighted-text = title.slice(0, letters) |
298 | 299 | let normal-text = title.slice(letters) |
299 | 300 |
|
|
321 | 322 |
|
322 | 323 | /// Prepare common entry parameters |
323 | 324 | /// -> dictionary |
324 | | -#let _prepare-entry-params(metadata, awesome-colors, awesomeColors) = { |
| 325 | +#let _prepare-entry-params(metadata, awesome-colors, awesomeColors, color: none) = { |
325 | 326 | // Backward compatibility logic |
326 | | - let awesome-colors = if awesome-colors != none { |
327 | | - awesome-colors |
328 | | - } else { |
| 327 | + let awesome-colors = if awesome-colors != none { |
| 328 | + awesome-colors |
| 329 | + } else { |
329 | 330 | // TODO: Add deprecation warning in future version |
330 | | - awesomeColors |
| 331 | + awesomeColors |
331 | 332 | } |
332 | | - |
| 333 | + |
333 | 334 | // Common parameter calculations |
334 | | - let accent-color = _set-accent-color(awesome-colors, metadata) |
| 335 | + let accent-color = if color != none { color } else { _set-accent-color(awesome-colors, metadata) } |
335 | 336 | let before-entry-skip = eval(metadata.layout.at("before_entry_skip", default: 1pt)) |
336 | 337 | let before-entry-description-skip = eval(metadata.layout.at("before_entry_description_skip", default: 1pt)) |
337 | 338 | let date-width = metadata.layout.at("date_width", default: none) |
|
555 | 556 | description: "Description", |
556 | 557 | logo: "", |
557 | 558 | tags: (), |
| 559 | + color: none, |
558 | 560 | metadata: none, |
559 | 561 | // New parameter names (recommended) |
560 | 562 | awesome-colors: none, |
561 | 563 | // Old parameter names (deprecated, for backward compatibility) |
562 | 564 | awesomeColors: _awesome-colors, |
563 | 565 | ) = context { |
564 | 566 | let metadata = if metadata != none { metadata } else { cv-metadata.get() } |
565 | | - let params = _prepare-entry-params(metadata, awesome-colors, awesomeColors) |
| 567 | + let params = _prepare-entry-params(metadata, awesome-colors, awesomeColors, color: color) |
566 | 568 |
|
567 | 569 | _make-cv-entry( |
568 | 570 | "full", |
|
590 | 592 | society: "Society", |
591 | 593 | location: "Location", |
592 | 594 | logo: "", |
| 595 | + color: none, |
593 | 596 | metadata: none, |
594 | 597 | // New parameter names (recommended) |
595 | 598 | awesome-colors: none, |
|
602 | 605 | panic("display_entry_society_first must be true to use cvEntryStart") |
603 | 606 | } |
604 | 607 |
|
605 | | - let params = _prepare-entry-params(metadata, awesome-colors, awesomeColors) |
| 608 | + let params = _prepare-entry-params(metadata, awesome-colors, awesomeColors, color: color) |
606 | 609 |
|
607 | 610 | _make-cv-entry( |
608 | 611 | "start", |
|
619 | 622 | date: "Date", |
620 | 623 | description: "Description", |
621 | 624 | tags: (), |
| 625 | + color: none, |
622 | 626 | metadata: none, |
623 | 627 | // New parameter names (recommended) |
624 | 628 | awesome-colors: none, |
|
630 | 634 | if not metadata.layout.entry.display_entry_society_first { |
631 | 635 | panic("display_entry_society_first must be true to use cvEntryContinued") |
632 | 636 | } |
633 | | - |
634 | | - let params = _prepare-entry-params(metadata, awesome-colors, awesomeColors) |
| 637 | + |
| 638 | + let params = _prepare-entry-params(metadata, awesome-colors, awesomeColors, color: color) |
635 | 639 |
|
636 | 640 | _make-cv-entry( |
637 | 641 | "continued", |
|
737 | 741 | issuer: "", |
738 | 742 | url: "", |
739 | 743 | location: "", |
| 744 | + color: none, |
740 | 745 | awesome-colors: _awesome-colors, |
741 | 746 | metadata: none, |
742 | 747 | ) = context { |
743 | 748 | let metadata = if metadata != none { metadata } else { cv-metadata.get() } |
744 | | - let accent-color = _set-accent-color(awesome-colors, metadata) |
| 749 | + let accent-color = if color != none { color } else { _set-accent-color(awesome-colors, metadata) } |
745 | 750 |
|
746 | 751 | let honor-date-style(str) = { |
747 | 752 | align(right, text(str)) |
|
0 commit comments