Everything a show page needs, in one map.
Everything a show page needs, in one map.
The limits of a fetch of linked shows when its options don't set them: how many seconds a request can take, and the most bytes of a publisher feed.
The limits of a fetch of linked shows when its options don't set them: how many seconds a request can take, and the most bytes of a publisher feed.
(earlier-in-season items item-guid)The full episodes before the one with the guid item-guid in its season,
by the items in listening order, or nil when that one isn't a full
episode among them.
The full episodes before the one with the guid `item-guid` in its season, by the `items` in listening order, or nil when that one isn't a full episode among them.
(fetch-linked-shows! view)(fetch-linked-shows! view {:keys [except] :or {except #{}} :as opts})Fetch the shows that the view of a show links to, with the opts
below. Returns a map, in ClojureScript as a promise:
opts give the :index credentials, without its
items, or else from the start of the feed at the URL that the podroll
names, as discovery/fetch-head! gives it.Nothing is thrown for what the network or a server does, and a part
that failed has an :error. The opts are:
Fetch the shows that the `view` of a show links to, with the `opts` below. Returns a map, in ClojureScript as a promise: - :podroll has each recommended show with its :show. It comes from the Podcast Index when `opts` give the :index credentials, without its items, or else from the start of the feed at the URL that the podroll names, as discovery/fetch-head! gives it. - :publisher has the :feed of the publisher, its :shows, and :confirmed?, which says whether the publisher feed lists this show. The podcast namespace asks apps to show the other shows of a publisher only when it does. Nothing is thrown for what the network or a server does, and a part that failed has an :error. The `opts` are: - :send and :allow-pred, as for any request - :timeout-seconds and :max-bytes, over default-limits - :index, the credentials of the Podcast Index, and :now-fn, a function of the current time to sign the requests with - :lenient-parser, as rss/parse takes it - :except, a set of the parts to leave out
(in-order? feed order)Whether a show with the feed is heard from its first episode, by the
listener's order of its episodes, as profile/default-settings has it,
or else by the feed.
Whether a show with the `feed` is heard from its first episode, by the listener's `order` of its episodes, as profile/default-settings has it, or else by the feed.
(place items entry-of)Where the listener is in a serial show, by its items in listening order
and entry-of, a function of an item that returns its entry in a profile,
or nil when the show has no full episodes, e.g.
{:total 19
:heard 3
:left 44000
:unknown 0
:started? true
:seasons 7
:next item
:season {:season 2 :number 2 :total 3 :heard 1 :left 3600 :unknown 0}}
Only full episodes count, since trailers and bonuses stand aside from the story, though hearing one moves the listener to its season. The :left is in seconds, and :unknown counts the episodes not yet heard that have no length.
The :next is the first not yet heard in the season heard last, or else in the seasons after it and then before it. Its :season has the :number of :next from 1 and the :name that the feed gives it, if any. Neither is there once all are heard.
Where the listener is in a serial show, by its `items` in listening order
and `entry-of`, a function of an item that returns its entry in a profile,
or nil when the show has no full episodes, e.g.
{:total 19
:heard 3
:left 44000
:unknown 0
:started? true
:seasons 7
:next item
:season {:season 2 :number 2 :total 3 :heard 1 :left 3600 :unknown 0}}
Only full episodes count, since trailers and bonuses stand aside from the
story, though hearing one moves the listener to its season. The :left is
in seconds, and :unknown counts the episodes not yet heard that have no
length.
The :next is the first not yet heard in the season heard last, or else in
the seasons after it and then before it. Its :season has the :number of
:next from 1 and the :name that the feed gives it, if any. Neither is there
once all are heard.(view feed)(view feed
{:keys [url notes-url-fn heading-level link-fn except]
:or {notes-url-fn resolve/notes-url except #{}}
:as opts})The show of feed as a page shows it, with the opts below: the feed
with the properties of resolve/properties merged in, and these keys:
opts give the :url of the feedThe opts are:
The show of `feed` as a page shows it, with the `opts` below: the feed
with the properties of resolve/properties merged in, and these keys:
- :guid, the id that the feed gives itself now, for links and remote
items, when the feed has one or `opts` give the :url of the feed
- :id, the key that a library keeps the feed under, as guid/feed-key
gives it, which can differ from the :guid once the feed moved
- :notes, the description as Hiccup, and :text, as plain text
- :episodes, the items in listening order, in place of :rss/items
- :seasons, the items by season, as maps of :season, :name and :items
- :links, links to the show in other apps
The `opts` are:
- :url, the URL of the feed, for a feed that doesn't name its own
- :notes-url-fn, a function of the web page of the show and a URL in
its description, which gives the URL to keep or nil, by default the
URL made absolute
- :heading-level, the level that the highest heading of the notes
takes, e.g. 3 on a page whose own headings are h1 and h2
- :link-fn, a function of each link of the notes, as Hiccup, e.g.
[:a {:href "https://example.com"} "Example"], which gives the Hiccup
in its place, e.g. the link with a :target. What it gives is kept as
it is, so it's for the app's own code, and the text of the notes has
its text too.
- :except, a set of the keys above to leave out without computing themcljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |