jekyll-theme-so-simple 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 (130) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +235 -0
  3. data/LICENSE +49 -0
  4. data/README.md +1145 -0
  5. data/_data/authors.yml +16 -0
  6. data/_data/navigation.yml +14 -0
  7. data/_data/text.yml +36 -0
  8. data/_includes/disqus-comments.html +19 -0
  9. data/_includes/documents-collection.html +3 -0
  10. data/_includes/entry-date.html +6 -0
  11. data/_includes/entry.html +39 -0
  12. data/_includes/footer-custom.html +3 -0
  13. data/_includes/footer.html +24 -0
  14. data/_includes/google-analytics.html +9 -0
  15. data/_includes/head-custom.html +5 -0
  16. data/_includes/head-feed.html +1 -0
  17. data/_includes/head-seo.html +1 -0
  18. data/_includes/head.html +50 -0
  19. data/_includes/lunr-search-scripts.html +106 -0
  20. data/_includes/masthead.html +13 -0
  21. data/_includes/navigation.html +17 -0
  22. data/_includes/page-author.html +37 -0
  23. data/_includes/page-categories.html +14 -0
  24. data/_includes/page-date.html +4 -0
  25. data/_includes/page-image.html +14 -0
  26. data/_includes/page-pagination.html +19 -0
  27. data/_includes/page-tags.html +14 -0
  28. data/_includes/posts-all.html +3 -0
  29. data/_includes/posts-category.html +3 -0
  30. data/_includes/posts-limit.html +3 -0
  31. data/_includes/posts-paginated.html +74 -0
  32. data/_includes/posts-tag.html +3 -0
  33. data/_includes/read-time.html +16 -0
  34. data/_includes/responsive-embed +16 -0
  35. data/_includes/scripts.html +43 -0
  36. data/_includes/skip-links.html +8 -0
  37. data/_includes/social-share.html +6 -0
  38. data/_includes/toc +9 -0
  39. data/_layouts/categories.html +48 -0
  40. data/_layouts/category.html +9 -0
  41. data/_layouts/collection.html +9 -0
  42. data/_layouts/default.html +22 -0
  43. data/_layouts/home.html +17 -0
  44. data/_layouts/page.html +30 -0
  45. data/_layouts/post.html +41 -0
  46. data/_layouts/posts.html +29 -0
  47. data/_layouts/search.html +11 -0
  48. data/_layouts/tag.html +9 -0
  49. data/_layouts/tags.html +48 -0
  50. data/_sass/so-simple.scss +31 -0
  51. data/_sass/so-simple/_author.scss +45 -0
  52. data/_sass/so-simple/_base.scss +112 -0
  53. data/_sass/so-simple/_buttons.scss +92 -0
  54. data/_sass/so-simple/_entries.scss +182 -0
  55. data/_sass/so-simple/_functions.scss +4 -0
  56. data/_sass/so-simple/_global.scss +393 -0
  57. data/_sass/so-simple/_icons.scss +43 -0
  58. data/_sass/so-simple/_mixins.scss +5 -0
  59. data/_sass/so-simple/_notices.scss +93 -0
  60. data/_sass/so-simple/_page.scss +282 -0
  61. data/_sass/so-simple/_reset.scss +523 -0
  62. data/_sass/so-simple/_syntax-highlighting.scss +334 -0
  63. data/_sass/so-simple/_tables.scss +34 -0
  64. data/_sass/so-simple/_utilities.scss +7 -0
  65. data/_sass/so-simple/_variables.scss +132 -0
  66. data/_sass/so-simple/functions/_color.scss +21 -0
  67. data/_sass/so-simple/functions/_em.scss +7 -0
  68. data/_sass/so-simple/functions/_fluid-type.scss +33 -0
  69. data/_sass/so-simple/functions/_yiq.scss +38 -0
  70. data/_sass/so-simple/mixins/_clearfix.scss +32 -0
  71. data/_sass/so-simple/mixins/_float.scss +15 -0
  72. data/_sass/so-simple/mixins/_image.scss +38 -0
  73. data/_sass/so-simple/mixins/_lists.scss +9 -0
  74. data/_sass/so-simple/mixins/_text-truncate.scss +10 -0
  75. data/_sass/so-simple/utilities/_accessibility.scss +43 -0
  76. data/_sass/so-simple/utilities/_align.scss +60 -0
  77. data/_sass/so-simple/utilities/_animations.scss +99 -0
  78. data/_sass/so-simple/utilities/_clearfix.scss +7 -0
  79. data/_sass/so-simple/utilities/_float.scss +7 -0
  80. data/_sass/so-simple/utilities/_responsive-embed.scss +66 -0
  81. data/_sass/so-simple/utilities/_text.scss +48 -0
  82. data/_sass/so-simple/vendor/breakpoint/_breakpoint.scss +114 -0
  83. data/_sass/so-simple/vendor/breakpoint/_context.scss +95 -0
  84. data/_sass/so-simple/vendor/breakpoint/_helpers.scss +151 -0
  85. data/_sass/so-simple/vendor/breakpoint/_legacy-settings.scss +50 -0
  86. data/_sass/so-simple/vendor/breakpoint/_no-query.scss +15 -0
  87. data/_sass/so-simple/vendor/breakpoint/_parsers.scss +215 -0
  88. data/_sass/so-simple/vendor/breakpoint/_respond-to.scss +82 -0
  89. data/_sass/so-simple/vendor/breakpoint/_settings.scss +71 -0
  90. data/_sass/so-simple/vendor/breakpoint/parsers/_double.scss +33 -0
  91. data/_sass/so-simple/vendor/breakpoint/parsers/_query.scss +82 -0
  92. data/_sass/so-simple/vendor/breakpoint/parsers/_resolution.scss +31 -0
  93. data/_sass/so-simple/vendor/breakpoint/parsers/_single.scss +26 -0
  94. data/_sass/so-simple/vendor/breakpoint/parsers/_triple.scss +36 -0
  95. data/_sass/so-simple/vendor/breakpoint/parsers/double/_default-pair.scss +21 -0
  96. data/_sass/so-simple/vendor/breakpoint/parsers/double/_default.scss +22 -0
  97. data/_sass/so-simple/vendor/breakpoint/parsers/double/_double-string.scss +22 -0
  98. data/_sass/so-simple/vendor/breakpoint/parsers/resolution/_resolution.scss +60 -0
  99. data/_sass/so-simple/vendor/breakpoint/parsers/single/_default.scss +13 -0
  100. data/_sass/so-simple/vendor/breakpoint/parsers/triple/_default.scss +18 -0
  101. data/_sass/so-simple/vendor/lity/_lity.scss +221 -0
  102. data/assets/css/main.scss +8 -0
  103. data/assets/js/lunr/lunr.da.min.js +18 -0
  104. data/assets/js/lunr/lunr.de.min.js +18 -0
  105. data/assets/js/lunr/lunr.du.min.js +18 -0
  106. data/assets/js/lunr/lunr.es.min.js +18 -0
  107. data/assets/js/lunr/lunr.fi.min.js +18 -0
  108. data/assets/js/lunr/lunr.fr.min.js +18 -0
  109. data/assets/js/lunr/lunr.hu.min.js +18 -0
  110. data/assets/js/lunr/lunr.it.min.js +18 -0
  111. data/assets/js/lunr/lunr.ja.min.js +1 -0
  112. data/assets/js/lunr/lunr.jp.min.js +1 -0
  113. data/assets/js/lunr/lunr.min.js +6 -0
  114. data/assets/js/lunr/lunr.multi.min.js +1 -0
  115. data/assets/js/lunr/lunr.no.min.js +18 -0
  116. data/assets/js/lunr/lunr.pt.min.js +18 -0
  117. data/assets/js/lunr/lunr.ro.min.js +18 -0
  118. data/assets/js/lunr/lunr.ru.min.js +18 -0
  119. data/assets/js/lunr/lunr.stemmer.support.min.js +1 -0
  120. data/assets/js/lunr/lunr.sv.min.js +18 -0
  121. data/assets/js/lunr/lunr.tr.min.js +18 -0
  122. data/assets/js/main.js +15 -0
  123. data/assets/js/main.min.js +6 -0
  124. data/assets/js/plugins/jquery.smooth-scroll.js +358 -0
  125. data/assets/js/plugins/jquery.smooth-scroll.min.js +9 -0
  126. data/assets/js/plugins/lity.js +655 -0
  127. data/assets/js/plugins/lity.min.js +5 -0
  128. data/assets/js/plugins/table-of-contents.js +59 -0
  129. data/assets/js/search-data.json +27 -0
  130. metadata +312 -0
