eleventy-plugin-podcaster 0.10.2 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -14
- package/package.json +1 -1
- package/src/podcastFeed.njk +4 -1
package/README.md
CHANGED
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
# eleventy-plugin-podcaster 🕚⚡️🎈🐀🎤📲
|
|
2
2
|
|
|
3
|
-
`eleventy-plugin-podcaster` — or **Podcaster**, as we will call it from now on —
|
|
3
|
+
`eleventy-plugin-podcaster` — or **Podcaster**, as we will call it from now on — is an Eleventy plugin which lets you create a podcast and its accompanying website. **Podcaster** creates the podcast feed that you submit to Apple Podcasts, Spotify or any other podcast directory. And it provides information about your podcast to your Eleventy templates. This means that you can include information about the podcast and its episodes on your podcast's website, creating pages for individual episodes, guests, topics, seasons or anything else at all.
|
|
4
|
+
|
|
5
|
+
Plenty of services exist that will host your podcast online — [Spotify][], [Acast][], [Podbean][], [Buzzsprout][], [Blubrry][]. But none of these will allow you to own your podcast's presence on the web, and none of them will give you the freedom to create a site that presents your podcast in a way that reflects its premise, tone and style.
|
|
6
|
+
|
|
7
|
+
[Spotify]: https://podcasters.spotify.com
|
|
8
|
+
[Acast]: https://www.acast.com
|
|
9
|
+
[Podbean]: https://www.podbean.com
|
|
10
|
+
[Buzzsprout]: https://www.buzzsprout.com
|
|
11
|
+
[Blubrry]: https://blubrry.com
|
|
12
|
+
|
|
13
|
+
But **Podcaster** will.
|
|
4
14
|
|
|
5
15
|
## Installation
|
|
6
16
|
|
|
@@ -28,20 +38,13 @@ export default function (eleventyConfig) {
|
|
|
28
38
|
|
|
29
39
|
## ➡ [Documentation and usage][Podcaster]
|
|
30
40
|
|
|
31
|
-
|
|
41
|
+
Detailed and specific information about how to install and use **Podcaster** can be found in [the Documentation section](https://eleventy-plugin-podcaster.com/docs) of [the `eleventy-plugin-podcaster` site][Podcaster], but here's a quick summary.
|
|
32
42
|
|
|
33
|
-
[Podcaster]: https://eleventy-plugin-podcaster.com
|
|
43
|
+
[Podcaster]: https://eleventy-plugin-podcaster.com
|
|
34
44
|
|
|
35
|
-
|
|
45
|
+
**Podcaster** is an Eleventy plugin. You install it in your config file in the usual way. You usually provide it with information about your podcast — like its title, description and category — by creating a `podcast.json` file in the data directory. For each episode, you create a template with information in the front matter about that episode — its name, release date, filename, duration and so on.
|
|
36
46
|
|
|
37
|
-
|
|
47
|
+
Once you do this, **Podcaster** can create the RSS feed for your podcast. You can also create templates for various pages on your website and include on those pages the information you have provided about the podcast and its episodes.
|
|
38
48
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
But **Podcaster** will.
|
|
42
|
-
|
|
43
|
-
[Spotify]: https://podcasters.spotify.com
|
|
44
|
-
[Acast]: https://www.acast.com
|
|
45
|
-
[Podbean]: https://www.podbean.com
|
|
46
|
-
[Buzzsprout]: https://www.buzzsprout.com
|
|
47
|
-
[Blubrry]: https://blubrry.com
|
|
49
|
+
> [!WARNING]
|
|
50
|
+
> **Podcaster** only works with Node 20 and later.
|
package/package.json
CHANGED
package/src/podcastFeed.njk
CHANGED
|
@@ -50,6 +50,9 @@ eleventyAllowMissingExtension: true
|
|
|
50
50
|
{% for post in collections.podcastEpisode | reverse %}
|
|
51
51
|
<item>
|
|
52
52
|
<title>{{ post.data.episode.title or post.data.title }}</title>
|
|
53
|
+
{% if post.data.episode.itunesTitle %}
|
|
54
|
+
<itunes:title>{{ post.data.episode.itunesTitle }}</title>
|
|
55
|
+
{%- endif %}
|
|
53
56
|
<link>{{ post.url | htmlBaseUrl(siteUrl) }}</link>
|
|
54
57
|
{%- if post.data.guid != undefined %}
|
|
55
58
|
<guid isPermalink="false">{{ post.data.guid }}</guid>
|
|
@@ -64,7 +67,7 @@ eleventyAllowMissingExtension: true
|
|
|
64
67
|
{% elif post.data.episode.description %}
|
|
65
68
|
{%- set episodeDescription = post.data.episode.description -%}
|
|
66
69
|
{% else %}
|
|
67
|
-
{%- set episodeDescription = post.content | striptags(true) | truncate(800) -%}
|
|
70
|
+
{%- set episodeDescription = post.content | safe | striptags(true) | truncate(800) -%}
|
|
68
71
|
{%- endif %}
|
|
69
72
|
<description>{{ episodeDescription | trim }}</description>
|
|
70
73
|
<itunes:summary>{{ episodeDescription | trim }}</itunes:summary>
|