@airmark/quiver 0.32.2 → 0.34.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 (90) hide show
  1. package/README.md +63 -21
  2. package/package.json +9 -7
  3. package/quills/af4141/0.1.0/Quill.yaml +4 -13
  4. package/quills/af4141/0.1.0/example.md +53 -0
  5. package/quills/afmc_moa/0.0.1/Quill.yaml +39 -62
  6. package/quills/afmc_moa/0.0.1/example.md +114 -0
  7. package/quills/afmc_moa/0.0.1/packages/typst-afmc-moa/src/config.typ +1 -1
  8. package/quills/classic_resume/0.0.1/Quill.yaml +281 -0
  9. package/quills/classic_resume/0.0.1/example.md +111 -0
  10. package/quills/classic_resume/0.0.1/packages/ttq-classic-resume/LICENSE +21 -0
  11. package/quills/classic_resume/0.0.1/packages/ttq-classic-resume/fonts/EBGaramond/EBGaramond-Bold.ttf +0 -0
  12. package/quills/classic_resume/0.0.1/packages/ttq-classic-resume/fonts/EBGaramond/EBGaramond-BoldItalic.ttf +0 -0
  13. package/quills/classic_resume/0.0.1/packages/ttq-classic-resume/fonts/EBGaramond/EBGaramond-Italic.ttf +0 -0
  14. package/quills/classic_resume/0.0.1/packages/ttq-classic-resume/fonts/EBGaramond/EBGaramond-Regular.ttf +0 -0
  15. package/quills/classic_resume/0.0.1/packages/ttq-classic-resume/fonts/EBGaramond/OFL.txt +94 -0
  16. package/quills/classic_resume/0.0.1/packages/ttq-classic-resume/src/components.typ +214 -0
  17. package/quills/classic_resume/0.0.1/packages/ttq-classic-resume/src/config.typ +61 -0
  18. package/quills/classic_resume/0.0.1/packages/ttq-classic-resume/src/layout.typ +86 -0
  19. package/quills/classic_resume/0.0.1/packages/ttq-classic-resume/src/lib.typ +7 -0
  20. package/quills/classic_resume/0.0.1/packages/ttq-classic-resume/src/util.typ +37 -0
  21. package/quills/classic_resume/0.0.1/packages/ttq-classic-resume/typst.toml +26 -0
  22. package/quills/classic_resume/0.0.1/plate.typ +143 -0
  23. package/quills/cyber_ribbon_chart/0.0.1/Quill.yaml +327 -0
  24. package/quills/cyber_ribbon_chart/0.0.1/example.md +55 -0
  25. package/quills/cyber_ribbon_chart/0.0.1/plate.typ +609 -0
  26. package/quills/daf1206/0.1.0/Quill.yaml +15 -18
  27. package/quills/daf1206/0.1.0/example.md +55 -0
  28. package/quills/daf4392/0.1.0/Quill.yaml +16 -7
  29. package/quills/daf4392/0.1.0/example.md +51 -0
  30. package/quills/daf4392/0.1.0/plate.typ +2 -2
  31. package/quills/usaf_letter/0.1.0/Quill.yaml +179 -0
  32. package/quills/usaf_letter/0.1.0/assets/dod_seal.png +0 -0
  33. package/quills/usaf_letter/0.1.0/assets/dow_seal.png +0 -0
  34. package/quills/usaf_letter/0.1.0/example.md +35 -0
  35. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/.gitignore +7 -0
  36. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/LICENSE +201 -0
  37. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/fonts/CopperplateCC/CopperplateCC-Bold.otf +0 -0
  38. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/fonts/CopperplateCC/LICENSE.md +79 -0
  39. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/fonts/LiberationMono/LICENSE +102 -0
  40. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/fonts/LiberationMono/LiberationMono-Regular.ttf +0 -0
  41. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/fonts/NimbusRomanNo9L/GNU General Public License.txt +340 -0
  42. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/fonts/NimbusRomanNo9L/NimbusRomNo9L-Med.otf +0 -0
  43. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/fonts/NimbusRomanNo9L/NimbusRomNo9L-MedIta.otf +0 -0
  44. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/fonts/NimbusRomanNo9L/NimbusRomNo9L-Reg.otf +0 -0
  45. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/fonts/NimbusRomanNo9L/NimbusRomNo9L-RegIta.otf +0 -0
  46. 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
  47. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/fonts/SpectralSC/SpectralSC-Italic.ttf +0 -0
  48. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/fonts/SpectralSC/SpectralSC-Regular.ttf +0 -0
  49. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/src/backmatter.typ +32 -0
  50. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/src/config.typ +45 -0
  51. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/src/frontmatter.typ +226 -0
  52. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/src/lib.typ +35 -0
  53. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/src/mainmatter.typ +140 -0
  54. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/src/primitives.typ +544 -0
  55. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/src/utils.typ +334 -0
  56. package/quills/usaf_letter/0.1.0/packages/tonguetoquill-usaf-letter/typst.toml +22 -0
  57. package/quills/usaf_letter/0.1.0/plate.typ +121 -0
  58. package/quills/usaf_memo/0.2.0/Quill.yaml +8 -41
  59. package/quills/usaf_memo/0.2.0/example.md +45 -0
  60. package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/LICENSE +201 -21
  61. package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/typst.toml +1 -1
  62. package/quills/usaf_memo/0.3.0/Quill.yaml +51 -69
  63. package/quills/usaf_memo/0.3.0/example.md +48 -0
  64. package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/LICENSE +201 -21
  65. package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/fonts/SpectralSC/OFL.txt +93 -0
  66. package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/fonts/SpectralSC/SpectralSC-Italic.ttf +0 -0
  67. package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/fonts/SpectralSC/SpectralSC-Regular.ttf +0 -0
  68. package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/src/backmatter.typ +29 -17
  69. package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/src/body.typ +97 -126
  70. package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/src/config.typ +12 -45
  71. package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/src/frontmatter.typ +81 -87
  72. package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/src/indorsement.typ +58 -66
  73. package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/src/lib.typ +14 -36
  74. package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/src/mainmatter.typ +47 -19
  75. package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/src/primitives.typ +158 -111
  76. package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/src/utils.typ +41 -141
  77. package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/typst.toml +3 -8
  78. package/quills/usaf_memo/0.3.0/plate.typ +78 -85
  79. package/templates/af4141.md +23 -0
  80. package/templates/appointment_letter.md +58 -0
  81. package/templates/daf1206.md +23 -0
  82. package/templates/daf4392.md +34 -0
  83. package/templates/deros_extension.md +40 -0
  84. package/templates/pass_request.md +48 -0
  85. package/templates/rebuttal.md +63 -0
  86. package/templates/templates.json +65 -0
  87. package/templates/usaf_template.md +30 -0
  88. package/templates/ussf_template.md +30 -0
  89. package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/fonts/Cinzel/Cinzel[wght].ttf +0 -0
  90. package/quills/usaf_memo/0.3.0/packages/tonguetoquill-usaf-memo/fonts/CopperplateCC/CopperplateCC-Heavy.otf +0 -0
