From 62d33d702ca7fe71ed9b3007f9fd0b69ffb43e70 Mon Sep 17 00:00:00 2001 From: Troy Date: Mon, 13 Jan 2025 18:06:01 +0000 Subject: [PATCH] add packard project article (#25) --- src/content/projects/packard/index.mdx | 19 +++++++++++++++++++ src/content/projects/packard/packard.avif | Bin 0 -> 11081 bytes 2 files changed, 19 insertions(+) create mode 100644 src/content/projects/packard/index.mdx create mode 100644 src/content/projects/packard/packard.avif diff --git a/src/content/projects/packard/index.mdx b/src/content/projects/packard/index.mdx new file mode 100644 index 0000000..9c6153b --- /dev/null +++ b/src/content/projects/packard/index.mdx @@ -0,0 +1,19 @@ +--- +title: "Packard" +description: "A simple RSS aggregator meant to allow you to take a quick glance at what's occurring in topics you care about." +date: 2025-01-12 +updated: 2025-01-12 +image: + { + url: "packard.avif", + alt: "Packard GitHub repository page", + } +tags: ["rust", "rss aggregator"] +categories: ["personal"] +--- + +Packard is a simple RSS aggregator meant to allow you to take a quick glance at what's occurring in topics you care about. It is my first attempt at making something with Rust that I would personally find useful. + +### External links + +https://github.com/troylusty/packard diff --git a/src/content/projects/packard/packard.avif b/src/content/projects/packard/packard.avif new file mode 100644 index 0000000000000000000000000000000000000000..ff2bf47f264ddf7ab87f7af5bc5941a392dc674b GIT binary patch literal 11081 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

~iKTK%>|V+xk;hrNv&nG&ZDJh4 z^LPiq$RcTpV3xvMW)icYLe@*2(Gy}Ix(25-{MSRYdApdy3p?uPbwM1^G6lP5qNC;C1 zoT}bSM(J58WGc?`Gw~`dVc#X}gT1}~kU1)dBNkg@bxaUULU!Yb1*+6s{Y74~2a?pE ztdKv_s!VGh4osuzUq*^YfciXfC#gbzarZ7Tbv{WaGsJZ(L#?MbwUZg{h2dalGOD2nQWnp4Jpf!U+Fh2-h_*g?(EXta>9XN~?4$JaY z%3~KiC;0KkLd__Fw{)L)VAl7|B?MKsZ20k^xLmjZT z2w!fNwD=$4iuDEQIOpICdCn0U!WA0M*eKbu1c=R@B+sPNm=&UzHKV-^1@g4!M>eN= zH#?%l>R&{;hP8b4OQ%#7!McVjQ z#;qb#q0d>H=Q4kkmB^ST!u43I=RdI|$Gc7sfR)hZW|62T)T*o9H!r?`T0fkO1GP-Y zui=9Bf;le;u*ed!I12LIMU{0>v9@6b@xTAraS$j`b~+Y9qMGx{!rqXYd3+pE*OMBw zcv#=T`2ce^V>FCD!T!ge5|IiWxu+?BtSFhfyK)ze9CV9F_4pC@Gs32kl)Sd(1=8ar z4l14Imi4-g5^*9f%SqUxTyx-TPleMmCE)ZZNxU&uG#VkyTN-&lb4B@HKrd7kl6TYs z0Y1^t>K6AytbX~oi#Tf6bpymOJ_$=aOJP}CtI^pHMtVqqlV0W!(g+JL54IB^mce`r3bmv2+KBKL7s=F{fL zf>VXxN@_vJlG%g^#@(RhDcSi&esMb9ckITD3fN6d=|kLDBY`{3$Av#dWJHMl9(iX~ zqh$BWwYh3+tX}s&(&*gJVkmfX?QicTiNhG6(Iji|$6Nw#%NJ#rOs?oJ%IGCLK9j=0 z_a@DHazIq7eUwzDpp*0ko`%h{A6XoiWf}1feN*JP3RWFoYX&jDBYauc?LjYFX6Kf} z5c&G%67%$#WJEMFJOGloA6@DwB>Obo(Wsc}XFCz>+i!L=>P=2*q!{^Y)pK$@gASO0 z@*z~;O8%B4k73%iG72e*Eo^a<&L-yGfX{*33n}4ZxpH(~r8#k5Upa!daq;YYJ{Ga9 zl`ejYLXy@nUM|*SHyMjJpm_ZFMw=KgYXTHj`+%*19*DafkqouN!xz>IPlDY%j8sjA z?04Q!K-ojZrccfVzX-Kx06~J+G`LA)(*9jY{EvKu23Mi46|}OR|40#r zK;`@FPptAGOQ$&8R6OBkmWk+V_g6^gCM-H&iSG7L%-1&Cp2Ylb8@OJ4P_e`NgaaW+ z?O}F|VcBx3H{H!hh^yITPrazMZWEH&l8NC+;Qtc{^)byX9l4Ew>{bD9ovKs)L`P*&8M zboJYN^3fQ2&}2DmoPck=pCav`xQCS&hR&b~S&cTb~Fe6sl?AeO%J{}GC zSI+5W{tER3vBIi5%z@bYmvt4UKpj>>1$AuoOJ&do2w33PKj{$3z6@K`>@d4%V$^T> z1(?6*JwOJ(yvKsv=RH_r`WW?{+?iZ>N}4E!vJ&!sglRhv4*5kDVrer^1rw;j-&`p( zJ^n7?uRqf_w;sYjOU9^8yzie3vqBl(|k20M1kY^AQSDi zL%`5RQ(RBiKPLDZ61(_P+gcdupVhZ_>eXNRRuVbi+raB|yGUw52x=&Edxz|kt&

    coH{6}seH-E{ zSY+&NqHCwO5!$HOilNyn;66edbA7JAhA*Z~ z57&S;q|y`LkwP=jJl5VunvkS0_bgNq{z2wF# z41|m2zSU=su}hMvOw+sz_YQ7*d!@jM$Ws1E$#{yMB~C}Z7wU`zrBQ4nU1 zwTN@!OPU&heTg*h21BHU zu?NY`*v)Y43hMz@p$~@5&|RNNdKYqF>6cKb=AgxUOQx>iL8Y{2`iw${Kq`=RH%vJ@ zMI+9r*BVFIbXg{Od9xzP@-P3p9x*(!i0Te$6xrdNBZHFAaKl+p28qz;;W&ZW81ehp up@0wGUgsfSoYM7-#?oqg?^;Lr$o>zI2N&f4 literal 0 HcmV?d00001