jekyll-theme-hydejack 6.0.0.pre.alpha

Sign up to get free protection for your applications and to get access to all the features.
Files changed (110) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.md +45 -0
  3. data/README.md +87 -0
  4. data/_includes/about-short.html +8 -0
  5. data/_includes/about.html +15 -0
  6. data/_includes/comments.html +11 -0
  7. data/_includes/copyright-header +15 -0
  8. data/_includes/footer.html +14 -0
  9. data/_includes/head.html +87 -0
  10. data/_includes/link.html +5 -0
  11. data/_includes/menu.html +6 -0
  12. data/_includes/message.html +9 -0
  13. data/_includes/nav.html +16 -0
  14. data/_includes/page-style.html +19 -0
  15. data/_includes/pagination.html +19 -0
  16. data/_includes/post-list-item.html +10 -0
  17. data/_includes/post.html +35 -0
  18. data/_includes/pro/project-card.html +17 -0
  19. data/_includes/pro/styles/projects.scss +4 -0
  20. data/_includes/pro/styles/resume.scss +4 -0
  21. data/_includes/related.html +42 -0
  22. data/_includes/scripts.html +36 -0
  23. data/_includes/scripts/cssrelpreload.min.js +2 -0
  24. data/_includes/scripts/load-disqus.js +42 -0
  25. data/_includes/scripts/load-disqus.min.js +1 -0
  26. data/_includes/scripts/load-js-deferred.js +49 -0
  27. data/_includes/scripts/load-js-deferred.min.js +1 -0
  28. data/_includes/scripts/loadCSS.min.js +2 -0
  29. data/_includes/sidebar.html +22 -0
  30. data/_includes/social-list-item.html +22 -0
  31. data/_includes/social.html +6 -0
  32. data/_includes/srcset-img.html +23 -0
  33. data/_includes/styles/inline.scss +51 -0
  34. data/_includes/styles/style.scss +71 -0
  35. data/_includes/tag-list.html +26 -0
  36. data/_layouts/about.html +27 -0
  37. data/_layouts/base.html +54 -0
  38. data/_layouts/blog.html +10 -0
  39. data/_layouts/compress.html +26 -0
  40. data/_layouts/default.html +25 -0
  41. data/_layouts/list.html +32 -0
  42. data/_layouts/not-found.html +8 -0
  43. data/_layouts/page.html +10 -0
  44. data/_layouts/post.html +9 -0
  45. data/_sass/_jekyll-github.scss +67 -0
  46. data/_sass/_mixins.scss +35 -0
  47. data/_sass/_spinner.scss +87 -0
  48. data/_sass/_variables.scss +43 -0
  49. data/_sass/hydejack/_base-inline.scss +128 -0
  50. data/_sass/hydejack/_base.scss +132 -0
  51. data/_sass/hydejack/_content-inline.scss +26 -0
  52. data/_sass/hydejack/_drawer-inline.scss +19 -0
  53. data/_sass/hydejack/_drawer.scss +19 -0
  54. data/_sass/hydejack/_footer-inline.scss +14 -0
  55. data/_sass/hydejack/_katex.scss +28 -0
  56. data/_sass/hydejack/_me-inline.scss +22 -0
  57. data/_sass/hydejack/_menu-inline.scss +35 -0
  58. data/_sass/hydejack/_menu.scss +35 -0
  59. data/_sass/hydejack/_sidebar-inline.scss +121 -0
  60. data/_sass/hydejack/_sidebar.scss +121 -0
  61. data/_sass/hydejack/_social-inline.scss +27 -0
  62. data/_sass/hydejack/_social.scss +27 -0
  63. data/_sass/hydejack/_toc.scss +6 -0
  64. data/_sass/pooleparty/_base-inline.scss +59 -0
  65. data/_sass/pooleparty/_base.scss +59 -0
  66. data/_sass/pooleparty/_code.scss +86 -0
  67. data/_sass/pooleparty/_footer-inline.scss +3 -0
  68. data/_sass/pooleparty/_footnotes.scss +33 -0
  69. data/_sass/pooleparty/_layout-inline.scss +11 -0
  70. data/_sass/pooleparty/_message-inline.scss +13 -0
  71. data/_sass/pooleparty/_pagination.scss +62 -0
  72. data/_sass/pooleparty/_posts-inline.scss +26 -0
  73. data/_sass/pooleparty/_related-inline.scss +19 -0
  74. data/_sass/pooleparty/_table.scss +22 -0
  75. data/_sass/pooleparty/_type-inline.scss +97 -0
  76. data/_sass/pooleparty/_type.scss +93 -0
  77. data/assets/css/hydejack.css +4 -0
  78. data/assets/icomoon/Read Me.txt +7 -0
  79. data/assets/icomoon/demo-files/demo.css +152 -0
  80. data/assets/icomoon/demo-files/demo.js +30 -0
  81. data/assets/icomoon/demo.html +1190 -0
  82. data/assets/icomoon/fonts/icomoon.eot +0 -0
  83. data/assets/icomoon/fonts/icomoon.svg +82 -0
  84. data/assets/icomoon/fonts/icomoon.ttf +0 -0
  85. data/assets/icomoon/fonts/icomoon.woff +0 -0
  86. data/assets/icomoon/selection.json +2047 -0
  87. data/assets/icomoon/style.css +243 -0
  88. data/assets/img/nap.jpg +0 -0
  89. data/assets/img/projects/hyde-v1.png +0 -0
  90. data/assets/img/projects/hyde-v1@0,25x.png +0 -0
  91. data/assets/img/projects/hyde-v1@0,5x.png +0 -0
  92. data/assets/img/projects/hyde-v2.png +0 -0
  93. data/assets/img/projects/hyde-v2@0,25x.png +0 -0
  94. data/assets/img/projects/hyde-v2@0,5x.png +0 -0
  95. data/assets/img/projects/hydejack-v3.jpg +0 -0
  96. data/assets/img/projects/hydejack-v3@0,25x.jpg +0 -0
  97. data/assets/img/projects/hydejack-v3@0,5x.jpg +0 -0
  98. data/assets/img/projects/hydejack-v4.jpg +0 -0
  99. data/assets/img/projects/hydejack-v4@0,25x.jpg +0 -0
  100. data/assets/img/projects/hydejack-v4@0,5x.jpg +0 -0
  101. data/assets/img/projects/hydejack-v5.jpg +0 -0
  102. data/assets/img/projects/hydejack-v5@0,25x.jpg +0 -0
  103. data/assets/img/projects/hydejack-v5@0,5x.jpg +0 -0
  104. data/assets/img/projects/hydejack-v6.jpg +0 -0
  105. data/assets/img/projects/hydejack-v6@0,25x.jpg +0 -0
  106. data/assets/img/projects/hydejack-v6@0,5x.jpg +0 -0
  107. data/assets/js/hydejack.js +26 -0
  108. data/assets/resume.json +3 -0
  109. data/assets/version.json +5 -0
  110. metadata +237 -0
