Liking cljdoc? Tell your friends :D

dk.simongray.podcast.directory.links

Links to a show and to an episode in the apps of listeners, and a link to a time in a media file.

An app has its own form of link, and no standard defines it. Most forms hold a key that the app didn't make: the URL of the feed, the podcast:guid, the id of Apple Podcasts or the id of the Podcast Index.

A link with the scheme of an app, such as podcast:// or pktc://, opens the app and subscribes. It works only where the app is. A link to the web page of an app works in each browser.

A link to a time follows the one standard here: the media fragment of the W3C, which starts a media file at a time.

Links to a show and to an episode in the apps of listeners, and a link
to a time in a media file.

An app has its own form of link, and no standard defines it. Most forms
hold a key that the app didn't make: the URL of the feed, the
podcast:guid, the id of Apple Podcasts or the id of the Podcast Index.

A link with the scheme of an app, such as podcast:// or pktc://, opens
the app and subscribes. It works only where the app is. A link to the
web page of an app works in each browser.

A link to a time follows the one standard here: the media fragment of
the W3C, which starts a media file at a time.
raw docstring

appsclj/s

The forms of the links of each app, by an id of the app. The options can give another table as :apps.

No standard defines these forms. They're those of the list Podcast Platform Links, https://github.com/nathangathright/podcast-platform-links, as the list was on 29 September 2026: the forms whose keys an app didn't make.

An entry has the :name of the app, and its :type: :app, or :page for a web page that leads a listener to the apps. It has the forms of its links under :show, :episode and :subscribe, the first form first. A link of the kind :subscribe has the scheme of the app.

A form is a vector of its parts. A text is a part as it is. A keyword is a key of ids, such as :apple-id. A pair is a key in an encoding, e.g. [:base64url :feed-url], and the encodings are these:

  • :encoded, the percent-encoding of a query
  • :base64url, the base64 of URLs
  • :hex, hexadecimal
  • :bare, the URL without its scheme
The forms of the links of each app, by an id of the app. The options
can give another table as :apps.

No standard defines these forms. They're those of the list Podcast
Platform Links, https://github.com/nathangathright/podcast-platform-links,
as the list was on 29 September 2026: the forms whose keys an app
didn't make.

An entry has the :name of the app, and its :type: :app, or :page for a
web page that leads a listener to the apps. It has the forms of its
links under :show, :episode and :subscribe, the first form first. A
link of the kind :subscribe has the scheme of the app.

A form is a vector of its parts. A text is a part as it is. A keyword is
a key of ids, such as :apple-id. A pair is a key in an encoding, e.g.
[:base64url :feed-url], and the encodings are these:

- :encoded, the percent-encoding of a query
- :base64url, the base64 of URLs
- :hex, hexadecimal
- :bare, the URL without its scheme
sourceraw docstring

at-timeclj/s

(at-time url start)
(at-time url start end)

The URL url of a media file, to play from start seconds, and to end seconds when there is one. A player that knows media fragments starts there, such as the audio element of a browser.

The link has the fragment of section 4.2.1 of Media Fragments URI 1.0, the W3C Recommendation of 25 September 2012, e.g. the fragment t=754 or t=754,796.5. It takes the place of a fragment that the URL has. A start that's nil is the start of the file.

The URL `url` of a media file, to play from `start` seconds, and to
`end` seconds when there is one. A player that knows media fragments
starts there, such as the audio element of a browser.

The link has the fragment of section 4.2.1 of Media Fragments URI 1.0,
the W3C Recommendation of 25 September 2012, e.g. the fragment t=754 or
t=754,796.5. It takes the place of a fragment that the URL has. A start
that's nil is the start of the file.
sourceraw docstring

default-slugclj/s

The text in the place of a link that an app doesn't read, which the forms name :slug. The :slug of the ids takes its place.

The text in the place of a link that an app doesn't read, which the
forms name :slug. The :slug of the ids takes its place.
sourceraw docstring

idsclj/s

(ids show)
(ids show item)
(ids show item {:keys [url] :as opts})

The keys that name show and its episode item in the links of the apps. The :url of opts is the URL of a feed that doesn't name its own.

