@airmark/quiver 0.36.0 → 0.38.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.
Files changed (127) hide show
  1. package/README.md +1 -0
  2. package/package.json +4 -4
  3. package/quills/af4141/0.1.0/Quill.yaml +54 -43
  4. package/quills/af4141/0.1.0/packages/typst-af4141/fonts/GUST-FONT-LICENSE.txt +30 -0
  5. package/quills/af4141/0.1.0/packages/typst-af4141/fonts/MANIFEST-TeX-Gyre-Termes.txt +201 -0
  6. package/quills/af4141/0.1.0/packages/typst-af4141/fonts/README-TeX-Gyre-Termes.txt +317 -0
  7. package/quills/af4141/0.1.0/packages/typst-af4141/fonts/texgyretermes-bold.otf +0 -0
  8. package/quills/af4141/0.1.0/packages/typst-af4141/fonts/texgyretermes-bolditalic.otf +0 -0
  9. package/quills/af4141/0.1.0/packages/typst-af4141/fonts/texgyretermes-italic.otf +0 -0
  10. package/quills/af4141/0.1.0/packages/typst-af4141/fonts/texgyretermes-regular.otf +0 -0
  11. package/quills/af4141/0.1.0/plate.typ +11 -10
  12. package/quills/afmc_moa/0.0.1/Quill.yaml +143 -126
  13. package/quills/afmc_moa/0.0.1/packages/typst-afmc-moa/fonts/TeXGyreTermes/GUST-FONT-LICENSE.txt +30 -0
  14. package/quills/afmc_moa/0.0.1/packages/typst-afmc-moa/fonts/TeXGyreTermes/MANIFEST-TeX-Gyre-Termes.txt +201 -0
  15. package/quills/afmc_moa/0.0.1/packages/typst-afmc-moa/fonts/TeXGyreTermes/README-TeX-Gyre-Termes.txt +317 -0
  16. package/quills/afmc_moa/0.0.1/packages/typst-afmc-moa/fonts/TeXGyreTermes/texgyretermes-bold.otf +0 -0
  17. package/quills/afmc_moa/0.0.1/packages/typst-afmc-moa/fonts/TeXGyreTermes/texgyretermes-bolditalic.otf +0 -0
  18. package/quills/afmc_moa/0.0.1/packages/typst-afmc-moa/fonts/TeXGyreTermes/texgyretermes-italic.otf +0 -0
  19. package/quills/afmc_moa/0.0.1/packages/typst-afmc-moa/fonts/TeXGyreTermes/texgyretermes-regular.otf +0 -0
  20. package/quills/afmc_moa/0.0.1/packages/typst-afmc-moa/src/config.typ +1 -1
  21. package/quills/afmc_moa/0.0.1/plate.typ +1 -1
  22. package/quills/classic_resume/0.1.0/Quill.yaml +62 -72
  23. package/quills/classic_resume/0.1.0/plate.typ +12 -11
  24. package/quills/cyber_career_plan/0.1.0/Quill.yaml +270 -264
  25. package/quills/cyber_career_plan/0.1.0/plate.typ +2 -2
  26. package/quills/daf1206/0.1.0/Quill.yaml +9 -9
  27. package/quills/daf1206/0.1.0/packages/typst-daf1206/fonts/GUST-FONT-LICENSE.txt +30 -0
  28. package/quills/daf1206/0.1.0/packages/typst-daf1206/fonts/MANIFEST-TeX-Gyre-Termes.txt +201 -0
  29. package/quills/daf1206/0.1.0/packages/typst-daf1206/fonts/README-TeX-Gyre-Termes.txt +317 -0
  30. package/quills/daf1206/0.1.0/packages/typst-daf1206/fonts/texgyretermes-bold.otf +0 -0
  31. package/quills/daf1206/0.1.0/packages/typst-daf1206/fonts/texgyretermes-bolditalic.otf +0 -0
  32. package/quills/daf1206/0.1.0/packages/typst-daf1206/fonts/texgyretermes-italic.otf +0 -0
  33. package/quills/daf1206/0.1.0/packages/typst-daf1206/fonts/texgyretermes-regular.otf +0 -0
  34. package/quills/daf1206/0.1.0/plate.typ +13 -12
  35. package/quills/daf4392/0.1.0/Quill.yaml +51 -44
  36. package/quills/daf4392/0.1.0/packages/daf4392page2_pkg/fonts/GUST-FONT-LICENSE.txt +30 -0
  37. package/quills/daf4392/0.1.0/packages/daf4392page2_pkg/fonts/MANIFEST-TeX-Gyre-Termes.txt +201 -0
  38. package/quills/daf4392/0.1.0/packages/daf4392page2_pkg/fonts/README-TeX-Gyre-Termes.txt +317 -0
  39. package/quills/daf4392/0.1.0/packages/daf4392page2_pkg/fonts/texgyretermes-bold.otf +0 -0
  40. package/quills/daf4392/0.1.0/packages/daf4392page2_pkg/fonts/texgyretermes-bolditalic.otf +0 -0
  41. package/quills/daf4392/0.1.0/packages/daf4392page2_pkg/fonts/texgyretermes-italic.otf +0 -0
  42. package/quills/daf4392/0.1.0/packages/daf4392page2_pkg/fonts/texgyretermes-regular.otf +0 -0
  43. package/quills/daf4392/0.1.0/plate.typ +15 -14
  44. package/quills/medal_citation/0.1.0/Quill.yaml +102 -0
  45. package/quills/medal_citation/0.1.0/example.md +14 -0
  46. package/quills/medal_citation/0.1.0/packages/tonguetoquill-medal-citation/.gitignore +7 -0
  47. package/quills/medal_citation/0.1.0/packages/tonguetoquill-medal-citation/LICENSE +201 -0
  48. package/quills/medal_citation/0.1.0/packages/tonguetoquill-medal-citation/fonts/LiberationSerif/LICENSE +102 -0
  49. package/quills/medal_citation/0.1.0/packages/tonguetoquill-medal-citation/fonts/LiberationSerif/LiberationSerif-Bold.ttf +0 -0
  50. package/quills/medal_citation/0.1.0/packages/tonguetoquill-medal-citation/fonts/LiberationSerif/LiberationSerif-BoldItalic.ttf +0 -0
  51. package/quills/medal_citation/0.1.0/packages/tonguetoquill-medal-citation/fonts/LiberationSerif/LiberationSerif-Italic.ttf +0 -0
  52. package/quills/medal_citation/0.1.0/packages/tonguetoquill-medal-citation/fonts/LiberationSerif/LiberationSerif-Regular.ttf +0 -0
  53. package/quills/medal_citation/0.1.0/packages/tonguetoquill-medal-citation/src/afam.typ +71 -0
  54. package/quills/medal_citation/0.1.0/packages/tonguetoquill-medal-citation/src/afcm.typ +48 -0
  55. package/quills/medal_citation/0.1.0/packages/tonguetoquill-medal-citation/src/lib.typ +3 -0
  56. package/quills/medal_citation/0.1.0/packages/tonguetoquill-medal-citation/src/medal-afam.png +0 -0
  57. package/quills/medal_citation/0.1.0/packages/tonguetoquill-medal-citation/src/medal-afcm.png +0 -0
  58. package/quills/medal_citation/0.1.0/packages/tonguetoquill-medal-citation/src/medal-msm.png +0 -0
  59. package/quills/medal_citation/0.1.0/packages/tonguetoquill-medal-citation/src/msm.typ +53 -0
  60. package/quills/medal_citation/0.1.0/packages/tonguetoquill-medal-citation/src/seal.png +0 -0
  61. package/quills/medal_citation/0.1.0/packages/tonguetoquill-medal-citation/typst.toml +12 -0
  62. package/quills/medal_citation/0.1.0/plate.typ +65 -0
  63. package/quills/usaf_letter/0.1.0/Quill.yaml +144 -141
  64. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/fonts/TeXGyreTermes/GUST-FONT-LICENSE.txt +30 -0
  65. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/fonts/TeXGyreTermes/MANIFEST-TeX-Gyre-Termes.txt +201 -0
  66. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/fonts/TeXGyreTermes/README-TeX-Gyre-Termes.txt +317 -0
  67. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/fonts/TeXGyreTermes/texgyretermes-bold.otf +0 -0
  68. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/fonts/TeXGyreTermes/texgyretermes-bolditalic.otf +0 -0
  69. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/fonts/TeXGyreTermes/texgyretermes-italic.otf +0 -0
  70. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/fonts/TeXGyreTermes/texgyretermes-regular.otf +0 -0
  71. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/src/config.typ +3 -3
  72. package/quills/usaf_memo/0.2.0/Quill.yaml +254 -221
  73. package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/fonts/TeXGyreTermes/GUST-FONT-LICENSE.txt +30 -0
  74. package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/fonts/TeXGyreTermes/MANIFEST-TeX-Gyre-Termes.txt +201 -0
  75. package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/fonts/TeXGyreTermes/README-TeX-Gyre-Termes.txt +317 -0
  76. package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/fonts/TeXGyreTermes/texgyretermes-bold.otf +0 -0
  77. package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/fonts/TeXGyreTermes/texgyretermes-bolditalic.otf +0 -0
  78. package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/fonts/TeXGyreTermes/texgyretermes-italic.otf +0 -0
  79. package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/fonts/TeXGyreTermes/texgyretermes-regular.otf +0 -0
  80. package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/src/config.typ +2 -2
  81. package/quills/usaf_memo/0.2.0/plate.typ +22 -18
  82. package/quills/usaf_memo/0.3.0/Quill.yaml +233 -221
  83. package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/fonts/TeXGyreTermes/GUST-FONT-LICENSE.txt +30 -0
  84. package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/fonts/TeXGyreTermes/MANIFEST-TeX-Gyre-Termes.txt +201 -0
  85. package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/fonts/TeXGyreTermes/README-TeX-Gyre-Termes.txt +317 -0
  86. package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/fonts/TeXGyreTermes/texgyretermes-bold.otf +0 -0
  87. package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/fonts/TeXGyreTermes/texgyretermes-bolditalic.otf +0 -0
  88. package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/fonts/TeXGyreTermes/texgyretermes-italic.otf +0 -0
  89. package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/fonts/TeXGyreTermes/texgyretermes-regular.otf +0 -0
  90. package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/src/config.typ +3 -3
  91. package/templates/medal_citation.md +19 -0
  92. package/templates/templates.json +7 -0
  93. package/quills/af4141/0.1.0/packages/typst-af4141/fonts/GNU General Public License.txt +0 -340
  94. package/quills/af4141/0.1.0/packages/typst-af4141/fonts/NimbusRomNo9L-Med.otf +0 -0
  95. package/quills/af4141/0.1.0/packages/typst-af4141/fonts/NimbusRomNo9L-MedIta.otf +0 -0
  96. package/quills/af4141/0.1.0/packages/typst-af4141/fonts/NimbusRomNo9L-Reg.otf +0 -0
  97. package/quills/af4141/0.1.0/packages/typst-af4141/fonts/NimbusRomNo9L-RegIta.otf +0 -0
  98. package/quills/afmc_moa/0.0.1/packages/typst-afmc-moa/fonts/NimbusRomanNo9L/GNU General Public License.txt +0 -340
  99. package/quills/afmc_moa/0.0.1/packages/typst-afmc-moa/fonts/NimbusRomanNo9L/NimbusRomNo9L-Med.otf +0 -0
  100. package/quills/afmc_moa/0.0.1/packages/typst-afmc-moa/fonts/NimbusRomanNo9L/NimbusRomNo9L-MedIta.otf +0 -0
  101. package/quills/afmc_moa/0.0.1/packages/typst-afmc-moa/fonts/NimbusRomanNo9L/NimbusRomNo9L-Reg.otf +0 -0
  102. package/quills/afmc_moa/0.0.1/packages/typst-afmc-moa/fonts/NimbusRomanNo9L/NimbusRomNo9L-RegIta.otf +0 -0
  103. package/quills/daf1206/0.1.0/packages/typst-daf1206/fonts/GNU General Public License.txt +0 -340
  104. package/quills/daf1206/0.1.0/packages/typst-daf1206/fonts/NimbusRomNo9L-Med.otf +0 -0
  105. package/quills/daf1206/0.1.0/packages/typst-daf1206/fonts/NimbusRomNo9L-MedIta.otf +0 -0
  106. package/quills/daf1206/0.1.0/packages/typst-daf1206/fonts/NimbusRomNo9L-Reg.otf +0 -0
  107. package/quills/daf1206/0.1.0/packages/typst-daf1206/fonts/NimbusRomNo9L-RegIta.otf +0 -0
  108. package/quills/daf4392/0.1.0/packages/daf4392page2_pkg/fonts/GNU General Public License.txt +0 -340
  109. package/quills/daf4392/0.1.0/packages/daf4392page2_pkg/fonts/NimbusRomNo9L-Med.otf +0 -0
  110. package/quills/daf4392/0.1.0/packages/daf4392page2_pkg/fonts/NimbusRomNo9L-MedIta.otf +0 -0
  111. package/quills/daf4392/0.1.0/packages/daf4392page2_pkg/fonts/NimbusRomNo9L-Reg.otf +0 -0
  112. package/quills/daf4392/0.1.0/packages/daf4392page2_pkg/fonts/NimbusRomNo9L-RegIta.otf +0 -0
  113. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/fonts/NimbusRomanNo9L/GNU General Public License.txt +0 -340
  114. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/fonts/NimbusRomanNo9L/NimbusRomNo9L-Med.otf +0 -0
  115. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/fonts/NimbusRomanNo9L/NimbusRomNo9L-MedIta.otf +0 -0
  116. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/fonts/NimbusRomanNo9L/NimbusRomNo9L-Reg.otf +0 -0
  117. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/fonts/NimbusRomanNo9L/NimbusRomNo9L-RegIta.otf +0 -0
  118. package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/fonts/NimbusRomanNo9L/GNU General Public License.txt +0 -340
  119. package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/fonts/NimbusRomanNo9L/NimbusRomNo9L-Med.otf +0 -0
  120. package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/fonts/NimbusRomanNo9L/NimbusRomNo9L-MedIta.otf +0 -0
  121. package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/fonts/NimbusRomanNo9L/NimbusRomNo9L-Reg.otf +0 -0
  122. package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/fonts/NimbusRomanNo9L/NimbusRomNo9L-RegIta.otf +0 -0
  123. package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/fonts/NimbusRomanNo9L/GNU General Public License.txt +0 -340
  124. package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/fonts/NimbusRomanNo9L/NimbusRomNo9L-Med.otf +0 -0
  125. package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/fonts/NimbusRomanNo9L/NimbusRomNo9L-MedIta.otf +0 -0
  126. package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/fonts/NimbusRomanNo9L/NimbusRomNo9L-Reg.otf +0 -0
  127. package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/fonts/NimbusRomanNo9L/NimbusRomNo9L-RegIta.otf +0 -0
