feat: 環境変数PODCAST_BASE_URLを追加し、podcast.tsで利用するように変更

This commit is contained in:
2025-06-04 13:44:02 +09:00
committed by Satsuki Akiba (aider)
parent 0fb2c79bdb
commit e6a6353a6c
2 changed files with 13 additions and 8 deletions

View File

@ -8,6 +8,7 @@ OPENAI_API_ENDPOINT=https://api.openai.com/v1
OPENAI_MODEL_NAME=gpt-4o-mini OPENAI_MODEL_NAME=gpt-4o-mini
# RSSフィードの設定 # RSSフィードの設定
PODCAST_BASE_URL=https://your-domain.com
PODCAST_TITLE=自動生成ポッドキャスト PODCAST_TITLE=自動生成ポッドキャスト
PODCAST_LINK=https://your-domain.com/podcast PODCAST_LINK=https://your-domain.com/podcast
PODCAST_DESCRIPTION=RSSフィードから自動生成された音声ポッドキャスト PODCAST_DESCRIPTION=RSSフィードから自動生成された音声ポッドキャスト

View File

@ -7,21 +7,25 @@ import fsSync from "node:fs";
export async function updatePodcastRSS() { export async function updatePodcastRSS() {
const episodes: Episode[] = await fetchAllEpisodes(); const episodes: Episode[] = await fetchAllEpisodes();
const channelTitle = process.env["PODCAST_TITLE"] ?? "自動生成ポッドキャスト"; const channelTitle =
import.meta.env["PODCAST_TITLE"] ?? "自動生成ポッドキャスト";
const channelLink = const channelLink =
process.env["PODCAST_LINK"] ?? "https://your-domain.com/podcast"; import.meta.env["PODCAST_LINK"] ?? "https://your-domain.com/podcast";
const channelDescription = const channelDescription =
process.env["PODCAST_DESCRIPTION"] ?? import.meta.env["PODCAST_DESCRIPTION"] ??
"RSSフィードから自動生成された音声ポッドキャスト"; "RSSフィードから自動生成された音声ポッドキャスト";
const channelLanguage = process.env["PODCAST_LANGUAGE"] ?? "ja"; const channelLanguage = import.meta.env["PODCAST_LANGUAGE"] ?? "ja";
const channelAuthor = process.env["PODCAST_AUTHOR"] ?? "管理者"; const channelAuthor = import.meta.env["PODCAST_AUTHOR"] ?? "管理者";
const channelCategories = process.env["PODCAST_CATEGORIES"] ?? "Technology"; const channelCategories =
const channelTTL = process.env["PODCAST_TTL"] ?? "60"; import.meta.env["PODCAST_CATEGORIES"] ?? "Technology";
const channelTTL = import.meta.env["PODCAST_TTL"] ?? "60";
const lastBuildDate = new Date().toUTCString(); const lastBuildDate = new Date().toUTCString();
const baseUrl =
import.meta.env["PODCAST_BASE_URL"] ?? "https://your-domain.com";
let itemsXml = ""; let itemsXml = "";
for (const ep of episodes) { 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 pubDate = new Date(ep.pubDate).toUTCString();
const fileSize = fsSync.statSync(ep.audioPath).size; const fileSize = fsSync.statSync(ep.audioPath).size;
itemsXml += ` itemsXml += `