https://github.com/pathcosmos/matrix-news-on-mac
https://github.com/pathcosmos/matrix-news-on-mac
Last synced: 21 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/pathcosmos/matrix-news-on-mac
- Owner: pathcosmos
- Created: 2026-05-13T09:02:23.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-05-27T17:59:12.000Z (22 days ago)
- Last Synced: 2026-05-27T18:25:27.808Z (22 days ago)
- Language: Swift
- Size: 1.85 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Matrix News
Matrix-style Korean news viewer for Apple devices. The app shows one focused MBC news item at a time, types the title and summary character by character, pauses briefly, then advances to the next story. The background uses Korean Matrix rain while the foreground news remains readable.
## What is implemented
- SwiftUI app code for macOS, iPhone, iPad, and Apple TV.
- Testable `MatrixNewsCore` Swift package with models, RSS/MBC JSON parsing, URL normalization, deduplication, settings, and local personalization.
- `matrix-news-fetcher` command that reads configured feeds and writes `Data/manifest.json`, `Data/latest.json`, and `Data/sources.json`.
- GitHub Actions workflow that refreshes the data repository every 10 minutes.
- Default app data loading from `https://raw.githubusercontent.com/pathcosmos/matrix-news-on-mac/main/Data/`, with `NEWS_DATA_BASE_URL` still available as an override.
- iCloud KVS-backed settings/preference persistence in the app.
## Run locally
```bash
swift test
swift run matrix-news
```
To refresh news data manually:
```bash
swift run matrix-news-fetcher --sources Config/news-sources.json --output Data --license-scope test-only --limit 50 --minimum-items 50
```
## Xcode app
Open `MatrixNews.xcodeproj` and build the `MatrixNews` scheme. The project contains one app target with shared SwiftUI code for macOS, iOS, iPadOS, and tvOS.
For iCloud sync and device/App Store builds, set your Apple Developer Team in the target Signing & Capabilities settings. `MatrixNews.entitlements` already includes the iCloud key-value store entitlement placeholder.
## News source policy
The included MBC feed endpoint is marked `test-only`. It is suitable for development and private testing only until you secure the rights needed for a public commercial app. For a commercial release, set only licensed sources to `"licenseStatus" : "licensed"` and run the fetcher with:
```bash
swift run matrix-news-fetcher --sources Config/news-sources.json --output Data --license-scope licensed
```