@@ -16,43 +16,50 @@ main:
16
16
  # summary is a Summary card.
17
17
  body:
18
18
  enabled: false
19
- sections:
20
- identity:
21
- fields:
22
- name:
23
- type: string
24
- description: "Your name as you want it read. It also names the PDF."
19
+ ui:
20
+ groups:
21
+ identity: {}
22
+ page: {}
23
+ fields:
24
+ name:
25
+ ui:
26
+ group: identity
27
+ type: text
28
+ description: "Your name as you want it read. It also names the PDF."
25
29
 
26
- contacts:
27
- type: array
28
- items:
29
- type: string
30
- description: "How to reach you, one per line, most preferred first: email, phone, a profile such as linkedin.com/in/you, your city. Email addresses, web addresses, and phone numbers become links."
31
- page:
32
- fields:
33
- paper:
34
- type: enum
35
- values:
36
- - us-letter
37
- - a4
38
- default: us-letter
39
- ui:
40
- compact: true
41
- description: "Page size."
30
+ contacts:
31
+ ui:
32
+ group: identity
33
+ type: array
34
+ items:
35
+ type: text
36
+ description: "How to reach you, one per line, most preferred first: email, phone, a profile such as linkedin.com/in/you, your city. Email addresses, web addresses, and phone numbers become links."
37
+ paper:
38
+ type: enum
39
+ values:
40
+ - us-letter
41
+ - a4
42
+ default: us-letter
43
+ ui:
44
+ group: page
45
+ compact: true
46
+ description: "Page size."
42
47
 
