diff --git a/.astro/types.d.ts b/.astro/types.d.ts index cfe92c83..09795df0 100644 --- a/.astro/types.d.ts +++ b/.astro/types.d.ts @@ -1324,6 +1324,1002 @@ declare module 'astro:content' { data: InferEntrySchema<"blog"> } & { render(): Render[".md"] }, }, +"daily-email": { +"2022-08-12.md": { + id: "2022-08-12.md", + slug: "2022-08-12", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-08-13.md": { + id: "2022-08-13.md", + slug: "2022-08-13", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-08-14.md": { + id: "2022-08-14.md", + slug: "2022-08-14", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-08-15.md": { + id: "2022-08-15.md", + slug: "2022-08-15", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-08-16.md": { + id: "2022-08-16.md", + slug: "2022-08-16", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-08-17.md": { + id: "2022-08-17.md", + slug: "2022-08-17", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-08-18.md": { + id: "2022-08-18.md", + slug: "2022-08-18", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-08-19.md": { + id: "2022-08-19.md", + slug: "2022-08-19", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-08-20.md": { + id: "2022-08-20.md", + slug: "2022-08-20", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-08-21.md": { + id: "2022-08-21.md", + slug: "2022-08-21", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-08-22.md": { + id: "2022-08-22.md", + slug: "2022-08-22", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-08-23.md": { + id: "2022-08-23.md", + slug: "2022-08-23", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-08-24.md": { + id: "2022-08-24.md", + slug: "2022-08-24", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-08-25.md": { + id: "2022-08-25.md", + slug: "2022-08-25", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-08-26.md": { + id: "2022-08-26.md", + slug: "2022-08-26", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-08-27.md": { + id: "2022-08-27.md", + slug: "2022-08-27", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-08-28.md": { + id: "2022-08-28.md", + slug: "2022-08-28", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-08-29.md": { + id: "2022-08-29.md", + slug: "2022-08-29", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-08-30.md": { + id: "2022-08-30.md", + slug: "2022-08-30", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-08-31.md": { + id: "2022-08-31.md", + slug: "2022-08-31", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-09-01.md": { + id: "2022-09-01.md", + slug: "2022-09-01", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-09-02.md": { + id: "2022-09-02.md", + slug: "2022-09-02", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-09-03.md": { + id: "2022-09-03.md", + slug: "2022-09-03", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-09-04.md": { + id: "2022-09-04.md", + slug: "2022-09-04", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-09-05.md": { + id: "2022-09-05.md", + slug: "2022-09-05", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-09-06.md": { + id: "2022-09-06.md", + slug: "2022-09-06", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-09-07.md": { + id: "2022-09-07.md", + slug: "2022-09-07", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-09-08.md": { + id: "2022-09-08.md", + slug: "2022-09-08", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-09-09.md": { + id: "2022-09-09.md", + slug: "2022-09-09", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-09-10.md": { + id: "2022-09-10.md", + slug: "2022-09-10", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-09-11.md": { + id: "2022-09-11.md", + slug: "2022-09-11", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-09-12.md": { + id: "2022-09-12.md", + slug: "2022-09-12", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-09-14.md": { + id: "2022-09-14.md", + slug: "2022-09-14", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-09-16.md": { + id: "2022-09-16.md", + slug: "2022-09-16", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-09-17.md": { + id: "2022-09-17.md", + slug: "2022-09-17", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-09-19.md": { + id: "2022-09-19.md", + slug: "2022-09-19", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-09-20.md": { + id: "2022-09-20.md", + slug: "2022-09-20", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-09-21.md": { + id: "2022-09-21.md", + slug: "2022-09-21", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-09-22.md": { + id: "2022-09-22.md", + slug: "2022-09-22", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-09-23.md": { + id: "2022-09-23.md", + slug: "2022-09-23", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-09-25.md": { + id: "2022-09-25.md", + slug: "2022-09-25", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-09-26.md": { + id: "2022-09-26.md", + slug: "2022-09-26", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-09-27.md": { + id: "2022-09-27.md", + slug: "2022-09-27", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-09-28.md": { + id: "2022-09-28.md", + slug: "2022-09-28", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-09-30.md": { + id: "2022-09-30.md", + slug: "2022-09-30", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-10-01.md": { + id: "2022-10-01.md", + slug: "2022-10-01", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-10-02.md": { + id: "2022-10-02.md", + slug: "2022-10-02", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-10-03.md": { + id: "2022-10-03.md", + slug: "2022-10-03", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-10-08.md": { + id: "2022-10-08.md", + slug: "2022-10-08", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-10-09.md": { + id: "2022-10-09.md", + slug: "2022-10-09", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-10-10.md": { + id: "2022-10-10.md", + slug: "2022-10-10", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-10-11.md": { + id: "2022-10-11.md", + slug: "2022-10-11", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-10-12.md": { + id: "2022-10-12.md", + slug: "2022-10-12", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-10-17.md": { + id: "2022-10-17.md", + slug: "2022-10-17", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-10-18.md": { + id: "2022-10-18.md", + slug: "2022-10-18", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-10-19.md": { + id: "2022-10-19.md", + slug: "2022-10-19", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-10-20.md": { + id: "2022-10-20.md", + slug: "2022-10-20", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-10-21.md": { + id: "2022-10-21.md", + slug: "2022-10-21", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-10-24.md": { + id: "2022-10-24.md", + slug: "2022-10-24", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-10-25.md": { + id: "2022-10-25.md", + slug: "2022-10-25", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-10-26.md": { + id: "2022-10-26.md", + slug: "2022-10-26", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-10-27.md": { + id: "2022-10-27.md", + slug: "2022-10-27", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-10-28.md": { + id: "2022-10-28.md", + slug: "2022-10-28", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-10-29.md": { + id: "2022-10-29.md", + slug: "2022-10-29", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-10-30.md": { + id: "2022-10-30.md", + slug: "2022-10-30", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-11-08.md": { + id: "2022-11-08.md", + slug: "2022-11-08", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-11-09.md": { + id: "2022-11-09.md", + slug: "2022-11-09", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-11-11.md": { + id: "2022-11-11.md", + slug: "2022-11-11", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-11-12.md": { + id: "2022-11-12.md", + slug: "2022-11-12", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-11-13.md": { + id: "2022-11-13.md", + slug: "2022-11-13", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-11-14.md": { + id: "2022-11-14.md", + slug: "2022-11-14", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-11-15.md": { + id: "2022-11-15.md", + slug: "2022-11-15", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-11-16.md": { + id: "2022-11-16.md", + slug: "2022-11-16", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-11-17.md": { + id: "2022-11-17.md", + slug: "2022-11-17", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-11-18.md": { + id: "2022-11-18.md", + slug: "2022-11-18", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-11-19.md": { + id: "2022-11-19.md", + slug: "2022-11-19", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-11-20.md": { + id: "2022-11-20.md", + slug: "2022-11-20", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-11-21.md": { + id: "2022-11-21.md", + slug: "2022-11-21", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-11-22.md": { + id: "2022-11-22.md", + slug: "2022-11-22", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-11-23.md": { + id: "2022-11-23.md", + slug: "2022-11-23", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-11-24.md": { + id: "2022-11-24.md", + slug: "2022-11-24", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-11-25.md": { + id: "2022-11-25.md", + slug: "2022-11-25", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-11-30.md": { + id: "2022-11-30.md", + slug: "2022-11-30", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-12-01.md": { + id: "2022-12-01.md", + slug: "2022-12-01", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-12-02.md": { + id: "2022-12-02.md", + slug: "2022-12-02", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-12-03.md": { + id: "2022-12-03.md", + slug: "2022-12-03", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-12-04.md": { + id: "2022-12-04.md", + slug: "2022-12-04", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-12-05.md": { + id: "2022-12-05.md", + slug: "2022-12-05", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-12-06.md": { + id: "2022-12-06.md", + slug: "2022-12-06", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-12-07.md": { + id: "2022-12-07.md", + slug: "2022-12-07", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-12-08.md": { + id: "2022-12-08.md", + slug: "2022-12-08", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-12-09.md": { + id: "2022-12-09.md", + slug: "2022-12-09", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-12-10.md": { + id: "2022-12-10.md", + slug: "2022-12-10", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-12-15.md": { + id: "2022-12-15.md", + slug: "2022-12-15", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-12-20.md": { + id: "2022-12-20.md", + slug: "2022-12-20", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-12-21.md": { + id: "2022-12-21.md", + slug: "2022-12-21", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-12-22.md": { + id: "2022-12-22.md", + slug: "2022-12-22", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-12-23.md": { + id: "2022-12-23.md", + slug: "2022-12-23", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-12-28.md": { + id: "2022-12-28.md", + slug: "2022-12-28", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-12-29.md": { + id: "2022-12-29.md", + slug: "2022-12-29", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-12-30.md": { + id: "2022-12-30.md", + slug: "2022-12-30", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2022-12-31.md": { + id: "2022-12-31.md", + slug: "2022-12-31", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-01-01.md": { + id: "2023-01-01.md", + slug: "2023-01-01", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-01-02.md": { + id: "2023-01-02.md", + slug: "2023-01-02", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-01-03.md": { + id: "2023-01-03.md", + slug: "2023-01-03", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-01-04.md": { + id: "2023-01-04.md", + slug: "2023-01-04", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-01-05.md": { + id: "2023-01-05.md", + slug: "2023-01-05", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-01-06.md": { + id: "2023-01-06.md", + slug: "2023-01-06", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-01-07.md": { + id: "2023-01-07.md", + slug: "2023-01-07", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-01-16.md": { + id: "2023-01-16.md", + slug: "2023-01-16", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-01-17.md": { + id: "2023-01-17.md", + slug: "2023-01-17", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-01-18.md": { + id: "2023-01-18.md", + slug: "2023-01-18", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-01-19.md": { + id: "2023-01-19.md", + slug: "2023-01-19", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-01-20.md": { + id: "2023-01-20.md", + slug: "2023-01-20", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-01-21.md": { + id: "2023-01-21.md", + slug: "2023-01-21", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-01-22.md": { + id: "2023-01-22.md", + slug: "2023-01-22", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-01-23.md": { + id: "2023-01-23.md", + slug: "2023-01-23", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-01-24.md": { + id: "2023-01-24.md", + slug: "2023-01-24", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-01-25.md": { + id: "2023-01-25.md", + slug: "2023-01-25", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-02-07.md": { + id: "2023-02-07.md", + slug: "2023-02-07", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-02-08.md": { + id: "2023-02-08.md", + slug: "2023-02-08", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-02-09.md": { + id: "2023-02-09.md", + slug: "2023-02-09", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-02-16.md": { + id: "2023-02-16.md", + slug: "2023-02-16", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-02-17.md": { + id: "2023-02-17.md", + slug: "2023-02-17", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-02-18.md": { + id: "2023-02-18.md", + slug: "2023-02-18", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-02-19.md": { + id: "2023-02-19.md", + slug: "2023-02-19", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-02-20.md": { + id: "2023-02-20.md", + slug: "2023-02-20", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-03-01.md": { + id: "2023-03-01.md", + slug: "2023-03-01", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-03-02.md": { + id: "2023-03-02.md", + slug: "2023-03-02", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-03-03.md": { + id: "2023-03-03.md", + slug: "2023-03-03", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-03-04.md": { + id: "2023-03-04.md", + slug: "2023-03-04", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-03-05.md": { + id: "2023-03-05.md", + slug: "2023-03-05", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-03-08.md": { + id: "2023-03-08.md", + slug: "2023-03-08", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-03-09.md": { + id: "2023-03-09.md", + slug: "2023-03-09", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-03-13.md": { + id: "2023-03-13.md", + slug: "2023-03-13", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-03-14.md": { + id: "2023-03-14.md", + slug: "2023-03-14", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-03-15.md": { + id: "2023-03-15.md", + slug: "2023-03-15", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-03-21.md": { + id: "2023-03-21.md", + slug: "2023-03-21", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-03-22.md": { + id: "2023-03-22.md", + slug: "2023-03-22", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-03-27.md": { + id: "2023-03-27.md", + slug: "2023-03-27", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-04-07.md": { + id: "2023-04-07.md", + slug: "2023-04-07", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +"2023-04-08.md": { + id: "2023-04-08.md", + slug: "2023-04-08", + body: string, + collection: "daily-email", + data: InferEntrySchema<"daily-email"> +} & { render(): Render[".md"] }, +}, "talk": { "about-drupal-association.md": { id: "about-drupal-association.md", diff --git a/package.json b/package.json index 8194b015..b500e40f 100644 --- a/package.json +++ b/package.json @@ -23,9 +23,12 @@ "@types/alpinejs": "^3.0.0", "alpinejs": "^3.0.0", "astro": "^2.2.1", + "date-fns": "^2.29.3", "lodash": "^4.17.21", + "markdown-it": "^13.0.1", "octokit": "^2.0.14", "postcss-import": "^15.0.0", + "sanitize-html": "^2.10.0", "tailwindcss": "^3.0.24" }, "devDependencies": { diff --git a/run b/run index ad333503..26a618d0 100755 --- a/run +++ b/run @@ -18,7 +18,7 @@ function task:daily { next_date="${1}" fi - local filepath="src/daily-emails/${next_date}.md" + local filepath="src/content/daily-email/${next_date}.md" shift 1 diff --git a/src/content/config.ts b/src/content/config.ts index 6659b1fc..b010e6be 100644 --- a/src/content/config.ts +++ b/src/content/config.ts @@ -11,6 +11,15 @@ const blogCollection = defineCollection({ }), }); +const dailyEmailCollection = defineCollection({ + schema: z.object({ + pubDate: z.date(), + permalink: z.string(), + tags: z.array(z.string()).optional(), + title: z.string(), + }), +}); + const talkCollection = defineCollection({ schema: z.object({ description: z.string(), @@ -27,6 +36,7 @@ const talkCollection = defineCollection({ }); export const collections = { + 'daily-email': dailyEmailCollection, blog: blogCollection, talk: talkCollection, }; diff --git a/src/daily-emails/2022-08-12.md b/src/content/daily-email/2022-08-12.md similarity index 100% rename from src/daily-emails/2022-08-12.md rename to src/content/daily-email/2022-08-12.md diff --git a/src/daily-emails/2022-08-13.md b/src/content/daily-email/2022-08-13.md similarity index 100% rename from src/daily-emails/2022-08-13.md rename to src/content/daily-email/2022-08-13.md diff --git a/src/daily-emails/2022-08-14.md b/src/content/daily-email/2022-08-14.md similarity index 100% rename from src/daily-emails/2022-08-14.md rename to src/content/daily-email/2022-08-14.md diff --git a/src/daily-emails/2022-08-15.md b/src/content/daily-email/2022-08-15.md similarity index 100% rename from src/daily-emails/2022-08-15.md rename to src/content/daily-email/2022-08-15.md diff --git a/src/daily-emails/2022-08-16.md b/src/content/daily-email/2022-08-16.md similarity index 100% rename from src/daily-emails/2022-08-16.md rename to src/content/daily-email/2022-08-16.md diff --git a/src/daily-emails/2022-08-17.md b/src/content/daily-email/2022-08-17.md similarity index 100% rename from src/daily-emails/2022-08-17.md rename to src/content/daily-email/2022-08-17.md diff --git a/src/daily-emails/2022-08-18.md b/src/content/daily-email/2022-08-18.md similarity index 100% rename from src/daily-emails/2022-08-18.md rename to src/content/daily-email/2022-08-18.md diff --git a/src/daily-emails/2022-08-19.md b/src/content/daily-email/2022-08-19.md similarity index 100% rename from src/daily-emails/2022-08-19.md rename to src/content/daily-email/2022-08-19.md diff --git a/src/daily-emails/2022-08-20.md b/src/content/daily-email/2022-08-20.md similarity index 100% rename from src/daily-emails/2022-08-20.md rename to src/content/daily-email/2022-08-20.md diff --git a/src/daily-emails/2022-08-21.md b/src/content/daily-email/2022-08-21.md similarity index 100% rename from src/daily-emails/2022-08-21.md rename to src/content/daily-email/2022-08-21.md diff --git a/src/daily-emails/2022-08-22.md b/src/content/daily-email/2022-08-22.md similarity index 100% rename from src/daily-emails/2022-08-22.md rename to src/content/daily-email/2022-08-22.md diff --git a/src/daily-emails/2022-08-23.md b/src/content/daily-email/2022-08-23.md similarity index 100% rename from src/daily-emails/2022-08-23.md rename to src/content/daily-email/2022-08-23.md diff --git a/src/daily-emails/2022-08-24.md b/src/content/daily-email/2022-08-24.md similarity index 100% rename from src/daily-emails/2022-08-24.md rename to src/content/daily-email/2022-08-24.md diff --git a/src/daily-emails/2022-08-25.md b/src/content/daily-email/2022-08-25.md similarity index 100% rename from src/daily-emails/2022-08-25.md rename to src/content/daily-email/2022-08-25.md diff --git a/src/daily-emails/2022-08-26.md b/src/content/daily-email/2022-08-26.md similarity index 100% rename from src/daily-emails/2022-08-26.md rename to src/content/daily-email/2022-08-26.md diff --git a/src/daily-emails/2022-08-27.md b/src/content/daily-email/2022-08-27.md similarity index 100% rename from src/daily-emails/2022-08-27.md rename to src/content/daily-email/2022-08-27.md diff --git a/src/daily-emails/2022-08-28.md b/src/content/daily-email/2022-08-28.md similarity index 100% rename from src/daily-emails/2022-08-28.md rename to src/content/daily-email/2022-08-28.md diff --git a/src/daily-emails/2022-08-29.md b/src/content/daily-email/2022-08-29.md similarity index 100% rename from src/daily-emails/2022-08-29.md rename to src/content/daily-email/2022-08-29.md diff --git a/src/daily-emails/2022-08-30.md b/src/content/daily-email/2022-08-30.md similarity index 100% rename from src/daily-emails/2022-08-30.md rename to src/content/daily-email/2022-08-30.md diff --git a/src/daily-emails/2022-08-31.md b/src/content/daily-email/2022-08-31.md similarity index 99% rename from src/daily-emails/2022-08-31.md rename to src/content/daily-email/2022-08-31.md index 0b5db415..fdefa4a2 100644 --- a/src/daily-emails/2022-08-31.md +++ b/src/content/daily-email/2022-08-31.md @@ -1,7 +1,7 @@ --- title: "To monorepo, or not to monorepo?" permalink: "archive/2022/08/31/monorepo-or-not" -pubDate: "2022-08-31" +pubDate: 2022-08-31 tags: ["git"] --- diff --git a/src/daily-emails/2022-09-01.md b/src/content/daily-email/2022-09-01.md similarity index 100% rename from src/daily-emails/2022-09-01.md rename to src/content/daily-email/2022-09-01.md diff --git a/src/daily-emails/2022-09-02.md b/src/content/daily-email/2022-09-02.md similarity index 98% rename from src/daily-emails/2022-09-02.md rename to src/content/daily-email/2022-09-02.md index ed423a13..7857b916 100644 --- a/src/daily-emails/2022-09-02.md +++ b/src/content/daily-email/2022-09-02.md @@ -1,6 +1,6 @@ --- title: "Automating all the things with Ansible" -pubDate: "2022-09-02" +pubDate: 2022-09-02 permalink: "archive/2022/09/02/automating-all-the-things-with-ansible" tags: ["ansible"] --- diff --git a/src/daily-emails/2022-09-03.md b/src/content/daily-email/2022-09-03.md similarity index 100% rename from src/daily-emails/2022-09-03.md rename to src/content/daily-email/2022-09-03.md diff --git a/src/daily-emails/2022-09-04.md b/src/content/daily-email/2022-09-04.md similarity index 98% rename from src/daily-emails/2022-09-04.md rename to src/content/daily-email/2022-09-04.md index 10152648..c20427e2 100644 --- a/src/daily-emails/2022-09-04.md +++ b/src/content/daily-email/2022-09-04.md @@ -1,6 +1,6 @@ --- title: "Using Ansible for server configuration" -pubDate: "2022-09-04" +pubDate: 2022-09-04 permalink: "archive/2022/09/04/using-ansible-for-server-configuration" --- diff --git a/src/daily-emails/2022-09-05.md b/src/content/daily-email/2022-09-05.md similarity index 98% rename from src/daily-emails/2022-09-05.md rename to src/content/daily-email/2022-09-05.md index b8145fb4..c1f22cc1 100644 --- a/src/daily-emails/2022-09-05.md +++ b/src/content/daily-email/2022-09-05.md @@ -1,6 +1,6 @@ --- title: "Using Ansible for local environment configuration" -pubDate: "2022-09-05" +pubDate: 2022-09-05 permalink: "archive/2022/09/05/using-ansible-for-local-configuration" --- diff --git a/src/daily-emails/2022-09-06.md b/src/content/daily-email/2022-09-06.md similarity index 98% rename from src/daily-emails/2022-09-06.md rename to src/content/daily-email/2022-09-06.md index 8810aa3b..149f6bb8 100644 --- a/src/daily-emails/2022-09-06.md +++ b/src/content/daily-email/2022-09-06.md @@ -1,6 +1,6 @@ --- title: "Deploying applications with Ansible" -pubDate: "2022-09-06" +pubDate: 2022-09-06 permalink: "archive/2022/09/06/deploying-applications-with-ansible" --- diff --git a/src/daily-emails/2022-09-07.md b/src/content/daily-email/2022-09-07.md similarity index 99% rename from src/daily-emails/2022-09-07.md rename to src/content/daily-email/2022-09-07.md index 25e4a794..ac0dd714 100644 --- a/src/daily-emails/2022-09-07.md +++ b/src/content/daily-email/2022-09-07.md @@ -1,6 +1,6 @@ --- title: "My Tailwind CSS origin story" -pubDate: "2022-09-07" +pubDate: 2022-09-07 permalink: "archive/2022/09/07/my-tailwind-css-origin-story" tags: ["tailwind-css"] --- diff --git a/src/daily-emails/2022-09-08.md b/src/content/daily-email/2022-09-08.md similarity index 98% rename from src/daily-emails/2022-09-08.md rename to src/content/daily-email/2022-09-08.md index 4e86b0d2..6b5b933e 100644 --- a/src/daily-emails/2022-09-08.md +++ b/src/content/daily-email/2022-09-08.md @@ -1,6 +1,6 @@ --- title: "Keeping secrets with Ansible Vault" -pubDate: "2022-09-08" +pubDate: 2022-09-08 permalink: "archive/2022/09/08/keeping-secrets-with-ansible-vault" tags: ["ansible"] --- diff --git a/src/daily-emails/2022-09-09.md b/src/content/daily-email/2022-09-09.md similarity index 98% rename from src/daily-emails/2022-09-09.md rename to src/content/daily-email/2022-09-09.md index 132a338b..9e0c6990 100644 --- a/src/daily-emails/2022-09-09.md +++ b/src/content/daily-email/2022-09-09.md @@ -1,6 +1,6 @@ --- title: "Refactoring a Tailwind CSS component" -pubDate: "2022-09-09" +pubDate: 2022-09-09 permalink: "archive/2022/09/09/refactoring-tailwind-component" tags: ["tailwind-css"] --- diff --git a/src/daily-emails/2022-09-10.md b/src/content/daily-email/2022-09-10.md similarity index 98% rename from src/daily-emails/2022-09-10.md rename to src/content/daily-email/2022-09-10.md index 96095bf7..83740c06 100644 --- a/src/daily-emails/2022-09-10.md +++ b/src/content/daily-email/2022-09-10.md @@ -1,6 +1,6 @@ --- title: "Automating Ansible deployments in CI" -pubDate: "2022-09-10" +pubDate: 2022-09-10 permalink: "archive/2022/09/10/automating-ansible-deployments-ci" tags: ["ansible"] --- diff --git a/src/daily-emails/2022-09-11.md b/src/content/daily-email/2022-09-11.md similarity index 99% rename from src/daily-emails/2022-09-11.md rename to src/content/daily-email/2022-09-11.md index 31621ca8..81a502ef 100644 --- a/src/daily-emails/2022-09-11.md +++ b/src/content/daily-email/2022-09-11.md @@ -1,6 +1,6 @@ --- title: "Custom styles in Tailwind CSS: `@apply`, `theme` or custom plugins" -pubDate: "2022-09-11" +pubDate: 2022-09-11 permalink: "archive/2022/09/11/custom-styles-tailwind-css-apply-theme-custom-plugins" tags: ["tailwind-css"] --- diff --git a/src/daily-emails/2022-09-12.md b/src/content/daily-email/2022-09-12.md similarity index 98% rename from src/daily-emails/2022-09-12.md rename to src/content/daily-email/2022-09-12.md index b144ce51..b6a5c8e3 100644 --- a/src/daily-emails/2022-09-12.md +++ b/src/content/daily-email/2022-09-12.md @@ -1,6 +1,6 @@ --- title: "A month of daily emails" -pubDate: "2022-09-12" +pubDate: 2022-09-12 permalink: "archive/2022/09/12/month-daily-emails" --- diff --git a/src/daily-emails/2022-09-14.md b/src/content/daily-email/2022-09-14.md similarity index 99% rename from src/daily-emails/2022-09-14.md rename to src/content/daily-email/2022-09-14.md index c385097b..617b9cb8 100644 --- a/src/daily-emails/2022-09-14.md +++ b/src/content/daily-email/2022-09-14.md @@ -1,6 +1,6 @@ --- title: "The simplest Drupal test" -pubDate: "2022-09-14" +pubDate: 2022-09-14 permalink: "archive/2022/09/14/simpletest-drupal-test" --- diff --git a/src/daily-emails/2022-09-16.md b/src/content/daily-email/2022-09-16.md similarity index 99% rename from src/daily-emails/2022-09-16.md rename to src/content/daily-email/2022-09-16.md index b235153b..4048b26a 100644 --- a/src/daily-emails/2022-09-16.md +++ b/src/content/daily-email/2022-09-16.md @@ -1,6 +1,6 @@ --- title: "Why I mostly write functional and integration tests" -pubDate: "2022-09-16" +pubDate: 2022-09-16 permalink: "archive/2022/09/16/why-mostly-write-functional-and-integration-tests" tags: ["drupal"] --- diff --git a/src/daily-emails/2022-09-17.md b/src/content/daily-email/2022-09-17.md similarity index 98% rename from src/daily-emails/2022-09-17.md rename to src/content/daily-email/2022-09-17.md index 63f78d2c..beb78de0 100644 --- a/src/daily-emails/2022-09-17.md +++ b/src/content/daily-email/2022-09-17.md @@ -1,6 +1,6 @@ --- title: "Thoughts on automated code formatting" -pubDate: "2022-09-17" +pubDate: 2022-09-17 permalink: "archive/2022/09/17/thoughts-automated-code-formatting" --- diff --git a/src/daily-emails/2022-09-19.md b/src/content/daily-email/2022-09-19.md similarity index 98% rename from src/daily-emails/2022-09-19.md rename to src/content/daily-email/2022-09-19.md index 5f7a6dbe..5ffa47a1 100644 --- a/src/daily-emails/2022-09-19.md +++ b/src/content/daily-email/2022-09-19.md @@ -1,6 +1,6 @@ --- title: "Useful Git configuration" -pubDate: "2022-09-19" +pubDate: 2022-09-19 permalink: "archive/2022/09/19/useful-git-configuration" tags: ["git"] --- diff --git a/src/daily-emails/2022-09-20.md b/src/content/daily-email/2022-09-20.md similarity index 99% rename from src/daily-emails/2022-09-20.md rename to src/content/daily-email/2022-09-20.md index c3fd07d9..035b9672 100644 --- a/src/daily-emails/2022-09-20.md +++ b/src/content/daily-email/2022-09-20.md @@ -1,6 +1,6 @@ --- title: "Why I like trunk-based development" -pubDate: "2022-09-20" +pubDate: 2022-09-20 permalink: "archive/2022/09/20/why-like-trunk-based-development" tags: ["git"] --- diff --git a/src/daily-emails/2022-09-21.md b/src/content/daily-email/2022-09-21.md similarity index 99% rename from src/daily-emails/2022-09-21.md rename to src/content/daily-email/2022-09-21.md index e50dabed..2dae3e4e 100644 --- a/src/daily-emails/2022-09-21.md +++ b/src/content/daily-email/2022-09-21.md @@ -1,6 +1,6 @@ --- title: "Being a Drupal contribution mentor" -pubDate: "2022-09-21" +pubDate: 2022-09-21 permalink: "archive/2022/09/21/being-drupal-contribution-mentor" tags: ["drupal"] --- diff --git a/src/daily-emails/2022-09-22.md b/src/content/daily-email/2022-09-22.md similarity index 98% rename from src/daily-emails/2022-09-22.md rename to src/content/daily-email/2022-09-22.md index f3031de8..83a0df2e 100644 --- a/src/daily-emails/2022-09-22.md +++ b/src/content/daily-email/2022-09-22.md @@ -1,6 +1,6 @@ --- title: "Releasing a Drupal module template" -pubDate: "2022-09-22" +pubDate: 2022-09-22 permalink: "archive/2022/09/22/releasing-drupal-module-template" tags: ["drupal"] --- diff --git a/src/daily-emails/2022-09-23.md b/src/content/daily-email/2022-09-23.md similarity index 99% rename from src/daily-emails/2022-09-23.md rename to src/content/daily-email/2022-09-23.md index 239b85b4..e490fd24 100644 --- a/src/daily-emails/2022-09-23.md +++ b/src/content/daily-email/2022-09-23.md @@ -1,6 +1,6 @@ --- title: "ADRs and Technical Design Documents" -pubDate: "2022-09-23" +pubDate: 2022-09-23 permalink: "archive/2022/09/23/adrs-technical-design-documents" tags: [] --- diff --git a/src/daily-emails/2022-09-25.md b/src/content/daily-email/2022-09-25.md similarity index 99% rename from src/daily-emails/2022-09-25.md rename to src/content/daily-email/2022-09-25.md index 1c2b8356..50cc987d 100644 --- a/src/daily-emails/2022-09-25.md +++ b/src/content/daily-email/2022-09-25.md @@ -1,6 +1,6 @@ --- title: "Using a component library for front-end development" -pubDate: "2022-09-25" +pubDate: 2022-09-25 permalink: "archive/2022/09/25/using-component-library-for-front-end-development" tags: [] --- diff --git a/src/daily-emails/2022-09-26.md b/src/content/daily-email/2022-09-26.md similarity index 98% rename from src/daily-emails/2022-09-26.md rename to src/content/daily-email/2022-09-26.md index 650c4d20..894a31cb 100644 --- a/src/daily-emails/2022-09-26.md +++ b/src/content/daily-email/2022-09-26.md @@ -1,6 +1,6 @@ --- title: "Experimenting with the Nix package manager" -pubDate: "2022-09-26" +pubDate: 2022-09-26 permalink: "archive/2022/09/26/experimenting-with-the-nix-package-manager" tags: ["nix"] --- diff --git a/src/daily-emails/2022-09-27.md b/src/content/daily-email/2022-09-27.md similarity index 98% rename from src/daily-emails/2022-09-27.md rename to src/content/daily-email/2022-09-27.md index 353fee7a..6dc063fa 100644 --- a/src/daily-emails/2022-09-27.md +++ b/src/content/daily-email/2022-09-27.md @@ -1,6 +1,6 @@ --- title: "Mentoring with Drupal Career Online" -pubDate: "2022-09-27" +pubDate: 2022-09-27 permalink: "archive/2022/09/27/mentoring-with-drupal-career-online" tags: ["drupal"] --- diff --git a/src/daily-emails/2022-09-28.md b/src/content/daily-email/2022-09-28.md similarity index 98% rename from src/daily-emails/2022-09-28.md rename to src/content/daily-email/2022-09-28.md index 703811a6..dfe1dbe0 100644 --- a/src/daily-emails/2022-09-28.md +++ b/src/content/daily-email/2022-09-28.md @@ -1,6 +1,6 @@ --- title: "Mob programming at PHP South Wales" -pubDate: "2022-09-28" +pubDate: 2022-09-28 permalink: "archive/2022/09/28/mob-programming-php-south-wales" tags: [] --- diff --git a/src/daily-emails/2022-09-30.md b/src/content/daily-email/2022-09-30.md similarity index 99% rename from src/daily-emails/2022-09-30.md rename to src/content/daily-email/2022-09-30.md index 9429f338..85ccb115 100644 --- a/src/daily-emails/2022-09-30.md +++ b/src/content/daily-email/2022-09-30.md @@ -1,6 +1,6 @@ --- title: "Store Wars: different state management in Vue.js" -pubDate: "2022-09-30" +pubDate: 2022-09-30 permalink: "archive/2022/09/30/store-wars-vuejs" tags: ["vue"] --- diff --git a/src/daily-emails/2022-10-01.md b/src/content/daily-email/2022-10-01.md similarity index 99% rename from src/daily-emails/2022-10-01.md rename to src/content/daily-email/2022-10-01.md index 37b2d565..da21b82e 100644 --- a/src/daily-emails/2022-10-01.md +++ b/src/content/daily-email/2022-10-01.md @@ -1,6 +1,6 @@ --- title: Why do code katas? -pubDate: "2022-10-01" +pubDate: 2022-10-01 permalink: archive/2022/10/01/code-katas tags: [] --- diff --git a/src/daily-emails/2022-10-02.md b/src/content/daily-email/2022-10-02.md similarity index 99% rename from src/daily-emails/2022-10-02.md rename to src/content/daily-email/2022-10-02.md index 44c29176..e24f3050 100644 --- a/src/daily-emails/2022-10-02.md +++ b/src/content/daily-email/2022-10-02.md @@ -1,6 +1,6 @@ --- title: Minimum viable CI pipelines -pubDate: "2022-10-02" +pubDate: 2022-10-02 permalink: archive/2022/10/02/minimum-viable-pipelines tags: [] --- diff --git a/src/daily-emails/2022-10-03.md b/src/content/daily-email/2022-10-03.md similarity index 99% rename from src/daily-emails/2022-10-03.md rename to src/content/daily-email/2022-10-03.md index 660e26c6..82be5b65 100644 --- a/src/daily-emails/2022-10-03.md +++ b/src/content/daily-email/2022-10-03.md @@ -1,6 +1,6 @@ --- title: Refactoring to value objects -pubDate: "2022-10-03" +pubDate: 2022-10-03 permalink: archive/2022/10/03/refactoring-value-objects tags: [php] --- diff --git a/src/daily-emails/2022-10-08.md b/src/content/daily-email/2022-10-08.md similarity index 98% rename from src/daily-emails/2022-10-08.md rename to src/content/daily-email/2022-10-08.md index 4f91e9cf..a74f15bf 100644 --- a/src/daily-emails/2022-10-08.md +++ b/src/content/daily-email/2022-10-08.md @@ -1,6 +1,6 @@ --- title: First impressions of Astro -pubDate: "2022-10-08" +pubDate: 2022-10-08 permalink: archive/2022/10/08/first-impressions-astro tags: [astro] --- diff --git a/src/daily-emails/2022-10-09.md b/src/content/daily-email/2022-10-09.md similarity index 99% rename from src/daily-emails/2022-10-09.md rename to src/content/daily-email/2022-10-09.md index a1daf995..8be3f91d 100644 --- a/src/daily-emails/2022-10-09.md +++ b/src/content/daily-email/2022-10-09.md @@ -1,6 +1,6 @@ --- title: Coding defensively, and Implicit vs explicit coding -pubDate: "2022-10-09" +pubDate: 2022-10-09 permalink: archive/2022/10/09/coding-defensively-implicit-explicit tags: [tailwindcss, php] --- diff --git a/src/daily-emails/2022-10-10.md b/src/content/daily-email/2022-10-10.md similarity index 97% rename from src/daily-emails/2022-10-10.md rename to src/content/daily-email/2022-10-10.md index ff35bb15..064ba84a 100644 --- a/src/daily-emails/2022-10-10.md +++ b/src/content/daily-email/2022-10-10.md @@ -1,6 +1,6 @@ --- title: Contributing to open-source software, one small change at a time -pubDate: "2022-10-10" +pubDate: 2022-10-10 permalink: archive/2022/10/10/contributing-open-source-software-one-small-change-time tags: [open-source] --- diff --git a/src/daily-emails/2022-10-11.md b/src/content/daily-email/2022-10-11.md similarity index 97% rename from src/daily-emails/2022-10-11.md rename to src/content/daily-email/2022-10-11.md index 8773951b..2c6a4e17 100644 --- a/src/daily-emails/2022-10-11.md +++ b/src/content/daily-email/2022-10-11.md @@ -1,6 +1,6 @@ --- title: Not long until Drupal 10 -pubDate: "2022-10-11" +pubDate: 2022-10-11 permalink: archive/2022/10/11/not-long-until-drupal-10 tags: [drupal, php] --- diff --git a/src/daily-emails/2022-10-12.md b/src/content/daily-email/2022-10-12.md similarity index 100% rename from src/daily-emails/2022-10-12.md rename to src/content/daily-email/2022-10-12.md diff --git a/src/daily-emails/2022-10-17.md b/src/content/daily-email/2022-10-17.md similarity index 100% rename from src/daily-emails/2022-10-17.md rename to src/content/daily-email/2022-10-17.md diff --git a/src/daily-emails/2022-10-18.md b/src/content/daily-email/2022-10-18.md similarity index 100% rename from src/daily-emails/2022-10-18.md rename to src/content/daily-email/2022-10-18.md diff --git a/src/daily-emails/2022-10-19.md b/src/content/daily-email/2022-10-19.md similarity index 100% rename from src/daily-emails/2022-10-19.md rename to src/content/daily-email/2022-10-19.md diff --git a/src/daily-emails/2022-10-20.md b/src/content/daily-email/2022-10-20.md similarity index 100% rename from src/daily-emails/2022-10-20.md rename to src/content/daily-email/2022-10-20.md diff --git a/src/daily-emails/2022-10-21.md b/src/content/daily-email/2022-10-21.md similarity index 100% rename from src/daily-emails/2022-10-21.md rename to src/content/daily-email/2022-10-21.md diff --git a/src/daily-emails/2022-10-24.md b/src/content/daily-email/2022-10-24.md similarity index 100% rename from src/daily-emails/2022-10-24.md rename to src/content/daily-email/2022-10-24.md diff --git a/src/daily-emails/2022-10-25.md b/src/content/daily-email/2022-10-25.md similarity index 100% rename from src/daily-emails/2022-10-25.md rename to src/content/daily-email/2022-10-25.md diff --git a/src/daily-emails/2022-10-26.md b/src/content/daily-email/2022-10-26.md similarity index 100% rename from src/daily-emails/2022-10-26.md rename to src/content/daily-email/2022-10-26.md diff --git a/src/daily-emails/2022-10-27.md b/src/content/daily-email/2022-10-27.md similarity index 100% rename from src/daily-emails/2022-10-27.md rename to src/content/daily-email/2022-10-27.md diff --git a/src/daily-emails/2022-10-28.md b/src/content/daily-email/2022-10-28.md similarity index 100% rename from src/daily-emails/2022-10-28.md rename to src/content/daily-email/2022-10-28.md diff --git a/src/daily-emails/2022-10-29.md b/src/content/daily-email/2022-10-29.md similarity index 100% rename from src/daily-emails/2022-10-29.md rename to src/content/daily-email/2022-10-29.md diff --git a/src/daily-emails/2022-10-30.md b/src/content/daily-email/2022-10-30.md similarity index 100% rename from src/daily-emails/2022-10-30.md rename to src/content/daily-email/2022-10-30.md diff --git a/src/daily-emails/2022-11-08.md b/src/content/daily-email/2022-11-08.md similarity index 100% rename from src/daily-emails/2022-11-08.md rename to src/content/daily-email/2022-11-08.md diff --git a/src/daily-emails/2022-11-09.md b/src/content/daily-email/2022-11-09.md similarity index 100% rename from src/daily-emails/2022-11-09.md rename to src/content/daily-email/2022-11-09.md diff --git a/src/daily-emails/2022-11-11.md b/src/content/daily-email/2022-11-11.md similarity index 100% rename from src/daily-emails/2022-11-11.md rename to src/content/daily-email/2022-11-11.md diff --git a/src/daily-emails/2022-11-12.md b/src/content/daily-email/2022-11-12.md similarity index 100% rename from src/daily-emails/2022-11-12.md rename to src/content/daily-email/2022-11-12.md diff --git a/src/daily-emails/2022-11-13.md b/src/content/daily-email/2022-11-13.md similarity index 100% rename from src/daily-emails/2022-11-13.md rename to src/content/daily-email/2022-11-13.md diff --git a/src/daily-emails/2022-11-14.md b/src/content/daily-email/2022-11-14.md similarity index 100% rename from src/daily-emails/2022-11-14.md rename to src/content/daily-email/2022-11-14.md diff --git a/src/daily-emails/2022-11-15.md b/src/content/daily-email/2022-11-15.md similarity index 100% rename from src/daily-emails/2022-11-15.md rename to src/content/daily-email/2022-11-15.md diff --git a/src/daily-emails/2022-11-16.md b/src/content/daily-email/2022-11-16.md similarity index 100% rename from src/daily-emails/2022-11-16.md rename to src/content/daily-email/2022-11-16.md diff --git a/src/daily-emails/2022-11-17.md b/src/content/daily-email/2022-11-17.md similarity index 100% rename from src/daily-emails/2022-11-17.md rename to src/content/daily-email/2022-11-17.md diff --git a/src/daily-emails/2022-11-18.md b/src/content/daily-email/2022-11-18.md similarity index 100% rename from src/daily-emails/2022-11-18.md rename to src/content/daily-email/2022-11-18.md diff --git a/src/daily-emails/2022-11-19.md b/src/content/daily-email/2022-11-19.md similarity index 100% rename from src/daily-emails/2022-11-19.md rename to src/content/daily-email/2022-11-19.md diff --git a/src/daily-emails/2022-11-20.md b/src/content/daily-email/2022-11-20.md similarity index 100% rename from src/daily-emails/2022-11-20.md rename to src/content/daily-email/2022-11-20.md diff --git a/src/daily-emails/2022-11-21.md b/src/content/daily-email/2022-11-21.md similarity index 100% rename from src/daily-emails/2022-11-21.md rename to src/content/daily-email/2022-11-21.md diff --git a/src/daily-emails/2022-11-22.md b/src/content/daily-email/2022-11-22.md similarity index 100% rename from src/daily-emails/2022-11-22.md rename to src/content/daily-email/2022-11-22.md diff --git a/src/daily-emails/2022-11-23.md b/src/content/daily-email/2022-11-23.md similarity index 100% rename from src/daily-emails/2022-11-23.md rename to src/content/daily-email/2022-11-23.md diff --git a/src/daily-emails/2022-11-24.md b/src/content/daily-email/2022-11-24.md similarity index 100% rename from src/daily-emails/2022-11-24.md rename to src/content/daily-email/2022-11-24.md diff --git a/src/daily-emails/2022-11-25.md b/src/content/daily-email/2022-11-25.md similarity index 100% rename from src/daily-emails/2022-11-25.md rename to src/content/daily-email/2022-11-25.md diff --git a/src/daily-emails/2022-11-30.md b/src/content/daily-email/2022-11-30.md similarity index 100% rename from src/daily-emails/2022-11-30.md rename to src/content/daily-email/2022-11-30.md diff --git a/src/daily-emails/2022-12-01.md b/src/content/daily-email/2022-12-01.md similarity index 100% rename from src/daily-emails/2022-12-01.md rename to src/content/daily-email/2022-12-01.md diff --git a/src/daily-emails/2022-12-02.md b/src/content/daily-email/2022-12-02.md similarity index 100% rename from src/daily-emails/2022-12-02.md rename to src/content/daily-email/2022-12-02.md diff --git a/src/daily-emails/2022-12-03.md b/src/content/daily-email/2022-12-03.md similarity index 100% rename from src/daily-emails/2022-12-03.md rename to src/content/daily-email/2022-12-03.md diff --git a/src/daily-emails/2022-12-04.md b/src/content/daily-email/2022-12-04.md similarity index 100% rename from src/daily-emails/2022-12-04.md rename to src/content/daily-email/2022-12-04.md diff --git a/src/daily-emails/2022-12-05.md b/src/content/daily-email/2022-12-05.md similarity index 100% rename from src/daily-emails/2022-12-05.md rename to src/content/daily-email/2022-12-05.md diff --git a/src/daily-emails/2022-12-06.md b/src/content/daily-email/2022-12-06.md similarity index 100% rename from src/daily-emails/2022-12-06.md rename to src/content/daily-email/2022-12-06.md diff --git a/src/daily-emails/2022-12-07.md b/src/content/daily-email/2022-12-07.md similarity index 100% rename from src/daily-emails/2022-12-07.md rename to src/content/daily-email/2022-12-07.md diff --git a/src/daily-emails/2022-12-08.md b/src/content/daily-email/2022-12-08.md similarity index 100% rename from src/daily-emails/2022-12-08.md rename to src/content/daily-email/2022-12-08.md diff --git a/src/daily-emails/2022-12-09.md b/src/content/daily-email/2022-12-09.md similarity index 100% rename from src/daily-emails/2022-12-09.md rename to src/content/daily-email/2022-12-09.md diff --git a/src/daily-emails/2022-12-10.md b/src/content/daily-email/2022-12-10.md similarity index 100% rename from src/daily-emails/2022-12-10.md rename to src/content/daily-email/2022-12-10.md diff --git a/src/daily-emails/2022-12-15.md b/src/content/daily-email/2022-12-15.md similarity index 100% rename from src/daily-emails/2022-12-15.md rename to src/content/daily-email/2022-12-15.md diff --git a/src/daily-emails/2022-12-20.md b/src/content/daily-email/2022-12-20.md similarity index 100% rename from src/daily-emails/2022-12-20.md rename to src/content/daily-email/2022-12-20.md diff --git a/src/daily-emails/2022-12-21.md b/src/content/daily-email/2022-12-21.md similarity index 100% rename from src/daily-emails/2022-12-21.md rename to src/content/daily-email/2022-12-21.md diff --git a/src/daily-emails/2022-12-22.md b/src/content/daily-email/2022-12-22.md similarity index 100% rename from src/daily-emails/2022-12-22.md rename to src/content/daily-email/2022-12-22.md diff --git a/src/daily-emails/2022-12-23.md b/src/content/daily-email/2022-12-23.md similarity index 100% rename from src/daily-emails/2022-12-23.md rename to src/content/daily-email/2022-12-23.md diff --git a/src/daily-emails/2022-12-28.md b/src/content/daily-email/2022-12-28.md similarity index 100% rename from src/daily-emails/2022-12-28.md rename to src/content/daily-email/2022-12-28.md diff --git a/src/daily-emails/2022-12-29.md b/src/content/daily-email/2022-12-29.md similarity index 100% rename from src/daily-emails/2022-12-29.md rename to src/content/daily-email/2022-12-29.md diff --git a/src/daily-emails/2022-12-30.md b/src/content/daily-email/2022-12-30.md similarity index 100% rename from src/daily-emails/2022-12-30.md rename to src/content/daily-email/2022-12-30.md diff --git a/src/daily-emails/2022-12-31.md b/src/content/daily-email/2022-12-31.md similarity index 100% rename from src/daily-emails/2022-12-31.md rename to src/content/daily-email/2022-12-31.md diff --git a/src/daily-emails/2023-01-01.md b/src/content/daily-email/2023-01-01.md similarity index 100% rename from src/daily-emails/2023-01-01.md rename to src/content/daily-email/2023-01-01.md diff --git a/src/daily-emails/2023-01-02.md b/src/content/daily-email/2023-01-02.md similarity index 100% rename from src/daily-emails/2023-01-02.md rename to src/content/daily-email/2023-01-02.md diff --git a/src/daily-emails/2023-01-03.md b/src/content/daily-email/2023-01-03.md similarity index 100% rename from src/daily-emails/2023-01-03.md rename to src/content/daily-email/2023-01-03.md diff --git a/src/daily-emails/2023-01-04.md b/src/content/daily-email/2023-01-04.md similarity index 100% rename from src/daily-emails/2023-01-04.md rename to src/content/daily-email/2023-01-04.md diff --git a/src/daily-emails/2023-01-05.md b/src/content/daily-email/2023-01-05.md similarity index 100% rename from src/daily-emails/2023-01-05.md rename to src/content/daily-email/2023-01-05.md diff --git a/src/daily-emails/2023-01-06.md b/src/content/daily-email/2023-01-06.md similarity index 100% rename from src/daily-emails/2023-01-06.md rename to src/content/daily-email/2023-01-06.md diff --git a/src/daily-emails/2023-01-07.md b/src/content/daily-email/2023-01-07.md similarity index 100% rename from src/daily-emails/2023-01-07.md rename to src/content/daily-email/2023-01-07.md diff --git a/src/daily-emails/2023-01-16.md b/src/content/daily-email/2023-01-16.md similarity index 100% rename from src/daily-emails/2023-01-16.md rename to src/content/daily-email/2023-01-16.md diff --git a/src/daily-emails/2023-01-17.md b/src/content/daily-email/2023-01-17.md similarity index 100% rename from src/daily-emails/2023-01-17.md rename to src/content/daily-email/2023-01-17.md diff --git a/src/daily-emails/2023-01-18.md b/src/content/daily-email/2023-01-18.md similarity index 100% rename from src/daily-emails/2023-01-18.md rename to src/content/daily-email/2023-01-18.md diff --git a/src/daily-emails/2023-01-19.md b/src/content/daily-email/2023-01-19.md similarity index 100% rename from src/daily-emails/2023-01-19.md rename to src/content/daily-email/2023-01-19.md diff --git a/src/daily-emails/2023-01-20.md b/src/content/daily-email/2023-01-20.md similarity index 100% rename from src/daily-emails/2023-01-20.md rename to src/content/daily-email/2023-01-20.md diff --git a/src/daily-emails/2023-01-21.md b/src/content/daily-email/2023-01-21.md similarity index 100% rename from src/daily-emails/2023-01-21.md rename to src/content/daily-email/2023-01-21.md diff --git a/src/daily-emails/2023-01-22.md b/src/content/daily-email/2023-01-22.md similarity index 100% rename from src/daily-emails/2023-01-22.md rename to src/content/daily-email/2023-01-22.md diff --git a/src/daily-emails/2023-01-23.md b/src/content/daily-email/2023-01-23.md similarity index 100% rename from src/daily-emails/2023-01-23.md rename to src/content/daily-email/2023-01-23.md diff --git a/src/daily-emails/2023-01-24.md b/src/content/daily-email/2023-01-24.md similarity index 100% rename from src/daily-emails/2023-01-24.md rename to src/content/daily-email/2023-01-24.md diff --git a/src/daily-emails/2023-01-25.md b/src/content/daily-email/2023-01-25.md similarity index 100% rename from src/daily-emails/2023-01-25.md rename to src/content/daily-email/2023-01-25.md diff --git a/src/daily-emails/2023-02-07.md b/src/content/daily-email/2023-02-07.md similarity index 100% rename from src/daily-emails/2023-02-07.md rename to src/content/daily-email/2023-02-07.md diff --git a/src/daily-emails/2023-02-08.md b/src/content/daily-email/2023-02-08.md similarity index 100% rename from src/daily-emails/2023-02-08.md rename to src/content/daily-email/2023-02-08.md diff --git a/src/daily-emails/2023-02-09.md b/src/content/daily-email/2023-02-09.md similarity index 100% rename from src/daily-emails/2023-02-09.md rename to src/content/daily-email/2023-02-09.md diff --git a/src/daily-emails/2023-02-16.md b/src/content/daily-email/2023-02-16.md similarity index 100% rename from src/daily-emails/2023-02-16.md rename to src/content/daily-email/2023-02-16.md diff --git a/src/daily-emails/2023-02-17.md b/src/content/daily-email/2023-02-17.md similarity index 100% rename from src/daily-emails/2023-02-17.md rename to src/content/daily-email/2023-02-17.md diff --git a/src/daily-emails/2023-02-18.md b/src/content/daily-email/2023-02-18.md similarity index 100% rename from src/daily-emails/2023-02-18.md rename to src/content/daily-email/2023-02-18.md diff --git a/src/daily-emails/2023-02-19.md b/src/content/daily-email/2023-02-19.md similarity index 100% rename from src/daily-emails/2023-02-19.md rename to src/content/daily-email/2023-02-19.md diff --git a/src/daily-emails/2023-02-20.md b/src/content/daily-email/2023-02-20.md similarity index 100% rename from src/daily-emails/2023-02-20.md rename to src/content/daily-email/2023-02-20.md diff --git a/src/daily-emails/2023-03-01.md b/src/content/daily-email/2023-03-01.md similarity index 100% rename from src/daily-emails/2023-03-01.md rename to src/content/daily-email/2023-03-01.md diff --git a/src/daily-emails/2023-03-02.md b/src/content/daily-email/2023-03-02.md similarity index 100% rename from src/daily-emails/2023-03-02.md rename to src/content/daily-email/2023-03-02.md diff --git a/src/daily-emails/2023-03-03.md b/src/content/daily-email/2023-03-03.md similarity index 100% rename from src/daily-emails/2023-03-03.md rename to src/content/daily-email/2023-03-03.md diff --git a/src/daily-emails/2023-03-04.md b/src/content/daily-email/2023-03-04.md similarity index 100% rename from src/daily-emails/2023-03-04.md rename to src/content/daily-email/2023-03-04.md diff --git a/src/daily-emails/2023-03-05.md b/src/content/daily-email/2023-03-05.md similarity index 100% rename from src/daily-emails/2023-03-05.md rename to src/content/daily-email/2023-03-05.md diff --git a/src/daily-emails/2023-03-08.md b/src/content/daily-email/2023-03-08.md similarity index 100% rename from src/daily-emails/2023-03-08.md rename to src/content/daily-email/2023-03-08.md diff --git a/src/daily-emails/2023-03-09.md b/src/content/daily-email/2023-03-09.md similarity index 100% rename from src/daily-emails/2023-03-09.md rename to src/content/daily-email/2023-03-09.md diff --git a/src/daily-emails/2023-03-13.md b/src/content/daily-email/2023-03-13.md similarity index 100% rename from src/daily-emails/2023-03-13.md rename to src/content/daily-email/2023-03-13.md diff --git a/src/daily-emails/2023-03-14.md b/src/content/daily-email/2023-03-14.md similarity index 100% rename from src/daily-emails/2023-03-14.md rename to src/content/daily-email/2023-03-14.md diff --git a/src/daily-emails/2023-03-15.md b/src/content/daily-email/2023-03-15.md similarity index 100% rename from src/daily-emails/2023-03-15.md rename to src/content/daily-email/2023-03-15.md diff --git a/src/daily-emails/2023-03-21.md b/src/content/daily-email/2023-03-21.md similarity index 100% rename from src/daily-emails/2023-03-21.md rename to src/content/daily-email/2023-03-21.md diff --git a/src/daily-emails/2023-03-22.md b/src/content/daily-email/2023-03-22.md similarity index 100% rename from src/daily-emails/2023-03-22.md rename to src/content/daily-email/2023-03-22.md diff --git a/src/daily-emails/2023-03-27.md b/src/content/daily-email/2023-03-27.md similarity index 100% rename from src/daily-emails/2023-03-27.md rename to src/content/daily-email/2023-03-27.md diff --git a/src/daily-emails/2023-04-07.md b/src/content/daily-email/2023-04-07.md similarity index 100% rename from src/daily-emails/2023-04-07.md rename to src/content/daily-email/2023-04-07.md diff --git a/src/daily-emails/2023-04-08.md b/src/content/daily-email/2023-04-08.md similarity index 93% rename from src/daily-emails/2023-04-08.md rename to src/content/daily-email/2023-04-08.md index b4a20d81..56e56061 100644 --- a/src/daily-emails/2023-04-08.md +++ b/src/content/daily-email/2023-04-08.md @@ -18,4 +18,4 @@ I usually have multiple windows inside a session. Neovim will be in the main one If I need to split a window and have Neovim on the left and a terminal for running tests on the right, I can do this with different panes. -Being able to organise my workspace in this way has become a big part of my development workflow and my productivity. +Being able to organise my workspace in this way has become a big part blogof my development workflow and my productivity. diff --git a/src/pages/archive.xml.js b/src/pages/archive.xml.js index 386c885f..4653a662 100644 --- a/src/pages/archive.xml.js +++ b/src/pages/archive.xml.js @@ -1,20 +1,29 @@ +import MarkdownIt from 'markdown-it'; import rss from '@astrojs/rss'; +import sanitizeHtml from 'sanitize-html'; +import { getCollection } from 'astro:content'; -const emailImportResult = import.meta.glob('../daily-emails/*.md', { eager: true }); -const emails = Object.values(emailImportResult) - .sort((a, b) => - new Date(b.frontmatter.pubDate).valueOf() - - new Date(a.frontmatter.pubDate).valueOf() - ) +export async function get() { + const emails = await getCollection('daily-email'); -export const get = () => rss({ + const sortedEmails = Object.values(emails) + .sort((a, b) => + new Date(b.data.pubDate).valueOf() - + new Date(a.data.pubDate).valueOf() + ); + + const parser = new MarkdownIt(); + + return rss({ title: 'Daily email list', description: 'A daily newsletter on software development, DevOps, community, and open-source.', site: import.meta.env.SITE, - items: emails.slice(0, 1).map((email) => ({ - description: `
${email.compiledContent()}
`, - link: `${import.meta.env.SITE}${email.frontmatter.permalink}`, - title: email.frontmatter.title, - pubDate: email.frontmatter.pubDate, + + items: sortedEmails.slice(0, 1).map((email) => ({ + description: `
${sanitizeHtml(parser.render(email.body))}
`, + link: `${import.meta.env.SITE}/${email.data.permalink}`, + pubDate: email.data.pubDate, + title: email.data.title, })) }); +}; diff --git a/src/pages/archive/[...page].astro b/src/pages/archive/[...page].astro index ec213cf8..21000ba5 100644 --- a/src/pages/archive/[...page].astro +++ b/src/pages/archive/[...page].astro @@ -1,13 +1,15 @@ --- import DailyEmailForm from "~/components/DailyEmailForm.astro"; import Layout from "~/layouts/DailyEmailLayout.astro"; +import { getCollection } from 'astro:content'; export async function getStaticPaths({ paginate }) { - const emails = await Astro.glob("../../daily-emails/*.{md,mdx}"); + const emails = await getCollection('daily-email'); + const sortedEmails = emails.sort( (a, b) => - new Date(b.frontmatter.pubDate).valueOf() - - new Date(a.frontmatter.pubDate).valueOf() + new Date(b.data.pubDate).valueOf() - + new Date(a.data.pubDate).valueOf() ); return paginate(sortedEmails, { pageSize: 20 }); @@ -21,13 +23,13 @@ const { page } = Astro.props; { page.data.map((email) => (
  • - - {new Date(email.frontmatter.pubDate).toLocaleDateString("en-GB", { + + {new Date(email.data.pubDate).toLocaleDateString("en-GB", { day: "numeric", month: "long", year: "numeric", })}: - {email.frontmatter.title} + {email.data.title}
  • )) diff --git a/src/pages/archive/[year]/[month]/[day]/[slug].astro b/src/pages/archive/[year]/[month]/[day]/[slug].astro index 284d91b3..92c0e478 100644 --- a/src/pages/archive/[year]/[month]/[day]/[slug].astro +++ b/src/pages/archive/[year]/[month]/[day]/[slug].astro @@ -1,24 +1,25 @@ --- import DailyEmailForm from "~/components/DailyEmailForm.astro"; import Layout from "~/layouts/DailyEmailLayout.astro"; +import { getCollection } from 'astro:content'; +import { format, formatDistance, formatRelative, subDays } from 'date-fns' export async function getStaticPaths() { - const emails = await Astro.glob("../../../../../daily-emails/*.{md,mdx}"); + const emails = await getCollection('daily-email'); return emails.map((email) => { - const pubDate = email.frontmatter.pubDate.split("T")[0].split("-"); - - const slug = email.frontmatter.permalink + const slug = email.data.permalink .replace("archive/", "") .replace("\n", ""); + const slugParts = slug.split("/"); return { params: { - day: pubDate[2], - month: pubDate[1], + day: format(email.data.pubDate, 'dd'), + month: format(email.data.pubDate, 'MM'), slug: slugParts.reverse()[0], - year: pubDate[0], + year: format(email.data.pubDate, 'Y'), }, props: { email, @@ -27,8 +28,8 @@ export async function getStaticPaths() { }); } -const { Content } = Astro.props.email; -const { title } = Astro.props.email.frontmatter; +const { Content } = await Astro.props.email.render(); +const { title } = Astro.props.email.data; --- diff --git a/yarn.lock b/yarn.lock index dde1d16d..1f97f572 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1189,6 +1189,11 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + array-iterate@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/array-iterate/-/array-iterate-2.0.1.tgz#6efd43f8295b3fee06251d3d62ead4bd9805dd24" @@ -1527,6 +1532,11 @@ cssesc@^3.0.0: resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== +date-fns@^2.29.3: + version "2.29.3" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.29.3.tgz#27402d2fc67eb442b511b70bbdf98e6411cd68a8" + integrity sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA== + debug@^4.0.0, debug@^4.1.0, debug@^4.3.4: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" @@ -1607,6 +1617,36 @@ dlv@^1.1.3: resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== +dom-serializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" + integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.2" + entities "^4.2.0" + +domelementtype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== + +domhandler@^5.0.1, domhandler@^5.0.2, domhandler@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" + integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== + dependencies: + domelementtype "^2.3.0" + +domutils@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.0.1.tgz#696b3875238338cb186b6c0612bd4901c89a4f1c" + integrity sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q== + dependencies: + dom-serializer "^2.0.0" + domelementtype "^2.3.0" + domhandler "^5.0.1" + dset@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/dset/-/dset-3.1.2.tgz#89c436ca6450398396dc6538ea00abc0c54cd45a" @@ -1647,6 +1687,16 @@ emoji-regex@^9.2.2: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== +entities@^4.2.0, entities@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.4.0.tgz#97bdaba170339446495e653cfd2db78962900174" + integrity sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA== + +entities@~3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/entities/-/entities-3.0.1.tgz#2b887ca62585e96db3903482d336c1006c3001d4" + integrity sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q== + es-module-lexer@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.1.0.tgz#bf56a09b5f1c6aea6ba231b0a636a0f60c410b70" @@ -1695,6 +1745,11 @@ escape-string-regexp@^1.0.5: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + escape-string-regexp@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8" @@ -2076,6 +2131,16 @@ html-void-elements@^2.0.0: resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-2.0.1.tgz#29459b8b05c200b6c5ee98743c41b979d577549f" integrity sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A== +htmlparser2@^8.0.0: + version "8.0.2" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-8.0.2.tgz#f002151705b383e62433b5cf466f5b716edaec21" + integrity sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.3" + domutils "^3.0.1" + entities "^4.4.0" + human-signals@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-3.0.1.tgz#c740920859dafa50e5a3222da9d3bf4bb0e5eef5" @@ -2309,6 +2374,13 @@ lilconfig@^2.0.5, lilconfig@^2.0.6: resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.6.tgz#32a384558bd58af3d4c6e077dd1ad1d397bc69d4" integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg== +linkify-it@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-4.0.1.tgz#01f1d5e508190d06669982ba31a7d9f56a5751ec" + integrity sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw== + dependencies: + uc.micro "^1.0.1" + load-yaml-file@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/load-yaml-file/-/load-yaml-file-0.2.0.tgz#af854edaf2bea89346c07549122753c07372f64d" @@ -2392,6 +2464,17 @@ markdown-extensions@^1.0.0: resolved "https://registry.yarnpkg.com/markdown-extensions/-/markdown-extensions-1.1.1.tgz#fea03b539faeaee9b4ef02a3769b455b189f7fc3" integrity sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q== +markdown-it@^13.0.1: + version "13.0.1" + resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-13.0.1.tgz#c6ecc431cacf1a5da531423fc6a42807814af430" + integrity sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q== + dependencies: + argparse "^2.0.1" + entities "~3.0.1" + linkify-it "^4.0.1" + mdurl "^1.0.1" + uc.micro "^1.0.5" + markdown-table@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-3.0.3.tgz#e6331d30e493127e031dd385488b5bd326e4a6bd" @@ -2589,6 +2672,11 @@ mdast-util-to-string@^3.0.0, mdast-util-to-string@^3.1.0: dependencies: "@types/mdast" "^3.0.0" +mdurl@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" + integrity sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g== + merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" @@ -3182,6 +3270,11 @@ parse-latin@^5.0.0: unist-util-modify-children "^3.0.0" unist-util-visit-children "^2.0.0" +parse-srcset@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/parse-srcset/-/parse-srcset-1.0.2.tgz#f2bd221f6cc970a938d88556abc589caaaa2bde1" + integrity sha512-/2qh0lav6CmI15FzA3i/2Bzk2zCgQhGMkvhOhKNcBVQ1ldgpbfiNTVslmooUmWJcADi1f1kIeynbDRVzNlfR6Q== + parse5@^6.0.0: version "6.0.1" resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" @@ -3323,7 +3416,7 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@^8.4.14, postcss@^8.4.18, postcss@^8.4.21: +postcss@^8.3.11, postcss@^8.4.14, postcss@^8.4.18, postcss@^8.4.21: version "8.4.21" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4" integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg== @@ -3594,6 +3687,18 @@ safe-buffer@^5.0.1, safe-buffer@~5.2.0: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== +sanitize-html@^2.10.0: + version "2.10.0" + resolved "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-2.10.0.tgz#74d28848dfcf72c39693139131895c78900ab452" + integrity sha512-JqdovUd81dG4k87vZt6uA6YhDfWkUGruUu/aPmXLxXi45gZExnt9Bnw/qeQU8oGf82vPyaE0vO4aH0PbobB9JQ== + dependencies: + deepmerge "^4.2.2" + escape-string-regexp "^4.0.0" + htmlparser2 "^8.0.0" + is-plain-object "^5.0.0" + parse-srcset "^1.0.2" + postcss "^8.3.11" + sass-formatter@^0.7.5: version "0.7.5" resolved "https://registry.yarnpkg.com/sass-formatter/-/sass-formatter-0.7.5.tgz#60fc3756267368d82877c6abf2c148f0c9291d6d" @@ -3918,6 +4023,11 @@ typescript@*: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.4.tgz#a2a3d2756c079abda241d75f149df9d561091e78" integrity sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg== +uc.micro@^1.0.1, uc.micro@^1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac" + integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA== + undici@5.20.0: version "5.20.0" resolved "https://registry.yarnpkg.com/undici/-/undici-5.20.0.tgz#6327462f5ce1d3646bcdac99da7317f455bcc263"