Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions docs/tags/alternate-enclosure.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,15 @@ The node value must be one or more [`<podcast:source>`](source.md) elements that

### Attributes

- **type:** (required) Mime type of the media asset.
- **length:** (recommended) Length of the file in bytes.
- **bitrate:** (optional) Average encoding bitrate of the media asset, expressed in bits per second.
- **height:** (optional) Height of the media asset for video formats.
- **lang:** (optional) An [IETF language tag (BCP 47)](https://en.wikipedia.org/wiki/BCP_47) code identifying the language of this media.
- **title:** (optional) A human-readable string identifying the name of the media asset. Should be limited to 32 characters for UX.
- **rel:** (optional) Provides a method of offering and/or grouping together different media elements. If not set, or set to "default", the media will be grouped with the enclosure and assumed to be an alternative to the enclosure's encoding/transport. This attribute can and should be the same for items with the same content encoded by different means. Should be limited to 32 characters for UX.
- **codecs:** (optional) An [RFC 6381](https://tools.ietf.org/html/rfc6381) string specifying the codecs available in this media.
- **default:** (optional) Boolean specifying whether or not the given media is the same as the file from the enclosure element and should be the preferred media element. The primary reason to set this is to offer alternative transports for the enclosure. If not set, this should be assumed to be false.
- `type` **(required)**: Mime type of the media asset.
- `length` (recommended): Length of the file in bytes.
- `bitrate` (optional): Average encoding bitrate of the media asset, expressed in bits per second.
- `height` (optional): Height of the media asset for video formats.
- `lang` (optional): An [IETF language tag (BCP 47)](https://en.wikipedia.org/wiki/BCP_47) code identifying the language of this media.
- `title` (optional): A human-readable string identifying the name of the media asset. Should be limited to 32 characters for UX.
- `rel` (optional): Provides a method of offering and/or grouping together different media elements. If not set, or set to "default", the media will be grouped with the enclosure and assumed to be an alternative to the enclosure's encoding/transport. This attribute can and should be the same for items with the same content encoded by different means. Should be limited to 32 characters for UX.
- `codecs` (optional): An [RFC 6381](https://tools.ietf.org/html/rfc6381) string specifying the codecs available in this media.
- `default` (optional): Boolean specifying whether or not the given media is the same as the file from the enclosure element and should be the preferred media element. The primary reason to set this is to offer alternative transports for the enclosure. If not set, this should be assumed to be false.

### Examples

Expand Down
2 changes: 1 addition & 1 deletion docs/tags/block.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Multiple

### Attributes

- **id** (optional) A single entry from the [service slug list](https://github.com/Podcastindex-org/podcast-namespace/blob/main/serviceslugs.txt).
- `id` (optional): A single entry from the [service slug list](https://github.com/Podcastindex-org/podcast-namespace/blob/main/serviceslugs.txt).

### Node value

Expand Down
4 changes: 2 additions & 2 deletions docs/tags/chapters.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ Single

### Attributes

- **url (required):** The URL where the chapters file is located.
- **type (required):** Mime type of file - JSON prefered, 'application/json+chapters'.
- `url` **(required)**: The URL where the chapters file is located.
- `type` **(required)**: Mime type of file - JSON prefered, 'application/json+chapters'.

### Examples

Expand Down
8 changes: 4 additions & 4 deletions docs/tags/chat.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ Single

### Attributes

- `server` (required) The fqdn of a chat server that serves as the "bootstrap" server to connect to.
- `protocol` (required) The [protocol](../chatprotocols.txt) in use on the server.
- `accountId` (recommended) The account id of the podcaster on the server or platform being connected to.
- `space` (optional) Some chat systems have a notion of a chat "space" or "room" or "topic". This attribute will serve that purpose.
- `server` **(required)**: The fqdn of a chat server that serves as the "bootstrap" server to connect to.
- `protocol` **(required)**: The [protocol](../chatprotocols.txt) in use on the server.
- `accountId` (recommended): The account id of the podcaster on the server or platform being connected to.
- `space` (optional): Some chat systems have a notion of a chat "space" or "room" or "topic". This attribute will serve that purpose.

### Example (IRC):

Expand Down
2 changes: 1 addition & 1 deletion docs/tags/content-link.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ The node value is a free-form string meant to explain to the user where this con

### Attributes

- **href** (required) A string that is the uri pointing to content outside of the application.
- `href` **(required)**: A string that is the uri pointing to content outside of the application.

### Examples

Expand Down
2 changes: 1 addition & 1 deletion docs/tags/episode.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ The node value is a decimal number. It is required.

### Attributes

- **display:** (optional) - If this attribute is present, podcast apps and aggregators are encouraged to show its value instead of the purely numerical node value. This attribute is a string.
- `display` (optional): If this attribute is present, podcast apps and aggregators are encouraged to show its value instead of the purely numerical node value. This attribute is a string.

The episode numbers are decimal, so numbering such as `100.5` is acceptable if there was a special mini-episode published between two other episodes. In that scenario, the number would help with proper chronological sorting, while the `display` attribute could specify an alternate special "number" (a moniker) to display for the episode in a podcast player app UI.

Expand Down
2 changes: 1 addition & 1 deletion docs/tags/funding.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ This is a free form string supplied by the creator which they expect to be displ

### Attributes

- **url (required):** The URL to be followed to fund the podcast.
- `url` **(required)**: The URL to be followed to fund the podcast.

### Examples

Expand Down
14 changes: 7 additions & 7 deletions docs/tags/image.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@ This tag allows for the delivering of images of various sizes and use cases. It
Multiple

### Attributes
- href (required): The URL to the media you want to embed.
- alt (recommended): A clear and concise accessibility focused text replacement for the image’s content.
- aspect-ratio (recommended): A ratio value such as 1/1, 16/9, 4/1 following the equivalent [CSS syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/aspect-ratio). This allows podcasters to provide multiple art directions for the same media.
- width (recommended): The width of the asset in pixels.
- height (optional): The height of the asset in pixels.
- type (optional): Mime type of the media such as image/jpeg or video/mp4.
- purpose (optional): An unordered set of case-insensitive, space-separated tokens following the equivalent [W3C syntax](https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#space-separated-tokens). This value should not exceed 128 characters. This allows podcasters to indicate the suggested uses of this media.
- `href` **(required)**: The URL to the media you want to embed.
- `alt` (recommended): A clear and concise accessibility focused text replacement for the image’s content.
- `aspect-ratio` (recommended): A ratio value such as 1/1, 16/9, 4/1 following the equivalent [CSS syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/aspect-ratio). This allows podcasters to provide multiple art directions for the same media.
- `width` (recommended): The width of the asset in pixels.
- `height` (optional): The height of the asset in pixels.
- `type` (optional): Mime type of the media such as image/jpeg or video/mp4.
- `purpose` (optional): An unordered set of case-insensitive, space-separated tokens following the equivalent [W3C syntax](https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#space-separated-tokens). This value should not exceed 128 characters. This allows podcasters to indicate the suggested uses of this media.

### Notes
The only required attribute is `href`, specifying the url of the asset being delivered. If no further attributes are defined, such as `aspect-ratio` or `purpose`, the image is assumed to be square (1:1). For accessibility, `alt` is also encouraged.
Expand Down
2 changes: 1 addition & 1 deletion docs/tags/images-(deprecated).md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Single

### Attributes

- **srcset** (required) A string that denotes each image url followed by a space and the pixel width, with each one separated by a comma. See the example for a clear view of the syntax.
- `srcset` **(required)**: A string that denotes each image url followed by a space and the pixel width, with each one separated by a comma. See the example for a clear view of the syntax.

### Examples

Expand Down
4 changes: 2 additions & 2 deletions docs/tags/integrity.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ Single

### Attributes

- **type:** (required) Type of integrity, either "sri" or "pgp-signature".
- **value:** (required) Value of the sri string or base64 encoded pgp signature.
- `type` **(required)**: Type of integrity, either "sri" or "pgp-signature".
- `value` **(required)**: Value of the sri string or base64 encoded pgp signature.

### Examples

Expand Down
6 changes: 3 additions & 3 deletions docs/tags/live-item.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@ The function of `<guid>` within a live item tag is the same as it is within a re

### Attributes

- **status** (required) A string that must be one of `pending`, `live` or `ended`.
- **start** (required) A string representing an ISO8601 timestamp that denotes the time when the stream is intended to start.
- **end** (recommended) A string representing an ISO8601 timestamp that denotes the time when the stream is intended to end.
- `status` **(required)**: A string that must be one of `pending`, `live` or `ended`.
- `start` **(required)**: A string representing an ISO8601 timestamp that denotes the time when the stream is intended to start.
- `end` (recommended): A string representing an ISO8601 timestamp that denotes the time when the stream is intended to end.

The `start` and `end` attributes denote when the live stream "should" start and end. But, real life dictates that those times might not be adhered to. Apps are therefore encouraged not to rely solely on those times as anything more than an approximation. The canonical way to know if a stream has started is with the `status` attribute. If `status` is "live" then the stream has started.

Expand Down
8 changes: 4 additions & 4 deletions docs/tags/location.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,12 @@ define the actual location parameters.

### Attributes

- **rel:** (recommended) The `rel` attribute can contain one of the following possible values:
- `rel` (recommended): The `rel` attribute can contain one of the following possible values:
- `"subject"` (default) - The location refers to what/where the content is about.
- `"creator"` - The location refers to where the content was recorded or produced.
- **geo:** (recommended) A latitude and longitude in geoURI form, following [RFC5870](https://datatracker.ietf.org/doc/html/rfc5870) (i.e. "geo:30.2672,97.7431").
- **osm:** (recommended) The [OpenStreetMap](https://www.openstreetmap.org/#map=13/41.39239/2.14036) identifier of this place. Made by taking the first character of the [OSM object type](https://locationiq.com/glossary/osm-type) (Node, Way, Relation), followed by the ID. (i.e. "R113314")
- **country:** (recommended) A two-letter code for the country, following [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
- `geo` (recommended): A latitude and longitude in geoURI form, following [RFC5870](https://datatracker.ietf.org/doc/html/rfc5870) (i.e. "geo:30.2672,97.7431").
- `osm` (recommended): The [OpenStreetMap](https://www.openstreetmap.org/#map=13/41.39239/2.14036) identifier of this place. Made by taking the first character of the [OSM object type](https://locationiq.com/glossary/osm-type) (Node, Way, Relation), followed by the ID. (i.e. "R113314")
- `country` (recommended): A two-letter code for the country, following [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)

> [!NOTE]
> While all elements are "recommended", **the location tag works best when all elements are populated.** The [implementation document](../examples/location/location.md) goes into more detail. An example location generator (entirely in JavaScript) is [over here](https://jamescridland.github.io/podcast-location-generator/).
Expand Down
2 changes: 1 addition & 1 deletion docs/tags/locked.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ The node value must be "yes" or "no".

### Attributes

- **owner (optional):** The owner attribute is an email address that can be used to verify ownership of this feed during move and import operations. This could be a public email or a virtual email address at the hosting provider that redirects to the owner's true email address.
- `owner` (optional): The owner attribute is an email address that can be used to verify ownership of this feed during move and import operations. This could be a public email or a virtual email address at the hosting provider that redirects to the owner's true email address.

### Examples

Expand Down
8 changes: 4 additions & 4 deletions docs/tags/person.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,10 @@ This is the full name or alias of the person. This value cannot be blank. Please

### Attributes

- **role:** (optional) Used to identify what role the person serves on the show or episode. This should be a reference to an official role within the Podcast Taxonomy Project list (see below). If `role` is missing then "host" is assumed.
- **group:** (optional) This should be a reference to an official group within the Podcast Taxonomy Project list. If `group` is not present, then "cast" is assumed.
- **img:** (optional) This is the url of a picture or avatar of the person.
- **href:** (optional) The url to a relevant resource of information about the person, such as a homepage or third-party profile platform. Please see the [example feed](https://github.com/Podcastindex-org/podcast-namespace/blob/main/example.xml) for possible choices of what to use here.
- `role` (optional): Used to identify what role the person serves on the show or episode. This should be a reference to an official role within the Podcast Taxonomy Project list (see below). If `role` is missing then "host" is assumed.
- `group` (optional): This should be a reference to an official group within the Podcast Taxonomy Project list. If `group` is not present, then "cast" is assumed.
- `img` (optional): This is the url of a picture or avatar of the person.
- `href` (optional): The url to a relevant resource of information about the person, such as a homepage or third-party profile platform. Please see the [example feed](https://github.com/Podcastindex-org/podcast-namespace/blob/main/example.xml) for possible choices of what to use here.

The `role` and `group` attributes are case-insensitive. So, "Host" is the same as "host", and "Cover Art Designer" is the same as "cover art designer".

Expand Down
10 changes: 5 additions & 5 deletions docs/tags/remote-item.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ Multiple

### Attributes

- **feedGuid** (required) The [`<podcast:guid>`](guid.md) of the remote feed being pointed to.
- **feedUrl** (optional) The url of the remote feed being pointed to.
- **itemGuid** (optional) If this remote item element is intended to point to an `<item>` in the remote feed, this attribute should contain the value of the `<guid>` of that `<item>`.
- **medium** (optional) If the feed being pointed to is not of medium type 'podcast', this attribute should contain it's [`<podcast:medium>`](medium.md) type from the [list](./medium.md#medium) of types available in this document. The reason this is helpful is to give the app a heads up on what type of data this is expected to be since that may affect the way it approaches fetch and display.
- **title** (optional) A string that represents the title of the remote item. The purpose of this attribute is to give a hint to apps so that they can display the title without having to do a remote lookup.
- `feedGuid` **(required)**: The [`<podcast:guid>`](guid.md) of the remote feed being pointed to.
- `feedUrl` (optional): The url of the remote feed being pointed to.
- `itemGuid` (optional): If this remote item element is intended to point to an `<item>` in the remote feed, this attribute should contain the value of the `<guid>` of that `<item>`.
- `medium` (optional): If the feed being pointed to is not of medium type 'podcast', this attribute should contain it's [`<podcast:medium>`](medium.md) type from the [list](./medium.md#medium) of types available in this document. The reason this is helpful is to give the app a heads up on what type of data this is expected to be since that may affect the way it approaches fetch and display.
- `title` (optional): A string that represents the title of the remote item. The purpose of this attribute is to give a hint to apps so that they can display the title without having to do a remote lookup.

### Examples

Expand Down
2 changes: 1 addition & 1 deletion docs/tags/season.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ The node value is an integer, and represents the season "number". It is required

### Attributes

- **name:** (optional) - This is the "name" of the season. If this attribute is present, applications are free to **not** show the season number to the end user, and may use it simply for chronological sorting and grouping purposes.
- `name` (optional): This is the "name" of the season. If this attribute is present, applications are free to **not** show the season number to the end user, and may use it simply for chronological sorting and grouping purposes.

Please do not exceed `128 characters` for the name attribute.

Expand Down
10 changes: 5 additions & 5 deletions docs/tags/social-interact.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@ Multiple

### Attributes

- **protocol** (required) The [protocol](https://github.com/Podcastindex-org/podcast-namespace/blob/main/socialprotocols.txt) in use for interacting with the comment root post.
- **uri** (required) The uri/url of root post comment.
- **accountId** (recommended) The account id (on the commenting platform) of the account that created this root post.
- **accountUrl** (optional) The public url (on the commenting platform) of the account that created this root post.
- **priority** (optional) When multiple socialInteract tags are present, this integer gives order of priority. A lower number means higher priority.
- `protocol` **(required)**: The [protocol](https://github.com/Podcastindex-org/podcast-namespace/blob/main/socialprotocols.txt) in use for interacting with the comment root post.
- `uri` **(required)**: The uri/url of root post comment.
- `accountId` (recommended): The account id (on the commenting platform) of the account that created this root post.
- `accountUrl` (optional): The public url (on the commenting platform) of the account that created this root post.
- `priority` (optional): When multiple socialInteract tags are present, this integer gives order of priority. A lower number means higher priority.

Example (simple):

Expand Down
4 changes: 2 additions & 2 deletions docs/tags/soundbite.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ This is a free form string from the podcast creator to specify a title for the s

### Attributes

- **startTime (required):** The time where the soundbite begins
- **duration (required):** How long is the soundbite (recommended between 15 and 120 seconds)
- `startTime` **(required)**: The time where the soundbite begins
- `duration` **(required)**: How long is the soundbite (recommended between 15 and 120 seconds)

### Examples

Expand Down
4 changes: 2 additions & 2 deletions docs/tags/source.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ Multiple

### Attributes

- **uri:** (required) This is the uri where the media file resides.
- **contentType:** (optional) This is a string that declares the mime-type of the file. It is useful if the transport mechanism is different than the file being delivered, as is the case with a torrents.
- `uri` **(required)**: This is the uri where the media file resides.
- `contentType` (optional): This is a string that declares the mime-type of the file. It is useful if the transport mechanism is different than the file being delivered, as is the case with a torrents.

### Examples

Expand Down
Loading