@airmark/quiver 0.35.6 → 0.35.8

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 (31) hide show
  1. package/package.json +4 -4
  2. package/quills/af4141/0.1.0/Quill.yaml +39 -49
  3. package/quills/af4141/0.1.0/plate.typ +7 -7
  4. package/quills/afmc_moa/0.0.1/Quill.yaml +126 -153
  5. package/quills/afmc_moa/0.0.1/plate.typ +11 -11
  6. package/quills/classic_resume/0.1.0/Quill.yaml +34 -40
  7. package/quills/classic_resume/0.1.0/example.md +53 -59
  8. package/quills/classic_resume/0.1.0/plate.typ +11 -11
  9. package/quills/cyber_career_plan/0.1.0/Quill.yaml +258 -287
  10. package/quills/cyber_career_plan/0.1.0/plate.typ +92 -70
  11. package/quills/daf1206/0.1.0/plate.typ +18 -18
  12. package/quills/daf4392/0.1.0/Quill.yaml +33 -38
  13. package/quills/daf4392/0.1.0/plate.typ +16 -16
  14. package/quills/usaf_letter/0.1.0/Quill.yaml +143 -158
  15. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/src/frontmatter.typ +34 -19
  16. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/src/mainmatter.typ +1 -1
  17. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/src/primitives.typ +27 -9
  18. package/quills/usaf_letter/0.1.0/plate.typ +26 -28
  19. package/quills/usaf_memo/0.2.0/Quill.yaml +217 -247
  20. package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/src/body.typ +15 -1
  21. package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/src/frontmatter.typ +34 -19
  22. package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/src/primitives.typ +5 -1
  23. package/quills/usaf_memo/0.2.0/plate.typ +28 -28
  24. package/quills/usaf_memo/0.3.0/Quill.yaml +219 -245
  25. package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/src/body.typ +47 -15
  26. package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/src/frontmatter.typ +34 -19
  27. package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/src/primitives.typ +27 -9
  28. package/quills/usaf_memo/0.3.0/plate.typ +35 -36
  29. package/templates/classic_resume.md +53 -59
  30. package/templates/cyber_career_plan.md +56 -0
  31. package/templates/templates.json +7 -0
@@ -1,109 +1,103 @@
1
1
  ~~~
2
2
  $quill: classic_resume
3
3
  $kind: main
4
- name: Nibs Bin
4
+ name: Philip J. Fry
5
5
  contacts:
6
- - nibs@tonguetoquill.com
7
- - (333) 333-3333
8
- - github.com/nibsbin
9
- - linkedin.com/in/nibsbin/
6
+ - fry@planetexpress.example
7
+ - (212) 555-0199
8
+ - github.com/borb-sh
10
9
  - New New York
11
10
  paper: us-letter
12
11
  font_size: 11.5
13
12
  margin: 0.5
14
13
  ~~~
15
14
 
15
+ ~~~
16
+ $kind: summary
17
+ ~~~
18
+
19
+ Delivery boy with a thousand years of experience, most of it frozen. Brings 20th-century know-how to 31st-century problems and has saved Earth more than once. Wants to keep delivering anywhere, ideally with fewer space bees.
20
+
16
21
  ~~~
17
22
  $kind: certifications
18
23
  title: Certifications
19
24
  columns: 2
20
25
  items:
21
- - Offensive Security Certified Professional (OSCP)
22
- - GIAC Cyber Threat Intelligence (GCTI)
23
- - CompTIA CASP+, CySA+, Sec+, Net+, A+, Proj+
24
- - GIAC Machine Learning Engineer (GMLE)
26
+ - "Career Chip: Delivery Boy"
27
+ - Earth Army Basic Training
28
+ - First Aid, taught by Dr. Zoidberg
29
+ - Food Handler's Permit, New York
25
30
  ~~~
26
31
 
27
32
  ~~~
28
33
  $kind: skills
29
34
  columns: 2
30
35
  skills:
