finalize the block tag

jamescridland-patch-16
Dave Jones 2022-08-04 14:03:34 -05:00
rodzic 6d40f48456
commit d3ee337021
2 zmienionych plików z 56 dodań i 53 usunięć

Wyświetl plik

@ -171,64 +171,13 @@ The following tags have been formally adopted into the namespace. They are full
full implementation details.
- **\<podcast:socialInteract>** <br>
- **\<podcast:block>** <br>
<br>
The following tags are under review for inclusion in this phase. Changes to them are now frozen. Any modifications will mean the tag needs
to be reworked and submitted to Phase 6.
<br><br><!-- Tag block -->
### **\<podcast:block>** - <small>[Discuss](https://github.com/Podcastindex-org/podcast-namespace/issues/179)</small>
<b>
```xml
<podcast:block
id="[single selection from the platform slug list]"
>
[yes|no(bool)]
</podcast:block>
```
</b>
#### Channel
#### (optional | multiple)
This element allows a podcaster to express which platforms are allowed to publicly display this feed and it's contents.
In it's basic form, it is a direct drop-in replacement for the `<itunes:block>` tag, but allows for greater flexibility
with the inclusion of the `id` attribute and/or multiple copies of itself.
Platforms should not ingest a feed for public display/use if their slug exists in the `id` of a `yes` block tag, or if
an unbounded `yes` block tag exists (meaning block all public ingestion). Conversely, if a platform finds their slug in
the `id` of a `no` block tag, they are free to ingest that feed for public display/usage.
#### Attributes
- **id** (optional) A single entry from the [platform slug list](serviceslugs.txt).
Examples:
```xml
<!-- This means "block everything" -->
<podcast:block>yes</podcast:block>
```
```xml
<!-- This means "block nothing" (same as not present) -->
<podcast:block>no</podcast:block>
```
```xml
<!-- This means "block only google and amazon" -->
<podcast:block id="google">yes</podcast:block>
<podcast:block id="amazon">yes</podcast:block>
```
```xml
<!-- This means "block every platform _except_ google and amazon" -->
<podcast:block>yes</podcast:block>
<podcast:block id="google">no</podcast:block>
<podcast:block id="amazon">no</podcast:block>
```
<br><br><!-- Tag block -->

Wyświetl plik

@ -919,4 +919,58 @@ Example (complex):
Example (disabled):
```xml
<podcast:socialInteract protocol="disabled" />
```
```
<br><br><br><br><!-- Tag block -->
## Block
`<podcast:block>`<br><br>
This element allows a podcaster to express which platforms are allowed to publicly display this feed and it's contents.
In it's basic form, it is a direct drop-in replacement for the `<itunes:block>` tag, but allows for greater flexibility
by the inclusion of the `id` attribute and by including multiple copies of itself in the feed.
Platforms should not ingest a feed for public display/use if their slug exists in the `id` of a `yes` block tag, or if
an unbounded `yes` block tag exists (meaning block all public ingestion). Conversely, if a platform finds their slug in
the `id` of a `no` block tag, they are free to ingest that feed for public display/usage.
In plain language, the sequence of discovery an ingesting platform should use is as follows:
1. Does `<podcast:block id="[myslug]">no</podcast:block>` exist in this feed? Safe to ingest.
2. Does `<podcast:block id="[myslug]">yes</podcast:block>` exist in this feed? Do not ingest.
3. Does `<podcast:block>yes</podcast:block>` exist in this feed? Do not ingest.
### Parent
&nbsp; `<item>`
### Count
&nbsp; Multiple
### Attributes
- **id** (optional) A single entry from the [service slug list](https://github.com/Podcastindex-org/podcast-namespace/blob/main/serviceslugs.txt).
### Examples
```xml
<!-- This means "block everything" -->
<podcast:block>yes</podcast:block>
```
```xml
<!-- This means "block nothing" (same as not present) -->
<podcast:block>no</podcast:block>
```
```xml
<!-- This means "block only google and amazon" -->
<podcast:block id="google">yes</podcast:block>
<podcast:block id="amazon">yes</podcast:block>
```
```xml
<!-- This means "block every platform _except_ google and amazon" -->
<podcast:block>yes</podcast:block>
<podcast:block id="google">no</podcast:block>
<podcast:block id="amazon">no</podcast:block>
```