TheYoke is an ultra-simple, polite feed aggregrator designed for use on the UNIX command line.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


TheYoke is an ultra-simple, polite feed aggregrator designed for use on the UNIX command line.


    * Easy CLI execution.
    * Written in PERL, so cross platform.
    * Easy setup - single executable.
    * Robust XML::Feed parser.
    * Simple configuration file(s) - a list of URLs.
    * Shows only the latest headlines.
    * Polite to web servers - utilises "Last-modified" and "ETag" headers.
    * Customizable output - title/description/url.
    * Command line options to specify more or less feeds or filter by regex.
    * Can be used to feed urls to wget or youtube-dl.
    * Free to download and use.

Installation as CPAN module:

   1. be sure dzil and a CPAN client (cpanm used here) are installed
   2. be sure the current directory is the one you read this README from
   3. type

      dzil build
      cd app-theyoke-1.23/
      cpanm .

Installation as debian package:

   1. step 1 and 2 from "Installation as CPAN module"
   2. type

      dzil build
      cd app-theyoke-1.23/
      dh-make-perl --build .

   3. a debian package is created in the same directory than the README you're


   1. Install the required perl modules (available from CPAN):
          * LWP (libwww-perl)
          * HTML::Parser
          * URI
          * XML::Feed
          * Digest::MD5
          * Encode
          * Term::Size
   2. Download the source below, renaming to "theyoke".
   3. Make it executable: chmod 755 theyoke.
   4. Run with ./theyoke to create the configuration files and directories.
   5. Add your feed URLs to "~/.theyoke/feeds".
   6. Every subsequent execution will display new items in the list of feeds.

Commandline Options:

        theyoke: [[--debug]|[-d]]+ [--test] [--description] [--link] [--no-title] [--no-feedname] [[--version] [-V]] [[--columns=int] [-c=int]] [--numfeeds=number] [--onlyfeeds=regexp] [--reversetime] [--tomail] [feedurl]...

        -d, --debug
            Enables debugging output. May be specified multiple times to increase verbosity.

            If specified, feed items are not marked as read.

            Prints the description for each feed item

            Prints the link associated with each feed item

            Do not print the feed item's title

            Do not print the feed's name

        -V, --version
            Print version number and exit

        -c <amount>, --columns <amount>
            Limit the feed item's title to <amount> characters. All values below 10 are ignored. If the title exceeds the given amount an ellipses will be added to the title.

        --numfeeds <amout>
            Process a maximum of <amount> feeds

        --onlyfeeds <regular expression>
            Process only feeds whose URL match the given regular expression

            Print feed items for each feed in reverse order

            Prints feed items in full, in the form of an email parsable by formail.

            Prints colorized output in a supporting terminal.

            Print output grouped by feed.


This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.