jekyll-octopod 0.5.3 → 0.6.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 69ee05cf08ca26492fee99f147bd61664f457765
4
- data.tar.gz: 8bdfa92f3a4fcab1e78aceac85644cf038d4653a
3
+ metadata.gz: 407054feab491c836c3756f08d6fb2a9e107d66d
4
+ data.tar.gz: 6ca029cd8f126d6764458760720ecf6216d8a81d
5
5
  SHA512:
6
- metadata.gz: 7cb0c5ad2295da191d2737f956933733d0cd3903e8d5ff92826651ff10c2dc42be918c59bb823b7439b72fe97fcf6864aa375f3a9ac45b1251b10b4dfc315976
7
- data.tar.gz: e6abc68601fd4d2b1b586d7042d2335d72185560ddb39dae56ece2354d8f3e0fa25f9bef9cb641bddf8ef04f3428347c6d4f738eb36282a358c6334f6078bf70
6
+ metadata.gz: e96c4a9e63b139683a7713fdd396ffa3968c996b44d22b15ab7c4d3c5a16c6bd1c757afcd63be0ea5036103e679cda4f95749e990d7fe0defe0d565941905681
7
+ data.tar.gz: a2eb1e597101a284150cefcece71617aa7a1628997d72eabac7bb03c7bc9f66db5b5166b763e0f9b0f601643e241326ba55e9c97e11baf9405f208fe32744ea0
data/README.md CHANGED
@@ -5,67 +5,4 @@
5
5
  <img align="right" src="assets/img/logo.jpg" alt="logo">
