@tonguetoquill/collection 0.5.0 → 0.6.1
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 +3 -1
- package/package.json +3 -3
- package/quills/af4141/0.1.0/Quill.yaml +22 -21
- package/quills/classic_resume/0.1.0/Quill.yaml +21 -20
- package/quills/cmu_letter/0.1.0/Quill.yaml +52 -51
- package/quills/daf4392/0.1.0/Quill.yaml +81 -65
- package/quills/daf4392/0.1.0/assets/page1.png +0 -0
- package/quills/daf4392/0.1.0/plate.typ +20 -12
- package/quills/taro/0.1.0/Quill.yaml +12 -11
- package/quills/usaf_memo/0.1.0/Quill.yaml +127 -126
- package/quills/usaf_memo/0.2.0/Quill.yaml +127 -126
- package/quills/daf4392/0.1.0/packages/daf4392page2_pkg/out/debug.typ +0 -4
- package/quills/daf4392/0.1.0/packages/daf4392page2_pkg/out/example.typ +0 -4
- package/quills/daf4392/0.1.0/packages/daf4392page2_pkg/page1.png +0 -0
package/README.md
CHANGED
|
@@ -13,7 +13,9 @@ npm install @tonguetoquill/collection
|
|
|
13
13
|
|
|
14
14
|
This package doesn't export any logic. Instead, it exports two string constants—`QUILLS_DIR` and `TEMPLATES_DIR`—that represent the absolute file paths to the bundled quills and templates on your local filesystem.
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
Use [`@quillmark/registry`](https://www.npmjs.com/package/@quillmark/registry) and [`@quillmark/wasm`](https://www.npmjs.com/package/@quillmark/wasm) from npm alongside this package. The engine and registry APIs replace a separate Quillmark CLI install for Node.js workflows.
|
|
17
|
+
|
|
18
|
+
You can use `QUILLS_DIR` with the `FileSystemSource` from `@quillmark/registry` to load them into the engine.
|
|
17
19
|
|
|
18
20
|
```typescript
|
|
19
21
|
import { Quillmark } from '@quillmark/wasm';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tonguetoquill/collection",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.1",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/nibsbin/tonguetoquill-collection.git"
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {},
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@quillmark/registry": "^0.
|
|
40
|
-
"@quillmark/wasm": "^0.
|
|
39
|
+
"@quillmark/registry": "^0.10.0",
|
|
40
|
+
"@quillmark/wasm": "^0.46.0"
|
|
41
41
|
}
|
|
42
42
|
}
|
|
@@ -3,33 +3,34 @@ Quill:
|
|
|
3
3
|
version: 0.1.0
|
|
4
4
|
backend: typst
|
|
5
5
|
plate_file: plate.typ
|
|
6
|
-
ui:
|
|
7
|
-
hide_body: true
|
|
8
6
|
example_file: example.md
|
|
9
7
|
description: "AF Form 4141 — Individual's Record of Duties and Experience, Ground Environment Personnel"
|
|
10
8
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
9
|
+
main:
|
|
10
|
+
ui:
|
|
11
|
+
hide_body: true
|
|
12
|
+
fields:
|
|
13
|
+
name:
|
|
14
|
+
title: Name (Last, First, MI)
|
|
15
|
+
type: string
|
|
16
|
+
required: true
|
|
17
|
+
description: Full name in Last, First, Middle Initial format.
|
|
17
18
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
unit:
|
|
20
|
+
title: Unit of Assignment
|
|
21
|
+
type: string
|
|
22
|
+
required: true
|
|
23
|
+
description: Unit or organization of assignment.
|
|
23
24
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
grade:
|
|
26
|
+
title: Grade/CCC Level
|
|
27
|
+
type: string
|
|
28
|
+
description: Current grade or CCC level.
|
|
28
29
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
commanders_auth:
|
|
31
|
+
title: Commander's Record of Authentication
|
|
32
|
+
type: string
|
|
33
|
+
description: Commander's authentication entry on page 1.
|
|
33
34
|
|
|
34
35
|
cards:
|
|
35
36
|
experience:
|
|
@@ -6,27 +6,28 @@ Quill:
|
|
|
6
6
|
example_file: example.md
|
|
7
7
|
description: A clean and modern classic resume template.
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
9
|
+
main:
|
|
10
|
+
fields:
|
|
11
|
+
name:
|
|
12
|
+
title: Full Name
|
|
13
|
+
type: string
|
|
14
|
+
required: true
|
|
15
|
+
examples:
|
|
16
|
+
- John Doe
|
|
17
|
+
ui:
|
|
18
|
+
group: Personal Info
|
|
18
19
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
20
|
+
contacts:
|
|
21
|
+
title: Contact Information
|
|
22
|
+
type: array
|
|
23
|
+
required: true
|
|
24
|
+
examples:
|
|
25
|
+
- - john.doe@example.com
|
|
26
|
+
- 123-456-7890
|
|
27
|
+
- linkedin.com/in/johndoe
|
|
28
|
+
ui:
|
|
29
|
+
group: Personal Info
|
|
30
|
+
description: List of contact details (email, phone, links, etc.)
|
|
30
31
|
|
|
31
32
|
cards:
|
|
32
33
|
experience_section:
|
|
@@ -6,59 +6,60 @@ Quill:
|
|
|
6
6
|
example_file: example.md
|
|
7
7
|
description: Typeset letters that comply with Carnegie Mellon University letterhead standards.
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
9
|
+
main:
|
|
10
|
+
fields:
|
|
11
|
+
recipient:
|
|
12
|
+
title: Recipient's name and address
|
|
13
|
+
type: array
|
|
14
|
+
examples:
|
|
15
|
+
- - Mr. John Doe
|
|
16
|
+
- 123 Main St
|
|
17
|
+
- Anytown, USA
|
|
18
|
+
ui:
|
|
19
|
+
group: Essentials
|
|
20
|
+
description: The recipient's name and full mailing address.
|
|
20
21
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
22
|
+
signature_block:
|
|
23
|
+
title: Signature block lines
|
|
24
|
+
type: array
|
|
25
|
+
examples:
|
|
26
|
+
- - First M. Last
|
|
27
|
+
- Title
|
|
28
|
+
ui:
|
|
29
|
+
group: Essentials
|
|
30
|
+
description: "The signer's information. Line 1: Name. Line 2: Title."
|
|
30
31
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
32
|
+
department:
|
|
33
|
+
title: Name of the department or unit
|
|
34
|
+
type: string
|
|
35
|
+
examples:
|
|
36
|
+
- Department of Electrical and Computer Engineering
|
|
37
|
+
ui:
|
|
38
|
+
group: Letterhead
|
|
39
|
+
description: The department or organizational unit name for the letterhead.
|
|
39
40
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
41
|
+
address:
|
|
42
|
+
title: Sender's address lines
|
|
43
|
+
type: array
|
|
44
|
+
examples:
|
|
45
|
+
- - 5000 Forbes Avenue
|
|
46
|
+
- Pittsburgh, PA 15213-3890
|
|
47
|
+
ui:
|
|
48
|
+
group: Letterhead
|
|
49
|
+
description: The sender's institutional mailing address.
|
|
49
50
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
51
|
+
url:
|
|
52
|
+
title: Department or university URL
|
|
53
|
+
type: string
|
|
54
|
+
examples:
|
|
55
|
+
- www.ece.cmu.edu
|
|
56
|
+
ui:
|
|
57
|
+
group: Letterhead
|
|
58
|
+
description: The department or university website URL.
|
|
58
59
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
60
|
+
date:
|
|
61
|
+
title: Date of the letter
|
|
62
|
+
type: date
|
|
63
|
+
ui:
|
|
64
|
+
group: Advanced
|
|
65
|
+
description: The date to appear on the letter.
|
|
@@ -3,85 +3,101 @@ Quill:
|
|
|
3
3
|
version: 0.1.0
|
|
4
4
|
backend: typst
|
|
5
5
|
plate_file: plate.typ
|
|
6
|
-
ui:
|
|
7
|
-
hide_body: true
|
|
8
6
|
example_file: example.md
|
|
9
7
|
description: "DAF Form 4392 - Pre-Departure Safety Briefing (Page 2)"
|
|
10
8
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
9
|
+
main:
|
|
10
|
+
ui:
|
|
11
|
+
hide_body: true
|
|
12
|
+
fields:
|
|
13
|
+
transportation_mode:
|
|
14
|
+
title: Mode of Transportation
|
|
15
|
+
type: string
|
|
16
|
+
enum: [pmv, airplane, bus, train, motorcycle, other]
|
|
17
|
+
required: true
|
|
18
|
+
description: "Matches the check box."
|
|
18
19
|
|
|
19
|
-
departure_date:
|
|
20
|
-
title: Departure Date
|
|
21
|
-
type: date
|
|
22
|
-
required: true
|
|
23
|
-
ui:
|
|
24
|
-
compact: true
|
|
25
|
-
description: "Date of initial departure."
|
|
26
20
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
21
|
+
departure_date:
|
|
22
|
+
title: Departure Date
|
|
23
|
+
type: date
|
|
24
|
+
required: true
|
|
25
|
+
ui:
|
|
26
|
+
compact: true
|
|
27
|
+
description: "Date of initial departure."
|
|
34
28
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
29
|
+
final_destination:
|
|
30
|
+
title: Final Destination
|
|
31
|
+
type: string
|
|
32
|
+
required: true
|
|
33
|
+
ui:
|
|
34
|
+
compact: true
|
|
35
|
+
description: "Final travel destination."
|
|
39
36
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
description: "Unit / Organization conducting the brief."
|
|
37
|
+
dept_flight_num:
|
|
38
|
+
title: Departure Flight Number
|
|
39
|
+
type: string
|
|
40
|
+
ui:
|
|
41
|
+
compact: true
|
|
42
|
+
description: "Departure flight number."
|
|
47
43
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
description: "Date the brief took place."
|
|
44
|
+
arrival_flight_num:
|
|
45
|
+
title: Arrival Flight Number
|
|
46
|
+
type: string
|
|
47
|
+
ui:
|
|
48
|
+
compact: true
|
|
49
|
+
description: "Arrival flight number."
|
|
55
50
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
ui:
|
|
61
|
-
compact: true
|
|
62
|
-
description: "Name (Last, First) of the individual receiving the brief."
|
|
51
|
+
notes:
|
|
52
|
+
title: Notes
|
|
53
|
+
type: string
|
|
54
|
+
description: "Additional notes or remarks for the travel."
|
|
63
55
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
56
|
+
organization:
|
|
57
|
+
title: Organization
|
|
58
|
+
type: string
|
|
59
|
+
required: true
|
|
60
|
+
ui:
|
|
61
|
+
compact: true
|
|
62
|
+
description: "Unit / Organization."
|
|
63
|
+
|
|
64
|
+
briefed_date:
|
|
65
|
+
title: Date Briefed
|
|
66
|
+
type: date
|
|
67
|
+
required: true
|
|
68
|
+
ui:
|
|
69
|
+
compact: true
|
|
70
|
+
description: "Put in today's date."
|
|
71
|
+
|
|
72
|
+
briefee_name:
|
|
73
|
+
title: Individual Receiving Brief (Name)
|
|
74
|
+
type: string
|
|
75
|
+
required: true
|
|
76
|
+
ui:
|
|
77
|
+
compact: true
|
|
78
|
+
description: "Put in your Name (Last, First)."
|
|
79
|
+
|
|
80
|
+
briefee_grade:
|
|
81
|
+
title: Individual Receiving Brief (Grade)
|
|
82
|
+
type: string
|
|
83
|
+
ui:
|
|
84
|
+
compact: true
|
|
85
|
+
description: "Put in your Grade."
|
|
70
86
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
87
|
+
emergency_contact_name:
|
|
88
|
+
title: Emergency Contact Name
|
|
89
|
+
type: string
|
|
90
|
+
description: "Put in your Emergency Contact Name."
|
|
75
91
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
92
|
+
emergency_contact_phone:
|
|
93
|
+
title: Emergency Contact Phone
|
|
94
|
+
type: string
|
|
95
|
+
description: "Put in your Emergency Contact's Phone Number."
|
|
80
96
|
|
|
81
97
|
cards:
|
|
82
98
|
itinerary:
|
|
83
99
|
title: Proposed Travel Itinerary
|
|
84
|
-
description: "Each card represents one row in the travel itinerary table. Up to
|
|
100
|
+
description: "Each card represents one row in the travel itinerary table. Up to 10 rows are supported."
|
|
85
101
|
ui:
|
|
86
102
|
hide_body: true
|
|
87
103
|
fields:
|
|
@@ -112,11 +128,11 @@ cards:
|
|
|
112
128
|
ui:
|
|
113
129
|
group: Itinerary Entry
|
|
114
130
|
compact: true
|
|
115
|
-
description: "Duration of
|
|
131
|
+
description: "Duration of stay at arrival point"
|
|
116
132
|
mileage:
|
|
117
133
|
title: Approximate Mileage
|
|
118
134
|
type: string
|
|
119
135
|
ui:
|
|
120
136
|
group: Itinerary Entry
|
|
121
137
|
compact: true
|
|
122
|
-
description: "Approximate mileage for this leg."
|
|
138
|
+
description: "Approximate mileage for this leg. No need to put in if not applicable such as flights."
|
|
Binary file
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
|
|
21
21
|
// Fields
|
|
22
22
|
#tf(40pt, 100pt)[#data.at("departure_date", default: "")]
|
|
23
|
-
#tf(
|
|
23
|
+
#tf(123pt, 100pt)[#data.at("final_destination", default: "")]
|
|
24
24
|
|
|
25
25
|
// Itinerary Rows (via CARDS)
|
|
26
26
|
#{
|
|
@@ -29,11 +29,11 @@
|
|
|
29
29
|
let dy-step = 40pt
|
|
30
30
|
if "CARDS" in data {
|
|
31
31
|
for card in data.CARDS {
|
|
32
|
-
if card.CARD == "itinerary" and row <
|
|
32
|
+
if card.CARD == "itinerary" and row < 10 {
|
|
33
33
|
let dy = dy-start + (row * dy-step)
|
|
34
34
|
tf(80pt, dy)[#card.at("date", default: "")]
|
|
35
35
|
tf(135pt, dy)[#card.at("departure_point", default: "")]
|
|
36
|
-
tf(
|
|
36
|
+
tf(295pt, dy)[#card.at("arrival_point", default: "")]
|
|
37
37
|
tf(450pt, dy)[#card.at("rest_length", default: "")]
|
|
38
38
|
tf(515pt, dy)[#card.at("mileage", default: "")]
|
|
39
39
|
row = row + 1
|
|
@@ -42,19 +42,27 @@
|
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
+
// Flight Info
|
|
46
|
+
#{
|
|
47
|
+
let d-flight = str(data.at("dept_flight_num", default: ""))
|
|
48
|
+
if d-flight != "" { tf(350pt, 545pt)[#text(weight: "bold")[Dept Flight:] #d-flight] }
|
|
49
|
+
|
|
50
|
+
let a-flight = str(data.at("arrival_flight_num", default: ""))
|
|
51
|
+
if a-flight != "" { tf(450pt, 545pt)[#text(weight: "bold")[Arr Flight:] #a-flight] }
|
|
52
|
+
}
|
|
53
|
+
|
|
45
54
|
// Notes
|
|
46
|
-
#tf(40pt,
|
|
55
|
+
#tf(40pt, 565pt)[#block(width: 530pt)[#data.at("notes", default: "")]]
|
|
47
56
|
|
|
48
57
|
// Acknowledgements
|
|
49
|
-
#tf(40pt,
|
|
50
|
-
#tf(500pt,
|
|
58
|
+
#tf(40pt, 620pt)[#data.at("organization", default: "")]
|
|
59
|
+
#tf(500pt, 620pt)[#data.at("briefed_date", default: "")]
|
|
51
60
|
|
|
52
|
-
#tf(40pt,
|
|
53
|
-
#tf(270pt,
|
|
61
|
+
#tf(40pt, 650pt)[#data.at("briefee_name", default: "")]
|
|
62
|
+
#tf(270pt, 650pt)[#data.at("briefee_grade", default: "")]
|
|
54
63
|
|
|
55
|
-
#tf(40pt,
|
|
56
|
-
#tf(270pt,
|
|
64
|
+
#tf(40pt, 680pt)[#data.at("briefer_name", default: "")]
|
|
65
|
+
#tf(270pt, 680pt)[#data.at("briefer_grade", default: "")]
|
|
57
66
|
|
|
58
67
|
// Emergency Contact
|
|
59
|
-
#tf(40pt,
|
|
60
|
-
#tf(40pt, 520pt)[#text(size: 12pt)[#data.at("emergency_contact_name", default: ""): #data.at("emergency_contact_phone", default: "")]]
|
|
68
|
+
#tf(40pt, 700pt)[#text(size: 10pt, weight: "bold")[EMERGENCY CONTACT:] #text(size: 10pt)[#data.at("emergency_contact_name", default: ""): #data.at("emergency_contact_phone", default: "")]]
|
|
@@ -6,17 +6,18 @@ Quill:
|
|
|
6
6
|
example_file: example.md
|
|
7
7
|
description: A simple document template for testing
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
title:
|
|
19
|
-
|
|
9
|
+
main:
|
|
10
|
+
fields:
|
|
11
|
+
author:
|
|
12
|
+
title: Author of document
|
|
13
|
+
type: string
|
|
14
|
+
ice_cream:
|
|
15
|
+
title: favorite ice cream flavor
|
|
16
|
+
type: string
|
|
17
|
+
default: taro
|
|
18
|
+
title:
|
|
19
|
+
title: title of document
|
|
20
|
+
type: string
|
|
20
21
|
|
|
21
22
|
cards:
|
|
22
23
|
quotes:
|
|
@@ -6,145 +6,146 @@ Quill:
|
|
|
6
6
|
example_file: example.md
|
|
7
7
|
description: Typesetted USAF Official Memorandum
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
9
|
+
main:
|
|
10
|
+
fields:
|
|
11
|
+
memo_for:
|
|
12
|
+
title: List of recipient organization(s)
|
|
13
|
+
type: array
|
|
14
|
+
required: true
|
|
15
|
+
examples:
|
|
16
|
+
- - ORG1/SYMBOL
|
|
17
|
+
- ORG2/SYMBOL
|
|
18
|
+
ui:
|
|
19
|
+
group: Addressing
|
|
20
|
+
description: "Organization/office symbol in UPPERCASE. To address a specific person, add their rank and name in parentheses (e.g., 'ORG/SYMBOL (LT COL JANE DOE)'). For numerous recipients, use 'DISTRIBUTION'."
|
|
20
21
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
22
|
+
memo_from:
|
|
23
|
+
title: "Sender information as array: [ORG/SYMBOL, 'Organization Name', 'Street Address', 'City State ZIP']"
|
|
24
|
+
type: array
|
|
25
|
+
required: true
|
|
26
|
+
examples:
|
|
27
|
+
- - ORG/SYMBOL
|
|
28
|
+
- Organization Name
|
|
29
|
+
- 123 Street Ave
|
|
30
|
+
- City ST 12345-6789
|
|
31
|
+
ui:
|
|
32
|
+
group: Addressing
|
|
33
|
+
description: If recipients are on the same installation, use only the office symbol. For recipients on other installations, include the full mailing address to enable return correspondence.
|
|
33
34
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
35
|
+
subject:
|
|
36
|
+
title: Subject of the memo
|
|
37
|
+
type: string
|
|
38
|
+
required: true
|
|
39
|
+
examples:
|
|
40
|
+
- Subject of the Memorandum
|
|
41
|
+
ui:
|
|
42
|
+
group: Addressing
|
|
43
|
+
description: Be brief and clear. Capitalize the first letter of each word except articles, prepositions, and conjunctions. Include suspense dates in parentheses if applicable.
|
|
43
44
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
45
|
+
signature_block:
|
|
46
|
+
title: Signature block lines
|
|
47
|
+
type: array
|
|
48
|
+
required: true
|
|
49
|
+
examples:
|
|
50
|
+
- - "FIRST M. LAST, Rank, USSF"
|
|
51
|
+
- Duty Title
|
|
52
|
+
ui:
|
|
53
|
+
group: Addressing
|
|
54
|
+
description: "Line 1: Name in UPPERCASE as signed, grade, and service. Line 2: Duty title. Spell out 'Colonel' and general officer ranks."
|
|
54
55
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
56
|
+
letterhead_title:
|
|
57
|
+
title: Title in letterhead
|
|
58
|
+
type: string
|
|
59
|
+
default: DEPARTMENT OF THE AIR FORCE
|
|
60
|
+
ui:
|
|
61
|
+
group: Letterhead
|
|
62
|
+
description: Standard title. Only change for Joint Commands or DoW Agencies.
|
|
62
63
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
64
|
+
letterhead_caption:
|
|
65
|
+
title: Letterhead caption line(s)
|
|
66
|
+
type: array
|
|
67
|
+
default:
|
|
68
|
+
- HEADQUARTERS [UNIT NAME]
|
|
69
|
+
ui:
|
|
70
|
+
group: Letterhead
|
|
71
|
+
description: The full organization name of your unit.
|
|
71
72
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
73
|
+
tag_line:
|
|
74
|
+
title: Tag line at bottom of memo
|
|
75
|
+
type: string
|
|
76
|
+
default: ""
|
|
77
|
+
ui:
|
|
78
|
+
group: Letterhead
|
|
79
|
+
description: Organizational motto at the bottom of the page.
|
|
79
80
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
81
|
+
date:
|
|
82
|
+
title: Date of memo (YYYY-MM-DD); defaults to today
|
|
83
|
+
type: string
|
|
84
|
+
default: ""
|
|
85
|
+
ui:
|
|
86
|
+
group: Additional
|
|
87
|
+
description: YYYY-MM-DD. Leave blank to use today's date.
|
|
87
88
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
89
|
+
references:
|
|
90
|
+
title: References for the memo
|
|
91
|
+
type: array
|
|
92
|
+
default: []
|
|
93
|
+
examples:
|
|
94
|
+
- - "AFM 33-326, 31 July 2019, Preparing Official Communications"
|
|
95
|
+
ui:
|
|
96
|
+
group: Additional
|
|
97
|
+
description: "Cite by organization, type, date, and title."
|
|
97
98
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
99
|
+
cc:
|
|
100
|
+
title: Carbon copy recipients
|
|
101
|
+
type: array
|
|
102
|
+
default: []
|
|
103
|
+
examples:
|
|
104
|
+
- - Rank and Name, ORG/SYMBOL
|
|
105
|
+
ui:
|
|
106
|
+
group: Additional
|
|
107
|
+
description: List office symbols of recipients to receive copies.
|
|
107
108
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
109
|
+
distribution:
|
|
110
|
+
title: Distribution list. Used when "SEE DISTRIBUTION" is specified in `memo_for`.
|
|
111
|
+
type: array
|
|
112
|
+
default: []
|
|
113
|
+
examples:
|
|
114
|
+
- - ORG1/SYMBOL
|
|
115
|
+
- ORG2/SYMBOL
|
|
116
|
+
ui:
|
|
117
|
+
group: Additional
|
|
118
|
+
description: Complete list of recipients if 'SEE DISTRIBUTION' is used in the 'Memo For' field.
|
|
118
119
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
120
|
+
attachments:
|
|
121
|
+
title: List of attachments
|
|
122
|
+
type: array
|
|
123
|
+
default: []
|
|
124
|
+
examples:
|
|
125
|
+
- - Attachment description, YYYY MMM DD
|
|
126
|
+
ui:
|
|
127
|
+
group: Additional
|
|
128
|
+
description: List attachments in the order they are mentioned in the memo. Briefly describe each; do not use 'as stated' or abbreviations.
|
|
128
129
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
130
|
+
classification:
|
|
131
|
+
title: Classification level of the memo that displays in the banner
|
|
132
|
+
type: string
|
|
133
|
+
default: ""
|
|
134
|
+
examples:
|
|
135
|
+
- CONFIDENTIAL
|
|
136
|
+
ui:
|
|
137
|
+
group: Additional
|
|
138
|
+
description: Follow AFI 31-401 and applicable DoD guidance for classification markings. Leave blank for unclassified.
|
|
138
139
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
140
|
+
font_size:
|
|
141
|
+
title: Font size for the memo text (int pt)
|
|
142
|
+
type: number
|
|
143
|
+
default: 11
|
|
144
|
+
examples:
|
|
145
|
+
- 11
|
|
146
|
+
ui:
|
|
147
|
+
group: Additional
|
|
148
|
+
description: Font size for the memo text (pt).
|
|
148
149
|
|
|
149
150
|
cards:
|
|
150
151
|
indorsement:
|
|
@@ -6,145 +6,146 @@ Quill:
|
|
|
6
6
|
example_file: example.md
|
|
7
7
|
description: Typesetted USAF Official Memorandum
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
9
|
+
main:
|
|
10
|
+
fields:
|
|
11
|
+
memo_for:
|
|
12
|
+
title: List of recipient organization(s)
|
|
13
|
+
type: array
|
|
14
|
+
required: true
|
|
15
|
+
examples:
|
|
16
|
+
- - ORG1/SYMBOL
|
|
17
|
+
- ORG2/SYMBOL
|
|
18
|
+
ui:
|
|
19
|
+
group: Addressing
|
|
20
|
+
description: "Organization/office symbol in UPPERCASE. To address a specific person, add their rank and name in parentheses (e.g., 'ORG/SYMBOL (LT COL JANE DOE)'). For numerous recipients, use 'DISTRIBUTION'."
|
|
20
21
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
22
|
+
memo_from:
|
|
23
|
+
title: "Sender information as array: [ORG/SYMBOL, 'Organization Name', 'Street Address', 'City State ZIP']"
|
|
24
|
+
type: array
|
|
25
|
+
required: true
|
|
26
|
+
examples:
|
|
27
|
+
- - ORG/SYMBOL
|
|
28
|
+
- Organization Name
|
|
29
|
+
- 123 Street Ave
|
|
30
|
+
- City ST 12345-6789
|
|
31
|
+
ui:
|
|
32
|
+
group: Addressing
|
|
33
|
+
description: If recipients are on the same installation, use only the office symbol. For recipients on other installations, include the full mailing address to enable return correspondence.
|
|
33
34
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
35
|
+
subject:
|
|
36
|
+
title: Subject of the memo
|
|
37
|
+
type: string
|
|
38
|
+
required: true
|
|
39
|
+
examples:
|
|
40
|
+
- Subject of the Memorandum
|
|
41
|
+
ui:
|
|
42
|
+
group: Addressing
|
|
43
|
+
description: Be brief and clear. Capitalize the first letter of each word except articles, prepositions, and conjunctions. Include suspense dates in parentheses if applicable.
|
|
43
44
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
45
|
+
signature_block:
|
|
46
|
+
title: Signature block lines
|
|
47
|
+
type: array
|
|
48
|
+
required: true
|
|
49
|
+
examples:
|
|
50
|
+
- - "FIRST M. LAST, Rank, USSF"
|
|
51
|
+
- Duty Title
|
|
52
|
+
ui:
|
|
53
|
+
group: Addressing
|
|
54
|
+
description: "Line 1: Name in UPPERCASE as signed, grade, and service. Line 2: Duty title. Spell out 'Colonel' and general officer ranks."
|
|
54
55
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
56
|
+
letterhead_title:
|
|
57
|
+
title: Title in letterhead
|
|
58
|
+
type: string
|
|
59
|
+
default: DEPARTMENT OF THE AIR FORCE
|
|
60
|
+
ui:
|
|
61
|
+
group: Letterhead
|
|
62
|
+
description: Standard title. Only change for Joint Commands or DoW Agencies.
|
|
62
63
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
64
|
+
letterhead_caption:
|
|
65
|
+
title: Letterhead caption line(s)
|
|
66
|
+
type: array
|
|
67
|
+
default:
|
|
68
|
+
- HEADQUARTERS [UNIT NAME]
|
|
69
|
+
ui:
|
|
70
|
+
group: Letterhead
|
|
71
|
+
description: The full organization name of your unit.
|
|
71
72
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
73
|
+
tag_line:
|
|
74
|
+
title: Tag line at bottom of memo
|
|
75
|
+
type: string
|
|
76
|
+
default: ""
|
|
77
|
+
ui:
|
|
78
|
+
group: Letterhead
|
|
79
|
+
description: Organizational motto at the bottom of the page.
|
|
79
80
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
81
|
+
date:
|
|
82
|
+
title: Date of memo (YYYY-MM-DD); defaults to today
|
|
83
|
+
type: string
|
|
84
|
+
default: ""
|
|
85
|
+
ui:
|
|
86
|
+
group: Additional
|
|
87
|
+
description: YYYY-MM-DD. Leave blank to use today's date.
|
|
87
88
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
89
|
+
references:
|
|
90
|
+
title: References for the memo
|
|
91
|
+
type: array
|
|
92
|
+
default: []
|
|
93
|
+
examples:
|
|
94
|
+
- - "AFM 33-326, 31 July 2019, Preparing Official Communications"
|
|
95
|
+
ui:
|
|
96
|
+
group: Additional
|
|
97
|
+
description: "Cite by organization, type, date, and title."
|
|
97
98
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
99
|
+
cc:
|
|
100
|
+
title: Carbon copy recipients
|
|
101
|
+
type: array
|
|
102
|
+
default: []
|
|
103
|
+
examples:
|
|
104
|
+
- - Rank and Name, ORG/SYMBOL
|
|
105
|
+
ui:
|
|
106
|
+
group: Additional
|
|
107
|
+
description: List office symbols of recipients to receive copies.
|
|
107
108
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
109
|
+
distribution:
|
|
110
|
+
title: Distribution list. Used when "SEE DISTRIBUTION" is specified in `memo_for`.
|
|
111
|
+
type: array
|
|
112
|
+
default: []
|
|
113
|
+
examples:
|
|
114
|
+
- - ORG1/SYMBOL
|
|
115
|
+
- ORG2/SYMBOL
|
|
116
|
+
ui:
|
|
117
|
+
group: Additional
|
|
118
|
+
description: Complete list of recipients if 'SEE DISTRIBUTION' is used in the 'Memo For' field.
|
|
118
119
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
120
|
+
attachments:
|
|
121
|
+
title: List of attachments
|
|
122
|
+
type: array
|
|
123
|
+
default: []
|
|
124
|
+
examples:
|
|
125
|
+
- - Attachment description, YYYY MMM DD
|
|
126
|
+
ui:
|
|
127
|
+
group: Additional
|
|
128
|
+
description: List attachments in the order they are mentioned in the memo. Briefly describe each; do not use 'as stated' or abbreviations.
|
|
128
129
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
130
|
+
classification:
|
|
131
|
+
title: Classification level of the memo that displays in the banner
|
|
132
|
+
type: string
|
|
133
|
+
default: ""
|
|
134
|
+
examples:
|
|
135
|
+
- CONFIDENTIAL
|
|
136
|
+
ui:
|
|
137
|
+
group: Additional
|
|
138
|
+
description: Follow AFI 31-401 and applicable DoD guidance for classification markings. Leave blank for unclassified.
|
|
138
139
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
140
|
+
font_size:
|
|
141
|
+
title: Font size for the memo text (int pt)
|
|
142
|
+
type: number
|
|
143
|
+
default: 11
|
|
144
|
+
examples:
|
|
145
|
+
- 11
|
|
146
|
+
ui:
|
|
147
|
+
group: Additional
|
|
148
|
+
description: Font size for the memo text (pt).
|
|
148
149
|
|
|
149
150
|
cards:
|
|
150
151
|
indorsement:
|
|
Binary file
|