2011-04-17

By Xyne

voracious

Meta

AUR:32156
Arch Forum Thread:85305
Binary Package:xyne-any/voracious-2011.04.09.2-1-any.pkg.tar.xz
Manpage:manpages/voracious
PKGBUILD:pkgbuilds/voracious
Repos:[xyne-any]
Source Package:voracious-2011.04.09.2.tar.gz
Taurball:voracious.tar.gz
Version:2011.04.09.2

About

Voracious is a customizable web feed aggregator for your browser. Please read the man page for more information.

The following references will be useful for customizing the template:

http://www.feedparser.org/docs/reference.html

http://docs.python.org/library/time.html#time.strftime

Screenshots

Here are some screenshots using the default template file. Note that these are just basic examples and that you can fully customize both the display and the content of all feeds.

voracious screenshot voracious screenshot voracious screenshot voracious screenshot

Certificate Generation

See the python-xynehttpserver page for references and commands to generate certificates for HTTPS connections.

Examples

Here's a simple example that shows how to use the $CLASS$ tag to assign colors to different feeds.

Configuration File

[paths]
/
/example
  http://feeds.arstechnica.com/arstechnica/index
  http://www.archlinux.org/feeds/news/
  http://www.merriam-webster.com/word/index.xml
  http://xkcd.com/rss.xml



[classes]
arch
  archlinux
ars
  arstechnica
slashdot
  slashdot
xkcd
  xkcd

Default Template File

<template>
  <head>
  </head>
  <body>
    <h1>Voracious</h1>
    <voracious_navbar />
    <voracious_entry type="entry" voracious_class="CLASS" voracious_id="ENTRY_ID">
      <div>
        <div class="header">
          <a voracious_href="entry.link">
            <voracious_text value="entry.title" />
          </a>
        </div>
        <div class="meta">
          <a voracious_href="feed.link">
            <voracious_text value="feed.title" />
          </a>
          <voracious_text value="entry.date_parsed" />
        </div>
        <div class="summary">
          <voracious_text value="entry.summary; entry.content" />
        </div>
      </div>
    </voracious_entry>
  </body>
</template>

Template File With Javascript

<template>
  <head>
  </head>
  <body>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
    <script type="text/javascript"><![CDATA[

      $(document).ready(function(){
      alert("hello");
      });

    ]]></script>
    <h1>Voracious</h1>
    <voracious_navbar />
    <voracious_entry type="entry" voracious_class="CLASS">
      <div>
        <div class="header">
          <a voracious_href="entry.link">
            <voracious_text value="entry.title" />
          </a>
        </div>
        <div class="meta">
          <a voracious_href="feed.link">
            <voracious_text value="feed.title" />
          </a>
          <voracious_text value="entry.date_parsed" />
        </div>
        <div class="summary">
          <voracious_text value="entry.summary; entry.content" />
        </div>
      </div>
    </voracious_entry>
  </body>
</template>

Template File With Embedded Pages

<template>
  <head>
  </head>
  <body>
    <h1>Voracious</h1>
    <voracious_navbar />
    <voracious_entry type="entry" voracious_class="CLASS">
      <div>
        <div class="header">
          <a voracious_href="entry.link">
            <voracious_text value="entry.title" />
          </a>
        </div>
        <div class="meta">
          <a voracious_href="feed.link">
            <voracious_text value="feed.title" />
          </a>
          <voracious_text value="entry.date_parsed" />
        </div>
        <object voracious_data="entry.link" width="100%" height="400">
          <embed voracious_src="entry.link" width="100%" height="400"> </embed>
          Error: Embedded data could not be displayed.
        </object>
      </div>
    </voracious_entry>
  </body>
</template>

Changelog

2011.04.05

  • (re-)added support for head tags in the template file
  • added support for Javascript script tags

2011.04.02

  • added etag and last-modified support
  • ended up rewriting most of the code
  • more modular
  • cleaner code (although I'm probably too tired to tell)
  • 34% more Leprechauns
  • completely changed template parsing

2010.10.02

  • added support for requiring client certificates
  • made minor changes to the default template
  • wrapped navlinks in a proper list

2010.09.18

2010-08-17

  • Corrected "bug" in template file: $entries.*$ is now $entry.*$, as originally intended.
  • Included some changes submitted or inspired by Ben Holroyd
    • parameterized feed and entry tags
      • fallback content
      • maximum content length
    • avoid parsing tags inside HTML comments in template file

The parameterized tags use a CSS-like syntax, e.g. $value:entry.summary;max:100$. Check the man page for details.

If you are using the default template file, simply delete it and Voracious will create a new version. The default template file is located at $XDG_CONFIG_HOME/voracious/template.htm, or ~/.config/voracious/template.htm if $XDG_CONFIG_HOME is not set.

Themes

Submitted Changes

You can find changes submitted by others that have not yet been incorporated into Voracious here.