43
- font_size:
44
- type: number
45
- default: 12
46
- ui:
47
- compact: true
48
- description: "Body text size in points. To fit one page, try a half point smaller before cutting content."
48
+ font_size:
49
+ type: number
50
+ default: 12
51
+ ui:
52
+ group: page
53
+ compact: true
54
+ description: "Body text size in points. To fit one page, try a half point smaller before cutting content."
49
55
 
50
- margin:
51
- type: number
52
- default: 0.5
53
- ui:
54
- compact: true
55
- description: "Margin in inches on all sides. Below about 0.4, printers may clip the edges."
56
+ margin:
57
+ type: number
58
+ default: 0.5
59
+ ui:
60
+ group: page
61
+ compact: true
62
+ description: "Margin in inches on all sides. Below about 0.4, printers may clip the edges."
56
63
 
57
64
 
58
65
  # Each kind opens with the heading it prints. Its `default:` is the usual one,
@@ -66,8 +73,7 @@ card_kinds:
66
73
  $body: An engineer. Likes climbing rocks and making useful things.
67
74
  fields:
68
75
  title:
69
- type: plaintext
70
- inline: true
76
+ type: text
71
77
  default: Summary
72
78
  description: "The section heading. Leave blank to omit it; a summary at the top then sits right under your name."
