jmblog-theme 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +52 -0
  4. data/_includes/JB/analytics +20 -0
  5. data/_includes/JB/analytics-providers/getclicky +12 -0
  6. data/_includes/JB/analytics-providers/mixpanel +11 -0
  7. data/_includes/JB/analytics-providers/piwik +10 -0
  8. data/_includes/JB/categories_list +37 -0
  9. data/_includes/JB/comments +16 -0
  10. data/_includes/JB/comments-providers/disqus +17 -0
  11. data/_includes/JB/comments-providers/facebook +9 -0
  12. data/_includes/JB/comments-providers/intensedebate +6 -0
  13. data/_includes/JB/comments-providers/livefyre +6 -0
  14. data/_includes/JB/liquid_raw +32 -0
  15. data/_includes/JB/pages_list +44 -0
  16. data/_includes/JB/posts_collate +55 -0
  17. data/_includes/JB/setup +22 -0
  18. data/_includes/JB/sharing +8 -0
  19. data/_includes/JB/tags_list +35 -0
  20. data/_includes/JB/urlset +10 -0
  21. data/_includes/dataLayer/dataLayer +10 -0
  22. data/_includes/themes/jmblog/components/analytics/google +11 -0
  23. data/_includes/themes/jmblog/components/analytics/googletagmanager_body.html +4 -0
  24. data/_includes/themes/jmblog/components/analytics/googletagmanager_head.html +10 -0
  25. data/_includes/themes/jmblog/components/analytics/hubspot.html +3 -0
  26. data/_includes/themes/jmblog/components/analytics/hubspot_cookie_removal.html +9 -0
  27. data/_includes/themes/jmblog/components/breadcrumb +7 -0
  28. data/_includes/themes/jmblog/components/centred_buttons.html +10 -0
  29. data/_includes/themes/jmblog/components/contact_form.html +43 -0
  30. data/_includes/themes/jmblog/components/footer.html +31 -0
  31. data/_includes/themes/jmblog/components/head.html +76 -0
  32. data/_includes/themes/jmblog/components/navigation.html +7 -0
  33. data/_includes/themes/jmblog/components/posts_list +12 -0
  34. data/_includes/themes/jmblog/components/resume.html +139 -0
  35. data/_includes/themes/jmblog/components/share_buttons +19 -0
  36. data/_includes/themes/jmblog/components/social_buttons_large.html +18 -0
  37. data/_includes/themes/jmblog/error.html +15 -0
  38. data/_includes/themes/jmblog/page.html +19 -0
  39. data/_includes/themes/jmblog/post.html +51 -0
  40. data/_includes/themes/jmblog/resume.html +18 -0
  41. data/_includes/themes/jmblog/settings.yml +2 -0
  42. data/_includes/themes/jmblog/theme/error.html +46 -0
  43. data/_includes/themes/jmblog/theme/holding.html +53 -0
  44. data/_includes/themes/resume.html +11 -0
  45. data/_layouts/default.html +10 -0
  46. data/_layouts/error.html +7 -0
  47. data/_layouts/page.html +11 -0
  48. data/_layouts/post.html +5 -0
  49. data/_layouts/resume.html +6 -0
  50. data/assets/fonts/Cardo/Cardo-Regular.woff2 +0 -0
  51. data/assets/fonts/Cardo/OFL.txt +93 -0
  52. data/assets/fonts/Montserrat/Montserrat-Regular.woff2 +0 -0
  53. data/assets/fonts/Montserrat/OFL.txt +93 -0
  54. data/assets/img/balloon-3206530_1920.jpg +0 -0
  55. data/assets/img/favicon.png +0 -0
  56. data/assets/img/head-shot-square.jpg +0 -0
  57. data/assets/img/jekyll-logo-black-red-transparent.png +0 -0
  58. data/assets/img/jekyll-logo-light-solid.png +0 -0
  59. data/assets/img/john-cameron-zxsab1OdEsU-unsplash.jpg +0 -0
  60. data/assets/img/made-with-bulma--semiblack.png +0 -0
  61. data/assets/img/webpack-on-white-bg.svg +1 -0
  62. data/assets/js/error.bundle.js +2 -0
  63. data/assets/js/error.bundle.js.br +0 -0
  64. data/assets/js/error.js.map +1 -0
  65. data/assets/js/holding.bundle.js +2 -0
  66. data/assets/js/holding.bundle.js.br +0 -0
  67. data/assets/js/holding.js.map +1 -0
  68. metadata +151 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 0a20a568d98011c4dfba65e7c4446d511373fbe51b8824796536293ee406ce30
