@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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tonguetoquill/collection",
3
- "version": "0.2.12",
3
+ "version": "0.3.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/nibsbin/tonguetoquill-collection.git"
@@ -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
- for (col, key) in col-keys.enumerate() {
32
- let value = card.at(key, default: "")
33
- if value != "" {
34
- let field-name = if row < 16 {
35
- // Page 1: fields start at index 4, stride 7
36
- "commonforms_text_p1_" + str(4 + row * 7 + col)
37
- } else {
38
- // Page 2: fields start at index 1, stride 7
39
- "commonforms_text_p2_" + str(1 + (row - 16) * 7 + col)
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
@@ -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 — often a commander's name/signature block or "Verified by unit commander"
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 Sep 25"
82
- action: "PCS to 726 ACS/MOC, Tinker AFB OK"
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: "Outprocessed 1 ACCS/DOT"
22
+ auth_or_remarks: ""
88
23
  ---
@@ -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",