{:feed-url "…" :podcast-guid "…" :apple-id "…"
 :podcastindex-id 920666 :episode-guid "…" :enclosure-url "…"
 :podcastindex-episode-id 123 :apple-episode-id "1000794523391"}

A key is absent when the show doesn't have it. The show is a parsed feed, or a show of a directory, which has the ids of the directories. The item is an item of the feed, or an episode of a directory, whose id at Apple or the Podcast Index only the directory knows. A feed names its URL in its atom:link rel=self.

The podcast:guid is that of the feed, or else the guid that the podcast namespace derives from the URL. The Podcast Index derives the same guid for a feed that declares none. A show from a directory has only the guid that the directory knows the feed declares, since the feed may declare another than its URL gives.

The keys that name `show` and its episode `item` in the links of the
apps. The :url of `opts` is the URL of a feed that doesn't name its own.

    {:feed-url "…" :podcast-guid "…" :apple-id "…"
     :podcastindex-id 920666 :episode-guid "…" :enclosure-url "…"
     :podcastindex-episode-id 123 :apple-episode-id "1000794523391"}

A key is absent when the show doesn't have it. The `show` is a parsed
feed, or a show of a directory, which has the ids of the directories.
The `item` is an item of the feed, or an episode of a directory, whose
id at Apple or the Podcast Index only the directory knows. A feed names
its URL in its atom:link rel=self.

The podcast:guid is that of the feed, or else the guid that the podcast
namespace derives from the URL. The Podcast Index derives the same guid
for a feed that declares none. A show from a directory has only the
guid that the directory knows the feed declares, since the feed may
declare another than its URL gives.
sourceraw docstring

kindsclj/s

The kinds of link that an entry of apps can have:

  • :show, to the page of a show
  • :episode, to the page of an episode
  • :subscribe, to the app itself, which then subscribes to the show
The kinds of link that an entry of apps can have:

- :show, to the page of a show
- :episode, to the page of an episode
- :subscribe, to the app itself, which then subscribes to the show
sourceraw docstring

(link app kind ids)
(link app kind ids opts)

The link of the kind kind of the app app for the keys ids. The :apps of opts replace the table of apps.

It's nil when the app has no such link, or when the ids lack the keys of each of its forms. The kind is one of kinds.

The link of the kind `kind` of the app `app` for the keys `ids`. The
:apps of `opts` replace the table of apps.

It's nil when the app has no such link, or when the ids lack the keys
of each of its forms. The `kind` is one of kinds.
sourceraw docstring

(link-ids url)
(link-ids url opts)

The ids that the link url of an app holds, read with the forms of the apps table or of the :apps of opts. Nil when no form reads it.

It reads a link more loosely than links are written: with http or https, with or without www., and with one more part of the path before each part of the form, such as the country and the name of a show in a link that Apple Podcasts shares. A feed URL that a link holds without its scheme comes without one. The forms of an episode come first, so a link to an episode gives the ids of the episode too.

The ids that the link `url` of an app holds, read with the forms of
the apps table or of the :apps of `opts`. Nil when no form reads it.

It reads a link more loosely than links are written: with http or https,
with or without www., and with one more part of the path before each
part of the form, such as the country and the name of a show in a link
that Apple Podcasts shares. A feed URL that a link holds without its
scheme comes without one. The forms of an episode come first, so a link
to an episode gives the ids of the episode too.
sourceraw docstring

(links ids)
(links ids {:keys [only] :or {only (constantly true)} :as opts})

The links of each app that opts choose for the keys ids, in the order of the names of the apps. An app without a link for the ids is left out.

Each is a map with the :app, its :name and its :type, and a link for each of kinds that the ids are enough for. The opts are these:

  • :apps, a table in place of apps
  • :only, a predicate of the id of an app, such as a set of ids
The links of each app that `opts` choose for the keys `ids`, in the
order of the names of the apps. An app without a link for the ids is
left out.

Each is a map with the :app, its :name and its :type, and a link for
each of kinds that the ids are enough for. The `opts` are these:

- :apps, a table in place of apps
- :only, a predicate of the id of an app, such as a set of ids
sourceraw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
←Move to previous article
→Move to next article
Ctrl+/Jump to the search field
× close