App-jupiter
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
It's name depends on the OPML files used. It records metadata for every feed in
the OPML file that isn't stored in the feeds themselves.
`message` is the HTTP status message, or a similar message such as "No entry
newer than 90 days." This is set when update the feeds in your cache.
`message` is the HTTP status code; this code could be the real status code from
the server (such as 404 for a "not found" status) or one generated by Jupiter
such that it matches the status message (such as 206 for a "partial content"
status when there aren't any recent entries in the feed). This is set when
update the feeds in your cache.
`title` is the site's title. When you update the feeds in your cache, it is
taken from the OPML file. That's how the feed can have a title even if the
download failed. When you generate the HTML, the feeds in the cache are parsed
and if a title is provided, it is stored in the JSON file and overrides the
title in the OPML file.
`link` is the site's link for humans. When you generate the HTML, the feeds in
the cache are parsed and if a link is provided, it is stored in the JSON file.
If the OPML element contained a `htmlURL` attribute, however, that takes
precedence. The reasoning is that when a podcast is hosted on a platform which
generates a link that you don't like and you know the link to the human-readable
blog elsehwere, use the `htmlURL` attribute in the OPML file to override this.
`last_modified` and `etag` are two headers used for caching from the HTTP
response that cannot be changed by data in the feed.
If we run into problems downloading a feed, this setup allows us to still link
to the feeds that aren't working, using their correct names, and describing the
error we encountered.
## Logging
Use the `--log=LEVEL` to set the log level. Valid values for LEVEL are debug,
info, warn, error, and fatal.
# LICENSE
GNU Affero General Public License
# INSTALLATION
Using `cpan`:
```
Manual install:
```sh
perl Makefile.PL
make
```
## Dependencies
To run Jupiter on Debian we need:
`libmodern-perl-perl` for [Modern::Perl](https://metacpan.org/pod/Modern%3A%3APerl)
`libmojolicious-perl` for [Mojo::Template](https://metacpan.org/pod/Mojo%3A%3ATemplate), [Mojo::UserAgent](https://metacpan.org/pod/Mojo%3A%3AUserAgent), [Mojo::Log](https://metacpan.org/pod/Mojo%3A%3ALog),
[Mojo::JSON](https://metacpan.org/pod/Mojo%3A%3AJSON), and [Mojo::Util](https://metacpan.org/pod/Mojo%3A%3AUtil)
`libxml-libxml-perl` for [XML::LibXML](https://metacpan.org/pod/XML%3A%3ALibXML)
`libfile-slurper-perl` for [File::Slurper](https://metacpan.org/pod/File%3A%3ASlurper)
`libdatetime-perl` for [DateTime](https://metacpan.org/pod/DateTime)
`libdatetime-format-mail-perl` for [DateTime::Format::Mail](https://metacpan.org/pod/DateTime%3A%3AFormat%3A%3AMail)
`libdatetime-format-iso8601-perl` for [DateTime::Format::ISO8601](https://metacpan.org/pod/DateTime%3A%3AFormat%3A%3AISO8601)
Unfortunately, [Mojo::UserAgent::Role::Queued](https://metacpan.org/pod/Mojo%3A%3AUserAgent%3A%3ARole%3A%3AQueued) isn't packaged for Debian.
Therefore, let's build it and install it as a Debian package.
```sh
sudo apt-get install libmodule-build-tiny-perl
sudo apt-get install dh-make-perl
sudo dh-make-perl --build --cpan Mojo::UserAgent::Role::Queued
```
To generate the `README.md` from the source file, you need `pod2markdown`
which you get in `libpod-markdown-perl`.
# FILES
There are a number of files in the `share` directory which you can use as
starting points.
`template.html` is the HTML template.
`default.css` is a small CSS file used by `template.html`.
`personalize.js` is a small Javascript file used by `template.html` used to
allow visitors to jump from one article to the next using `J` and `K`.
`jupiter.png` is used by `template.html` as the icon.
`jupiter.svg` is used by `template.html` as the logo.
`feed.png` is used by `template.html` as the icon for the feeds in the
sidebar.
`feed.rss` is the feed template.
# OPTIONS
HTML generation uses a template, `template.html`. It is written for
`Mojo::Template` and you can find it in the `share` directory of your
distribution. The default templates use other files, such as the logo, the feed
icon, a CSS file, and a small Javascript snippet to enable navigation using the
`J` and `K` keys (see above).
You can specify a different HTML file to generate:
**jupiter html** _your.html feed.opml_
view all matches for this distributionview release on metacpan - search on metacpan
( run in 0.572 second using v1.00-cache-2.02-grep-82fe00e-cpan-2c419f77a38b )