styling fixup, better header for contractor
This commit is contained in:
parent
2a5b1eba8a
commit
f5f15c4ac1
19 changed files with 126 additions and 109 deletions
12
.eleventy.js
12
.eleventy.js
|
@ -7,6 +7,7 @@ const hljs = require('highlight.js/lib/common');
|
||||||
const { setup } = require('highlightjs-glimmer');
|
const { setup } = require('highlightjs-glimmer');
|
||||||
const markdownit = require('markdown-it');
|
const markdownit = require('markdown-it');
|
||||||
const markdownitClass = require('@toycode/markdown-it-class');
|
const markdownitClass = require('@toycode/markdown-it-class');
|
||||||
|
const markdownitImageFigures = require('markdown-it-image-figures');
|
||||||
const anchor = require('markdown-it-anchor');
|
const anchor = require('markdown-it-anchor');
|
||||||
const cheerio = require('cheerio');
|
const cheerio = require('cheerio');
|
||||||
|
|
||||||
|
@ -34,15 +35,19 @@ const markdownClassMapping = {
|
||||||
em: ['italic', 'text-green'],
|
em: ['italic', 'text-green'],
|
||||||
img: ['max-w-full', 'rounded-lg', 'max-h-600px', 'contrast-more:contrast-50'], // (contrast-more-50 here undoes the content contrast boost elsewhere)
|
img: ['max-w-full', 'rounded-lg', 'max-h-600px', 'contrast-more:contrast-50'], // (contrast-more-50 here undoes the content contrast boost elsewhere)
|
||||||
video: ['max-w-full', 'rounded-lg', 'max-h-600px', 'contrast-more:contrast-50'], // (contrast-more-50 here undoes the content contrast boost elsewhere)
|
video: ['max-w-full', 'rounded-lg', 'max-h-600px', 'contrast-more:contrast-50'], // (contrast-more-50 here undoes the content contrast boost elsewhere)
|
||||||
ul: ['list-disc', 'ml-4', 'text-subtext0'],
|
hr: ['mt-2', 'mb-4', 'border-yellow'],
|
||||||
|
ul: ['list-disc', 'ml-4', 'mb-4', 'text-subtext0'],
|
||||||
li: ['text-subtext0'],
|
li: ['text-subtext0'],
|
||||||
code: ['hljs']
|
figure: ['inline-block', 'mb-4'],
|
||||||
|
figcaption: ['text-flamingo', 'text-xs'],
|
||||||
|
code: ['font-mono', 'text-saphire']
|
||||||
};
|
};
|
||||||
|
|
||||||
setup(hljs);
|
setup(hljs);
|
||||||
const md = markdownit({
|
const md = markdownit({
|
||||||
linkify: true,
|
linkify: true,
|
||||||
html: true,
|
html: true,
|
||||||
|
typographer: true,
|
||||||
highlight: function (str, lang) {
|
highlight: function (str, lang) {
|
||||||
if (lang && hljs.getLanguage(lang)) {
|
if (lang && hljs.getLanguage(lang)) {
|
||||||
try {
|
try {
|
||||||
|
@ -53,6 +58,9 @@ const md = markdownit({
|
||||||
return ''; // use external default escaping
|
return ''; // use external default escaping
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
md.use(markdownitImageFigures, {
|
||||||
|
figcaption: "title",
|
||||||
|
});
|
||||||
md.use(markdownitClass, markdownClassMapping);
|
md.use(markdownitClass, markdownClassMapping);
|
||||||
md.use(anchor, {
|
md.use(anchor, {
|
||||||
permalink: anchor.permalink.headerLink()
|
permalink: anchor.permalink.headerLink()
|
||||||
|
|
19
.obsidian/workspace.json
vendored
19
.obsidian/workspace.json
vendored
|
@ -4,21 +4,17 @@
|
||||||
"type": "split",
|
"type": "split",
|
||||||
"children": [
|
"children": [
|
||||||
{
|
{
|
||||||
"id": "b4acd2dd631ab8d1",
|
"id": "5fec0627342eb82b",
|
||||||
"type": "tabs",
|
"type": "tabs",
|
||||||
"children": [
|
"children": [
|
||||||
{
|
{
|
||||||
"id": "97b5602fe03321b5",
|
"id": "c9b66ad850a244ea",
|
||||||
"type": "leaf",
|
"type": "leaf",
|
||||||
"state": {
|
"state": {
|
||||||
"type": "markdown",
|
"type": "empty",
|
||||||
"state": {
|
"state": {},
|
||||||
"file": "blog/modding-minecraft.md",
|
|
||||||
"mode": "source",
|
|
||||||
"source": false
|
|
||||||
},
|
|
||||||
"icon": "lucide-file",
|
"icon": "lucide-file",
|
||||||
"title": "modding-minecraft"
|
"title": "New tab"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -168,8 +164,10 @@
|
||||||
"command-palette:Open command palette": false
|
"command-palette:Open command palette": false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"active": "97b5602fe03321b5",
|
"active": "c9b66ad850a244ea",
|
||||||
"lastOpenFiles": [
|
"lastOpenFiles": [
|
||||||
|
"2025-06-05.md",
|
||||||
|
"blog/modding-minecraft.md",
|
||||||
"_site/blog/modding-minecraft/index.html",
|
"_site/blog/modding-minecraft/index.html",
|
||||||
"_site/blog/modding-minecraft",
|
"_site/blog/modding-minecraft",
|
||||||
"_site/img/content/projbesy-photon-shader.png",
|
"_site/img/content/projbesy-photon-shader.png",
|
||||||
|
@ -181,7 +179,6 @@
|
||||||
"img/content/minimap.png",
|
"img/content/minimap.png",
|
||||||
"img/content/modding-minecraft.webp",
|
"img/content/modding-minecraft.webp",
|
||||||
"blog/ember-atx-2020-spring.md",
|
"blog/ember-atx-2020-spring.md",
|
||||||
"blog/modding-minecraft.md",
|
|
||||||
"img/content/distant-horizons.jpg",
|
"img/content/distant-horizons.jpg",
|
||||||
"img/content/projbesy-photon-shader.png",
|
"img/content/projbesy-photon-shader.png",
|
||||||
"blog/arizona_school_finance.md",
|
"blog/arizona_school_finance.md",
|
||||||
|
|
|
@ -13,9 +13,9 @@
|
||||||
{{description | markdown | safe}}
|
{{description | markdown | safe}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mx-2 bg-base dark:bg-base/85 rounded contrast-more:bg-crust shadow border-l-2 border-yellow">
|
<div class="markdown-content mx-2 bg-base dark:bg-base/85 rounded contrast-more:bg-crust shadow border-l-2 border-yellow flex flex-col gap-2">
|
||||||
|
<img src="{{coverImage or image}}" alt="" rel="presentation" class="border-b border-yellow" />
|
||||||
<div class="p-4 sm:p-6 contrast-more:contrast-150">
|
<div class="p-4 sm:p-6 contrast-more:contrast-150">
|
||||||
<img src="{{coverImage}}" alt="" rel="presentation" class="mb-8 rounded" />
|
|
||||||
{{ content | safe }}
|
{{ content | safe }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,15 +1,13 @@
|
||||||
---
|
---
|
||||||
title: A Beautiful Deer
|
title: A Beautiful Deer
|
||||||
description: My proudest I have been of competently painting a miniature.
|
|
||||||
coverImage: /img/content/deer1.jpg
|
|
||||||
date: 2022-08-23
|
|
||||||
tags:
|
tags:
|
||||||
- TTRPG
|
- TTRPG
|
||||||
|
date: "2022-08-23"
|
||||||
|
description: My proudest I have been of competently painting a miniature.
|
||||||
|
coverImage: /img/content/deer1.jpg
|
||||||
|
imageDescription: D&D sized miniature close up of a deer with white spots, antlers, with clean shading walking through an implied grassy meadow with shrubs.
|
||||||
---
|
---
|
||||||
|
|
||||||
_Note: This is an article backfill, meaning I neglected my blog for some time and inserted this article back into history as for when it happened._
|
_Note: This is an article backfill, meaning I neglected my blog for some time and inserted this article back into history as for when it happened._
|
||||||
|
|
||||||
Recently I set up a hobby painting station where I have been churning out some new miniatures I am becoming increasingly proud of. It's also helped that I invested in [The Army Painter's Speedpaints](https://www.thearmypainter.com/speedpaint/) Etsy has some wonderful [paint stations]([https://www.etsy.com/listing/976336032/corner-paint-brush-holder?ref=cart](https://www.etsy.com/listing/976336032/corner-paint-brush-holder?ref=cart "https://www.etsy.com/listing/976336032/corner-paint-brush-holder?ref=cart")for this hobby as well.
|
Recently I set up a hobby painting station where I have been churning out some new miniatures I am becoming increasingly proud of. It's also helped that I invested in [The Army Painter's Speedpaints](https://www.thearmypainter.com/speedpaint/) Etsy has some wonderful [paint stations](https://www.etsy.com/listing/976336032/corner-paint-brush-holder) for this hobby as well.
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
---
|
---
|
||||||
id: multimedia_for_invisible
|
title: Crafting Better Multimedia for the Invisible People All Around Us
|
||||||
aliases: []
|
|
||||||
tags:
|
tags:
|
||||||
- College
|
- College
|
||||||
- Writing
|
- Writing
|
||||||
|
@ -8,7 +7,6 @@ tags:
|
||||||
coverImage: /img/content/multimedia_for_invisible.webp
|
coverImage: /img/content/multimedia_for_invisible.webp
|
||||||
date: "2023-03-11"
|
date: "2023-03-11"
|
||||||
description: For a more universally accessible web, educators are adjusting how they teach software engineering, user experience design, content writing, and multimedia production.
|
description: For a more universally accessible web, educators are adjusting how they teach software engineering, user experience design, content writing, and multimedia production.
|
||||||
title: Crafting Better Multimedia for the Invisible People All Around Us
|
|
||||||
---
|
---
|
||||||
Posted originally on [Medium: Crafting Better Multimedia for the Invisible People All Around Us](https://medium.com/@hergaiety/crafting-better-multimedia-for-the-invisible-people-all-around-us-952f22070e6b)
|
Posted originally on [Medium: Crafting Better Multimedia for the Invisible People All Around Us](https://medium.com/@hergaiety/crafting-better-multimedia-for-the-invisible-people-all-around-us-952f22070e6b)
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
---
|
---
|
||||||
tags: community
|
|
||||||
title: "Talk: Achieving A11y Automation Testing"
|
title: "Talk: Achieving A11y Automation Testing"
|
||||||
description: "A success story and a look at how anyone can automate **A11y** regardless of framework."
|
tags:
|
||||||
|
- community
|
||||||
date: 2021-02-29
|
date: 2021-02-29
|
||||||
|
description: A success story and a look at how anyone can automate **A11y** regardless of framework.
|
||||||
image: /img/content/testjssummit2021.jpg
|
image: /img/content/testjssummit2021.jpg
|
||||||
imageDescription: Photo of Ava's at-home setup with a microphone resting atop of a Macbook Pro showing the slides onscreen
|
imageDescription: Photo of Ava's at-home setup with a microphone resting atop of a Macbook Pro showing the slides onscreen
|
||||||
pinned: true
|
pinned: true
|
||||||
|
@ -10,12 +11,9 @@ pinned: true
|
||||||
|
|
||||||
> Accessibility testing in has come a long way in recent years. We'll dive into how EmberJS prioritized A11y with meaningful RFC's, Addons, tooling and docs. Most importantly, we'll discuss how these successes can be applied to your very own apps be they Vue, React, Angular or anything else!
|
> Accessibility testing in has come a long way in recent years. We'll dive into how EmberJS prioritized A11y with meaningful RFC's, Addons, tooling and docs. Most importantly, we'll discuss how these successes can be applied to your very own apps be they Vue, React, Angular or anything else!
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
[Watch the recorded talk here](https://portal.gitnation.org/contents/achieving-a11y-automation-testing)
|
[Watch the recorded talk here](https://portal.gitnation.org/contents/achieving-a11y-automation-testing)
|
||||||
|
|
||||||
## Talk given at:
|
## Talk given at
|
||||||
|
|
||||||
* [TestJS Summit 2021](https://portal.gitnation.org/contents/achieving-a11y-automation-testing)
|
* [TestJS Summit 2021](https://portal.gitnation.org/contents/achieving-a11y-automation-testing)
|
||||||
* Ember-LA
|
* Ember-LA
|
||||||
|
|
||||||
|
|
|
@ -14,11 +14,8 @@ pinned: true
|
||||||
|
|
||||||
_[“Slides”, relevant URL’s used in presentation](https://www.notion.so/hergaiety/Thinking-in-Stories-Component-First-66c7c795e4864ed0a81fddbf777a6f86)_
|
_[“Slides”, relevant URL’s used in presentation](https://www.notion.so/hergaiety/Thinking-in-Stories-Component-First-66c7c795e4864ed0a81fddbf777a6f86)_
|
||||||
|
|
||||||
[](https://www.youtube.com/watch?v=88xWS0QeJUo&list=PLE7tQUdRKcya7rPej9KkDwUpBkQXT7Lw5)
|
|
||||||
|
|
||||||
[Watch the recorded talk here](https://www.youtube.com/watch?v=88xWS0QeJUo&list=PLE7tQUdRKcya7rPej9KkDwUpBkQXT7Lw5)
|
[Watch the recorded talk here](https://www.youtube.com/watch?v=88xWS0QeJUo&list=PLE7tQUdRKcya7rPej9KkDwUpBkQXT7Lw5)
|
||||||
|
|
||||||
## Talk given at:
|
## Talk given at
|
||||||
|
|
||||||
[EmberConf 2022](https://2022.emberconf.com/)
|
[EmberConf 2022](https://2022.emberconf.com/)
|
||||||
|
|
||||||
|
|
BIN
img/content/contractor-header.png
Normal file
BIN
img/content/contractor-header.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 756 KiB |
5
index.md
5
index.md
|
@ -1,11 +1,8 @@
|
||||||
---
|
---
|
||||||
id: index
|
title: Ava Gaiety W.
|
||||||
aliases: []
|
|
||||||
tags: []
|
|
||||||
description: Portfolio containing work experience, code, volunteering and more!
|
description: Portfolio containing work experience, code, volunteering and more!
|
||||||
eleventyExcludeFromCollections: true
|
eleventyExcludeFromCollections: true
|
||||||
layout: pinned.njk
|
layout: pinned.njk
|
||||||
title: Ava Gaiety W.
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
|
|
14
package-lock.json
generated
14
package-lock.json
generated
|
@ -23,6 +23,7 @@
|
||||||
"highlightjs-glimmer": "^2.2.1",
|
"highlightjs-glimmer": "^2.2.1",
|
||||||
"install": "^0.13.0",
|
"install": "^0.13.0",
|
||||||
"markdown-it-anchor": "^9.2.0",
|
"markdown-it-anchor": "^9.2.0",
|
||||||
|
"markdown-it-image-figures": "^2.1.1",
|
||||||
"npm": "^10.5.0",
|
"npm": "^10.5.0",
|
||||||
"npm-run-all": "^4.1.5",
|
"npm-run-all": "^4.1.5",
|
||||||
"postcss": "^8.3.11",
|
"postcss": "^8.3.11",
|
||||||
|
@ -5490,6 +5491,19 @@
|
||||||
"markdown-it": "*"
|
"markdown-it": "*"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/markdown-it-image-figures": {
|
||||||
|
"version": "2.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/markdown-it-image-figures/-/markdown-it-image-figures-2.1.1.tgz",
|
||||||
|
"integrity": "sha512-mwXSQ2nPeVUzCMIE3HlLvjRioopiqyJLNph0pyx38yf9mpqFDhNGnMpAXF9/A2Xv0oiF2cVyg9xwfF0HNAz05g==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12.0.0"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"markdown-it": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/markdown-it/node_modules/argparse": {
|
"node_modules/markdown-it/node_modules/argparse": {
|
||||||
"version": "2.0.1",
|
"version": "2.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
|
||||||
|
|
|
@ -43,6 +43,7 @@
|
||||||
"highlightjs-glimmer": "^2.2.1",
|
"highlightjs-glimmer": "^2.2.1",
|
||||||
"install": "^0.13.0",
|
"install": "^0.13.0",
|
||||||
"markdown-it-anchor": "^9.2.0",
|
"markdown-it-anchor": "^9.2.0",
|
||||||
|
"markdown-it-image-figures": "^2.1.1",
|
||||||
"npm": "^10.5.0",
|
"npm": "^10.5.0",
|
||||||
"npm-run-all": "^4.1.5",
|
"npm-run-all": "^4.1.5",
|
||||||
"postcss": "^8.3.11",
|
"postcss": "^8.3.11",
|
||||||
|
|
|
@ -9,8 +9,6 @@ imageDescription: Mockup of four overlapping phones showing screenshots of diffe
|
||||||
pinned: true
|
pinned: true
|
||||||
---
|
---
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
Something a little different! This is a collection of several repositories that house my personal websites. They are all built in [Eleventy](https://www.11ty.dev/) a zero-config really superb static site generator with markdown content. Except for Faetale, which leverages [Nuxt and Vue which you can read my jourey on here](https://gaiety.life/posts/faetale-launch/). Most use [Tailwind](https://tailwindcss.com/) and [Tailwind UI](https://tailwindui.com/) with manual customizations to achieve easy to update sites. Each are run through [Digital Ocean Apps](https://www.digitalocean.com/products/app-platform) to automatically rebuild the static site when the repository is updated.
|
Something a little different! This is a collection of several repositories that house my personal websites. They are all built in [Eleventy](https://www.11ty.dev/) a zero-config really superb static site generator with markdown content. Except for Faetale, which leverages [Nuxt and Vue which you can read my jourey on here](https://gaiety.life/posts/faetale-launch/). Most use [Tailwind](https://tailwindcss.com/) and [Tailwind UI](https://tailwindui.com/) with manual customizations to achieve easy to update sites. Each are run through [Digital Ocean Apps](https://www.digitalocean.com/products/app-platform) to automatically rebuild the static site when the repository is updated.
|
||||||
|
|
||||||
## Sites
|
## Sites
|
||||||
|
|
|
@ -13,9 +13,7 @@ pinned: true
|
||||||
|
|
||||||
> Because while we are silly, your gender identity is important. Be your genuine self. Share how you are to be referred to by newer users of neopronouns or English language learners.
|
> Because while we are silly, your gender identity is important. Be your genuine self. Share how you are to be referred to by newer users of neopronouns or English language learners.
|
||||||
|
|
||||||

|
Visit the site at <https://pronoun.monster/>
|
||||||
|
|
||||||
Visit the site at https://pronoun.monster/
|
|
||||||
|
|
||||||
Powered by **NodeJS** with **TailwindCSS** and **svg spritesheets** leveraging my own work (dogfooding) [svgdir2sprite (repo project page)](/repos/svgdir2sprite/). Hosted on my own _Ubuntu_ server via **nginx** and **Docker**.
|
Powered by **NodeJS** with **TailwindCSS** and **svg spritesheets** leveraging my own work (dogfooding) [svgdir2sprite (repo project page)](/repos/svgdir2sprite/). Hosted on my own _Ubuntu_ server via **nginx** and **Docker**.
|
||||||
|
|
||||||
|
@ -23,5 +21,3 @@ Powered by **NodeJS** with **TailwindCSS** and **svg spritesheets** leveraging m
|
||||||
|
|
||||||
* [Angela](http://argylewerewolf.com/) who uses [it/its](https://pronoun.monster/it/it/its/its/itself), [she/her](https://pronoun.monster/she/her/hers/herself)
|
* [Angela](http://argylewerewolf.com/) who uses [it/its](https://pronoun.monster/it/it/its/its/itself), [she/her](https://pronoun.monster/she/her/hers/herself)
|
||||||
* [Rizzo](https://goth.dev/) who uses [he/his](https://pronoun.monster/he/him/his/him/himself) [they/them](https://pronoun.monster/they/them/their/themself), [xier/xien](https://nibi.space/pronomen#xier)
|
* [Rizzo](https://goth.dev/) who uses [he/his](https://pronoun.monster/he/him/his/him/himself) [they/them](https://pronoun.monster/they/them/their/themself), [xier/xien](https://nibi.space/pronomen#xier)
|
||||||
|
|
||||||
|
|
||||||
|
|
100
styles.css
100
styles.css
|
@ -52,49 +52,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pre, p > code {
|
|
||||||
font-family: "VictorMono", monospace;
|
|
||||||
font-variant-ligatures: contextual;
|
|
||||||
color: rgb(var(--ctp-text));
|
|
||||||
}
|
|
||||||
p > code {
|
|
||||||
padding: 0 .25rem;
|
|
||||||
display: inline-block;
|
|
||||||
background-color: rgb(var(--ctp-mantle));
|
|
||||||
color: rgb(var(--ctp-red));
|
|
||||||
border: 1px solid rgb(var(--ctp-surface0));
|
|
||||||
border-radius: 0.25rem;
|
|
||||||
font-size: 0.875rem;
|
|
||||||
}
|
|
||||||
pre {
|
|
||||||
position: relative;
|
|
||||||
padding: 1rem 0.75rem;
|
|
||||||
margin: 1rem 0 ;
|
|
||||||
overflow: auto;
|
|
||||||
max-width: 100%;
|
|
||||||
white-space: pre-wrap;
|
|
||||||
page-break-inside: avoid;
|
|
||||||
background-color: rgb(var(--ctp-crust));
|
|
||||||
mask:
|
|
||||||
radial-gradient(0.56rem at 50% 0.75rem,#000 99%,#0000 101%) calc(50% - 0.5rem) 0/1rem 51% repeat-x,
|
|
||||||
radial-gradient(0.56rem at 50% -0.5rem,#0000 99%,#000 101%) 50% .25rem/1rem calc(51% - .25rem) repeat-x,
|
|
||||||
radial-gradient(0.56rem at 50% calc(100% - 0.75rem),#000 99%,#0000 101%) calc(50% - 0.5rem) 100%/1rem 51% repeat-x,
|
|
||||||
radial-gradient(0.56rem at 50% calc(100% + 0.5rem),#0000 99%,#000 101%) 50% calc(100% - .25rem)/1rem calc(51% - .25rem) repeat-x;
|
|
||||||
|
|
||||||
.hljs-language-icon {
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
right: 0;
|
|
||||||
padding: .2rem .25rem;
|
|
||||||
color: rgb(var(--ctp-subtext1));
|
|
||||||
background-color: rgb(var(--ctp-base));
|
|
||||||
border-left: 1px solid rgb(var(--ctp-surface0));
|
|
||||||
border-bottom: 1px solid rgb(var(--ctp-surface0));
|
|
||||||
border-radius: 0 0 0 0.25rem;
|
|
||||||
font-size: 0.875rem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-comment {
|
.hljs-comment {
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
}
|
}
|
||||||
|
@ -158,6 +115,63 @@ pre {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.markdown-content {
|
||||||
|
hr {
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
border-color: rgba(var(--ctp-yellow));
|
||||||
|
}
|
||||||
|
|
||||||
|
code {
|
||||||
|
color: rgba(var(--ctp-mauve));
|
||||||
|
}
|
||||||
|
|
||||||
|
pre code {
|
||||||
|
color: rgb(var(--ctp-text));
|
||||||
|
}
|
||||||
|
|
||||||
|
pre, code {
|
||||||
|
font-family: "VictorMono", monospace;
|
||||||
|
font-variant-ligatures: contextual;
|
||||||
|
}
|
||||||
|
p code {
|
||||||
|
padding: 0 .25rem;
|
||||||
|
display: inline-block;
|
||||||
|
background-color: rgb(var(--ctp-mantle));
|
||||||
|
color: rgb(var(--ctp-red));
|
||||||
|
border: 1px solid rgb(var(--ctp-surface0));
|
||||||
|
border-radius: 0.25rem;
|
||||||
|
font-size: 0.875rem;
|
||||||
|
}
|
||||||
|
pre {
|
||||||
|
position: relative;
|
||||||
|
padding: 1rem 0.75rem;
|
||||||
|
margin: 1rem 0 ;
|
||||||
|
overflow: auto;
|
||||||
|
max-width: 100%;
|
||||||
|
white-space: pre-wrap;
|
||||||
|
page-break-inside: avoid;
|
||||||
|
background-color: rgb(var(--ctp-crust));
|
||||||
|
mask:
|
||||||
|
radial-gradient(0.56rem at 50% 0.75rem,#000 99%,#0000 101%) calc(50% - 0.5rem) 0/1rem 51% repeat-x,
|
||||||
|
radial-gradient(0.56rem at 50% -0.5rem,#0000 99%,#000 101%) 50% .25rem/1rem calc(51% - .25rem) repeat-x,
|
||||||
|
radial-gradient(0.56rem at 50% calc(100% - 0.75rem),#000 99%,#0000 101%) calc(50% - 0.5rem) 100%/1rem 51% repeat-x,
|
||||||
|
radial-gradient(0.56rem at 50% calc(100% + 0.5rem),#0000 99%,#000 101%) 50% calc(100% - .25rem)/1rem calc(51% - .25rem) repeat-x;
|
||||||
|
|
||||||
|
.hljs-language-icon {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
right: 0;
|
||||||
|
padding: .2rem .25rem;
|
||||||
|
color: rgb(var(--ctp-subtext1));
|
||||||
|
background-color: rgb(var(--ctp-base));
|
||||||
|
border-left: 1px solid rgb(var(--ctp-surface0));
|
||||||
|
border-bottom: 1px solid rgb(var(--ctp-surface0));
|
||||||
|
border-radius: 0 0 0 0.25rem;
|
||||||
|
font-size: 0.875rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@keyframes blink-animation {
|
@keyframes blink-animation {
|
||||||
to {
|
to {
|
||||||
visibility: hidden;
|
visibility: hidden;
|
||||||
|
|
|
@ -3,11 +3,15 @@ tags: work
|
||||||
title: Senior Software Engineer at Allovue (PowerSchool)
|
title: Senior Software Engineer at Allovue (PowerSchool)
|
||||||
description: _(Aug 2019 - Jul 2020, April 2022 - February 2024)_ Functional programming in **Elixir**, **Ember.js** and **Postgres** powering school budgeting nationwide.
|
description: _(Aug 2019 - Jul 2020, April 2022 - February 2024)_ Functional programming in **Elixir**, **Ember.js** and **Postgres** powering school budgeting nationwide.
|
||||||
date: 2024-02-29
|
date: 2024-02-29
|
||||||
image: /img/content/allovue-thumb.png
|
image: /img/content/allovue3.jpg
|
||||||
imageDescription: Screenshots of an Allovue web app on the overview page indicating a school district's number of institutions, school characacteristics, job types, sub-enrollment types as well as a section below for enrollment projections, formulas, and scenarios. The indication is that this allows a school district to manage their institutions budgets.
|
imageDescription: Mockup of two phone screens showing previews of the Arizona School Spending website. They speak on Arizona's K-12 School Finance with a goal of making education dollars easier to understand with an option to search. On the second screen are graphs with dates and an indicator on tracking total enrollment over time. There's also an indicator of a custom report comparing 2/4 institutions.
|
||||||
pinned: false
|
pinned: false
|
||||||
---
|
---
|
||||||
|
|
||||||
|
I've been digging in deep with the rest of product in a very cross-function design, QA and engineering on something ~~I wish I could talk more about~~ and now I can proudly say it's released! Read more at [Allovue Partners with Arizona on School Finance Transparency](https://blog.allovue.com/press/announces-arizona-school-financial-transparency-portal).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
Building budgeting software to give educators the tools and support they need to allocate resources to the needs of students for a more equitable world.
|
Building budgeting software to give educators the tools and support they need to allocate resources to the needs of students for a more equitable world.
|
||||||
|
|
||||||
Empowering educators to strategically and equitably allocate resources to best support the needs of students. We're building budgeting software to give school districts the tools they need to give educators the tools they need.
|
Empowering educators to strategically and equitably allocate resources to best support the needs of students. We're building budgeting software to give school districts the tools they need to give educators the tools they need.
|
||||||
|
@ -18,10 +22,6 @@ Furthermore, Allovue stands for equity and antiracism. I get to work with fellow
|
||||||
|
|
||||||
This has been my first full-time venture into functional programming with [Elixir](https://elixir-lang.org/) and [Phoenix](https://www.phoenixframework.org/) and I'm loving every minute of it.
|
This has been my first full-time venture into functional programming with [Elixir](https://elixir-lang.org/) and [Phoenix](https://www.phoenixframework.org/) and I'm loving every minute of it.
|
||||||
|
|
||||||
I've been digging in deep with the rest of product in a very cross-function design, QA and engineering on something ~~I wish I could talk more about~~ and now I can proudly say it's released! Read more at [Allovue Partners with Arizona on School Finance Transparency](https://blog.allovue.com/press/announces-arizona-school-financial-transparency-portal).
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
## Prior to 2020
|
## Prior to 2020
|
||||||
|
|
||||||
Leveraging modern web technologies we built an ambitious web app with Microstates within [EmberJS](https://emberjs.com/) powered by a [Rails](https://rubyonrails.org/) API. Pushing the boundaries of what is possible with [Ember Data](https://guides.emberjs.com/release/models/) with an advanced [Graphiti](https://www.graphiti.dev) data management layer to ensure payloads are handled efficiently for a better UX.
|
Leveraging modern web technologies we built an ambitious web app with Microstates within [EmberJS](https://emberjs.com/) powered by a [Rails](https://rubyonrails.org/) API. Pushing the boundaries of what is possible with [Ember Data](https://guides.emberjs.com/release/models/) with an advanced [Graphiti](https://www.graphiti.dev) data management layer to ensure payloads are handled efficiently for a better UX.
|
||||||
|
|
|
@ -1,13 +1,21 @@
|
||||||
---
|
---
|
||||||
tags: work
|
|
||||||
title: Independent Contractor (PowerSchool, Bill & Melinda Gates Foundation)
|
title: Independent Contractor (PowerSchool, Bill & Melinda Gates Foundation)
|
||||||
|
tags:
|
||||||
|
- work
|
||||||
|
date: "2025-03-27"
|
||||||
description: _(June 2024 - Current)_ Surfacing scientific papers for educators who can make a difference. Built with **Phoenix**, **Typescript**, **Lit** and **PostgreSQL**.
|
description: _(June 2024 - Current)_ Surfacing scientific papers for educators who can make a difference. Built with **Phoenix**, **Typescript**, **Lit** and **PostgreSQL**.
|
||||||
date: 2025-03-27
|
image: /img/content/contractor-header.png
|
||||||
image: /img/content/contractor.png
|
|
||||||
imageDescription: Cropped screenshot of a webpage called Implement for Impact showing an Intervention for Zoology suggesting various statistics about the study.
|
imageDescription: Cropped screenshot of a webpage called Implement for Impact showing an Intervention for Zoology suggesting various statistics about the study.
|
||||||
pinned: true
|
pinned: true
|
||||||
---
|
---
|
||||||
|
|
||||||
[Bill & Melinda Gates Foundation](https://www.gatesfoundation.org/) project in collaboration with PowerSchool. Solo built a full-stack **Elixir**, **Phoenix**, **Lit** (web components), **Typescript** with a **PostgreSQL** DB app through it’s deployment to production where [it's live today](https://implementforimpact.org/).
|
Lead and was the primary developer for a greenfield project exceeding timeline and quality expectations.
|
||||||
|
|
||||||

|
- Collaborated in tech stack choice of `Elixir`, `Phoenix`, `Lit` (web components), `TypeScript`, with a `PostgreSQL` database
|
||||||
|
- Hand-crafted dynamic charts with zero-dependency `SVG` pie charts for **data visualization**
|
||||||
|
|
||||||
|
, a Summary, Grades and more.")
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
_Thanks to [mokkify](https://mokkify.com) for mockups used on this page._
|
||||||
|
|
|
@ -8,5 +8,3 @@ imageDescription: Screenshots of a web app called axe DevTools Mobile with a des
|
||||||
---
|
---
|
||||||
|
|
||||||
Submitted contributions to [axe-core](https://github.com/dequelabs/axe-core) (open-source), [axe DevTools Linter](https://www.deque.com/axe/devtools/linter/), and more tooling to empower web engineers to build a more _accessible_ web. Technologies are focused on **Typescript** and **Playwright**.
|
Submitted contributions to [axe-core](https://github.com/dequelabs/axe-core) (open-source), [axe DevTools Linter](https://www.deque.com/axe/devtools/linter/), and more tooling to empower web engineers to build a more _accessible_ web. Technologies are focused on **Typescript** and **Playwright**.
|
||||||
|
|
||||||

|
|
||||||
|
|
|
@ -17,9 +17,7 @@ Oncue has been supporting small moving companies through innovative simple to us
|
||||||
|
|
||||||
From `git init` I've worked with the talented team at Oncue to build out a design system of react components that are accessible, automation tested, mobile-first and ready for both current and future projects to consume. It was really exciting taking the lead on a project that is now widely being adopted within the company in such a short time-span.
|
From `git init` I've worked with the talented team at Oncue to build out a design system of react components that are accessible, automation tested, mobile-first and ready for both current and future projects to consume. It was really exciting taking the lead on a project that is now widely being adopted within the company in such a short time-span.
|
||||||
|
|
||||||
[ Check it out at https://designsystem.oncueapp.com/](https://designsystem.oncueapp.com/)
|
I truly believe this project has changed the way Oncue will build software forever moving forward for the better. [Check it out at https://designsystem.oncueapp.com/](https://designsystem.oncueapp.com/)
|
||||||
|
|
||||||
I truly believe this project has changed the way Oncue will build software forever moving forward for the better.
|
|
||||||
|
|
||||||
### Using it in the Product
|
### Using it in the Product
|
||||||
|
|
||||||
|
@ -28,4 +26,3 @@ The design system has successfully been integrated into the product to reimagine
|
||||||
<video src="/img/content/oncue-product.mp4" autoplay loop muted><a href="https://oncue.co/">See product site here</a></video>
|
<video src="/img/content/oncue-product.mp4" autoplay loop muted><a href="https://oncue.co/">See product site here</a></video>
|
||||||
|
|
||||||
It's great to see the same amount of attention given to mobile as has been given to the desktop site. We're making major strides in usability and accessibility.
|
It's great to see the same amount of attention given to mobile as has been given to the desktop site. We're making major strides in usability and accessibility.
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
tags: work
|
tags: work
|
||||||
title: Developer III at Q2ebanking
|
title: Developer III at Q2ebanking
|
||||||
description: _(Jan 2016 - Aug 2019)_ Enterprise **Ember.js** & **Vue.js** powered banking software used by tens of millions worldwide. Mentoring, writing test automation, and writing a component for native HTML **Web Components**.
|
description: _(Jan 2016 - Aug 2019)_ Enterprise **Ember.js** & **Vue.js** powered banking software used by tens of millions worldwide. Mentoring, writing test automation, and writing a component for native HTML **Web Components**.
|
||||||
|
image: /img/content/q21.jpg
|
||||||
date: 2019-08-01
|
date: 2019-08-01
|
||||||
---
|
---
|
||||||
|
|
||||||
|
@ -9,11 +10,8 @@ date: 2019-08-01
|
||||||
|
|
||||||
## Stronger communities with better financial tools
|
## Stronger communities with better financial tools
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
Built [Ember.js](https://emberjs.com/) powered banking software used by tens of millions worldwide. _Mentored_ new hires, reforged _automation_ testing standards, improved **A11y**.
|
Built [Ember.js](https://emberjs.com/) powered banking software used by tens of millions worldwide. _Mentored_ new hires, reforged _automation_ testing standards, improved **A11y**.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
Lead an innovative [HTML5 **Web Components** project](https://gaiety.life/posts/on-web-components) to achieve ambitious cross-team goals. [Read more about that here...](https://gaiety.life/on-web-components)
|
Lead an innovative [HTML5 **Web Components** project](https://gaiety.life/posts/on-web-components) to achieve ambitious cross-team goals. [Read more about that here...](https://gaiety.life/on-web-components)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue