Skip to content

Commit 2016372

Browse files
authored
Merge pull request #1 from mauricerenck/develop
First beta release
2 parents 5fae135 + a3f7458 commit 2016372

File tree

1,879 files changed

+192689
-1
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,879 files changed

+192689
-1
lines changed

README.md

Lines changed: 60 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,63 @@
33
Kirby 3 Podcast Plugin
44
For first screens of the panel have a look here: https://maurice-renck.de/de/projects/kirby-podcaster
55

6-
**Current status can be seen in the `develop` branch.**
6+
## Status
7+
8+
* ✅ new, slimmer ID3-Lib
9+
* ✅ ID3 parsing after upload (not as in Version 2 during first pageview of the episode/feed)
10+
* ✅ Panel blueprint section for episodes (so you can extend your article blueprint)
11+
* ✅ Panel blueprint for extended RSS feed (including all new iTunes specifications)
12+
* ✅ Completely rewritten RSS feed generator
13+
* ✅ Most settings now available per feed and in the panel not globally in your config.php
14+
* ✅ Run multiple podcasts with just one Kirby installation
15+
* ✅ Updated chapter syntax, now including image
16+
* ✅ Cover image per feed **and** episode
17+
* ✅ Author- and owner Settings per feed **and** episode
18+
* ✅ Upload as many mp3s as you want, select the one for your episode
19+
* ✅ Source selection, your feed can now be on another location than your episodes
20+
* ✅ Optimized iTunes Category Handling. Just select the categories from a dropdown. Categorylist updated via GitHub
21+
* ✅ Snippet for a simple HTML5-Player
22+
* ✅ Snippet for the advanced Podlove Player
23+
* ✅ Configure and style your website player within the panel
24+
* ✅ Routing for downloads/tracking
25+
* Snippet for Podlove Subscribe box
26+
* Tracking of downloads using Matomo
27+
* Tracking of downloads using Kirby and the episoden markdown
28+
* Tracking of downloads using Kirby and MySQL
29+
30+
31+
## Installation
32+
33+
* Clone repository to `/site/plugins/podcaster`
34+
* In the panel create a new page for your podcast
35+
* within your new podcast page, create an unlistet page for your rss-feed
36+
* use the template `podcasterfeed` (currently it doesn't appear in the template list, I working on that)
37+
* in the panel go to the rss-feed-page and edit all needed information
38+
39+
If you want to use the PodLove-Player and style it, you can try around here: https://docs.podlove.org/podlove-web-player/theme.html
40+
41+
## Add Player to template
42+
43+
If you want an audio player appear on your episode page, just add the follow snippet to your template: `<?php snippet('podcaster-player'); ?>`
44+
45+
If your feed isn't a sibling of your episodes and you selected another source in your rss-settings, you can hand in the episode page and the feed page like so: `<?php snippet('podcaster-player', ['page' => $episodePageObject, 'podcast' => $rssFeedPageObject]); ?>`
46+
47+
This could be also handy, if you want to show the player in your podcast listing.
48+
49+
## Add episode section to your blueprint
50+
51+
If you're using the panel you may want to edit the episode specific information in your article blueprint. You can do so, by adding a new tab using the blueprint `tabs/podcasterepisode` this could look like this:
52+
53+
```
54+
tabs:
55+
content:
56+
label: Your sections and columns
57+
icon: text
58+
podcast:
59+
extends: tabs/podcasterepisode
60+
```
61+
62+
If you never used tabs before, have a look here: https://getkirby.com/docs/guide/blueprints/tabs
63+
64+
You can now edit your episode as needed by iTunes and other directories.
65+

UPDATE-FROM-K2.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Changes
2+
3+
title -> podcasterTitel
4+
Itunesimage -> podcasterCover
5+
Itunessubtitle -> podcasterSubtitle
6+
Language -> podcasterLanguage
7+
Ituneskeywords -> podcasterKeywords
8+
Description -> podcasterDescription
9+
Itunesblock -> podcasterBlock
10+
Itunesexplicit -> podcasterExplicit
11+
Itunesauthor -> podcasterAuthor
12+
Itunesowner, Itunesemail -> podcasterOwner
13+
iTunesType -> podcasterType
14+
iTunesCategories -> podcasterCategories
15+
16+
17+
```
18+
<?php snippet('podcaster-player'); ?>
19+
foreach($children as $episode) {
20+
snippet('podcaster-player', ['page' => $episode]);
21+
}
22+
23+
```
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
title: Podcaster Audiofile
2+
type: fields
3+
fields:
4+
episodeTitle:
5+
label: Episode Title
6+
type: test
7+
duration:
8+
label: Duration
9+
type: text

blueprints/pages/podcasterfeed.yml

Lines changed: 254 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,254 @@
1+
name: podcasterfeed
2+
title: Podcast Feed
3+
tabs:
4+
content:
5+
label: Content
6+
icon: text
7+
columns:
8+
- width: 1/1
9+
sections:
10+
heading:
11+
type: fields
12+
fields:
13+
headlineInfo:
14+
type: headline
15+
label: RSS Information
16+
- width: 1/4
17+
sections:
18+
graphics:
19+
type: fields
20+
fields:
21+
podcasterCover:
22+
type: files
23+
label: Cover Image
24+
max: 1
25+
width: 1/3
26+
layout: cards
27+
multiple: false
28+
max: 1
29+
cover: true
30+
files:
31+
type: files
32+
- width: 2/4
33+
sections:
34+
infos:
35+
type: fields
36+
fields:
37+
podcasterTitle:
38+
label: Podcast Title
39+
type: text
40+
required: true
41+
podcasterSubtitle:
42+
label: Podcast Subtitle
43+
type: text
44+
podcasterDescription:
45+
label: Description
46+
type: textarea
47+
size: medium
48+
podcasterKeywords:
49+
label: iTunes Keywords
50+
type: tags
51+
podcasterLink:
52+
label: Link
53+
required: true
54+
type: url
55+
help: Can be a link to your podcasts landing page
56+
podcasterCopyright:
57+
label: Copyright
58+
type: text
59+
settings:
60+
label: RSS Settings
61+
icon: text
62+
columns:
63+
- width: 1/1
64+
sections:
65+
heading2:
66+
type: fields
67+
fields:
68+
headlineSettings:
69+
type: headline
70+
label: RSS Settings
71+
- width: 1/4
72+
sections:
73+
settings:
74+
type: fields
75+
fields:
76+
podcasterSource:
77+
label: Source Page
78+
type: pages
79+
required: true
80+
multiple: false
81+
help: Select the page which will act as a parent of your episodes. Normally this is the page which is the parent of this feed, too.
82+
podcasterLanguage:
83+
label: Language
84+
type: text
85+
required: true
86+
podcasterType:
87+
label: Podcast type
88+
type: select
89+
default: episodic
90+
options:
91+
episodic: Episodic
92+
serial: Serial
93+
podcasterAtomLink:
94+
label: Atom Link
95+
type: url
96+
help: If your want the target of your rss atom:link tag to point elsewhere, set the url here. This can be handy, if you want to use something like feedburner
97+
- width: 2/4
98+
sections:
99+
categorySettings:
100+
type: fields
101+
fields:
102+
podcasterCategories:
103+
label: iTunes Categories
104+
type: structure
105+
required: true
106+
fields:
107+
podcasterMainCategory:
108+
label: Main
109+
type: select
110+
options: api
111+
api: https://raw.githubusercontent.com/mauricerenck/kirby-podcaster/master/res/categories.json
112+
- width: 1/4
113+
sections:
114+
authors:
115+
type: fields
116+
fields:
117+
podcasterAuthor:
118+
label: Author
119+
type: users
120+
max: 1
121+
podcasterOwner:
122+
label: Owner
123+
type: users
124+
max: 1
125+
dangerzone:
126+
label: Dangerzone
127+
icon: text
128+
sections:
129+
dangerzone:
130+
type: fields
131+
fields:
132+
headlineDanger:
133+
type: headline
134+
label: Dangerzone
135+
infoDanger:
136+
label: Be aware!️️
137+
type: info
138+
theme: negative
139+
text: The following settings will influence how and if your podcast appears on directories like iTunes. Please be aware that setting the wrong option can harm your podcasts appearance.
140+
width: 1/4
141+
podcasterBlock:
142+
label: Block
143+
type: toggle
144+
default: no
145+
text:
146+
- Podcast is visible
147+
- Podcast is BLOCKED
148+
help: Enabling this will prevent your Podcast from appearing on the iTunes Store and other podcast directories.
149+
width: 1/4
150+
podcasterExplicit:
151+
label: Explicit
152+
type: toggle
153+
default: no
154+
text:
155+
- Suitable for all ages
156+
- Podcast marked as explicit
157+
help: Enabling this will mark your podcast as explicit and may cause that it's not available for certain age groups.
158+
width: 1/4
159+
podcasterComplete:
160+
label: Complete
161+
type: toggle
162+
default: no
163+
text:
164+
- New episodes will come
165+
- No new episodes planned
166+
help: Enabling this will tell podcast directories that there won't be any new episodes.
167+
width: 1/4
168+
podcasterNewFeedUrl:
169+
label: New Feed URL
170+
type: url
171+
help: Leave empty if you do not want to change your feed url
172+
width: 1/4
173+
player:
174+
label: Website Player
175+
columns:
176+
- width: 1/4
177+
sections:
178+
player:
179+
type: fields
180+
fields:
181+
headlinePlayer:
182+
type: headline
183+
label: Website Player
184+
playerType:
185+
label: Player Type
186+
type: select
187+
default: podlove
188+
options:
189+
html5: Standard HTML5 Player
190+
podlove: Advanced Podlove Player
191+
infoPlayer:
192+
type: info
193+
theme: info
194+
text: You need to put the player snippet in your template file. Just add <?php snippet('podcaster-player'); ?> where you want the player to appear.
195+
- width: 2/4
196+
sections:
197+
podloveConfig:
198+
type: fields
199+
fields:
200+
headlinePodlove:
201+
type: headline
202+
label: Podlove Player Configuration
203+
infoPodlove:
204+
type: info
205+
theme: info
206+
text: This settings will only work, if you chose the Podlove player.
207+
podcasterPodloveMainColor:
208+
label: Main color (hex)
209+
type: text
210+
width: 1/2
211+
podcasterPodloveHighlighColor:
212+
label: Highlight color (hex)
213+
type: text
214+
width: 1/2
215+
podcasterPodloveTabsInfo:
216+
label: Info Tab
217+
type: toggle
218+
default: yes
219+
text:
220+
- Invisible
221+
- Visible
222+
width: 1/4
223+
podcasterPodloveTabsShare:
224+
label: Share Tab
225+
type: toggle
226+
default: yes
227+
text:
228+
- Invisible
229+
- Visible
230+
width: 1/4
231+
podcasterPodloveTabsChapters:
232+
label: Chapters Tab
233+
type: toggle
234+
default: yes
235+
text:
236+
- Invisible
237+
- Visible
238+
width: 1/4
239+
podcasterPodloveTabsAudio:
240+
label: Audio Tab
241+
type: toggle
242+
default: yes
243+
text:
244+
- Invisible
245+
- Visible
246+
width: 1/4
247+
podcasterPodloveTabsDownload:
248+
label: Audio Tab
249+
type: toggle
250+
default: yes
251+
text:
252+
- Invisible
253+
- Visible
254+
width: 1/4

0 commit comments

Comments
 (0)