From 779e3435f1d30a1bd597a965c9f46567e332d7c3 Mon Sep 17 00:00:00 2001 From: drewmcarthur Date: Fri, 2 Feb 2024 20:37:07 -0700 Subject: [PATCH 01/17] add projects page --- src/components/About.astro | 15 ++++++++----- src/data/projects.json | 24 +++++++++++++++++++++ src/images/apple-touch-icon.png | Bin 0 -> 5428 bytes src/images/favicon-16x16.png | Bin 0 -> 553 bytes src/images/favicon-32x32.png | Bin 0 -> 953 bytes src/images/favicon.ico | Bin 0 -> 15406 bytes src/layouts/Layout.astro | 35 +++++++++++++++++++++++++++++++ src/pages/index.astro | 36 +++++++------------------------- src/pages/projects.astro | 22 +++++++++++++++++++ src/styles/projects.css | 27 ++++++++++++++++++++++++ 10 files changed, 125 insertions(+), 34 deletions(-) create mode 100644 src/data/projects.json create mode 100644 src/images/apple-touch-icon.png create mode 100644 src/images/favicon-16x16.png create mode 100644 src/images/favicon-32x32.png create mode 100644 src/images/favicon.ico create mode 100644 src/layouts/Layout.astro create mode 100644 src/pages/projects.astro create mode 100644 src/styles/projects.css diff --git a/src/components/About.astro b/src/components/About.astro index 8aaad5c..71ff5a6 100644 --- a/src/components/About.astro +++ b/src/components/About.astro @@ -1,20 +1,25 @@ --- + ---

- I'm a software engineer from New England, now living in Boulder, CO. I - currently work with Mathematica Policy Research + I'm a software engineer from New England, now living in Boulder, CO. I + currently work with Mathematica Policy Research on their infrastructure and data platforms.

I'm also working towards a master's degree in Media and Public Engagement at CU Boulder, where I focus on cooperatives, worker ownership, - governance, and enterprise design. + > at CU Boulder, where I focus on cooperatives, worker ownership, governance, + and enterprise design.

- I'm passionate about systems that enable and encourage collaboration, transparency, equity, and autonomy. + I'm passionate about systems that enable and encourage collaboration, + transparency, equity, and autonomy.

+

Check out some of my projects.

