From e6a6353a6cea85e1ac8231fd44dcbb5aaee6d087 Mon Sep 17 00:00:00 2001 From: Satsuki Akiba Date: Wed, 4 Jun 2025 13:44:02 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=92=B0=E5=A2=83=E5=A4=89=E6=95=B0POD?= =?UTF-8?q?CAST=5FBASE=5FURL=E3=82=92=E8=BF=BD=E5=8A=A0=E3=81=97=E3=80=81p?= =?UTF-8?q?odcast.ts=E3=81=A7=E5=88=A9=E7=94=A8=E3=81=99=E3=82=8B=E3=82=88?= =?UTF-8?q?=E3=81=86=E3=81=AB=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.example | 1 + services/podcast.ts | 20 ++++++++++++-------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/.env.example b/.env.example index 11ecad7..303757d 100644 --- a/.env.example +++ b/.env.example @@ -8,6 +8,7 @@ OPENAI_API_ENDPOINT=https://api.openai.com/v1 OPENAI_MODEL_NAME=gpt-4o-mini # RSSフィードの設定 +PODCAST_BASE_URL=https://your-domain.com PODCAST_TITLE=自動生成ポッドキャスト PODCAST_LINK=https://your-domain.com/podcast PODCAST_DESCRIPTION=RSSフィードから自動生成された音声ポッドキャスト diff --git a/services/podcast.ts b/services/podcast.ts index 2518b11..01eca89 100644 --- a/services/podcast.ts +++ b/services/podcast.ts @@ -7,21 +7,25 @@ import fsSync from "node:fs"; export async function updatePodcastRSS() { const episodes: Episode[] = await fetchAllEpisodes(); - const channelTitle = process.env["PODCAST_TITLE"] ?? "自動生成ポッドキャスト"; + const channelTitle = + import.meta.env["PODCAST_TITLE"] ?? "自動生成ポッドキャスト"; const channelLink = - process.env["PODCAST_LINK"] ?? "https://your-domain.com/podcast"; + import.meta.env["PODCAST_LINK"] ?? "https://your-domain.com/podcast"; const channelDescription = - process.env["PODCAST_DESCRIPTION"] ?? + import.meta.env["PODCAST_DESCRIPTION"] ?? "RSSフィードから自動生成された音声ポッドキャスト"; - const channelLanguage = process.env["PODCAST_LANGUAGE"] ?? "ja"; - const channelAuthor = process.env["PODCAST_AUTHOR"] ?? "管理者"; - const channelCategories = process.env["PODCAST_CATEGORIES"] ?? "Technology"; - const channelTTL = process.env["PODCAST_TTL"] ?? "60"; + const channelLanguage = import.meta.env["PODCAST_LANGUAGE"] ?? "ja"; + const channelAuthor = import.meta.env["PODCAST_AUTHOR"] ?? "管理者"; + const channelCategories = + import.meta.env["PODCAST_CATEGORIES"] ?? "Technology"; + const channelTTL = import.meta.env["PODCAST_TTL"] ?? "60"; const lastBuildDate = new Date().toUTCString(); + const baseUrl = + import.meta.env["PODCAST_BASE_URL"] ?? "https://your-domain.com"; let itemsXml = ""; for (const ep of episodes) { - const fileUrl = `https://your-domain.com/podcast_audio/${path.basename(ep.audioPath)}`; + const fileUrl = `${baseUrl}/podcast_audio/${path.basename(ep.audioPath)}`; const pubDate = new Date(ep.pubDate).toUTCString(); const fileSize = fsSync.statSync(ep.audioPath).size; itemsXml += `