jasper2 0.1.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 (104) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +113 -0
  4. data/_data/authors.yml +76 -0
  5. data/_data/tags.yml +16 -0
  6. data/_includes/analytics.html +11 -0
  7. data/_includes/author_pagination.html +13 -0
  8. data/_includes/dynamic_tag_info.html +8 -0
  9. data/_includes/dynamic_title.html +16 -0
  10. data/_includes/facebook.html +1 -0
  11. data/_includes/floating-header.html +28 -0
  12. data/_includes/ghost-logo.html +1 -0
  13. data/_includes/head.html +69 -0
  14. data/_includes/infinity.html +1 -0
  15. data/_includes/location.html +1 -0
  16. data/_includes/navigation.html +6 -0
  17. data/_includes/page-scripts.html +6 -0
  18. data/_includes/point.html +3 -0
  19. data/_includes/post-card-error.html +59 -0
  20. data/_includes/post-card-next.html +53 -0
  21. data/_includes/post-card-previous.html +53 -0
  22. data/_includes/post-card.html +55 -0
  23. data/_includes/post-scripts.html +63 -0
  24. data/_includes/post_pagination.html +13 -0
  25. data/_includes/rss.html +1 -0
  26. data/_includes/site-nav.html +27 -0
  27. data/_includes/subscribe-form.html +9 -0
  28. data/_includes/tag_pagination.html +13 -0
  29. data/_includes/twitter.html +1 -0
  30. data/_includes/website.html +1 -0
  31. data/_layouts/author.html +64 -0
  32. data/_layouts/default.html +139 -0
  33. data/_layouts/error.html +1 -0
  34. data/_layouts/feed.xml +113 -0
  35. data/_layouts/page.html +48 -0
  36. data/_layouts/post.html +196 -0
  37. data/_layouts/tag.html +42 -0
  38. data/_plugins/jekyll-autgenerator.rb +76 -0
  39. data/_plugins/jekyll-capitalize-all.rb +11 -0
  40. data/_plugins/jekyll-tagsgenerator.rb +70 -0
  41. data/_posts/1863-11-19-gettysburg-address.md +18 -0
  42. data/_posts/1865-11-26-down-the-rabbit-hole.md +62 -0
  43. data/_posts/1871-03-18-looking-glass-house.md +41 -0
  44. data/_posts/1912-07-24-out-to-sea.md +88 -0
  45. data/_posts/1948-12-12-the-purpose-of-education.md +26 -0
  46. data/_posts/1963-08-28-i-have-a-dream.md +103 -0
  47. data/_posts/2012-09-01-a-full-and-comprehensive-style-test.html +424 -0
  48. data/_posts/2014-08-12-the-businessman-and-fisherman.md +48 -0
  49. data/_posts/2017-07-27-advanced-markdown.html +57 -0
  50. data/_posts/2017-07-27-managing-users.html +24 -0
  51. data/_posts/2017-07-27-private-sites.html +19 -0
  52. data/_posts/2017-07-27-the-editor.html +55 -0
  53. data/_posts/2017-07-27-themes.html +30 -0
  54. data/_posts/2017-07-27-using-tags.html +41 -0
  55. data/_posts/2017-07-27-welcome.md +28 -0
  56. data/about/index.md +17 -0
  57. data/assets/built/global.css +2 -0
  58. data/assets/built/global.css.map +1 -0
  59. data/assets/built/screen.css +2 -0
  60. data/assets/built/screen.css.map +1 -0
  61. data/assets/built/screen.edited.css +2 -0
  62. data/assets/built/screen.edited.css.map +1 -0
  63. data/assets/built/syntax.css +2 -0
  64. data/assets/built/syntax.css.map +1 -0
  65. data/assets/css/.csscomb.json +237 -0
  66. data/assets/css/csscomb.json +240 -0
  67. data/assets/css/global.css +491 -0
  68. data/assets/css/screen.css +1928 -0
  69. data/assets/css/screen.edited.css +152 -0
  70. data/assets/css/syntax.css +66 -0
  71. data/assets/images/abraham.jpg +0 -0
  72. data/assets/images/advanced.jpg +0 -0
  73. data/assets/images/bear.jpg +0 -0
  74. data/assets/images/blog-cover.jpg +0 -0
  75. data/assets/images/blog-icon.png +0 -0
  76. data/assets/images/bus.jpg +0 -0
  77. data/assets/images/design.jpg +0 -0
  78. data/assets/images/edgar.gif +0 -0
  79. data/assets/images/fables.jpg +0 -0
  80. data/assets/images/favicon.png +0 -0
  81. data/assets/images/ghost-logo.svg +1 -0
  82. data/assets/images/ghost.png +0 -0
  83. data/assets/images/grapes.jpg +0 -0
  84. data/assets/images/hannah-cover.jpg +0 -0
  85. data/assets/images/hannah.jpg +0 -0
  86. data/assets/images/john.jpg +0 -0
  87. data/assets/images/lewis.jpeg +0 -0
  88. data/assets/images/locked.jpg +0 -0
  89. data/assets/images/martin.jpg +0 -0
  90. data/assets/images/piano.jpg +0 -0
  91. data/assets/images/sky.jpg +0 -0
  92. data/assets/images/speeches.jpg +0 -0
  93. data/assets/images/summit.jpg +0 -0
  94. data/assets/images/tags.jpg +0 -0
  95. data/assets/images/team.jpg +0 -0
  96. data/assets/images/water.jpg +0 -0
  97. data/assets/images/waves.jpg +0 -0
  98. data/assets/images/welcome.jpg +0 -0
  99. data/assets/images/writing.jpg +0 -0
  100. data/assets/js/infinitescroll.js +83 -0
  101. data/assets/js/jquery.fitvids.js +89 -0
  102. data/assets/screenshot-desktop.jpg +0 -0
  103. data/assets/screenshot-mobile.jpg +0 -0
  104. metadata +222 -0
