https://github.com/ourongxing/newsnow
Elegant reading of real-time and hottest news
https://github.com/ourongxing/newsnow
elegant news
Last synced: 12 days ago
JSON representation
Elegant reading of real-time and hottest news
- Host: GitHub
- URL: https://github.com/ourongxing/newsnow
- Owner: ourongxing
- License: mit
- Created: 2024-09-23T14:16:12.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-09-17T06:01:15.000Z (about 2 months ago)
- Last Synced: 2025-09-17T08:13:02.962Z (about 2 months ago)
- Topics: elegant, news
- Language: TypeScript
- Homepage: https://newsnow.busiyi.world
- Size: 5.06 MB
- Stars: 12,974
- Watchers: 39
- Forks: 3,906
- Open Issues: 90
-
Metadata Files:
- Readme: README.ja-JP.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README

[English](./README.md) | [简体中文](README.zh-CN.md) | 日本語
> [!NOTE]
> 本バージョンはデモ版であり、現在中国語のみ対応しています。カスタマイズ機能や英語コンテンツをサポートした正式版は後日リリース予定です。
***リアルタイムで最新のニュースをエレガントに読む***
## 機能
- 最適な読書体験のためのクリーンでエレガントなUIデザイン
- トレンドニュースのリアルタイム更新
- GitHub OAuthログインとデータ同期
- デフォルトのキャッシュ期間は30分(ログインユーザーは強制更新可能)
- リソース使用を最適化し、IPブロックを防ぐためのソース更新頻度に基づく適応型スクレイピング間隔(最短2分)
- MCPサーバーをサポート
```json
{
"mcpServers": {
"newsnow": {
"command": "npx",
"args": [
"-y",
"newsnow-mcp-server"
],
"env": {
"BASE_URL": "https://newsnow.busiyi.world"
}
}
}
}
```
## デプロイ
### 基本デプロイ
ログインとキャッシュ機能なしでデプロイする場合:
1. このリポジトリをフォーク
2. Cloudflare PagesやVercelなどのプラットフォームにインポート
### Cloudflare Pages設定
- ビルドコマンド:`pnpm run build`
- 出力ディレクトリ:`dist/output/public`
### GitHub OAuth設定
1. [GitHub Appを作成](https://github.com/settings/applications/new)
2. 特別な権限は不要
3. コールバックURLを設定:`https://your-domain.com/api/oauth/github`(your-domainを実際のドメインに置き換え)
4. Client IDとClient Secretを取得
### 環境変数
`example.env.server`を参照。ローカル開発では、`.env.server`にリネームして以下を設定:
```env
# GitHub Client ID
G_CLIENT_ID=
# GitHub Client Secret
G_CLIENT_SECRET=
# JWT Secret(通常はClient Secretと同じ)
JWT_SECRET=
# データベース初期化(初回実行時はtrueに設定)
INIT_TABLE=true
# キャッシュを有効にするかどうか
ENABLE_CACHE=true
```
### データベースサポート
対応データベースコネクタ: https://db0.unjs.io/connectors Cloudflare D1 Database を推奨。
1. Cloudflare WorkerダッシュボードでD1データベースを作成
2. `wrangler.toml` に `database_id` と `database_name` を設定
3. `wrangler.toml` が存在しない場合、 `example.wrangler.toml` をリネームして設定を変更
4. 次回デプロイ時に変更が反映
### Dockerデプロイ
プロジェクトルートディレクトリで:
```sh
docker compose up
```
環境変数は `docker-compose.yml` でも設定可能。
## 開発
> [!TIP]
> Node.js >= 20が必要
```sh
corepack enable
pnpm i
pnpm dev
```
### データソースの追加
`shared/sources` と `server/sources` ディレクトリを参照。プロジェクトは完全な型定義とクリーンなアーキテクチャを提供します。
## ロードマップ
- **多言語サポート**の追加(英語、中国語、その他言語を順次対応)
- **パーソナライズオプション**の改善(カテゴリ別ニュース、保存された設定)
- **データソース**の拡充による多言語対応のグローバルニュースカバレッジ
## コントリビューション
コントリビューションを歓迎します!機能リクエストやバグレポートのために、プルリクエストやイシューの作成をお気軽にどうぞ。
## ライセンス
MIT © ourongxing