6
6
  A podcast publishing extension for the static site generator [Jekyll](https://jekyllrb.com/)
7
7
 
8
- ## tl;dr
9
-
10
- You generate a static web site for your podcast on your own computer, test drive it and sync it to your web space.
11
-
12
- So no Wordpress, PHP, Ruby other scripting language, database management system or any other dynamic component is needed on your server.
13
- This increases security immensely.
14
-
15
- ## Tell me more!
16
-
17
- If you want to take a look: See (and listen to) Stefan's podcast [Aua-Uff-Code!](https://aua-uff-co.de).
18
-
19
- The page, you will get, when you follow the installation instructions later, looks like this:
20
-
21
- ![screenshot](materials/demo.png)
22
-
23
- Technically speaking, jekyll-octopod is a Jekyll plugin and a Ruby Gem. It
24
- contains of scripts, templates, helpers and extensions to publish your
25
- podcasts the cool text file lover's way.
26
-
27
- If you are not afraid of the command line of your computer and text files are the
28
- stuff to heat up your geeky little heart, jekyll-octopod may be worth a trial
29
- to publish your podcasts.
30
-
31
- The underlying assumptions of jekyll-octopod are that static content
32
- should be delivered statically and text files are the perfect way to handle
33
- podcast metadata. So jekyll-octopod makes it easy to generate and deploy a
34
- website and feeds for your podcast out of one textfile and at least one audio
35
- file per episode.
36
-
37
-
38
- ## Features
39
-
40
- jekyll-octopod brings innately:
41
- * iTunes ready episode feeds for different file formats (e.g. mp3, ogg, m4a)
42
- * a ready to use [Bootflat](http://bootflat.github.io/) and [Twitter Bootstrap](http://twitter.github.com/bootstrap/) based, responsible (i.e. mobile friendly) layout modifiable to your heart's desire.
43
- * [Flattr](https://flattr.com/) support on the website and in the episode feed
44
- * [Twitter](https://twitter.com) integration on the website
45
- * comments via [Disqus](http://disqus.com/)
46
- * [Podlove Web Player](http://podlove.org/podlove-web-player/) in it's current version 3.0
47
- * Static player pages that are embeddable in iframes at your other or affiliates' sites
48
- * [Podlove Alternate Feeds](http://podlove.org/alternate-feeds/)
49
- * [Podlove Simple Chapters](http://podlove.org/simple-chapters/)
50
- * [Podlove Subscribe Button](http://podlove.org/podlove-subscribe-button/) for easy podcast subscription on any operating system, including mobile phones.
51
- * https compatibility
52
- * Google search integration
53
- * easy creation of show notes
54
-
55
- **Is this production ready?**
56
-
57
- We use it in production, so we believe it is.
58
- But it is very likely, that it still contains bugs. And there is no guarantee that behavior will not change with the next update :-).
59
-
60
- Hopefully you are brave enough to play with this cute little toy anyway.
61
-
62
-
63
- ## Documentation
64
-
65
- Detailed documentation is provided in the [Wiki](https://github.com/informatom/jekyll-octopod/wiki)
66
-
67
- ## Maintainer
68
-
69
- Stefan Haslinger <mailto:stefan.haslinger@informatom.com>
70
-
71
- Credits go to lots of [people and projects](https://github.com/informatom/jekyll-octopod/wiki/Credits).
8
+ jekyll-octopod has now it's own [Project Site](https://jekyll-octopod.github.io/)!
@@ -0,0 +1,53 @@
1
+ # You have to configure this ###################################################
2
+ title: Octopod
3
+ # You should configure this ####################################################
4
+ url: http://localhost:4000
5
+ subtitle: Static Site Podcast Publishing for Geeks
6
+ description: My super duper cool podcast.
7
+ author: Uncle Octopod
8
+ email: octopod@example.com
9
+ keywords: [octopod, podcast, magic]
10
+ itunes_categories: [Technology]
11
+ # additional_feeds:
12
+ # itunes: http://itunes.apple.com/de/podcast/podcast_name/id42424242
13
+ # torrent_m4a: http://bitlove.org/example_user/example_podcast_m4a/feed
14
+ # torrent_mp3: http://bitlove.org/example_user/example_podcast_mp3/feed
15
+ episodes_per_feed_page: 99
16
+ ## podlove-web-palyer ##########################################################
17
+ poster: /img/logo-360x360.png
18
+ alwaysShowHours: true
19
+ startVolume: 0.8
20
+ width: auto
21
+ summaryVisible: false
22
+ timecontrolsVisible: false
23
+ chaptersVisible: true
24
+ sharebuttonsVisible: false
25
+ ## Rsync Deploy config #########################################################
26
+ ### Be sure your public key is listed in your server's ~/.ssh/authorized_keys
27
+ ### file.
28
+ ssh_host: user@host.org
29
+ ssh_port: 22
30
+ document_root: /path/to/your/htdocs/
31
+ rsync_delete: true
32
+ # You can configure this #######################################################
33
+ twitter_nick: my_twitter_handle
34
+ language: en
35
+ explicit: 'no' # 'yes'/'no'/clean
36
+ license: CC BY 4.0
37
+ license_url: https://creativecommons.org/licenses/by/4.0/
38
+ license_image_url: https://i.creativecommons.org/l/by/4.0/88x31.png
39
+ ## Flattr ######################################################################
40
+ flattr_uid: # Flattr will not be used unless this is set
41
+ flattr_button: compact # compact | default
42
+ flattr_mode: auto # auto | manual(default)
43
+ flattr_popout: 1 # 1 | 0 (show popout when hovering mouse over button)
44
+ flattr_language: en_GB # available languages - https://api.flattr.com/rest/v2/languages.txt
45
+ flattr_category: audio # available categories - https://api.flattr.com/rest/v2/categories.txt
46
+ ## Disqus comments #############################################################
47
+ disqus_shortname: # Disqus will not be used unless this is set
48
+ disqus_developer: 0 # 1 / 0
49
+ ## Feed links ###########################################################
50
+ itunes_url: https://itunes.apple.com/at/podcast/myname/id#myid#
51
+ bitlove_url: https://bitlove.org/myaccount
52
+ fyyd_url: https://fyyd.de/podcast/myaccount/myid
53
+ gpodder_url: https://gpodder.net/podcast/mypodcast
@@ -12,6 +12,7 @@ itunes_categories: [Technology]
12
12
  # itunes: http://itunes.apple.com/de/podcast/podcast_name/id42424242
13
13
  # torrent_m4a: http://bitlove.org/example_user/example_podcast_m4a/feed
14
14
  # torrent_mp3: http://bitlove.org/example_user/example_podcast_mp3/feed
15
+ episodes_per_feed_page: 99
15
16
  ## podlove-web-palyer ##########################################################
16
17
  poster: /img/logo-360x360.png
17
18
  alwaysShowHours: true
@@ -6,7 +6,12 @@ layout: null
6
6
  <channel>
7
7
  <title>{{ site.title }}</title>
8
8
  <link>{{ site.url }}</link>
9
- <atom:link href="{{ site.url }}/episodes.{{ page.format }}.rss" rel="self" type="application/rss+xml" title="{{ page.format }} Episode RSS-Feed"/>
9
+ <atom:link href="{{ site.url }}/episodes.{{ page.format }}.rss{{page.myself}}" rel="self" type="application/rss+xml" title="{{ page.format }} Episode RSS-Feed"/>
10
+ <atom:link href="{{ site.url }}/episodes.{{ page.format }}.rss" rel="first" type="application/rss+xml" />
11
+ <atom:link href="{{ site.url }}/episodes.{{ page.format }}.rss{{page.last}}" rel="last" type="application/rss+xml" />
12
+ {% if page.next %}<atom:link href="{{ site.url }}/episodes.{{ page.format }}.rss{{page.next}}" rel="next" type="application/rss+xml" />{% endif %}
13
+ {% if page.prev %}<atom:link href="{{ site.url }}/episodes.{{ page.format }}.rss{{page.prev}}" rel="prev" type="application/rss+xml" />{% endif %}
14
+
10
15
  {{ site | episode_feeds_rss:page.format }}
11
16
  <description>{{ site.description | markdownify | strip_html }}</description>
12
17
  <lastBuildDate>{{ site.time | time_to_rssschema }}</lastBuildDate>
@@ -0,0 +1,40 @@
1
+ module Jekyll
2
+ class PagedFeedPage < Page
3
+ def initialize(site, base, dir, name, page_number, pages_total, format)
4
+ @site = site
5
+ @dir = "/"
6
+ @name = name
7
+
8
+ self.process(@name)
9
+ self.read_yaml(File.join(base, '_layouts'), 'feed.xml')
10
+ self.data['next'] = pages_total > page_number ? "?page=" + (page_number + 1).to_s : nil
11
+ self.data['last'] = pages_total > 1 ? "?page=" + pages_total.to_s : nil
12
+ self.data['prev'] = case page_number
13
+ when 1 then nil
14
+ when 2 then ""
15
+ else "?page=" + (page_number - 1).to_s
16
+ end
17
+ self.data['myself'] = page_number == 1 ? nil : "?page=" + page_number.to_s
18
+ self.data['format'] = format
19
+ end
20
+ end
21
+
22
+ class PagedFeedPageGenerator < Generator
23
+ safe true
24
+
25
+ def generate(site)
26
+ pages_total = site.posts.docs.count / site.config["episodes_per_feed_page"].ceil
27
+
28
+ site.config["episode_feed_formats"].each do |page_format|
29
+ name = "episodes." + page_format + ".rss"
30
+ page = PagedFeedPage.new(site, site.source, ".", name, 1, pages_total, page_format)
31
+ site.pages << page
32
+ (1..pages_total).each do |page_number|
33
+ name = "episodes." + page_format + ".rss?page=" + page_number.to_s
34
+ page = PagedFeedPage.new(site, site.source, ".", name, page_number, pages_total, page_format)
35
+ site.pages << page
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -2,8 +2,8 @@ module Jekyll
2
2
  class Octopod
3
3
  module VERSION #:nodoc:
4
4
  MAJOR = 0
5
- MINOR = 5
6
- TINY = 3
5
+ MINOR = 6
6
+ TINY = 0
7
7
 
8
8
  STRING = [MAJOR, MINOR, TINY].join('.')
9
9
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-octopod
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.3
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arne Eilermann
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-06-01 00:00:00.000000000 Z
12
+ date: 2016-06-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: jekyll
@@ -50,6 +50,7 @@ extra_rdoc_files: []
50
50
  files:
51
51
  - README.md
52
52
  - Rakefile
53
+ - assets/_config.yml
53
54
  - assets/_config.yml.sample
54
55
  - assets/_includes/disqus_count.html
55
56
  - assets/_includes/disqus_thread.html
@@ -64,6 +65,7 @@ files:
64
65
  - assets/_layouts/page.html
65
66
  - assets/_layouts/player_index.html
66
67
  - assets/_layouts/post.html
68
+ - assets/_plugins/feed_generator.rb
67
69
  - assets/_plugins/flattr_filters.rb
68
70
  - assets/_plugins/octopod_filters.rb
69
71
  - assets/_plugins/podcast_player_page_generator.rb
@@ -203,7 +205,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
203
205
  version: '0'
204
206
  requirements: []
205
207
  rubyforge_project: jekyll-
206
- rubygems_version: 2.4.8
208
+ rubygems_version: 2.6.4
207
209
  signing_key:
208
210
  specification_version: 4
209
211
  summary: Podcasting Publishing Extension for Jekyll