jekyll-octopod 0.9.0 → 0.9.1

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: 565f44c3775b867f1c81061a50c6a9bb5b71c850
4
- data.tar.gz: 5769450b2d16bd08843148872764556dd65c7dde
3
+ metadata.gz: 271f8dde18002a49be98424ac8b9718f4f408760
4
+ data.tar.gz: dde70685d24bf8f53b412a14fa4eb2d9dccfb30d
5
5
  SHA512:
6
- metadata.gz: 5fd64395c0345b0cfe770d4947b272e4cc7f88d2395ca7e866222fed61864bc1d3e806b17768e2004f467efc348543282386310d02fb475b68ce0ce81124b763
7
- data.tar.gz: cf54d9bb95329e9a812f59adaa1c3f805b5079cf3e513e482993b6d3fc537f788a1238a547ab3b9737c4eafeadef3cc85431124c4eb24fdee0cb2efa11fac91e
6
+ metadata.gz: 7dde5076b482570facbbdc08bfb5d2ed3e4b4f2808dd5037117e2153cef01a09de554598ecbe120e189abba4e7eb9122a9467a9ca5de439a78e9b2667e3ceb7a
7
+ data.tar.gz: 360146ce5fb5f779f8d590939df51d088c872d750bdb2ce5b4fa3cfef750e4ba80c875fef9a09cfc550853233ce75cf82d8c86a58d73517d6519881a913b3eea
@@ -0,0 +1,47 @@
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: 100
16
+ ## Rsync Deploy config #########################################################
17
+ ### Be sure your public key is listed in your server's ~/.ssh/authorized_keys
18
+ ### file.
19
+ ssh_host: user@host.org
20
+ ssh_port: 22
21
+ document_root: /path/to/your/htdocs/
22
+ rsync_delete: true
23
+ # You can configure this #######################################################
24
+ twitter_nick: my_twitter_handle
25
+ language: en
26
+ explicit: 'no' # 'yes'/'no'/clean
27
+ license: CC BY 4.0
28
+ license_url: https://creativecommons.org/licenses/by/4.0/
29
+ license_image_url: https://i.creativecommons.org/l/by/4.0/88x31.png
30
+ ## Flattr ######################################################################
31
+ flattr_uid: # Flattr will not be used unless this is set
32
+ flattr_button: compact # compact | default
33
+ flattr_mode: auto # auto | manual(default)
34
+ flattr_popout: 1 # 1 | 0 (show popout when hovering mouse over button)
35
+ flattr_language: en_GB # available languages - https://api.flattr.com/rest/v2/languages.txt
36
+ flattr_category: audio # available categories - https://api.flattr.com/rest/v2/categories.txt
37
+ ## Disqus comments #############################################################
38
+ disqus_shortname: # Disqus will not be used unless this is set
39
+ disqus_developer: 0 # 1 / 0
40
+ ## Feed links ###########################################################
41
+ itunes_url: https://itunes.apple.com/at/podcast/myname/id#myid#
42
+ bitlove_url: https://bitlove.org/myaccount
43
+ fyyd_url: https://fyyd.de/podcast/myaccount/myid
44
+ gpodder_url: https://gpodder.net/podcast/mypodcast
45
+
46
+ gems: [jekyll-octopod]
47
+ theme: jekyll-bootflat
@@ -4,15 +4,11 @@
4
4
  {% endif %}
5
5
  <section id="{{ post.id | sha1:8 }}" class="active">
6
6
  {% include post_header.html %}
7
- {% if site.download_url == "" or site.download_url == nil %}
8
- {% assign download_url = site.url | append: '/episodes' %}
9
- {% else %}
10
- {% assign download_url = site.download_url %}
11
- {% endif %}
7
+
12
8
  {{ post.content }}
13
9
  {% if post.audio %}
14
10
  {% for file in post.audio %}
15
- <a class="btn btn-primary" href="{{ download_url }}/{{ file.last }}">Download .{{ file.first }} ({{ file.last | file_size:'./' | string_of_size }})</a>
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>
16
12
  {% endfor %}
17
13
  {% endif %}
18
14
  <hr>
@@ -43,9 +43,8 @@ layout: null
43
43
  <link>{{ site.url }}</link>
44
44
  </image>
45
45
  {% for category in site.itunes_categories %}
