personal website

update vite-plugin-svelte, init astro + htmx blog

+26 -7
bun.lockb

This is a binary file and will not be displayed.

+5 -4
package.json
··· 14 14 "@astrojs/mdx": "^3.1.5", 15 15 "@astrojs/svelte": "^5.7.0", 16 16 "@astrojs/tailwind": "^5.1.0", 17 - "astro": "^4.14.6", 18 - "svelte": "^5.0.0-next.241", 17 + "@sveltejs/vite-plugin-svelte": "^4.0.0-next.6", 18 + "astro": "^4.15.4", 19 + "svelte": "^5.0.0-next.244", 19 20 "tailwindcss": "^3.4.10", 20 - "typescript": "^5.5.4" 21 + "typescript": "^5.6.2" 21 22 }, 22 23 "devDependencies": { 23 24 "@tailwindcss/typography": "^0.5.15" 24 25 } 25 - } 26 + }
+1
public/src/env.d.ts
··· 1 + /// <reference path="../.astro/types.d.ts" />
+17
src/content/blog/astro-htmx.md
··· 1 + --- 2 + title: "Astro and HTMX: An Interesting Stack" 3 + description: Strap a horse on a rocket and use Astro Partials to stream UI components via HTMX. 4 + date: "2024-09-10" 5 + draft: true 6 + link: https://github.com/zeucapua/ 7 + --- 8 + 9 + ### What is HTMX? 10 + 11 + ### Astro Partials 12 + 13 + ### Using HTMX Attributes 14 + 15 + ### Forms and Values via Astro Partials 16 + 17 + ### Streaming in Client Components as Astro Islands
+1 -1
src/content/blog/basics-node-app.md
··· 267 267 // index.tsx 268 268 // --------------------------------------- 269 269 270 - /* 🪂 Import pacakages (installed via npm/pnpm) */ 270 + /* 🪂 Import packages (installed via npm/pnpm) */ 271 271 // ... 272 272 273 273 // Database Driver
+2 -2
src/pages/blog/[...slug].astro
··· 1 1 --- 2 2 import type { GetStaticPaths } from "astro"; 3 - import { CollectionEntry, getCollection } from "astro:content"; 3 + import { type CollectionEntry, getCollection } from "astro:content"; 4 4 import SiteLayout from "../../components/SiteLayout.astro"; 5 5 6 6 export interface Props { ··· 9 9 10 10 export const getStaticPaths = (async () => { 11 11 const blogs = await getCollection("blog"); 12 - return blogs.map((blog) => { 12 + return blogs.map((blog: CollectionEntry<"blog">) => { 13 13 return { 14 14 params: { slug: blog.slug }, 15 15 props: { blog }