diff --git a/src/data/projects.json b/src/data/projects.json new file mode 100644 index 0000000..5b2a3f1 --- /dev/null +++ b/src/data/projects.json @@ -0,0 +1,24 @@ +{ + "projects": [ + { + "link": "//allielind.com", + "title": "allielind.com", + "desc": "a website for my partner, who happens to be an incredible aerialist!" + }, + { + "link": "/papers/inflationary-equity.pdf", + "title": "Inflationary Equity", + "desc": "a paper I wrote on the potential ramifications of lifting the cap in company stock, and automatically allocating it to employees." + }, + { + "link": "//github.com/drewmcarthur/msgpack-bal", + "title": "msgpack-bal", + "desc": "a msgpack library written in ballerina." + }, + { + "link": "/projects/trident", + "title": "Trident Audio Project", + "desc": "a class project on a local bookstore and cafe." + } + ] +} \ No newline at end of file diff --git a/src/images/apple-touch-icon.png b/src/images/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..32eb4d52822aacab6a2765db106ee118448b6313 GIT binary patch literal 5428 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 XUzky`-293dD4IN7{an^LB{Ts5j}Okp literal 0 HcmV?d00001 diff --git a/src/images/favicon-32x32.png b/src/images/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..fc6966371679ae2593fb5327408a0fad5c0783db GIT binary patch literal 953 zcmV;q14jIbP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91AfN*P1ONa40RR91AOHXW0IY^$^8f$?BS}O-R9Fe^S8GU9VHkeS6v4S% zYUwl*N-a~fj4py1*@cJ%C4~AH6iKB9YLbq$$mmKTL_t6L6$BL+T9OyC%bx^OL(7Kd z=6$+3%9ZZYw$t~0b;i!NFtAR4e8)N4d->ky`QGn6=iA5eJTG&Y^=cQm0*>cZkU)5j zn~;IO6&MdJEYWQQiA!zS|G4c zfk1za;c5G*>BH#QI5X|oo{4~f08jV4f6qyvw(cn&*48tiwwH|v4*t6Y=Inv8;zAT2 zJ2LN?{w~3s1cHKsK(Bu#ewV=MbfWuxFO0@1s8mrP8LoD^+>A6tA1>QFHAAtX3nj+hOsGKL3b% zNLQDXSHVEu0m{%t42(9CupivHc^!7U&HWhCM0vT{sH`}JgNO1#_YOf?pFKveMuWoQ z3c-Z^Is0%{UFOz(2vCpBW=DHx7fhzlNL(GysvYgei$X$QH^Xmb`R9f$ps3h&6gGdM@UN&h(4@(Mv|!OvS{@lg)Bf>K zij0n<(0SpsVdEAve8_SA`%Wq>ucJd5If4&;Rmj1Qwsrgx zW$5TMI7qJ~yqKrr?I^xI_&9jnmi!&5b4%X(_XD4+&a`(qwXBUd{znHhPSNgtU(=b3 zoVdOr_n}!V^ zLH-ja$v0r>S!XEiXtwbiuw^Tvh5t)0Pd9^CvfKy0J!uAe=e-YX&P`q0UGg41h96!($31K4uxF^{_B}H>9mOB^4tqLs;*8z= z!{#sQq5pHmSA=fjj?c{Kn(7$uuq_|oaWroHM1rkdXBcejwKoy z)QZ39`g?nMB>D2a9sN)|JiY1LQ~3lqY)Qcv@ckcmVaqXF`^LIC&Ug2ew4*9=y}%FVp@5$E3h6?4hCK=yxsM2CUn_!~6$Q|Dg|UZcP4x9jOO3 zZv21S@(cV~;P8{Mi&hKe(wm=zo3;A(_P@8acZL``elB2}x%bfQhVMyz@V+N9vaFC< z$!@s&YZBk-?)QP)7j1{NLsrPF^zKZuD;zuSz%bf@?aM(qUl-j`k<<+a+E?0S3O z`<<>MT}QeN=r-`DwE_5=w|u&nmamASr4cJ>>#luN)pV1NojgY=2hxq@LRpRI2yt*z zxO!J{;Ig__NLH)Z{wCOAM(0{L^HVZ^TB5a-f8J4$i17UYD4|*`>Q10ja-7D z;2Aw=jALJaS#6g;y+30}-2NH4xQ!BDT~Kx8RRChTk5! z5|BSKdX3O+y7i;bhF`F(ww1y;4*~77Uk#%gj>{nC0(^{!s{%EbBAEN$OCG;X?@QfsQf$k zd?`F^*?&$!iCy*&Jx6hj2=Y$~2&57l`9}klKQ=z0SNZqzJ`5Q~dHK*qj_Fv=e{bJK zmDkAC-Ba)vy&WO>XU6@HV?x*;1A~I4-E#jy?i%v1<}X|#?T9(29?IAK8PvNr?{CbnuTH7{0Pdqrz4ILmCEsA5X8$RAF zd22Wy!53|o@+a>&NBk^jbKTmI83gH|$Rt`EiHB8KL$EOZ)jFbTybX^NK1Z@6~rq*SdB#`BM*OnC&CZCVyTr>won+ zW5NFv{s{(ij&)jn#&L9g^O>gGiLL|P26P*6avN~w7-UyIfs^jVDi^|;^9PUv;mr9P TDhI_`^JgHx{^%O8R|CHRXXV|Z literal 0 HcmV?d00001 diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro new file mode 100644 index 0000000..5310624 --- /dev/null +++ b/src/layouts/Layout.astro @@ -0,0 +1,35 @@ +--- +import "../styles/main.css"; +import appleTouchIcon from "../images/apple-touch-icon.png"; +import favicon16 from "../images/favicon-16x16.png"; +import favicon32 from "../images/favicon-32x32.png"; + +let { title, desc } = Astro.props; +if (!title || title == "") title = "drewmca.dev"; +--- + + + + {title} + + + { desc ? : "" } + + + + + + + + + + + diff --git a/src/pages/index.astro b/src/pages/index.astro index da1fd41..43badaa 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -1,33 +1,11 @@ --- import App from "../components/App.astro"; -import "../styles/main.css"; +import Layout from "../layouts/Layout.astro"; --- - - - drew mca | drewmca.dev - - - - - - - - - - - - - - + + + diff --git a/src/pages/projects.astro b/src/pages/projects.astro new file mode 100644 index 0000000..f815af8 --- /dev/null +++ b/src/pages/projects.astro @@ -0,0 +1,22 @@ +--- +import Layout from "../layouts/Layout.astro"; +import "../styles/projects.css"; + +import { projects } from "../data/projects.json"; +--- + + +
drewmca.dev / projects
+ +
diff --git a/src/styles/projects.css b/src/styles/projects.css new file mode 100644 index 0000000..0cb833c --- /dev/null +++ b/src/styles/projects.css @@ -0,0 +1,27 @@ +ul.projects { + padding: 0 7.5vw; +} + +.projects .year { + font-style: italic; +} + +.projects li { + list-style: none; + margin-bottom: 1em; +} + +.projects li a { + text-decoration: none; +} + +.projects li p { + margin: 0; + margin-left: 1em; + margin-bottom: 1em; +} + +.projects li p:first-child { + text-decoration: underline; + margin: 0; +} \ No newline at end of file From 548d6130c4270c559c00da46eb15ca85af444912 Mon Sep 17 00:00:00 2001 From: drewmcarthur Date: Fri, 2 Feb 2024 22:33:11 -0700 Subject: [PATCH 02/17] update projects and css --- src/data/projects.json | 10 ++++++++++ src/styles/projects.css | 3 +++ 2 files changed, 13 insertions(+) diff --git a/src/data/projects.json b/src/data/projects.json index 5b2a3f1..21e1612 100644 --- a/src/data/projects.json +++ b/src/data/projects.json @@ -5,11 +5,21 @@ "title": "allielind.com", "desc": "a website for my partner, who happens to be an incredible aerialist!" }, + { + "link": "//qrstats.drewmca.dev", + "title": "qrstats", + "desc": "an extremely simple webapp to track link redirects. I mostly wanted to mess around with writing rust code deployed to cloudflare's serverless workers." + }, { "link": "/papers/inflationary-equity.pdf", "title": "Inflationary Equity", "desc": "a paper I wrote on the potential ramifications of lifting the cap in company stock, and automatically allocating it to employees." }, + { + "link": "https://www.cms.gov/priorities/key-initiatives/hospital-price-transparency", + "title": "Price Transparency", + "desc": "a set of infrastructure that scrapes the machine readable files that were mandated by legislation as of Summer 2022" + }, { "link": "//github.com/drewmcarthur/msgpack-bal", "title": "msgpack-bal", diff --git a/src/styles/projects.css b/src/styles/projects.css index 0cb833c..7823e23 100644 --- a/src/styles/projects.css +++ b/src/styles/projects.css @@ -1,5 +1,6 @@ ul.projects { padding: 0 7.5vw; + overflow-y: auto; } .projects .year { @@ -9,6 +10,8 @@ ul.projects { .projects li { list-style: none; margin-bottom: 1em; + padding: 0.5em; + border-bottom: 1px solid var(--color4); } .projects li a { From 3ab2a26288bc40f35d44407d9f3dd70414486f9d Mon Sep 17 00:00:00 2001 From: drewmcarthur Date: Fri, 2 Feb 2024 22:39:41 -0700 Subject: [PATCH 03/17] reuse scrollable class --- src/pages/projects.astro | 2 +- src/styles/main.css | 6 +++++- src/styles/projects.css | 1 - 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/pages/projects.astro b/src/pages/projects.astro index f815af8..d08b167 100644 --- a/src/pages/projects.astro +++ b/src/pages/projects.astro @@ -7,7 +7,7 @@ import { projects } from "../data/projects.json";
drewmca.dev / projects
-