31
- - label: Programming
32
- items: Python, R, JS, C#, Rust, PowerShell, CI/CD
33
- - label: Data Science
34
- items: ML/statistics, TensorFlow, AI Engineering
35
- - label: IT & Cybersecurity
36
- items: AD DS, Splunk, Metasploit, Wireshark, Nessus
37
- - label: Cloud
38
- items: AWS EC2/S3, Helm, Docker, Serverless
36
+ - label: Logistics
37
+ items: Packages, pizza, interplanetary freight
38
+ - label: 20th-Century Culture
39
+ items: TV, arcade games, Star Trek trivia
40
+ - label: Music
41
+ items: Holophonor, opera composition
42
+ - label: Endurance
43
+ items: Cryogenic sleep, 100 cups of coffee
39
44
  ~~~
40
45
 
41
46
  ~~~
42
47
  $kind: experience
43
48
  jobs:
44
- - company: Planet Express Delivery Division
45
- dates: August 2024 – Present
46
- role: Interstellar Logistics Analyst
49
+ - company: Planet Express
50
+ dates: December 2999 – Present
51
+ role: Delivery Boy
47
52
  location: New New York
48
53
  details: |-
49
- - Analyzed dark matter fuel combustion following the Nibblonian incident, developing safeguards to protect remaining ship engine infrastructure.
54
+ - Deliver packages anywhere in the universe with Captain Turanga Leela and Bender Bending Rodríguez.
50
55
 
51
- - Building automated hazard detection pipelines using Bender's antenna arrays to monitor Omicronian threat signatures across the sector.
52
- - company: MomCorp Robotics Academy
53
- dates: May 2025 – July 2025
54
- role: Robot Firmware Trainee
55
- location: Mars Vegas
56
- details: "- Developed behavior-inhibitor firmware for MomCorp robots integrating real-time Slurm demand intelligence."
57
- - company: DOOP Starship Nimbus
58
- dates: January 2018 – June 2020
59
- role: Combat Engineer
60
- location: Vergon 6
61
- details: "- Administrated Nimbus shipboard systems, Kif's maintenance logs, and killbot defense automation for 30,000+ crew."
56
+ - Completed runs to robot-only Chapek 9 and a hive of giant space bees, and survived both.
57
+ - company: Earth Army
58
+ dates: November 3000
59
+ role: Private
60
+ location: Spheron 1
61
+ details: "- Enlisted for the military discount; deployed against the Spheroids under Zapp Brannigan."
62
+ - company: Panucci's Pizza
63
+ dates: June 1997 – December 1999
64
+ role: Delivery Boy
65
+ location: New York, NY
66
+ details: "- Delivered pizza across New York City until a prank order to Applied Cryogenics ran 1,000 years late."
62
67
  title: Experience
63
68
  ~~~
64
69
 
65
70
  ~~~
66
71
  $kind: education
67
72
  schools:
68
- - school: Carnegie Mellon University
69
- dates: December 2025
70
- degree: Master of Information Technology Strategy
71
- location: Pittsburgh, PA
72
- - school: United States Air Force Academy
73
- dates: May 2024
74
- degree: BS, Data Science
75
- location: Colorado Springs, CO
76
- details: |-
77
- - Distinguished Graduate (top 10%); Chinese language minor (L2+/R1 on DLPT).
78
-
79
- - Professor Bradley A. Warner Data Science Catalyst and Top Cadet in Computer Networks.
80
- - school: Community College of the Air Force
81
- dates: February 2029
82
- degree: AS, Information Systems Technology
83
- location: Online
73
+ - school: Mars University
74
+ dates: September 3000
75
+ degree: Undeclared, no degree
76
+ location: Mars
84
77
  ~~~
85
78
 
86
79
  ~~~
87
80
  $kind: other
88
- title: Cyber Competition
81
+ title: Planetary Defense
89
82
  entries:
90
- - heading: 1st in SANS Academy Cup 2024
91
- details: "- Competed as the Delogrand Web Exploit SME, solving SQLi, API, and HTTP packet crafting problems."
92
- - heading: 1st in NCX 2023
83
+ - heading: Saved Earth from the Brainspawn
84
+ details: "- Held the line as the only human immune to the Brainspawn, thanks to a missing Delta brainwave."
85
+ - heading: Ended the Omicronian Invasion
93
86
  details: |-
