octopod-exe 0.9.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (81) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +8 -0
  3. data/Rakefile +11 -0
  4. data/assets/_config.yml.sample +48 -0
  5. data/assets/_includes/disqus_count.html +13 -0
  6. data/assets/_includes/disqus_thread.html +13 -0
  7. data/assets/_includes/flattr_loader.html +14 -0
  8. data/assets/_includes/isso_thread.html +6 -0
  9. data/assets/_includes/post.html +20 -0
  10. data/assets/_includes/post_header.html +17 -0
  11. data/assets/_includes/post_line.html +3 -0
  12. data/assets/_includes/sidebar.html +109 -0
  13. data/assets/_includes/tweet_us.html +3 -0
  14. data/assets/_layouts/default.html +86 -0
  15. data/assets/_layouts/feed.xml +107 -0
  16. data/assets/_layouts/jsonfeed.json +48 -0
  17. data/assets/_layouts/page.html +15 -0
  18. data/assets/_layouts/player_index.html +36 -0
  19. data/assets/_layouts/post.html +10 -0
  20. data/assets/_layouts/with_twitter_card.html +98 -0
  21. data/assets/_posts/2016-03-22-episode0.md +24 -0
  22. data/assets/_sass/_overrides.scss +68 -0
  23. data/assets/apple-touch-icon-precomposed.png +0 -0
  24. data/assets/episodes.m4a.rss +5 -0
  25. data/assets/episodes.mp3.rss +5 -0
  26. data/assets/episodes.ogg.rss +5 -0
  27. data/assets/episodes/episode0.m4a +0 -0
  28. data/assets/episodes/episode0.mp3 +0 -0
  29. data/assets/episodes/episode0.ogg +0 -0
  30. data/assets/favicon.ico +0 -0
  31. data/assets/feed.m4a.json +5 -0
  32. data/assets/feed.mp3.json +5 -0
  33. data/assets/feed.ogg.json +5 -0
  34. data/assets/general_feed.xml +30 -0
  35. data/assets/img/favicon.ico +0 -0
  36. data/assets/img/logo-360x360.png +0 -0
  37. data/assets/img/logo-itunes.jpg +0 -0
  38. data/assets/img/logo.jpg +0 -0
  39. data/assets/img/logo/android-icon-144x144.png +0 -0
  40. data/assets/img/logo/android-icon-192x192.png +0 -0
  41. data/assets/img/logo/android-icon-36x36.png +0 -0
  42. data/assets/img/logo/android-icon-48x48.png +0 -0
  43. data/assets/img/logo/android-icon-72x72.png +0 -0
  44. data/assets/img/logo/android-icon-96x96.png +0 -0
  45. data/assets/img/logo/apple-icon-114x114.png +0 -0
  46. data/assets/img/logo/apple-icon-120x120.png +0 -0
  47. data/assets/img/logo/apple-icon-144x144.png +0 -0
  48. data/assets/img/logo/apple-icon-152x152.png +0 -0
  49. data/assets/img/logo/apple-icon-180x180.png +0 -0
  50. data/assets/img/logo/apple-icon-57x57.png +0 -0
  51. data/assets/img/logo/apple-icon-60x60.png +0 -0
  52. data/assets/img/logo/apple-icon-72x72.png +0 -0
  53. data/assets/img/logo/apple-icon-76x76.png +0 -0
  54. data/assets/img/logo/apple-icon-precomposed.png +0 -0
  55. data/assets/img/logo/apple-icon.png +0 -0
  56. data/assets/img/logo/browserconfig.xml +2 -0
  57. data/assets/img/logo/favicon-16x16.png +0 -0
  58. data/assets/img/logo/favicon-32x32.png +0 -0
  59. data/assets/img/logo/favicon-96x96.png +0 -0
  60. data/assets/img/logo/favicon.ico +0 -0
  61. data/assets/img/logo/manifest.json +41 -0
  62. data/assets/img/logo/ms-icon-144x144.png +0 -0
  63. data/assets/img/logo/ms-icon-150x150.png +0 -0
  64. data/assets/img/logo/ms-icon-310x310.png +0 -0
  65. data/assets/img/logo/ms-icon-70x70.png +0 -0
  66. data/assets/imprint.md +19 -0
  67. data/assets/index.md +14 -0
  68. data/bin/octopod +273 -0
  69. data/lib/jekyll-octopod.rb +11 -0
  70. data/lib/jekyll/date_de.rb +54 -0
  71. data/lib/jekyll/flattr_filters.rb +107 -0
  72. data/lib/jekyll/octopod_filters.rb +336 -0
  73. data/lib/jekyll/paged_feed_page.rb +22 -0
  74. data/lib/jekyll/paged_feed_page_generator.rb +20 -0
  75. data/lib/jekyll/podcast_player_page.rb +24 -0
  76. data/lib/jekyll/podcast_player_page_generator.rb +14 -0
  77. data/lib/jekyll/podigee_player_tag.rb +44 -0
  78. data/lib/jekyll/static_file.rb +20 -0
  79. data/lib/jekyll/update_config.rb +14 -0
  80. data/lib/octopod/version.rb +11 -0
  81. metadata +580 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 3039fddce94794c91b1a7623ce5ecd80ce630467