73
79
 
@@ -84,8 +90,7 @@ card_kinds:
84
90
  - What you did, and what it changed.
85
91
  fields:
86
92
  title:
87
- type: plaintext
88
- inline: true
93
+ type: text
89
94
  default: Work Experience
90
95
  description: &title_description "The section heading. Leave blank to omit it."
91
96
  jobs:
@@ -94,26 +99,23 @@ card_kinds:
94
99
  type: object
95
100
  properties:
96
101
  company:
97
- type: plaintext
98
- inline: true
102
+ type: text
99
103
  description: "The employer's name."
100
104
  dates: &dates
101
- type: plaintext
102
- inline: true
105
+ type: text
103
106
  default: ""
104
107
  description: "Written as you want it to read, for example 'August 2024 – Present'. Use the same style throughout."
105
108
  role:
106
- type: plaintext
107
- inline: true
109
+ type: text
108
110
  default: ""
109
111
  description: "Your job title."
110
112
  location: &location
111
- type: plaintext
112
- inline: true
113
+ type: text
113
114
  default: ""
114
115
  description: "Where it was, for example 'Pittsburgh, PA' or 'Remote'."
115
116
  details: &details
116
117
  type: richtext
118
+ multiline: true
117
119
  default: ""
118
120
  description: "What you did, usually as short bullets with the strongest first."
