From 2f82559b95700a4256a200fd76ab2ef3266da3b1 Mon Sep 17 00:00:00 2001 From: Chris Chinchilla Date: Fri, 6 Dec 2024 12:41:46 +0100 Subject: [PATCH] Fix todos and update to V5 --- astro.config.mjs | 16 ++++----- src/content/config.ts => content.config.ts | 26 +++++++++----- package.json | 14 ++++---- src/components/Book.astro | 11 ------ src/components/Course.astro | 3 -- src/components/Event.astro | 1 - src/components/Game.astro | 15 -------- src/components/Post.astro | 4 +-- src/components/blog/GridItem.astro | 31 +++++++--------- src/components/blog/LatestPosts.astro | 14 ++------ src/components/widgets/Announcement.astro | 7 ++-- src/components/widgets/Footer.astro | 3 +- src/config.mjs | 20 +++-------- .../events/2012-07-09-jquery-mobile.md | 2 +- ...-with-phonegap-and-titanium-accelerator.md | 2 +- .../events/2012-07-24-blogging-with-drupal.md | 2 +- .../2012-08-08-civicrm-and-wordpress.md | 2 +- ...12-09-04-cosmic-horror-and-hp-lovecraft.md | 2 +- ...05-hp-lovecraft-father-of-gothic-horror.md | 2 +- src/content/events/2012-10-27-drupal.md | 2 +- .../2012-10-29-customising-civicrm-md.md | 2 +- ...-your-image-of-the-world-could-be-wrong.md | 2 +- ...7-tweak-test-and-debug-your-mobile-apps.md | 2 +- ...-power-your-mobile-presence-with-drupal.md | 2 +- ...3-07-17-removing-barriers-in-engagement.md | 2 +- ...oupling-demystifying-and-decomplicating.md | 2 +- ...-19-why-you-should-come-to-drupal-south.md | 2 +- .../2014-02-14-jms-cms-untangle-the-mess.md | 2 +- ...14-02-20-cosmic-horror-and-hp-lovecraft.md | 2 +- ...t-does-always-listening-mean-to-your-ux.md | 2 +- .../events/2015-04-13-crate-and-docker.md | 2 +- .../events/2015-04-23-scalable-databases.md | 2 +- ...ale-your-database-like-your-application.md | 2 +- src/content/events/2015-05-14-oscal.md | 2 +- .../events/2015-05-21-idc-data-hub-vienna.md | 2 +- ...et-of-things-with-distributed-databases.md | 2 +- ...ses-for-distributed-docker-applications.md | 2 +- ...ses-for-distributed-docker-applications.md | 2 +- .../events/2015-06-21-advocate-bits.md | 2 +- .../events/2015-06-21-printing-the-web.md | 2 +- ...-08-orchestrating-databases-with-docker.md | 2 +- ...ale-your-database-like-your-application.md | 2 +- ...your-story-crafting-a-good-presentation.md | 2 +- ...tabases-for-distributed-applications-md.md | 2 +- .../events/2015-09-24-developer-health.md | 2 +- ...ging-distributed-data-with-apache-mesos.md | 2 +- ...g-100s-of-million-of-events-in-realtime.md | 2 +- ...10-01-introducing-distributed-databases.md | 2 +- ...10-03-introducing-distributed-databases.md | 2 +- .../events/2015-10-05-dublin-sql-md.md | 2 +- ...-05-understanding-distributed-databases.md | 2 +- ...-07-understanding-distributed.databases.md | 2 +- src/content/events/2015-12-08-upfront-dec.md | 2 +- src/content/events/2016-01-07-rub-jan.md | 2 +- src/content/events/2016-01-19-art-games.md | 2 +- src/content/events/2016-01-30-fosdem.md | 2 +- .../events/2016-02-10-talk-and-play.md | 2 +- ...6-02-20-poor-and-literate-short-stories.md | 2 +- .../events/2016-02-29-voxxed-vienna.md | 2 +- ...17-the-past-present-and-future-of-swift.md | 2 +- ...21-back-to-the-future-with-static-sites.md | 2 +- .../events/2016-05-05-better-documentation.md | 2 +- .../events/2016-05-15-latex-css-for-print.md | 2 +- .../events/2016-06-28-chip-shop-case-study.md | 2 +- ...06-29-cross-platform-apps-with-electron.md | 2 +- ...-07-08-android-programming-without-java.md | 2 +- .../2016-09-12-the-future-of-cardboard.md | 2 +- ...e-learning-from-other-technical-writers.md | 2 +- ...ourite-new-language-the-future-of-swift.md | 2 +- ...cumentation-crash-course-for-developers.md | 2 +- src/content/events/2016-10-13-spiel-16.md | 2 +- .../2016-10-21-software-freedom-kosovo.md | 2 +- src/content/events/2016-11-07-web-summit.md | 2 +- .../events/2016-12-05-agile-the-docs.md | 2 +- .../events/2017-02-05-automating-docs.md | 2 +- ...ctron-solving-our-cross-platform-dreams.md | 2 +- ...cumentation-crash-course-for-developers.md | 2 +- src/content/events/2017-03-21-cebit.md | 2 +- ...3-30-a-hackers-guide-to-the-atom-editor.md | 2 +- .../2017-04-25-the-future-of-cardboard.md | 2 +- src/content/events/2017-05-06-sex-tech.md | 2 +- ...cumentation-crash-course-for-developers.md | 2 +- src/content/events/2017-05-18-the-next-web.md | 2 +- .../2017-06-01-pioneers-festival2017.md | 2 +- .../events/2017-06-22-devoxx-poland.md | 2 +- ...17-06-27-developer-week-community-night.md | 2 +- .../events/2017-06-28-developer-week-2017.md | 2 +- src/content/events/2017-09-01-ifa-berlin.md | 2 +- .../events/2017-09-05-berlin-podcasters.md | 2 +- .../events/2017-09-08-startup-night.md | 2 +- .../2017-09-10-write-the-docs-eu-2017.md | 2 +- ...017-09-19-ixds-ifa-pre-work-talk-berlin.md | 2 +- ...017-09-21-ixds-ifa-pre-work-talk-munich.md | 2 +- src/content/events/2017-09-29-it-arena.md | 2 +- .../events/2017-10-19-voxxed-belgrade-2017.md | 2 +- src/content/events/2017-10-21-changecon.md | 2 +- .../2017-11-24-write-the-docs-australia.md | 2 +- .../events/2017-12-04-finovate-dubai.md | 2 +- src/content/events/2017-12-27-ccc-leipzig.md | 2 +- ...01-24-literally-speaking-dead-of-winter.md | 2 +- .../events/2018-01-30-api-days-paris.md | 2 +- src/content/events/2018-02-03-fosdem-2018.md | 2 +- .../2018-02-19-write-the-docs-amsterdam.md | 2 +- .../events/2018-02-24-world-ia-day-berlin.md | 2 +- .../2018-02-26-mobile-world-congress-2018.md | 2 +- .../events/2018-03-09-sxsw-interactive.md | 2 +- .../events/2018-05-02-collision-conf.md | 2 +- .../2018-05-06-write-the-docs-us-2018.md | 2 +- ...2018-05-14-preventing-the-techpocalypse.md | 2 +- ...8-05-19-documenting-projects-with-docfx.md | 2 +- ...rence-between-eventstore-and-blockchain.md | 2 +- ...18-05-23-conversational-uis-for-writers.md | 2 +- ...18-05-31-conversational-uis-for-writers.md | 2 +- src/content/events/2018-06-02-ukge-18.md | 2 +- ...building-a-career-as-a-freelance-writer.md | 2 +- src/content/events/2018-06-08-login.md | 2 +- .../events/2018-06-14-foss-backstage.md | 2 +- src/content/events/2018-06-19-toa-18.md | 2 +- ...8-06-25-documenting-projects-with-docfx.md | 2 +- src/content/events/2018-07-19-dappcon.md | 2 +- ...18-07-23-blockchain-visionnaires-summit.md | 2 +- ...building-a-career-as-a-freelance-writer.md | 2 +- src/content/events/2018-08-20-afrolynk.md | 2 +- src/content/events/2018-08-31-ifa-berlin.md | 2 +- src/content/events/2018-09-06-dezentral.md | 2 +- .../2018-09-08-write-the-docs-eu-2018.md | 2 +- .../events/2018-09-27-5g-techritory.md | 2 +- .../events/2018-09-28-it-arena-2018.md | 2 +- .../2018-10-02-pitching-to-the-press.md | 2 +- ...2018-10-03-explaining-the-unexplainable.md | 2 +- .../events/2018-10-25-sustain-summit.md | 2 +- .../2018-11-01-malta-blockchain-summit.md | 2 +- src/content/events/2018-11-05-web-summit.md | 2 +- .../events/2018-11-09-api-the-docs-london.md | 2 +- .../2018-11-13-openstack-summit-berlin.md | 2 +- .../events/2018-11-19-revision-berlin.md | 2 +- .../events/2018-11-20-codemotion-berlin.md | 2 +- src/content/events/2019-02-01-dddeurope.md | 2 +- src/content/events/2019-02-02-fosdem-2019.md | 2 +- src/content/events/2019-02-14-ethdenver.md | 2 +- ...2\200\223-state-of-blockchain-adoption.md" | 2 +- .../events/2019-05-06-crypto-oracle.md | 2 +- src/content/events/2019-05-06-latitude59.md | 2 +- src/content/events/2019-05-20-kubecon-eu.md | 2 +- .../events/2019-05-22-explain-yourself.md | 2 +- src/content/events/2019-06-04-emerge.md | 2 +- .../events/2019-06-05-ai-friend-or-foe.md | 2 +- ...1-the-data-science-developer-experience.md | 2 +- ...in-tech-a-practical-discussion-about-ai.md | 2 +- src/content/events/2019-08-23-ethberlin.md | 2 +- src/content/events/2019-09-06-startupnight.md | 2 +- .../2019-09-14-write-the-docs-prague-2019.md | 2 +- src/content/events/2019-09-26-heapcon.md | 2 +- src/content/events/2019-10-08-devcon.md | 2 +- src/content/events/2019-10-19-diffusion.md | 2 +- src/content/events/2019-10-22-apachecon.md | 2 +- .../2019-11-05-oreilly-velocity-conference.md | 2 +- .../2019-11-12-tcworld-conference-2019.md | 2 +- .../events/2019-11-25-data-natives-2019.md | 2 +- .../events/2019-11-27-5g-techritory.md | 2 +- .../events/2019-12-10-devrelcon-2019.md | 2 +- .../events/2020-01-30-sustain-summit.md | 2 +- src/content/events/2020-02-01-fosdem-2020.md | 2 +- .../events/2020-02-22-world-ia-day-2020.md | 2 +- src/content/events/2020-02-27-megacomm.md | 2 +- .../events/2020-03-06-foss-backstage.md | 2 +- .../events/2020-05-27-jamstack-london.md | 2 +- .../events/2020-08-13-kubecon-eu-2020.md | 2 +- .../2020-10-18-write-the-docs-eu-2020.md | 2 +- .../events/2020-12-04-write-the-docs-au.md | 2 +- .../2020-12-09-automate-api-perfection.md | 2 +- src/content/events/2021-02-20-arizona-stc.md | 2 +- src/content/events/2021-02-27-fosdem-2021.md | 2 +- .../events/2021-03-09-last-clubhouse.md | 2 +- .../events/2021-10-17-all-things-open.md | 2 +- .../events/2022-05-18-kubecon-eu-2022.md | 2 +- src/content/events/2022-06-01-soapconf.md | 2 +- .../events/2022-06-07-open-infra-summit.md | 2 +- src/content/events/2022-06-18-oscal.md | 2 +- src/content/events/2022-06-27-monitorama.md | 2 +- .../events/2022-09-30-it-arena-2022.md | 2 +- src/content/events/2022-11-03-heapcon-2022.md | 2 +- src/content/events/2022-11-08-tcworld.md | 2 +- .../events/2022-11-09-build-stuff-2022.md | 2 +- src/content/events/2023-02-07-soocon-2023.md | 2 +- .../events/2023-07-26-wearedevelopers-2023.md | 2 +- src/content/events/2023-08-01-ifa-2023.md | 2 +- .../events/2023-09-28-it-arena-2023.md | 2 +- src/content/events/2023-11-13-slush-2023.md | 2 +- .../events/2023-11-13-web-summit-2023.md | 2 +- src/content/events/2024-02-03-fosdem-2024.md | 2 +- src/content/events/2024-02-06-soocon-2024.md | 2 +- .../events/2024-03-04-foss-backstage.md | 2 +- src/content/events/2024-04-03-ai-the-docs.md | 2 +- .../events/2024-04-16-everything-open.md | 2 +- .../events/2024-05-22-latitude-59-2024.md | 2 +- src/content/events/2024-05-republica-2024.md | 2 +- src/content/events/2024-06-04-toa-2024.md | 2 +- .../events/2024-06-24-tekom-ireland.md | 2 +- .../2024-07-17-we-are-developers-2024.md | 2 +- src/content/events/2024-09-06-ifa-2024.md | 2 +- .../events/2024-09-11-civo-navigate.md | 2 +- src/content/events/2024-09-11-euruko-24.md | 2 +- src/content/events/2024-09-15-shift-24.md | 2 +- .../events/2024-11-11-web-summit-2024.md | 2 +- .../events/2024-11-21-suaw-symposium.md | 2 +- .../events/2024-12-03-apidays-paris.md | 2 +- src/data/contact.json | 36 +++++++++++++------ .../blog/{[...slug].astro => [...id].astro} | 2 +- src/pages/blog/tag/[...tag].astro | 2 ++ src/pages/index.astro | 8 ++--- .../{[...slug].astro => [...id].astro} | 0 .../{[...slug].astro => [...id].astro} | 0 .../{[...slug].astro => [...id].astro} | 0 src/pages/rss.xml.ts | 2 +- src/utils/blog.ts | 6 ++-- src/utils/permalinks.ts | 2 +- 217 files changed, 289 insertions(+), 322 deletions(-) rename src/content/config.ts => content.config.ts (75%) rename src/pages/blog/{[...slug].astro => [...id].astro} (94%) rename src/pages/podcast/{[...slug].astro => [...id].astro} (100%) rename src/pages/podcast/techlounge/{[...slug].astro => [...id].astro} (100%) rename src/pages/podcast/whiskywordswit/{[...slug].astro => [...id].astro} (100%) diff --git a/astro.config.mjs b/astro.config.mjs index 6bc8c0f9..27c72312 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -22,14 +22,14 @@ export default defineConfig({ icon({ // TODO: Streamline to only include needed include: { - tabler: ['*'], - 'simple-line-icons': ['*'], - fa: ['*'], - carbon: ['*'], - fluent: ['*'], - ri: ['*'], - ph: ['*'], - 'simple-icons': ['*'] + tabler: ['brand-youtube', 'brand-medium', 'brand-patreon', 'brand-github', 'brand-linkedin', 'mail', 'brand-bluesky', 'brand-tiktok', 'brand-twitter', 'brand-threads', 'brand-mastodon','menu','chevron-down','rss','brand-discord','download','brand-facebook'], + 'simple-line-icons': ['social-spotify'], + fa: ['podcast'], + carbon: ['calendar-heat-map'], + fluent: ['people-audience-20-filled'], + ri: ['money-euro-circle-fill'], + ph: ['pencil-circle-bold'], + 'simple-icons': ['applepodcasts', 'amazonmusic','pocketcasts'] } }), tailwind({ diff --git a/src/content/config.ts b/content.config.ts similarity index 75% rename from src/content/config.ts rename to content.config.ts index ccea252e..f1bcd4bf 100644 --- a/src/content/config.ts +++ b/content.config.ts @@ -1,12 +1,14 @@ import { z, defineCollection } from 'astro:content'; +import { glob } from 'astro/loaders'; +import defaultBlogImage from '~/src/assets/images/defaults/blog-chinchilla.jpg' const posts = defineCollection({ - type: 'content', // v2.5.0 and later + // type: 'content', // v2.5.0 and later + loader: glob({ pattern: '**/[^_]*.md', base: "./src/content/posts" }), schema: ({ image }) => z.object({ title: z.string(), // description: z.string().optional(), - // TODO: Rollout - image: image().optional().default('../../../assets/images/defaults/blog-chinchilla.jpg'), + image: image().optional().default(defaultBlogImage), publication_url: z.string().url().optional(), // canonical: z.string().url().optional(), @@ -22,7 +24,8 @@ const posts = defineCollection({ }); const games = defineCollection({ - type: 'content', // v2.5.0 and later + // type: 'content', // v2.5.0 and later + loader: glob({ pattern: '**/[^_]*.md', base: "./src/content/games" }), schema: ({ image }) => z.object({ title: z.string(), image: z.union([z.string().url(), image()]), @@ -34,7 +37,8 @@ const games = defineCollection({ }); const events = defineCollection({ - type: 'content', // v2.5.0 and later + // type: 'content', // v2.5.0 and later + loader: glob({ pattern: '**/[^_]*.md', base: "./src/content/events" }), schema: ({ image }) => z.object({ title: z.string().optional(), action: z.string().optional(), @@ -48,7 +52,8 @@ const events = defineCollection({ }); const clients = defineCollection({ - type: 'content', // v2.5.0 and later + // type: 'content', // v2.5.0 and later + loader: glob({ pattern: '**/[^_]*.md', base: "./src/content/clients" }), schema: ({ image }) => z.object({ type: z.string(), title: z.string(), @@ -70,7 +75,8 @@ const clients = defineCollection({ }); const books = defineCollection({ - type: 'content', // v2.5.0 and later + // type: 'content', // v2.5.0 and later + loader: glob({ pattern: '**/[^_]*.md', base: "./src/content/books" }), schema: ({ image }) => z.object({ title: z.string(), // description: z.string(), @@ -84,7 +90,8 @@ const books = defineCollection({ }); const av = defineCollection({ - type: 'content', // v2.5.0 and later + // type: 'content', // v2.5.0 and later + loader: glob({ pattern: '**/[^_]*.md', base: "./src/content/av" }), schema: ({ image }) => z.object({ title: z.string(), // description: z.string(), @@ -97,7 +104,8 @@ const av = defineCollection({ }); const podcasts = defineCollection({ - type: 'content', // v2.5.0 and later + // type: 'content', // v2.5.0 and later + loader: glob({ pattern: '**/[^_]*.md', base: "./src/content/podcasts" }), schema: z.object({ title: z.string().optional( ), description: z.string().optional(), diff --git a/package.json b/package.json index 32101aac..2efe7129 100644 --- a/package.json +++ b/package.json @@ -28,10 +28,10 @@ }, "devDependencies": { "@astro-community/astro-embed-youtube": "^0.5.6", + "@astrojs/markdown-component": "1.0.5", "@astrojs/mdx": "^4.0.1", "@astrojs/partytown": "^2.1.2", "@astrojs/rss": "^4.0.10", - "@astrojs/markdown-component": "1.0.5", "@astrojs/sitemap": "^3.2.1", "@astrojs/tailwind": "^5.1.3", "@astrolib/analytics": "^0.6.1", @@ -41,16 +41,16 @@ "@iconify-json/carbon": "^1.2.4", "@iconify-json/fa": "^1.2.0", "@iconify-json/fluent": "^1.2.8", - "@iconify-json/simple-line-icons": "^1.2.0", "@iconify-json/ph": "^1.2.1", "@iconify-json/ri": "^1.2.3", "@iconify-json/simple-icons": "^1.2.14", + "@iconify-json/simple-line-icons": "^1.2.0", "@iconify-json/tabler": "^1.2.10", "@tailwindcss/typography": "^0.5.15", - "@typescript-eslint/eslint-plugin": "^8.14.0", - "@typescript-eslint/parser": "^8.14.0", + "@typescript-eslint/eslint-plugin": "^8.17.0", + "@typescript-eslint/parser": "^8.17.0", "accessible-astro-components": "^2.4.0", - "astro": "^4.16.13", + "astro": "^5.0.3", "astro-icon": "^1.1.4", "eslint": "^9.16.0", "eslint-plugin-astro": "^1.3.1", @@ -60,8 +60,8 @@ "prettier-plugin-astro": "^0.14.1", "reading-time": "^1.5.0", "svgo": "^3.3.2", - "tailwindcss": "^3.4.15", + "tailwindcss": "^3.4.16", "truncate-html": "^1.1.2", - "typescript": "^5.6.3" + "typescript": "^5.7.2" } } diff --git a/src/components/Book.astro b/src/components/Book.astro index 31696d27..d02bf4ee 100644 --- a/src/components/Book.astro +++ b/src/components/Book.astro @@ -64,17 +64,6 @@ var idOfTitle = slugify(book.data.title);