Skip to content

bruceblink/LatestNews

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The Latest News

优雅地阅读实时热门新闻

Note

当前版本为 DEMO,仅支持中文。正式版将提供更好的定制化功能和英文内容支持。 当前项目是基于newsnow,不得不承认原项目是一个优秀的项目, 但是也有许多小问题,我会修复它们。由于我的个人风格和审美和原作者的差异比较大,我想基于个人想法开发出一个新的项目,并加入一些其他的功能和技术。

功能特性

  • 优雅的阅读界面设计,实时获取最新热点新闻
  • 支持 GitHub 登录及数据同步
  • 默认缓存时长为 30 分钟,登录用户可强制刷新获取最新数据
  • 登录用户支持同步用户关注的内容
  • 根据内容源更新频率动态调整抓取间隔(最快每 2 分钟),避免频繁抓取导致 IP 被封禁

部署指南

基础部署

无需登录和缓存功能时,可直接部署至 Cloudflare Pages 或 Vercel:

  1. Fork 本仓库
  2. 导入至目标平台

Cloudflare Pages 配置(必须按如下配置)

  • 构建命令:pnpm run build
  • 输出目录:dist/output/public

环境变量配置

参考 example.env.server 文件,本地运行时重命名为 .env 并填写以下配置:

# 网页的标签title
VITE_APP_TITLE=LatestNews
# 只有配置了VITE_API_URL和JWT_SECRET两个环境变量才有登录按钮选项
VITE_API_URL=http://localhost:8000  # 配置后端登录相关服务使用的API地址
JWT_SECRET=  # 可以使用`openssl rand -base64 32` 生成 # 配置后端登录相关服务使用的jwt密钥,与后端的API保持一致
# 初始化数据库, 首次运行必须设置为 true,之后可以将其关闭
INIT_TABLE=true
# 是否启用缓存
ENABLE_CACHE=true

以上为最基本的环境变量配置VITE_APP_TITLEINIT_TABLEENABLE_CACHE 必须配置,VITE_API_URLJWT_SECRET为可选配置,如果不配置将没有登录和手动刷新功能,登录后才能同步用户关注和页面布局等配置到其他浏览器。

数据库支持

本项目主推 Cloudflare Pages 以及 Docker 部署, ~~~Vercel 需要你自行搞定数据库( 尝试了很多种方式vercel上部署,数据库的问题无法解决,如果需要完整功能推荐使用Cloudflare Pages)~~ ,其他支持的数据库可以查看 https://db0.unjs.io/connectors

  1. 在 Cloudflare Worker 控制面板创建 D1 数据库
  2. wrangler.toml 中配置 database_iddatabase_name
  3. 若无 wrangler.toml ,可将 example.wrangler.toml 重命名并修改配置
  4. 重新部署生效

Docker 部署

对于 Docker 部署,只需要项目根目录 docker-compose.yaml 文件,同一目录下执行

  docker-compose -f docker-compose.yaml up

同样可以通过 docker-compose.yaml 配置环境变量。

开发

Note

需要 Node.js >= 22

启动应用

  npm install -g pnpm
  pnpm i
  pnpm dev

你可能想要添加数据源,请关注 shared/sources server/sources,项目类型完备,结构简单,请自行探索。

路线图

  • 添加 多语言支持(英语、中文,更多语言即将推出)
  • 改进 个性化选项(基于分类的新闻、保存的偏好设置)
  • 扩展 数据源 以涵盖多种语言的全球新闻

贡献指南

欢迎贡献代码!您可以提交 pull request 或创建 issue 来提出功能请求和报告 bug

License

MIT

Contributors

Sponsor Buy Me Coffee

Acknowledgements

Contact

Thank you for checking out this project! If you find it useful, consider giving it a star and helping spread the word.

About

一个实时的新闻聚合web app

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages