### Install eilmeldung via Homebrew Source: https://github.com/christo-auer/eilmeldung/blob/main/README.md Use Homebrew to tap the repository and install the application. ```bash brew tap christo-auer/eilmeldung https://github.com/christo-auer/eilmeldung && brew install eilmeldung ``` -------------------------------- ### Configure Nix Flake and Home Manager Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/installation.md Example configuration for integrating eilmeldung into a Nix Flake setup. ```nix { inputs = { eilmeldung.url = "github:christo-auer/eilmeldung"; }; outputs = { nixpkgs, home-manager, eilmeldung, ... }: { homeConfigurations."..." = home-manager.lib.homeManagerConfiguration { pkgs = import nixpkgs { system = "x86_64-linux"; overlays = [ eilmeldung.overlays.default ]; }; modules = [ # ... eilmeldung.homeManager.default ]; }; }; } ``` -------------------------------- ### Install eilmeldung via Scoop Source: https://github.com/christo-auer/eilmeldung/blob/main/README.md Add the custom bucket and install the application on Windows. ```bash scoop bucket add eilmeldung https://github.com/christo-auer/eilmeldung scoop install eilmeldung ``` -------------------------------- ### Install eilmeldung on NetBSD Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/installation.md Use the pkgin package manager to install the eilmeldung utility. ```bash pkgin install eilmeldung ``` -------------------------------- ### Example login_setup configuration Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/configuration.md A template for the [login_setup] section in config.toml using a command-based password retrieval. ```toml [login_setup] login_type = "direct_password" provider = "freshrss" user = "username" url = "http://x.y.z.w/api/greader.php/" password = "cmd:pass my-passwords/eilmeldung" ``` -------------------------------- ### Install eilmeldung on Void Linux Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/installation.md Adds the unofficial repository and installs the package using xbps. ```bash echo "repository=https://raw.githubusercontent.com/Event-Horizon-VL/blackhole-vl/repository-x86_64" | sudo tee /etc/xbps.d/20-repository-extra.conf && sudo xbps-install -S eilmeldung ``` -------------------------------- ### Install Rust toolchain on Windows Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/installation.md Sets up the required Rust environment for building from source. ```powershell winget install Rustlang.Rustup rustup default stable rustup target add x86_64-pc-windows-msvc ``` -------------------------------- ### Eilmeldung Sync Output Example Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/cli_args.md This example demonstrates the default output format of the `--sync` command, which is designed to be easily parsed by tools like `cut` and `awk`. ```text all:All:71 feed:Games/Polygon.com:6 feed:IT-News/Golem.de:6 feed:IT-News/heise online News:7 feed:IT-News/Phoronix:2 feed:Music/Pitchfork:3 feed:Music/The Quietus:2 feed:News/SPIEGEL:15 feed:News/zeit.de:30 ``` -------------------------------- ### Install latest eilmeldung via PowerShell script Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/installation.md Downloads and executes the installation script to fetch the latest code from the main branch. ```powershell irm https://raw.githubusercontent.com/christo-auer/eilmeldung/main/scripts/install-windows.ps1 -OutFile install-eilmeldung.ps1 .\install-eilmeldung.ps1 ``` -------------------------------- ### Pipe Command Examples Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/pipe.md Examples demonstrating how to use the pipe command for text replacement, email delivery, and custom script execution. ```shell pipe md md sed 's/Java/rust/g' # pipes the content through and replaces all occurrences of Java by rust pipe html null neomutt -e "set content_type=text/html" -s "{title}" -- you@eilmeldung.org # sends the HTML content (as an HTML mail) via neomutt pipe md null ~/.local/save-article.sh "{title}" # passes the markdown to a custom shell script for saving the article in a file ``` -------------------------------- ### Example Notification Command Execution Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/configuration.md A sample command call demonstrating how placeholders are replaced in the notification command. ```bash notify-send "71 New Unread Items" "6 Games: Polygon.com\n6 IT-News: Golem.de\n7 IT-News: heise online News\n2 IT-News: Phoronix\n3 Music: Pitchfork\n2 Music: The Quietus\n16 News: SPIEGEL\n30 News: zeit.de" ``` -------------------------------- ### Install eilmeldung via Arch AUR Source: https://github.com/christo-auer/eilmeldung/blob/main/README.md Install the package using common AUR helpers. ```bash paru -S eilmeldung ``` ```bash yay -S eilmeldung ``` -------------------------------- ### Install GPG via Scoop Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/examples/freshrss_secrets_windows.md Installs gpg4win using the scoop package manager. ```powershell # Install gpg but don't run it yet (we need to create the env var first) scoop bucket add extras scoop install gpg4win ``` -------------------------------- ### Install pass on Linux and macOS Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/examples/freshrss_secrets_linux_macos.md Use the system package manager to install the pass utility. ```bash # Debian/Ubuntu apt install pass # macOS brew install pass ``` -------------------------------- ### Configure eilmeldung for FreshRSS Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/examples/freshrss_secrets_windows.md Example configuration for eilmeldung to use the created PowerShell scripts. ```toml [login_setup] login_type = "direct_password" provider = "freshrss" url = "cmd:pwsh -NoProfile -File ${USERPROFILE}/.config/eilmeldung/get-url.ps1" user = "cmd:pwsh -NoProfile -File ${USERPROFILE}/.config/eilmeldung/get-user.ps1" password = "cmd:pwsh -NoProfile -File ${USERPROFILE}/.config/eilmeldung/get-pass.ps1" ``` -------------------------------- ### Install eilmeldung via Cargo Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/installation.md Commands to install the latest release or the development version from the main branch. ```bash cargo install eilmeldung --locked ``` ```bash cargo install --locked --git https://github.com/christo-auer/eilmeldung ``` -------------------------------- ### Install eilmeldung via Cargo Source: https://github.com/christo-auer/eilmeldung/blob/main/README.md Install directly from crates.io using Cargo, ensuring build dependencies are met. ```bash cargo install eilmeldung --locked ``` -------------------------------- ### Common Command Configuration Mistakes Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/commands.md Examples illustrating the difference between invalid direct execution and correct interactive or pre-parameterized execution. ```toml # This generates an error as hintfollow expects a hint parameter "x" = ["hintfollow"] # Use this to open command line for interactive input "x" = ["cmd hintfollow"] # Or this if the parameter is known in advance "x" = ["hintfollow a"] ``` -------------------------------- ### Custom Key Binding Examples Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/keybindings.md Demonstrates various mapping styles including Vim-style sequences, multi-key tags, and modifier keys like Ctrl, Meta, and Shift. ```toml [input_config.mappings] # Vim-style save and quit "Z Z" = ["confirm quit"] # Quick tagging "t i" = ["tag important"] "t u" = ["tag urgent"] # Custom navigation "C-j" = ["pagedown"] "C-k" = ["pageup"] # Using modifiers "C-k" = ["..."] # Ctrl "M-k" = ["..."] # Meta (Alt) "S-f1" = ["..."] # Shift and F1 "S-down" = ["..."] # Shift and down arrow key ``` -------------------------------- ### Basic Eilmeldung Query Examples Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/queries.md These examples demonstrate common query patterns for filtering and marking articles. Queries are conjunctive, meaning all conditions must be met. ```plaintext tag paywall title:/heise\+/ feed:heise # tags all articles from heise with titles containing "heise+" with tag paywall ``` ```plaintext read #paywall # marks all articles with the tag #paywall as read ``` ```plaintext filter newer:"1 hour ago" unread # show only unread articles which are newer than one hour ``` ```plaintext read unread feed:pitchfork summary:rap # marks all unread articles from pitchfork which contain rap (case-insensitive) as read ``` -------------------------------- ### New Layout Configuration Options Source: https://github.com/christo-auer/eilmeldung/blob/main/CHANGELOG.md Use these replacement keys for layout configuration starting in version 0.5.0. ```text feed_list_focused_width article_list_focused_width article_list_focused_height article_content_focused_height ``` -------------------------------- ### Sorting Articles via Command Line Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/keybindings.md Examples of sorting commands used to organize articles by various criteria and directions. ```text :sort date # Sort by date (newest first) :sort >date # Sort by date (oldest first) :sort feed title # Sort by feed name, then by title :sort feed date # Sort by feed (A-Z), then by date (newest first) ``` -------------------------------- ### Configure Custom Notification Command Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/configuration.md Example of defining a custom shell command for notifications using the notify_after_sync_cmd option. ```toml notify_after_sync_cmd = "notify-send \"{summary}\" \"{body}\"" # note the escaped double quotes! ``` -------------------------------- ### Article Sorting Examples Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/commands.md Various configurations for sorting articles by date, feed, title, or author with ascending or descending directions. ```text date # Sort by date (newest first) date # Sort by date (oldest first) feed # Sort by feed name (A-Z) >feed # Sort by feed name (Z-A) feed date # Sort by feed (A-Z), then date (newest first) feed >date # Sort by feed (A-Z), then date (oldest first) date title # Sort by date (newest first), then title (A-Z) feed date author # Sort by feed (A-Z), date (newest), then author (A-Z) ``` -------------------------------- ### Default Notification Output Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/configuration.md Example of the default notification output format showing summary and feed-specific counts. ```text New Unread Items: 71 # this is the summary (usually bold) Polygon.com: 6 Golem.de: 6 heise online News: 7 Phoronix: 2 Pitchfork: 3 The Quietus: 2 SPIEGEL: 16 zeit.de: 30 ``` -------------------------------- ### Custom Share Targets Configuration Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/configuration.md Custom targets can be defined using a name and a template string. Templates starting with http/https open in a browser, while others execute as background shell commands. ```toml share_targets = [ "clipboard", "reddit", 'hackernews https://news.ycombinator.com/submitlink?u={url}&t={title}', 'pocket https://getpocket.com/save?url={url}&title={title}', 'sendmail ./sendmail.sh me@eilmeldung.org "{title}" "{url}"', # note the double quotes around the two variables 'chromium chromium "{url}"', 'org-mode xdg-open "org-protocol://capture?template=L&url="{url}"&title="{title}""' # share on emacs/org-mode (by @luogni) ] ``` -------------------------------- ### Configure startup commands Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/configuration.md Defines a list of commands to execute automatically upon application startup. ```toml startup_commands = ["sync", "focus articles", "in articles show all"] ``` -------------------------------- ### Opening Hints via Key Bindings Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/keybindings.md Shows the difference between direct command execution and using the 'cmd' prefix for interactive input. ```toml [input_config.mappings] # This will NOT work as hintfollow expects an argument "; f" = ["hintfollow"] # This works - opens command line to enter hint "; f" = ["cmd hintfollow"] # This also works if you know the hint in advance "; f" = ["hintfollow a"] ``` -------------------------------- ### Display Help for Eilmeldung Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/cli_args.md Run this command to see all available command line arguments for the Eilmeldung tool. ```bash eilmeldung --help ``` -------------------------------- ### Initialize pass with GPG Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/examples/freshrss_secrets_linux_macos.md Generate a GPG key and initialize the password store. ```bash gpg --gen-key pass init "your_email_address" ``` -------------------------------- ### Build eilmeldung from source on Windows Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/installation.md Uses the build script to compile the project, with optional path overrides for dependencies. ```powershell .\scripts\build-windows.ps1 ``` ```powershell .\scripts\build-windows.ps1 -VcpkgRoot "D:\my-vcpkg" -PerlPath "C:\Strawberry\perl\bin\perl.exe" -LlvmBinPath "C:\Program Files\LLVM\bin" ``` -------------------------------- ### Configure GnuPG Home Directory Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/examples/freshrss_secrets_windows.md Sets up the GnuPG configuration directory and environment variable. ```powershell # Create the GnuPG config directory mkdir "$env:USERPROFILE\.config\gnupg" -Force # Set permissions icacls "$env:USERPROFILE\.config\gnupg" /inheritance:r /grant:r "$env:USERNAME`:F" # Set GNUPGHOME permanently (gpg4win understands Windows paths) [Environment]::SetEnvironmentVariable("GNUPGHOME", "$env:USERPROFILE\.config\gnupg", "User") # Restart your terminal, then generate a key gpg --gen-key ``` -------------------------------- ### Configure eilmeldung via Home Manager module Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/installation.md Defining settings and key mappings within the Home Manager module configuration. ```nix programs.eilmeldung = { enable = true; # for HEAD of main #package = eilmeldung.packages.x86_64-linux.eilmeldung-git; settings = { refresh_fps = 60; article_scope = "unread"; theme = { color_palette = { background = "#1e1e2e"; # ... }; }; input_config.mappings = { "q" = ["quit"]; "j" = ["down"]; "k" = ["up"]; "g g" = ["gotofirst"]; "G" = ["gotolast"]; "o" = ["open" "read" "nextunread"]; }; feed_list = [ "query: \"Today Unread\" today unread" "query: \"Today Marked\" today marked" "feeds" "* categories" "tags" ]; }; }; ``` -------------------------------- ### Add eilmeldung packages to Home Manager Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/installation.md Directly adding the package to the home.packages list in Home Manager. ```nix home.packages = [ eilmeldung.packages.x86_64-linux.eilmeldung ]; # or for HEAD of main home.packages = [ eilmeldung.packages.x86_64-linux.eilmeldung-git ]; ``` -------------------------------- ### Query Key: Read Status Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/queries.md Use these keys to filter articles based on their read status. No special setup is required. ```plaintext read ``` ```plaintext unread ``` -------------------------------- ### Configure Share Targets with Variable Expansion Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/configuration.md Use environment variables and home directory shortcuts within share target command strings. ```toml share_targets = [ 'saveurl ~/.local/bin/save-url.sh "{url}" "${HOME}/Documents/news/urls.txt" ] ``` -------------------------------- ### LLM Keybindings Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/pipe.md Keybindings for quick LLM summarization actions. ```toml A = ["pipe md md path-to-shellscript.sh"] a = ["cmd pipe md md path-to-shellscript.sh"] #opens the command line for entering a custom query ``` -------------------------------- ### Configure Static Layout Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/configuration.md Set fixed width and height percentages for panels to maintain a consistent layout. ```toml feed_list_focused_width = "25%" article_list_focused_width = "75%" article_list_focused_height = "20%" article_content_focused_height = "80%" ``` -------------------------------- ### Configure Enclosure Commands Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/faq.md Set specific programs to open different types of media enclosures. ```toml audio_enclosure_command = "vlc {url}" video_enclosure_command = "mpv {url}" image_enclosure_command = "firefox {url}" ``` -------------------------------- ### Configure eilmeldung for FreshRSS Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/examples/freshrss_secrets_linux_macos.md Set the login configuration to retrieve credentials via the pass command. ```toml [login_setup] login_type = "direct_password" provider = "freshrss" url = "cmd:pass eilmeldung/url" user = "cmd:pass eilmeldung/user" password = "cmd:pass eilmeldung/password" ``` -------------------------------- ### Interactive Command-line Execution in Key Bindings Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/commands.md Opens the command line pre-filled with the specified command. Use this for commands requiring user input or parameter selection via Tab completion. ```toml "x" = ["cmd hintfollow"] # Opens command line pre-filled with "hintfollow " "f" = ["cmd filter"] # Opens command line pre-filled with "filter " ``` -------------------------------- ### Configure Fully Dynamic Layout Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/configuration.md Configure panels to hide completely when other panels are focused by setting widths or heights to 100%. ```toml feed_list_focused_width = "33%" article_list_focused_width = "100%" article_list_focused_height = "66%" article_content_focused_height = "100%" ``` -------------------------------- ### Configure Automatic Login Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/faq.md Use the cmd prefix to securely retrieve passwords from a password manager instead of storing them in plain text. ```toml [login_setup] password = "cmd:pass my-passwords/eilmeldung" ``` -------------------------------- ### Direct Command Execution in Key Bindings Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/commands.md Executes commands immediately without user intervention. Requires all necessary parameters to be specified. ```toml "x" = ["hintfollow a"] # Opens hint 'a' immediately "s" = ["sync"] # Syncs immediately ``` -------------------------------- ### Print login data via CLI Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/configuration.md Use the --print-login-data flag to generate or view current login configuration settings. ```bash eilmeldung --print-login-data Welcome to +++ eilmeldung +++ ... ... > Are you satisfied with these settings? Select `n` to change them. Yes Attempting to login and synchronize... login and initial sync successful login_type = "direct_password" provider = "freshrss" user = "chris" url = "http://x.y.z.w/api/greader.php/" password = "*******" ``` -------------------------------- ### Filtering Articles via Key Bindings Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/keybindings.md Illustrates how to trigger interactive filtering or apply a specific filter immediately. ```toml # Opens command line to type filter query "=" = ["cmd filter"] # Applies specific filter immediately "=" = ["filter unread today"] ``` -------------------------------- ### General Command Line Arguments Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/cli_args.md These arguments control general behavior, logging, and configuration paths. ```APIDOC ## General Command Line Arguments ### Description Arguments for general configuration and logging. ### Parameters #### Query Parameters - **--log-file** (string) - Required - Log file path (must be writable). - **--log-level** (string) - Optional - Log level (OFF, ERROR, WARN, INFO, DEBUG, TRACE). Defaults to INFO. - **-c, --config-dir** (string) - Required - Directory containing configuration files (e.g., config.toml). - **--news-flash-config-dir** (string) - Required - Directory for news-flash configuration files (e.g., newsflash.json, authentication configuration). - **--news-flash-state-dir** (string) - Required - Directory for news-flash state files (e.g., database, cache). - **-h, --help** - Optional - Prints the help message. - **-V, --version** - Optional - Prints the version information. ``` -------------------------------- ### Common Eilmeldung Commands Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/commands.md A collection of standard commands for managing application state, feeds, and article metadata. ```text :quit # Quit the application :sync # Sync all feeds :read # Mark current article as read :read % # Mark all articles as read :read unread today # Mark all unread articles from today as read :in feeds read % # Mark all articles in selected feed as read :filter title:breaking newer:"1 hour" # Filter breaking news from last hour :tag important # Tag current article as important :tag tech unread # Tag all unread articles as tech :untag work % # Remove work tag from all articles :share clipboard # Share current article to clipboard :feedadd https://example.com/feed.xml # Add a new feed :feedadd https://news.site/rss News # Add feed with custom name :categoryadd Technology # Add a new category :tagadd urgent red # Add a red "urgent" tag :rename Tech News Daily # Rename selected item :importopml feeds.opml # Import feeds from OPML file :exportopml backup.opml # Export feeds to OPML file :focus articles # Focus the article list panel :show unread # Show only unread articles in current panel :in feeds show all # Show all articles in the feed list :searcharticles author:john newer:"3 days" # Search for articles by John from last 3 days :sort date # Sort by date (newest first) :sort >date # Sort by date (oldest first) :sort feed title # Sort by feed name, then by title :sort feed date # Sort by feed (A-Z), then by date (newest first) :sortreverse # Reverse current sort order :sortclear # Clear sort order, restore default ``` -------------------------------- ### Import OPML file in eilmeldung Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/getting-started.md Use the `importopml` command to import feed and category data from an OPML file. Specify the path to the OPML file. ```bash importopml path/to/your/feeds.opml ``` -------------------------------- ### Configure secrets on Windows Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/configuration.md Use environment variables and PowerShell scripts to retrieve secrets securely on Windows systems. ```toml password = "cmd:pwsh -NoProfile -File ${USERPROFILE}/.config/eilmeldung/get-pass.ps1" url = "cmd:pwsh -NoProfile -File ${USERPROFILE}/.config/eilmeldung/get-url.ps1" user = "cmd:pwsh -NoProfile -File ${USERPROFILE}/.config/eilmeldung/get-user.ps1" ``` -------------------------------- ### Enable debug logging Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/faq.md Run the application with specific flags to output debug information to a log file. ```bash eilmeldung --log-level DEBUG --log-file ~/eilmeldung-debug.log ``` -------------------------------- ### Key Mapping for Saving Articles Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/pipe.md Configuration for mapping the save command to a keyboard shortcut. ```toml [input_config.mappings] "C-s" = ["pipe md null ~/.local/bin/save-article.sh \"{feed}\" \"{date}\" \"{title}\""] ``` -------------------------------- ### Neomutt Key Mapping Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/pipe.md Configuration to pipe article content to neomutt for emailing. ```toml [input_config.mappings] "Z" = ["cmd pipe html null neomutt -e \"set content_type=text/html\" -s \"{title}\" -- "] ``` -------------------------------- ### Map Share Target Keybindings Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/faq.md Assign keyboard shortcuts to trigger defined share targets. ```toml [input_config.mappings] "S h" = ["share hackernews"] "S m" = ["share sendmail"] ``` -------------------------------- ### Configure Dynamic Layout Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/configuration.md Adjust panel sizes to prioritize the focused panel by reducing the size of unfocused areas. ```toml feed_list_focused_width = "33%" article_list_focused_width = "85%" article_list_focused_height = "66%" article_content_focused_height = "80%" ``` -------------------------------- ### Configure Thumbnail Dimensions Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/faq.md Set fixed or percentage-based dimensions for article thumbnails. ```toml thumbnail_width = "14 length" thumbnail_height = "5 length" ``` ```toml thumbnail_width = "30%" # consumes 30% of the available horizontal space thumbnail_height = "50%" # consumes 50% of the available vertical space ``` -------------------------------- ### Tag Articles and Map Keybindings Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/faq.md Define a tag and map keys to apply it, optionally navigating to the next unread article. ```text :tagadd readlater red ``` ```toml [input_config.mappings] "R" = ["tag readlater"] # or if you want to navigate to the next unread article after tagging "R" = ["tag readlater", "nextunread"] ``` ```toml feed_list = [ 'query: "Read Later" #readlater unread', # ... all other entries you want to have in the feed list ] ``` -------------------------------- ### Store FreshRSS credentials in pass Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/examples/freshrss_secrets_linux_macos.md Add the URL, username, and password to the password store. ```bash pass insert eilmeldung/url pass insert eilmeldung/user pass insert eilmeldung/password ``` -------------------------------- ### Configure Default Key Mappings Source: https://github.com/christo-auer/eilmeldung/blob/main/CHANGELOG.md Defines the default key bindings for navigating panels and content within the application. ```toml "C-j" = ["in feeds down"] "C-k" = ["in feeds up"] "J" = ["in content down"] "K" = ["in content up"] "M-j" = ["in articles down"] "M-k" = ["in articles up"] ``` -------------------------------- ### Sync Output Configuration Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/cli_args.md Details on how the sync statistics output can be configured. ```APIDOC ## Sync Output Configuration ### Description Configuration options for the output format of the `--sync` command. ### Parameters #### Query Parameters - **sync_output_format** (string) - Optional - Format of a line in the sync output. Default: `{label}:{count}`. - **all_label_format** (string) - Optional - Label for the "all" entry. Default: `all:All`. - **feed_label_format** (string) - Optional - Label for a feed entry. Default: `feed:{category}/{label}`. ### Format Placeholders - **{label}**: Replaced with content from `all_label_format` or `feed_label_format`. - **{count}**: Replaced with the number of newly synced articles. - **{category}**: In `feed_label_format`, replaced by the parent category name (or empty string if none). - **{label}**: In `feed_label_format`, replaced by the feed name. ### Example Output ``` all:All:71 feed:Games/Polygon.com:6 feed:IT-News/Golem.de:6 feed:IT-News/heise online News:7 feed:IT-News/Phoronix:2 feed:Music/Pitchfork:3 feed:Music/The Quietus:2 feed:News/SPIEGEL:15 feed:News/zeit.de:30 ``` ``` -------------------------------- ### Configure smart folders in TOML Source: https://github.com/christo-auer/eilmeldung/blob/main/README.md Define query-based smart folders within the feed_list configuration to filter articles by tags and status. ```toml feed_list = [ 'query: "Important Today" #important unread today', 'query: "Read Later" #readlater unread', "feeds", ] ``` -------------------------------- ### Chaining Multiple Operations Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/configuration.md Demonstrates a complex sequence of operations including filtering, tagging, and category management. ```toml after_sync_commands = [ "query lastsync", # operate on articles that were synced "in articles read title:/Anzeige:|g\\+|heise\\+|heise-Angebot/", # mark paywall articles and ads as read "tag reviews title:review", # tag articles with the word review in the title "collapse all", # collapse all categories and... "expandcategories unread", # ...expand all with unread elements "refresh" ] # refresh the content ``` -------------------------------- ### Map key binding for image viewing Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/faq.md Assign a key binding to trigger the share target command for opening images. ```toml [input_config.mappings] "; i" = ["cmd hintshare feh"] ``` -------------------------------- ### Deprecated Layout Configuration Options Source: https://github.com/christo-auer/eilmeldung/blob/main/CHANGELOG.md These configuration keys were removed in version 0.5.0 and should be replaced with the new flexible options. ```text feed_list_width_percent article_list_width_percent article_list_height_lines ``` -------------------------------- ### Configure Border Themes Source: https://github.com/christo-auer/eilmeldung/blob/main/CHANGELOG.md Customize panel border styles by adding this configuration to your config.toml file. ```toml [border_theme] focused = "double" unfocused = "plain" framing = "connected" ``` -------------------------------- ### Default Share Targets Configuration Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/configuration.md The default configuration includes common built-in sharing services. ```toml share_targets = [ "clipboard", "reddit", "mastodon", "instapaper", "telegram", ] ``` -------------------------------- ### Define Custom Share Targets Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/faq.md Configure external commands or URLs to share article titles and URLs. ```toml share_targets = [ 'hackernews https://news.ycombinator.com/submitlink?u={url}&t={title}', # opens webbrowser 'sendmail ./sendmail.sh me@eilmeldung.org "{title}" "{url}"', # passes title and URL to shell script # more share targets ] ``` -------------------------------- ### Export OPML file from eilmeldung Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/getting-started.md Use the `exportopml` command to export your current feed and category structure to an OPML file. Specify the desired output path. ```bash exportopml path/to/your/feeds.opml ``` -------------------------------- ### Define Component Styles Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/configuration.md Set foreground, background, and modifiers for specific UI components in the [theme.style_set] section. ```toml [theme.style_set] border_focused = { fg = "accent_primary", mods = ["bold"] } feed = { fg = "#f5c2e7" } ``` -------------------------------- ### Configure input mappings Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/configuration.md Defines custom keybindings within the [input_config.mappings] section. Map keys to an array of commands or an empty array to unbind. ```toml [input_config.mappings] # Single command "q" = ["quit"] # Multiple commands executed in sequence "o" = ["open", "read", "nextunread"] # Multi-key sequences "g g" = ["gotofirst"] "g t" = ["focus feeds"] # Unbind a key "x" = [] ``` -------------------------------- ### Add a new feed with eilmeldung Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/getting-started.md Use the `feedadd` command to add a new RSS/Atom feed. You can optionally provide a custom name for the feed. ```bash :feedadd https://example.com/feed.xml ``` ```bash :feedadd https://news.site/rss News Site ``` -------------------------------- ### Configure image viewer share target Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/faq.md Define a share target in config.toml to allow opening image URLs with an external viewer like feh. ```toml share_targets = [ "feh feh \"{url}\"", # your other share targets like clipboard etc. ] ``` -------------------------------- ### Create Retrieval Scripts Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/examples/freshrss_secrets_windows.md Creates PowerShell scripts to automate the decryption process. ```powershell New-Item "$env:USERPROFILE\.config\eilmeldung" -ItemType Directory -Force Set-Content "$env:USERPROFILE\.config\eilmeldung\get-url.ps1" 'gpg --quiet --decrypt "$env:USERPROFILE\.passwords\eilmeldung-url.gpg"' Set-Content "$env:USERPROFILE\.config\eilmeldung\get-user.ps1" 'gpg --quiet --decrypt "$env:USERPROFILE\.passwords\eilmeldung-user.gpg"' Set-Content "$env:USERPROFILE\.config\eilmeldung\get-pass.ps1" 'gpg --quiet --decrypt "$env:USERPROFILE\.passwords\eilmeldung-pass.gpg"' ``` -------------------------------- ### Configure Feed List Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/configuration.md Defines the structure and order of items in the feed list panel using TOML syntax. ```toml feed_list = [ 'query: "Today Unread" today unread', 'query: "Today Marked" today marked', "feeds", "* categories", "tags", ] ``` ```toml feed_list = [ 'query: "Urgent" marked #urgent', 'query: "This Week" newer:"1 week"', 'query: "Tech News" feed:/tech/ unread', "feeds", # Hierarchical feed tree "* tags", # Flat tag list ] ``` -------------------------------- ### Synchronize Feed and Article List Scope Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/faq.md Map keys to update both feed and article list scopes simultaneously. ```toml [input_config.mappings] "1" = ["in feeds show all", "in articles show all"] "2" = ["in feeds show unread", "in articles show unread"] "3" = ["in feeds show marked", "in articles show marked"] ``` -------------------------------- ### Create a new category in eilmeldung Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/getting-started.md Use the `categoryadd` command to create a new category for organizing feeds. Provide the desired category name as an argument. ```bash :categoryadd Technology ``` -------------------------------- ### Pipe Command for Saving Articles Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/pipe.md Command to execute the save-article script via the pipe interface. ```text pipe md null ~/.local/bin/save-article.sh "{feed}" "{date}" "{title}" ``` -------------------------------- ### Query Key: All Fields Search Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/queries.md Perform a broad search across multiple fields including title, summary, and author. This is a convenient way to find general topics. ```plaintext all:technology ``` -------------------------------- ### Query Key: Synced After Time Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/queries.md Select articles that were synced after a specified time. Use this to track recent sync activity or changes. ```plaintext syncedafter:"2024-12-01" ``` -------------------------------- ### Configure default sort order Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/configuration.md Sets the global sort order for articles. Use the '>' prefix to reverse the sort order. ```toml default_sort_order = "" ``` ```toml # Sort by date, newest first (common for RSS readers, this is the default) default_sort_order = "date" # Sort by feed name, then by date (newest first within each feed) default_sort_order = "feed date" # Sort by title alphabetically (case is ignored) default_sort_order = "title" # Sort by date oldest first default_sort_order = ">date" ``` -------------------------------- ### Configure Color Palette Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/configuration.md Define base colors using hex codes or color names within the [theme.color_palette] section. ```toml [theme.color_palette] background = "#1e1e2e" foreground = "#cdd6f4" accent_primary = "#f5c2e7" accent_secondary = "#89b4fa" ``` -------------------------------- ### Login Related Arguments Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/cli_args.md Arguments related to user login data and secret management. ```APIDOC ## Login Related Arguments ### Description Arguments for managing login data and displaying secrets. ### Parameters #### Query Parameters - **--print-login-data** - Optional - Outputs the login data for use in `config.toml`. - **--show-secrets** - Optional - Displays secrets (passwords, etc.) in plain text. ``` -------------------------------- ### Configure Component Styles Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/faq.md Define visual modifiers for read and unread articles using foreground colors and text styles. ```toml unread = { fg = "highlight" mods = ["italic"] } # shows unread items in italic with the highlight color read = { fg = "muted" mods = ["dim"] } # shows read items dim with muted color ``` -------------------------------- ### Query Key: Today Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/queries.md Match articles published within the last 24 hours. This is a shortcut for 'newer:"1 day ago"'. ```plaintext today ``` -------------------------------- ### Marking Paywall or Ad Articles as Read Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/configuration.md Uses a regex pattern to identify and mark specific articles as read immediately after synchronization. ```toml after_sync_commands = [ "query lastsync", "in articles read title:/^Anzeige:/", "refresh" ] ``` -------------------------------- ### Define Border Styles Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/configuration.md Visual representations of available border types for panels. ```plain ┌───────┐ │ │ └───────┘ ``` ```plain ╭───────╮ │ │ ╰───────╯ ``` ```plain ╔═══════╗ ║ ║ ╚═══════╝ ``` ```plain ┏━━━━━━━┓ ┃ ┃ ┗━━━━━━━┛ ``` ```plain ▗▄▄▄▄▄▄▄▖ ▐ ▌ ▐ ▌ ▝▀▀▀▀▀▀▀▘ ``` ```plain ▛▀▀▀▀▀▀▀▜ ▌ ▐ ▌ ▐ ▙▄▄▄▄▄▄▄▟ ``` -------------------------------- ### Test GPG Decryption Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/examples/freshrss_secrets_windows.md Verifies that the encrypted files can be decrypted correctly. ```powershell gpg --quiet --decrypt "$env:USERPROFILE\.passwords\eilmeldung-url.gpg" gpg --quiet --decrypt "$env:USERPROFILE\.passwords\eilmeldung-user.gpg" gpg --quiet --decrypt "$env:USERPROFILE\.passwords\eilmeldung-pass.gpg" ``` -------------------------------- ### Override Git-bundled GPG Shims Source: https://github.com/christo-auer/eilmeldung/blob/main/docs/examples/freshrss_secrets_windows.md Ensures the system uses the native Windows gpg4win binary instead of the one bundled with Git. ```powershell scoop shim add gpg "$env:USERPROFILE\scoop\apps\gpg4win\current\GnuPG\bin\gpg.exe" scoop shim add gpg-agent "$env:USERPROFILE\scoop\apps\gpg4win\current\GnuPG\bin\gpg-agent.exe" scoop shim add gpgconf "$env:USERPROFILE\scoop\apps\gpg4win\current\GnuPG\bin\gpgconf.exe" scoop shim add gpg-connect-agent "$env:USERPROFILE\scoop\apps\gpg4win\current\GnuPG\bin\gpg-connect-agent.exe" ``` ```powershell gpg --version # should mention GnuPG from gpg4win, not Git bundled gpg ```