feat: 添加RSS订阅功能及页脚支持

- 新增RSS订阅功能,支持获取最近7天的日报内容
- 添加页脚插入功能,包含播客平台链接和图片
- 实现GitHub文件内容获取接口
- 优化日期处理工具函数,增加RSS日期格式支持
- 使用marked.js替换原有markdown解析器
- 在提交到GitHub时同时存储报告数据到KV
This commit is contained in:
justlovemaki
2025-06-14 22:18:26 +08:00
parent 101453894f
commit 1841248fec
12 changed files with 2472 additions and 303 deletions

View File

@@ -87,4 +87,35 @@ export async function createOrUpdateGitHubFile(env, filePath, content, commitMes
payload.sha = existingSha;
}
return callGitHubApi(env, `/contents/${filePath}`, 'PUT', payload);
}
}
/**
* Gets the content of a file from GitHub.
*/
export async function getDailyReportContent(env, filePath) {
const GITHUB_BRANCH = env.GITHUB_BRANCH || 'main';
const GITHUB_REPO_OWNER = env.GITHUB_REPO_OWNER;
const GITHUB_REPO_NAME = env.GITHUB_REPO_NAME;
if (!GITHUB_REPO_OWNER || !GITHUB_REPO_NAME) {
console.error("GitHub environment variables (GITHUB_REPO_OWNER, GITHUB_REPO_NAME) are not configured.");
throw new Error("GitHub API configuration is missing in environment variables.");
}
const rawUrl = `https://raw.githubusercontent.com/${GITHUB_REPO_OWNER}/${GITHUB_REPO_NAME}/${GITHUB_BRANCH}/${filePath}`;
console.log(rawUrl)
try {
const response = await fetch(rawUrl);
if (!response.ok) {
if (response.status === 404) {
console.log(`File not found: ${filePath} on branch ${GITHUB_BRANCH}`);
return null;
}
throw new Error(`Failed to fetch file from GitHub: ${response.status} ${response.statusText}`);
}
return await response.text();
} catch (error) {
console.error(`Error fetching daily report content from ${rawUrl}:`, error);
throw error;
}
}