@tonguetoquill/collection 0.2.12 → 0.3.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/package.json +1 -1
- package/quills/af4141/0.1.0/plate.typ +15 -10
- package/templates/af4141.md +5 -70
- package/templates/templates.json +9 -0
package/package.json
CHANGED
|
@@ -24,21 +24,26 @@
|
|
|
24
24
|
#if "commanders_auth" in data { vals.insert("commonforms_text_p1_116", data.commanders_auth) }
|
|
25
25
|
|
|
26
26
|
// --- Experience table rows from cards ---
|
|
27
|
+
// The form supports 16 rows on page 1 and 21 rows on page 2 (37 total).
|
|
28
|
+
// Overflow rows are silently ignored.
|
|
29
|
+
#let max-rows = 37
|
|
27
30
|
#{
|
|
28
31
|
let row = 0
|
|
29
32
|
for card in data.CARDS {
|
|
30
33
|
if card.CARD == "experience" {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
34
|
+
if row < max-rows {
|
|
35
|
+
for (col, key) in col-keys.enumerate() {
|
|
36
|
+
let value = card.at(key, default: "")
|
|
37
|
+
if value != "" {
|
|
38
|
+
let field-name = if row < 16 {
|
|
39
|
+
// Page 1: fields start at index 4, stride 7
|
|
40
|
+
"commonforms_text_p1_" + str(4 + row * 7 + col)
|
|
41
|
+
} else {
|
|
42
|
+
// Page 2: fields start at index 1, stride 7
|
|
43
|
+
"commonforms_text_p2_" + str(1 + (row - 16) * 7 + col)
|
|
44
|
+
}
|
|
45
|
+
vals.insert(field-name, value)
|
|
40
46
|
}
|
|
41
|
-
vals.insert(field-name, value)
|
|
42
47
|
}
|
|
43
48
|
}
|
|
44
49
|
row = row + 1
|
package/templates/af4141.md
CHANGED
|
@@ -6,83 +6,18 @@ name: "LAST, FIRST M."
|
|
|
6
6
|
unit: "UNIT/SYMBOL"
|
|
7
7
|
# EDIT: Current grade or CCC level (e.g., "SSgt", "GS-12", "3")
|
|
8
8
|
grade: "GRADE"
|
|
9
|
-
# EDIT: Commander's authentication entry
|
|
9
|
+
# EDIT: Commander's authentication entry
|
|
10
10
|
commanders_auth: ""
|
|
11
11
|
---
|
|
12
12
|
|
|
13
|
-
<!--
|
|
14
|
-
RECORD OF EXPERIENCE CARDS
|
|
15
|
-
Each card below becomes one row in the experience table.
|
|
16
|
-
Page 1 holds up to 16 rows; Page 2 holds up to 21 rows (37 max).
|
|
17
|
-
|
|
18
|
-
Required reportable actions include:
|
|
19
|
-
• Initial/subsequent duty assignment
|
|
20
|
-
• Written and/or positional upgrade evaluations
|
|
21
|
-
• Certification events (Mission Ready, Senior Director, etc.)
|
|
22
|
-
• Downgrade or decertification
|
|
23
|
-
• PCS/PCA departure
|
|
24
|
-
• Temporary duty of significant duration
|
|
25
|
-
• Any other commander-directed entry
|
|
26
|
-
|
|
27
|
-
Leave blank any columns that do not apply to a given entry.
|
|
28
|
-
═══════════════════════════════════════════════════════════════ -->
|
|
29
|
-
|
|
30
|
-
<!-- Example 1: Initial assignment to a unit -->
|
|
31
|
-
---
|
|
32
|
-
CARD: experience
|
|
33
|
-
date: "15 Jan 25"
|
|
34
|
-
action: "Assigned to 1 ACCS/DOT as Weapons Director"
|
|
35
|
-
written_grade: ""
|
|
36
|
-
written_grade_date: ""
|
|
37
|
-
positional_grade: ""
|
|
38
|
-
positional_grade_date: ""
|
|
39
|
-
auth_or_remarks: "Initial assignment"
|
|
40
|
-
---
|
|
41
|
-
|
|
42
|
-
<!-- Example 2: Written upgrade evaluation -->
|
|
43
|
-
---
|
|
44
|
-
CARD: experience
|
|
45
|
-
date: "15 Mar 25"
|
|
46
|
-
action: "Completed written upgrade evaluation for 3-Level"
|
|
47
|
-
written_grade: "3"
|
|
48
|
-
written_grade_date: "15 Mar 25"
|
|
49
|
-
positional_grade: ""
|
|
50
|
-
positional_grade_date: ""
|
|
51
|
-
auth_or_remarks: "Per AFMAN 13-1CRCV1"
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
<!-- Example 3: Positional (live-environment) upgrade / certification -->
|
|
55
|
-
---
|
|
56
|
-
CARD: experience
|
|
57
|
-
date: "20 Jun 25"
|
|
58
|
-
action: "Certified Mission Ready — positional upgrade"
|
|
59
|
-
written_grade: ""
|
|
60
|
-
written_grade_date: ""
|
|
61
|
-
positional_grade: "4"
|
|
62
|
-
positional_grade_date: "20 Jun 25"
|
|
63
|
-
auth_or_remarks: "SSgt Jones, T.R."
|
|
64
|
-
---
|
|
65
|
-
|
|
66
|
-
<!-- Example 4: Combined written + positional upgrade (both columns filled) -->
|
|
67
|
-
---
|
|
68
|
-
CARD: experience
|
|
69
|
-
date: "1 Aug 25"
|
|
70
|
-
action: "Upgrade evaluation — written and positional"
|
|
71
|
-
written_grade: "4"
|
|
72
|
-
written_grade_date: "1 Aug 25"
|
|
73
|
-
positional_grade: "4"
|
|
74
|
-
positional_grade_date: "1 Aug 25"
|
|
75
|
-
auth_or_remarks: "Verified by unit commander"
|
|
76
|
-
---
|
|
77
|
-
|
|
78
|
-
<!-- Example 5: PCS departure — no grade columns needed -->
|
|
13
|
+
<!-- Add one CARD: experience block per row. Duplicate as needed. -->
|
|
79
14
|
---
|
|
80
15
|
CARD: experience
|
|
81
|
-
date: "1
|
|
82
|
-
action: "
|
|
16
|
+
date: "1 Jan 25"
|
|
17
|
+
action: "Describe the action or event"
|
|
83
18
|
written_grade: ""
|
|
84
19
|
written_grade_date: ""
|
|
85
20
|
positional_grade: ""
|
|
86
21
|
positional_grade_date: ""
|
|
87
|
-
auth_or_remarks: "
|
|
22
|
+
auth_or_remarks: ""
|
|
88
23
|
---
|
package/templates/templates.json
CHANGED
|
@@ -1,53 +1,62 @@
|
|
|
1
1
|
[
|
|
2
2
|
{
|
|
3
|
+
"id": "usaf-memo",
|
|
3
4
|
"name": "USAF Memo",
|
|
4
5
|
"description": "Official U.S. Air Force memorandum template",
|
|
5
6
|
"file": "usaf_template.md",
|
|
6
7
|
"production": true
|
|
7
8
|
},
|
|
8
9
|
{
|
|
10
|
+
"id": "ussf-memo",
|
|
9
11
|
"name": "USSF Memo",
|
|
10
12
|
"description": "Official U.S. Space Force memorandum template",
|
|
11
13
|
"file": "ussf_template.md",
|
|
12
14
|
"production": true
|
|
13
15
|
},
|
|
14
16
|
{
|
|
17
|
+
"id": "letter-of-counseling",
|
|
15
18
|
"name": "Letter of Counseling",
|
|
16
19
|
"description": "Letter of Counseling template",
|
|
17
20
|
"file": "loc.md",
|
|
18
21
|
"production": false
|
|
19
22
|
},
|
|
20
23
|
{
|
|
24
|
+
"id": "rebuttal",
|
|
21
25
|
"name": "Rebuttal",
|
|
22
26
|
"description": "Rebuttal template for LOC",
|
|
23
27
|
"file": "rebuttal.md",
|
|
24
28
|
"production": true
|
|
25
29
|
},
|
|
26
30
|
{
|
|
31
|
+
"id": "taro-template",
|
|
27
32
|
"name": "Taro Template",
|
|
28
33
|
"description": "Official Taro ice cream template",
|
|
29
34
|
"file": "taro.md",
|
|
30
35
|
"production": false
|
|
31
36
|
},
|
|
32
37
|
{
|
|
38
|
+
"id": "cmu-letter",
|
|
33
39
|
"name": "CMU Letter",
|
|
34
40
|
"description": "Carnegie Mellon University academic letter template",
|
|
35
41
|
"file": "cmu_letter_template.md",
|
|
36
42
|
"production": true
|
|
37
43
|
},
|
|
38
44
|
{
|
|
45
|
+
"id": "pass-request",
|
|
39
46
|
"name": "Pass Request",
|
|
40
47
|
"description": "USAF special pass request memorandum template",
|
|
41
48
|
"file": "pass_request.md",
|
|
42
49
|
"production": true
|
|
43
50
|
},
|
|
44
51
|
{
|
|
52
|
+
"id": "af-form-4141",
|
|
45
53
|
"name": "AF Form 4141",
|
|
46
54
|
"description": "Individual's Record of Duties and Experience, Ground Environment Personnel",
|
|
47
55
|
"file": "af4141.md",
|
|
48
56
|
"production": true
|
|
49
57
|
},
|
|
50
58
|
{
|
|
59
|
+
"id": "daf-form-4392",
|
|
51
60
|
"name": "DAF Form 4392",
|
|
52
61
|
"description": "Pre-Departure Safety Briefing (Page 2)",
|
|
53
62
|
"file": "daf4392.md",
|