@@ -0,0 +1,114 @@
1
+ ~~~
2
+ $quill: afmc_moa
3
+ $kind: main
4
+ first_party_name: Air Force Example Test Center (AFETC)
5
+ second_party_name: Navy Example Warfare Laboratory (NEWL)
6
+ subject: Thermal-Vacuum Chamber Test Support
7
+ agreement_number: FA1234-26-M-0017
8
+ second_party_mailing_address:
9
+ - NEWL/CD
10
+ - 200 Sample Road, Building 12
11
+ - Example NAS ST 23456-7890
12
+ reimbursable: true
13
+ reimbursable_support: Scheduled use of the AFETC thermal-vacuum chamber, with operator and instrumentation technician support, for NEWL sensor qualification tests.
14
+ estimated_amount: "$184,500"
15
+ appropriation_fy: "2027"
16
+ cost_center_provider: "AFETC-7730"
17
+ cost_center_receiver: "NEWL-4102"
18
+ financial_poc_provider: "Ms. Dana R. Whitfield, AFETC/FM, DSN 555-0140, dana.whitfield@example.mil"
19
+ financial_poc_receiver: "Mr. Luis M. Ortega, NEWL/FM, DSN 555-0240, luis.ortega@example.mil"
20
+ financial_additional_info: Funds are provided by Military Interdepartmental Purchase Request (MIPR) on a reimbursable basis. No advance payment is authorized.
21
+ first_party_signatory: "HAROLD J. KESSLER, Commander"
22
+ second_party_signatory: "MEREDITH A. CALLOWAY, Director"
23
+ mid_point_review_due_date: 2029-04-01
24
+ ~~~
25
+
26
+ ~~~
27
+ $kind: authorities
28
+ ~~~
29
+ AUTHORITIES: This MOA is entered into under the authority of the Economy Act, Section 1535 of Title 31, United States Code, and DoD Instruction 4000.19, "Support Agreements."
30
+
31
+ ~~~
32
+ $kind: purpose_and_scope
33
+ ~~~
34
+ PURPOSE AND SCOPE: This MOA establishes the terms under which the AFETC provides thermal-vacuum chamber test support to the NEWL for the qualification of NEWL sensor payloads. It covers scheduling, test execution, data delivery and reimbursement for that support, and no other AFETC facility.
35
+
36
+ ~~~
37
+ $kind: responsibilities_of_the_parties
38
+ ~~~
39
+ RESPONSIBILITIES OF THE PARTIES:
40
+
41
+ - The AFETC will—
42
+ - Schedule up to four chamber test windows per fiscal year for NEWL test articles.
43
+ - Provide chamber operators and instrumentation technicians for each scheduled test window.
44
+ - Deliver raw and reduced test data to the NEWL within 10 business days of test completion.
45
+ - The NEWL will—
46
+ - Request each test window at least 60 days before its start.
47
+ - Deliver test articles, test procedures and hazard analyses to the AFETC at least 14 days before each test window.
48
+ - Reimburse the AFETC for the support in Attachment A.
49
+ - Both Parties will—
50
+ - Conduct a joint safety review before each test window.
51
+ - Protect test data in accordance with its marking.
52
+
53
+ ~~~
54
+ $kind: personnel
55
+ ~~~
56
+ PERSONNEL: Each Party is responsible for all costs of its personnel, including pay and benefits, support, and travel. Each Party is responsible for supervision and management of its personnel. NEWL personnel present in the chamber area follow the direction of the AFETC test director on matters of safety.
57
+
58
+ ~~~
59
+ $kind: general_provisions
60
+ ~~~
61
+ GENERAL PROVISIONS:
62
+
63
+ - POINTS OF CONTACT (POCS). The following POCs will be used by the Parties to communicate matters concerning this MOA. Each Party may change its POC upon reasonable notice to the other Party.
64
+ - For the AFETC—
65
+ - Primary POC: Mr. Thomas E. Brandt, Chamber Facility Manager, AFETC/TEO, DSN 555-0110, thomas.brandt@example.mil.
66
+ - Alternate POC: Capt Alicia N. Moreno, Test Director, AFETC/TEO, DSN 555-0111, alicia.moreno@example.mil.
67
+ - For the NEWL—
68
+ - Primary POC: Dr. Evan P. Hollis, Sensor Program Lead, NEWL/CD, DSN 555-0210, evan.hollis@example.mil.
69
+ - Alternate POC: LT Priya S. Raman, Test Engineer, NEWL/CD, DSN 555-0211, priya.raman@example.mil.
70
+ - CORRESPONDENCE. All correspondence to be sent and notices to be given pursuant to this MOA will be addressed, if to the AFETC, to AFETC/TEO, 100 Example Avenue, Example AFB ST 12345-6789, and, if to the NEWL, to NEWL/CD, 200 Sample Road, Building 12, Example NAS ST 23456-7890, or as may from time to time otherwise be directed by the Parties.
71
+ - REVIEW OF AGREEMENT. This MOA will be reviewed on or around the anniversary of its effective date annually for financial impacts; if there are substantial changes in resource requirements, the agreement will be reviewed in its entirety.
72
+ - MODIFICATION OF AGREEMENT. This MOA may only be modified by the written agreement of the Parties, duly signed by their authorized representatives.
73
+ - DISPUTES. Any disputes relating to this MOA will, subject to any applicable law, Executive Order, or DoD issuance, be resolved by consultation between the Parties.
74
+ - TERMINATION OF AGREEMENT. This MOA may be terminated by either Party by giving at least 90 days' written notice to the other Party. The MOA may also be terminated at any time upon the mutual written consent of the Parties.
75
+ - TRANSFERABILITY. This MOA is not transferable except with the written consent of the Parties.
76
+ - ENTIRE AGREEMENT. It is expressly understood and agreed that this MOA embodies the entire agreement between the Parties regarding the MOA's subject matter, thereby merging and superseding all prior agreements and representations by the Parties with respect to such subject matter.
77
+ - EFFECTIVE DATE. This MOA takes effect beginning on the day after the last Party signs.
78
+ - EXPIRATION DATE. This MOA expires on 30 September 2031.
79
+ - CANCELLATION OR MODIFICATION OF PREVIOUS AGREEMENT. This MOA modifies or cancels and supersedes the previously signed agreement between the same Parties with the subject Environmental Test Facility Support, Agreement # FA1234-21-M-0009 and effective date of 1 October 2021.
80
+ - NO THIRD PARTY BENEFICIARIES. Nothing in this MOA, express or implied, is intended to give to, or will be construed to confer upon, any person or entity not a party any remedy or claim under or by reason of this MOA and this MOA will be for the sole and exclusive benefit of the Parties.
81
+ - SEVERABILITY. If any term, provision, or condition of this MOA is held to be invalid, void, or unenforceable by a governmental authority and such holding is not or cannot be appealed further, then such invalid, void, or unenforceable term, provision, or condition shall be deemed severed from this MOA and all remaining terms, provisions, and conditions of this MOA shall continue in full force and effect. The Parties shall endeavor in good faith to replace such invalid, void, or unenforceable term, provision, or condition with valid and enforceable terms, provisions, or conditions which achieve the purpose intended by the Parties to the greatest extent permitted by law.
82
+ - OTHER FEDERAL AGENCIES. This MOA does not bind any federal agency, other than the Parties, nor waive required compliance with any law or regulation.
83
+
84
+ ~~~
85
+ $kind: financial_details
86
+ ~~~
87
+ FINANCIAL DETAILS:
88
+
89
+ - AVAILABILITY OF FUNDS. This MOA does not document the obligation of funds between the Parties. The obligation of funds by the Parties, resulting from this MOA, is subject to the availability of funds pursuant to the DoD Financial Management Regulation. No provision in this MOA will be interpreted to require obligation or payment of funds in violation of the Anti-Deficiency Act, Section 1341 of Title 31, United States Code.
90
+ - BILLING. The AFETC will bill the NEWL on a monthly basis in accordance with the procedures of the Billing Party. A record of the transaction will be sent to the NEWL within 30 calendar days after the month in which the transaction occurred.
91
+ - PAYMENT OF BILLS. The NEWL paying office will forward payments, along with a copy of billed invoices, to the AFETC within 30 calendar days of the date of invoice. Bills rendered will not be subject to audit in advance of payment.
92
+ - FINANCIAL SPECIFICS. See Attachment A for all other details and information on the reimbursable support identified in this MOA. No allowance or advance payment is made under this MOA.
93
+ - ECONOMY ACT DETERMINATION AND FINDINGS (D&F). If the MOA is being entered into in accordance with Section 1535 of Title 31, United States Code (the Economy Act), both Parties agree that the requirements listed in Paragraph (a) of the Economy Act have been met. The provider has determined that the capabilities exist to render the requested support without jeopardizing its assigned missions. Any required Economy Act D&F has been completed.
94
+
95
+ ~~~
96
+ $kind: list_of_attachments
97
+ ~~~
98
+ LIST OF ATTACHMENTS:
99
+
100
+ - Attachment A, Financial Details
101
+ - Attachment B, Chamber Test Window Schedule
102
+
103
+ ~~~
104
+ $kind: attachment
105
+ title: Chamber Test Window Schedule
106
+ ~~~
107
+ The AFETC reserves the following thermal-vacuum chamber test windows for the NEWL in fiscal year 2027. Each window includes one day of chamber pump-down and one day of return to ambient.
108
+
109
+ - 2-13 November 2026: NEWL Sensor Block 2, thermal balance.
110
+ - 8-19 February 2027: NEWL Sensor Block 2, thermal cycling.
111
+ - 10-21 May 2027: NEWL Sensor Block 3, thermal balance.
112
+ - 9-20 August 2027: Reserved for retest.
113
+
114
+ The NEWL confirms or releases each window at least 60 days before its start. A released window returns to the AFETC schedule without charge.
@@ -11,7 +11,7 @@
11
11
  // =============================================================================
