@tonguetoquill/collection 0.1.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/LICENSE +201 -0
- package/README.md +39 -0
- package/index.d.ts +2 -0
- package/index.js +8 -0
- package/package.json +36 -0
- package/quills/classic_resume/0.1.0/Quill.yaml +118 -0
- package/quills/classic_resume/0.1.0/example.md +232 -0
- package/quills/classic_resume/0.1.0/packages/ttq-classic-resume/LICENSE +21 -0
- package/quills/classic_resume/0.1.0/packages/ttq-classic-resume/README.md +38 -0
- package/quills/classic_resume/0.1.0/packages/ttq-classic-resume/fonts/EBGaramond-Bold.ttf +0 -0
- package/quills/classic_resume/0.1.0/packages/ttq-classic-resume/fonts/EBGaramond-BoldItalic.ttf +0 -0
- package/quills/classic_resume/0.1.0/packages/ttq-classic-resume/fonts/EBGaramond-Italic.ttf +0 -0
- package/quills/classic_resume/0.1.0/packages/ttq-classic-resume/fonts/EBGaramond-Regular.ttf +0 -0
- package/quills/classic_resume/0.1.0/packages/ttq-classic-resume/src/components.typ +184 -0
- package/quills/classic_resume/0.1.0/packages/ttq-classic-resume/src/layout.typ +42 -0
- package/quills/classic_resume/0.1.0/packages/ttq-classic-resume/src/lib.typ +5 -0
- package/quills/classic_resume/0.1.0/packages/ttq-classic-resume/typst.toml +26 -0
- package/quills/classic_resume/0.1.0/plate.typ +44 -0
- package/quills/cmu_letter/0.1.0/.quillignore +31 -0
- package/quills/cmu_letter/0.1.0/Quill.yaml +64 -0
- package/quills/cmu_letter/0.1.0/assets/cmu-wordmark.svg +174 -0
- package/quills/cmu_letter/0.1.0/example.md +31 -0
- package/quills/cmu_letter/0.1.0/packages/tonguetoquill-cmu-letter/LICENSE +21 -0
- package/quills/cmu_letter/0.1.0/packages/tonguetoquill-cmu-letter/fonts/OFL.txt +93 -0
- package/quills/cmu_letter/0.1.0/packages/tonguetoquill-cmu-letter/fonts/OpenSans-Bold.ttf +0 -0
- package/quills/cmu_letter/0.1.0/packages/tonguetoquill-cmu-letter/fonts/OpenSans-BoldItalic.ttf +0 -0
- package/quills/cmu_letter/0.1.0/packages/tonguetoquill-cmu-letter/fonts/OpenSans-Italic.ttf +0 -0
- package/quills/cmu_letter/0.1.0/packages/tonguetoquill-cmu-letter/fonts/OpenSans-Regular.ttf +0 -0
- package/quills/cmu_letter/0.1.0/packages/tonguetoquill-cmu-letter/fonts/README.txt +100 -0
- package/quills/cmu_letter/0.1.0/packages/tonguetoquill-cmu-letter/src/backmatter.typ +13 -0
- package/quills/cmu_letter/0.1.0/packages/tonguetoquill-cmu-letter/src/config.typ +40 -0
- package/quills/cmu_letter/0.1.0/packages/tonguetoquill-cmu-letter/src/frontmatter.typ +72 -0
- package/quills/cmu_letter/0.1.0/packages/tonguetoquill-cmu-letter/src/lib.typ +47 -0
- package/quills/cmu_letter/0.1.0/packages/tonguetoquill-cmu-letter/src/mainmatter.typ +42 -0
- package/quills/cmu_letter/0.1.0/packages/tonguetoquill-cmu-letter/src/primitives.typ +70 -0
- package/quills/cmu_letter/0.1.0/packages/tonguetoquill-cmu-letter/src/utils.typ +85 -0
- package/quills/cmu_letter/0.1.0/packages/tonguetoquill-cmu-letter/typst.toml +17 -0
- package/quills/cmu_letter/0.1.0/plate.typ +19 -0
- package/quills/taro/0.1.0/Quill.yaml +29 -0
- package/quills/taro/0.1.0/assets/Figtree-Bold.ttf +0 -0
- package/quills/taro/0.1.0/assets/Figtree-Italic.ttf +0 -0
- package/quills/taro/0.1.0/assets/Figtree-Regular.ttf +0 -0
- package/quills/taro/0.1.0/example.md +27 -0
- package/quills/taro/0.1.0/plate.typ +31 -0
- package/quills/usaf_memo/0.1.0/.quillignore +31 -0
- package/quills/usaf_memo/0.1.0/Quill.yaml +209 -0
- package/quills/usaf_memo/0.1.0/assets/dow_seal.jpg +0 -0
- package/quills/usaf_memo/0.1.0/example.md +55 -0
- package/quills/usaf_memo/0.1.0/packages/tonguetoquill-usaf-memo/LICENSE +21 -0
- package/quills/usaf_memo/0.1.0/packages/tonguetoquill-usaf-memo/fonts/Cinzel/Cinzel-Regular.ttf +0 -0
- package/quills/usaf_memo/0.1.0/packages/tonguetoquill-usaf-memo/fonts/Cinzel/LICENSE +93 -0
- package/quills/usaf_memo/0.1.0/packages/tonguetoquill-usaf-memo/fonts/CopperplateCC/CopperplateCC-Heavy.otf +0 -0
- package/quills/usaf_memo/0.1.0/packages/tonguetoquill-usaf-memo/fonts/CopperplateCC/LICENSE.md +79 -0
- package/quills/usaf_memo/0.1.0/packages/tonguetoquill-usaf-memo/fonts/NimbusRomanNo9L/GNU General Public License.txt +340 -0
- package/quills/usaf_memo/0.1.0/packages/tonguetoquill-usaf-memo/fonts/NimbusRomanNo9L/NimbusRomNo9L-Med.otf +0 -0
- package/quills/usaf_memo/0.1.0/packages/tonguetoquill-usaf-memo/fonts/NimbusRomanNo9L/NimbusRomNo9L-MedIta.otf +0 -0
- package/quills/usaf_memo/0.1.0/packages/tonguetoquill-usaf-memo/fonts/NimbusRomanNo9L/NimbusRomNo9L-Reg.otf +0 -0
- package/quills/usaf_memo/0.1.0/packages/tonguetoquill-usaf-memo/fonts/NimbusRomanNo9L/NimbusRomNo9L-RegIta.otf +0 -0
- package/quills/usaf_memo/0.1.0/packages/tonguetoquill-usaf-memo/src/backmatter.typ +28 -0
- package/quills/usaf_memo/0.1.0/packages/tonguetoquill-usaf-memo/src/body.typ +325 -0
- package/quills/usaf_memo/0.1.0/packages/tonguetoquill-usaf-memo/src/config.typ +63 -0
- package/quills/usaf_memo/0.1.0/packages/tonguetoquill-usaf-memo/src/frontmatter.typ +114 -0
- package/quills/usaf_memo/0.1.0/packages/tonguetoquill-usaf-memo/src/indorsement.typ +118 -0
- package/quills/usaf_memo/0.1.0/packages/tonguetoquill-usaf-memo/src/lib.typ +55 -0
- package/quills/usaf_memo/0.1.0/packages/tonguetoquill-usaf-memo/src/mainmatter.typ +32 -0
- package/quills/usaf_memo/0.1.0/packages/tonguetoquill-usaf-memo/src/primitives.typ +272 -0
- package/quills/usaf_memo/0.1.0/packages/tonguetoquill-usaf-memo/src/utils.typ +377 -0
- package/quills/usaf_memo/0.1.0/packages/tonguetoquill-usaf-memo/typst.toml +17 -0
- package/quills/usaf_memo/0.1.0/plate.typ +74 -0
- package/quills/usaf_memo/0.2.0/.quillignore +31 -0
- package/quills/usaf_memo/0.2.0/Quill.yaml +225 -0
- package/quills/usaf_memo/0.2.0/assets/dow_seal.jpg +0 -0
- package/quills/usaf_memo/0.2.0/example.md +57 -0
- package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/LICENSE +21 -0
- package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/fonts/Cinzel/Cinzel-Regular.ttf +0 -0
- package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/fonts/Cinzel/LICENSE +93 -0
- package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/fonts/CopperplateCC/CopperplateCC-Heavy.otf +0 -0
- package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/fonts/CopperplateCC/LICENSE.md +79 -0
- package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/fonts/NimbusRomanNo9L/GNU General Public License.txt +340 -0
- package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/fonts/NimbusRomanNo9L/NimbusRomNo9L-Med.otf +0 -0
- package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/fonts/NimbusRomanNo9L/NimbusRomNo9L-MedIta.otf +0 -0
- package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/fonts/NimbusRomanNo9L/NimbusRomNo9L-Reg.otf +0 -0
- package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/fonts/NimbusRomanNo9L/NimbusRomNo9L-RegIta.otf +0 -0
- package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/src/backmatter.typ +28 -0
- package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/src/body.typ +325 -0
- package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/src/config.typ +63 -0
- package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/src/frontmatter.typ +114 -0
- package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/src/indorsement.typ +118 -0
- package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/src/lib.typ +55 -0
- package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/src/mainmatter.typ +32 -0
- package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/src/primitives.typ +272 -0
- package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/src/utils.typ +377 -0
- package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/typst.toml +17 -0
- package/quills/usaf_memo/0.2.0/plate.typ +76 -0
- package/templates/cmu_letter_template.md +38 -0
- package/templates/loc.md +79 -0
- package/templates/pass_request.md +44 -0
- package/templates/rebuttal.md +56 -0
- package/templates/taro.md +27 -0
- package/templates/templates.json +44 -0
- package/templates/usaf_template.md +23 -0
- package/templates/ussf_template.md +29 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# <img src="https://www.tonguetoquill.com/favicon.svg" alt="Tongue to Quill (TTQ) Logo" style="width:24px;"/> TTQ Classic Resume
|
|
2
|
+
|
|
3
|
+
[](https://github.com/nibsbin/ttq-classic-resume)
|
|
4
|
+
[](https://typst.app/universe/package/ttq-classic-resume)
|
|
5
|
+
[](https://github.com/nibsbin)
|
|
6
|
+
|
|
7
|
+
A clean, professional resume template for Typst with a refined, dense layout optimized for single-page resumes.
|
|
8
|
+
|
|
9
|
+
Maintained by [TongueToQuill](https://www.tonguetoquill.com)
|
|
10
|
+
|
|
11
|
+
## Preview
|
|
12
|
+
|
|
13
|
+
<p align="center">
|
|
14
|
+
<img src="thumbnail.png" alt="Resume Template Preview" width="600">
|
|
15
|
+
</p>
|
|
16
|
+
|
|
17
|
+
See the [template](template/resume.typ) for complete working resume.
|
|
18
|
+
|
|
19
|
+
## Quick Start
|
|
20
|
+
|
|
21
|
+
**Using Typst CLI:**
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
typst init @preview/ttq-classic-resume:0.1.0
|
|
25
|
+
typst compile resume.typ
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
**Using [typst.app](https://typst.app):**
|
|
29
|
+
|
|
30
|
+
Click "Start from template" and search for `ttq-classic-resume`.
|
|
31
|
+
|
|
32
|
+
## Documentation
|
|
33
|
+
|
|
34
|
+
For documentation and example, see the [template](template/resume.typ).
|
|
35
|
+
|
|
36
|
+
## License
|
|
37
|
+
|
|
38
|
+
MIT
|
|
Binary file
|
package/quills/classic_resume/0.1.0/packages/ttq-classic-resume/fonts/EBGaramond-BoldItalic.ttf
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
// components.typ
|
|
2
|
+
#import "layout.typ": config, vgap
|
|
3
|
+
|
|
4
|
+
// --- Utility Functions ---
|
|
5
|
+
|
|
6
|
+
// Horizontal Rule
|
|
7
|
+
#let hrule = {
|
|
8
|
+
line(length: 100%, stroke: 0.75pt)
|
|
9
|
+
v(-2pt)
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
// --- Constants ---
|
|
13
|
+
#let bullet_marker_width = 3.5pt
|
|
14
|
+
#let bullet_body_indent = 0.8em
|
|
15
|
+
#let bullet_text_offset = bullet_marker_width + bullet_body_indent
|
|
16
|
+
|
|
17
|
+
// --- Component Exports ---
|
|
18
|
+
|
|
19
|
+
// Resume Header
|
|
20
|
+
#let resume-header(name: "", contacts: ()) = {
|
|
21
|
+
set align(left)
|
|
22
|
+
|
|
23
|
+
// Name
|
|
24
|
+
block(text(size: 18pt, weight: "bold", name))
|
|
25
|
+
|
|
26
|
+
set text(size: config.base-size, weight: "regular")
|
|
27
|
+
|
|
28
|
+
vgap(config.entry-spacing)
|
|
29
|
+
|
|
30
|
+
// Contacts
|
|
31
|
+
// Separator: ' ❖ '
|
|
32
|
+
for i in range(0, contacts.len()) {
|
|
33
|
+
let contact = contacts.at(i)
|
|
34
|
+
if i > 0 {
|
|
35
|
+
[~~#text("❖", size: 8pt)~~#contact]
|
|
36
|
+
} else {
|
|
37
|
+
[#contact]
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
//block(contact_text)
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
// Section Header
|
|
46
|
+
#let section-header(title, extra: none) = {
|
|
47
|
+
vgap(config.section-spacing)
|
|
48
|
+
set align(left)
|
|
49
|
+
|
|
50
|
+
// Title
|
|
51
|
+
block({
|
|
52
|
+
text(weight: "bold", upper(title))
|
|
53
|
+
if extra != none {
|
|
54
|
+
text(weight: "bold", " " + extra)
|
|
55
|
+
}
|
|
56
|
+
})
|
|
57
|
+
|
|
58
|
+
hrule
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// Timeline Entry
|
|
62
|
+
#let timeline-entry(
|
|
63
|
+
heading-left: "",
|
|
64
|
+
heading-right: "",
|
|
65
|
+
subheading-left: none,
|
|
66
|
+
subheading-right: none,
|
|
67
|
+
body: none,
|
|
68
|
+
) = {
|
|
69
|
+
vgap(config.entry-spacing)
|
|
70
|
+
block(breakable: false, {
|
|
71
|
+
// Header Grid (combined for alignment and spacing)
|
|
72
|
+
let cells = (
|
|
73
|
+
align(left, text(weight: "bold", heading-left)),
|
|
74
|
+
align(right, text(weight: "bold", heading-right)),
|
|
75
|
+
)
|
|
76
|
+
|
|
77
|
+
if subheading-left != none or subheading-right != none {
|
|
78
|
+
cells.push(align(left, text(style: "italic", subheading-left)))
|
|
79
|
+
cells.push(align(right, text(style: "italic", subheading-right)))
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
grid(
|
|
83
|
+
columns: (1fr, auto),
|
|
84
|
+
row-gutter: config.leading, // Use global vertical rhythm
|
|
85
|
+
..cells,
|
|
86
|
+
)
|
|
87
|
+
|
|
88
|
+
// Body content (Optional)
|
|
89
|
+
if body != none {
|
|
90
|
+
// Style native Typst lists to match previous bullet styling
|
|
91
|
+
show list: set list(
|
|
92
|
+
marker: box(fill: black, width: bullet_marker_width, height: bullet_marker_width, radius: 0pt, baseline: .5em),
|
|
93
|
+
body-indent: bullet_body_indent,
|
|
94
|
+
indent: 0em,
|
|
95
|
+
)
|
|
96
|
+
|
|
97
|
+
body
|
|
98
|
+
}
|
|
99
|
+
})
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// Unified Table Component
|
|
103
|
+
// Auto-detects structure from item shape:
|
|
104
|
+
// Categorized: ((category: content, text: content), ...)
|
|
105
|
+
// Flat: (content, content, ...)
|
|
106
|
+
#let table(items: (), columns: 2) = {
|
|
107
|
+
if items.len() == 0 { return }
|
|
108
|
+
|
|
109
|
+
// Auto-detect from item shape
|
|
110
|
+
let is_categorized = (
|
|
111
|
+
type(items.at(0)) == dictionary and "category" in items.at(0)
|
|
112
|
+
)
|
|
113
|
+
|
|
114
|
+
vgap(config.entry-spacing)
|
|
115
|
+
|
|
116
|
+
let render_cell(item) = {
|
|
117
|
+
if is_categorized {
|
|
118
|
+
block({
|
|
119
|
+
text(weight: "bold", item.category)
|
|
120
|
+
linebreak()
|
|
121
|
+
item.text
|
|
122
|
+
})
|
|
123
|
+
} else {
|
|
124
|
+
item
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
pad(
|
|
129
|
+
left: bullet_text_offset,
|
|
130
|
+
grid(
|
|
131
|
+
columns: (1fr,) * columns,
|
|
132
|
+
row-gutter: if is_categorized {
|
|
133
|
+
config.leading + config.entry-spacing
|
|
134
|
+
} else {
|
|
135
|
+
config.leading
|
|
136
|
+
},
|
|
137
|
+
column-gutter: 1em,
|
|
138
|
+
..items.map(render_cell),
|
|
139
|
+
),
|
|
140
|
+
)
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
// Backward compatibility shims (deprecated)
|
|
144
|
+
// These will be removed in a future major version
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
// Project Entry (PROJECTS section)
|
|
148
|
+
#let project-entry(
|
|
149
|
+
name: "",
|
|
150
|
+
url: none,
|
|
151
|
+
body: none,
|
|
152
|
+
) = {
|
|
153
|
+
vgap(config.entry-spacing)
|
|
154
|
+
block(breakable: false, {
|
|
155
|
+
// Header Grid
|
|
156
|
+
grid(
|
|
157
|
+
columns: (1fr, auto),
|
|
158
|
+
row-gutter: config.leading,
|
|
159
|
+
align(left, text(weight: "bold", name)),
|
|
160
|
+
align(right, {
|
|
161
|
+
if url != none {
|
|
162
|
+
// Only hyperlink if it looks like a URL
|
|
163
|
+
if url.starts-with("http") {
|
|
164
|
+
text(size: 8pt, font: "Courier New", emph(link(url)[#url]))
|
|
165
|
+
} else {
|
|
166
|
+
text(size: 8pt, font: "Courier New", url)
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}),
|
|
170
|
+
)
|
|
171
|
+
|
|
172
|
+
// Body content (Optional)
|
|
173
|
+
if body != none {
|
|
174
|
+
// Style native Typst lists to match previous bullet styling
|
|
175
|
+
show list: set list(
|
|
176
|
+
marker: box(fill: black, width: bullet_marker_width, height: bullet_marker_width, radius: 0pt, baseline: .5em),
|
|
177
|
+
body-indent: bullet_body_indent,
|
|
178
|
+
indent: 0em,
|
|
179
|
+
)
|
|
180
|
+
|
|
181
|
+
body
|
|
182
|
+
}
|
|
183
|
+
})
|
|
184
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// layout.typ
|
|
2
|
+
|
|
3
|
+
// --- Configurations ---
|
|
4
|
+
#let config = (
|
|
5
|
+
font: "eb garamond",
|
|
6
|
+
base-size: 12pt,
|
|
7
|
+
leading: 0.5em, // Global spacing value (vertical rhythm)
|
|
8
|
+
section-spacing: 5pt,
|
|
9
|
+
entry-spacing: 5pt,
|
|
10
|
+
margin: 0.5in,
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
// --- Utility Functions ---
|
|
14
|
+
#let vgap(amount) = v(amount)
|
|
15
|
+
|
|
16
|
+
// --- Resume Show Rule (Global Setup) ---
|
|
17
|
+
#let resume(content) = {
|
|
18
|
+
set page(
|
|
19
|
+
paper: "us-letter",
|
|
20
|
+
margin: config.margin,
|
|
21
|
+
)
|
|
22
|
+
|
|
23
|
+
set text(
|
|
24
|
+
font: config.font,
|
|
25
|
+
size: config.base-size,
|
|
26
|
+
)
|
|
27
|
+
|
|
28
|
+
set par(
|
|
29
|
+
leading: config.leading,
|
|
30
|
+
justify: false,
|
|
31
|
+
spacing: config.leading, // Space between paragraphs
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
// Enforce global block spacing for vertical rhythm
|
|
35
|
+
set block(above: config.leading, below: config.leading)
|
|
36
|
+
set list(spacing: config.leading)
|
|
37
|
+
|
|
38
|
+
// Hyperlinks should be standard black text
|
|
39
|
+
show link: set text(fill: black)
|
|
40
|
+
|
|
41
|
+
content
|
|
42
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
[package]
|
|
2
|
+
name = "ttq-classic-resume"
|
|
3
|
+
version = "0.1.0"
|
|
4
|
+
compiler = "0.14.0"
|
|
5
|
+
entrypoint = "src/lib.typ"
|
|
6
|
+
repository = "https://github.com/nibsbin/ttq-classic-resume"
|
|
7
|
+
authors = ["Nibs"]
|
|
8
|
+
license = "MIT"
|
|
9
|
+
description = "A clean and modern resume."
|
|
10
|
+
|
|
11
|
+
keywords = [
|
|
12
|
+
"resume",
|
|
13
|
+
"cv",
|
|
14
|
+
"curriculum vitae",
|
|
15
|
+
"job",
|
|
16
|
+
"career",
|
|
17
|
+
"professional",
|
|
18
|
+
"template",
|
|
19
|
+
]
|
|
20
|
+
categories = ["cv"]
|
|
21
|
+
disciplines = ["business", "computer-science", "engineering", "communication"]
|
|
22
|
+
|
|
23
|
+
[template]
|
|
24
|
+
path = "template"
|
|
25
|
+
entrypoint = "resume.typ"
|
|
26
|
+
thumbnail = "thumbnail.png"
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
#import "@local/quillmark-helper:0.1.0": data, eval-markup, parse-date
|
|
2
|
+
#import "@preview/ttq-classic-resume:0.1.0": *
|
|
3
|
+
|
|
4
|
+
#show: resume
|
|
5
|
+
|
|
6
|
+
#resume-header(
|
|
7
|
+
name: data.name,
|
|
8
|
+
contacts: data.contacts,
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
#for card in data.CARDS {
|
|
12
|
+
if "title" in card and card.title != "" {
|
|
13
|
+
section-header(card.title)
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
if card.CARD == "experience_section" {
|
|
17
|
+
timeline-entry(
|
|
18
|
+
heading-left: card.at("headingLeft", default: ""),
|
|
19
|
+
heading-right: card.at("headingRight", default: ""),
|
|
20
|
+
subheading-left: card.at("subheadingLeft", default: none),
|
|
21
|
+
subheading-right: card.at("subheadingRight", default: none),
|
|
22
|
+
body: eval-markup(card.at("BODY", default: "")),
|
|
23
|
+
)
|
|
24
|
+
} else if card.CARD == "skills_section" {
|
|
25
|
+
table(
|
|
26
|
+
columns: 2,
|
|
27
|
+
items: card.cells.map(item => (
|
|
28
|
+
category: item.category,
|
|
29
|
+
text: item.skills,
|
|
30
|
+
))
|
|
31
|
+
)
|
|
32
|
+
} else if card.CARD == "projects_section" {
|
|
33
|
+
project-entry(
|
|
34
|
+
name: card.name,
|
|
35
|
+
url: card.at("url", default: none),
|
|
36
|
+
body: eval-markup(card.at("BODY", default: "")),
|
|
37
|
+
)
|
|
38
|
+
} else if card.CARD == "certifications_section" {
|
|
39
|
+
table(
|
|
40
|
+
columns: 2,
|
|
41
|
+
items: card.cells
|
|
42
|
+
)
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Example .quillignore for usaf_memo template
|
|
2
|
+
# This demonstrates the .quillignore functionality
|
|
3
|
+
|
|
4
|
+
# Ignore temporary and backup files
|
|
5
|
+
*.tmp
|
|
6
|
+
*.bak
|
|
7
|
+
*~
|
|
8
|
+
*.swp
|
|
9
|
+
|
|
10
|
+
# Ignore build artifacts
|
|
11
|
+
target/
|
|
12
|
+
dist/
|
|
13
|
+
build/
|
|
14
|
+
|
|
15
|
+
# Ignore OS-specific files
|
|
16
|
+
.DS_Store
|
|
17
|
+
Thumbs.db
|
|
18
|
+
desktop.ini
|
|
19
|
+
|
|
20
|
+
# Ignore version control
|
|
21
|
+
.git/
|
|
22
|
+
.svn/
|
|
23
|
+
|
|
24
|
+
# Ignore editor files
|
|
25
|
+
.vscode/
|
|
26
|
+
.idea/
|
|
27
|
+
*.sublime-*
|
|
28
|
+
|
|
29
|
+
# Ignore log files
|
|
30
|
+
*.log
|
|
31
|
+
logs/
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
Quill:
|
|
2
|
+
name: cmu_letter
|
|
3
|
+
version: 0.1.0
|
|
4
|
+
backend: typst
|
|
5
|
+
plate_file: plate.typ
|
|
6
|
+
example_file: example.md
|
|
7
|
+
description: Typeset letters that comply with Carnegie Mellon University letterhead standards.
|
|
8
|
+
|
|
9
|
+
fields:
|
|
10
|
+
recipient:
|
|
11
|
+
title: Recipient's name and address
|
|
12
|
+
type: array
|
|
13
|
+
examples:
|
|
14
|
+
- - Mr. John Doe
|
|
15
|
+
- 123 Main St
|
|
16
|
+
- Anytown, USA
|
|
17
|
+
ui:
|
|
18
|
+
group: Essentials
|
|
19
|
+
description: The recipient's name and full mailing address.
|
|
20
|
+
|
|
21
|
+
signature_block:
|
|
22
|
+
title: Signature block lines
|
|
23
|
+
type: array
|
|
24
|
+
examples:
|
|
25
|
+
- - First M. Last
|
|
26
|
+
- Title
|
|
27
|
+
ui:
|
|
28
|
+
group: Essentials
|
|
29
|
+
description: "The signer's information. Line 1: Name. Line 2: Title."
|
|
30
|
+
|
|
31
|
+
department:
|
|
32
|
+
title: Name of the department or unit
|
|
33
|
+
type: string
|
|
34
|
+
examples:
|
|
35
|
+
- Department of Electrical and Computer Engineering
|
|
36
|
+
ui:
|
|
37
|
+
group: Letterhead
|
|
38
|
+
description: The department or organizational unit name for the letterhead.
|
|
39
|
+
|
|
40
|
+
address:
|
|
41
|
+
title: Sender's address lines
|
|
42
|
+
type: array
|
|
43
|
+
examples:
|
|
44
|
+
- - 5000 Forbes Avenue
|
|
45
|
+
- Pittsburgh, PA 15213-3890
|
|
46
|
+
ui:
|
|
47
|
+
group: Letterhead
|
|
48
|
+
description: The sender's institutional mailing address.
|
|
49
|
+
|
|
50
|
+
url:
|
|
51
|
+
title: Department or university URL
|
|
52
|
+
type: string
|
|
53
|
+
examples:
|
|
54
|
+
- www.ece.cmu.edu
|
|
55
|
+
ui:
|
|
56
|
+
group: Letterhead
|
|
57
|
+
description: The department or university website URL.
|
|
58
|
+
|
|
59
|
+
date:
|
|
60
|
+
title: Date of the letter
|
|
61
|
+
type: date
|
|
62
|
+
ui:
|
|
63
|
+
group: Advanced
|
|
64
|
+
description: The date to appear on the letter.
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
|
3
|
+
|
|
4
|
+
<svg
|
|
5
|
+
version="1.1"
|
|
6
|
+
id="svg1"
|
|
7
|
+
width="192.90668"
|
|
8
|
+
height="17.08"
|
|
9
|
+
viewBox="0 0 192.90668 17.08"
|
|
10
|
+
sodipodi:docname="cmu-wordmark-horizontal-r.eps"
|
|
11
|
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
12
|
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
13
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
14
|
+
xmlns:svg="http://www.w3.org/2000/svg">
|
|
15
|
+
<defs
|
|
16
|
+
id="defs1" />
|
|
17
|
+
<sodipodi:namedview
|
|
18
|
+
id="namedview1"
|
|
19
|
+
pagecolor="#ffffff"
|
|
20
|
+
bordercolor="#000000"
|
|
21
|
+
borderopacity="0.25"
|
|
22
|
+
inkscape:showpageshadow="2"
|
|
23
|
+
inkscape:pageopacity="0.0"
|
|
24
|
+
inkscape:pagecheckerboard="0"
|
|
25
|
+
inkscape:deskcolor="#d1d1d1">
|
|
26
|
+
<inkscape:page
|
|
27
|
+
x="0"
|
|
28
|
+
y="0"
|
|
29
|
+
inkscape:label="1"
|
|
30
|
+
id="page1"
|
|
31
|
+
width="192.90668"
|
|
32
|
+
height="17.08"
|
|
33
|
+
margin="0"
|
|
34
|
+
bleed="0" />
|
|
35
|
+
</sodipodi:namedview>
|
|
36
|
+
<g
|
|
37
|
+
id="g1"
|
|
38
|
+
inkscape:groupmode="layer"
|
|
39
|
+
inkscape:label="1">
|
|
40
|
+
<g
|
|
41
|
+
id="group-R5">
|
|
42
|
+
<path
|
|
43
|
+
id="path2"
|
|
44
|
+
d="M 424.281,90.9688 V 37.6563 h 8.887 v -3.5274 h -35.543 v 3.5274 h 8.883 v 49.5585 h -6.895 v 3.754 h 24.668"
|
|
45
|
+
style="fill:#c4122e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
|
46
|
+
transform="matrix(0.13333333,0,0,-0.13333333,0,17.08)" />
|
|
47
|
+
<path
|
|
48
|
+
id="path3"
|
|
49
|
+
d="m 73.375,125.395 h -3.2109 c -0.1289,-2.739 -1.5664,-3.918 -4.3047,-3.918 -5.4883,0 -13.5,6.66 -22.9063,6.66 C 16.1875,128.137 0,101.766 0,78.5195 0,55.1445 15.4063,32.0391 41.2578,32.0391 c 15.6641,0 21.543,7.4414 25.7188,7.4414 2.7461,0 3.2461,-2.418 3.2461,-5.3516 h 3.5468 V 66.1172 H 70.2227 L 69.4414,61.6797 C 67.6172,51.1016 59.4023,35.4805 42.5625,35.4805 c -14.8867,0 -20.6289,12.8789 -20.6289,44.6054 0,33.2971 7.832,44.4961 21.0195,44.4961 14.8867,0 25.1211,-16.684 27.211,-30 h 3.2109 v 30.813"
|
|
50
|
+
style="fill:#c4122e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
|
51
|
+
transform="matrix(0.13333333,0,0,-0.13333333,0,17.08)" />
|
|
52
|
+
<path
|
|
53
|
+
id="path4"
|
|
54
|
+
d="m 142.672,45.1992 c 0,-3.3437 -2.207,-7.207 -3.664,-7.207 -2.324,0 -2.852,2.4453 -2.852,6.4336 v 29.625 c 0,14.6797 -13.777,18.2812 -27.035,18.2812 -12.8866,0 -22.2851,-6.3047 -22.2851,-13.5195 0,-4.5039 2.5782,-8.3711 8.375,-8.3711 4.8911,0 7.8521,3.2188 7.8521,7.7266 0,6.5508 -6.8052,6.6367 -6.8052,6.7851 0,2.9219 7.5742,3.8633 11.9612,3.8633 9.652,0 10.941,-3.5625 10.941,-11.2891 V 66.7109 L 106.535,65.6836 C 94.8203,64.7773 82.0703,61.6875 82.0703,48.293 c 0,-11.2032 10.043,-15.711 19.9607,-15.711 5.028,0 13.91,1.9297 17.254,8.1133 2.32,-5.4101 7.086,-8.1133 12.887,-8.1133 8.363,0 13.773,5.0235 13.773,12.6172 z m -23.512,4.2539 c -0.254,-6.8281 -4.121,-12.4218 -10.176,-12.4218 -8.754,0 -9.1402,7.3906 -9.1402,13.039 0,6.8281 0.7692,11.336 9.1402,12.2344 l 10.176,1.0351 V 49.4531"
|
|
55
|
+
style="fill:#c4122e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
|
56
|
+
transform="matrix(0.13333333,0,0,-0.13333333,0,17.08)" />
|
|
57
|
+
<path
|
|
58
|
+
id="path5"
|
|
59
|
+
d="M 1340.27,91.1563 V 37.8398 h 8.89 v -3.5234 h -35.54 v 3.5234 h 8.88 v 49.5625 h -8.88 v 3.754 h 26.65"
|
|
60
|
+
style="fill:#c4122e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
|
61
|
+
transform="matrix(0.13333333,0,0,-0.13333333,0,17.08)" />
|
|
62
|
+
<path
|
|
63
|
+
id="path6"
|
|
64
|
+
d="m 568.207,63.6563 21.34,61.0387 h 29.433 l -0.085,-3.64 h -8.418 V 37.6797 h 8.418 v -3.5586 h -35.36 v 3.5586 h 8.594 v 82.4653 h -0.262 L 561.863,34.1211 h -3.48 l -30.774,87.5669 h -0.257 V 48.6719 c 0,-10.4297 2.707,-10.9922 9.66,-10.9922 h 0.39 v -3.5586 h -22.269 v 3.5586 0 c 7.351,0 8.715,4.2969 8.715,9.832 v 73.5433 h -8.715 v 3.722 h 32.308 l 20.766,-61.1207"
|
|
65
|
+
style="fill:#c4122e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
|
66
|
+
transform="matrix(0.13333333,0,0,-0.13333333,0,17.08)" />
|
|
67
|
+
<path
|
|
68
|
+
id="path7"
|
|
69
|
+
d="m 639.477,65.2813 h 35.546 c -0.132,13.9101 -13.007,27.3007 -26.535,27.0468 -15.187,0 -28.328,-13.1367 -28.328,-30.5234 0,-16.7422 12.238,-29.2344 28.723,-29.2344 15.84,0 23.695,9.793 26.527,22.5352 h -3.512 c -2.828,-11.9727 -9.113,-18.7774 -19.156,-18.7774 -11.972,0 -13.265,9.3789 -13.265,18.1328 z m 0,3.5 v 8.6523 c 0,8.6289 3.742,11.3281 8.117,11.3281 6.183,0 8.113,-4.2461 8.113,-11.3281 v -8.6523 h -16.23"
|
|
70
|
+
style="fill:#c4122e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
|
71
|
+
transform="matrix(0.13333333,0,0,-0.13333333,0,17.08)" />
|
|
72
|
+
<path
|
|
73
|
+
id="path8"
|
|
74
|
+
d="m 1174.48,65.4922 h 35.54 c -0.13,13.9062 -13.01,27.293 -26.53,27.0391 -15.19,0 -28.33,-13.1329 -28.33,-30.5157 0,-16.7422 12.23,-29.2343 28.72,-29.2343 15.84,0 23.7,9.7851 26.52,22.5351 h -3.5 c -2.83,-11.9766 -9.12,-18.7812 -19.16,-18.7812 -11.97,0 -13.26,9.3828 -13.26,18.1367 z m 0,3.4961 v 8.6523 c 0,8.6289 3.73,11.3321 8.11,11.3321 6.18,0 8.11,-4.2539 8.11,-11.3321 v -8.6523 h -16.22"
|
|
75
|
+
style="fill:#c4122e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
|
76
|
+
transform="matrix(0.13333333,0,0,-0.13333333,0,17.08)" />
|
|
77
|
+
<path
|
|
78
|
+
id="path9"
|
|
79
|
+
d="m 675.242,124.574 v -3.273 h 8.887 V 37.7617 h -8.887 v -3.6406 h 35.543 v 3.6406 h -8.883 v 86.8123 h -26.66"
|
|
80
|
+
style="fill:#c4122e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
|
81
|
+
transform="matrix(0.13333333,0,0,-0.13333333,0,17.08)" />
|
|
82
|
+
<path
|
|
83
|
+
id="path10"
|
|
84
|
+
d="m 713.27,124.574 v -3.273 h 8.886 V 37.7617 h -8.886 v -3.6406 h 35.543 v 3.6406 h -8.883 v 86.8123 h -26.66"
|
|
85
|
+
style="fill:#c4122e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
|
86
|
+
transform="matrix(0.13333333,0,0,-0.13333333,0,17.08)" />
|
|
87
|
+
<path
|
|
88
|
+
id="path11"
|
|
89
|
+
d="m 809.766,62.4492 c 0,17.6406 -13.649,29.8789 -30.653,29.8789 -16.996,0 -30.648,-12.2383 -30.648,-29.8789 0,-17.6406 13.652,-29.8789 30.648,-29.8789 17.004,0 30.653,12.2383 30.653,29.8789 m -20.09,-12.7304 c 0,-9.6563 -3.992,-13.6524 -10.563,-13.6524 -6.566,0 -10.554,3.9961 -10.554,13.6524 v 25.3437 c 0,9.6563 3.988,13.6523 10.554,13.6523 6.571,0 10.563,-3.996 10.563,-13.6523 V 49.7188"
|
|
90
|
+
style="fill:#c4122e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
|
91
|
+
transform="matrix(0.13333333,0,0,-0.13333333,0,17.08)" />
|
|
92
|
+
<path
|
|
93
|
+
id="path12"
|
|
94
|
+
d="m 902.191,121.625 h 9.004 V 64.4141 c 0,-19.961 13.782,-32.0664 34.77,-32.0664 23.703,0 34,12.4961 34,31.4257 v 48.9106 c 0,7.464 2.062,8.941 6.699,8.941 h 2.609 v 3.445 h -22.652 v -3.445 h 1.625 c 6.567,0 7.477,-1.988 7.477,-9.453 V 62.4883 c 0,-17.5195 -10.871,-25.5039 -21.903,-25.5039 -18.797,0 -22.531,12.625 -23.648,29.1094 v 55.5312 h 8.441 v 3.445 h -36.422 v -3.445"
|
|
95
|
+
style="fill:#c4122e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
|
96
|
+
transform="matrix(0.13333333,0,0,-0.13333333,0,17.08)" />
|
|
97
|
+
<path
|
|
98
|
+
id="path13"
|
|
99
|
+
d="m 1125.3,32.8711 h 3.48 l 19.06,45.0664 c 3.85,8.418 5.92,9.4844 8.88,9.6133 h 1.16 v 3.5273 h -20.09 v -3.5664 h 2.45 c 3.73,0 5.45,0.2422 5.45,-3.1054 0,-2.0625 -0.66,-4.0938 -2.19,-7.8204 l -8.75,-20.6093 -14.02,31.5351 h 7.15 v 3.5664 h -32.32 v -3.5664 h 6.05 l 23.69,-54.6406"
|
|
100
|
+
style="fill:#c4122e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
|
101
|
+
transform="matrix(0.13333333,0,0,-0.13333333,0,17.08)" />
|
|
102
|
+
<path
|
|
103
|
+
id="path14"
|
|
104
|
+
d="m 1268.79,32.8711 h 3.05 c 0.65,2.0586 1.97,3.0859 4.55,3.0859 3.35,0 7.34,-3.0859 14.55,-3.0859 12.24,0 20.6,10.5547 20.6,21.1133 0,15.7148 -10.81,16.875 -24.59,18.8086 -7.21,1.0273 -11.29,2.0586 -11.29,7.7226 0,6.0586 5.28,8.5938 12.22,8.5938 9.67,0 13.41,-6.4063 16.63,-14.7735 h 3.04 v 18.2852 h -2.91 c 0,-1.543 -1.34,-2.832 -3.78,-2.832 -4.13,0 -7.48,2.832 -13.4,2.832 -12.88,0 -19.19,-10.9492 -19.19,-19.1914 0,-16.6133 12.62,-18.0313 22.41,-19.1836 9.28,-1.1602 12.62,-1.7539 12.62,-7.6797 0,-6.8203 -5.66,-9.9258 -12.62,-9.9258 -9.78,0 -16.52,8.4571 -18.84,17.8594 h -3.05 V 32.8711"
|
|
105
|
+
style="fill:#c4122e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
|
106
|
+
transform="matrix(0.13333333,0,0,-0.13333333,0,17.08)" />
|
|
107
|
+
<path
|
|
108
|
+
id="path15"
|
|
109
|
+
d="M 1090.84,91.1563 V 37.8398 h 8.9 v -3.5234 h -35.55 v 3.5234 h 8.89 v 49.5625 h -8.89 v 3.754 h 26.65"
|
|
110
|
+
style="fill:#c4122e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
|
111
|
+
transform="matrix(0.13333333,0,0,-0.13333333,0,17.08)" />
|
|
112
|
+
<path
|
|
113
|
+
id="path16"
|
|
114
|
+
d="m 1073.09,108.93 c 0,-4.926 3.95,-8.871 8.87,-8.871 4.93,0 8.87,3.945 8.87,8.871 0,4.929 -3.94,8.871 -8.87,8.871 -4.92,0 -8.87,-3.942 -8.87,-8.871"
|
|
115
|
+
style="fill:#c4122e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
|
116
|
+
transform="matrix(0.13333333,0,0,-0.13333333,0,17.08)" />
|
|
117
|
+
<path
|
|
118
|
+
id="path17"
|
|
119
|
+
d="m 1322.48,108.93 c 0,-4.926 3.94,-8.871 8.87,-8.871 4.93,0 8.87,3.945 8.87,8.871 0,4.929 -3.94,8.871 -8.87,8.871 -4.93,0 -8.87,-3.942 -8.87,-8.871"
|
|
120
|
+
style="fill:#c4122e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
|
121
|
+
transform="matrix(0.13333333,0,0,-0.13333333,0,17.08)" />
|
|
122
|
+
<path
|
|
123
|
+
id="path18"
|
|
124
|
+
d="m 297.621,65.3008 h 35.547 c -0.133,13.9101 -13.008,27.3008 -26.531,27.0469 -15.192,0 -28.332,-13.1368 -28.332,-30.5235 0,-16.7383 12.238,-29.2265 28.722,-29.2265 15.836,0 23.696,9.7851 26.528,22.5312 h -3.512 c -2.828,-11.9766 -9.109,-18.7773 -19.156,-18.7773 -11.973,0 -13.266,9.3789 -13.266,18.1328 z m 0,3.5 v 8.6523 c 0,8.6289 3.734,11.3282 8.113,11.3282 6.184,0 8.118,-4.2461 8.118,-11.3282 v -8.6523 h -16.231"
|
|
125
|
+
style="fill:#c4122e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
|
126
|
+
transform="matrix(0.13333333,0,0,-0.13333333,0,17.08)" />
|
|
127
|
+
<path
|
|
128
|
+
id="path19"
|
|
129
|
+
d="m 453.105,65.3008 h 35.547 c -0.132,13.9101 -13.011,27.3008 -26.535,27.0469 -15.195,0 -28.328,-13.1368 -28.328,-30.5235 0,-16.7383 12.231,-29.2265 28.715,-29.2265 15.84,0 23.699,9.7851 26.531,22.5312 h -3.508 c -2.832,-11.9766 -9.113,-18.7773 -19.16,-18.7773 -11.972,0 -13.262,9.3789 -13.262,18.1328 z m 0,3.5 v 8.6523 c 0,8.6289 3.735,11.3282 8.11,11.3282 4.613,0 8.113,-2.6641 8.113,-11.3282 v -8.6523 h -16.223"
|
|
130
|
+
style="fill:#c4122e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
|
131
|
+
transform="matrix(0.13333333,0,0,-0.13333333,0,17.08)" />
|
|
132
|
+
<path
|
|
133
|
+
id="path20"
|
|
134
|
+
d="m 1052.78,37.8008 v 34.7695 c 0,13.9141 -5.92,20.4063 -18.15,20.4063 -8.63,0 -17.38,-4.9493 -20.87,-12.4219 v 0 10.4297 h -26.651 v -3.4727 h 8.879 V 37.8008 h -8.879 v -3.4766 h 34.251 v 3.4766 h -7.6 v 33.9844 c 1.11,4.7812 7.17,15.8125 14.2,15.8125 4.68,0 7.05,-1.6172 7.05,-10.2618 V 37.8008 h -7.34 v -3.4766 h 34 v 3.4766 h -8.89"
|
|
135
|
+
style="fill:#c4122e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
|
136
|
+
transform="matrix(0.13333333,0,0,-0.13333333,0,17.08)" />
|
|
137
|
+
<path
|
|
138
|
+
id="path21"
|
|
139
|
+
d="M 836.383,90.7813 V 80.3516 h 0.004 c 3.48,7.4648 12.226,12.4218 20.863,12.4218 12.227,0 18.152,-6.5 18.152,-20.4062 V 37.5977 h 8.883 v -3.4766 h -33.992 v 3.4766 h 7.34 v 39.5351 c 0,8.6406 -2.371,10.2578 -7.047,10.2578 -7.043,0 -13.098,-11.0351 -14.203,-15.8164 V 37.5977 h 7.601 v -3.4766 h -34.257 v 3.4766 h 8.882 v 49.707 h -8.882 v 3.4766 h 26.656"
|
|
140
|
+
style="fill:#c4122e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
|
141
|
+
transform="matrix(0.13333333,0,0,-0.13333333,0,17.08)" />
|
|
142
|
+
<path
|
|
143
|
+
id="path22"
|
|
144
|
+
d="m 269.277,37.6172 v 34.7695 c 0,13.9063 -5.922,20.4063 -18.156,20.4063 -8.633,0 -17.383,-4.9532 -20.863,-12.4219 v 0 10.4297 h -26.656 v -3.4727 h 8.882 V 37.6172 h -8.882 v -3.4766 h 34.253 v 3.4766 h -7.597 v 33.9766 c 1.109,4.7851 7.164,15.8164 14.199,15.8164 4.68,0 7.051,-1.6172 7.051,-10.2579 V 37.6172 h -7.344 v -3.4766 h 34 v 3.4766 h -8.887"
|
|
145
|
+
style="fill:#c4122e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
|
146
|
+
transform="matrix(0.13333333,0,0,-0.13333333,0,17.08)" />
|
|
147
|
+
<path
|
|
148
|
+
id="path23"
|
|
149
|
+
d="m 406.566,108.578 c 0,-4.926 3.946,-8.871 8.872,-8.871 4.937,0 8.875,3.945 8.875,8.871 0,4.926 -3.938,8.871 -8.875,8.871 -4.926,0 -8.872,-3.945 -8.872,-8.871"
|
|
150
|
+
style="fill:#c4122e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
|
151
|
+
transform="matrix(0.13333333,0,0,-0.13333333,0,17.08)" />
|
|
152
|
+
<path
|
|
153
|
+
id="path24"
|
|
154
|
+
d="m 1426.71,91.1367 v -3.7422 c 5.49,0.0196 7.89,-0.5 7.89,-2.9882 0,-2.0625 -0.65,-4.0938 -2.18,-7.8204 l -8.75,-20.6093 -13.96,31.414 h 7.31 v 3.7461 h -44.39 v 27.6253 h -2.33 c 0,-13.645 -9.27,-27.6839 -22.28,-27.6839 v -3.6875 h 6.84 V 47.5469 c 0,-12.2305 10.55,-14.6758 14.15,-14.6758 7.86,0 13.14,3.2109 17.13,9.9102 l -2.75,1.5156 c -1.55,-2.3164 -3.61,-5.4063 -6.83,-5.4063 -2.57,0 -3.93,1.8321 -3.93,6.0782 v 42.4218 h 17.95 l 23.53,-54.2617 -8.14,-19.1875 -0.02,-0.043 c 0,-0.0039 0,-0.0039 -0.01,-0.0078 l 0.01,0.0078 c -0.18,-0.3671 -0.55,-0.625 -0.99,-0.625 -0.46,0 -0.84,0.3086 -1,0.7227 0,0.0195 -0.01,0.0391 -0.01,0.0586 -1.05,3.7266 -4.41,6.4453 -8.5,6.4453 -4.93,0 -8.87,-3.9375 -8.87,-8.8711 0,-3.46874 1.97,-6.41015 4.84,-7.87499 0,0 -0.02,0 -0.04,0 0.09,-0.05078 0.19,-0.08203 0.28,-0.12891 0.18,-0.08203 0.34,-0.16406 0.52,-0.23437 1,-0.41016 2.08,-0.66407 3.23,-0.6836 7.47,-0.6289 11.3,4.88281 13.94,10.50777 0.6,1.2813 1.14,2.5586 1.64,3.7813 1.13,2.7227 3.11,7.4023 5.43,12.875 v 0 l 2.24,5.2461 h -0.01 l 18.11,42.8203 c 3.85,8.418 5.35,9.4961 10.03,9.4961 h 0.01 v 3.7031 h -20.09"
|
|
155
|
+
style="fill:#c4122e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
|
156
|
+
transform="matrix(0.13333333,0,0,-0.13333333,0,17.08)" />
|
|
157
|
+
<path
|
|
158
|
+
id="path25"
|
|
159
|
+
d="m 190.625,92.9414 c -8.238,0 -14.559,-5.6641 -16.996,-12.1094 h -0.262 v 9.8047 h -26.398 v -3.6015 h 8.886 V 37.4883 h -8.886 v -3.5235 h 38.504 v 3.5235 h -11.844 v 27.7461 c 0,8.2812 2.168,16.7617 7.609,21.4336 0.325,0.2265 0.742,0.2929 1.121,0.1093 0.418,-0.2109 0.625,-0.6562 0.575,-1.0937 l 0.004,-0.0195 c -0.344,-1.0039 -0.629,-2.2032 -0.684,-3.668 -0.18,-4.6797 3.734,-8.3711 8.758,-8.3711 6.179,0 9.789,4.5078 9.789,9.4023 0,6.1836 -4.121,9.9141 -10.176,9.9141"
|
|
160
|
+
style="fill:#c4122e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
|
161
|
+
transform="matrix(0.13333333,0,0,-0.13333333,0,17.08)" />
|
|
162
|
+
<path
|
|
163
|
+
id="path26"
|
|
164
|
+
d="m 369.531,73.4844 c 0,-14.9688 -3.476,-15.4649 -8.109,-15.4649 -5.156,0 -7.863,0.9922 -7.863,15.8555 0,10.4336 1.164,14.8672 7.863,14.8672 6.047,0 7.98,-0.3984 8.109,-15.207 z m -2.187,-43.9922 c 12.879,0 16.297,-0.5391 16.297,-8.3945 0,-9.4024 -11.512,-18.03129 -24.516,-18.03129 -11.598,0 -17.152,7.10939 -17.406,13.28909 0,5.664 2.816,9.3984 6.293,13.1367 z M 384.457,88.75 c 0.258,0.0625 0.574,0.207 0.777,0.0039 0.192,-0.1914 0.184,-0.4453 0.043,-0.6953 l -0.007,-0.0234 c -0.786,-1.3125 -1.082,-2.9532 -0.469,-4.7266 0.594,-1.7344 2.097,-3.1016 3.887,-3.5039 3.679,-0.8399 6.886,1.8789 6.886,5.3945 0,2.2813 -1.414,4 -3.043,5.0196 -1.625,1.0234 -3.566,1.5 -5.672,1.5 -3.425,0 -6.937,-1.8438 -9.457,-4.0391 -0.004,0.0078 -0.011,0.0156 -0.015,0.0195 -0.574,0.418 -1.188,0.8164 -1.832,1.1914 -3.539,2.0664 -8.164,3.4453 -14.262,3.4453 -10.82,0 -22.41,-7.082 -22.41,-18.8007 0,-7.0821 3.863,-12.625 10.691,-15.7149 v -0.2539 c -5.023,-0.6445 -12.886,-4.1211 -12.886,-14.8086 0,-6.4414 2.964,-11.332 8.378,-12.8828 v -0.2539 c -5.156,-1.4141 -11.078,-6.5703 -11.078,-12.7539 0,-9.53126 11.203,-16.87110625 25.496,-16.87110625 17.903,0 29.621,12.10940625 29.621,27.82030625 0,12.4883 -6.175,18.1602 -18.804,17.8984 h -21.375 c -3.219,0 -5.367,0.1329 -5.367,3.6094 0,3.2188 4.941,6.6953 9.828,6.6953 0.859,0 2.258,-0.6562 2.617,-0.7734 1.555,-0.5078 3.23,-0.7695 5.289,-0.7695 11.07,0 22.922,6.3086 22.922,18.5429 0,3.7852 -1.649,8.9571 -4.707,12.1758 -0.184,0.1875 -0.172,0.4922 0.031,0.6563 1.242,0.9843 2.684,1.8125 3.359,2.1953 0.559,0.3047 0.989,0.5312 1.52,0.6875 l 0.039,0.0156"
|
|
165
|
+
style="fill:#c4122e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
|
166
|
+
transform="matrix(0.13333333,0,0,-0.13333333,0,17.08)" />
|
|
167
|
+
<path
|
|
168
|
+
id="path27"
|
|
169
|
+
d="m 1255.12,93.4609 c -8.24,0 -14.55,-5.664 -17,-12.1093 h -0.25 v 9.8047 h -26.4 v -3.6055 h 8.88 v -49.543 h -8.88 v -3.5273 h 38.5 v 3.5273 h -11.85 V 65.75 c 0,8.2773 2.17,16.75 7.6,21.4219 0.32,0.2226 0.73,0.289 1.11,0.1054 0.42,-0.207 0.63,-0.6523 0.58,-1.0976 l 0.02,-0.0391 c -0.35,-0.9961 -0.62,-2.1836 -0.68,-3.6289 -0.17,-4.6758 3.74,-8.3672 8.76,-8.3672 6.18,0 9.79,4.5078 9.79,9.3985 0,6.1875 -4.12,9.9179 -10.18,9.9179"
|
|
170
|
+
style="fill:#c4122e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
|
171
|
+
transform="matrix(0.13333333,0,0,-0.13333333,0,17.08)" />
|
|
172
|
+
</g>
|
|
173
|
+
</g>
|
|
174
|
+
</svg>
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
QUILL: cmu_letter@0.1
|
|
3
|
+
department: !fill Department Here
|
|
4
|
+
address:
|
|
5
|
+
- 5000 Forbes Avenue
|
|
6
|
+
- Pittsburgh, PA 15213-3890
|
|
7
|
+
url: cmu.edu
|
|
8
|
+
recipient: !fill
|
|
9
|
+
- Dr. Heinz Doofenshmirtz
|
|
10
|
+
- 9297 Polly Parkway
|
|
11
|
+
- City, Virginia 46231
|
|
12
|
+
signature_block: !fill
|
|
13
|
+
- Phineas Flynn
|
|
14
|
+
- Masters Student
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
Dear {:Dr. Heinz Doofenshmirtz:},
|
|
18
|
+
|
|
19
|
+
Write your letter content here. This template uses the CMU letter format for professional academic correspondence.
|
|
20
|
+
|
|
21
|
+
You can organize your thoughts with bullet points:
|
|
22
|
+
|
|
23
|
+
- First point with supporting details and context.
|
|
24
|
+
|
|
25
|
+
- Second point to address additional matters or provide supplementary information.
|
|
26
|
+
|
|
27
|
+
Use additional paragraphs to develop your ideas fully and maintain clear communication.
|
|
28
|
+
|
|
29
|
+
You can also **bold**, _italicize_, __underline__, and `code` your text as needed.
|
|
30
|
+
|
|
31
|
+
Sincerely,
|