From dc9a2eabe9e7d34b1643ebc00281e99e82211fdb Mon Sep 17 00:00:00 2001 From: thiloho <123883702+thiloho@users.noreply.github.com> Date: Sat, 17 Aug 2024 20:21:23 +0200 Subject: [PATCH] Include stylesheet in static file generation --- nix/module.nix | 1 + .../src/lib/templates/blog/BlogArticle.svelte | 5 ++++- .../src/lib/templates/blog/BlogIndex.svelte | 5 ++++- web-app/src/lib/templates/blog/styles.css | 18 ++++++++++++++++++ .../[websiteId]/publish/+page.server.ts | 11 +++++++++-- 5 files changed, 36 insertions(+), 4 deletions(-) create mode 100644 web-app/src/lib/templates/blog/styles.css diff --git a/nix/module.nix b/nix/module.nix index b365480..449aeb8 100644 --- a/nix/module.nix +++ b/nix/module.nix @@ -100,6 +100,7 @@ in User = cfg.user; Group = cfg.group; Restart = "always"; + WorkingDirectory = "${cfg.package}/web-app"; }; script = '' diff --git a/web-app/src/lib/templates/blog/BlogArticle.svelte b/web-app/src/lib/templates/blog/BlogArticle.svelte index c5ac578..66e6397 100644 --- a/web-app/src/lib/templates/blog/BlogArticle.svelte +++ b/web-app/src/lib/templates/blog/BlogArticle.svelte @@ -14,6 +14,7 @@ {title} + @@ -28,7 +29,9 @@
- + {#if coverImage} + + {/if}

{title}

{publicationDate}

diff --git a/web-app/src/lib/templates/blog/BlogIndex.svelte b/web-app/src/lib/templates/blog/BlogIndex.svelte index 3d8f76e..a3a3a21 100644 --- a/web-app/src/lib/templates/blog/BlogIndex.svelte +++ b/web-app/src/lib/templates/blog/BlogIndex.svelte @@ -12,6 +12,7 @@ {title} + @@ -45,7 +46,9 @@

{article.title}

-

{article.meta_description ?? "No description provided"}

+ {#if article.meta_description} +

{article.meta_description}

+ {/if} {/each} diff --git a/web-app/src/lib/templates/blog/styles.css b/web-app/src/lib/templates/blog/styles.css new file mode 100644 index 0000000..30939ae --- /dev/null +++ b/web-app/src/lib/templates/blog/styles.css @@ -0,0 +1,18 @@ +:root { + color-scheme: light dark; +} + +body { + margin-inline: auto; + inline-size: min(100% - 2rem, 75ch); + line-height: 1.5; + font-family: system-ui, sans-serif; +} + +img, +picture, +svg, +video { + max-inline-size: 100%; + block-size: auto; +} diff --git a/web-app/src/routes/(authenticated)/website/[websiteId]/publish/+page.server.ts b/web-app/src/routes/(authenticated)/website/[websiteId]/publish/+page.server.ts index d5b4e2c..b8c2c28 100644 --- a/web-app/src/routes/(authenticated)/website/[websiteId]/publish/+page.server.ts +++ b/web-app/src/routes/(authenticated)/website/[websiteId]/publish/+page.server.ts @@ -1,4 +1,4 @@ -import { mkdir, writeFile } from "node:fs/promises"; +import { readFile, mkdir, writeFile } from "node:fs/promises"; import { join } from "node:path"; import { md } from "$lib/utils"; import type { Actions, PageServerLoad } from "./$types"; @@ -85,7 +85,9 @@ const generateStaticFiles = async (websiteData: any, isPreview: boolean = true) title: article.title, logoType: websiteData.logo_type, logo: websiteData.logo_text, - coverImage: `${API_BASE_PREFIX}/rpc/retrieve_file?id=${article.cover_image}`, + coverImage: article.cover_image + ? `${API_BASE_PREFIX}/rpc/retrieve_file?id=${article.cover_image}` + : "", publicationDate: article.publication_date, mainContent: md.render(article.main_content ?? ""), footerAdditionalText: websiteData.additional_text ?? "" @@ -96,4 +98,9 @@ const generateStaticFiles = async (websiteData: any, isPreview: boolean = true) await writeFile(join(uploadDir, "articles", `${articleFileName}.html`), articleFileContents); } + + const styles = await readFile(`${process.cwd()}/src/lib/templates/blog/styles.css`, { + encoding: "utf-8" + }); + await writeFile(join(uploadDir, "styles.css"), styles); };