12
12
  // TYPOGRAPHY
13
13
  // =============================================================================
14
- #let DEFAULT_BODY_FONTS = ("NimbusRomNo9L", "times new roman")
14
+ #let DEFAULT_BODY_FONTS = ("NimbusRomNo9L",)
15
15
 
16
16
  // =============================================================================
17
17
  // DECIMAL OUTLINE NUMBERING
@@ -0,0 +1,281 @@
1
+ quill:
2
+ name: classic_resume
3
+ version: 0.0.1
4
+ backend: typst
5
+ description: Classic single-page resume
6
+
7
+ typst:
8
+ plate_file: plate.typ
9
+
10
+ # A resume is a stack of sections, and each kind of section is a card kind: a
11
+ # heading, optional prose under it, and the rows that section holds. The rows
12
+ # are the section's own, so an entry cannot land under the wrong heading.
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."
15
+ ui:
16
+ groups: [identity, page]
17
+ # Everything prints under a section heading, so main carries no body: a
18
+ # summary is a Summary card.
19
+ body:
20
+ enabled: false
21
+ fields:
22
+ name:
23
+ type: string
24
+ ui:
25
+ group: identity
26
+ description: "Your name as you want it read, set large at the top. It also titles the exported PDF."
27
+
28
+ contacts:
29
+ type: array
30
+ items:
31
+ type: string
32
+ ui:
33
+ group: identity
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."
35
+
36
+ paper:
37
+ type: enum
38
+ values:
39
+ - us-letter
40
+ - a4
41
+ default: us-letter
42
+ ui:
43
+ group: page
44
+ compact: true
45
+ description: "Page size."
46
+
47
+ font_size:
48
+ type: number
49
+ default: 12
50
+ ui:
51
+ group: page
52
+ compact: true
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."
54
+
55
+ margin:
56
+ type: number
57
+ default: 0.5
58
+ ui:
59
+ group: page
60
+ compact: true
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."
62
+
63
+
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.
67
+ card_kinds:
68
+ summary:
69
+ title: Summary
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.
73
+ fields:
74
+ title:
75
+ type: plaintext
76
+ inline: true
77
+ default: Summary
78
+ description: "Printed in uppercase over a rule. An empty title prints no heading, which sets the summary straight under your name."
79
+
80
+ experience:
81
+ title: Experience
82
+ description: "Jobs, most recent first: employer and dates on the first line, role and location on the second, details under them."
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.
91
+ fields:
92
+ title:
93
+ type: plaintext
94
+ inline: true
95
+ default: Work Experience
96
+ description: &title_description "Printed in uppercase over a rule. An empty title prints no heading."
97
+ jobs:
98
+ type: array
99
+ items:
100
+ type: object
101
+ properties:
102
+ company:
103
+ type: plaintext
104
+ inline: true
105
+ description: "Set in bold at the left of the first line."
106
+ dates: &dates
107
+ type: plaintext
108
+ inline: true
109
+ default: ""
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."
111
+ role:
112
+ type: plaintext
113
+ inline: true
114
+ default: ""
115
+ description: "Your title, set in italics under the employer. Leave blank to omit."
116
+ location: &location
117
+ type: plaintext
118
+ inline: true
119
+ default: ""
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."
121
+ details: &details
122
+ type: richtext
123
+ default: ""
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."
125
+ description: "One row per job. A row is never split across a page break."
126
+
127
+ education:
128
+ title: Education
129
+ description: "Schools, most recent first: school and date on the first line, degree and location on the second."
130
+ seed:
131
+ schools:
132
+ - school: School
133
+ dates: Month YYYY
134
+ degree: Degree
135
+ location: City, ST
136
+ fields:
137
+ title:
138
+ type: plaintext
139
+ inline: true
140
+ default: Education
141
+ description: *title_description
142
+ schools:
143
+ type: array
144
+ items:
145
+ type: object
146
+ properties:
147
+ school:
148
+ type: plaintext
149
+ inline: true
150
+ description: "Set in bold at the left of the first line."
151
+ dates: *dates
152
+ degree:
153
+ type: plaintext
154
+ inline: true
155
+ default: ""
156
+ description: "Degree and field, set in italics under the school. Leave blank to omit."
157
+ location: *location
158
+ details:
159
+ <<: *details
160
+ description: "Honors, activities, coursework, set under the entry. Most degrees need none."
161
+ description: "One row per school or degree."
162
+
163
+ skills:
164
+ title: Skills
165
+ description: "Skills in labelled groups, filled across the columns and then down."
166
+ seed:
167
+ skills:
168
+ - label: Category
169
+ items: Skill, Skill, Skill
170
+ fields:
171
+ title:
172
+ type: plaintext
173
+ inline: true
174
+ default: Skills
175
+ description: *title_description
176
+ skills:
177
+ type: array
178
+ ui:
179
+ layout: table
180
+ items:
181
+ type: object
182
+ properties:
183
+ label:
184
+ type: plaintext
185
+ inline: true
186
+ description: "Set in bold, with its items on the line under it."
187
+ items:
188
+ type: plaintext
189
+ inline: true
190
+ description: "Usually comma separated. Printed as written — markup is the one thing a labeled row does not carry."
191
+ description: "One label and its items per row."
192
+ columns: &columns
193
+ type: integer
194
+ default: 2
195
+ ui:
196
+ compact: true
197
+ description: "Number of columns. Two suits items that run most of a line; three suits single words."
198
+
199
+ projects:
200
+ title: Projects
201
+ description: "Projects: name and link on the first line, details under them."
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 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
+
230
+ certifications:
231
+ title: Certifications
232
+ description: "A list filled across the columns and then down. Retitled, it holds any short items: awards, languages, clearances."
233
+ seed:
234
+ items:
235
+ - Certification (ABBREVIATION)
236
+ fields:
237
+ title:
238
+ type: plaintext
239
+ inline: true
240
+ default: Certifications
241
+ description: *title_description
242
+ items:
243
+ type: array
244
+ items:
245
+ type: richtext
246
+ inline: true
247
+ description: "One item per line. Keep each to a line at the column width. Italicize with *asterisks*."
248
+ columns: *columns
249
+
250
+ other:
251
+ title: Other section
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."
253
+ seed:
254
+ title: Section Title
255
+ entries:
256
+ - heading: Entry
257
+ details: |
258
+ - What it was, and what came of it.
259
+ fields:
260
+ title:
261
+ type: plaintext
262
+ inline: true
263
+ description: "Printed in uppercase over a rule. This section has no usual heading, so this one is yours to write."
264
+ entries:
265
+ type: array
266
+ items:
267
+ type: object
268
+ properties:
269
+ heading:
270
+ type: plaintext
271
+ inline: true
272
+ description: "Set in bold at the left of the first line."
273
+ dates: *dates
274
+ subtitle:
275
+ type: plaintext
276
+ inline: true
277
+ default: ""
278
+ description: "Set in italics under the heading. Leave blank to omit."
279
+ location: *location
280
+ details: *details
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
+ ~~~
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Nibs
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,94 @@
1
+ Copyright 2017 The EB Garamond Project Authors (https://github.com/octaviopardo/EBGaramond12)
2
+ Copyright 2025 Deborah Khodanovich (RCS citation glyphs)
3
+
4
+ This Font Software is licensed under the SIL Open Font License, Version 1.1.
5
+ This license is copied below, and is also available with a FAQ at:
6
+ http://scripts.sil.org/OFL
7
+
8
+
9
+ -----------------------------------------------------------
10
+ SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
11
+ -----------------------------------------------------------
12
+
13
+ PREAMBLE
14
+ The goals of the Open Font License (OFL) are to stimulate worldwide
15
+ development of collaborative font projects, to support the font creation
16
+ efforts of academic and linguistic communities, and to provide a free and
17
+ open framework in which fonts may be shared and improved in partnership
18
+ with others.
19
+
20
+ The OFL allows the licensed fonts to be used, studied, modified and
21
+ redistributed freely as long as they are not sold by themselves. The
22
+ fonts, including any derivative works, can be bundled, embedded,
23
+ redistributed and/or sold with any software provided that any reserved
24
+ names are not used by derivative works. The fonts and derivatives,
25
+ however, cannot be released under any other type of license. The
26
+ requirement for fonts to remain under this license does not apply
27
+ to any document created using the fonts or their derivatives.
28
+
29
+ DEFINITIONS
30
+ "Font Software" refers to the set of files released by the Copyright
31
+ Holder(s) under this license and clearly marked as such. This may
32
+ include source files, build scripts and documentation.
33
+
34
+ "Reserved Font Name" refers to any names specified as such after the
35
+ copyright statement(s).
36
+
37
+ "Original Version" refers to the collection of Font Software components as
38
+ distributed by the Copyright Holder(s).
39
+
40
+ "Modified Version" refers to any derivative made by adding to, deleting,
41
+ or substituting -- in part or in whole -- any of the components of the
42
+ Original Version, by changing formats or by porting the Font Software to a
43
+ new environment.
44
+
45
+ "Author" refers to any designer, engineer, programmer, technical
46
+ writer or other person who contributed to the Font Software.
47
+
48
+ PERMISSION & CONDITIONS
49
+ Permission is hereby granted, free of charge, to any person obtaining
50
+ a copy of the Font Software, to use, study, copy, merge, embed, modify,
51
+ redistribute, and sell modified and unmodified copies of the Font
52
+ Software, subject to the following conditions:
53
+
54
+ 1) Neither the Font Software nor any of its individual components,
55
+ in Original or Modified Versions, may be sold by itself.
56
+
57
+ 2) Original or Modified Versions of the Font Software may be bundled,
58
+ redistributed and/or sold with any software, provided that each copy
59
+ contains the above copyright notice and this license. These can be
60
+ included either as stand-alone text files, human-readable headers or
61
+ in the appropriate machine-readable metadata fields within text or
62
+ binary files as long as those fields can be easily viewed by the user.
63
+
64
+ 3) No Modified Version of the Font Software may use the Reserved Font
65
+ Name(s) unless explicit written permission is granted by the corresponding
66
+ Copyright Holder. This restriction only applies to the primary font name as
67
+ presented to the users.
68
+
69
+ 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
70
+ Software shall not be used to promote, endorse or advertise any
71
+ Modified Version, except to acknowledge the contribution(s) of the
72
+ Copyright Holder(s) and the Author(s) or with their explicit written
73
+ permission.
74
+
75
+ 5) The Font Software, modified or unmodified, in part or in whole,
76
+ must be distributed entirely under this license, and must not be
77
+ distributed under any other license. The requirement for fonts to
78
+ remain under this license does not apply to any document created
79
+ using the Font Software.
80
+
81
+ TERMINATION
82
+ This license becomes null and void if any of the above conditions are
83
+ not met.
84
+
85
+ DISCLAIMER
86
+ THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
87
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
88
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
89
+ OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
90
+ COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
91
+ INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
92
+ DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
93
+ FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
94
+ OTHER DEALINGS IN THE FONT SOFTWARE.