@@ -0,0 +1,21 @@
1
+ /* ==========================================================================
2
+ Color Functions
3
+ ========================================================================== */
4
+
5
+ /// Slightly lighten a color
6
+ /// @access public
7
+ /// @param {Color} $color - color to tint
8
+ /// @param {Number} $percentage - percentage of `$color` in returned color
9
+ /// @return {Color}
10
+ @function tint($color, $percentage) {
11
+ @return mix(#fff, $color, $percentage);
12
+ }
13
+
14
+ /// Slightly darken a color
15
+ /// @access public
16
+ /// @param {Color} $color - color to shade
17
+ /// @param {Number} $percentage - percentage of `$color` in returned color
18
+ /// @return {Color}
19
+ @function shade($color, $percentage) {
20
+ @return mix(#000, $color, $percentage);
21
+ }
@@ -0,0 +1,7 @@
1
+ /*
2
+ EM conversion
3
+ ========================================================================== */
4
+
5
+ @function em($target, $context: $doc-font-size) {
6
+ @return ($target / $context) * 1em;
7
+ }
@@ -0,0 +1,33 @@
1
+ /* ==========================================================================
2
+ Fluid Type
3
+ as seen on https://madebymike.com.au/writing/fluid-type-calc-examples/
4
+ ========================================================================== */
5
+
6
+ @function strip-unit($value) {
7
+ @return $value / ($value * 0 + 1);
8
+ }
9
+
10
+ @mixin fluid-type($min-vw, $max-vw, $min-font-size, $max-font-size) {
11
+ // scss-lint:disable UnnecessaryParentReference
12
+ $u1: unit($min-vw);
13
+ $u2: unit($max-vw);
14
+ $u3: unit($min-font-size);
15
+ $u4: unit($max-font-size);
16
+
17
+ @if $u1 == $u2 and $u1 == $u3 and $u1 == $u4 {
18
+ & {
19
+
20
+ font-size: $min-font-size;
21
+
22
+ @media screen and (min-width: $min-vw) {
23
+ font-size: calc(#{$min-font-size} + #{strip-unit($max-font-size - $min-font-size)} * ((100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)}));
24
+ }
25
+
26
+ @media screen and (min-width: $max-vw) {
27
+ font-size: $max-font-size;
28
+ }
29
+ }
30
+ } @else {
31
+ @error "Detected mixed units. Please use the same units for all parameters. " + $u1 +", " + $u2 + ", " + $u3 +", "+ $u4;
32
+ }
33
+ }
@@ -0,0 +1,38 @@
1
+ /*
2
+ Compass YIQ Color Contrast
3
+ https://github.com/easy-designs/yiq-color-contrast
4
+ ========================================================================== */
5
+
6
+ @function yiq-is-light(
7
+ $color,
8
+ $threshold: $yiq-contrasted-threshold
9
+ ) {
10
+ $red: red($color);
11
+ $green: green($color);
12
+ $blue: blue($color);
13
+
14
+ $yiq: (($red*299)+($green*587)+($blue*114))/1000;
15
+
16
+ @if $yiq-debug { @debug $yiq, $threshold; }
17
+
18
+ @return if($yiq >= $threshold, true, false);
19
+ }
20
+
21
+ @function yiq-contrast-color(
22
+ $color,
23
+ $dark: $yiq-contrasted-dark-default,
24
+ $light: $yiq-contrasted-light-default,
25
+ $threshold: $yiq-contrasted-threshold
26
+ ) {
27
+ @return if(yiq-is-light($color, $threshold), $yiq-contrasted-dark-default, $yiq-contrasted-light-default);
28
+ }
29
+
30
+ @mixin yiq-contrasted(
31
+ $background-color,
32
+ $dark: $yiq-contrasted-dark-default,
33
+ $light: $yiq-contrasted-light-default,
34
+ $threshold: $yiq-contrasted-threshold
35
+ ) {
36
+ background-color: $background-color;
37
+ color: yiq-contrast-color($background-color, $dark, $light, $threshold);
38
+ }
@@ -0,0 +1,32 @@
1
+ /* ==========================================================================
2
+ Clearfix Mixin
3
+ ========================================================================== */
4
+
5
+ /*
6
+ * Provides an easy way to include a clearfix for containing floats.
7
+ * link http://cssmojo.com/latest_new_clearfix_so_far/
8
+ *
9
+ * example scss - Usage
10
+ *
11
+ * .element {
12
+ * @include clearfix;
13
+ * }
14
+ *
15
+ * example css - CSS Output
16
+ *
17
+ * .element::after {
18
+ * clear: both;
19
+ * content: "";
20
+ * display: table;
21
+ * }
22
+ */
23
+
24
+ @mixin clearfix {
25
+ clear: both;
26
+
27
+ &::after {
28
+ clear: both;
29
+ content: "";
30
+ display: table;
31
+ }
32
+ }
@@ -0,0 +1,15 @@
1
+ /* ==========================================================================
2
+ Float Mixins
3
+ ========================================================================== */
4
+
5
+ @mixin float-left {
6
+ float: left !important;
7
+ }
8
+
9
+ @mixin float-right {
10
+ float: right !important;
11
+ }
12
+
13
+ @mixin float-none {
14
+ float: none !important;
15
+ }
@@ -0,0 +1,38 @@
1
+ /* ==========================================================================
2
+ Image Mixins
3
+ - Responsive image
4
+ - Retina image
5
+ ========================================================================== */
6
+
7
+ /*
8
+ Responsive image
9
+ Keep images from scaling beyond the width of their parents.
10
+ ========================================================================== */
11
+
12
+ @mixin img-fluid {
13
+ // Part 1: Set a maximum relative to the parent
14
+ max-width: 100%;
15
+ // Part 2: Override the height to auto, otherwise images will be stretched
16
+ // when setting a width and height attribute on the img element.
17
+ height: auto;
18
+ }
19
+
20
+ /*
21
+ Retina image
22
+ Short retina mixin for setting background-image and -size.
23
+ ========================================================================== */
24
+
25
+ @mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {
26
+ background-image: url($file-1x);
27
+
28
+ // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,
29
+ // but doesn't convert dppx=>dpi.
30
+ // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.
31
+ // Compatibility info: http://caniuse.com/#feat=css-media-resolution
32
+ @media
33
+ only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx
34
+ only screen and (min-resolution: 2dppx) { // Standardized
35
+ background-image: url($file-2x);
36
+ background-size: $width-1x $height-1x;
37
+ }
38
+ }
@@ -0,0 +1,9 @@
1
+ /* ==========================================================================
2
+ List Mixins
3
+ ========================================================================== */
4
+
5
+ // Unstyled keeps list items block level, just removes default browser padding and list-style
6
+ @mixin list-unstyled {
7
+ padding-left: 0;
8
+ list-style: none;
9
+ }
@@ -0,0 +1,10 @@
1
+ /* ==========================================================================
2
+ Text Truncate Mixin
3
+ Requires inline-block or block for proper styling
4
+ ========================================================================== */
5
+
6
+ @mixin text-truncate() {
7
+ overflow: hidden;
8
+ text-overflow: ellipsis;
9
+ white-space: nowrap;
10
+ }
@@ -0,0 +1,43 @@
1
+ /* ==========================================================================
2
+ Accessibility Modules
3
+ ========================================================================== */
4
+
5
+ /* Text meant only for screen readers */
6
+ .screen-reader-text,
7
+ .screen-reader-text span,
8
+ .screen-reader-shortcut {
9
+ position: absolute !important;
10
+ width: 1px;
11
+ height: 1px;
12
+ clip: rect(0, 0, 0, 0);
13
+ border: 0;
14
+ overflow: hidden;
15
+
16
+ &:focus {
17
+ display: block;
18
+ top: 5px;
19
+ left: 5px;
20
+ width: auto;
21
+ height: auto;
22
+ padding: 0.75em 1em;
23
+ clip: auto !important;
24
+ border-radius: 0.125em;
25
+ background-color: $base-color;
26
+ color: #fff;
27
+ font-weight: bold;
28
+ line-height: normal;
29
+ text-decoration: none;
30
+ box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
31
+ z-index: 100000;
32
+ }
33
+ }
34
+
35
+ .screen-reader-text:focus,
36
+ .screen-reader-shortcut:focus {
37
+ width: auto;
38
+ height: auto;
39
+ clip: auto !important;
40
+ text-decoration: none;
41
+ box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
42
+ z-index: 100000;
43
+ }
@@ -0,0 +1,60 @@
1
+ /* ==========================================================================
2
+ Alignment
3
+ ========================================================================== */
4
+
5
+ .align-baseline {
6
+ vertical-align: baseline !important;
7
+ } /* Browser default */
8
+ .align-top {
9
+ vertical-align: top !important;
10
+ }
11
+ .align-middle {
12
+ vertical-align: middle !important;
13
+ }
14
+ .align-bottom {
15
+ vertical-align: bottom !important;
16
+ }
17
+ .align-text-bottom {
18
+ vertical-align: text-bottom !important;
19
+ }
20
+ .align-text-top {
21
+ vertical-align: text-top !important;
22
+ }
23
+
24
+ /*
25
+ Image Alignment
26
+ ========================================================================== */
27
+
28
+ .align-center,
29
+ div.align-center,
30
+ a img.align-center {
31
+ display: block;
32
+ margin-right: auto;
33
+ margin-left: auto;
34
+ }
35
+
36
+ figure.align-center {
37
+ img {
38
+ display: block;
39
+ margin-right: auto;
40
+ margin-left: auto;
41
+ }
42
+
43
+ figcaption {
44
+ text-align: center;
45
+ }
46
+ }
47
+
48
+ .align-right,
49
+ a img.align-right {
50
+ margin-bottom: 1rem;
51
+ margin-left: 1rem;
52
+ float: right;
53
+ }
54
+
55
+ .align-left,
56
+ a img.align-left {
57
+ margin-right: 1rem;
58
+ margin-bottom: 1rem;
59
+ float: left;
60
+ }
@@ -0,0 +1,99 @@
1
+ /* ==========================================================================
2
+ Animations
3
+ ========================================================================== */
4
+
5
+ /* add .animated class to elements you wish to animate
6
+ * along with the type of animation (eg: <div class="animated fadeIn"></div>)
7
+ */
8
+
9
+ .animated {
10
+ -webkit-animation-fill-mode: both;
11
+ animation-fill-mode: both;
12
+ -webkit-animation-duration: 1s;
13
+ animation-duration: 1s;
14
+ }
15
+
16
+ /*
17
+ Fade-in animation .fadeIn
18
+ ========================================================================== */
19
+
20
+ @-webkit-keyframes fadeIn {
21
+ 0% {
22
+ opacity: 0;
23
+ }
24
+ 100% {
25
+ opacity: 1;
26
+ }
27
+ }
28
+ @keyframes fadeIn {
29
+ 0% {
30
+ opacity: 0;
31
+ }
32
+ 100% {
33
+ opacity: 1;
34
+ }
35
+ }
36
+
37
+ .fadeIn {
38
+ -webkit-animation-name: fadeIn;
39
+ animation-name: fadeIn;
40
+ }
41
+
42
+ /*
43
+ Fade-in down animation .fadeInDown
44
+ ========================================================================== */
45
+
46
+ @-webkit-keyframes fadeInDown {
47
+ 0% {
48
+ opacity: 0;
49
+ -webkit-transform: translateY(-20px);
50
+ }
51
+ 100% {
52
+ opacity: 1;
53
+ -webkit-transform: translateY(0);
54
+ }
55
+ }
56
+ @keyframes fadeInDown {
57
+ 0% {
58
+ opacity: 0;
59
+ -webkit-transform: translateY(-20px);
60
+ transform: translateY(-20px);
61
+ }
62
+ 100% {
63
+ opacity: 1;
64
+ -webkit-transform: translateY(0);
65
+ transform: translateY(0);
66
+ }
67
+ }
68
+
69
+ .fadeInDown {
70
+ -webkit-animation-name: fadeInDown;
71
+ animation-name: fadeInDown;
72
+ }
73
+
74
+ /*
75
+ Drop animation .drop
76
+ ========================================================================== */
77
+
78
+ @-webkit-keyframes drop {
79
+ 0% {
80
+ -webkit-transform: translateY(-500px);
81
+ }
82
+ 100% {
83
+ -webkit-transform: translateY(0);
84
+ }
85
+ }
86
+ @keyframes drop {
87
+ 0% {
88
+ -webkit-transform: translateY(-500px);
89
+ transform: translateY(-500px);
90
+ }
91
+ 100% {
92
+ -webkit-transform: translateY(0);
93
+ transform: translateY(0);
94
+ }
95
+ }
96
+ .drop {
97
+ -webkit-animation-name: drop;
98
+ animation-name: drop;
99
+ }
@@ -0,0 +1,7 @@
1
+ /* ==========================================================================
2
+ Clearfix
3
+ ========================================================================== */
4
+
5
+ .clearfix {
6
+ @include clearfix();
7
+ }
@@ -0,0 +1,7 @@
1
+ /* ==========================================================================
2
+ Floats
3
+ ========================================================================== */
4
+
5
+ .float-left { @include float-left; }
6
+ .float-right { @include float-right; }
7
+ .float-none { @include float-none; }
@@ -0,0 +1,66 @@
1
+ /* ==========================================================================
2
+ Responsive Embed
3
+ Credit: Nicolas Gallagher and SUIT CSS.
4
+
5
+ <!-- 16:9 aspect ratio -->
6
+ <div class="responsive-embed responsive-embed-16by9">
7
+ <iframe class="responsive-embed-item" src="..."></iframe>
8
+ </div>
9
+
10
+ <!-- 4:3 aspect ratio -->
11
+ <div class="responsive-embed responsive-embed-4by3">
12
+ <iframe class="responsive-embed-item" src="..."></iframe>
13
+ </div>
14
+ ========================================================================== */
15
+
16
+ .responsive-embed {
17
+ display: block;
18
+ position: relative;
19
+ width: 100%;
20
+ margin-bottom: 1.5rem;
21
+ padding: 0;
22
+ overflow: hidden;
23
+
24
+ &::before {
25
+ display: block;
26
+ content: "";
27
+ }
28
+
29
+ .responsive-embed-item,
30
+ iframe,
31
+ embed,
32
+ object,
33
+ video {
34
+ position: absolute;
35
+ top: 0;
36
+ bottom: 0;
37
+ left: 0;
38
+ width: 100%;
39
+ height: 100%;
40
+ border: 0;
41
+ }
42
+ }
43
+
44
+ .responsive-embed-21by9 {
45
+ &::before {
46
+ padding-top: percentage(9 / 21);
47
+ }
48
+ }
49
+
50
+ .responsive-embed-16by9 {
51
+ &::before {
52
+ padding-top: percentage(9 / 16);
53
+ }
54
+ }
55
+
56
+ .responsive-embed-4by3 {
57
+ &::before {
58
+ padding-top: percentage(3 / 4);
59
+ }
60
+ }
61
+
62
+ .responsive-embed-1by1 {
63
+ &::before {
64
+ padding-top: percentage(1 / 1);
65
+ }
66
+ }