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