Directories
¶
| Path | Synopsis |
|---|---|
|
Package app wires the aggregator together: it aggregates the active profile's subscriptions across the provider registry and renders the unified feed into the go-widgets UI scene.
|
Package app wires the aggregator together: it aggregates the active profile's subscriptions across the provider registry and renders the unified feed into the go-widgets UI scene. |
|
cmd
|
|
|
bundle
command
Command bundle assembles the News Reader .app around a built executable, via go-macos/appbundle (pure Go, CGO_ENABLED=0).
|
Command bundle assembles the News Reader .app around a built executable, via go-macos/appbundle (pure Go, CGO_ENABLED=0). |
|
dmg
command
Command dmg wraps the built "News Reader.app" in the disk image it is distributed in: a window with the application on the left, a shortcut to /Applications on the right, and the reader's own icon on the volume.
|
Command dmg wraps the built "News Reader.app" in the disk image it is distributed in: a window with the application on the left, a shortcut to /Applications on the right, and the reader's own icon on the volume. |
|
example-mediacache-plugin
command
Command example-mediacache-plugin is a minimal, self-contained reference media-cache plugin for the news reader: a SHARED / NETWORK cache backed by a plain HTTP store.
|
Command example-mediacache-plugin is a minimal, self-contained reference media-cache plugin for the news reader: a SHARED / NETWORK cache backed by a plain HTTP store. |
|
example-source-plugin
command
Command example-source-plugin is a minimal, self-contained reference feed source plugin for the news reader.
|
Command example-source-plugin is a minimal, self-contained reference feed source plugin for the news reader. |
|
newsreader
command
Command newsreader is the go-news-reader aggregator CLI.
|
Command newsreader is the go-news-reader aggregator CLI. |
|
Package feeds assembles a source.Registry from user configuration, wiring every provider adapter into one place.
|
Package feeds assembles a source.Registry from user configuration, wiring every provider adapter into one place. |
|
internal
|
|
|
appicon
Package appicon holds the application's branded icon assets, embedded into the binary so the app can set its dock / taskbar icon and a menu-bar tray icon without shipping loose files.
|
Package appicon holds the application's branded icon assets, embedded into the binary so the app can set its dock / taskbar icon and a menu-bar tray icon without shipping loose files. |
|
biometric
Package biometric gates a sensitive action behind the platform's owner check — Touch ID, or the device password — so a self-signed build can protect the vault read without a keychain entitlement.
|
Package biometric gates a sensitive action behind the platform's owner check — Touch ID, or the device password — so a self-signed build can protect the vault read without a keychain entitlement. |
|
browsercookies
Package browsercookies imports authentication cookies straight from a locally installed browser, so the reader can pick up a session the user already established by logging in normally — no API app registration, no manual copy-paste of an opaque token.
|
Package browsercookies imports authentication cookies straight from a locally installed browser, so the reader can pick up a session the user already established by logging in normally — no API app registration, no manual copy-paste of an opaque token. |
|
feedstore
Package feedstore persists a source.FeedCache's entries to disk — one small JSON file per subscription — so relaunching the reader serves each feed's last posts and skips re-fetching what is still fresh, instead of hitting every source again on startup.
|
Package feedstore persists a source.FeedCache's entries to disk — one small JSON file per subscription — so relaunching the reader serves each feed's last posts and skips re-fetching what is still fresh, instead of hitting every source again on startup. |
|
httplog
Package httplog records the HTTP exchanges the aggregator's providers make so they can be inspected in-app (the Network log tab).
|
Package httplog records the HTTP exchanges the aggregator's providers make so they can be inspected in-app (the Network log tab). |
|
mediacacheplugin/transport
Package transport is the hashicorp/go-plugin + gRPC glue that carries a mediacache.Cache across a process boundary.
|
Package transport is the hashicorp/go-plugin + gRPC glue that carries a mediacache.Cache across a process boundary. |
|
settings
secrets.go moves the reader's account secrets (session cookies, access tokens, passwords, API keys) off the settings.json file and into the host's native credential vault — macOS Keychain, Windows Credential Manager or the Linux Secret Service — through the pure-Go, CGO-free cross-platform façade github.com/go-keyring/keyring.
|
secrets.go moves the reader's account secrets (session cookies, access tokens, passwords, API keys) off the settings.json file and into the host's native credential vault — macOS Keychain, Windows Credential Manager or the Linux Secret Service — through the pure-Go, CGO-free cross-platform façade github.com/go-keyring/keyring. |
|
sourceplugin/protoconv
Package protoconv converts between the reader's in-process source types (source.Item, source.Media, source.Query, source.Result) and their gRPC wire forms in package sourcepb.
|
Package protoconv converts between the reader's in-process source types (source.Item, source.Media, source.Query, source.Result) and their gRPC wire forms in package sourcepb. |
|
sourceplugin/transport
Package transport is the hashicorp/go-plugin + gRPC glue that carries a source.Provider across a process boundary.
|
Package transport is the hashicorp/go-plugin + gRPC glue that carries a source.Provider across a process boundary. |
|
viewmodel
Package viewmodel holds the news reader's core UI state as go-widgets/mvvm primitives — the "ViewModel" layer of an MVVM split.
|
Package viewmodel holds the news reader's core UI state as go-widgets/mvvm primitives — the "ViewModel" layer of an MVVM split. |
|
webrender
Package webrender renders a web page (the external target of a feed item) into an image, using the pure-Go go-webengine (CGO=0, no Chromium).
|
Package webrender renders a web page (the external target of a feed item) into an image, using the pure-Go go-webengine (CGO=0, no Chromium). |
|
windowapp
Package windowapp adapts an *app.App to the window.Handler contract: it exposes the app's double-buffered framebuffer to a native presenter and routes native mouse/scroll/key events into the ui.Scene.
|
Package windowapp adapts an *app.App to the window.Handler contract: it exposes the app's double-buffered framebuffer to a native presenter and routes native mouse/scroll/key events into the ui.Scene. |
|
Package mediacache is the reader's pluggable media-cache backend: a small key/value store keyed by a media URL, holding the ORIGINAL downloaded bytes so media already seen is never re-fetched (across restarts too) and the cached file stays real, correctly-typed media a user can browse in Finder.
|
Package mediacache is the reader's pluggable media-cache backend: a small key/value store keyed by a media URL, holding the ORIGINAL downloaded bytes so media already seen is never re-fetched (across restarts too) and the cached file stays real, correctly-typed media a user can browse in Finder. |
|
Package mediacacheplugin lets the news reader use an external process as its media-cache backend over gRPC (via hashicorp/go-plugin), so a shared/network cache can be plugged in without recompiling the reader.
|
Package mediacacheplugin lets the news reader use an external process as its media-cache backend over gRPC (via hashicorp/go-plugin), so a shared/network cache can be plugged in without recompiling the reader. |
|
provider
|
|
|
bluesky
Package bluesky adapts the standalone github.com/go-atproto/atproto client to the aggregator's source.Provider contract.
|
Package bluesky adapts the standalone github.com/go-atproto/atproto client to the aggregator's source.Provider contract. |
|
hackernews
Package hackernews adapts the standalone github.com/go-hackernews/hackernews client to the aggregator's source.Provider contract.
|
Package hackernews adapts the standalone github.com/go-hackernews/hackernews client to the aggregator's source.Provider contract. |
|
instagram
Package instagram adapts the standalone github.com/go-instagram/instagram best-effort client to the aggregator's source.Provider contract.
|
Package instagram adapts the standalone github.com/go-instagram/instagram best-effort client to the aggregator's source.Provider contract. |
|
lemmy
Package lemmy adapts the standalone github.com/go-lemmy/lemmy client to the aggregator's source.Provider contract.
|
Package lemmy adapts the standalone github.com/go-lemmy/lemmy client to the aggregator's source.Provider contract. |
|
mastodon
Package mastodon adapts the standalone github.com/go-mastodon/mastodon client to the aggregator's source.Provider contract.
|
Package mastodon adapts the standalone github.com/go-mastodon/mastodon client to the aggregator's source.Provider contract. |
|
reddit
Package reddit adapts the standalone github.com/go-reddit/reddit client to the aggregator's source.Provider contract.
|
Package reddit adapts the standalone github.com/go-reddit/reddit client to the aggregator's source.Provider contract. |
|
redgifs
Package redgifs is a pure-Go (CGO=0) client for the public RedGIFs v2 API and the aggregator source.Provider built on top of it.
|
Package redgifs is a pure-Go (CGO=0) client for the public RedGIFs v2 API and the aggregator source.Provider built on top of it. |
|
syndication
Package syndication adapts the standalone github.com/go-syndication/feed parser (RSS/Atom/JSONFeed) to the aggregator's source.Provider contract.
|
Package syndication adapts the standalone github.com/go-syndication/feed parser (RSS/Atom/JSONFeed) to the aggregator's source.Provider contract. |
|
tiktok
Package tiktok adapts the standalone github.com/go-tiktok/tiktok best-effort client to the aggregator's source.Provider contract.
|
Package tiktok adapts the standalone github.com/go-tiktok/tiktok best-effort client to the aggregator's source.Provider contract. |
|
twitter
Package twitter adapts the standalone github.com/go-birdsite/twitter best-effort client to the aggregator's source.Provider contract.
|
Package twitter adapts the standalone github.com/go-birdsite/twitter best-effort client to the aggregator's source.Provider contract. |
|
usenet
Subject classification for the group content-mix estimate (GroupStats): a cheap, allocation-light heuristic over NNTP article subjects, kept in the provider (which owns the OVER scan) so it needs no UI/app dependency.
|
Subject classification for the group content-mix estimate (GroupStats): a cheap, allocation-light heuristic over NNTP article subjects, kept in the provider (which owns the OVER scan) so it needs no UI/app dependency. |
|
Package source defines the common contract every news/social provider implements so the aggregator can treat Reddit, RSS, Usenet, Mastodon, Bluesky, Twitter, Instagram, TikTok and the rest uniformly.
|
Package source defines the common contract every news/social provider implements so the aggregator can treat Reddit, RSS, Usenet, Mastodon, Bluesky, Twitter, Instagram, TikTok and the rest uniformly. |
|
Package sourceplugin lets the news reader load feed sources as external plugin binaries over gRPC (via hashicorp/go-plugin), so a new source can be added without recompiling the reader.
|
Package sourceplugin lets the news reader load feed sources as external plugin binaries over gRPC (via hashicorp/go-plugin), so a new source can be added without recompiling the reader. |
|
Package ui renders the aggregator — a topbar with search, a sidebar of source subscriptions, and a unified newest-first feed of items from every source — into an RGBA pixel buffer.
|
Package ui renders the aggregator — a topbar with search, a sidebar of source subscriptions, and a unified newest-first feed of items from every source — into an RGBA pixel buffer. |
Click to show internal directories.
Click to hide internal directories.
