NewsBlur Documentation

repository·main·Indexed 27 days ago

https://github.com/samuelclay/newsblur

Documentation for NewsBlur, a feature-rich RSS feed reader and social news network. Includes details on the newsblur-cli (v0.2.1) and MCP server for managing feeds, stories, and classifiers, as well as guides for self-hosting via Docker and Ansible, building the NewsBlur Archive browser extension, and integrating iOS clients.

Tokens
44.1K
Snippets
79
Records
325
Agent score
93%

What's inside newsblur

  1. Understand the NewsBlur Data Architecture

    main

    NewsBlur utilizes a multi-database strategy to handle different data types efficiently:

    • PostgreSQL: Stores relational data requiring ACID guarantees, such as user accounts, feed metadata, subscriptions, recommendations, OAuth tokens, and payment records.
    • MongoDB: Handles high-volume document storage with flexible schemas, including stories (MStory), starred stories, read states, classifiers, social data, AI responses, and briefings.
    • Redis: Acts as an in-memory cache, message broker, and session store. It manages user data cache, analytics, statistics, Celery brokers, Django cache, and session state.
    • Elasticsearch: Powers full-text search and vector-based discovery for feeds (SearchFeed) and stories (SearchStory, DiscoverStory).
  2. Understand the Frontend Architecture

    main

    The frontend is a Backbone.js single-page application.

    Key Directory Structure (media/js/newsblur/):

    • reader/: Main reader UI (includes reader.js as the central controller).
    • models/: Backbone models (e.g., stories.js, feeds.js).
    • views/: Backbone views.
    • common/: Shared utilities.

    Conventions:

    • JavaScript uses snake_case to match the Python codebase.
    • The global namespace is NEWSBLUR.reader (for the controller) and NEWSBLUR.assets (for data).
  3. Understand the curated sidebar feeds

    main
    NewsBlur provides four curated 'river' feeds in the sidebar, each answering a different question based on user behavior rather than click counts. These feeds act as dashboards that can be parked next to your regular feeds. Your existing classifiers (tags, authors, or sites) apply to all four feeds, meaning green and red scores will reflect your training even on stories from these curated lists.
  4. Discover and subscribe to new feeds

    main

    Use the Add + Discover Sites page to find new content through eight specialized discovery tabs. This page provides access to over 50,000 curated feeds organized by type and category.

    Discovery Tabs

    • Search: Perform semantic searches for topics or URLs. Results include trending feeds ranked by subscription velocity, engagement, and subscriber counts.
    • Web Feed: Convert any website into an RSS feed.
    • Popular Sites: Browse curated RSS feeds organized by categories (e.g., Technology, Science, News, Business).
    • YouTube: Access over 2,000 verified YouTube channels converted to RSS.
    • Reddit: Subscribe to nearly 6,000 subreddits across 47 categories.
    • Newsletters: Discover newsletters from platforms like Substack, Medium, Ghost, and Beehiiv. Use platform pills to filter by provider.
    • Podcasts: Browse popular podcasts organized by genre.
    • Google News: Subscribe to one of eight preset topics (e.g., World, Business, Technology, Sports) that generate feeds from Google News.
  5. Customize story title positioning in NewsBlur

    main

    You can change the layout of the story title pane to suit your preference. The available positioning options are:

    • Left positioning: Places the story title pane on the left side of the reader.
    • Top positioning: Places the story title pane at the top of the reader.
    • Bottom positioning: The default setting, placing the story title pane at the bottom of the reader.

    To change these settings, navigate to Manage > Preferences within the NewsBlur interface.

  6. Configure per-folder auto-mark-as-read settings

    main

    Settings for auto-marking stories as read cascade from folders down to individual feeds. This allows you to organize feeds by consumption style (e.g., a 'News' folder with a 2-day limit and a 'Must Read' folder set to 'Never').

    Inheritance Rules:

    • Default: The feed or folder inherits the setting from its parent folder or the site-wide setting.
    • Days: Sets a specific duration for that folder or feed.
    • Never: Disables auto-marking for that specific folder or feed.

    Status text below the slider in the settings UI will indicate whether the current setting is inherited from a parent/site-wide preference or is an explicit override.

  7. Apply classifiers to Widely Read and Long Read feeds

    main

    Your existing NewsBlur intelligence (classifiers) automatically applies to stories in the Widely Read Stories and Long Reads feeds. This means:

    • Tags, Authors, and Title/Text classifiers will score these stories.
    • Stories will display the same green and red intelligence scoring based on your training (e.g., if you have marked an author as disliked or a tag as interesting).
  8. Connect NewsBlur to web services via IFTTT

    main

    You can automate data movement between NewsBlur and other web services using IFTTT (if this then that). This allows you to automatically copy saved stories to services like Evernote, Twitter, or Pinboard, or move data from services like Tumblr or 500px into NewsBlur.

    Customizable Triggers

    When creating IFTTT recipes, you can customize the triggers to filter which stories are processed based on:

    • Specific tags
    • Specific blurblogs
    • Specific folders
    • Specific feeds
    • Unread focus (trained) stories: You can choose to only trigger recipes for stories that have been filtered/highlighted using the NewsBlur Intelligence Trainer.