You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
4.6 KiB
73 lines
4.6 KiB
extends template_raj
|
|
block content
|
|
.container#home
|
|
.inner
|
|
.hero
|
|
h1 garrettmills
|
|
p Hi, there. My name is Garrett, and I'm a computer scientist, software engineer, and speaker.
|
|
section#about
|
|
h2 about me
|
|
.about-container
|
|
.img
|
|
img(src="/assets/img/profile.jpg" width=300 height=300)
|
|
.about
|
|
p Hi! My name is Garrett. Welcome to my corner of the internet. I'm a computer scientist, software engineer, and speaker. I like to build software to improve the developer/user experience. I created the <a href="https://extollo.garrettmills.dev" target="_blank">Extollo</a> framework, <a href="https://code.garrettmills.dev/Noded" target="_blank">Noded</a>, <a href="https://code.garrettmills.dev/starship/coreid" target="_blank">CoreID</a> authentication server, and a couple other projects. I love to communicate my work, and help others pursue their projects. I write blog posts, create video tutorials, hold talks, and publish code from my projects in the hope that others will find it useful.
|
|
p A bit more background: I grew up in the rural mid-west, and I got started by teaching myself everything I know. I'm a big fan of learning to code this way. I completed a bachelor of science in computer science at the University of Kansas, and I'm currently a graduate student studying programming languages and formal methods at KU.
|
|
|
|
if workItemYears && workItemYears.length
|
|
section#work
|
|
h2 what I'm working on
|
|
.timeline-group
|
|
each year in workItemYears
|
|
.work-container(class=(workItemHiddenYears.includes(year) ? 'timeline-item theme-hide' : 'timeline-item'))
|
|
.timeline-container
|
|
.timeline-year #{year}
|
|
|
|
each item in workItemGroups[year]
|
|
.work-container(class=(item.endDate ? 'timeline-item theme-hide' : 'timeline-item'))
|
|
.timeline-container
|
|
.timeline-content
|
|
.range-small #{item.rangeDisplay()}
|
|
h3 !{item.name}
|
|
p !{item.description}
|
|
.work-container
|
|
button#timeline-view-all show past work
|
|
|
|
section#contact
|
|
h2 get in touch
|
|
.contact-container
|
|
.message
|
|
p I'd love to hear from you if you have questions or inquiries related to me or my projects. You can get in touch by text, e-mail, or using this form. I also occasionally share thoughts on my <a href="/blog">blog</a>.
|
|
p <b>E-mail:</b> <a href="mailto:shout@garrettmills.dev">shout@garrettmills.dev</a>
|
|
.form
|
|
form#contact-form(method='post' action=named('contact'))
|
|
.form-group
|
|
input#contactEmail.form-control(type='email' name='email' placeholder='E-Mail Address' required)
|
|
input#contactEEmail(type='email' name='e-mail')
|
|
.form-group
|
|
input#contactFirst.form-control(name='name' placeholder='Name' required)
|
|
.form-group
|
|
textarea.form-control#contactMessage(name='message' placeholder='Message' required rows=6)
|
|
.form-group
|
|
button Send
|
|
|
|
section#recent
|
|
h2 latest updates
|
|
each item in feedPosts
|
|
.feed-item
|
|
.feed-category(id='feedPostTag_' + item.feedPostId)
|
|
.tag #{item.tag}
|
|
span
|
|
if !item.visible
|
|
p.text (draft)
|
|
p.text !{item.body}
|
|
.bottom
|
|
.stamp <a href="#{named('feed')}##{item.feedPostId}" class="feed-edit-button">permalink</a> | #{item.postedAt.toLocaleString()}
|
|
.row.mt-4
|
|
.col-12.text-center
|
|
a.button(href="/feed") view all
|
|
|
|
block append script
|
|
script.
|
|
document.getElementById('contactEEmail').style.display = 'none'
|