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 @@
{publicationDate}
+ {#if coverImage}
+
+ {/if}
{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); };