jekflix 3.0.0

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.
Files changed (73) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +22 -0
  3. data/README.md +125 -0
  4. data/_includes/author.html +87 -0
  5. data/_includes/comments.html +30 -0
  6. data/_includes/date.html +4 -0
  7. data/_includes/extra-css.html +0 -0
  8. data/_includes/extra-js.html +0 -0
  9. data/_includes/footer.html +91 -0
  10. data/_includes/head.html +97 -0
  11. data/_includes/header.html +27 -0
  12. data/_includes/links.html +9 -0
  13. data/_includes/loader.html +31 -0
  14. data/_includes/logo.html +3 -0
  15. data/_includes/menu.html +6 -0
  16. data/_includes/minutes-to-read.html +9 -0
  17. data/_includes/modal.html +35 -0
  18. data/_includes/new-post-tag.html +6 -0
  19. data/_includes/pagination-home.html +14 -0
  20. data/_includes/pagination-post.html +21 -0
  21. data/_includes/progress-bar.html +8 -0
  22. data/_includes/read-icon.html +3 -0
  23. data/_includes/recommendation.html +30 -0
  24. data/_includes/search.html +7 -0
  25. data/_includes/share.html +11 -0
  26. data/_includes/stats.html +12 -0
  27. data/_includes/subscription.html +1 -0
  28. data/_includes/svg-icons.html +1 -0
  29. data/_includes/time-bar.html +8 -0
  30. data/_includes/toc.html +1 -0
  31. data/_layouts/404.html +18 -0
  32. data/_layouts/author.html +68 -0
  33. data/_layouts/category.html +71 -0
  34. data/_layouts/compress.html +8 -0
  35. data/_layouts/contact.html +94 -0
  36. data/_layouts/default.html +17 -0
  37. data/_layouts/home.html +187 -0
  38. data/_layouts/main.html +28 -0
  39. data/_layouts/message-sent.html +18 -0
  40. data/_layouts/minimal.html +18 -0
  41. data/_layouts/page.html +11 -0
  42. data/_layouts/post.html +154 -0
  43. data/_layouts/search.html +15 -0
  44. data/_layouts/tags.html +38 -0
  45. data/_sass/_animations.scss +65 -0
  46. data/_sass/_author.scss +91 -0
  47. data/_sass/_elements.scss +3 -0
  48. data/_sass/_footer.scss +98 -0
  49. data/_sass/_form.scss +69 -0
  50. data/_sass/_functions.scss +3 -0
  51. data/_sass/_header.scss +150 -0
  52. data/_sass/_hero.scss +108 -0
  53. data/_sass/_highlight.scss +140 -0
  54. data/_sass/_home.scss +218 -0
  55. data/_sass/_icons.scss +45 -0
  56. data/_sass/_include-media.scss +569 -0
  57. data/_sass/_menu.scss +90 -0
  58. data/_sass/_mixins.scss +51 -0
  59. data/_sass/_modal.scss +154 -0
  60. data/_sass/_no-js.scss +9 -0
  61. data/_sass/_normalize.scss +238 -0
  62. data/_sass/_pagination.scss +90 -0
  63. data/_sass/_post.scss +722 -0
  64. data/_sass/_search.scss +138 -0
  65. data/_sass/_share.scss +37 -0
  66. data/_sass/_staff.scss +38 -0
  67. data/_sass/_theme.scss +7 -0
  68. data/_sass/_typo.scss +7 -0
  69. data/_sass/_variables.scss +24 -0
  70. data/_sass/jekflix.scss +1 -0
  71. data/_sass/main.scss +25 -0
  72. data/_sass/preview.scss +310 -0
  73. metadata +199 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: c5d53b88b48eb9bbbdd306a1d177fd72b433fd8c
