-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfrontmatter.typ
205 lines (173 loc) · 5.05 KB
/
frontmatter.typ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
#import "/utils.typ"
#import "/packages.typ": notebookinator, codetastic
#import notebookinator: *
#import themes.radial.components: *
#import codetastic: qrcode
#let label(label: "", size: 0.7em) = {
let data = entry-type-metadata.at(label)
let colored-image = utils.change-icon-color(raw-icon: data.icon, fill: white)
box(fill: data.color, outset: 3pt, radius: 1.5pt)[
#set align(center + horizon)
#image.decode(colored-image, height: size)
]
}
#create-frontmatter-entry(
title: "About This Notebook",
)[
This notebook was written with a programming language called Typst. We write
instructions about formatting in Typst, and they they are rendered into a pdf.
Here are some examples of what that looks like:
```typ
Just some ordinary text // Turns into text
#grid( // Creates a grid layout
columns: (1fr, 1fr),
gutter: 20pt,
pro-con(
pros: [ // Turns into a table of pros and cons (appears on the right side)
- good
- better ],
cons: [
- bad
- worse
],
),
[
Some content on the left side *Bold content on the left side*
],
)
```
This would would render into:
Just some ordinary text // Turns into text
#grid( // Creates a grid layout
columns: (1fr, 1fr),
gutter: 20pt,
pro-con(
pros: [ // Turns into a table of pros and cons (appears on the right side)
- good
- better ],
cons: [
- bad
- worse
],
),
[
Some content on the left side
*Bold content on the left side*
],
)
== Source Code
#grid(
columns: (1fr, 1fr),
gutter: 20pt,
[
The source code can be found here: #link("https://github.com/Area-53-Robotics/53E-Notebook").
Alternatively, you can use the QR code to the left.
],
qrcode("https://github.com/Area-53-Robotics/53E-Notebook", size: 5pt),
)
#colbreak()
= Why Digital?
This is our fourth year using a digital notebook, and we find that it improves the experience for both the writer and the viewer in several ways:
- Increased neatness
- Better, more modern tooling
- Styling is defined in one location
== Why Typst?
Typst give us a whole host of benefits:
- Management and collaboration with git or the online editor
- Verification of history with git
- Native scripting support
- Native support for rendering math
- Native support for rendering code
- Personalization
This gives us many more capabilities than something like Google Docs/Slides would.
== How to Read Entries
Entries all have a type, which is displayed in the top left corner, as well as
in the table of contents. Most types correspond with a step in the engineering
design process, but some do not.
Here are the existing types:
#let spacing = 3pt
#stack(
spacing: 10pt,
[#box(baseline: 30%, label(label: "identify", size: 1.7em)) #h(10pt) *Identify the problem*],
[#box(baseline: 30%, label(label: "brainstorm", size: 1.7em)) #h(10pt) *Brainstorm possible solutions*],
[#box(baseline: 30%, label(label: "decide", size: 1.7em)) #h(10pt) *Decide on the optimal solution*],
[#box(baseline: 30%, label(label: "build", size: 1.7em)) #h(10pt) *Build the solution*],
[#box(baseline: 30%, label(label: "program", size: 1.7em)) #h(10pt) *Program the solution*],
[#box(baseline: 30%, label(label: "test", size: 1.7em)) #h(10pt) *Test the solution*],
[#box(baseline: 30%, label(label: "management", size: 1.7em)) #h(10pt) *Team management*],
[#box(baseline: 30%, label(label: "notebook", size: 1.7em)) #h(10pt) *Notebook Metadata*],
)
]
#create-frontmatter-entry(
title: "Our Team",
)[
Our team is a diverse, student-led, and hardworking robotics team based in Greenbelt, Maryland. Our team was founded in 2010. We strive for greatness and aim to grow and learn from adversity.
#team(
(
name: "Alan Morales",
picture: image("image.jpg", width: 90pt, height: 90pt),
about: [
- 12th Grade
- Team Leader
- Driver
- Builder
- Guitarist
],
),
(
name: "John Kelley",
picture: image("image.jpg", width: 90pt, height: 90pt),
about: [
- 11th Grader
- Builder
- Cellist
- "Bass Guitarist"
],
),
(
name: "Joy Oladimeji",
picture: image("image.jpy", width: 90pt, height: 90pt),
about: [
- 11th Grade
- Builder
- Programmer
- Guitarist
- Vocalist
],
),
(
name: "Meghana Noojipady",
picture: image("image.jpg", width: 90pt, height: 90pt),
about: [
- 10th Grade
- Programmer
- Auton Strategist
- Pianist
- Vocalist
],
),
(
name: "Violet Ridge",
picture: image("image.jpg", width: 90pt, height: 90pt),
about: [
- 10th Grade
- Builder
- Drummer
],
),
(
name: "Loriel Nickel",
picture: image("./assets/mugshots/violet.jpg", width: 90pt, height: 90pt),
about: [
- 9th Grade
- Builder
- Kalimba Player
],
),
)
]
)
]
#create-frontmatter-entry(title: "Table of Contents")[
#toc()
]