46
- <itunes:category text="{{ category }}">
46
+ <itunes:category text="{{ category }}" />
47
47
  {% endfor %}
48
- </itunes:category>
49
48
  {% if site.download_url == "" or site.download_url == nil %}
50
49
  {% assign download_url = site.url | append: '/episodes' %}
51
50
  {% else %}
@@ -1,5 +1,5 @@
1
1
  ---
2
- layout: default
2
+ layout: with_twitter_card
3
3
  ---
4
4
  {% for post in site.posts %}
5
5
  {% if post.url == page.url %}
@@ -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>
@@ -49,7 +49,7 @@ module Jekyll
49
49
  first.empty? ? second : first
50
50
  end
51
51
 
52
- # Returns the value of a given hash. Is no key as second parameter given, it
52
+ # Returns the audio file name of a given hash. Is no key as second parameter given, it
53
53
  # trys first "mp3", than "m4a" and than it will return a more or less random
54
54
  # value.
55
55
  #
@@ -62,6 +62,17 @@ module Jekyll
62
62
  end
63
63
  end
64
64
 
65
+
66
+ # Returns the audio-type of a given hash. Is no key as second parameter given, it
67
+ # trys first "mp3", than "m4a" and than it will return a more or less random
68
+ # value.
69
+ #
70
+ # {{ post.audio | audiotype }} => "my-episode.m4a"
71
+ def audio_type(hsh)
72
+ hsh['mp3'] ? mime_type('mp3') : hsh['m4a'] ? mime_type('m4a') : hsh['ogg'] ? mime_type('ogg') : mime_type('opus')
73
+ end
74
+
75
+
65
76
  # Returns the MIME-Type of a given file format.
66
77
  #
67
78
  # {{ "m4a" | mime_type }} => "audio/mp4a-latm"
@@ -95,6 +106,27 @@ module Jekyll
95
106
  page['id'][1..-1].gsub('/', '_')
96
107
  end
97
108
 
109
+ # Returns the image of the post or the default logo.
110
+ #
111
+ # {{ page | image_with_fallback }} => '/path/to/image.png'
112
+ def image_with_fallback(page)
113
+ if page["image"]
114
+ "/img/" + page["image"]
115
+ else
116
+ "/img/logo-itunes.jpg"
117
+ end
118
+ end
119
+
120
+ # Returns the dowrload url with fallback to the site's episode folder url
121
+ def download_url_with_fallback(site)
122
+ if site["download_url"] == "" or site["download_url"] == nil
123
+ site["url"] + "/episodes"
124
+ else
125
+ site["download_url"]
126
+ end
127
+ end
128
+
129
+
98
130
  # Splits a chapter, like it is written to the post YAML front matter into
99
131
  # the components 'start' which refers to a single point in time relative to
100
132
  # the beginning of the media file nad 'title' which defines the text to be
@@ -3,7 +3,7 @@ module Jekyll
3
3
  module VERSION #:nodoc:
4
4
  MAJOR = 0
5
5
  MINOR = 9
6
- TINY = 0
6
+ TINY = 1
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.9.0
4
+ version: 0.9.1
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: 2017-06-04 00:00:00.000000000 Z
12
+ date: 2017-09-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: facets
@@ -98,6 +98,7 @@ extra_rdoc_files: []
98
98
  files:
99
99
  - README.md
100
100
  - Rakefile
101
+ - assets/_config.yml
101
102
  - assets/_config.yml.sample
102
103
  - assets/_includes/disqus_count.html
103
104
  - assets/_includes/disqus_thread.html
@@ -114,6 +115,7 @@ files:
114
115
  - assets/_layouts/page.html
115
116
  - assets/_layouts/player_index.html
116
117
  - assets/_layouts/post.html
118
+ - assets/_layouts/with_twitter_card.html
117
119
  - assets/_posts/2016-03-22-episode0.md
118
120
  - assets/_sass/_overrides.scss
119
121
  - assets/apple-touch-icon-precomposed.png
@@ -194,7 +196,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
194
196
  version: '0'
195
197
  requirements: []
196
198
  rubyforge_project: jekyll-
197
- rubygems_version: 2.5.1
199
+ rubygems_version: 2.6.8
198
200
  signing_key:
199
201
  specification_version: 4
200
202
  summary: Podcasting Publishing Extension for Jekyll