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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 bPyXH#PyJRo&7Kh6KWC?IJp66vX$u7akOvp# literal 0 HcmV?d00001