119
121
  description: "One entry per job."
@@ -129,8 +131,7 @@ card_kinds:
129
131
  location: City, ST
130
132
  fields:
131
133
  title:
132
- type: plaintext
133
- inline: true
134
+ type: text
134
135
  default: Education
135
136
  description: *title_description
136
137
  schools:
@@ -139,13 +140,11 @@ card_kinds:
139
140
  type: object
140
141
  properties:
141
142
  school:
142
- type: plaintext
143
- inline: true
143
+ type: text
144
144
  description: "The school's name."
145
145
  dates: *dates
146
146
  degree:
147
- type: plaintext
148
- inline: true
147
+ type: text
149
148
  default: ""
150
149
  description: "Degree and field of study."
151
150
  location: *location
@@ -163,8 +162,7 @@ card_kinds:
163
162
  items: Skill, Skill, Skill
164
163
  fields:
165
164
  title:
166
- type: plaintext
167
- inline: true
165
+ type: text
168
166
  default: Skills
169
167
  description: *title_description
170
168
  skills:
@@ -175,12 +173,10 @@ card_kinds:
175
173
  type: object
176
174
  properties:
177
175
  label:
178
- type: plaintext
179
- inline: true
176
+ type: text
180
177
  description: "The group's name, for example 'Languages'. Leave blank to list the skills alone."
181
178
  items:
182
- type: plaintext
183
- inline: true
179
+ type: text
184
180
  description: "The skills in this group, separated by commas."
185
181
  description: "One group per row."
186
182
  columns: &columns
@@ -201,8 +197,7 @@ card_kinds:
201
197
  - What it does, and your part in it.
202
198
  fields:
203
199
  title:
204
- type: plaintext
205
- inline: true
200
+ type: text
206
201
  default: Projects
