diff --git a/src/app/resources/assets/img/01-self-portrait-bw.webp b/src/app/resources/assets/img/01-self-portrait-bw.webp
new file mode 100644
index 0000000..60c6567
Binary files /dev/null and b/src/app/resources/assets/img/01-self-portrait-bw.webp differ
diff --git a/src/app/resources/views/template_bam.pug b/src/app/resources/views/template_bam.pug
index a8cfc51..35f86f9 100644
--- a/src/app/resources/views/template_bam.pug
+++ b/src/app/resources/views/template_bam.pug
@@ -1,106 +1,107 @@
doctype html
-head
- style.
- body {
- --background: #111;
- --background-2: #252525;
- --background-3: #444;
- --color: #fffbe3;
- --color-2: #d0c895;
+html(lang="en")
+ head
+ style.
+ body {
+ --background: #111;
+ --background-2: #252525;
+ --background-3: #444;
+ --color: #fffbe3;
+ --color-2: #d0c895;
- background: var(--background);
- color: var(--color);
- font-family: "Reckless", serif;
- margin: 0;
- padding: 0;
- overflow-x: hidden;
- display: flex;
- flex-direction: column;
- align-items: center;
- }
+ background: var(--background);
+ color: var(--color);
+ font-family: "Reckless", serif;
+ margin: 0;
+ padding: 0;
+ overflow-x: hidden;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ }
- .wrapper {
- max-width: 800px;
- width: calc(100% - 40px);
- padding-left: 20px;
- padding-right: 20px;
- margin-bottom: 100px;
- min-height: 100vh;
- }
+ .wrapper {
+ max-width: 800px;
+ width: calc(100% - 40px);
+ padding-left: 20px;
+ padding-right: 20px;
+ margin-bottom: 100px;
+ min-height: 100vh;
+ }
- block meta
- meta(charset='utf-8')
- meta(name='viewport' content='width=device-width, initial-scale=1, shrink-to-fit=no')
- meta(http-equiv='x-ua-compatible' content='ie=edge')
- meta(name='description' content='Hi, there! My name is Garrett. I am a computer scientist, software engineer, and speaker.')
- meta(name='keywords' content='garrett mills glmdev developer speaker flitter extollo student')
- meta(name='author' content=config('app.name', 'Garrett Mills'))
- meta(name='robots' content='index, follow')
+ block meta
+ meta(charset='utf-8')
+ meta(name='viewport' content='width=device-width, initial-scale=1, shrink-to-fit=no')
+ meta(http-equiv='x-ua-compatible' content='ie=edge')
+ meta(name='description' content='Hi, there! My name is Garrett. I am a computer scientist, software engineer, and speaker.')
+ meta(name='keywords' content='garrett mills glmdev developer speaker flitter extollo student')
+ meta(name='author' content=config('app.name', 'Garrett Mills'))
+ meta(name='robots' content='index, follow')
- block title
- if title
- title #{title} | #{config('app.name', 'Garrett Mills')}
- else
- title #{config('app.name', 'Garrett Mills')}
+ block title
+ if title
+ title #{title} | #{config('app.name', 'Garrett Mills')}
+ else
+ title #{config('app.name', 'Garrett Mills')}
- block style
- link(rel='stylesheet' href=asset('normalize.css'))
- link(rel='stylesheet' href=asset('main-bam.css'))
+ block style
+ link(rel='stylesheet' href=asset('normalize.css'))
+ link(rel='stylesheet' href=asset('main-bam.css'))
- //script.
- // window.glmdev = window.glmdev || {}
- // window.glmdev.themeStats = window.glmdev.themeStats || []
- // window.glmdev.themeStats.push('Default Theme: !{themeDisplayName}')
- //link(rel='stylesheet' href=asset('main-70s.css'))
+ //script.
+ // window.glmdev = window.glmdev || {}
+ // window.glmdev.themeStats = window.glmdev.themeStats || []
+ // window.glmdev.themeStats.push('Default Theme: !{themeDisplayName}')
+ //link(rel='stylesheet' href=asset('main-70s.css'))
- //link(rel='stylesheet' href=`/theme/${themeName}.css` title=themeDisplayName)
- //if themeStylesheets
- // each sheet in themeStylesheets
- // link(rel='alternate stylesheet' href=sheet.url title=sheet.displayName)
+ //link(rel='stylesheet' href=`/theme/${themeName}.css` title=themeDisplayName)
+ //if themeStylesheets
+ // each sheet in themeStylesheets
+ // link(rel='alternate stylesheet' href=sheet.url title=sheet.displayName)
- link(rel='author' href='/humans.txt')
- //link(rel="alternate" href="/links.mark.md" title="Garrett Mills - My Bookmarks" type="text/markdown;variant=markmark")
- //link(rel="alternate" href="/links" title="Garrett Mills - My Bookmarks" type="text/html")
- //link(rel="alternate" href="/links/atom.xml" title="Garrett's Bookmarks (Atom)" type="application/atom+xml")
- //link(rel="alternate" href="/links/rss2.xml" title="Garrett's Bookmarks (RSS)" type="application/rss+xml")
- //link(rel="alternate" href="/links/json.json" title="Garrett's Bookmarks (JSON)" type="application/feed+json")
- //link(rel="alternate" href="/feed/atom.xml" title="Garrett Mills - Posts & Updates (Atom)" type="application/atom+xml")
- //link(rel="alternate" href="/feed/rss.xml" title="Garrett Mills - Posts & Updates (RSS)" type="application/rss+xml")
- //link(rel="alternate" href="/feed/json.json" title="Garrett Mills - Posts & Updates (JSON)" type="application/feed+json")
- //link(rel="alternate" href="/blog/atom.xml" title="Garrett's Blog (Atom)" type="application/atom+xml")
- //link(rel="alternate" href="/blog/rss2.xml" title="Garrett's Blog (RSS)" type="application/rss+xml")
- //link(rel="alternate" href="/blog/json.json" title="Garrett's Blog (JSON)" type="application/feed+json")
+ link(rel='author' href='/humans.txt')
+ //link(rel="alternate" href="/links.mark.md" title="Garrett Mills - My Bookmarks" type="text/markdown;variant=markmark")
+ //link(rel="alternate" href="/links" title="Garrett Mills - My Bookmarks" type="text/html")
+ //link(rel="alternate" href="/links/atom.xml" title="Garrett's Bookmarks (Atom)" type="application/atom+xml")
+ //link(rel="alternate" href="/links/rss2.xml" title="Garrett's Bookmarks (RSS)" type="application/rss+xml")
+ //link(rel="alternate" href="/links/json.json" title="Garrett's Bookmarks (JSON)" type="application/feed+json")
+ //link(rel="alternate" href="/feed/atom.xml" title="Garrett Mills - Posts & Updates (Atom)" type="application/atom+xml")
+ //link(rel="alternate" href="/feed/rss.xml" title="Garrett Mills - Posts & Updates (RSS)" type="application/rss+xml")
+ //link(rel="alternate" href="/feed/json.json" title="Garrett Mills - Posts & Updates (JSON)" type="application/feed+json")
+ //link(rel="alternate" href="/blog/atom.xml" title="Garrett's Blog (Atom)" type="application/atom+xml")
+ //link(rel="alternate" href="/blog/rss2.xml" title="Garrett's Blog (RSS)" type="application/rss+xml")
+ //link(rel="alternate" href="/blog/json.json" title="Garrett's Blog (JSON)" type="application/feed+json")
- //link(rel='apple-touch-icon' sizes='180x180' href=asset('favicon/apple-touch-icon.png'))
- //link(rel='manifest' href=asset('favicon/site.webmanifest'))
- //link(rel='icon' type='image/png' sizes='32x32' href=asset('favicon/favicon-32x32.png'))
- //link(rel='icon' type='image/png' sizes='16x16' href=asset('favicon/favicon-16x16.png'))
- //link(rel='shortcut icon' href=asset('favicon/favicon.ico'))
+ //link(rel='apple-touch-icon' sizes='180x180' href=asset('favicon/apple-touch-icon.png'))
+ //link(rel='manifest' href=asset('favicon/site.webmanifest'))
+ //link(rel='icon' type='image/png' sizes='32x32' href=asset('favicon/favicon-32x32.png'))
+ //link(rel='icon' type='image/png' sizes='16x16' href=asset('favicon/favicon-16x16.png'))
+ //link(rel='shortcut icon' href=asset('favicon/favicon.ico'))
-body
- .wrapper
- header.hero glm.
- nav
- ul
- li
- a(href='/') Home
- //li
- a(href='/timeline') Timeline
- li
- a(href='/blog') Blog
- li
- a(href='/feed') Notes
- li
- a(href='/links') Bookmarks
+ body
+ .wrapper
+ header.hero glm.
+ nav
+ ul
+ li
+ a(href='/') Home
+ //li
+ a(href='/timeline') Timeline
+ li
+ a(href='/blog') Blog
+ li
+ a(href='/feed') Notes
+ li
+ a(href='/links') Bookmarks
- block content
+ block content
- footer
- .obsidian glm.
- p © 2015-#{(new Date).getFullYear()} Garrett Mills — More Info
- if user()
- p |
- a(href="/dash") Dashboard
+ footer
+ .obsidian glm.
+ p © 2015-#{(new Date).getFullYear()} Garrett Mills — Technical Info
+ if user()
+ p |
+ a(href="/dash") Dashboard
- block script
+ block script
diff --git a/src/app/resources/views/welcome.pug b/src/app/resources/views/welcome.pug
index b6d5b66..e56c5e2 100644
--- a/src/app/resources/views/welcome.pug
+++ b/src/app/resources/views/welcome.pug
@@ -2,7 +2,7 @@ extends template_bam
block content
section#about
- img(style="height: 250px;" src=asset('img/01-self-portrait-bw.jpg'))
+ img(style="height: 250px;" src=asset('img/01-self-portrait-bw.webp') alt="Self-portrait photo of Garrett Mills")
p.italic Hi, I'm Garrett.
p I'm a computer scientist and software engineer. Professionally, I design and build flexible, scalable software systems. Personally, I study programming languages, libre software, visual design, and the small web.
p Other things I like: self-hosting, RSS, photography, cooking, and really good fonts.