2025-03-28 16:57:03 +08:00
2024-11-24 23:55:03 +08:00
2025-01-19 16:27:27 +08:00
2025-03-15 13:03:49 +08:00
2024-10-28 22:22:58 +08:00
2025-03-28 16:57:03 +08:00
2025-03-27 18:46:36 +08:00
2024-10-09 02:54:11 +08:00
2024-10-25 03:06:03 +08:00
2024-10-24 02:17:47 +08:00
2024-10-31 01:12:44 +08:00
2024-10-31 14:21:11 +08:00
2024-10-24 02:17:47 +08:00
2025-03-04 13:31:57 +08:00
2024-10-31 14:21:11 +08:00
2024-10-11 01:45:42 +08:00
2025-03-04 13:31:57 +08:00
2025-03-27 20:15:13 +08:00
2025-03-10 20:23:49 +08:00
2024-09-29 20:57:24 +08:00
2024-09-29 20:57:24 +08:00
2025-03-10 20:23:49 +08:00
2025-03-10 20:23:49 +08:00
2024-10-31 01:12:44 +08:00

NewsNow

Featured|HelloGitHub

English | 简体中文 | 日本語

Note

This is a demo version currently supporting Chinese only. A full-featured version with better customization and English content support will be released later.

Elegant reading of real-time and hottest news

Features

  • Clean and elegant UI design for optimal reading experience
  • Real-time updates on trending news
  • GitHub OAuth login with data synchronization
  • 30-minute default cache duration (logged-in users can force refresh)
  • Adaptive scraping interval (minimum 2 minutes) based on source update frequency to optimize resource usage and prevent IP bans

Deployment

Basic Deployment

For deployments without login and caching:

  1. Fork this repository
  2. Import to platforms like Cloudflare Page or Vercel

Cloudflare Page Configuration

  • Build command: pnpm run build
  • Output directory: dist/output/public

GitHub OAuth Setup

  1. Create a GitHub App
  2. No special permissions required
  3. Set callback URL to: https://your-domain.com/api/oauth/github (replace your-domain with your actual domain)
  4. Obtain Client ID and Client Secret

Environment Variables

Refer to example.env.server. For local development, rename it to .env.server and configure:

# Github Client ID
G_CLIENT_ID=
# Github Client Secret
G_CLIENT_SECRET=
# JWT Secret, usually the same as Client Secret
JWT_SECRET=
# Initialize database, must be set to true on first run, can be turned off afterward
INIT_TABLE=true
# Whether to enable cache
ENABLE_CACHE=true

Database Support

Supported database connectors: https://db0.unjs.io/connectors Cloudflare D1 Database is recommended.

  1. Create D1 database in Cloudflare Worker dashboard
  2. Configure database_id and database_name in wrangler.toml
  3. If wrangler.toml doesn't exist, rename example.wrangler.toml and modify configurations
  4. Changes will take effect on next deployment

Docker Deployment

In project root directory:

docker compose up

You can also set Environment Variables in docker-compose.yml.

Development

[!TIP] Requires Node.js >= 20

corepack enable
pnpm i
pnpm dev

Adding Data Sources

Refer to shared/sources and server/sources directories. The project provides complete type definitions and a clean architecture.

License

MIT © ourongxing

S
Description
No description provided
Readme MIT
5.5 MiB
v0.0.12
Latest
2025-12-07 20:30:15 +08:00
Languages
TypeScript 96.2%
CSS 1.5%
HTML 1.5%
JavaScript 0.6%
Dockerfile 0.2%