pull/294/head
Dave Jones 2021-09-02 08:55:52 -05:00
rodzic d45ea0df9b
commit 3fb9d23d3a
1 zmienionych plików z 92 dodań i 90 usunięć

Wyświetl plik

@ -13,20 +13,22 @@ Each tag below exists in the podcast namespace within the specified parent. All
Anywhere the url of a hyper-text based resource is specified, it must be given as `https:` and not `http:`.
<br><br>
<br><br><!-- Tag block -->
## Transcript
`<podcast:transcript>`
`<podcast:transcript>`<br><br>
This tag is used to link to a transcript or closed captions file. Multiple tags can be present for multiple transcript formats.
#### Parent
`<item>`
Detailed file format information and example files are [here](../transcripts/transcripts.md).
#### Count
Multiple
### Parent
&nbsp; `<item>`
#### Attributes
### Count
&nbsp; Multiple
### Attributes
- **url (required):** URL of the podcast transcript.
- **type (required):** Mime type of the file such as `text/plain`, `text/html`, `application/srt`, `text/vtt`, `application/json`
@ -35,7 +37,7 @@ Multiple
- **rel (optional):** If the rel="captions" attribute is present, the linked file is considered to be a closed captions file, regardless of what the mime type is. In that scenario, time codes are assumed to be present in the file in some capacity.
#### Examples
### Examples
`<podcast:transcript url="https://example.com/episode1/transcript.html" type="text/html" />`
`<podcast:transcript url="https://example.com/episode1/transcript.srt" type="text/srt" rel="captions" />`
@ -44,114 +46,121 @@ Multiple
`<podcast:transcript url="https://example.com/episode1/transcript.vtt" type="text/vtt" />`
Detailed file format information and example files are [here](../transcripts/transcripts.md).
<br><br>
<br><br><!-- Tag block -->
## Locked
`<podcast:locked>`
`<podcast:locked>`<br><br>
This tag may be set to `yes` or `no`. The purpose is to tell other podcast platforms whether they are allowed to import this feed. A value of `yes` means that any attempt to import this feed into a new platform should be rejected.
#### Parent
`<channel>`
### Parent
&nbsp; `<channel>`
#### Count
Single
### Count
&nbsp; Single
#### Attributes
### Node value
&nbsp; The node value must be "yes" or "no".
### Attributes
- **owner (required):** 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. This is a critical element, and it is expected that podcast hosting providers (if not providing virtual addresses) will allow setting this element's value in their GUI with an emphasis to their users of how important it is to have this be a valid, working email address.
#### Examples
### Examples
`<podcast:locked owner="email@example.com">yes</podcast:locked>`
`<podcast:locked owner="email@example.com">no</podcast:locked>`
<br><br>
<br><br><!-- Tag block -->
## Funding
`<podcast:funding>`
`<podcast:funding>`<br><br>
This tag lists possible donation/funding links for the podcast. The content of the tag is the recommended string to be used with the link.
#### Parent
`<channel>`
### Parent
&nbsp; `<channel>`
#### Count
Multiple
### Count
&nbsp; Multiple
#### Attributes
### Node value
&nbsp; This is a free form string supplied by the creator which they expect to be displayed in the app next to the link. Please do not exceed `128 characters` for the node value or it may be
truncated by aggregators.
### Attributes
- **url (required):** The URL to be followed to fund the podcast.
#### Examples
### Examples
`<podcast:funding url="https://www.example.com/donations">Support the show!</podcast:funding>`
`<podcast:funding url="https://www.example.com/members">Become a member!</podcast:funding>`
Please do not exceed `128 characters` for the node value or it may be truncated by aggregators.
<br><br>
<br><br><!-- Tag block -->
## Chapters
`<podcast:chapters>`
Links to an external file (see example file) containing chapter data for the episode. See the [jsonChapters.md](https://github.com/Podcastindex-org/podcast-namespace/blob/main/chapters/jsonChapters.md) file for a description of the chapter file syntax. And, see the [example.json](https://github.com/Podcastindex-org/podcast-namespace/blob/main/chapters/example.json) example file for a real world example.
`<podcast:chapters>`<br><br>
Links to an external file (see example file) containing chapter data for the episode. See the [jsonChapters.md](https://github.com/Podcastindex-org/podcast-namespace/blob/main/chapters/jsonChapters.md)
file for a description of the chapter file syntax. And, see the [example.json](https://github.com/Podcastindex-org/podcast-namespace/blob/main/chapters/example.json) example file for a real world example.
#### Parent
`<item>`
### Parent
&nbsp; `<item>`
#### Count
Single
### Count
&nbsp; Single
#### Attributes
### Attributes
- **url (required):** The URL where the chapters file is located.
- **type (required):** Mime type of file - JSON prefered, 'application/json+chapters'.
#### Examples
### Examples
`<podcast:chapters url="https://example.com/episode1/chapters.json" type="application/json+chapters" />`
<br><br>
<br><br><!-- Tag block -->
## Soundbite
`<podcast:soundbite>`
Points to one or more soundbites within a podcast episode. The intended use includes episodes previews, discoverability, audiogram generation, episode highlights, etc. It should be assumed that the audio/video source of the soundbite is the audio/video given in the item's `<enclosure>` element.
`<podcast:soundbite>`<br><br>
Points to one or more soundbites within a podcast episode. The intended use includes episodes previews, discoverability, audiogram generation, episode highlights, etc. It should be assumed that the
audio/video source of the soundbite is the audio/video given in the item's `<enclosure>` element.
#### Parent
`<item>`
### Parent
&nbsp; `<item>`
#### Count
Multiple
### Count
&nbsp; Multiple
#### Attributes
### Node value
&nbsp; This is a free form string from the podcast creator to specify a title for the soundbite. If there is no node value, the title of the episode should be used. Please do not exceed `128 characters`
for the node value or it may be truncated by aggregators.
### Attributes
- **startTime (required):** The time where the soundbite begins
- **duration (required):** How long is the soundbite (recommended between 15 and 120 seconds)
- **node value (optional):** Used as free form string from the podcast creator to specify a title for the soundbite (null defaults to episode title)
#### Examples
### Examples
`<podcast:soundbite startTime="73.0" duration="60.0" />`
`<podcast:soundbite startTime="1234.5" duration="42.25">Why the Podcast Namespace Matters</podcast:soundbite>`
Please do not exceed `128 characters` for the node value or it may be truncated by aggregators.
<br><br>
<br><br><!-- Tag block -->
## Person
`<podcast:person>`
This element specifies a person of interest to the podcast. It is primarily intended to identify people like hosts, co-hosts and guests. Although, it is flexible enough to allow fuller credits to be given using the roles and groups that are listed in the [Podcast Taxonomy Project](https://podcasttaxonomy.com/)
`<podcast:person>`<br><br>
This element specifies a person of interest to the podcast. It is primarily intended to identify people like hosts, co-hosts and guests. Although, it is flexible enough to allow fuller credits to be
given using the roles and groups that are listed in the [Podcast Taxonomy Project](https://podcasttaxonomy.com/)
#### Parent
`<item>` or `<channel>`
### Parent
&nbsp; `<item>` or `<channel>`
#### Count
Multiple
### Count
&nbsp; Multiple
#### Node value
This is the full name or alias of the person. This value cannot be blank.
### Node value
&nbsp; This is the full name or alias of the person. This value cannot be blank. Please do not exceed `128 characters` for the node value or it may be truncated by aggregators.
#### Attributes
### 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.
@ -161,9 +170,7 @@ The `role` and `group` attributes are case-insensitive. So, "Host" is the same
The full taxonomy list is [here](https://github.com/Podcastindex-org/podcast-namespace/blob/main/taxonomy.json) as a json file.
Please do not exceed `128 characters` for the node value or they may be truncated by aggregators.
#### Examples
### Examples
`<podcast:person href="https://example.com/johnsmith/blog" img="http://example.com/images/johnsmith.jpg">John Smith</podcast:person>`
`<podcast:person role="guest" href="https://www.imdb.com/name/nm0427852888/" img="http://example.com/images/janedoe.jpg">Jane Doe</podcast:person>`
@ -174,59 +181,57 @@ Please do not exceed `128 characters` for the node value or they may be truncate
`<podcast:person group="visuals" role="Cover Art Designer" href="https://example.com/artist/beckysmith">Becky Smith</podcast:person>`
<br><br>
<br><br><!-- Tag block -->
## Location
`<podcast:location>`
This tag is intended to describe the location of editorial focus for a podcast's content (i.e. "what place is this podcast about?"). The tag has many use cases and is one of the more complex ones. You are **highly encouraged** to read the full [implementation document](https://github.com/Podcastindex-org/podcast-namespace/blob/main/location/location.md) before starting to code for it.
`<podcast:location>`<br><br>
This tag is intended to describe the location of editorial focus for a podcast's content (i.e. "what place is this podcast about?"). The tag has many use cases and is one of the more complex ones. You
are **highly encouraged** to read the full [implementation document](https://github.com/Podcastindex-org/podcast-namespace/blob/main/location/location.md) before starting to code for it.
#### Parent
`<item>` or `<channel>`
### Parent
&nbsp; `<item>` or `<channel>`
#### Count
Single
### Count
&nbsp; Single
#### Node Value
This is a free-form string meant to be a human readable location. It may conform to conventional location verbiage (i.e. "Austin, TX"), but it shouldn't be depended on to be parseable in any specific way. This value cannot be blank.
### Node Value
&nbsp; This is a free-form string meant to be a human readable location. It may conform to conventional location verbiage (i.e. "Austin, TX"), but it shouldn't be depended on to be parseable in any specific
way. This value cannot be blank. Please do not exceed `128 characters` for the node value or it may be truncated by aggregators.
#### Attributes
### Attributes
- **geo:** (recommended) This is a latitude and longitude given in "geo" notation (i.e. "geo:30.2672,97.7431").
- **osm:** (recommended) The Open Street Map identifier of this place, given using the OSM notation (i.e. "R113314")
Please do not exceed `128 characters` for the node value or it may be truncated by aggregators.
#### Examples
### Examples
`<podcast:location geo="geo:30.2672,97.7431" osm="R113314">Austin, TX</podcast:location>`
`<podcast:location geo="geo:33.51601,-86.81455" osm="R6930627">Birmingham Civil Rights Museum</podcast:location>`
`<podcast:location geo="geo:-27.86159,153.3169" osm="W43678282">Dreamworld (Queensland)</podcast:location>`
Please see the [implementation document](https://github.com/Podcastindex-org/podcast-namespace/blob/main/location/location.md) and the [example feed](https://github.com/Podcastindex-org/podcast-namespace/blob/main/example.xml) for more examples.
<br><br>
<br><br><!-- Tag block -->
## Season
`<podcast:season>`
`<podcast:season>`<br><br>
This element allows for identifying which episodes in a podcast are part of a particular "season", with an optional season name attached.
#### Parent
`<item>`
### Parent
&nbsp; `<item>`
#### Count
Single
### Count
&nbsp; Single
#### Node Value
The node value is an integer, and represents the season "number". It is required.
### Node Value
&nbsp; The node value is an integer, and represents the season "number". It is required.
#### Attributes
### 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.
Please do not exceed `128 characters` for the name attribute.
#### Examples
### Examples
`<podcast:season>5</podcast:season>`
`<podcast:season name="Race for the Whitehouse 2020">3</podcast:season>`
@ -581,9 +586,6 @@ this tag works and what it is capable of.
### Count
Multiple
### Node Value
This element has no node value.
### Attributes
- **name** (recommended) A free-form string that designates who or what this recipient is.
- **customKey** (optional) The name of a custom record key to send along with the payment.