4
+ data.tar.gz: 85abe1eba92d6f0e204faa1c90805d99d2181eb4
5
+ SHA512:
6
+ metadata.gz: c7f8c48f74c79234f949ff1c70b37f88c21ca15077dcfc895ada6415820b684b4ceec97e77a7e600a3e75382a94f7470e427d28f9e7d984e032e304bb5221d1f
7
+ data.tar.gz: cecb84eda062c4f15380af63e9eaaa747caf986b50b7646b29148f5cf8bd0239086fa340aa5fa785140d09e994bbd2b4919ac424edb373e5d62d8bdfbe714a4a
@@ -0,0 +1,8 @@
1
+ # jekyll-octopod
2
+
3
+ [![Gem Version](https://badge.fury.io/rb/jekyll-octopod.svg)](https://badge.fury.io/rb/jekyll-octopod)
4
+
5
+ <img align="right" src="assets/img/logo.jpg" alt="logo">
6
+ A podcast publishing extension for the static site generator [Jekyll](https://jekyllrb.com/)
7
+
8
+ jekyll-octopod has now it's own [Project Site](https://jekyll-octopod.github.io/)!
@@ -0,0 +1,11 @@
1
+ require 'rake/testtask'
2
+ require "bundler/gem_tasks"
3
+
4
+ task :default => [:test]
5
+
6
+ Rake::TestTask.new(:test) do |t|
7
+ t.libs << '.'
8
+ t.pattern = 'test/all.rb'
9
+ t.verbose = true
10
+ end
11
+ Rake::Task['test'].comment = "Run all tests"
@@ -0,0 +1,48 @@
1
+ # You have to configure this ###################################################
2
+ title: Octopod
3
+ # You should configure this ####################################################
4
+ url: http://localhost:4000
5
+ download_url: "http://your.fancy.hosting/episodes"
6
+ subtitle: Static Site Podcast Publishing for Geeks
7
+ description: My super duper cool podcast.
8
+ author: Uncle Octopod
9
+ author_url: "http://your.fancy.hosting/" # This is the URL of a site owned by the author (s. https://jsonfeed.org/version/1)
10
+ email: octopod@example.com
11
+ keywords: [octopod, podcast, magic]
12
+ itunes_categories: [Technology]
13
+ # additional_feeds:
14
+ # itunes: http://itunes.apple.com/de/podcast/podcast_name/id42424242
15
+ # torrent_m4a: http://bitlove.org/example_user/example_podcast_m4a/feed
16
+ # torrent_mp3: http://bitlove.org/example_user/example_podcast_mp3/feed
17
+ episodes_per_feed_page: 100
18
+ # Date can be localized via date_de.rb plugin
19
+ date_format: "ordinal"
20
+ ## Rsync Deploy config #########################################################
21
+ ### Be sure your public key is listed in your server's ~/.ssh/authorized_keys
22
+ ### file.
23
+ ssh_host: user@host.org
24
+ ssh_port: 22
25
+ document_root: /path/to/your/htdocs/
26
+ rsync_delete: true
27
+ # You can configure this #######################################################
28
+ twitter_nick: my_twitter_handle
29
+ language: en
30
+ explicit: 'no' # 'yes'/'no'/clean
31
+ license: CC BY 4.0
32
+ ## Flattr ######################################################################
33
+ flattr_uid: # Flattr will not be used unless this is set
34
+ flattr_button: compact # compact | default
35
+ flattr_mode: auto # auto | manual(default)
36
+ flattr_popout: 1 # 1 | 0 (show popout when hovering mouse over button)
37
+ flattr_language: en_GB # available languages - https://api.flattr.com/rest/v2/languages.txt
38
+ flattr_category: audio # available categories - https://api.flattr.com/rest/v2/categories.txt
39
+ ## Disqus comments #############################################################
40
+ disqus_shortname: # Disqus will not be used unless this is set
41
+ disqus_developer: 0 # 1 / 0
42
+ ## Itunes link ###########################################################
43
+ itunes_url: "https://itunes.apple.com/at/podcast/myname/id#myid#"
44
+ ## Isso comments #########################################################
45
+ use_isso: no # set to 'yes' to include isso comments form
46
+
47
+ gems: [jekyll-octopod]
48
+ theme: jekyll-bootflat
@@ -0,0 +1,13 @@
1
+ {% if site.disqus_shortname %}
2
+ <a class="btn btn-inverse pull-right" href="{{ site.url }}{{ post.url }}#disqus_thread">
3
+ <script type="text/javascript">
4
+ (function () {
5
+ {{ site | disqus_config:post }}
6
+ var s = document.createElement('script'); s.async = true;
7
+ s.type = 'text/javascript';
8
+ s.src = 'https://{{ site.disqus_shortname }}.disqus.com/count.js';
9
+ (document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
10
+ }());
11
+ </script>
12
+ </a>
13
+ {% endif %}
@@ -0,0 +1,13 @@
1
+ {% if site.disqus_shortname %}
2
+ <div id="disqus_thread"></div>
3
+ <script type="text/javascript">
4
+ {{ site | disqus_config:post }}
5
+ (function() {
6
+ var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
7
+ dsq.src = 'https://{{ site.disqus_shortname }}.disqus.com/embed.js';
8
+ (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
9
+ })();
10
+ </script>
11
+ <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
12
+ <a href="https://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
13
+ {% endif %}
@@ -0,0 +1,14 @@
1
+ <script type="text/javascript">
2
+ /* <![CDATA[ */
3
+ (function() {
4
+ var s = document.createElement('script');
5
+ var t = document.getElementsByTagName('script')[0];
6
+
7
+ s.type = 'text/javascript';
8
+ s.async = true;
9
+ s.src = '//api.flattr.com/js/0.6/load.js?{{ site | flattr_loader_options }}';
10
+
11
+ t.parentNode.insertBefore(s, t);
12
+ })();
13
+ /* ]]> */
14
+ </script>
@@ -0,0 +1,6 @@
1
+ {% if site.use_isso == 'yes' %}
2
+ <script data-isso="{{ site.url }}/isso/" src="{{ site.url }}/isso/js/embed.min.js"></script>
3
+
4
+ <section id="isso-thread"></section>
5
+ <noscript>Please enable JavaScript to view the <a href="https://posativ.org/isso">comments powered by Isso.</a></noscript>
6
+ {% endif %}
@@ -0,0 +1,20 @@
1
+ {% if post %}
2
+ {% elsif page %}
3
+ {% assign post = page %}
4
+ {% endif %}
5
+ <section id="{{ post.id | sha1:8 }}" class="active">
6
+ {% include post_header.html %}
7
+
8
+ {{ post.content }}
9
+ {% if post.audio %}
10
+ {% for file in post.audio %}
11
+ <a class="btn btn-primary" href="{{ site | download_url_with_fallback }}/{{ file.last }}">Download .{{ file.first }} ({{ file.last | file_size:'./' | string_of_size }})</a>
12
+ {% endfor %}
13
+ {% endif %}
14
+ <hr>
15
+ {{ site | flattr_button:post }}
16
+ <a href="https://twitter.com/share" class="twitter-share-button" data-url="{{ site.url }}{{post.url }}" data-text="{{ post.title }}">Tweet</a>
17
+ {% unless page.url == '/index.html' %}{% include disqus_thread.html %}{% endunless %}
18
+ {% unless page.url == '/index.html' %}{% include isso_thread.html %}{% endunless %}
19
+ <hr>
20
+ </section>
@@ -0,0 +1,17 @@
1
+ <div class="page-header">
2
+ <h1>
3
+ <a class='episode_title' href='{{ site.url }}{{ post.url }}#{{ post.id | sha1:8 }}'>{{ post.title }}</a>
4
+ <small class='episode_date'>
5
+ {% if site.language == "en" %}
6
+ {{ post.date | full_date_de }}
7
+ {% else %}
8
+ {% if post.datum %}
9
+ {{ post.datum }}
10
+ {% else %}
11
+ {{ post.date }}
12
+ {% endif %}
13
+ {% endif %}
14
+ </small> <br />
15
+ <small>{{ post.subtitle }}</small>
16
+ </h1>
17
+ </div>
@@ -0,0 +1,3 @@
1
+ <section id="{{ post.id | sha1:8 }}">
2
+ {% include post_header.html %}
3
+ </section>
@@ -0,0 +1,109 @@
1
+ <div class="page-header">
2
+ <h3>
3
+ {{ site.title }}
4
+ {% if site.subtitle %}<br/><small>{{ site.subtitle }}</small>{% endif %}
5
+ </h3>
6
+ </div>
7
+
8
+ <p class="text-center">
9
+ <img width="200px" src="{{ site.url }}/img/logo-360x360.png" alt="{{ site.title }} logo">
10
+ </p>
11
+
12
+ {% if site.description %}<p>{{ site.description }}</p>{% endif %}
13
+
14
+ <p class="text-center">
15
+ <script class="podlove-subscribe-button"
16
+ src="https://cdn.podlove.org/subscribe-button/javascripts/app.js"
17
+ data-language="{{ site.language }}"
18
+ data-size="medium"
19
+ data-json-data="podcastData"
20
+ data-colors="#FC6E51;green;blue"
21
+ data-buttonid="123abc"
22
+ data-hide="false">
23
+ </script>
24
+ <script>
25
+ window.podcastData = {
26
+ "title": "{{ site['title']}}",
27
+ "subtitle": "{{ site['subtitle']}}",
28
+ "description": "{{ site['description']}}",
29
+ "cover": "{{ site.url }}/img/logo-360x360.png",
30
+ "feeds": [
31
+ {% for feed in site['episode_feed_formats'] %}
32
+ {
33
+ "type": "audio",
34
+ "format": "{{ feed }}",
35
+ "url": "{{ site['url']}}/episodes.{{ feed }}.rss",
36
+ "directory-url-itunes": "{{ site['itunes_url']}}",
37
+ "variant": "high"
38
+ },
39
+ {% endfor %}
40
+ ]
41
+ }
42
+ </script>
43
+ </p>
44
+
45
+ <hr/>
46
+
47
+ <h4>RSS-Feeds</h4>
48
+
49
+ <ol type="i">
50
+ {% for feed in site['episode_feed_formats'] %}
51
+ <li><a href="{{ site['url']}}/episodes.{{ feed }}.rss"><i class="fa fa-rss"></i> {{ feed }}-RSS-Feed</a></li>
52
+ {% endfor %}
53
+ </ol>
54
+
55
+ <h4>JSON-Feeds</h4>
56
+
57
+ <ol type="i">
58
+ {% for jsonfeed in site['json_feed_formats'] %}
59
+ <li><a href="{{ site['url']}}/feed.{{ jsonfeed }}.json"><i class="fa fa-rss-square"></i> {{ jsonfeed }}-JSON-Feed</a></li>
60
+ {% endfor %}
61
+ </ol>
62
+
63
+
64
+
65
+ <h4>Directories</h4>
66
+
67
+ <ol type="i">
68
+ {% if site.itunes_url %}
69
+ <li>in Apple-<a href="{{ site.itunes_url }}"><i class="fa fa-apple"></i> Itunes</a></li>
70
+ {% endif %}
71
+ {% if site.bitlove_url %}
72
+ <li>as Torrents at <a href="{{ site.bitlove_url }}"><img src="https://bitlove.org/static/favicon.png"/> Bitlove</a></li>
73
+ {% endif %}
74
+ {% if site.fyyd_url %}
75
+ <li>at the podcast search engine <a href="{{ site.fyyd_url }}">Fyyd</a></li>
76
+ {% endif %}
77
+ {% if site.gpodder_url %}
78
+ <li>at <a href="{{ site.gpodder_url }}"><img src="https://gpodder.net/media/gpoddernet_64.png" height="16" /> Gpodder.net</a></li>
79
+ {% endif %}
80
+ </ol>
81
+
82
+
83
+ <h4>Credits</h4>
84
+
85
+ <ul>
86
+ <li>Music: <a href="http://www.bensound.com/royalty-free-music">Bensound</a></li>
87
+ </ul>
88
+
89
+ <h4>License</h4>
90
+
91
+ {% if site.license_url %}
92
+ <a rel="license" href="{{ site.license_url }}">
93
+ {% if site.license_image_url %}
94
+ <img alt="Creative Commons License" style="border-width:0" src="{{ site.license_image_url }}" />
95
+ {% else %}
96
+ {{ site.license }}
97
+ {% endif %}
98
+ </a>
99
+ {% endif %}
100
+
101
+ <hr/>
102
+
103
+ {% if site.flattr_uid %}
104
+ <span class="pull-left">{{ site | flattr_button }}</span>
105
+ {% endif %}
106
+
107
+ {% if site.twitter_nick %}
108
+ <a href="https://twitter.com/{{ site.twitter_nick }}" class="twitter-follow-button" data-show-count="false">Follow @{{ site.twitter_nick }}</a>
109
+ {% endif %}
@@ -0,0 +1,3 @@
1
+ <a href="https://twitter.com/share"
2
+ class="twitter-share-button"
3
+ data-text="@{{ site.twitter_nick }}}">Tweet at @{{ site.twitter_nick }}</a>
@@ -0,0 +1,86 @@
1
+ <!DOCTYPE html>
2
+ <html lang="{{ site.language }}">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
6
+ <title>{{ site.title }} - {{ page.title | otherwise:site.subtitle }}</title>
7
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
8
+
9
+ {% if site.description %}<meta name="description" content="{{ site.description | markdownify | strip_html }}">{% endif %}
10
+ {% if site.author %}<meta name="author" content="{{ site.author }}">{% endif %}
11
+
12
+ <link rel="alternate" type="application/atom+xml" href="{{ site.url }}/general_feed.xml" title="General Site Atom Feed (No Podcast Metadata!)" />
13
+ {{ site | episode_feeds_html }}
14
+
15
+ <link rel="stylesheet" type="text/css" href="{{ site.url }}/assets/css/main.css">
16
+
17
+ <script type='text/javascript' src="{{ site.url }}/assets/js/jquery.min.js"></script>
18
+ <script type='text/javascript' src="{{ site.url }}/assets/js/bootstrap.min.js"></script>
19
+ <script type='text/javascript' src="{{ site.url }}/assets/js/icheck.min.js"></script>
20
+ <script type='text/javascript' src="{{ site.url }}/assets/js/jquery.fs.selecter.min.js"></script>
21
+ <script type='text/javascript' src="{{ site.url }}/assets/js/jquery.fs.stepper.min.js"></script>
22
+ <script type='text/javascript' src="{{ site.url }}/assets/js/custom.js"></script>
23
+ <script src='https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML'></script>
24
+
25
+ {% if site.flattr_uid %}{% include flattr_loader.html %}{% endif %}
26
+ {% if site.disqus_shortname %}
27
+ <script>
28
+ {{ site | disqus_config }}
29
+ </script>
30
+ {% endif %}
31
+ </head>
32
+
33
+ <body>
34
+ <div class="container-fluid">
35
+ <nav class="navbar navbar-default">
36
+ <div class="container-fluid">
37
+ <div class="navbar-header">
38
+ <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
39
+ <span class="sr-only">Navigation</span>
40
+ <span class="icon-bar"></span>
41
+ <span class="icon-bar"></span>
42
+ <span class="icon-bar"></span>
43
+ </button>
44
+ <a class="navbar-brand" href="{{ site.url }}">{{ site.title }}</a>
45
+ </div>
46
+ <div id="navbar" class="collapse navbar-collapse">
47
+ <ul class="nav navbar-nav">
48
+ {{ site | navigation_list:page }}
49
+ </ul>
50
+ <form class="navbar-form navbar-right" action="https://google.com/search" method="get" role="search">
51
+ <div class="form-group">
52
+ <input type="text" class="form-control" placeholder="search item">
53
+ <input type="hidden" name="q" value="site:{{ site.url | host_from_url }}" />
54
+ </div>
55
+ <button type="submit" class="btn btn-default">Search</button>
56
+ </form>
57
+ </div><!--/.nav-collapse -->
58
+ </div>
59
+ </nav>
60
+
61
+ <div class="container">
62
+ <div class="row ">
63
+ <div class="col-sm-8">
64
+ <div class="content">
65
+ {{ content }}
66
+ </div>
67
+ </div>
68
+ <div id="sidebar" class="col-sm-4">
69
+ <div class="well">
70
+ {% include sidebar.html %}
71
+ </div>
72
+ </div>
73
+ </div>
74
+ <div class="row" id="footer">
75
+ <small class="pull-right">
76
+ Powered by <a href="https://jekyll-octopod.github.io/">jekyll-octopod</a>
77
+ and <a href="http://jekyllrb.com/">Jekyll</a>.
78
+ </small>
79
+ </div>
80
+ </div><!-- /.container -->
81
+ </div><!-- /.container -->
82
+
83
+ <script>
84
+ !function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");
85
+ </script>
86
+ </html>
@@ -0,0 +1,107 @@
1
+ ---
2
+ layout: null
3
+ ---
4
+ <?xml version="1.0"
5
+ encoding="UTF-8"?>
6
+ <rss xmlns:atom="http://www.w3.org/2005/Atom"
7
+ xmlns:bitlove="http://bitlove.org"
8
+ xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
9
+ xmlns:content="http://purl.org/rss/1.0/modules/content/"
10
+ xmlns:psc="http://podlove.org/simple-chapters"
11
+ version="2.0">
12
+
13
+ <channel>
14
+ <title>{{ site.title }}</title>
15
+ <link>{{ site.url }}</link>
16
+ <atom:link href="{{ site.url }}/episodes.{{ page.format }}.rss{{page.myself}}" rel="self" type="application/rss+xml" title="{{ page.format }} Episode RSS-Feed"/>
17
+ <atom:link href="{{ site.url }}/episodes.{{ page.format }}.rss" rel="first" type="application/rss+xml" />
18
+ <atom:link href="{{ site.url }}/episodes{{page.last}}.{{ page.format }}.rss" rel="last" type="application/rss+xml" />
19
+ {% if page.next %}<atom:link href="{{ site.url }}/episodes{{page.next}}.{{ page.format }}.rss" rel="next" type="application/rss+xml" />{% endif %}
20
+ {% if page.prev %}<atom:link href="{{ site.url }}/episodes{{page.prev}}.{{ page.format }}.rss" rel="prev" type="application/rss+xml" />{% endif %}
21
+
22
+ {{ site | episode_feeds_rss:page.format }}
23
+ <description>{{ site.description | markdownify | strip_html }}</description>
24
+ <lastBuildDate>{{ site.time | time_to_rssschema }}</lastBuildDate>
25
+ <language>{{ site.language }}</language>
26
+ <generator>Jekyll-Octopod {{ site | version_string }}</generator>
27
+
28
+ <itunes:summary>{{ site.description | markdownify | strip_html }}</itunes:summary>
29
+ <itunes:author>{{ site.author }}</itunes:author>
30
+ <itunes:explicit>{{ site.explicit }}</itunes:explicit>
31
+ <itunes:image href="{{ site.url }}/img/logo-itunes.jpg" />
32
+ <itunes:owner>
33
+ <itunes:name>{{ site.author }}</itunes:name>
34
+ <itunes:email>{{ site.email }}</itunes:email>
35
+ </itunes:owner>
36
+ <managingEditor>{{site.email}} ({{site.author}})</managingEditor>
37
+ <copyright>{{ site.license }}</copyright>
38
+ <itunes:subtitle>{{ site.subtitle }}</itunes:subtitle>
39
+ <itunes:keywords>{{ site.keywords | join:', ' }}</itunes:keywords>
40
+ <image>
41
+ <title>{{ site.title }}</title>
42
+ <url>{{ site.url }}/img/logo-itunes.jpg</url>
43
+ <link>{{ site.url }}</link>
44
+ </image>
45
+ {% for category in site.itunes_categories %}
46
+ <itunes:category text="{{ category | xml_escape }}" />
47
+ {% endfor %}
48
+ {% if site.download_url == "" or site.download_url == nil %}
49
+ {% assign download_url = site.url | append: '/episodes' %}
50
+ {% else %}
51
+ {% assign download_url = site.download_url %}
52
+ {% endif %}
53
+ {% for post in site.posts %}
54
+ {% if post.audio[page.format] %}
55
+ {% assign check = forloop.index0 | divided_by:site.episodes_per_feed_page | plus: 1 %}
56
+ {% if check == page.page_number %}
57
+ <item>
58
+ <title>{{ post.title }} - {{ post.subtitle }}</title>
59
+ <link>{{ site.url }}{{ post.url }}</link>
60
+ <atom:link rel="http://podlove.org/deep-link" href="{{ site.url }}/players/{{ post.slug }}"/>
61
+ <comments>{{ site.url }}{{ post.url }}#disqus_thread</comments>
62
+ <pubDate>{{ post.date | time_to_rssschema }}</pubDate>
63
+ {% for category in post.categories %}
64
+ <category><![CDATA[{{ category }}]]></category>
65
+ {% endfor %}
66
+ <guid isPermaLink="false">{{ site.url }}{{ post.url }}</guid>
67
+ <description><![CDATA[{{ post.content | expand_urls: site.url | cdata_escape | remove_script_and_audio }}]]></description>
68
+ <content:encoded><![CDATA[{{ post.content | expand_urls: site.url | cdata_escape | remove_script_and_audio }}]]></content:encoded>
69
+ {% assign url = download_url | append: '/' | append: post.audio[page.format] %}
70
+ <enclosure url="{{ url }}" length="{{ post.audio | audio:page.format | file_size }}" type="{{ page.format | mime_type }}" />
71
+ <itunes:keywords>{{ post.tags }}</itunes:keywords>
72
+ <itunes:subtitle>{{ post.subtitle }}</itunes:subtitle>
73
+ <itunes:summary>{{ post.summary }}</itunes:summary>
74
+ <itunes:author>{{ post.author | otherwise:site.author }}</itunes:author>
75
+ <itunes:explicit>{{ post.explicit | otherwise:site.explicit }}</itunes:explicit>
76
+ <itunes:duration>{{ post.duration }}</itunes:duration>
77
+ {{ site | flattr_rss:post }}
78
+ {% if post.chapters %}
79
+ <psc:chapters version="1.1" xmlns:psc="http://podlove.org/simple-chapters">
80
+ {% for chapter in post.chapters %}
81
+ <psc:chapter start="{{ chapter | split_chapter:'start' }}" title="{{ chapter | split_chapter:'title' }}" />
82
+ {% endfor %}
83
+ </psc:chapters>
84
+ {% endif %}
85
+ {% if post.contributors %}
86
+ {% for contributor in post.contributors %}
87
+ <atom:contributor>
88
+ <atom:name>{{ contributor.name}}</atom:name>
89
+ <atom:uri>{{ contributor.uri}}</atom:uri>
90
+ <atom:email>{{ contributor.email}}</atom:email>
91
+ </atom:contributor>
92
+ {% endfor %}
93
+ {% endif %}
94
+ {% if post.image %}
95
+ <itunes:image href="{{ site.url }}/img/{{post.image}}" />
96
+ <image>
97
+ <title>{{ post.image_title }}</title>
98
+ <url>{{ site.url }}/img/{{post.image}}</url>
99
+ <link>{{ site.url }}</link>
100
+ </image>
101
+ {% endif %}
102
+ </item>
103
+ {% endif %}
104
+ {% endif %}
105
+ {% endfor %}
106
+ </channel>
107
+ </rss>