@airmark/quiver 0.33.0 → 0.35.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/README.md +18 -12
- package/package.json +7 -7
- package/quills/af4141/0.1.0/Quill.yaml +3 -12
- package/quills/af4141/0.1.0/example.md +53 -0
- package/quills/afmc_moa/0.0.1/Quill.yaml +29 -45
- package/quills/afmc_moa/0.0.1/example.md +114 -0
- package/quills/afmc_moa/0.0.1/packages/typst-afmc-moa/src/config.typ +1 -1
- package/quills/classic_resume/{0.0.1 → 0.1.0}/Quill.yaml +88 -168
- package/quills/classic_resume/0.1.0/example.md +111 -0
- package/quills/classic_resume/{0.0.1 → 0.1.0}/packages/ttq-classic-resume/src/components.typ +77 -35
- package/quills/classic_resume/{0.0.1 → 0.1.0}/packages/ttq-classic-resume/src/config.typ +23 -14
- package/quills/classic_resume/{0.0.1 → 0.1.0}/packages/ttq-classic-resume/src/layout.typ +37 -7
- package/quills/classic_resume/{0.0.1 → 0.1.0}/packages/ttq-classic-resume/src/lib.typ +1 -0
- package/quills/classic_resume/0.1.0/packages/ttq-classic-resume/src/util.typ +50 -0
- package/quills/classic_resume/{0.0.1 → 0.1.0}/packages/ttq-classic-resume/typst.toml +0 -5
- package/quills/classic_resume/{0.0.1 → 0.1.0}/plate.typ +63 -56
- package/quills/cyber_career_plan/0.1.0/Quill.yaml +328 -0
- package/quills/cyber_career_plan/0.1.0/example.md +55 -0
- package/quills/cyber_career_plan/0.1.0/plate.typ +681 -0
- package/quills/daf1206/0.1.0/Quill.yaml +14 -16
- package/quills/daf1206/0.1.0/example.md +55 -0
- package/quills/daf4392/0.1.0/Quill.yaml +1 -6
- package/quills/daf4392/0.1.0/example.md +51 -0
- package/quills/usaf_letter/0.1.0/Quill.yaml +7 -42
- package/quills/usaf_letter/0.1.0/example.md +35 -0
- package/quills/{usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/fonts/Cinzel/LICENSE → usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/fonts/SpectralSC/OFL.txt} +2 -2
- package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/fonts/SpectralSC/SpectralSC-Italic.ttf +0 -0
- package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/fonts/SpectralSC/SpectralSC-Regular.ttf +0 -0
- package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/src/frontmatter.typ +1 -1
- package/quills/usaf_letter/0.1.0/plate.typ +1 -4
- package/quills/usaf_memo/0.2.0/Quill.yaml +7 -40
- package/quills/usaf_memo/0.2.0/example.md +45 -0
- package/quills/usaf_memo/0.3.0/Quill.yaml +13 -50
- package/quills/usaf_memo/0.3.0/example.md +48 -0
- package/quills/{usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/fonts/Cinzel/LICENSE → usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/fonts/SpectralSC/OFL.txt} +2 -2
- package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/fonts/SpectralSC/SpectralSC-Italic.ttf +0 -0
- package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/fonts/SpectralSC/SpectralSC-Regular.ttf +0 -0
- package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/src/frontmatter.typ +1 -1
- package/quills/usaf_memo/0.3.0/plate.typ +1 -4
- package/templates/deros_extension.md +40 -0
- package/templates/templates.json +7 -0
- package/quills/classic_resume/0.0.1/packages/ttq-classic-resume/src/util.typ +0 -32
- package/quills/cyber_ribbon_chart/0.0.1/Quill.yaml +0 -320
- package/quills/cyber_ribbon_chart/0.0.1/plate.typ +0 -428
- package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/fonts/Cinzel/Cinzel-Regular.ttf +0 -0
- package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/fonts/CopperplateCC/CopperplateCC-Heavy.otf +0 -0
- package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/fonts/Cinzel/Cinzel-Regular.ttf +0 -0
- package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/fonts/CopperplateCC/CopperplateCC-Heavy.otf +0 -0
- /package/quills/classic_resume/{0.0.1 → 0.1.0}/packages/ttq-classic-resume/LICENSE +0 -0
- /package/quills/classic_resume/{0.0.1 → 0.1.0}/packages/ttq-classic-resume/fonts/EBGaramond/EBGaramond-Bold.ttf +0 -0
- /package/quills/classic_resume/{0.0.1 → 0.1.0}/packages/ttq-classic-resume/fonts/EBGaramond/EBGaramond-BoldItalic.ttf +0 -0
- /package/quills/classic_resume/{0.0.1 → 0.1.0}/packages/ttq-classic-resume/fonts/EBGaramond/EBGaramond-Italic.ttf +0 -0
- /package/quills/classic_resume/{0.0.1 → 0.1.0}/packages/ttq-classic-resume/fonts/EBGaramond/EBGaramond-Regular.ttf +0 -0
- /package/quills/classic_resume/{0.0.1 → 0.1.0}/packages/ttq-classic-resume/fonts/EBGaramond/OFL.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
quill:
|
|
2
2
|
name: classic_resume
|
|
3
|
-
version: 0.0
|
|
3
|
+
version: 0.1.0
|
|
4
4
|
backend: typst
|
|
5
5
|
description: Classic single-page resume
|
|
6
6
|
|
|
@@ -11,6 +11,7 @@ typst:
|
|
|
11
11
|
# heading, optional prose under it, and the rows that section holds. The rows
|
|
12
12
|
# are the section's own, so an entry cannot land under the wrong heading.
|
|
13
13
|
main:
|
|
14
|
+
description: "Your name and contacts head the page. Each section under them is a card, printed in the order the cards stand: add a card for every section you want."
|
|
14
15
|
ui:
|
|
15
16
|
groups: [identity, page]
|
|
16
17
|
# Everything prints under a section heading, so main carries no body: a
|
|
@@ -20,32 +21,17 @@ main:
|
|
|
20
21
|
fields:
|
|
21
22
|
name:
|
|
22
23
|
type: string
|
|
23
|
-
example: John Doe
|
|
24
24
|
ui:
|
|
25
25
|
group: identity
|
|
26
|
-
description: "Your name, set large at the top. It
|
|
26
|
+
description: "Your name as you want it read, set large at the top. It also titles the exported PDF."
|
|
27
27
|
|
|
28
28
|
contacts:
|
|
29
29
|
type: array
|
|
30
30
|
items:
|
|
31
31
|
type: string
|
|
32
|
-
example:
|
|
33
|
-
- john.doe@example.com
|
|
34
|
-
- (555) 123-4567
|
|
35
|
-
- github.com/johndoe
|
|
36
|
-
- linkedin.com/in/johndoe
|
|
37
|
-
- Pittsburgh, PA
|
|
38
32
|
ui:
|
|
39
33
|
group: identity
|
|
40
|
-
description: "
|
|
41
|
-
|
|
42
|
-
link_contacts:
|
|
43
|
-
type: boolean
|
|
44
|
-
default: true
|
|
45
|
-
ui:
|
|
46
|
-
group: identity
|
|
47
|
-
compact: true
|
|
48
|
-
description: "Turn contacts that look like an email address, a web address or a phone number into live links in the PDF. Anything else — a city, a clearance level — is printed as written."
|
|
34
|
+
description: "How to reach you, one per line and the one you want used first: an email address, a phone number, a profile such as linkedin.com/in/you, a city. They print in that order across the page under your name, a diamond between each. An email address, a web address or a phone number becomes a live link in the PDF."
|
|
49
35
|
|
|
50
36
|
paper:
|
|
51
37
|
type: enum
|
|
@@ -64,7 +50,7 @@ main:
|
|
|
64
50
|
ui:
|
|
65
51
|
group: page
|
|
66
52
|
compact: true
|
|
67
|
-
description: "Body text size in points
|
|
53
|
+
description: "Body text size in points, such as 11 or 11.5. Along with the margin, this is the lever for fitting a resume onto one page — drop a half point before you drop a bullet."
|
|
68
54
|
|
|
69
55
|
margin:
|
|
70
56
|
type: number
|
|
@@ -75,51 +61,39 @@ main:
|
|
|
75
61
|
description: "Page margin in inches, the same on all four sides. The layout is dense by design; below about 0.4 a printer starts clipping."
|
|
76
62
|
|
|
77
63
|
|
|
78
|
-
# Each kind
|
|
79
|
-
#
|
|
64
|
+
# Each kind opens with the heading it prints. Its `default:` is the usual one,
|
|
65
|
+
# so a new card shows the heading it will print, and an authored "" prints
|
|
66
|
+
# none.
|
|
80
67
|
card_kinds:
|
|
81
68
|
summary:
|
|
82
69
|
title: Summary
|
|
83
|
-
description: "
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
body:
|
|
87
|
-
example: |
|
|
88
|
-
Security engineer of eight years, most of it on detection pipelines other people have to keep running.
|
|
70
|
+
description: "Prose under a heading: a few lines on who you are and the work you want next. Retitled, it is any section that is only prose, such as an objective."
|
|
71
|
+
seed:
|
|
72
|
+
$body: An engineer. Likes climbing rocks and making useful things.
|
|
89
73
|
fields:
|
|
90
74
|
title:
|
|
91
75
|
type: plaintext
|
|
92
76
|
inline: true
|
|
93
|
-
default:
|
|
94
|
-
|
|
95
|
-
group: heading
|
|
96
|
-
description: &title_description "Printed in uppercase over a rule. Leave blank for the usual heading: Summary, Work Experience, Education, Projects, Skills or Certifications."
|
|
97
|
-
extra: &extra
|
|
98
|
-
type: richtext
|
|
99
|
-
inline: true
|
|
100
|
-
default: ""
|
|
101
|
-
ui:
|
|
102
|
-
group: heading
|
|
103
|
-
compact: true
|
|
104
|
-
description: "Qualifier set after the title in the same style, such as a date range or a clarifier. Italicize with *asterisks*. Leave blank for the usual case."
|
|
77
|
+
default: Summary
|
|
78
|
+
description: "Printed in uppercase over a rule. An empty title prints no heading, so a summary that is the first card sits straight under your name."
|
|
105
79
|
|
|
106
80
|
experience:
|
|
107
81
|
title: Experience
|
|
108
|
-
description: "Jobs, most recent first: employer and dates on the first line, role and location on the second, details under them."
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
82
|
+
description: "Jobs, most recent first: employer and dates on the first line, role and location on the second, details under them. Prose written under the card prints under the heading, ahead of the jobs."
|
|
83
|
+
seed:
|
|
84
|
+
jobs:
|
|
85
|
+
- company: Employer
|
|
86
|
+
dates: Month YYYY – Present
|
|
87
|
+
role: Job Title
|
|
88
|
+
location: City, ST
|
|
89
|
+
details: |
|
|
90
|
+
- What you did, and what it changed.
|
|
114
91
|
fields:
|
|
115
92
|
title:
|
|
116
93
|
type: plaintext
|
|
117
94
|
inline: true
|
|
118
|
-
default:
|
|
119
|
-
|
|
120
|
-
group: heading
|
|
121
|
-
description: *title_description
|
|
122
|
-
extra: *extra
|
|
95
|
+
default: Work Experience
|
|
96
|
+
description: &title_description "Printed in uppercase over a rule. An empty title prints no heading."
|
|
123
97
|
jobs:
|
|
124
98
|
type: array
|
|
125
99
|
items:
|
|
@@ -128,56 +102,43 @@ card_kinds:
|
|
|
128
102
|
company:
|
|
129
103
|
type: plaintext
|
|
130
104
|
inline: true
|
|
131
|
-
example: Templar Archives Research Division
|
|
132
105
|
description: "Set in bold at the left of the first line."
|
|
133
106
|
dates: &dates
|
|
134
107
|
type: plaintext
|
|
135
108
|
inline: true
|
|
136
109
|
default: ""
|
|
137
|
-
|
|
138
|
-
description: "Set in bold at the right, opposite the name. Free text rather than a date, so a range reads as you write it: 'August 2024 – Present', 'December 2025'. Keep the form the same down the page."
|
|
110
|
+
description: "Set in bold at the right of the first line. Free text rather than a date, so a range reads as you write it: 'August 2024 – Present', 'December 2025'. Keep the form the same down the page."
|
|
139
111
|
role:
|
|
140
112
|
type: plaintext
|
|
141
113
|
inline: true
|
|
142
114
|
default: ""
|
|
143
|
-
example: Psionic Research Analyst
|
|
144
115
|
description: "Your title, set in italics under the employer. Leave blank to omit."
|
|
145
116
|
location: &location
|
|
146
117
|
type: plaintext
|
|
147
118
|
inline: true
|
|
148
119
|
default: ""
|
|
149
|
-
example: Pittsburgh, PA
|
|
150
120
|
description: "Set in italics at the right of the second line. 'Pittsburgh, PA', 'Remote'. Leave blank to omit; with the line's other half blank too, the second line is not printed."
|
|
151
121
|
details: &details
|
|
152
122
|
type: richtext
|
|
153
123
|
default: ""
|
|
154
|
-
example: |
|
|
155
|
-
- What you did, and what came of it.
|
|
156
124
|
description: "Set under the entry. Usually a bulleted list, one line each and strongest first; a sentence, *italics* and **bold** set as well, and a heading sets as a bold line. Leave blank for nothing under the entry."
|
|
157
|
-
|
|
158
|
-
- company: Templar Archives Research Division
|
|
159
|
-
dates: August 2024 – Present
|
|
160
|
-
role: Psionic Research Analyst
|
|
161
|
-
location: Aiur
|
|
162
|
-
details: |
|
|
163
|
-
- Analyzed Khala disruption patterns, developing countermeasures to protect neural link infrastructure.
|
|
164
|
-
description: "One row per job. A row is never split across a page break."
|
|
125
|
+
description: "One row per job. A row is kept to one page, unless it is taller than a page."
|
|
165
126
|
|
|
166
127
|
education:
|
|
167
128
|
title: Education
|
|
168
|
-
description: "Schools, most recent first: school and date on the first line, degree and location on the second."
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
129
|
+
description: "Schools, most recent first: school and date on the first line, degree and location on the second. Prose written under the card prints under the heading, ahead of the schools."
|
|
130
|
+
seed:
|
|
131
|
+
schools:
|
|
132
|
+
- school: School
|
|
133
|
+
dates: Month YYYY
|
|
134
|
+
degree: Degree
|
|
135
|
+
location: City, ST
|
|
172
136
|
fields:
|
|
173
137
|
title:
|
|
174
138
|
type: plaintext
|
|
175
139
|
inline: true
|
|
176
|
-
default:
|
|
177
|
-
ui:
|
|
178
|
-
group: heading
|
|
140
|
+
default: Education
|
|
179
141
|
description: *title_description
|
|
180
|
-
extra: *extra
|
|
181
142
|
schools:
|
|
182
143
|
type: array
|
|
183
144
|
items:
|
|
@@ -186,83 +147,32 @@ card_kinds:
|
|
|
186
147
|
school:
|
|
187
148
|
type: plaintext
|
|
188
149
|
inline: true
|
|
189
|
-
example: Carnegie Mellon University
|
|
190
150
|
description: "Set in bold at the left of the first line."
|
|
191
|
-
dates:
|
|
192
|
-
<<: *dates
|
|
193
|
-
example: May 2024
|
|
151
|
+
dates: *dates
|
|
194
152
|
degree:
|
|
195
153
|
type: plaintext
|
|
196
154
|
inline: true
|
|
197
155
|
default: ""
|
|
198
|
-
example: BS, Data Science
|
|
199
156
|
description: "Degree and field, set in italics under the school. Leave blank to omit."
|
|
200
157
|
location: *location
|
|
201
158
|
details:
|
|
202
159
|
<<: *details
|
|
203
|
-
example: |
|
|
204
|
-
- Distinguished Graduate (top 10%).
|
|
205
160
|
description: "Honors, activities, coursework, set under the entry. Most degrees need none."
|
|
206
|
-
example:
|
|
207
|
-
- school: Carnegie Mellon University
|
|
208
|
-
dates: December 2025
|
|
209
|
-
degree: Master of Information Technology Strategy
|
|
210
|
-
location: Pittsburgh, PA
|
|
211
161
|
description: "One row per school or degree."
|
|
212
162
|
|
|
213
|
-
projects:
|
|
214
|
-
title: Projects
|
|
215
|
-
description: "Projects: name and link on the first line, details under them."
|
|
216
|
-
ui:
|
|
217
|
-
groups: [heading]
|
|
218
|
-
body: *section_body
|
|
219
|
-
fields:
|
|
220
|
-
title:
|
|
221
|
-
type: plaintext
|
|
222
|
-
inline: true
|
|
223
|
-
default: ""
|
|
224
|
-
ui:
|
|
225
|
-
group: heading
|
|
226
|
-
description: *title_description
|
|
227
|
-
extra: *extra
|
|
228
|
-
projects:
|
|
229
|
-
type: array
|
|
230
|
-
items:
|
|
231
|
-
type: object
|
|
232
|
-
properties:
|
|
233
|
-
name:
|
|
234
|
-
type: plaintext
|
|
235
|
-
inline: true
|
|
236
|
-
example: Quillmark
|
|
237
|
-
description: "Set in bold at the left."
|
|
238
|
-
url:
|
|
239
|
-
type: string
|
|
240
|
-
default: ""
|
|
241
|
-
example: https://github.com/nibsbin/quillmark
|
|
242
|
-
description: "Set small and italic at the right, and made a live link when it starts with http. Anything else is printed as written, so '<closed source>' stands in for a project with nothing to link. Leave blank to omit."
|
|
243
|
-
details: *details
|
|
244
|
-
example:
|
|
245
|
-
- name: Quillmark
|
|
246
|
-
url: https://github.com/nibsbin/quillmark
|
|
247
|
-
details: |
|
|
248
|
-
- Parameterization engine for typesetting documents from markdown.
|
|
249
|
-
description: "One row per project."
|
|
250
|
-
|
|
251
163
|
skills:
|
|
252
164
|
title: Skills
|
|
253
|
-
description: "
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
165
|
+
description: "Skills in labelled groups, filled across the columns and then down. Prose written under the card prints under the heading, ahead of the groups."
|
|
166
|
+
seed:
|
|
167
|
+
skills:
|
|
168
|
+
- label: Category
|
|
169
|
+
items: Skill, Skill, Skill
|
|
257
170
|
fields:
|
|
258
171
|
title:
|
|
259
172
|
type: plaintext
|
|
260
173
|
inline: true
|
|
261
|
-
default:
|
|
262
|
-
ui:
|
|
263
|
-
group: heading
|
|
174
|
+
default: Skills
|
|
264
175
|
description: *title_description
|
|
265
|
-
extra: *extra
|
|
266
176
|
skills:
|
|
267
177
|
type: array
|
|
268
178
|
ui:
|
|
@@ -273,19 +183,11 @@ card_kinds:
|
|
|
273
183
|
label:
|
|
274
184
|
type: plaintext
|
|
275
185
|
inline: true
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
text:
|
|
186
|
+
description: "Set in bold, with its items on the line under it. Leave blank to print the items alone."
|
|
187
|
+
items:
|
|
279
188
|
type: plaintext
|
|
280
189
|
inline: true
|
|
281
|
-
|
|
282
|
-
title: Items
|
|
283
|
-
description: "The items under that label, usually comma separated. Printed as written — markup is the one thing a labeled row does not carry."
|
|
284
|
-
example:
|
|
285
|
-
- label: Programming
|
|
286
|
-
text: "Python, R, JS, C#, Rust, PowerShell, CI/CD"
|
|
287
|
-
- label: Cloud
|
|
288
|
-
text: "AWS EC2/S3, Helm, Docker, Serverless"
|
|
190
|
+
description: "Usually comma separated. Printed as written — markup is the one thing a labeled row does not carry."
|
|
289
191
|
description: "One label and its items per row."
|
|
290
192
|
columns: &columns
|
|
291
193
|
type: integer
|
|
@@ -294,57 +196,79 @@ card_kinds:
|
|
|
294
196
|
compact: true
|
|
295
197
|
description: "Number of columns. Two suits items that run most of a line; three suits single words."
|
|
296
198
|
|
|
199
|
+
projects:
|
|
200
|
+
title: Projects
|
|
201
|
+
description: "Projects: name and link on the first line, details under them. Prose written under the card prints under the heading, ahead of the projects."
|
|
202
|
+
seed:
|
|
203
|
+
projects:
|
|
204
|
+
- name: Project
|
|
205
|
+
link: github.com/you/project
|
|
206
|
+
details: |
|
|
207
|
+
- What it does, and your part in it.
|
|
208
|
+
fields:
|
|
209
|
+
title:
|
|
210
|
+
type: plaintext
|
|
211
|
+
inline: true
|
|
212
|
+
default: Projects
|
|
213
|
+
description: *title_description
|
|
214
|
+
projects:
|
|
215
|
+
type: array
|
|
216
|
+
items:
|
|
217
|
+
type: object
|
|
218
|
+
properties:
|
|
219
|
+
name:
|
|
220
|
+
type: plaintext
|
|
221
|
+
inline: true
|
|
222
|
+
description: "Set in bold at the left."
|
|
223
|
+
link:
|
|
224
|
+
type: string
|
|
225
|
+
default: ""
|
|
226
|
+
description: "Where to see it, set small and italic at the right as written: github.com/you/project reads better than its https:// form. A web address, an email address or a phone number becomes a live link; anything else, such as 'closed source', prints as written. Leave blank to omit."
|
|
227
|
+
details: *details
|
|
228
|
+
description: "One row per project."
|
|
229
|
+
|
|
297
230
|
certifications:
|
|
298
231
|
title: Certifications
|
|
299
|
-
description: "A list
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
232
|
+
description: "A list filled across the columns and then down. Retitled, it holds any short items: awards, languages, clearances. Prose written under the card prints under the heading, ahead of the list."
|
|
233
|
+
seed:
|
|
234
|
+
items:
|
|
235
|
+
- Certification (ABBREVIATION)
|
|
303
236
|
fields:
|
|
304
237
|
title:
|
|
305
238
|
type: plaintext
|
|
306
239
|
inline: true
|
|
307
|
-
default:
|
|
308
|
-
ui:
|
|
309
|
-
group: heading
|
|
240
|
+
default: Certifications
|
|
310
241
|
description: *title_description
|
|
311
|
-
extra: *extra
|
|
312
242
|
items:
|
|
313
243
|
type: array
|
|
314
244
|
items:
|
|
315
245
|
type: richtext
|
|
316
246
|
inline: true
|
|
317
|
-
example:
|
|
318
|
-
- Offensive Security Certified Professional (OSCP)
|
|
319
|
-
- GIAC Cyber Threat Intelligence (GCTI)
|
|
320
247
|
description: "One item per line. Keep each to a line at the column width. Italicize with *asterisks*."
|
|
321
248
|
columns: *columns
|
|
322
249
|
|
|
323
250
|
other:
|
|
324
251
|
title: Other section
|
|
325
|
-
description: "A section the kinds above do not name — volunteer work, military service, publications, a competition. Rows take the Experience shape with neutral names."
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
252
|
+
description: "A section the kinds above do not name — volunteer work, military service, publications, a competition. Rows take the Experience shape with neutral names. Prose written under the card prints under the heading, ahead of the rows."
|
|
253
|
+
seed:
|
|
254
|
+
title: Section Title
|
|
255
|
+
entries:
|
|
256
|
+
- heading: Entry
|
|
257
|
+
details: |
|
|
258
|
+
- What it was, and what came of it.
|
|
329
259
|
fields:
|
|
330
260
|
title:
|
|
331
261
|
type: plaintext
|
|
332
262
|
inline: true
|
|
333
|
-
|
|
334
|
-
ui:
|
|
335
|
-
group: heading
|
|
336
|
-
description: "Printed in uppercase over a rule. Other has no usual heading, so this one is yours to write."
|
|
337
|
-
extra: *extra
|
|
263
|
+
description: "Printed in uppercase over a rule. This section has no usual heading, so this one is yours to write."
|
|
338
264
|
entries:
|
|
339
265
|
type: array
|
|
340
|
-
default: []
|
|
341
266
|
items:
|
|
342
267
|
type: object
|
|
343
268
|
properties:
|
|
344
269
|
heading:
|
|
345
270
|
type: plaintext
|
|
346
271
|
inline: true
|
|
347
|
-
example: 1st in NCX 2023
|
|
348
272
|
description: "Set in bold at the left of the first line."
|
|
349
273
|
dates: *dates
|
|
350
274
|
subtitle:
|
|
@@ -354,8 +278,4 @@ card_kinds:
|
|
|
354
278
|
description: "Set in italics under the heading. Leave blank to omit."
|
|
355
279
|
location: *location
|
|
356
280
|
details: *details
|
|
357
|
-
example:
|
|
358
|
-
- heading: 1st in NCX 2023
|
|
359
|
-
details: |
|
|
360
|
-
- Developed strategies, defensive scripts, and exploits for the Cyber Combat event.
|
|
361
281
|
description: "One row per item. A section that is only prose is a Summary with a title of its own."
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
~~~
|
|
2
|
+
$quill: classic_resume
|
|
3
|
+
$kind: main
|
|
4
|
+
name: John Doe
|
|
5
|
+
contacts:
|
|
6
|
+
- john.doe@example.com
|
|
7
|
+
- (555) 123-4567
|
|
8
|
+
- github.com/johndoe
|
|
9
|
+
- linkedin.com/in/johndoe
|
|
10
|
+
- Pittsburgh, PA
|
|
11
|
+
paper: us-letter
|
|
12
|
+
font_size: 11.5
|
|
13
|
+
margin: 0.5
|
|
14
|
+
~~~
|
|
15
|
+
|
|
16
|
+
~~~
|
|
17
|
+
$kind: summary
|
|
18
|
+
~~~
|
|
19
|
+
|
|
20
|
+
An engineer. Likes climbing rocks and making useful things.
|
|
21
|
+
|
|
22
|
+
~~~
|
|
23
|
+
$kind: certifications
|
|
24
|
+
title: Active Certifications
|
|
25
|
+
columns: 2
|
|
26
|
+
items:
|
|
27
|
+
- Offensive Security Certified Professional (OSCP)
|
|
28
|
+
- GIAC Cyber Threat Intelligence (GCTI)
|
|
29
|
+
- CompTIA CASP+, CySA+, Sec+, Net+, A+, Proj+
|
|
30
|
+
- GIAC Machine Learning Engineer (GMLE)
|
|
31
|
+
~~~
|
|
32
|
+
|
|
33
|
+
~~~
|
|
34
|
+
$kind: skills
|
|
35
|
+
columns: 2
|
|
36
|
+
skills:
|
|
37
|
+
- label: Programming
|
|
38
|
+
items: Python, R, JS, C#, Rust, PowerShell, CI/CD
|
|
39
|
+
- label: Data Science
|
|
40
|
+
items: ML/statistics, TensorFlow, AI Engineering
|
|
41
|
+
- label: IT & Cybersecurity
|
|
42
|
+
items: AD DS, Splunk, Metasploit, Wireshark, Nessus
|
|
43
|
+
- label: Cloud
|
|
44
|
+
items: AWS EC2/S3, Helm, Docker, Serverless
|
|
45
|
+
~~~
|
|
46
|
+
|
|
47
|
+
~~~
|
|
48
|
+
$kind: experience
|
|
49
|
+
jobs:
|
|
50
|
+
- company: Templar Archives Research Division
|
|
51
|
+
dates: August 2024 – Present
|
|
52
|
+
role: Psionic Research Analyst
|
|
53
|
+
location: Aiur
|
|
54
|
+
details: |
|
|
55
|
+
- Analyzed Khala disruption patterns following Amon's corruption, developing countermeasures to protect remaining neural link infrastructure.
|
|
56
|
+
- Building automated threat detection pipelines using Khaydarin crystal arrays to monitor Void energy signatures across the sector.
|
|
57
|
+
- company: Terran Dominion Ghost Academy
|
|
58
|
+
dates: May 2025 – July 2025
|
|
59
|
+
role: Covert Ops Trainee
|
|
60
|
+
location: Tarsonis (Remote)
|
|
61
|
+
details: |
|
|
62
|
+
- Developed tactical HUD displays for Ghost operatives integrating real-time Zerg hive cluster intelligence.
|
|
63
|
+
- company: Raynor's Raiders
|
|
64
|
+
dates: January 2018 – June 2020
|
|
65
|
+
role: Combat Engineer
|
|
66
|
+
location: Mar Sara
|
|
67
|
+
details: |
|
|
68
|
+
- Administered Hyperion shipboard systems, SCV maintenance protocols, and bunker defense automation for 30,000+ colonists.
|
|
69
|
+
~~~
|
|
70
|
+
|
|
71
|
+
~~~
|
|
72
|
+
$kind: education
|
|
73
|
+
schools:
|
|
74
|
+
- school: Carnegie Mellon University
|
|
75
|
+
dates: December 2025
|
|
76
|
+
degree: Master of Information Technology Strategy
|
|
77
|
+
location: Pittsburgh, PA
|
|
78
|
+
- school: United States Air Force Academy
|
|
79
|
+
dates: May 2024
|
|
80
|
+
degree: BS, Data Science
|
|
81
|
+
location: Colorado Springs, CO
|
|
82
|
+
details: |
|
|
83
|
+
- Distinguished Graduate (top 10%); Chinese language minor (L2+/R1 on DLPT).
|
|
84
|
+
~~~
|
|
85
|
+
|
|
86
|
+
~~~
|
|
87
|
+
$kind: other
|
|
88
|
+
title: Cyber Competition
|
|
89
|
+
entries:
|
|
90
|
+
- heading: 1st in SANS Academy Cup 2024
|
|
91
|
+
details: |
|
|
92
|
+
- Competed as the Delogrand Web Exploit SME, solving SQLi, API, and HTTP packet crafting problems.
|
|
93
|
+
- heading: 1st in NCX 2023
|
|
94
|
+
details: |
|
|
95
|
+
- Developed strategies, defensive scripts, and exploits for the Cyber Combat event.
|
|
96
|
+
- Analyzed logs with Bash and Python for the Data Analysis event.
|
|
97
|
+
~~~
|
|
98
|
+
|
|
99
|
+
~~~
|
|
100
|
+
$kind: projects
|
|
101
|
+
title: Selected Projects
|
|
102
|
+
projects:
|
|
103
|
+
- name: TongueToQuill
|
|
104
|
+
link: tonguetoquill.com
|
|
105
|
+
details: |
|
|
106
|
+
- Rich markdown editor for perfectly formatted USAF and USSF documents with Claude MCP integration.
|
|
107
|
+
- name: Quillmark
|
|
108
|
+
link: github.com/nibsbin/quillmark
|
|
109
|
+
details: |
|
|
110
|
+
- Parameterization engine for generating arbitrarily typesetted documents from markdown content.
|
|
111
|
+
~~~
|