4
+ data.tar.gz: 704fc79c1955752318dc53fb05d4e2f5fbb5085454f3c49c0a2191c68dfed176
5
+ SHA512:
6
+ metadata.gz: 616acb06d10bd2692b79e7ae87b3f8cb883d803ab374966233b75b1796e0d04fcb9ce2c4852a9722994447d02c69a9749629ae9b27d0af23dda09557f36e8077
7
+ data.tar.gz: bc33711d850d0ffea2f2ea496bff057af501f6074cd53f4da0851953f2f2a7df5aa2387408b6accb9963697c35e976d9042520b6d00610e4e681270d824341c9
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2020 John Moxon
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,52 @@
1
+ # jmblog-clean
2
+
3
+ Welcome to your new Jekyll theme! In this directory, you'll find the files you need to be able to package up your theme into a gem. Put your layouts in `_layouts`, your includes in `_includes`, your sass files in `_sass` and any other assets in `assets`.
4
+
5
+ To experiment with this code, add some sample content and run `bundle exec jekyll serve` – this directory is setup just like a Jekyll site!
6
+
7
+ TODO: Delete this and the text above, and describe your gem
8
+
9
+
10
+ ## Installation
11
+
12
+ Add this line to your Jekyll site's `Gemfile`:
13
+
14
+ ```ruby
15
+ gem "jmblog-clean"
16
+ ```
17
+
18
+ And add this line to your Jekyll site's `_config.yml`:
19
+
20
+ ```yaml
21
+ theme: jmblog-clean
22
+ ```
23
+
24
+ And then execute:
25
+
26
+ $ bundle
27
+
28
+ Or install it yourself as:
29
+
30
+ $ gem install jmblog-clean
31
+
32
+ ## Usage
33
+
34
+ TODO: Write usage instructions here. Describe your available layouts, includes, sass and/or assets.
35
+
36
+ ## Contributing
37
+
38
+ Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/hello. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
39
+
40
+ ## Development
41
+
42
+ To set up your environment to develop this theme, run `bundle install`.
43
+
44
+ Your theme is setup just like a normal Jekyll site! To test your theme, run `bundle exec jekyll serve` and open your browser at `http://localhost:4000`. This starts a Jekyll server using your theme. Add pages, documents, data, etc. like normal to test your theme's contents. As you make modifications to your theme and to your content, your site will regenerate and you should see the changes in the browser after a refresh, just like normal.
45
+
46
+ When your theme is released, only the files in `_layouts`, `_includes`, `_sass` and `assets` tracked with Git will be bundled.
47
+ To add a custom directory to your theme-gem, please edit the regexp in `jmblog-clean.gemspec` accordingly.
48
+
49
+ ## License
50
+
51
+ The theme is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
52
+
@@ -0,0 +1,20 @@
1
+ {% if site.safe and site.JB.analytics.provider and page.JB.analytics != false %}
2
+
3
+ {% case site.JB.analytics.provider %}
4
+ {% when "google" %}
5
+ {% include JB/analytics-providers/google %}
6
+ {% when "googletagmanager" %}
7
+ {% include JB/analytics-providers/googletagmanager %}
8
+ {% when "hubspot" %}
9
+ {% include JB/analytics-providers/hubspot%}
10
+ {% when "getclicky" %}
11
+ {% include JB/analytics-providers/getclicky %}
12
+ {% when "mixpanel" %}
13
+ {% include JB/analytics-providers/mixpanel %}
14
+ {% when "piwik" %}
15
+ {% include JB/analytics-providers/piwik %}
16
+ {% when "custom" %}
17
+ {% include custom/analytics %}
18
+ {% endcase %}
19
+
20
+ {% endif %}
@@ -0,0 +1,12 @@
1
+ <script type="text/javascript">
2
+ var clicky_site_ids = clicky_site_ids || [];
3
+ clicky_site_ids.push({{ site.JB.analytics.getclicky.site_id }});
4
+ (function() {
5
+ var s = document.createElement('script');
6
+ s.type = 'text/javascript';
7
+ s.async = true;
8
+ s.src = '//static.getclicky.com/js';
9
+ ( document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0] ).appendChild( s );
10
+ })();
11
+ </script>
12
+ <noscript><p><img alt="Clicky" width="1" height="1" src="//in.getclicky.com/{{ site.JB.analytics.getclicky.site_id }}ns.gif" /></p></noscript>
@@ -0,0 +1,11 @@
1
+ <script type="text/javascript">
2
+ var mpq = [];
3
+ mpq.push(["init", "{{ site.JB.analytics.mixpanel.token}}"]);
4
+ (function(){var b,a,e,d,c;b=document.createElement("script");b.type="text/javascript";
5
+ b.async=true;b.src=(document.location.protocol==="https:"?"https:":"http:")+
6
+ "//api.mixpanel.com/site_media/js/api/mixpanel.js";a=document.getElementsByTagName("script")[0];
7
+ a.parentNode.insertBefore(b,a);e=function(f){return function(){mpq.push(
8
+ [f].concat(Array.prototype.slice.call(arguments,0)))}};d=["init","track","track_links",
9
+ "track_forms","register","register_once","identify","name_tag","set_config"];for(c=0;c<
10
+ d.length;c++){mpq[d[c]]=e(d[c])}})();
11
+ </script>
@@ -0,0 +1,10 @@
1
+ <script type="text/javascript">
2
+ var pkBaseURL = (("https:" == document.location.protocol) ? "https://{{ site.JB.analytics.piwik.baseURL }}/" : "http://{{ site.JB.analytics.piwik.baseURL }}/");
3
+ document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
4
+ </script><script type="text/javascript">
5
+ try {
6
+ var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", {{ site.JB.analytics.piwik.idsite }});
7
+ piwikTracker.trackPageView();
8
+ piwikTracker.enableLinkTracking();
9
+ } catch( err ) {}
10
+ </script><noscript><p><img src="http://{{ site.JB.analytics.piwik.baseURL }}/piwik.php?idsite={{ site.JB.analytics.piwik.idsite }}" style="border:0" alt="" /></p></noscript>
@@ -0,0 +1,37 @@
1
+ {% comment %}<!--
2
+ The categories_list include is a listing helper for categories.
3
+ Usage:
4
+ 1) assign the 'categories_list' variable to a valid array of tags.
5
+ 2) include JB/categories_list
6
+ example:
7
+ <ul>
8
+ {% assign categories_list = site.categories %}
9
+ {% include JB/categories_list %}
10
+ </ul>
11
+
12
+ Notes:
13
+ Categories can be either a Hash of Category objects (hashes) or an Array of category-names (strings).
14
+ The encapsulating 'if' statement checks whether categories_list is a Hash or Array.
15
+ site.categories is a Hash while page.categories is an array.
16
+
17
+ This helper can be seen in use at: ../_layouts/default.html
18
+ -->{% endcomment %}
19
+
20
+ {% if site.JB.categories_list.provider == "custom" %}
21
+ {% include custom/categories_list %}
22
+ {% else %}
23
+ {% if categories_list.first[0] == null %}
24
+ {% for category in categories_list %}
25
+ <li><a href="{{ BASE_PATH }}{{ site.JB.categories_path }}{{ category }}">
26
+ {{ category | join: "/" }} <span class="badge">{{ site.categories[category].size }}</span>
27
+ </a></li>
28
+ {% endfor %}
29
+ {% else %}
30
+ {% for category in categories_list %}
31
+ <li><a href="{{ BASE_PATH }}{{ site.JB.categories_path }}{{ category[0] }}">
32
+ {{ category[0] | join: "/" }} <span class="badge">{{ category[1].size }}</span>
33
+ </a></li>
34
+ {% endfor %}
35
+ {% endif %}
36
+ {% endif %}
37
+ {% assign categories_list = nil %}
@@ -0,0 +1,16 @@
1
+ {% if site.JB.comments.provider and page.comments != false %}
2
+
3
+ {% case site.JB.comments.provider %}
4
+ {% when "disqus" %}
5
+ {% include JB/comments-providers/disqus %}
6
+ {% when "livefyre" %}
7
+ {% include JB/comments-providers/livefyre %}
8
+ {% when "intensedebate" %}
9
+ {% include JB/comments-providers/intensedebate %}
10
+ {% when "facebook" %}
11
+ {% include JB/comments-providers/facebook %}
12
+ {% when "custom" %}
13
+ {% include custom/comments %}
14
+ {% endcase %}
15
+
16
+ {% endif %}
@@ -0,0 +1,17 @@
1
+ <div id="disqus_thread"></div>
2
+ <script type="text/javascript">
3
+ {% if site.safe == false %}var disqus_developer = 1;{% endif %}
4
+ var disqus_shortname = '{{ site.JB.comments.disqus.short_name }}'; // required: replace example with your forum shortname
5
+ {% if page.url %}var disqus_identifier = '{{page.url}}';
6
+ var disqus_url = '{{site.production_url}}{{page.url}}';{% endif %}
7
+ {% if page.title %}var disqus_title = '{{page.title}}';{% endif %}
8
+
9
+ /* * * DON'T EDIT BELOW THIS LINE * * */
10
+ (function() {
11
+ var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
12
+ dsq.src = 'https://' + disqus_shortname + '.disqus.com/embed.js';
13
+ (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
14
+ })();
15
+ </script>
16
+ <noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
17
+ <a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
@@ -0,0 +1,9 @@
1
+ <div id="fb-root"></div>
2
+ <script>(function(d, s, id) {
3
+ var js, fjs = d.getElementsByTagName(s)[0];
4
+ if (d.getElementById(id)) return;
5
+ js = d.createElement(s); js.id = id;
6
+ js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId={{ site.JB.comments.facebook.appid }}";
7
+ fjs.parentNode.insertBefore(js, fjs);
8
+ }(document, 'script', 'facebook-jssdk'));</script>
9
+ <div class="fb-comments" data-href="{{ site.production_url }}" data-num-posts="{{ site.JB.comments.facebook.num_posts }}" data-width="{{ site.JB.comments.facebook.width }}" data-colorscheme="{{ site.JB.comments.facebook.colorscheme }}"></div>
@@ -0,0 +1,6 @@
1
+ <script>
2
+ var idcomments_acct = '{{ site.JB.comments.intensedebate.account }}';
3
+ var idcomments_post_id;
4
+ var idcomments_post_url;
5
+ </script>
6
+ <script type="text/javascript" src="http://www.intensedebate.com/js/genericLinkWrapperV2.js"></script>
@@ -0,0 +1,6 @@
1
+ <script type='text/javascript' src='http://zor.livefyre.com/wjs/v1.0/javascripts/livefyre_init.js'></script>
2
+ <script type='text/javascript'>
3
+ var fyre = LF({
4
+ site_id: {{ site.JB.comments.livefyre.site_id }}
5
+ });
6
+ </script>
@@ -0,0 +1,32 @@
1
+ {% comment%}<!--
2
+ The liquid_raw helper is a way to display raw liquid code, as opposed to parsing it.
3
+ Normally you'd use Liquid's built in 'raw' tag.
4
+ The problem is GitHub Jekyll does not support the current Liquid release.
5
+ GitHub Jekyll supports the deprecated 'literal' tag.
6
+ Using one will break the other if you plan to deploy to GitHub pages.
7
+ see: https://github.com/mojombo/jekyll/issues/425
8
+
9
+ Since I don't want to mess with Liquid versions, I'll just rewrite the way I
10
+ intend to give liquid examples. It's not an elegant by any means:
11
+
12
+ Usage:
13
+ 1) Define a 'text' variable with the block of liquid code you intend to display.
14
+ 2) Pass the text variable to include JB/liquid_raw
15
+
16
+ example:
17
+ {% capture text %}|.% for tag in tags_list %.|
18
+ <li><a href="|.{ site.var.tags_path }.||.{ tag[0] }.|-ref">|.{ tag[0] }.| <span>|.{tag[1].size}.|</span></a></li>
19
+ |.% endfor %.|
20
+
21
+ |.% assign tags_list = null %.|{% endcapture %}
22
+ {% include JB/liquid_raw %}
23
+
24
+ As seen here, you must use "|." and ".|" as opening and closing brackets.
25
+ -->{% endcomment%}
26
+
27
+ {% if site.JB.liquid_raw.provider == "custom" %}
28
+ {% include custom/liquid_raw %}
29
+ {% else %}
30
+ <pre><code>{{text | replace:"|.", "&#123;" | replace:".|", "&#125;" | replace:">", "&gt;" | replace:"<", "&lt;" }}</code></pre>
31
+ {% endif %}
32
+ {% assign text = nil %}
@@ -0,0 +1,44 @@
1
+ {% comment %}<!--
2
+ The pages_list include is a listing helper.
3
+ Usage:
4
+ 1) assign the 'pages_list' variable to a valid array of pages or posts.
5
+ 2) include JB/pages_list
6
+ example:
7
+ <ul>
8
+ {% assign pages_list = site.pages %}
9
+ {% include JB/pages_list %}
10
+ </ul>
11
+
12
+ Grouping: (optional):
13
+ assign the 'group' variable to constrain the list to only pages/posts
14
+ in the given group. Note you must define the group manually in the page/post
15
+ meta-data to use this feature.
16
+ Grouping is mainly helpful for non-post pages.
17
+ If you want to group posts, it's easier/better to tag them, then pass the tagged posts array.
18
+ i.e. site.tags.cool_tag (this returns an array of posts tagged: cool_tag)
19
+
20
+ This helper can be seen in use at: ../_layouts/default.html
21
+ -->{% endcomment %}
22
+
23
+ {% if site.JB.pages_list.provider == "custom" %}
24
+ {% include custom/pages_list %}
25
+ {% else %}
26
+ {% for node in pages_list %}
27
+ {% if node.title != null %}
28
+ {% if group == null or group == node.group %}
29
+
30
+ {% if limit == null or forloop.index <= limit %}
31
+ {% if page.url == node.url %}
32
+ <li class="active"><a href="{{ BASE_PATH }}{{node.url}}" class="active">{{node.title}}</a></li>
33
+ {% else %}
34
+ <li><a href="{{ BASE_PATH }}{{node.url}}">{{node.title}}</a></li>
35
+ {% endif %}
36
+ {% endif %}
37
+
38
+ {% endif %}
39
+ {% endif %}
40
+ {% endfor %}
41
+ {% endif %}
42
+ {% assign pages_list = nil %}
43
+ {% assign group = nil %}
44
+ {% assign limit = nil %}
@@ -0,0 +1,55 @@
1
+ {% comment %}<!--
2
+ Collate_posts helper. Collated posts by year and month.
3
+ Usage:
4
+ 1) assign the 'posts_collate' variable to a valid array of posts.
5
+ 2) include JB/posts_collate
6
+ example:
7
+ {% assign posts_collate = site.posts %}
8
+ {% include JB/posts_collate %}
9
+
10
+ Ordering:
11
+ Posts are displayed in reverse chronological order.
12
+ For normal chronological order:
13
+ 1) Change the for loop to this:
14
+ => 'for post in site.posts reversed'
15
+ 2) Next make sure to change 'post.previous.date' to:
16
+ => 'post.next.date'
17
+
18
+ -->{% endcomment %}
19
+
20
+ {% if site.JB.posts_collate.provider == "custom" %}
21
+ {% include custom/posts_collate %}
22
+ {% else %}
23
+ {% for post in posts_collate %}
24
+ {% capture this_year %}{{ post.date | date: "%Y" }}{% endcapture %}
25
+ {% capture this_month %}{{ post.date | date: "%B" }}{% endcapture %}
26
+ {% capture next_year %}{{ post.previous.date | date: "%Y" }}{% endcapture %}
27
+ {% capture next_month %}{{ post.previous.date | date: "%B" }}{% endcapture %}
28
+
29
+ {% if forloop.first %}
30
+ <h2>{{this_year}}</h2>
31
+ <h3>{{this_month}}</h3>
32
+ <ul>
33
+ {% endif %}
34
+
35
+ <li><span>{{ post.date | date: "%B %e, %Y" }}</span> &raquo; <a href="{{ BASE_PATH }}{{ post.url }}">{{ post.title }}</a></li>
36
+
37
+ {% if forloop.last %}
38
+ </ul>
39
+ {% else %}
40
+ {% if this_year != next_year %}
41
+ </ul>
42
+ <h2>{{next_year}}</h2>
43
+ <h3>{{next_month}}</h3>
44
+ <ul>
45
+ {% else %}
46
+ {% if this_month != next_month %}
47
+ </ul>
48
+ <h3>{{next_month}}</h3>
49
+ <ul>
50
+ {% endif %}
51
+ {% endif %}
52
+ {% endif %}
53
+ {% endfor %}
54
+ {% endif %}
55
+ {% assign posts_collate = nil %}
@@ -0,0 +1,22 @@
1
+ {% capture jbcache %}
2
+ <!--
3
+ - Dynamically set liquid variables for working with URLs/paths
4
+ -->
5
+ {% if site.JB.setup.provider == "custom" %}
6
+ {% include custom/setup %}
7
+ {% else %}
8
+ {% if site.safe and site.JB.BASE_PATH and site.JB.BASE_PATH != '' %}
9
+ {% assign BASE_PATH = site.JB.BASE_PATH %}
10
+ {% assign HOME_PATH = site.JB.BASE_PATH %}
11
+ {% else %}
12
+ {% assign BASE_PATH = nil %}
13
+ {% assign HOME_PATH = "/" %}
14
+ {% endif %}
15
+
16
+ {% if site.JB.ASSET_PATH %}
17
+ {% assign ASSET_PATH = site.JB.ASSET_PATH %}
18
+ {% else %}
19
+ {% capture ASSET_PATH %}{{ BASE_PATH }}/assets/themes/{{ layout.theme.name }}{% endcapture %}
20
+ {% endif %}
21
+ {% endif %}
22
+ {% endcapture %}{% assign jbcache = nil %}
@@ -0,0 +1,8 @@
1
+ {% if site.safe and site.JB.sharing.provider and page.JB.sharing != false %}
2
+
3
+ {% case site.JB.sharing.provider %}
4
+ {% when "custom" %}
5
+ {% include custom/sharing %}
6
+ {% endcase %}
7
+
8
+ {% endif %}
@@ -0,0 +1,35 @@
1
+ {% comment %}<!--
2
+ The tags_list include is a listing helper for tags.
3
+ Usage:
4
+ 1) assign the 'tags_list' variable to a valid array of tags.
5
+ 2) include JB/tags_list
6
+ example:
7
+ <ul>
8
+ {% assign tags_list = site.tags %}
9
+ {% include JB/tags_list %}
10
+ </ul>
11
+
12
+ Notes:
13
+ Tags can be either a Hash of tag objects (hashes) or an Array of tag-names (strings).
14
+ The encapsulating 'if' statement checks whether tags_list is a Hash or Array.
15
+ site.tags is a Hash while page.tags is an array.
16
+
17
+ This helper can be seen in use at: ../_layouts/default.html
18
+ -->{% endcomment %}
19
+
20
+ {% if site.JB.tags_list.provider == "custom" %}
21
+ {% include custom/tags_list %}
22
+ {% else %}
23
+ {% if tags_list.first[0] == null %}
24
+ {% for tag in tags_list %}
25
+ <li><i class="fa fa-tags"></i> <a href="{{ BASE_PATH }}{{ site.JB.tags_path }}#{{ tag }}-ref">{{ tag }}
26
+ {% unless nobadges %}<span class="badge">{{ site.tags[tag].size }}</span>{% endunless %}
27
+ </a></li>
28
+ {% endfor %}
29
+ {% else %}
30
+ {% for tag in tags_list %}
31
+ <li><a href="{{ BASE_PATH }}{{ site.JB.tags_path }}#{{ tag[0] }}-ref">{{ tag[0] }} <span class="badge">{{ tag[1].size }}</span></a></li>
32
+ {% endfor %}
33
+ {% endif %}
34
+ {% endif %}
35
+ {% assign tags_list = nil %}