94
- - Developed strategies, defensive scripts, and exploits for the Cyber Combat event.
87
+ - Restaged the lost finale of *Single Female Lawyer* for Lrrr, ruler of the planet Omicron Persei 8.
95
88
 
96
- - Analyzed logs with Bash and Python for the Data Analysis event.
89
+ - Caused the crisis in the first place by knocking the original broadcast off the air in 1999.
90
+ - heading: Deflected a Giant Ball of Garbage
91
+ details: "- Helped knock it off course with a second ball of garbage, built on 20th-century expertise."
97
92
  ~~~
98
93
 
99
94
  ~~~
100
95
  $kind: projects
101
96
  title: Projects
102
97
  projects:
103
- - name: TongueToQuill
104
- link: tonguetoquill.com
105
- details: "- Rich markdown editor for perfectly formatted USAF and USSF documents with Claude MCP integration."
106
98
  - name: Quillmark
107
- link: github.com/nibsbin/quillmark
108
- details: "- Data-driven document engine for generating arbitrarily typesetted documents from markdown."
99
+ link: github.com/borb-sh/quillmark
100
+ details: "- Schema-driven document engine that delivers typeset documents from Markdown, this resume included."
101
+ - name: Holophonor Opera
102
+ details: "- Wrote and performed an opera about Leela on the holophonor, using the Robot Devil's hands."
109
103
  ~~~
@@ -1,4 +1,4 @@
1
- #import "@local/quillmark-helper:0.1.0": data, ink
1
+ #import "@local/quillmark-helper:0.2.0" as qm
2
2
  #import "@local/ttq-classic-resume:0.1.0": (
3
3
  auto-link, default-config, entry, item-grid, resume, resume-header, section-header,
4
4
  )
@@ -43,9 +43,9 @@
43
43
 
44
44
  #show: resume.with(
45
45
  // An enum's blank is authorable even where the schema declares a default.
46
- paper: if data.paper != "" { data.paper } else { "us-letter" },
47
- size: data.font_size * 1pt,
48
- margin: data.margin * 1in,
46
+ paper: if qm.data.paper != "" { qm.data.paper } else { "us-letter" },
47
+ size: qm.data.font_size * 1pt,
48
+ margin: qm.data.margin * 1in,
49
49
 
50
50
  // The package's stack names two families to fall back to; only the one this
51
51
  // quill bundles is in the render's font book, and naming the absent two
@@ -74,10 +74,10 @@
74
74
  )
75
75
 
76
76
  #resume-header(
77
- name: if data.name.trim() != "" { ink(data).name },
78
- title: data.name.trim(),
79
- author: data.name.trim(),
80
- contacts: data.contacts.zip(ink(data).contacts)
77
+ name: if qm.data.name.trim() != "" { qm.ink(qm.data, "name") },
78
+ title: qm.data.name.trim(),
79
+ author: qm.data.name.trim(),
80
+ contacts: qm.data.contacts.zip(qm.ink(qm.data, "contacts"))
81
81
  .map(((contact, printed)) => linked(contact, printed))
82
82
  .filter(contact => contact != none),
83
83
  )
@@ -103,7 +103,7 @@
103
103
 
104
104
  // The rows an author filled in. A row left wholly blank, as a new one is, would
105
105
  // print as an empty gap.
106
- #let filled(rows) = rows.filter(row => row.values().any(value => {
106
+ #let filled(rows) = rows.filter(row => row.pairs().filter(((key, _)) => not key.starts-with("$")).any(((_, value)) => {
107
107
  or-none(if type(value) == str { value.trim() } else { value }) != none
108
108
  }))
109
109
 
@@ -126,7 +126,7 @@
126
126
  entry(
127
127
  heading: trim-inline(project.name),
128
128
  form: "linked",
129
- url: linked(project.link, ink(project).link),
129
+ url: linked(project.link, qm.ink(project, "link")),
130
130
  body: under-entry(project.details),
131
131
  )
132
132
  },
@@ -139,7 +139,7 @@
139
139
  },
140
140
  )
141
141
 
142
- #for card in data.at("$cards") {
142
+ #for card in qm.data.at("$cards") {
143
143
  let kind = card.at("$kind", default: none)
144
144
  if type(kind) == str and kind in rows {
145
145
  let title = or-none(card.title)