207
202
  description: *title_description
208
203
  projects:
@@ -211,11 +206,10 @@ card_kinds:
211
206
  type: object
212
207
  properties:
213
208
  name:
214
- type: plaintext
215
- inline: true
209
+ type: text
216
210
  description: "The project's name."
217
211
  link:
218
- type: string
212
+ type: text
219
213
  default: ""
220
214
  description: "Where to see it, for example github.com/you/project. It prints as written, so leave off https://."
221
215
  details: *details
@@ -229,15 +223,14 @@ card_kinds:
229
223
  - Certification (ABBREVIATION)
230
224
  fields:
231
225
  title:
232
- type: plaintext
233
- inline: true
226
+ type: text
234
227
  default: Certifications
235
228
  description: *title_description
236
229
  items:
237
230
  type: array
238
231
  items:
239
232
  type: richtext
240
- inline: true
233
+ multiline: false
241
234
  description: "One per line, short enough to fit its column."
242
235
  columns: *columns
243
236
 
@@ -252,8 +245,7 @@ card_kinds:
252
245
  - What it was, and what came of it.
253
246
  fields:
254
247
  title:
255
- type: plaintext
256
- inline: true
248
+ type: text
257
249
  description: "The section heading."
258
250
  entries:
259
251
  type: array
@@ -261,13 +253,11 @@ card_kinds:
261
253
  type: object
262
254
  properties:
263
255
  heading:
264
- type: plaintext
265
- inline: true
256
+ type: text
266
257
  description: "The entry's name, such as an organization or publication."
267
258
  dates: *dates
268
259
  subtitle:
269
- type: plaintext
270
- inline: true
260
+ type: text
271
261
  default: ""
272
262
  description: "A second line, such as your role."
273
263
  location: *location
@@ -3,7 +3,7 @@
3
3
  auto-link, default-config, entry, item-grid, resume, resume-header, section-header,
4
4
  )
5
5
 
6
- // `plaintext`/`richtext` fields lower to content carrying a space element on
6
+ // `text`/`richtext` fields lower to content carrying a space element on
7
7
  // each side, so a filled one would print its padding inside a bold run or an
8
8
  // italic one. A blank one lowers to "".
9
9
  #let trim-inline(v) = {
@@ -32,12 +32,12 @@
32
32
  if type(body) == str { none } else { body }
33
33
  }
34
34
 
35
- // A `string` field is text to compute with: a contact or a project link is read
36
- // to find its target, and the name reaches `set document(author:)`, which takes
37
- // no content. What prints is the field's ink twin, `printed`, which keeps the
38
- // click target a value computed with loses.
35
+ // A contact or a project link is read as a `str` to find its target, and the
36
+ // name reaches `set document(author:)`, which takes no content. What prints is
37
+ // the field's ink twin, `printed`, which keeps the click target a value
38
+ // computed with loses.
39
39
  #let linked(value, printed) = {
40
- let value = value.trim()
40
+ let value = qm.str(value).trim()
41
41
  if value == "" { none } else { auto-link(value, body: printed) }
42
42
  }
43
43
 
@@ -73,12 +73,13 @@
73
73
  indent: 0em,
74
74
  )
75
75
 
76
+ #let name = qm.str(qm.data.name).trim()
76
77
  #resume-header(
77
- name: if qm.data.name.trim() != "" { qm.ink(qm.data, "name") },
78
- title: qm.data.name.trim(),
79
- author: qm.data.name.trim(),
78
+ name: if name != "" { qm.ink(qm.data, "name") },
79
+ title: name,
80
+ author: name,
80
81
  contacts: qm.data.contacts.zip(qm.ink(qm.data, "contacts"))
81
- .map(((contact, printed)) => linked(contact, printed))
82
+ .map(((contact, printed)) => linked(contact, trim-inline(printed)))
82
83
  .filter(contact => contact != none),
83
84
  )
84
85
 
@@ -126,7 +127,7 @@
126
127
  entry(
127
128
  heading: trim-inline(project.name),
128
129
  form: "linked",
129
- url: linked(project.link, qm.ink(project, "link")),
130
+ url: linked(project.link, trim-inline(qm.ink(project, "link"))),
130
131
  body: under-entry(project.details),
131
132
  )
132
133
  },