octopod-exe 0.9.4
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 +7 -0
- data/README.md +8 -0
- data/Rakefile +11 -0
- data/assets/_config.yml.sample +48 -0
- data/assets/_includes/disqus_count.html +13 -0
- data/assets/_includes/disqus_thread.html +13 -0
- data/assets/_includes/flattr_loader.html +14 -0
- data/assets/_includes/isso_thread.html +6 -0
- data/assets/_includes/post.html +20 -0
- data/assets/_includes/post_header.html +17 -0
- data/assets/_includes/post_line.html +3 -0
- data/assets/_includes/sidebar.html +109 -0
- data/assets/_includes/tweet_us.html +3 -0
- data/assets/_layouts/default.html +86 -0
- data/assets/_layouts/feed.xml +107 -0
- data/assets/_layouts/jsonfeed.json +48 -0
- data/assets/_layouts/page.html +15 -0
- data/assets/_layouts/player_index.html +36 -0
- data/assets/_layouts/post.html +10 -0
- data/assets/_layouts/with_twitter_card.html +98 -0
- data/assets/_posts/2016-03-22-episode0.md +24 -0
- data/assets/_sass/_overrides.scss +68 -0
- data/assets/apple-touch-icon-precomposed.png +0 -0
- data/assets/episodes.m4a.rss +5 -0
- data/assets/episodes.mp3.rss +5 -0
- data/assets/episodes.ogg.rss +5 -0
- data/assets/episodes/episode0.m4a +0 -0
- data/assets/episodes/episode0.mp3 +0 -0
- data/assets/episodes/episode0.ogg +0 -0
- data/assets/favicon.ico +0 -0
- data/assets/feed.m4a.json +5 -0
- data/assets/feed.mp3.json +5 -0
- data/assets/feed.ogg.json +5 -0
- data/assets/general_feed.xml +30 -0
- data/assets/img/favicon.ico +0 -0
- data/assets/img/logo-360x360.png +0 -0
- data/assets/img/logo-itunes.jpg +0 -0
- data/assets/img/logo.jpg +0 -0
- data/assets/img/logo/android-icon-144x144.png +0 -0
- data/assets/img/logo/android-icon-192x192.png +0 -0
- data/assets/img/logo/android-icon-36x36.png +0 -0
- data/assets/img/logo/android-icon-48x48.png +0 -0
- data/assets/img/logo/android-icon-72x72.png +0 -0
- data/assets/img/logo/android-icon-96x96.png +0 -0
- data/assets/img/logo/apple-icon-114x114.png +0 -0
- data/assets/img/logo/apple-icon-120x120.png +0 -0
- data/assets/img/logo/apple-icon-144x144.png +0 -0
- data/assets/img/logo/apple-icon-152x152.png +0 -0
- data/assets/img/logo/apple-icon-180x180.png +0 -0
- data/assets/img/logo/apple-icon-57x57.png +0 -0
- data/assets/img/logo/apple-icon-60x60.png +0 -0
- data/assets/img/logo/apple-icon-72x72.png +0 -0
- data/assets/img/logo/apple-icon-76x76.png +0 -0
- data/assets/img/logo/apple-icon-precomposed.png +0 -0
- data/assets/img/logo/apple-icon.png +0 -0
- data/assets/img/logo/browserconfig.xml +2 -0
- data/assets/img/logo/favicon-16x16.png +0 -0
- data/assets/img/logo/favicon-32x32.png +0 -0
- data/assets/img/logo/favicon-96x96.png +0 -0
- data/assets/img/logo/favicon.ico +0 -0
- data/assets/img/logo/manifest.json +41 -0
- data/assets/img/logo/ms-icon-144x144.png +0 -0
- data/assets/img/logo/ms-icon-150x150.png +0 -0
- data/assets/img/logo/ms-icon-310x310.png +0 -0
- data/assets/img/logo/ms-icon-70x70.png +0 -0
- data/assets/imprint.md +19 -0
- data/assets/index.md +14 -0
- data/bin/octopod +273 -0
- data/lib/jekyll-octopod.rb +11 -0
- data/lib/jekyll/date_de.rb +54 -0
- data/lib/jekyll/flattr_filters.rb +107 -0
- data/lib/jekyll/octopod_filters.rb +336 -0
- data/lib/jekyll/paged_feed_page.rb +22 -0
- data/lib/jekyll/paged_feed_page_generator.rb +20 -0
- data/lib/jekyll/podcast_player_page.rb +24 -0
- data/lib/jekyll/podcast_player_page_generator.rb +14 -0
- data/lib/jekyll/podigee_player_tag.rb +44 -0
- data/lib/jekyll/static_file.rb +20 -0
- data/lib/jekyll/update_config.rb +14 -0
- data/lib/octopod/version.rb +11 -0
- 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,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
|
+
*/
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/assets/favicon.ico
ADDED
Binary file
|
@@ -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
|
Binary file
|
data/assets/img/logo.jpg
ADDED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
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>
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|