jekyll-octopod 0.9.0 → 0.9.1

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 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