@@ -0,0 +1,4 @@
1
+ @import "variables";
2
+ @import "mixins";
3
+
4
+ @import "pro/projects";
@@ -0,0 +1,4 @@
1
+ @import "variables";
2
+ @import "mixins";
3
+
4
+ @import "pro/resume";
@@ -0,0 +1,42 @@
1
+ {% assign post = include.post %}
2
+
3
+ <aside class="related" role="complementary">
4
+ <h2>Related Posts</h2>
5
+ <hr/>
6
+
7
+ <ul class="related-posts">
8
+ {% if site.use_lsi %}
9
+ {% for post in site.related_posts limit:3 %}
10
+ {% include post-list-item.html post=post format="%m/%d/%y" %}
11
+ {% endfor %}
12
+ {% elsif post.categories.first != null %}
13
+ {% assign category_posts = site.categories[post.categories.first] %}
14
+ {% assign plusone = false %}
15
+ {% for post in category_posts limit:4 %}
16
+ {% if post.url == page.url %}
17
+ {% assign plusone = true %}
18
+ {% continue %}
19
+ {% endif %}
20
+ {% if forloop.index < 4 or plusone == true %}
21
+ {% include post-list-item.html post=post format="%m/%d/%y" %}
22
+ {% endif %}
23
+ {% endfor %}
24
+ {% elsif post.tags.first != null %}
25
+ {% assign tag_posts = site.tags[post.tags.first] %}
26
+ {% assign plusone = false %}
27
+ {% for post in tag_posts limit:4 %}
28
+ {% if post.url == page.url %}
29
+ {% assign plusone = true %}
30
+ {% continue %}
31
+ {% endif %}
32
+ {% if forloop.index < 4 or plusone == true %}
33
+ {% include post-list-item.html post=post format="%m/%d/%y" %}
34
+ {% endif %}
35
+ {% endfor %}
36
+ {% else %}
37
+ {% for post in site.related_posts limit:3 %}
38
+ {% include post-list-item.html post=post format="%m/%d/%y" %}
39
+ {% endfor %}
40
+ {% endif %}
41
+ </ul>
42
+ </aside>
@@ -0,0 +1,36 @@
1
+ {% assign google_fonts = site.google_fonts %}
2
+ {% unless site.font and site.font_heading and google_fonts %}
3
+ {% assign google_fonts = "Roboto+Slab:700|Noto+Serif:400,400i,700,700i" %}
4
+ {% endunless %}
5
+
6
+ <!--[if gt IE 8]><!---->
7
+ <script>
8
+ WebFontConfig = {
9
+ {% if google_fonts %}
10
+ google: {
11
+ families: '{{ google_fonts }}'.split('|')
12
+ },
13
+ {% endif %}
14
+
15
+ custom: {
16
+ families: ['icomoon'],
17
+ urls: ['{{ "/assets/icomoon/style.css" | relative_url }}']
18
+ }
19
+ };
20
+ loadJSDeferred('https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js');
21
+ </script>
22
+
23
+ <!--[if gt IE 9]><!---->
24
+ {% capture js_url %}/assets/js/hydejack.js?v=6.0.0-alpha{% endcapture %}
25
+ <script>loadJSDeferred('{{ js_url | relative_url }}');</script>
26
+ <!--<![endif]-->
27
+
28
+ {% if site.google_analytics %}
29
+ <script>
30
+ window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
31
+ ga('create', '{{ site.google_analytics }}', 'auto');
32
+ ga('send', 'pageview');
33
+ loadJSDeferred('https://www.google-analytics.com/analytics.js');
34
+ </script>
35
+ {% endif %}
36
+ <!--<![endif]-->
@@ -0,0 +1,2 @@
1
+ /*! loadCSS rel=preload polyfill. [c]2017 Filament Group, Inc. MIT License */
2
+ !function(t){if(t.loadCSS){var e=loadCSS.relpreload={};if(e.support=function(){try{return t.document.createElement("link").relList.supports("preload")}catch(t){return!1}},e.poly=function(){for(var e=t.document.getElementsByTagName("link"),r=0;r<e.length;r++){var n=e[r];"preload"===n.rel&&"style"===n.getAttribute("as")&&(t.loadCSS(n.href,n,n.getAttribute("media")),n.rel=null)}},!e.support()){e.poly();var r=t.setInterval(e.poly,300);t.addEventListener&&t.addEventListener("load",function(){e.poly(),t.clearInterval(r)}),t.attachEvent&&t.attachEvent("onload",function(){t.clearInterval(r)})}}}(this);
@@ -0,0 +1,42 @@
1
+ // Compress via uglify:
2
+ // uglifyjs load-disqus.js -c -m > load-disqus.min.js
3
+ (function(w, d) {
4
+ var disqus_config = function () {
5
+ this.page.title = '{{ page.title }}';
6
+ this.page.identifier = '{{ page.id }}';
7
+ this.page.url = '{{ page.url | absolute_url }}';
8
+ };
9
+
10
+ w._disqusFirst = typeof w._disqusFirst != 'undefined' ? w._disqusFirst : true;
11
+ w._disqusLoading = typeof w._disqusLoading != 'undefined' ? w._disqusLoading : false;
12
+ w._disqusThis = false;
13
+ w._disqusThreadOffsetTop = d.getElementById('disqus_thread').offsetTop;
14
+
15
+ function loadDQ(e) {
16
+ var scrollTop = w.pageYOffset || d.body.scrollTop;
17
+ if ( w.DISQUS &&
18
+ !w._disqusThis &&
19
+ !w._disqusFirst &&
20
+ scrollTop + w.innerHeight >= w._disqusThreadOffsetTop) {
21
+
22
+ w._disqusThis = true;
23
+ w.DISQUS.reset({
24
+ reload: true,
25
+ config: disqus_config
26
+ });
27
+ }
28
+ };
29
+
30
+ if (!w._disqusLoading) {
31
+ w._disqusLoading = true;
32
+
33
+ loadJSDeferred('//{{ site.disqus_shortname }}.disqus.com/embed.js');
34
+
35
+ // add event listener
36
+ if (w.addEventListener) w.addEventListener('scroll', loadDQ, { passive: true });
37
+ else if (w.attachEvent) w.attachEvent('onscroll', loadDQ);
38
+ else w.onscroll = loadDQ;
39
+ } else {
40
+ w._disqusFirst = false;
41
+ }
42
+ }(window, document));
@@ -0,0 +1 @@
1
+ !function(s,i){function e(e){var t=s.pageYOffset||i.body.scrollTop;s.DISQUS&&!s._disqusThis&&!s._disqusFirst&&t+s.innerHeight>=s._disqusThreadOffsetTop&&(s._disqusThis=!0,s.DISQUS.reset({reload:!0,config:d}))}var d=function(){this.page.title="{{ page.title }}",this.page.identifier="{{ page.id }}",this.page.url="{{ page.url | absolute_url }}"};s._disqusFirst=void 0===s._disqusFirst||s._disqusFirst,s._disqusLoading=void 0!==s._disqusLoading&&s._disqusLoading,s._disqusThis=!1,s._disqusThreadOffsetTop=i.getElementById("disqus_thread").offsetTop,s._disqusLoading?s._disqusFirst=!1:(s._disqusLoading=!0,loadJSDeferred("//{{ site.disqus_shortname }}.disqus.com/embed.js"),s.addEventListener?s.addEventListener("scroll",e,{passive:!0}):s.attachEvent?s.attachEvent("onscroll",e):s.onscroll=e)}(window,document);
@@ -0,0 +1,49 @@
1
+ // Compress via uglify:
2
+ // uglifyjs load-js-deferred.js -c -m > load-js-deferred.min.js
3
+ (function(w, d) {
4
+ function stdOnEnd(script, cb) {
5
+ script.onload = function () {
6
+ this.onerror = this.onload = null;
7
+ cb(null, script);
8
+ };
9
+
10
+ script.onerror = function () {
11
+ this.onerror = this.onload = null;
12
+ cb(new Error('Failed to load ' + this.src), script);
13
+ };
14
+ }
15
+
16
+ function ieOnEnd(script, cb) {
17
+ script.onreadystatechange = function () {
18
+ if (this.readyState != 'complete' && this.readyState != 'loaded') return;
19
+ this.onreadystatechange = null;
20
+ cb(null, script);
21
+ };
22
+ }
23
+
24
+ w._loaded = false;
25
+ w.loadJSDeferred = function(src, cb) {
26
+ function loadJS() {
27
+ w._loaded = true;
28
+
29
+ var script = d.createElement('script');
30
+ script.src = src;
31
+
32
+ if (cb) {
33
+ ('onload' in script ? stdOnEnd : ieOnEnd)(script, cb);
34
+
35
+ if (!script.onload) {
36
+ stdOnEnd(script, cb);
37
+ }
38
+ }
39
+
40
+ var ref = d.getElementsByTagName('script')[0];
41
+ ref.parentNode.insertBefore(script, ref);
42
+ }
43
+
44
+ if (w._loaded) loadJS();
45
+ else if (w.addEventListener) w.addEventListener('load', loadJS, false);
46
+ else if (w.attachEvent) w.attachEvent('onload', loadJS);
47
+ else w.onload = loadJS;
48
+ }
49
+ }(window, document));
@@ -0,0 +1 @@
1
+ !function(n,e){function t(n,e){n.onload=function(){this.onerror=this.onload=null,e(null,n)},n.onerror=function(){this.onerror=this.onload=null,e(new Error("Failed to load "+this.src),n)}}function o(n,e){n.onreadystatechange=function(){"complete"!=this.readyState&&"loaded"!=this.readyState||(this.onreadystatechange=null,e(null,n))}}n._loaded=!1,n.loadJSDeferred=function(a,d){function r(){n._loaded=!0;var r=e.createElement("script");r.src=a,d&&(("onload"in r?t:o)(r,d),r.onload||t(r,d));var l=e.getElementsByTagName("script")[0];l.parentNode.insertBefore(r,l)}n._loaded?r():n.addEventListener?n.addEventListener("load",r,!1):n.attachEvent?n.attachEvent("onload",r):n.onload=r}}(window,document);
@@ -0,0 +1,2 @@
1
+ /*! loadCSS. [c]2017 Filament Group, Inc. MIT License */
2
+ !function(e){"use strict";var n=function(n,t,o){function i(e){if(a.body)return e();setTimeout(function(){i(e)})}function r(){l.addEventListener&&l.removeEventListener("load",r),l.media=o||"all"}var d,a=e.document,l=a.createElement("link");if(t)d=t;else{var f=(a.body||a.getElementsByTagName("head")[0]).childNodes;d=f[f.length-1]}var s=a.styleSheets;l.rel="stylesheet",l.href=n,l.media="only x",i(function(){d.parentNode.insertBefore(l,t?d:d.nextSibling)});var u=function(e){for(var n=l.href,t=s.length;t--;)if(s[t].href===n)return e();setTimeout(function(){u(e)})};return l.addEventListener&&l.addEventListener("load",r),l.onloadcssdefined=u,u(r),l};"undefined"!=typeof exports?exports.loadCSS=n:e.loadCSS=n}("undefined"!=typeof global?global:this);
@@ -0,0 +1,22 @@
1
+ <div id="_yDrawer">
2
+ <div id="_sidebar" class="sidebar">
3
+ <div class="sidebar-bg" style="background-color:{{ color }};background-image:url({{ image }})"></div>
4
+ <header class="container sidebar-sticky" role="banner">
5
+ <div class="sidebar-about">
6
+ <h1><a id="_title" href="{{ '/' | relative_url }}">{{ site.title }}</a></h1>
7
+ {{ site.description | markdownify }}
8
+ </div>
9
+
10
+ <nav class="sidebar-nav heading" role="navigation">
11
+ {% include nav.html %}
12
+ </nav>
13
+
14
+ {% assign author = site.data.authors[site.author.authors_key] %}
15
+ {% if author.social %}
16
+ <div class="sidebar-social">
17
+ {% include social.html social=author.social %}
18
+ </div>
19
+ {% endif %}
20
+ </header>
21
+ </div>
22
+ </div>
@@ -0,0 +1,22 @@
1
+ {% assign platform = include.platform | downcase %}
2
+ {% assign username = include.username %}
3
+ {% assign icon = include.icon %}
4
+
5
+ {% unless icon %}
6
+ {% assign icon = platform %}
7
+ {% endunless %}
8
+
9
+ {% assign = data_social = site.data.social[icon] %}
10
+
11
+ {% if username contains "//" %}
12
+ {% assign url = username %}
13
+ {% else %}
14
+ {% assign url = username | prepend:data_social.prepend | append:data_soical.append %}
15
+ {% endif %}
16
+
17
+ <li>
18
+ <a href="{{ url }}">
19
+ <span class="{{ data_social.icon | default:'icon-link' }}" title="{{ data_social.name }}"></span>
20
+ <span class="sr-only">{{ data_social.name }}</span>
21
+ </a>
22
+ </li>
@@ -0,0 +1,6 @@
1
+ <span class="sr-only">Social:</span>
2
+ <ul>
3
+ {% for link in include.social %}
4
+ {% include social-list-item.html platform=link.first username=link.last %}
5
+ {% endfor %}
6
+ </ul>
@@ -0,0 +1,23 @@
1
+ {% if include.img.src or include.img.srcset %}
2
+ {% assign srcset = '' %}
3
+
4
+ {% if include.img.srcset %}
5
+ {% capture srcset %}
6
+ {% for hash in include.img.srcset %}{{ hash[1]}} {{ hash[0] }}{% unless forloop.last %},{% endunless %}{% endfor %}
7
+ {% endcapture %}
8
+ {% endif %}
9
+
10
+ <img
11
+ class="{{ include.class }}"
12
+ alt="{{ include.alt }}"
13
+ src="{{ include.img.src }}"
14
+ srcset="{{ srcset | strip }}"
15
+ sizes="{{ include.sizes }}"
16
+ />
17
+ {% else %}
18
+ <img
19
+ class="{{ include.class }}"
20
+ alt="{{ include.alt }}"
21
+ src="{{ include.img }}"
22
+ />
23
+ {% endif %}
@@ -0,0 +1,51 @@
1
+ @import "variables";
2
+ @import "mixins";
3
+
4
+ @import "pooleparty/base-inline";
5
+ // @import "pooleparty/base";
6
+ @import "pooleparty/type-inline";
7
+ // @import "pooleparty/type";
8
+ // @import "pooleparty/table";
9
+ // @import "pooleparty/footnotes";
10
+ // @import "pooleparty/code";
11
+ @import "pooleparty/layout-inline";
12
+ @import "pooleparty/footer-inline";
13
+ @import "pooleparty/posts-inline";
14
+ // @import "pooleparty/pagination";
15
+ @import "pooleparty/related-inline";
16
+ @import "pooleparty/message-inline";
17
+
18
+ @import "hydejack/base-inline";
19
+ // @import "hydejack/base";
20
+ @import "hydejack/sidebar-inline";
21
+ // @import "hydejack/sidebar";
22
+ @import "hydejack/drawer-inline";
23
+ // @import "hydejack/drawer";
24
+ @import "hydejack/social-inline";
25
+ // @import "hydejack/social";
26
+ @import "hydejack/menu-inline";
27
+ @import "hydejack/content-inline";
28
+ @import "hydejack/me-inline";
29
+ // @import "hydejack/katex";
30
+ @import "hydejack/footer-inline";
31
+ // @import "hydejack/toc";
32
+
33
+ // @import "jekyll-github";
34
+ // @import "spinner";
35
+
36
+ {% assign font = site.font %}
37
+ {% assign font_heading = site.font_heading %}
38
+ {% assign google_fonts = site.google_fonts %}
39
+ {% unless font or font_heading or google_fonts %}
40
+ {% assign font = "'Noto Serif', Georgia, serif" %}
41
+ {% assign font_heading = "'Roboto Slab', Helvetica, Arial, sans-serif" %}
42
+ {% assign google_fonts = "Roboto+Slab:700|Noto+Serif:400,400i,700,700i" %}
43
+ {% endunless %}
44
+
45
+ {% if google_fonts %}
46
+ {% assign font = font | split:',' | shift | join:',' %}
47
+ {% assign font_heading = font_heading | split:',' | shift | join:',' %}
48
+ {% endif %}
49
+
50
+ html { font-family: {{ font | default:"serif" }}; }
51
+ h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .heading { font-family: {{ font_heading | default:"serif" }}; }
@@ -0,0 +1,71 @@
1
+ @import "variables";
2
+ @import "mixins";
3
+
4
+ // @import "pooleparty/base-inline";
5
+ @import "pooleparty/base";
6
+ // @import "pooleparty/type-inline";
7
+ @import "pooleparty/type";
8
+ @import "pooleparty/table";
9
+ @import "pooleparty/footnotes";
10
+ @import "pooleparty/code";
11
+ // @import "pooleparty/layout-inline";
12
+ // @import "pooleparty/footer";
13
+ // @import "pooleparty/posts-inline";
14
+ @import "pooleparty/pagination";
15
+ // @import "pooleparty/related-inline";
16
+ // @import "pooleparty/message-inline";
17
+
18
+ // @import "hydejack/base-inline";
19
+ @import "hydejack/base";
20
+ // @import "hydejack/sidebar-inline";
21
+ @import "hydejack/sidebar";
22
+ // @import "hydejack/drawer-inline";
23
+ @import "hydejack/drawer";
24
+ // @import "hydejack/social-inline";
25
+ @import "hydejack/social";
26
+ // @import "hydejack/menu-inline";
27
+ // @import "hydejack/content-inline";
28
+ // @import "hydejack/me-inline";
29
+ @import "hydejack/katex";
30
+ // @import "hydejack/footer-inline";
31
+ @import "hydejack/toc";
32
+
33
+ @import "jekyll-github";
34
+ @import "spinner";
35
+
36
+ {% assign font = site.font %}
37
+ {% assign font_heading = site.font_heading %}
38
+ {% assign google_fonts = site.google_fonts %}
39
+ {% unless font or font_heading or google_fonts %}
40
+ {% assign font = "'Noto Serif', Georgia, serif" %}
41
+ {% assign font_heading = "'Roboto Slab', Helvetica, Arial, sans-serif" %}
42
+ {% assign google_fonts = "Roboto+Slab:700|Noto+Serif:400,400i,700,700i" %}
43
+ {% endunless %}
44
+
45
+ {% if google_fonts %}
46
+ {% assign font = font | split:',' | first %}
47
+ {% assign font_heading = font_heading | split:',' | first %}
48
+
49
+ .wf-active {
50
+ font-family: {{ font | default:"serif" }};
51
+ h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .heading { font-family: {{ font_heading | default:"serif" }}; }
52
+ }
53
+ {% endif %}
54
+
55
+ {% if site.mark_external %}
56
+ @media screen {
57
+ a[href*="//"]:not([href*="{{ site.url }}"])::after {
58
+ content: "\00A0\ea7e";
59
+ font-family: 'icomoon' !important;
60
+ speak: none;
61
+ font-style: normal;
62
+ font-weight: normal;
63
+ font-variant: normal;
64
+ text-transform: none;
65
+ line-height: 1;
66
+ font-size: smaller;
67
+ -webkit-font-smoothing: antialiased;
68
+ -moz-osx-font-smoothing: grayscale;
69
+ }
70
+ }
71
+ {% endif %}
@@ -0,0 +1,26 @@
1
+ {% assign tags = include.tags %}
2
+ {% assign meta = include.meta %}
3
+ {% assign start_with = include.start_with %}
4
+ {% assign separator = include.separator %}
5
+ {% assign end_with = include.end_with %}
6
+
7
+ {% assign content = '' %}
8
+
9
+ {% if tags.size > 0 %}
10
+ {% assign content = start_with %}
11
+ {% for tag_slug in tags %}
12
+ {% capture iter_separator %}{% if forloop.last %}{{ end_with }}{% else %}{{ separator }}{% endif %}{% endcapture %}
13
+
14
+ {% assign tag = meta | where: "slug", tag_slug | first %}
15
+
16
+ {% if tag %}
17
+ {% capture content_temp %}{{ content }}<a href="{{ tag.url | relative_url }}" data-flip="title">{{ tag.title }}</a>{{ iter_separator }}{% endcapture %}
18
+ {% else %}
19
+ {% capture content_temp %}{{ content }}<span>{{ tag_slug | capitalize }}</span>{{ iter_separator }}{% endcapture %}
20
+ {% endif %}
21
+
22
+ {% assign content = content_temp %}
23
+ {% endfor %}
24
+ {% endif %}
25
+
26
+ {{ content }}
@@ -0,0 +1,27 @@
1
+ ---
2
+ layout: base
3
+ ---
4
+
5
+ {% if page.author %}
6
+ {% assign author = site.data.authors[page.author] %}
7
+ {% elsif site.author.authors_key %}
8
+ {% assign author = site.data.authors[site.author.authors_key] %}
9
+ {% endif %}
10
+
11
+ <article class="page" role="article">
12
+ {% if author.picture %}
13
+ {% include srcset-img.html class="me" img=author.picture alt=author.name %}
14
+ {% endif %}
15
+
16
+ <h1 class="page-title">{{ page.title }}</h1>
17
+ <hr/>
18
+
19
+ {{ author.about | markdownify }}
20
+
21
+ {{ content }}
22
+
23
+ <hr/>
24
+ <div class="sidebar-social">
25
+ {% include social.html social=author.social %}
26
+ </div>
27
+ </article>