From 78192efb7265bac5cab69fb045607ef4f7f4b7c7 Mon Sep 17 00:00:00 2001 From: Nathaniel Blackburn Date: Sun, 13 Nov 2022 18:46:35 +0000 Subject: [PATCH 1/5] feat: add base URL to config --- src/config.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/config.ts b/src/config.ts index 4674d09..d1a9f6c 100644 --- a/src/config.ts +++ b/src/config.ts @@ -13,12 +13,15 @@ type PaginationConfig = { }; interface Config { + url: string; seo: SEOConfig; palette: PaletteConfig; pagination: PaginationConfig; } const config: Config = { + url: 'https://nblackburn.uk', + seo: { ref: 'nblackburn.uk' }, From 79bf4b0bef10b6bb29c628a8c3c2321311d8a581 Mon Sep 17 00:00:00 2001 From: Nathaniel Blackburn Date: Sun, 13 Nov 2022 18:47:11 +0000 Subject: [PATCH 2/5] chore: setup astro rss --- package.json | 1 + yarn.lock | 28 ++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/package.json b/package.json index dcdefc6..ea84c67 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ }, "dependencies": { "@astrojs/image": "^0.11.4", + "@astrojs/rss": "^1.0.3", "@astrojs/sitemap": "^1.0.0", "@astrojs/vue": "^1.2.1", "@fontsource/nunito-sans": "^4.5.10", diff --git a/yarn.lock b/yarn.lock index 124d445..5205d1b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -130,6 +130,15 @@ __metadata: languageName: node linkType: hard +"@astrojs/rss@npm:^1.0.3": + version: 1.0.3 + resolution: "@astrojs/rss@npm:1.0.3" + dependencies: + fast-xml-parser: ^4.0.8 + checksum: ca1ffd98def1ef74d63fc383b999a29a9b00caa22d3be007e0bf707e917d77151458073e3f59c472a1809471a86c63c3eda62a001a02e703b8ed46379a66f735 + languageName: node + linkType: hard + "@astrojs/sitemap@npm:^1.0.0": version: 1.0.0 resolution: "@astrojs/sitemap@npm:1.0.0" @@ -880,6 +889,7 @@ __metadata: resolution: "@nblackburn/website@workspace:." dependencies: "@astrojs/image": ^0.11.4 + "@astrojs/rss": ^1.0.3 "@astrojs/sitemap": ^1.0.0 "@astrojs/vue": ^1.2.1 "@commitlint/cli": ^17.2.0 @@ -3325,6 +3335,17 @@ __metadata: languageName: node linkType: hard +"fast-xml-parser@npm:^4.0.8": + version: 4.0.11 + resolution: "fast-xml-parser@npm:4.0.11" + dependencies: + strnum: ^1.0.5 + bin: + fxparser: src/cli/cli.js + checksum: d8a08e4d5597e0fc00a86735195872eeb03008913e298830941516f3766e16ee555e2d431acc92e1dda887938edc445252ec5b59494aab60a8389888bd13719c + languageName: node + linkType: hard + "fastq@npm:^1.6.0": version: 1.13.0 resolution: "fastq@npm:1.13.0" @@ -6895,6 +6916,13 @@ __metadata: languageName: node linkType: hard +"strnum@npm:^1.0.5": + version: 1.0.5 + resolution: "strnum@npm:1.0.5" + checksum: 651b2031db5da1bf4a77fdd2f116a8ac8055157c5420f5569f64879133825915ad461513e7202a16d7fec63c54fd822410d0962f8ca12385c4334891b9ae6dd2 + languageName: node + linkType: hard + "style-to-object@npm:^0.3.0": version: 0.3.0 resolution: "style-to-object@npm:0.3.0" From a0092b26d77393478bdfc72ef72795b211358f1c Mon Sep 17 00:00:00 2001 From: Nathaniel Blackburn Date: Sun, 13 Nov 2022 18:47:38 +0000 Subject: [PATCH 3/5] feat: add rss feed to projects page --- src/pages/projects/rss.xml.ts | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/pages/projects/rss.xml.ts diff --git a/src/pages/projects/rss.xml.ts b/src/pages/projects/rss.xml.ts new file mode 100644 index 0000000..6f42de2 --- /dev/null +++ b/src/pages/projects/rss.xml.ts @@ -0,0 +1,31 @@ +import rss from '@astrojs/rss'; +import config from '@app/config'; +import { parseISO } from 'date-fns'; +import { Project } from '@config/project'; +import type { MarkdownInstance } from 'astro'; + +const importedProjects = import.meta.glob>('./*.md', { + eager: true +}); + +export const get = () => { + const projectsURL = `${config.url}/projects`; + const projects = Object.values(importedProjects); + + return rss({ + title: 'Projects', + site: projectsURL, + description: 'Some of the things i have worked on', + items: projects.map((project) => { + const frontmatter = project.frontmatter; + const publishedDate = parseISO(frontmatter.publishedDate); + + return { + link: frontmatter.url, + pubDate: publishedDate, + title: frontmatter.title, + description: frontmatter.description + }; + }) + }); +}; From 838d905b14e40761fbc6e0caf42121e4ada2491f Mon Sep 17 00:00:00 2001 From: Nathaniel Blackburn Date: Tue, 15 Nov 2022 21:56:16 +0000 Subject: [PATCH 4/5] refactor: move project type to config --- src/components/projectCard.vue | 10 +--------- src/config/project.ts | 8 ++++++++ 2 files changed, 9 insertions(+), 9 deletions(-) create mode 100644 src/config/project.ts diff --git a/src/components/projectCard.vue b/src/components/projectCard.vue index 2842ff8..d317ed6 100644 --- a/src/components/projectCard.vue +++ b/src/components/projectCard.vue @@ -32,19 +32,11 @@