jekyll-octopod 0.5.3 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
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