4
+ data.tar.gz: 0d085311a04289edece5ea147ff6f71f55bbb3ac
5
+ SHA512:
6
+ metadata.gz: 4b1e3c7665be98579f24182ffb97abb905a64b7f935af12a393e215bba5eb17d86186b7006e5cf109fb0e305462a8562469a17e6ab05e942d04657a8747733a6
7
+ data.tar.gz: bec34f2aa1cfe58d0d4972764ac74d7871c3a055c883b1fe0b4dc2b1b88d5f7754af619a62b2a10e35a455b4e6fa67df252c3ae8cf80f678066ce2e6c3dd14f6
data/LICENSE ADDED
@@ -0,0 +1,22 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2019 Thiago Rossener <thiago.rossener@gmail.com>
4
+ https://rossener.com/
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ of this software and associated documentation files (the "Software"), to deal
8
+ in the Software without restriction, including without limitation the rights
9
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ copies of the Software, and to permit persons to whom the Software is
11
+ furnished to do so, subject to the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be included in
14
+ all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
+ THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,125 @@
1
+ [![Netlify Status](https://api.netlify.com/api/v1/badges/5f205b3a-73c2-472c-b052-82b95bdf36b7/deploy-status)](https://app.netlify.com/sites/sleepy-bhabha-00eedf/deploys)
2
+
3
+ # Jekflix Template
4
+
5
+ Version 3.0 is [here](https://github.com/thiagorossener/jekflix-template#v300)! 🎉🎊
6
+
7
+ ![Jekflix Template Cover Image](https://res.cloudinary.com/dm7h7e8xj/image/upload/v1505354182/jekflix-logo_mfngps.png)
8
+
9
+ See the [demo here](https://jekflix.rossener.com/).
10
+
11
+ ## What is it?
12
+
13
+ A theme for Jekyll inspired by Netflix panel for who loves movies and series and would like to have a blog with this cool appearance.
14
+
15
+ ![Jekflix Screenshot Image](https://res.cloudinary.com/dm7h7e8xj/image/upload/v1566390829/jekflix-screenshot-2_zfiog2.jpg)
16
+
17
+ ## Features
18
+
19
+ - [Live Search](https://github.com/thiagorossener/jekflix-template/wiki/Features#live-search)
20
+ - [Estimated Reading Time](https://github.com/thiagorossener/jekflix-template/wiki/Features#estimated-reading-time)
21
+ - [Reading Progress Bar](https://github.com/thiagorossener/jekflix-template/wiki/Features#reading-progress-bar) *(optional)*
22
+ - ["New Post" tag](https://github.com/thiagorossener/jekflix-template/wiki/Features#new-post-tag)
23
+ - [Load images on demand](https://github.com/thiagorossener/jekflix-template/wiki/Features#load-images-on-demand)
24
+ - [Push Menu](https://github.com/thiagorossener/jekflix-template/wiki/Features#push-menu)
25
+ - [SVG icons](https://github.com/thiagorossener/jekflix-template/wiki/Features#svg-icons)
26
+ - [Shell script to create posts](https://github.com/thiagorossener/jekflix-template/wiki/Features#shell-script-to-create-posts)
27
+ - [Tags page](https://github.com/thiagorossener/jekflix-template/wiki/Features#tags-page)
28
+ - [About page](https://github.com/thiagorossener/jekflix-template/wiki/Features#about-page)
29
+ - [Contact page](https://github.com/thiagorossener/jekflix-template/wiki/Features#contact-page)
30
+ - [404 error page](https://github.com/thiagorossener/jekflix-template/wiki/Features#404-error-page)
31
+ - [Feed RSS](https://github.com/thiagorossener/jekflix-template/wiki/Features#feed-rss)
32
+ - [Disqus](https://github.com/thiagorossener/jekflix-template/wiki/Features#disqus) *(optional)*
33
+ - [Featured post](https://github.com/thiagorossener/jekflix-template/wiki/Features#featured-post) *(optional)*
34
+ - [Home page pagination](https://github.com/thiagorossener/jekflix-template/wiki/Features#home-page-pagination) *(optional)*
35
+ - [Posts sidebar](https://github.com/thiagorossener/jekflix-template/wiki/Features#posts-sidebar) *(optional)*
36
+ - [Paginated posts](https://github.com/thiagorossener/jekflix-template/wiki/Features#paginated-posts) *(optional)*
37
+ - ["Before you go" modal](https://github.com/thiagorossener/jekflix-template/wiki/Features#before-you-go-modal) *(optional)*
38
+ - [Post recommendation](https://github.com/thiagorossener/jekflix-template/wiki/Features#post-recommendation)
39
+ - [Netlify CMS ready](https://github.com/thiagorossener/jekflix-template/wiki/Features#netlify-cms-ready)
40
+
41
+ ## SEO
42
+
43
+ - Google Analytics
44
+ - Meta tags
45
+ - JSON-LD
46
+ - Sitemap.xml
47
+ - Social Media ready
48
+
49
+ ## Setup
50
+
51
+ - [Environment](https://github.com/thiagorossener/jekflix-template/wiki/setup#environment)
52
+ - [Installing template](https://github.com/thiagorossener/jekflix-template/wiki/setup#installing-template)
53
+ - [Running local](https://github.com/thiagorossener/jekflix-template/wiki/setup#running-local)
54
+
55
+ ## Customization
56
+
57
+ See the [settings documentation](https://github.com/thiagorossener/jekflix-template/wiki/settings) to customize layout, titles, social media and more.
58
+
59
+ ## Theme
60
+
61
+ You can easily change the theme colors by changing the file `src/yml/theme.yml`, then running `gulp build` in your terminal.
62
+
63
+ ### GitHub pages
64
+
65
+ It's a known issue that you can't run Gulp when deploying the website into GitHub pages. So, you must change the theme colors and run `gulp build` locally, then push the changes into your repo, there is no other way.
66
+
67
+ To see how your website is going to look like when you deploy it, run `bundle exec jekyll serve` locally and access `http://127.0.0.1:4000/`.
68
+
69
+ ## Posts
70
+
71
+ You can create posts manually using the [Front Matter properties](https://github.com/thiagorossener/jekflix-template/wiki/post#front-matter-properties) or automatically using the available [script](https://github.com/thiagorossener/jekflix-template/wiki/post#creating-a-post).
72
+
73
+ ## Release notes
74
+
75
+ ### v3.0.0
76
+
77
+ - Created theme `gem`
78
+ - Enabled text translations
79
+ - Added heading anchor links
80
+ - Changed code highlight colors
81
+ - Changed from Stylus to SASS
82
+
83
+ ### v2.0.1
84
+ - Fixed bugs
85
+ - Optimized to support disabled JS
86
+
87
+ ### v2.0.0
88
+ - Added optional [sidebar](https://github.com/thiagorossener/jekflix-template/wiki/Features#posts-sidebar)
89
+ - Added optional [Featured post](https://github.com/thiagorossener/jekflix-template/wiki/features#featured-post)
90
+ - Added optional ["Before you go" modal](https://github.com/thiagorossener/jekflix-template/wiki/features#before-you-go-modal)
91
+ - Added optional [post pagination](https://github.com/thiagorossener/jekflix-template/wiki/features#paginated-posts)
92
+ - Added [post recommendation](https://github.com/thiagorossener/jekflix-template/wiki/features#post-recommendation)
93
+ - Added meta keywords to improve SEO
94
+ - Added JSON-LD to improve SEO
95
+ - Changed pagination to be [optional](https://github.com/thiagorossener/jekflix-template/wiki/features#home-page-pagination)
96
+ - Improved [Tags page](https://github.com/thiagorossener/jekflix-template/wiki/features#tags-page)
97
+ - Cleaned up and improved [Front Matter properties](https://github.com/thiagorossener/jekflix-template/wiki/post#front-matter-properties)
98
+ - Set up [Netlify CMS](https://github.com/thiagorossener/jekflix-template/wiki/features#netlify-cms-ready)
99
+ - Improved customization settings
100
+ - Minor design updates
101
+
102
+ ### v1.0.1
103
+ - Fixed bugs
104
+ - Upgraded to Gulp 4
105
+
106
+ ### v1.0.0
107
+ - Initial release
108
+
109
+ ## Questions?
110
+
111
+ File a [GitHub issue](https://github.com/thiagorossener/jekflix-template/issues/new) please.
112
+
113
+ ## Donation
114
+
115
+ Did you like my work? Buy me a beer 😁🍺
116
+
117
+ [![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=SAKL66RSDGH48&source=url)
118
+
119
+ ## Author
120
+
121
+ [Thiago Rossener](https://rossener.com/)
122
+
123
+ ## License
124
+
125
+ *Jekflix Template* is available under the MIT license. See the [LICENSE](https://github.com/thiagorossener/jekflix-template/blob/master/LICENSE) file for more info.
@@ -0,0 +1,87 @@
1
+ {% assign author = site.authors | where: "name", page.author | first %}
2
+ {% if author %}
3
+ <section class="author">
4
+ <div class="details">
5
+ {% if author.photo %}
6
+ <img class="img-rounded" src="{{ author.photo }}" alt="{{ author.display_name }}">
7
+ {% else %}
8
+ <img class="img-rounded" src="/assets/img/user.jpg" alt="{{ author.display_name }}">
9
+ {% endif %}
10
+ <p class="def">{{ site.translations.text.author | default: "Author" }}</p>
11
+ <h3 class="name">
12
+ <a href="{{ author.url }}">{{ author.display_name }}</a>
13
+ </h3>
14
+ <p class="desc">{{ author.bio }}</p>
15
+ <p>
16
+ {% if author.github_username %}
17
+ <a href="https://github.com/{{ author.github_username }}" title="Github">
18
+ <svg><use xlink:href="#icon-github"></use></svg>
19
+ </a>
20
+ {% endif %}
21
+ {% if author.facebook_username %}
22
+ <a href="https://www.facebook.com/{{ author.facebook_username }}" title="Facebook">
23
+ <svg><use xlink:href="#icon-facebook"></use></svg>
24
+ </a>
25
+ {% endif %}
26
+ {% if author.twitter_username %}
27
+ <a href="https://twitter.com/{{ author.twitter_username }}" title="Twitter">
28
+ <svg><use xlink:href="#icon-twitter"></use></svg>
29
+ </a>
30
+ {% endif %}
31
+ {% if author.medium_username %}
32
+ <a href="https://medium.com/@{{ author.medium_username }}" title="Medium">
33
+ <svg><use xlink:href="#icon-medium"></use></svg>
34
+ </a>
35
+ {% endif %}
36
+ {% if author.instagram_username %}
37
+ <a href="https://www.instagram.com/{{ author.instagram_username }}" title="Instagram">
38
+ <svg><use xlink:href="#icon-instagram"></use></svg>
39
+ </a>
40
+ {% endif %}
41
+ {% if author.linkedin_username %}
42
+ <a href="https://www.linkedin.com/in/{{ author.linkedin_username }}" title="LinkedIn">
43
+ <svg><use xlink:href="#icon-linkedin"></use></svg>
44
+ </a>
45
+ {% endif %}
46
+ </p>
47
+ </div>
48
+ </section>
49
+
50
+ {% assign author_urls = '' %}
51
+ {% if author.github_username %}
52
+ {% assign author_urls = author_urls | append: '"https://github.com/' | append: author.github_username | append: '",' %}
53
+ {% endif %}
54
+ {% if author.facebook_username %}
55
+ {% assign author_urls = author_urls | append: '"https://www.facebook.com/' | append: author.facebook_username | append: '",' %}
56
+ {% endif %}
57
+ {% if author.twitter_username %}
58
+ {% assign author_urls = author_urls | append: '"https://twitter.com/' | append: author.twitter_username | append: '",' %}
59
+ {% endif %}
60
+ {% if author.medium_username %}
61
+ {% assign author_urls = author_urls | append: '"https://medium.com/@' | append: author.medium_username | append: '",' %}
62
+ {% endif %}
63
+ {% if author.instagram_username %}
64
+ {% assign author_urls = author_urls | append: '"https://www.instagram.com/' | append: author.instagram_username | append: '",' %}
65
+ {% endif %}
66
+ {% if author.linkedin_username %}
67
+ {% assign author_urls = author_urls | append: '"https://www.linkedin.com/in/' | append: author.linkedin_username | append: '",' %}
68
+ {% endif %}
69
+
70
+ <script type="application/ld+json">
71
+ {
72
+ "@context": "http://schema.org",
73
+ "@type": "Person",
74
+ "name": "{{ author.display_name }}",
75
+ {% if author.photo %}
76
+ "image": "{{ author.photo }}",
77
+ {% else %}
78
+ "image": {{ "/assets/img/user.jpg" | prepend: site.baseurl | prepend: site.url }},
79
+ {% endif %}
80
+ "jobTitle": "{{ author.position }}",
81
+ "url": "{{ author.url | prepend: site.baseurl | prepend: site.url }}",
82
+ "sameAs": [
83
+ {{ author_urls | split: "," | join: "," }}
84
+ ]
85
+ }
86
+ </script>
87
+ {% endif %}
@@ -0,0 +1,30 @@
1
+ {% if site.disqus_username %}
2
+
3
+ <section class="comments">
4
+ <h3>{{ site.translations.text.comments | default: "Comments" }}</h3>
5
+ <div id="disqus_thread"></div>
6
+ </section>
7
+ <script type="text/javascript">
8
+ var disqus_loaded = false;
9
+
10
+ function load_disqus()
11
+ {
12
+ disqus_loaded = true;
13
+ var disqus_shortname = '{{site.disqus_username}}';
14
+ var disqus_title = '{{page.title.replace("'", "\\'")}}';
15
+ var disqus_url = '{{page.url}}';
16
+ var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
17
+ dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
18
+ (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
19
+ var ldr = document.getElementById('disqus_loader');
20
+ };
21
+ window.onscroll = function(e) {
22
+ if ((window.innerHeight + window.scrollY) >= (document.body.offsetHeight - 800)) {
23
+ //hit bottom of page
24
+ if (disqus_loaded==false)
25
+ load_disqus()
26
+ }
27
+ };
28
+ </script>
29
+
30
+ {% endif %}
@@ -0,0 +1,4 @@
1
+ {% assign months = "January,February,March,April,May,June,July,August,September,October,November,December" | split: "," %}
2
+ {% assign month_number = include.date | date: "%-m" | minus: 1 %}
3
+
4
+ {{ months[month_number] }} {{ include.date | date: "%-d" }}, {{ include.date | date: "%Y" }}
File without changes
File without changes
@@ -0,0 +1,91 @@
1
+ <footer>
2
+ <p>
3
+ {% if site.github_username %}
4
+ <a href="https://github.com/{{ site.github_username }}" title="Github">
5
+ <svg><use xlink:href="#icon-github"></use></svg>
6
+ </a>
7
+ {% endif %}
8
+ {% if site.facebook_username %}
9
+ <a href="https://www.facebook.com/{{ site.facebook_username }}" title="Facebook">
10
+ <svg><use xlink:href="#icon-facebook"></use></svg>
11
+ </a>
12
+ {% endif %}
13
+ {% if site.twitter_username %}
14
+ <a href="https://twitter.com/{{ site.twitter_username }}" title="Twitter">
15
+ <svg><use xlink:href="#icon-twitter"></use></svg>
16
+ </a>
17
+ {% endif %}
18
+ {% if site.medium_username %}
19
+ <a href="https://medium.com/@{{ site.medium_username }}" title="Medium">
20
+ <svg><use xlink:href="#icon-medium"></use></svg>
21
+ </a>
22
+ {% endif %}
23
+ {% if site.instagram_username %}
24
+ <a href="https://www.instagram.com/{{ site.instagram_username }}" title="Instagram">
25
+ <svg><use xlink:href="#icon-instagram"></use></svg>
26
+ </a>
27
+ {% endif %}
28
+ {% if site.linkedin_username %}
29
+ <a href="https://www.linkedin.com/in/{{ site.linkedin_username }}" title="LinkedIn">
30
+ <svg><use xlink:href="#icon-linkedin"></use></svg>
31
+ </a>
32
+ {% endif %}
33
+ </p>
34
+
35
+ {% include links.html %}
36
+
37
+ <p>
38
+ <span>Jekflix</span> was made with <svg class="love"><use xlink:href="#icon-heart"></use></svg> by <a href="https://rossener.com" target="_blank" class="creator">Thiago Rossener</a>
39
+ </p>
40
+ </footer>
41
+
42
+ {% assign social_urls = '' %}
43
+ {% if site.github_username %}
44
+ {% assign social_urls = social_urls | append: '"https://github.com/' | append: site.github_username | append: '",' %}
45
+ {% endif %}
46
+ {% if site.facebook_username %}
47
+ {% assign social_urls = social_urls | append: '"https://www.facebook.com/' | append: site.facebook_username | append: '",' %}
48
+ {% endif %}
49
+ {% if site.twitter_username %}
50
+ {% assign social_urls = social_urls | append: '"https://twitter.com/' | append: site.twitter_username | append: '",' %}
51
+ {% endif %}
52
+ {% if site.medium_username %}
53
+ {% assign social_urls = social_urls | append: '"https://medium.com/@' | append: site.medium_username | append: '",' %}
54
+ {% endif %}
55
+ {% if site.instagram_username %}
56
+ {% assign social_urls = social_urls | append: '"https://www.instagram.com/' | append: site.instagram_username | append: '",' %}
57
+ {% endif %}
58
+ {% if site.linkedin_username %}
59
+ {% assign social_urls = social_urls | append: '"https://www.linkedin.com/in/' | append: site.linkedin_username | append: '",' %}
60
+ {% endif %}
61
+
62
+ <script type="application/ld+json">
63
+ {
64
+ "@context": "http://schema.org",
65
+ "@type": "Organization",
66
+ "name": "{{ site.name }}",
67
+ "description": "{{ site.description }}",
68
+ "url": "{{ site.url }}{{site.baseurl}}/",
69
+ "logo": {
70
+ "@type": "ImageObject",
71
+ "url": "{{ site.url }}{{site.baseurl}}/assets/img/icons/mediumtile.png",
72
+ "width": "600",
73
+ "height": "315"
74
+ },
75
+ "sameAs": [
76
+ {{ social_urls | split: "," | join: "," }}
77
+ ]
78
+ }
79
+ </script>
80
+
81
+ <!-- Include the script that allows Netlify CMS login -->
82
+ <script src="https://identity.netlify.com/v1/netlify-identity-widget.js"></script>
83
+
84
+ <!-- Include the website scripts -->
85
+ <script src="{{ '/assets/js/scripts.min.js' | prepend: site.baseurl }}"></script>
86
+
87
+ <!-- Include Google Analytics script -->
88
+ {% include stats.html %}
89
+
90
+ <!-- Include extra scripts -->
91
+ {% include extra-js.html %}
@@ -0,0 +1,97 @@
1
+ <head>
2
+ <meta charset="utf-8">
3
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
4
+ <meta name="viewport" content="width=device-width, initial-scale=1">
5
+
6
+ {% assign title = '' %}
7
+ {% if page.layout == 'author' %}
8
+ {% assign title = page.display_name %}
9
+ {% elsif page.title %}
10
+ {% assign title = page.title | append: " | " | append: site.name %}
11
+ {% else %}
12
+ {% assign title = site.title %}
13
+ {% endif %}
14
+
15
+ {% assign image = '' %}
16
+ {% if page.image %}
17
+ {% assign image = page.image %}
18
+ {% else %}
19
+ {% assign image = "/assets/img/blog-image.png" | prepend: site.baseurl | prepend: site.url %}
20
+ {% endif %}
21
+
22
+ {% assign description = '' %}
23
+ {% if page.description %}
24
+ {% assign description = page.description | strip_html | strip_newlines | truncate: 160 %}
25
+ {% else %}
26
+ {% assign description = site.description %}
27
+ {% endif %}
28
+
29
+ {% assign url = '' %}
30
+ {% if paginator.page_trail %}
31
+ {% assign url = paginator.first_page_path | replace:'index.html','' | prepend: site.baseurl | prepend: site.url %}
32
+ {% else %}
33
+ {% assign url = page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url %}
34
+ {% endif %}
35
+
36
+ <title>{{ title }}</title>
37
+ <meta name="description" content="{{ description }}">
38
+ {% if page.tags %}
39
+ <meta name="keywords" content="{{ page.tags | join: ', ' }}">
40
+ {% endif %}
41
+
42
+ <!-- Social: Twitter -->
43
+ <meta name="twitter:card" content="summary_large_image">
44
+ <meta name="twitter:title" content="{{ title }}">
45
+ <meta name="twitter:description" content="{{ description }}">
46
+ <meta property="twitter:image:src" content="{{ image }}">
47
+ {% if site.twitter_username %}
48
+ <meta name="twitter:site" content="@{{ site.twitter_username }}">
49
+ {% endif %}
50
+
51
+ <!-- Social: Facebook / Open Graph -->
52
+ <meta property="og:url" content="{{ url }}">
53
+ <meta property="og:title" content="{{ title }}">
54
+ <meta property="og:image" content="{{ image }}">
55
+ <meta property="og:description" content="{{ description }}">
56
+ <meta property="og:site_name" content="{{ site.title }}">
57
+
58
+ <!-- Favicon -->
59
+ <link rel="shortcut icon" href="{{ site.baseurl }}/favicon.ico" type="image/x-icon" />
60
+
61
+ <!-- Apple Touch Icons -->
62
+ <link rel="apple-touch-icon" href="{{ site.baseurl }}/assets/img/icons/apple-touch-icon.png" />
63
+ <link rel="apple-touch-icon" sizes="57x57" href="/assets/img/icons/apple-touch-icon-57x57.png" />
64
+ <link rel="apple-touch-icon" sizes="72x72" href="/assets/img/icons/apple-touch-icon-72x72.png" />
65
+ <link rel="apple-touch-icon" sizes="114x114" href="/assets/img/icons/apple-touch-icon-114x114.png" />
66
+ <link rel="apple-touch-icon" sizes="144x144" href="/assets/img/icons/apple-touch-icon-144x144.png" />
67
+ <link rel="apple-touch-icon" sizes="60x60" href="/assets/img/icons/apple-touch-icon-60x60.png" />
68
+ <link rel="apple-touch-icon" sizes="120x120" href="/assets/img/icons/apple-touch-icon-120x120.png" />
69
+ <link rel="apple-touch-icon" sizes="76x76" href="/assets/img/icons/apple-touch-icon-76x76.png" />
70
+ <link rel="apple-touch-icon" sizes="152x152" href="/assets/img/icons/apple-touch-icon-152x152.png" />
71
+
72
+ <!-- Windows 8 Tile Icons -->
73
+ <meta name="application-name" content="{{ site.name }}">
74
+ <meta name="msapplication-TileColor" content="#141414">
75
+ <meta name="msapplication-square70x70logo" content="smalltile.png" />
76
+ <meta name="msapplication-square150x150logo" content="mediumtile.png" />
77
+ <meta name="msapplication-wide310x150logo" content="widetile.png" />
78
+ <meta name="msapplication-square310x310logo" content="largetile.png" />
79
+
80
+ <!-- Android Lolipop Theme Color -->
81
+ <meta name="theme-color" content="#141414">
82
+
83
+ <!-- Fonts -->
84
+ <link href="https://fonts.googleapis.com/css?family=Titillium+Web:300,400,700" rel="stylesheet">
85
+
86
+ <link rel="stylesheet" href="{{ '/assets/css/styles.css' | prepend: site.baseurl }}">
87
+ <link rel="canonical" href="{{ url }}">
88
+ <link rel="alternate" type="application/rss+xml" title="{{ site.title }}" href="{{ '/feed.xml' | prepend: site.baseurl | prepend: site.url }}" />
89
+
90
+ <!-- Include extra styles -->
91
+ {% include extra-css.html %}
92
+
93
+ <!-- JavaScript enabled/disabled -->
94
+ <script>
95
+ document.querySelector('html').classList.remove('no-js');
96
+ </script>
97
+ </head>
@@ -0,0 +1,27 @@
1
+ <header class="bar-header">
2
+ <a id="menu" role="button">
3
+ <svg id="open" class="icon-menu"><use xlink:href="#icon-menu"></use></svg>
4
+ </a>
5
+ <h1 class="logo">
6
+ <a href="{{ site.baseurl }}/">
7
+ {% if site.use_logo %}
8
+ {% include logo.html %}
9
+ {% else %}
10
+ {{ site.name }} <span class="version">{{ site.version }}</span>
11
+ {% endif %}
12
+ </a>
13
+ </h1>
14
+ <a id="search" class="dosearch" role="button">
15
+ <svg class="icon-search"><use xlink:href="#icon-search"></use></svg>
16
+ </a>
17
+ {% if site.show_get_theme_btn %}
18
+ <a href="https://github.com/thiagorossener/jekflix-template" class="get-theme" role="button">
19
+ Get this theme!
20
+ </a>
21
+ {% endif %}
22
+ </header>
23
+
24
+ <div id="mask" class="overlay"></div>
25
+
26
+ {% include menu.html %}
27
+ {% include search.html %}
@@ -0,0 +1,9 @@
1
+ <ul>
2
+ {% for item in site.menu %}
3
+ {% if item.title and item.url %}
4
+ <li>
5
+ <a href="{{ site.url }}{{ site.baseurl }}{{ item.url }}">{{ item.title }}</a>
6
+ </li>
7
+ {% endif %}
8
+ {% endfor %}
9
+ </ul>
@@ -0,0 +1,31 @@
1
+ <svg width="50" height="50" viewBox="0 0 38 38" xmlns="http://www.w3.org/2000/svg" class="loader">
2
+ <defs>
3
+ <linearGradient x1="0%" y1="100%" x2="100%" y2="100%" id="a">
4
+ <stop stop-color="currentColor" stop-opacity="0" offset="0%"/>
5
+ <stop stop-color="currentColor" stop-opacity=".631" offset="63.146%"/>
6
+ <stop stop-color="currentColor" offset="100%"/>
7
+ </linearGradient>
8
+ </defs>
9
+ <g fill="none" fill-rule="evenodd">
10
+ <g transform="translate(1 1)">
11
+ <path d="M0,18.0000525 C0,27.9411416 8.05885836,36 18.0000525,36 C27.9411416,36 36,27.9411416 36,18.0000525" id="Oval-2" stroke="url(#a)" stroke-width="2">
12
+ <animateTransform
13
+ attributeName="transform"
14
+ type="rotate"
15
+ from="360 18 18"
16
+ to="0 18 18"
17
+ dur="1.9s"
18
+ repeatCount="indefinite" />
19
+ </path>
20
+ <circle fill="currentColor" cx="36" cy="18" r="1">
21
+ <animateTransform
22
+ attributeName="transform"
23
+ type="rotate"
24
+ from="360 18 18"
25
+ to="0 18 18"
26
+ dur="1.9s"
27
+ repeatCount="indefinite" />
28
+ </circle>
29
+ </g>
30
+ </g>
31
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 279 41">
2
+ <path fill="currentColor" d="M13.62,32 L16.02,32 L16.02,41 L0.24,41 L0.24,32 L2.64,32 L2.64,9.98 L0.24,9.98 L0.24,0.98 L25.02,0.98 L31.38,7.4 L31.38,17.66 L28.74,20.3 L31.38,22.88 L31.38,32 L33.78,32 L33.78,41 L20.4,41 L20.4,26.12 L19.14,24.8 L13.62,24.8 L13.62,32 Z M13.62,15.8 L19.14,15.8 L20.4,14.48 L20.4,11.3 L19.14,9.98 L13.62,9.98 L13.62,15.8 Z M37.08,7.4 L43.5,0.98 L61.08,0.98 L67.5,7.4 L67.5,34.58 L61.08,41 L43.5,41 L37.08,34.58 L37.08,7.4 Z M56.52,11.3 L55.2,9.98 L49.38,9.98 L48.06,11.3 L48.06,30.68 L49.38,32 L55.2,32 L56.52,30.68 L56.52,11.3 Z M89.04,25.58 L77.34,25.58 L70.86,19.22 L70.86,7.4 L77.28,0.98 L94.86,0.98 L101.28,7.4 L101.28,15.32 L90.3,15.32 L90.3,11.3 L88.98,9.98 L83.16,9.98 L81.84,11.3 L81.84,15.32 L83.16,16.58 L94.86,16.58 L101.28,23 L101.28,34.58 L94.86,41 L77.28,41 L70.86,34.58 L70.86,26.9 L81.84,26.9 L81.84,30.68 L83.16,32 L88.98,32 L90.3,30.68 L90.3,26.9 L89.04,25.58 Z M122.82,25.58 L111.12,25.58 L104.64,19.22 L104.64,7.4 L111.06,0.98 L128.64,0.98 L135.06,7.4 L135.06,15.32 L124.08,15.32 L124.08,11.3 L122.76,9.98 L116.94,9.98 L115.62,11.3 L115.62,15.32 L116.94,16.58 L128.64,16.58 L135.06,23 L135.06,34.58 L128.64,41 L111.06,41 L104.64,34.58 L104.64,26.9 L115.62,26.9 L115.62,30.68 L116.94,32 L122.76,32 L124.08,30.68 L124.08,26.9 L122.82,25.58 Z M151.8,32 L158.82,32 L158.82,30.38 L167.82,30.38 L167.82,41 L138.42,41 L138.42,32 L140.82,32 L140.82,9.98 L138.42,9.98 L138.42,0.98 L167.82,0.98 L167.82,11.6 L158.82,11.6 L158.82,9.98 L151.8,9.98 L151.8,16.52 L153.42,16.52 L153.42,14.9 L162.42,14.9 L162.42,27.14 L153.42,27.14 L153.42,25.52 L151.8,25.52 L151.8,32 Z M195.36,41 L184.56,23.12 L184.56,32 L186.96,32 L186.96,41 L171.18,41 L171.18,32 L173.58,32 L173.58,9.98 L171.18,9.98 L171.18,0.98 L184.2,0.98 L195.18,19.28 L195.18,9.98 L192.78,9.98 L192.78,0.98 L208.56,0.98 L208.56,9.98 L206.16,9.98 L206.16,32 L208.56,32 L208.56,41 L195.36,41 Z M225.3,32 L232.32,32 L232.32,30.38 L241.32,30.38 L241.32,41 L211.92,41 L211.92,32 L214.32,32 L214.32,9.98 L211.92,9.98 L211.92,0.98 L241.32,0.98 L241.32,11.6 L232.32,11.6 L232.32,9.98 L225.3,9.98 L225.3,16.52 L226.92,16.52 L226.92,14.9 L235.92,14.9 L235.92,27.14 L226.92,27.14 L226.92,25.52 L225.3,25.52 L225.3,32 Z M258.06,32 L260.46,32 L260.46,41 L244.68,41 L244.68,32 L247.08,32 L247.08,9.98 L244.68,9.98 L244.68,0.98 L269.46,0.98 L275.82,7.4 L275.82,17.66 L273.18,20.3 L275.82,22.88 L275.82,32 L278.22,32 L278.22,41 L264.84,41 L264.84,26.12 L263.58,24.8 L258.06,24.8 L258.06,32 Z M258.06,15.8 L263.58,15.8 L264.84,14.48 L264.84,11.3 L263.58,9.98 L258.06,9.98 L258.06,15.8 Z"></path>
3
+ </svg>
@@ -0,0 +1,6 @@
1
+ <aside class="sidebar" id="sidebar">
2
+ <nav id="navigation">
3
+ <h2>Menu</h2>
4
+ {% include links.html %}
5
+ </nav>
6
+ </aside>
@@ -0,0 +1,9 @@
1
+ {% assign words = content | number_of_words %}
2
+
3
+ {% if words < 360 %}
4
+ {% assign totalMinutes = 1 %}
5
+ {% else %}
6
+ {% assign totalMinutes = words | divided_by:180 %}
7
+ {% endif %}
8
+
9
+ {% assign minutesText = totalMinutes | append: ' min to read' %}
@@ -0,0 +1,35 @@
1
+ <div class="modal{% if include.showOnExit %} exit{% endif %}{% if include.closed %} closed{% endif %}">
2
+ <div class="window">
3
+ <svg class="close">
4
+ <use xlink:href="#icon-close"></use>
5
+ </svg>
6
+ <div class="header">
7
+ <h2>{{ include.title }}</h2>
8
+ <p>{{ include.subtitle }}</p>
9
+ </div>
10
+ <div class="content">
11
+ <ul>
12
+ {% assign next_posts = site.posts | where_exp:"post","post.is_generated != true" | where_exp:"post","post.path != page.path" %}
13
+ {% assign shuffled_array = next_posts | shuffle %}
14
+ {% for post in shuffled_array limit:2 %}
15
+ <li>
16
+ <a href="{{ post.url | prepend: site.baseurl }}">
17
+ <figure>
18
+ {% if post.optimized_image %}
19
+ <img src="{{ post.optimized_image }}">
20
+ {% elsif post.image %}
21
+ <img src="{{ post.image }}">
22
+ {% else %}
23
+ <img src="/assets/img/off.jpg">
24
+ {% endif %}
25
+ </figure>
26
+ <h3>{{ post.title }}</h3>
27
+ <p>{{ post.description }}</p>
28
+ </a>
29
+ </li>
30
+ {% endfor %}
31
+ </ul>
32
+ </div>
33
+ </div>
34
+ <div class="mask"></div>
35
+ </div>
@@ -0,0 +1,6 @@
1
+ {% capture weekago %}{{ "now" | date: "%s" | minus: 604800 }}{% endcapture %}
2
+ {% capture posttime %}{{ include.date | date: "%s" }}{% endcapture %}
3
+ {% if posttime > weekago %}
4
+ <div class="new-post-tag">{{ site.translations.text.new_post | default: "New Post" }}</div>
5
+ {% endif %}
6
+
@@ -0,0 +1,14 @@
1
+ <!-- Pagination links -->
2
+ <div class="pagination pagination-home">
3
+ {% if paginator.previous_page %}
4
+ <a href="{{ paginator.previous_page_path }}" class="previous" onclick="ga('send', 'event', 'pagination', 'click', 'page previous')">
5
+ <svg><use xlink:href="#icon-arrow-right"></use></svg>
6
+ </a>
7
+ {% endif %}
8
+ <span class="page_number ">{{ site.translations.pagination.page | default: "Page" }} {{ paginator.page }} {{ site.translations.pagination.of | default: "of" }} {{ paginator.total_pages }}</span>
9
+ {% if paginator.next_page %}
10
+ <a href="{{ paginator.next_page_path }}" class="next" onclick="ga('send', 'event', 'pagination', 'click', 'page next')">
11
+ <svg><use xlink:href="#icon-arrow-right"></use></svg>
12
+ </a>
13
+ {% endif %}
14
+ </div>