From 74bbae51010aeb50b4412f2d1b7346be1b23604a Mon Sep 17 00:00:00 2001 From: Ivan Kuzmenko <6745157+rndtrash@users.noreply.github.com> Date: Wed, 1 Oct 2025 04:27:02 +0300 Subject: [PATCH] =?UTF-8?q?=D0=90=D0=B2=D1=82=D0=BE=D1=80(=D1=8B)=20=D0=BF?= =?UTF-8?q?=D0=BE=D1=81=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app.d.ts | 1 + src/blogs/hello_world.md | 3 ++- src/routes/blog/[slug]/+page.svelte | 18 ++++++++++++++++-- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/app.d.ts b/src/app.d.ts index f14e84e..189ca86 100644 --- a/src/app.d.ts +++ b/src/app.d.ts @@ -29,6 +29,7 @@ declare global { publisher: string; published?: boolean; projects?: string[]; + authors?: string | string[]; } } } diff --git a/src/blogs/hello_world.md b/src/blogs/hello_world.md index a1c135a..b328014 100644 --- a/src/blogs/hello_world.md +++ b/src/blogs/hello_world.md @@ -4,6 +4,7 @@ thumbnail: 'wave.png' thumbnailAlt: 'Смайлик с махающей рукой' date: '2025-09-30' description: 'Немного о том, как мы делали наш сайт' +authors: 'rndtrash' --- # ПРИВЕТ ! @@ -82,7 +83,7 @@ RSS в этом плане нам очень удобен, во-первых, п но и машины. В нашем случае это Discord-бот [FeedCord](https://github.com/Qolors/FeedCord/). Ура, можно не городить свой воркфлоу, дёргающий [веб-хуки](https://discord.com/developers/docs/resources/webhook)! Поскольку SvelteKit — это fullstack-фреймворк, на нём же напишем простую ручку [rss.xml](https://teasanctuary.ru/blog/rss.xml). Это будет простая функция `GET()`, -возвращающая текст, ручками слепленный в что-то приблизительно похожее на XML. Но погодите, наш сайт же статичный, как мы будем вызывать эту JS-функцию! +возвращающая текст, ручками слепленный в что-то приблизительно похожее на XML. Но погодите, наш сайт же статичный, как мы будем вызывать эту JS-функцию? _Внимание, фокус!_ Мы берём обычный файл `src/routes/blog/rss.xml/+server.ts`, и добавляем в него волшебную строчку: diff --git a/src/routes/blog/[slug]/+page.svelte b/src/routes/blog/[slug]/+page.svelte index 0ac6d22..3c6f2b3 100644 --- a/src/routes/blog/[slug]/+page.svelte +++ b/src/routes/blog/[slug]/+page.svelte @@ -2,12 +2,18 @@ import { page } from '$app/state'; import DateWidget from '$src/lib/components/DateWidget.svelte'; import InfoBlock from '$src/lib/components/InfoBlock.svelte'; - import type { PageData } from './$types'; import Icon from '@iconify/svelte'; + import type { PageData } from './$types'; export let data: PageData; const isPublic = !!data.blogPost.date; + const authors = + data.blogPost.authors == null + ? [] + : typeof data.blogPost.authors === 'string' + ? [data.blogPost.authors] + : data.blogPost.authors; @@ -30,7 +36,7 @@
@@ -38,6 +44,14 @@ {#if data.blogPost.dateChanged} {/if} + {#each authors as author} + + + + {author} + + + {/each}
{#if page.data.blogPost.projects?.length > 0}