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,48 @@
1
+ ---
2
+ layout: null
3
+ ---
4
+ {%- if site.download_url == "" or site.download_url == nil -%}
5
+ {%- assign download_url = site.url | append: '/episodes' -%}
6
+ {%- else -%}
7
+ {%- assign download_url = site.download_url -%}
8
+ {%- endif -%}
9
+
10
+ {"version": "https://jsonfeed.org/version/1",
11
+ "title": "{{ site.title | xml_escape }}",
12
+ "home_page_url": "{{ "/" | absolute_url }}",
13
+ "feed_url": "{{ "/feed.json" | absolute_url }}",
14
+ "description": {{ site.description | jsonify }},
15
+ "user_comment": {{ site.description | jsonify }},
16
+ "icon": "{{ "/apple-touch-icon-precomposed.png" | absolute_url }}",
17
+ "favicon": "{{ "/favicon.ico" | absolute_url }}",
18
+ "expired": false,
19
+ "author": {
20
+ "name": {{ site.author | jsonify }},
21
+ "url": {{ site.author_url | jsonify }}
22
+ },
23
+ "items": [
24
+ {%- for post in site.posts limit:36 -%}
25
+ {% assign url = download_url | append: '/' | append: post.audio[page.format] %}
26
+ {"id": "{{ post.url | absolute_url | sha1 }}",
27
+ "title": {{ post.title | jsonify }},
28
+ "summary": "",
29
+ "content_text": {{ post.content | strip_html | strip_newlines | jsonify }},
30
+ "content_html": {{ post.content | strip_newlines | jsonify }},
31
+ "url": "{{ post.url | absolute_url }}",
32
+ {%- if post.tags.size > 0 -%}"tags": {{ post.tags | jsonify }}, {%- endif -%}
33
+ {% if post.audio.size > 1 %}
34
+ "attachments": [
35
+ {"url": "{{ url }}",
36
+ "mime_type": "audio/mpeg",
37
+ "size_in_bytes": "{{ post.audio | audio:mp3 | file_size }}"
38
+ }
39
+ ],{% endif %}
40
+ "date_published": "{{ post.date | date_to_xmlschema }}",
41
+ "date_modified": "{{ post.date | date_to_xmlschema }}",
42
+ "author": {
43
+ "name": "{{ post.author }}"
44
+ }
45
+ }{% if forloop.last == false %},{% endif %}
46
+ {%- endfor -%}
47
+ ]
48
+ }
@@ -0,0 +1,15 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+ <section class="active">
5
+ {% if page.title %}
6
+ <div class="page-header">
7
+ <h1>
8
+ {{ page.title }}
9
+ {% if page.subtitle %}<small>{{ page.subtitle }}</small>{% endif %}
10
+ </h1>
11
+ </div>
12
+ {% endif %}
13
+
14
+ {{ content }}
15
+ </section>
@@ -0,0 +1,36 @@
1
+ ---
2
+ layout: null
3
+ ---
4
+
5
+ <!DOCTYPE html>
6
+ <html lang="{{ site.language }}" prefix="og: http://ogp.me/ns#">
7
+
8
+ <head>
9
+ <meta charset="utf-8">
10
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
11
+ <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
12
+ <title>{{ site.title }} - {{ page.title }}</title>
13
+
14
+ <meta property="og:type" content="website"/>
15
+ <meta property="og:site_name" content="{{ site.title }}"/>
16
+ <meta property="og:title" content="{{ page.title }} - {{ page.subtitle }}"/>
17
+ <meta property="og:url" content="{{ site.url }}{{ page.url }}"/>
18
+ <meta property="og:description" content="{{ site.description }}"/>
19
+ <meta property="og:image" content="{{ site.url }}/img/logo-360x360.png"/>
20
+
21
+ {% if site.download_url == "" or site.download_url == nil %}
22
+ {% assign download_url = site.url | append: '/episodes' %}
23
+ {% else %}
24
+ {% assign download_url = site.download_url %}
25
+ {% endif %}
26
+ {% for feed in site['episode_feed_formats'] %}
27
+ <meta property="og:audio" content="{{ download_url }}/{{ page['audio'][feed] }}"/>
28
+ <meta property="og:audio:type" content="audio/{{ feed }}"/>
29
+ {% endfor %}
30
+ </head>
31
+
32
+ <body>
33
+ {% podigee_player %}
34
+ </body>
35
+
36
+ </html>
@@ -0,0 +1,10 @@
1
+ ---
2
+ layout: with_twitter_card
3
+ ---
4
+ {% for post in site.posts %}
5
+ {% if post.url == page.url %}
6
+ {% include post.html %}
7
+ {% else %}
8
+ {% include post_line.html %}
9
+ {% endif %}
10
+ {% endfor %}
@@ -0,0 +1,98 @@
1
+ <!DOCTYPE html>
2
+ <html lang="{{ site.language }}">
3
+ <head>
4
+ <meta content='text/html; charset=UTF-8' http-equiv='Content-Type' />
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
+
24
+ <meta name="twitter:card" content="player" />
25
+ <meta name="twitter:site" content="@{{ site.twitter_nick }}" />
26
+ <meta name="twitter:title" content="{{ page.title }}" />
27
+ <meta name="twitter:description" content="{{ page.subtitle }}" />
28
+ <meta name="twitter:image" content="{{site.url}}{{ page | image_with_fallback }}" />
29
+ <meta name="twitter:player" content="{{ site.url }}/players/{{ page.slug }}" />
30
+ <meta name="twitter:player:width" content="480" />
31
+ <meta name="twitter:player:height" content="480" />
32
+ <meta name="twitter:player:stream" content="{{ site | download_url_with_fallback }}/{{ page.audio | audio }}" />
33
+ <meta name="twitter:player:stream:content_type" content="{{ page.audio | audio_type }}" />
34
+
35
+ <script src='https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML'></script>
36
+
37
+ {% if site.flattr_uid %}{% include flattr_loader.html %}{% endif %}
38
+ {% if site.disqus_shortname %}
39
+ <script>
40
+ {{ site | disqus_config }}
41
+ </script>
42
+ {% endif %}
43
+ </head>
44
+
45
+ <body>
46
+ <div class="container-fluid">
47
+ <nav class="navbar navbar-default">
48
+ <div class="container-fluid">
49
+ <div class="navbar-header">
50
+ <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
51
+ <span class="sr-only">Navigation</span>
52
+ <span class="icon-bar"></span>
53
+ <span class="icon-bar"></span>
54
+ <span class="icon-bar"></span>
55
+ </button>
56
+ <a class="navbar-brand" href="{{ site.url }}">{{ site.title }}</a>
57
+ </div>
58
+ <div id="navbar" class="collapse navbar-collapse">
59
+ <ul class="nav navbar-nav">
60
+ {{ site | navigation_list:page }}
61
+ </ul>
62
+ <form class="navbar-form navbar-right" action="https://google.com/search" method="get" role="search">
63
+ <div class="form-group">
64
+ <input type="text" class="form-control" placeholder="search item">
65
+ <input type="hidden" name="q" value="site:{{ site.url | host_from_url }}" />
66
+ </div>
67
+ <button type="submit" class="btn btn-default">Search</button>
68
+ </form>
69
+ </div><!--/.nav-collapse -->
70
+ </div>
71
+ </nav>
72
+
73
+ <div class="container">
74
+ <div class="row ">
75
+ <div class="col-sm-8">
76
+ <div class="content">
77
+ {{ content }}
78
+ </div>
79
+ </div>
80
+ <div id="sidebar" class="col-sm-4">
81
+ <div class="well">
82
+ {% include sidebar.html %}
83
+ </div>
84
+ </div>
85
+ </div>
86
+ <div class="row" id="footer">
87
+ <small class="pull-right">
88
+ Powered by <a href="https://jekyll-octopod.github.io/">jekyll-octopod</a>
89
+ and <a href="http://jekyllrb.com/">Jekyll</a>.
90
+ </small>
91
+ </div>
92
+ </div><!-- /.container -->
93
+ </div><!-- /.container -->
94
+
95
+ <script>
96
+ !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");
97
+ </script>
98
+ </html>
@@ -0,0 +1,24 @@
1
+ ---
2
+ title: Episode 0
3
+ subtitle: Getting Started Is Never Easy
4
+ datum: March 22nd 2016
5
+ layout: post
6
+ author: Arne and Stefan
7
+ explicit: 'no'
8
+ duration: "0:03:13"
9
+ audio:
10
+ mp3: episode0.mp3
11
+ ogg: episode0.ogg
12
+ m4a: episode0.m4a
13
+ chapters:
14
+ - '00:00:00.000 Intro.'
15
+ - '00:00:01.000 ... Shoubidoubidoo ...'
16
+ - '00:00:02.000 Outro.'
17
+ ---
18
+
19
+ {% podigee_player page %}
20
+
21
+ ## Show Notes and Links
22
+
23
+ * Well this is the place for the Show Notes.
24
+ * Send Feedback either in the [Github Repo](https://github.com/haslinger/jekyll-octopod) or at the Twitter account [@AuaUffCode](http://twitter.com/@AuaUffCode).
@@ -0,0 +1,68 @@
1
+ // Improve visibility of subtitles and similar text by increasing contrast
2
+ h1 small, h2 small, h3 small {
3
+ color: #77778C;
4
+ }
5
+
6
+ btn small, .btn small {
7
+ color: #2A2A2A;
8
+ }
9
+
10
+ // Making the date smaller improves the episode header when it includes the subtitle
11
+ .episode_date {
12
+ font-size: 45%;
13
+ }
14
+
15
+ // Theme for the Swiss-Sided Dice podcast, red and white based on the Swiss flag - commented out for now, until a better solution can be found
16
+
17
+ /*
18
+ // Main navbar background
19
+ .navbar-default {
20
+ background-color: #E11A27;
21
+ }
22
+
23
+ // Hovering over navbar links, keep the text white, but add darker background
24
+ .navbar-default .navbar-nav > .active > a,
25
+ .navbar-default .navbar-nav > .active > a:hover,
26
+ .navbar-default .navbar-nav > .active > a:focus,
27
+ .navbar-default .navbar-nav > li > a {
28
+ color: #FFF;
29
+ background-color: #E11A27;
30
+ }
31
+
32
+ // The "brand" / podcast title doesn't change on hover, but does keep the text white
33
+ .navbar-default .navbar-brand, .navbar-default .navbar-brand:hover {
34
+ color: #FFF;
35
+ }
36
+
37
+ // This is for the menu button on narrow screens
38
+ .navbar-default .navbar-toggle {
39
+ background-color: #E11A27;
40
+ border-color: #FFF;
41
+ }
42
+
43
+ .navbar-default .navbar-toggle .icon-bar {
44
+ background-color: #FFF;
45
+ }
46
+
47
+ // Darker background, keep rest white
48
+ .navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus,
49
+ .navbar-default .navbar-nav > li > a:hover {
50
+ background-color: #A5131D;
51
+ border-color: #FFF;
52
+ color: #FFF;
53
+ }
54
+
55
+ // Links and buttons in the website are a dark red for best contrast, but get lightened on hover for feedback
56
+ a {
57
+ color: #CF000F;
58
+ }
59
+ a:hover {
60
+ color: #EF3743;
61
+ }
62
+ .btn-primary {
63
+ background-color: #CF000F;
64
+ }
65
+ .btn-primary:hover, .btn-primary:focus {
66
+ background-color: #EF3743;
67
+ }
68
+ */
@@ -0,0 +1,5 @@
1
+ ---
2
+ layout: feed
3
+ format: m4a
4
+ ---
5
+ {{ content }}
@@ -0,0 +1,5 @@
1
+ ---
2
+ layout: feed
3
+ format: mp3
4
+ ---
5
+ {{ content }}
@@ -0,0 +1,5 @@
1
+ ---
2
+ layout: feed
3
+ format: ogg
4
+ ---
5
+ {{ content }}
Binary file
@@ -0,0 +1,5 @@
1
+ ---
2
+ layout: jsonfeed
3
+ format: m4a
4
+ ---
5
+ {{ content }}
@@ -0,0 +1,5 @@
1
+ ---
2
+ layout: jsonfeed
3
+ format: mp3
4
+ ---
5
+ {{ content }}
@@ -0,0 +1,5 @@
1
+ ---
2
+ layout: jsonfeed
3
+ format: ogg
4
+ ---
5
+ {{ content }}
@@ -0,0 +1,30 @@
1
+ ---
2
+ layout: null
3
+ ---
4
+ <?xml version="1.0" encoding="utf-8"?>
5
+ <feed xmlns="http://www.w3.org/2005/Atom">
6
+
7
+ <title>{{ site.title }}</title>
8
+ <link href="{{ site.url }}/general_feed.xml" rel="self"/>
9
+ <link href="{{ site.url }}"/>
10
+ <updated>{{ site.time | date_to_xmlschema }}</updated>
11
+ <id>{{ site.url }}/</id>
12
+ <author>
13
+ <name>{{ site.author }}</name>
14
+ <email>{{ site.email }}</email>
15
+ </author>
16
+
17
+ {% for post in site.posts %}
18
+ <entry>
19
+ <title>{{ post.title }}</title>
20
+ <link href="{{ site.url }}{{ post.url }}"/>
21
+ <updated>{{ post.date | date_to_xmlschema }}</updated>
22
+ <id>{{ site.url }}{{ post.id }}</id>
23
+ <content type="html">{{ post.content | xml_escape }}</content>
24
+ {% for file in post.audio %}
25
+ <link rel="enclosure" type="{{ file.first | mime_type }}" length="{{ file.last | file_size }}" href="{{ site.url }}/episodes/{{ file.last }}"/>
26
+ {% endfor %}
27
+ {{ site | flattr_atom:post }}
28
+ </entry>
29
+ {% endfor %}
30
+ </feed>
Binary file
Binary file
@@ -0,0 +1,2 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <browserconfig><msapplication><tile><square70x70logo src="/ms-icon-70x70.png"/><square150x150logo src="/ms-icon-150x150.png"/><square310x310logo src="/ms-icon-310x310.png"/><TileColor>#ffffff</TileColor></tile></msapplication></browserconfig>