@@ -0,0 +1,53 @@
1
+ {% assign words_per_minute = site.words_per_minute | default: 200 %}
2
+
3
+ <article class="post-card {{ page.next.class }}{% unless page.next.cover %} no-image{% endunless %}">
4
+ {% if page.next.cover %}
5
+ <a class="post-card-image-link" href="{{ site.baseurl }}{{ page.next.url | remove_first: '/' }}">
6
+ <div class="post-card-image" style="background-image: url({{ site.baseurl }}{{ page.next.cover }})"></div>
7
+ </a>
8
+ {% endif %}
9
+ <div class="post-card-content">
10
+ <a class="post-card-content-link" href="{{ site.baseurl }}{{ page.next.url | remove_first: '/' }}">
11
+ <header class="post-card-header">
12
+ {% if page.next.tags.size > 0 %}
13
+ {% for tag in page.next.tags %}
14
+ {% if forloop.index == page.next.tags.size %}
15
+ <span class="post-card-tags">{{ tag | capitalize }}</span>
16
+ {% else %}
17
+ <span class="post-card-tags">{{ tag | capitalize }}</span>
18
+ {% endif %}
19
+ {% endfor %}
20
+ {% endif %}
21
+
22
+ <h2 class="post-card-title">{{ page.next.title }}</h2>
23
+ </header>
24
+ <section class="post-card-excerpt">
25
+ {% if page.next.excerpt %}
26
+ <p>{{ page.next.excerpt | strip_html | truncatewords: 33, "" }}</p>
27
+ {% else %}
28
+ <p>{{ page.next.content | strip_html | truncatewords: 33, "" }}</p>
29
+ {% endif %}
30
+ </section>
31
+ </a>
32
+ <footer class="post-card-meta">
33
+ {% for author in site.data.authors %}
34
+ {% if author[1].username == page.next.author %}
35
+ {% if author[1].picture %}
36
+ <img class="author-profile-image" src="{{ site.baseurl }}{{ author[1].picture }}" alt="{{ author[1].name }}" />
37
+ {% endif %}
38
+ <span class="post-card-author">
39
+ <a href="{{ site.baseurl }}author/{{ page.next.author }}/">{{ author[1].name }}</a>
40
+ </span>
41
+ {% endif %}
42
+ {% endfor %}
43
+ <span class="reading-time">
44
+ {% assign words = page.next.content | strip_html | number_of_words %}
45
+ {% if words <= words_per_minute %}
46
+ 1 min read
47
+ {% else %}
48
+ {{ words | divided_by:words_per_minute }} min read
49
+ {% endif %}
50
+ </span>
51
+ </footer>
52
+ </div>
53
+ </article>
@@ -0,0 +1,53 @@
1
+ {% assign words_per_minute = site.words_per_minute | default: 200 %}
2
+
3
+ <article class="post-card {{ page.previous.class }}{% unless page.previous.cover %} no-image{% endunless %}">
4
+ {% if page.previous.cover %}
5
+ <a class="post-card-image-link" href="{{ site.baseurl }}{{ page.previous.url | remove_first: '/' }}">
6
+ <div class="post-card-image" style="background-image: url({{ site.baseurl }}{{ page.previous.cover }})"></div>
7
+ </a>
8
+ {% endif %}
9
+ <div class="post-card-content">
10
+ <a class="post-card-content-link" href="{{ site.baseurl }}{{ page.previous.url | remove_first: '/' }}">
11
+ <header class="post-card-header">
12
+ {% if page.previous.tags.size > 0 %}
13
+ {% for tag in page.previous.tags %}
14
+ {% if forloop.index == page.previous.tags.size %}
15
+ <span class="post-card-tags">{{ tag | capitalize }}</span>
16
+ {% else %}
17
+ <span class="post-card-tags">{{ tag | capitalize }}</span>
18
+ {% endif %}
19
+ {% endfor %}
20
+ {% endif %}
21
+
22
+ <h2 class="post-card-title">{{ page.previous.title }}</h2>
23
+ </header>
24
+ <section class="post-card-excerpt">
25
+ {% if page.previous.excerpt %}
26
+ <p>{{ page.previous.excerpt | strip_html | truncatewords: 33, "" }}</p>
27
+ {% else %}
28
+ <p>{{ page.previous.content | strip_html | truncatewords: 33, "" }}</p>
29
+ {% endif %}
30
+ </section>
31
+ </a>
32
+ <footer class="post-card-meta">
33
+ {% for author in site.data.authors %}
34
+ {% if author[1].username == page.previous.author %}
35
+ {% if author[1].picture %}
36
+ <img class="author-profile-image" src="{{ site.baseurl }}{{ author[1].picture }}" alt="{{ author[1].name }}" />
37
+ {% endif %}
38
+ <span class="post-card-author">
39
+ <a href="{{ site.baseurl }}author/{{ page.previous.author }}/">{{ author[1].name }}</a>
40
+ </span>
41
+ {% endif %}
42
+ {% endfor %}
43
+ <span class="reading-time">
44
+ {% assign words = page.previous.content | strip_html | number_of_words %}
45
+ {% if words <= words_per_minute %}
46
+ 1 min read
47
+ {% else %}
48
+ {{ words | divided_by:words_per_minute }} min read
49
+ {% endif %}
50
+ </span>
51
+ </footer>
52
+ </div>
53
+ </article>
@@ -0,0 +1,55 @@
1
+ {% assign words_per_minute = site.words_per_minute | default: 200 %}
2
+
3
+ {% for post in paginator.posts %}
4
+ <article class="post-card {{ page.class }}{% unless post.cover %} no-image{% endunless %}">
5
+ {% if post.cover %}
6
+ <a class="post-card-image-link" href="{{ site.baseurl }}{{ post.url | remove_first: '/' }}">
7
+ <div class="post-card-image" style="background-image: url({{ site.baseurl }}{{ post.cover }})"></div>
8
+ </a>
9
+ {% endif %}
10
+ <div class="post-card-content">
11
+ <a class="post-card-content-link" href="{{ site.baseurl }}{{ post.url | remove_first: '/' }}">
12
+ <header class="post-card-header">
13
+ {% if post.tags.size > 0 %}
14
+ {% for tag in post.tags %}
15
+ {% if forloop.index == post.tags.size %}
16
+ <span class="post-card-tags">{{ tag | capitalize }}</span>
17
+ {% else %}
18
+ <span class="post-card-tags">{{ tag | capitalize }}</span>
19
+ {% endif %}
20
+ {% endfor %}
21
+ {% endif %}
22
+
23
+ <h2 class="post-card-title">{{ post.title }}</h2>
24
+ </header>
25
+ <section class="post-card-excerpt">
26
+ {% if post.excerpt %}
27
+ <p>{{ post.excerpt | strip_html | truncatewords: 33, "" }}</p>
28
+ {% else %}
29
+ <p>{{ post.content | strip_html | truncatewords: 33, "" }}</p>
30
+ {% endif %}
31
+ </section>
32
+ </a>
33
+ <footer class="post-card-meta">
34
+ {% for author in site.data.authors %}
35
+ {% if author[1].username == post.author %}
36
+ {% if author[1].picture %}
37
+ <img class="author-profile-image" src="{{ site.baseurl }}{{ author[1].picture }}" alt="{{ author[1].name }}" />
38
+ {% endif %}
39
+ <span class="post-card-author">
40
+ <a href="{{ site.baseurl }}author/{{ post.author }}/">{{ author[1].name }}</a>
41
+ </span>
42
+ {% endif %}
43
+ {% endfor %}
44
+ <span class="reading-time">
45
+ {% assign words = post.content | strip_html | number_of_words %}
46
+ {% if words <= words_per_minute %}
47
+ 1 min read
48
+ {% else %}
49
+ {{ words | divided_by:words_per_minute }} min read
50
+ {% endif %}
51
+ </span>
52
+ </footer>
53
+ </div>
54
+ </article>
55
+ {% endfor %}
@@ -0,0 +1,63 @@
1
+ <script>
2
+
3
+ // NOTE: Scroll performance is poor in Safari
4
+ // - this appears to be due to the events firing much more slowly in Safari.
5
+ // Dropping the scroll event and using only a raf loop results in smoother
6
+ // scrolling but continuous processing even when not scrolling
7
+ $(document).ready(function () {
8
+ // Start fitVids
9
+ var $postContent = $(".post-full-content");
10
+ $postContent.fitVids();
11
+ // End fitVids
12
+
13
+ var progressBar = document.querySelector('progress');
14
+ var header = document.querySelector('.floating-header');
15
+ var title = document.querySelector('.post-full-title');
16
+
17
+ var lastScrollY = window.scrollY;
18
+ var lastWindowHeight = window.innerHeight;
19
+ var lastDocumentHeight = $(document).height();
20
+ var ticking = false;
21
+
22
+ function onScroll() {
23
+ lastScrollY = window.scrollY;
24
+ requestTick();
25
+ }
26
+
27
+ function onResize() {
28
+ lastWindowHeight = window.innerHeight;
29
+ lastDocumentHeight = $(document).height();
30
+ requestTick();
31
+ }
32
+
33
+ function requestTick() {
34
+ if (!ticking) {
35
+ requestAnimationFrame(update);
36
+ }
37
+ ticking = true;
38
+ }
39
+
40
+ function update() {
41
+ var trigger = title.getBoundingClientRect().top + window.scrollY;
42
+ var triggerOffset = title.offsetHeight + 35;
43
+ var progressMax = lastDocumentHeight - lastWindowHeight;
44
+
45
+ // show/hide floating header
46
+ if (lastScrollY >= trigger + triggerOffset) {
47
+ header.classList.add('floating-active');
48
+ } else {
49
+ header.classList.remove('floating-active');
50
+ }
51
+
52
+ progressBar.setAttribute('max', progressMax);
53
+ progressBar.setAttribute('value', lastScrollY);
54
+
55
+ ticking = false;
56
+ }
57
+
58
+ window.addEventListener('scroll', onScroll, {passive: true});
59
+ window.addEventListener('resize', onResize, false);
60
+
61
+ update();
62
+ });
63
+ </script>
@@ -0,0 +1,13 @@
1
+ <nav class="pagination" role="pagination">
2
+ {% if paginator.previous_page %}
3
+ {% if paginator.previous_page == 1 %}
4
+ <a class="newer-posts" href="{{ site.baseurl }}" title="Previous Page">&laquo; Newer Posts</a>
5
+ {% else %}
6
+ <a class="newer-posts" href="{{ site.baseurl }}page{{ paginator.previous_page }}/" title="Previous Page">&laquo; Newer Posts</a>
7
+ {% endif %}
8
+ {% endif %}
9
+ <span class="page-number"> Page {{ paginator.page }} of {{ paginator.total_pages }} </span>
10
+ {% if paginator.next_page %}
11
+ <a class="older-posts" href="{{ site.baseurl }}page{{ paginator.next_page }}/" title="Next Page">Older Posts &raquo;</a>
12
+ {% endif %}
13
+ </nav>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><circle cx="6.18" cy="17.82" r="2.18"/><path d="M4 4.44v2.83c7.03 0 12.73 5.7 12.73 12.73h2.83c0-8.59-6.97-15.56-15.56-15.56zm0 5.66v2.83c3.9 0 7.07 3.17 7.07 7.07h2.83c0-5.47-4.43-9.9-9.9-9.9z"/></svg>
@@ -0,0 +1,27 @@
1
+ <nav class="site-nav">
2
+ <div class="site-nav-left">
3
+ {% if page.current != 'home' %}
4
+ {% if site.logo %}
5
+ <a class="site-nav-logo" href="{{ site.url }}{{ site.baseurl }}"><img src="{{ site.baseurl}}{{ site.logo }}" alt="{{ site.title }}" /></a>
6
+ {% else %}
7
+ <a class="site-nav-logo" href="{{ site.url }}{{ site.baseurl }}">{{ site.title }}</a>
8
+ {% endif %}
9
+ {% endif %}
10
+ {% if page.navigation %}
11
+ {% include navigation.html %}
12
+ {% endif %}
13
+ </div>
14
+ <div class="site-nav-right">
15
+ <div class="social-links">
16
+ {% if site.facebook %}
17
+ <a class="social-link social-link-fb" href="https://facebook.com/{{ site.facebook }}" target="_blank" rel="noopener">{% include facebook.html %}</a>
18
+ {% endif %}
19
+ {% if site.twitter %}
20
+ <a class="social-link social-link-tw" href="https://twitter.com/{{ site.twitter }}" target="_blank" rel="noopener">{% include twitter.html %}</a>
21
+ {% endif %}
22
+ </div>
23
+ {% if site.subscribers %}
24
+ <a class="subscribe-button" href="#subscribe">Subscribe</a>
25
+ {% endif %}
26
+ </div>
27
+ </nav>
@@ -0,0 +1,9 @@
1
+ <form method="post" action="/subscribe/" class="">
2
+ <input class="confirm" type="hidden" name="confirm" /><input class="location" type="hidden" name="location" /><input class="referrer" type="hidden" name="referrer" />
3
+
4
+ <div class="form-group">
5
+ <input class="subscribe-email" type="email" name="email" placeholder="youremail@example.com" />
6
+ </div>
7
+ <button class="" type="submit" {% unless site.subscribe %}disabled{% endunless %}><span>Subscribe</span></button>
8
+ <script type="text/javascript">(function(g,h,o,s,t){h[o]('.location')[s]=h[o]('.location')[s] || g.location.href;h[o]('.referrer')[s]=h[o]('.referrer')[s] || h.referrer;})(window,document,'querySelector','value');</script>
9
+ </form>
@@ -0,0 +1,13 @@
1
+ <nav class="pagination" role="pagination">
2
+ {% if paginator.previous_page %}
3
+ {% if paginator.previous_page == 1 %}
4
+ <a class="newer-posts" href="{{ site.baseurl }}tag/{{ page.tag | slugify: "latin" }}" title="Previous Page">&laquo; Newer Posts</a>
5
+ {% else %}
6
+ <a class="newer-posts" href="{{ site.baseurl }}tag/{{ page.tag | slugify: "latin" }}/page{{ paginator.previous_page }}/" title="Previous Page">&laquo; Newer Posts</a>
7
+ {% endif %}
8
+ {% endif %}
9
+ <span class="page-number"> Page {{ paginator.page }} of {{ paginator.total_pages }} </span>
10
+ {% if paginator.next_page %}
11
+ <a class="older-posts" href="{{ site.baseurl }}tag/{{ page.tag | slugify: "latin" }}/page{{ paginator.next_page }}/" title="Next Page">Older Posts &raquo;</a>
12
+ {% endif %}
13
+ </nav>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M30.063 7.313c-.813 1.125-1.75 2.125-2.875 2.938v.75c0 1.563-.188 3.125-.688 4.625a15.088 15.088 0 0 1-2.063 4.438c-.875 1.438-2 2.688-3.25 3.813a15.015 15.015 0 0 1-4.625 2.563c-1.813.688-3.75 1-5.75 1-3.25 0-6.188-.875-8.875-2.625.438.063.875.125 1.375.125 2.688 0 5.063-.875 7.188-2.5-1.25 0-2.375-.375-3.375-1.125s-1.688-1.688-2.063-2.875c.438.063.813.125 1.125.125.5 0 1-.063 1.5-.25-1.313-.25-2.438-.938-3.313-1.938a5.673 5.673 0 0 1-1.313-3.688v-.063c.813.438 1.688.688 2.625.688a5.228 5.228 0 0 1-1.875-2c-.5-.875-.688-1.813-.688-2.75 0-1.063.25-2.063.75-2.938 1.438 1.75 3.188 3.188 5.25 4.25s4.313 1.688 6.688 1.813a5.579 5.579 0 0 1 1.5-5.438c1.125-1.125 2.5-1.688 4.125-1.688s3.063.625 4.188 1.813a11.48 11.48 0 0 0 3.688-1.375c-.438 1.375-1.313 2.438-2.563 3.188 1.125-.125 2.188-.438 3.313-.875z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M23.5 11.957c0 6.375-5.163 11.544-11.532 11.544C5.599 23.5.5 18.125.5 11.75.5 5.542 5.37.758 11.505.511l.5-.011C18.374.5 23.5 5.582 23.5 11.957zM11.505.511c-6 6.5-6 14.98 0 22.98m1-22.98c6 6.5 6 14.977 0 22.977M2 17.479h20.063m-19.657-12h19.062m-20.968 6h22.938" stroke="#000" stroke-linejoin="round" stroke-miterlimit="10" fill="none"/></svg>
@@ -0,0 +1,64 @@
1
+ ---
2
+ layout: default
3
+ current: author
4
+ title: Author Page
5
+ cover: false
6
+ class: 'author-template'
7
+ navigation: True
8
+ label: Author
9
+ logo: 'assets/images/ghost.png'
10
+ ---
11
+ <!-- < default}} -->
12
+ <!-- The tag above means - insert everything in this file into the {body} of the default.hbs template -->
13
+
14
+ <!-- #author -->
15
+ <!-- Everything inside the #author tags pulls data from the author -->
16
+ {% for author in site.data.authors %}
17
+ {% if author[1].username == page.author %}
18
+ <header class="site-header outer {% if author[1].cover or page.cover %}" style="background-image: url({{ site.baseurl }}{% if author[1].cover %}{{ author[1].cover }}{% elsif page.cover %}{{ page.cover }}{% endif %}) {% else %}no-cover{% endif %}">
19
+ <div class="inner">
20
+ {% include site-nav.html %}
21
+ <div class="site-header-content">
22
+ {% if author[1].picture %}
23
+ <img class="author-profile-image" src="{{ site.baseurl }}{{ author[1].picture }}" alt="{{ page.author }}" />
24
+ {% endif %}
25
+ <h1 class="site-title">{{ author[1].name }}</h1>
26
+ {% if author[1].bio %}
27
+ <h2 class="author-bio">{{ author[1].bio }}</h2>
28
+ {% endif %}
29
+ <div class="author-meta">
30
+ {% if author[1].location %}
31
+ <div class="author-location">{{ author[1].location }} <span class="bull">&bull;</span></div>
32
+ {% endif %}
33
+ <div class="author-stats">
34
+ {% if paginator.total_posts == 0 %}No posts{% elsif paginator.total_posts == 1 %}1 post{% else %}{{ paginator.total_posts }} posts{% endif %} <span class="bull">&bull;</span>
35
+ </div>
36
+ {% if author[1].url %}
37
+ <a class="social-link social-link-wb" href="{{ author[1].url_full }}" target="_blank" rel="noopener">{% include website.html %}</a>
38
+ {% endif %}
39
+ {% if author[1].twitter %}
40
+ <a class="social-link social-link-tw" href="https://twitter.com/{{ author[1].twitter }}" target="_blank" rel="noopener">{% include twitter.html %}</a>
41
+ {% endif %}
42
+ {% if author[1].facebook %}
43
+ <a class="social-link social-link-fb" href="https://facebook.com/{{ author[1].facebook }}" target="_blank" rel="noopener">{% include facebook.html %}</a>
44
+ {% endif %}
45
+ <a class="social-link social-link-rss" href="https://feedly.com/i/subscription/feed/{{ site.url }}{{ site.baseurl }}author/{{ page.author }}/feed.xml" target="_blank" rel="noopener">{% include rss.html %}</a>
46
+ </div>
47
+ </div>
48
+ </div>
49
+ </header>
50
+ {% endif %}
51
+ {% endfor %}
52
+ <!-- /author -->
53
+
54
+ <!-- The main content area -->
55
+ <main id="site-main" class="site-main outer" role="main">
56
+ <div class="inner">
57
+
58
+ <div class="post-feed">
59
+ <!-- The tag below includes the markup for each post - partials/post-card.hbs -->
60
+ {% include post-card.html %}
61
+ </div>
62
+
63
+ </div>
64
+ </main>
@@ -0,0 +1,139 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+
5
+ <!-- Document Settings -->
6
+ <meta charset="utf-8" />
7
+ <meta http-equiv="X-UA-Compatible" content="IE=edge" />
8
+
9
+ <!-- Base Meta -->
10
+ {% include dynamic_title.html %}
11
+ <title>{% if title %}{{ title }}{% elsif page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}</title>
12
+ <meta name="HandheldFriendly" content="True" />
13
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
14
+ <!-- Styles'n'Scripts -->
15
+ <link rel="stylesheet" type="text/css" href="{{ site.baseurl }}assets/built/screen.css" />
16
+ <link rel="stylesheet" type="text/css" href="{{ site.baseurl }}assets/built/screen.edited.css" />
17
+ <link rel="stylesheet" type="text/css" href="{{ site.baseurl }}assets/built/syntax.css" />
18
+ <!-- highlight.js -->
19
+ <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/default.min.css">
20
+ <style>.hljs { background: none; }</style>
21
+
22
+ <!--[if IE]>
23
+ <style>
24
+ p, ol, ul{
25
+ width: 100%;
26
+ }
27
+ blockquote{
28
+ width: 100%;
29
+ }
30
+ </style>
31
+ <![endif]-->
32
+
33
+ <!-- This tag outputs SEO meta+structured data and other important settings -->
34
+ {% include head.html %}
35
+
36
+ </head>
37
+ <body class="{% if paginator.page > 1 %}paged archive-template{% elsif page.class %}{{ page.class }}{% else %}home-template{% endif %}">
38
+
39
+ <div class="site-wrapper">
40
+ <!-- All the main content gets inserted here, index.hbs, post.hbs, etc -->
41
+ {{ content }}
42
+
43
+ <!-- Previous/next page links - displayed on every page -->
44
+ {% if paginator.total_posts > site.paginate %}
45
+ {% if page.class == 'home-template' %}
46
+ {% include post_pagination.html %}
47
+ {% elsif page.class == 'page-template' %}
48
+ {% include post_pagination.html %}
49
+ {% elsif page.class == 'author-template' %}
50
+ {% include author_pagination.html %}
51
+ {% elsif page.class == 'tag-template' %}
52
+ {% include tag_pagination.html %}
53
+ {% else %}
54
+ {% include post_pagination.html %}
55
+ {% endif %}
56
+ {% endif %}
57
+
58
+ <!-- The footer at the very bottom of the screen -->
59
+ <footer class="site-footer outer">
60
+ <div class="site-footer-content inner">
61
+ <section class="copyright"><a href="{{ site.url }}{{ site.baseurl }}">{{ site.title }}</a> &copy; {{ site.time | date: '%Y' }}</section>
62
+ <section class="poweredby">Proudly published with <a href="https://jekyllrb.com/">Jekyll</a> &
63
+ <a href="https://pages.github.com/" target="_blank" rel="noopener">GitHub Pages</a> using
64
+ <a href="https://github.com/jekyller/jasper2" target="_blank" rel="noopener">Jasper2</a></section>
65
+ <nav class="site-footer-nav">
66
+ <a href="{{ site.baseurl }}">Latest Posts</a>
67
+ {% if site.facebook %}<a href="https://facebook.com/{{ site.facebook }}" target="_blank" rel="noopener">Facebook</a>{% endif %}
68
+ {% if site.twitter %}<a href="https://twitter.com/{{ site.twitter }}" target="_blank" rel="noopener">Twitter</a>{% endif %}
69
+ <a href="https://ghost.org" target="_blank" rel="noopener">Ghost</a>
70
+ </nav>
71
+ </div>
72
+ </footer>
73
+
74
+ </div>
75
+
76
+ <!-- The big email subscribe modal content -->
77
+ {% if site.subscribers %}
78
+ <div id="subscribe" class="subscribe-overlay">
79
+ <a class="subscribe-overlay-close" href="#"></a>
80
+ <div class="subscribe-overlay-content">
81
+ {% if site.logo %}
82
+ <img class="subscribe-overlay-logo" src="{{ site.baseurl }}{{ site.logo }}" alt="{{ site.title }}" />
83
+ {% endif %}
84
+ <h1 class="subscribe-overlay-title">Subscribe to {{ site.title }}</h1>
85
+ <p class="subscribe-overlay-description">Stay up to date! Get all the latest &amp; greatest posts delivered straight to your inbox</p>
86
+ {% include subscribe-form.html placeholder="youremail@example.com" %}
87
+ </div>
88
+ </div>
89
+ {% endif %}
90
+
91
+ <!-- highlight.js -->
92
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.10.0/components/prism-abap.min.js"></script>
93
+ <script>$(document).ready(function() {
94
+ $('pre code').each(function(i, block) {
95
+ hljs.highlightBlock(block);
96
+ });
97
+ });</script>
98
+
99
+ <!-- jQuery + Fitvids, which makes all video embeds responsive -->
100
+ <script
101
+ src="https://code.jquery.com/jquery-3.2.1.min.js"
102
+ integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4="
103
+ crossorigin="anonymous">
104
+ </script>
105
+ <script type="text/javascript" src="{{ site.baseurl }}assets/js/jquery.fitvids.js"></script>
106
+ <script type="text/javascript" src="https://demo.ghost.io/assets/js/jquery.fitvids.js?v=724281a32e"></script>
107
+
108
+
109
+ <!-- Paginator increased to "infinit" in _config.yml -->
110
+ <!-- if paginator.posts -->
111
+ <!-- <script>
112
+ var maxPages = parseInt('{{ paginator.total_pages }}');
113
+ </script>
114
+ <script src="{{ site.baseurl }}assets/js/infinitescroll.js"></script> -->
115
+ <!-- /endif -->
116
+
117
+ {% if paginator.total_pages > site.paginate %}
118
+ <script>
119
+ var maxPages = parseInt('{{ paginator.total_pages }}');
120
+ </script>
121
+ <script src="{{ site.baseurl }}assets/js/infinitescroll.js"></script>
122
+ {% endif %}
123
+
124
+
125
+ <!-- Add Google Analytics -->
126
+ {% include analytics.html %}
127
+
128
+ <!-- The #block helper will pull in data from the #contentFor other template files. In this case, there's some JavaScript which we only want to use in post.hbs, but it needs to be included down here, after jQuery has already loaded. -->
129
+ {% if page.class == "post-template" %}
130
+ {% include post-scripts.html %}
131
+ {% elsif page.class == "page-template" %}
132
+ {% include page-scripts.html %}
133
+ {% endif %}
134
+
135
+ <!-- Ghost outputs important scripts and data with this tag - it should always be the very last thing before the closing body tag -->
136
+ <!-- ghost_foot -->
137
+
138
+ </body>
139
+ </html>