')
373 | .append(i.clone())
374 | .remove()
375 | .html()
376 | .replace(/type="password"/i, 'type="text"')
377 | .replace(/type=password/i, 'type=text')
378 | );
379 |
380 | if (i.attr('id') != '')
381 | x.attr('id', i.attr('id') + '-polyfill-field');
382 |
383 | if (i.attr('name') != '')
384 | x.attr('name', i.attr('name') + '-polyfill-field');
385 |
386 | x.addClass('polyfill-placeholder')
387 | .val(x.attr('placeholder')).insertAfter(i);
388 |
389 | if (i.val() == '')
390 | i.hide();
391 | else
392 | x.hide();
393 |
394 | i
395 | .on('blur', function(event) {
396 |
397 | event.preventDefault();
398 |
399 | var x = i.parent().find('input[name=' + i.attr('name') + '-polyfill-field]');
400 |
401 | if (i.val() == '') {
402 |
403 | i.hide();
404 | x.show();
405 |
406 | }
407 |
408 | });
409 |
410 | x
411 | .on('focus', function(event) {
412 |
413 | event.preventDefault();
414 |
415 | var i = x.parent().find('input[name=' + x.attr('name').replace('-polyfill-field', '') + ']');
416 |
417 | x.hide();
418 |
419 | i
420 | .show()
421 | .focus();
422 |
423 | })
424 | .on('keypress', function(event) {
425 |
426 | event.preventDefault();
427 | x.val('');
428 |
429 | });
430 |
431 | });
432 |
433 | // Events.
434 | $this
435 | .on('submit', function() {
436 |
437 | $this.find('input[type=text],input[type=password],textarea')
438 | .each(function(event) {
439 |
440 | var i = $(this);
441 |
442 | if (i.attr('name').match(/-polyfill-field$/))
443 | i.attr('name', '');
444 |
445 | if (i.val() == i.attr('placeholder')) {
446 |
447 | i.removeClass('polyfill-placeholder');
448 | i.val('');
449 |
450 | }
451 |
452 | });
453 |
454 | })
455 | .on('reset', function(event) {
456 |
457 | event.preventDefault();
458 |
459 | $this.find('select')
460 | .val($('option:first').val());
461 |
462 | $this.find('input,textarea')
463 | .each(function() {
464 |
465 | var i = $(this),
466 | x;
467 |
468 | i.removeClass('polyfill-placeholder');
469 |
470 | switch (this.type) {
471 |
472 | case 'submit':
473 | case 'reset':
474 | break;
475 |
476 | case 'password':
477 | i.val(i.attr('defaultValue'));
478 |
479 | x = i.parent().find('input[name=' + i.attr('name') + '-polyfill-field]');
480 |
481 | if (i.val() == '') {
482 | i.hide();
483 | x.show();
484 | }
485 | else {
486 | i.show();
487 | x.hide();
488 | }
489 |
490 | break;
491 |
492 | case 'checkbox':
493 | case 'radio':
494 | i.attr('checked', i.attr('defaultValue'));
495 | break;
496 |
497 | case 'text':
498 | case 'textarea':
499 | i.val(i.attr('defaultValue'));
500 |
501 | if (i.val() == '') {
502 | i.addClass('polyfill-placeholder');
503 | i.val(i.attr('placeholder'));
504 | }
505 |
506 | break;
507 |
508 | default:
509 | i.val(i.attr('defaultValue'));
510 | break;
511 |
512 | }
513 | });
514 |
515 | });
516 |
517 | return $this;
518 |
519 | };
520 |
521 | /**
522 | * Moves elements to/from the first positions of their respective parents.
523 | * @param {jQuery} $elements Elements (or selector) to move.
524 | * @param {bool} condition If true, moves elements to the top. Otherwise, moves elements back to their original locations.
525 | */
526 | $.prioritize = function($elements, condition) {
527 |
528 | var key = '__prioritize';
529 |
530 | // Expand $elements if it's not already a jQuery object.
531 | if (typeof $elements != 'jQuery')
532 | $elements = $($elements);
533 |
534 | // Step through elements.
535 | $elements.each(function() {
536 |
537 | var $e = $(this), $p,
538 | $parent = $e.parent();
539 |
540 | // No parent? Bail.
541 | if ($parent.length == 0)
542 | return;
543 |
544 | // Not moved? Move it.
545 | if (!$e.data(key)) {
546 |
547 | // Condition is false? Bail.
548 | if (!condition)
549 | return;
550 |
551 | // Get placeholder (which will serve as our point of reference for when this element needs to move back).
552 | $p = $e.prev();
553 |
554 | // Couldn't find anything? Means this element's already at the top, so bail.
555 | if ($p.length == 0)
556 | return;
557 |
558 | // Move element to top of parent.
559 | $e.prependTo($parent);
560 |
561 | // Mark element as moved.
562 | $e.data(key, $p);
563 |
564 | }
565 |
566 | // Moved already?
567 | else {
568 |
569 | // Condition is true? Bail.
570 | if (condition)
571 | return;
572 |
573 | $p = $e.data(key);
574 |
575 | // Move element back to its original location (using our placeholder).
576 | $e.insertAfter($p);
577 |
578 | // Unmark element as moved.
579 | $e.removeData(key);
580 |
581 | }
582 |
583 | });
584 |
585 | };
586 |
587 | })(jQuery);
--------------------------------------------------------------------------------
/assets/sass/base/_page.scss:
--------------------------------------------------------------------------------
1 | /*
2 | Hugo Story by CaressOfSteel
3 | A (modular, highly tweakable) responsive one-page theme for Hugo.
4 | Ported from Story by HTML5UP.
5 | This Hugo theme is licensed under the Creative Commons Attribution 3.0 License.
6 | */
7 |
8 | /* Basic */
9 |
10 | // MSIE: Required for IEMobile.
11 | @-ms-viewport {
12 | width: device-width;
13 | }
14 |
15 | // MSIE: Prevents scrollbar from overlapping content.
16 | body {
17 | -ms-overflow-style: scrollbar;
18 | }
19 |
20 | // Ensures page width is always >=320px.
21 | @include breakpoint('<=xsmall') {
22 | html, body {
23 | min-width: 320px;
24 | }
25 | }
26 |
27 | // Set box model to border-box.
28 | // Based on css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice
29 | html {
30 | box-sizing: border-box;
31 | }
32 |
33 | *, *:before, *:after {
34 | box-sizing: inherit;
35 | }
36 |
37 | body {
38 | background: _palette(bg);
39 |
40 | // Stops initial animations until page loads.
41 | &.is-preload {
42 | *, *:before, *:after {
43 | @include vendor('animation', 'none !important');
44 | @include vendor('transition', 'none !important');
45 | }
46 | }
47 |
48 | }
--------------------------------------------------------------------------------
/assets/sass/base/_reset.scss:
--------------------------------------------------------------------------------
1 | /*
2 | Hugo Story by CaressOfSteel
3 | A (modular, highly tweakable) responsive one-page theme for Hugo.
4 | Ported from Story by HTML5UP.
5 | This Hugo theme is licensed under the Creative Commons Attribution 3.0 License.
6 | */
7 |
8 | // Reset.
9 | // Based on meyerweb.com/eric/tools/css/reset (v2.0 | 20110126 | License: public domain)
10 |
11 | html, body, div, span, applet, object,
12 | iframe, h1, h2, h3, h4, h5, h6, p, blockquote,
13 | pre, a, abbr, acronym, address, big, cite,
14 | code, del, dfn, em, img, ins, kbd, q, s, samp,
15 | small, strike, strong, sub, sup, tt, var, b,
16 | u, i, center, dl, dt, dd, ol, ul, li, fieldset,
17 | form, label, legend, table, caption, tbody,
18 | tfoot, thead, tr, th, td, article, aside,
19 | canvas, details, embed, figure, figcaption,
20 | footer, header, hgroup, menu, nav, output, ruby,
21 | section, summary, time, mark, audio, video {
22 | margin: 0;
23 | padding: 0;
24 | border: 0;
25 | font-size: 100%;
26 | font: inherit;
27 | vertical-align: baseline;
28 | }
29 |
30 | article, aside, details, figcaption, figure,
31 | footer, header, hgroup, menu, nav, section {
32 | display: block;
33 | }
34 |
35 | body {
36 | line-height: 1;
37 | }
38 |
39 | ol, ul {
40 | list-style:none;
41 | }
42 |
43 | blockquote, q {
44 | quotes: none;
45 |
46 | &:before,
47 | &:after {
48 | content: '';
49 | content: none;
50 | }
51 | }
52 |
53 | table {
54 | border-collapse: collapse;
55 | border-spacing: 0;
56 | }
57 |
58 | body {
59 | -webkit-text-size-adjust: none;
60 | }
61 |
62 | mark {
63 | background-color: transparent;
64 | color: inherit;
65 | }
66 |
67 | input::-moz-focus-inner {
68 | border: 0;
69 | padding: 0;
70 | }
71 |
72 | input, select, textarea {
73 | -moz-appearance: none;
74 | -webkit-appearance: none;
75 | -ms-appearance: none;
76 | appearance: none;
77 | }
--------------------------------------------------------------------------------
/assets/sass/base/_typography.scss:
--------------------------------------------------------------------------------
1 | /*
2 | Hugo Story by CaressOfSteel
3 | A (modular, highly tweakable) responsive one-page theme for Hugo.
4 | Ported from Story by HTML5UP.
5 | This Hugo theme is licensed under the Creative Commons Attribution 3.0 License.
6 | */
7 |
8 | /* Type */
9 |
10 | html {
11 | font-size: 18pt;
12 |
13 | @include breakpoint('<=xlarge') {
14 | font-size: 14pt;
15 | }
16 |
17 | @include breakpoint('<=large') {
18 | font-size: 12pt;
19 | }
20 |
21 | @include breakpoint('<=small') {
22 | font-size: 11pt;
23 | }
24 |
25 | @include breakpoint('<=xxsmall') {
26 | font-size: 10pt;
27 | }
28 | }
29 |
30 | body {
31 | background-color: _palette(bg);
32 | color: _palette(fg);
33 | }
34 |
35 | body, input, select, textarea {
36 | font-family: _font(family);
37 | font-size: 1rem;
38 | font-weight: _font(weight);
39 | line-height: 1.65;
40 | }
41 |
42 | a {
43 | @include vendor('transition', 'color #{_duration(transition)} ease-in-out');
44 | text-decoration: underline;
45 |
46 | &:hover {
47 | text-decoration: none;
48 | }
49 | }
50 |
51 | strong, b {
52 | font-weight: _font(weight-bold);
53 | }
54 |
55 | em, i {
56 | font-style: italic;
57 | }
58 |
59 | p {
60 | margin: 0 0 _size(element-margin) 0;
61 |
62 | &.major {
63 | font-size: 1.25rem;
64 | }
65 | }
66 |
67 | h1, h2, h3, h4, h5, h6 {
68 | font-weight: _font(weight);
69 | line-height: 1.375;
70 | letter-spacing: _font(kerning);
71 | margin: 0 0 (_size(element-margin) * 0.5) 0;
72 |
73 | a {
74 | color: inherit;
75 | text-decoration: none;
76 | }
77 | }
78 |
79 | h1 {
80 | font-size: 3.5rem;
81 | line-height: 1.2;
82 | }
83 |
84 | h2 {
85 | font-size: 2.25rem;
86 | }
87 |
88 | h3 {
89 | font-size: 1.5rem;
90 | }
91 |
92 | h4 {
93 | font-size: 1.1rem;
94 | }
95 |
96 | h5 {
97 | font-size: 0.9rem;
98 | }
99 |
100 | h6 {
101 | font-size: 0.7rem;
102 | }
103 |
104 | sub {
105 | font-size: 0.8rem;
106 | position: relative;
107 | top: 0.5rem;
108 | }
109 |
110 | sup {
111 | font-size: 0.8rem;
112 | position: relative;
113 | top: -0.5rem;
114 | }
115 |
116 | blockquote {
117 | border-left: solid (_size(border-width) * 4);
118 | font-style: italic;
119 | margin: 0 0 _size(element-margin) 0;
120 | padding: (_size(element-margin) / 4) 0 (_size(element-margin) / 4) _size(element-margin);
121 | }
122 |
123 | code {
124 | border-radius: _size(border-radius);
125 | font-family: _font(family-fixed);
126 | font-size: 0.9em;
127 | margin: 0 0.25rem;
128 | padding: 0.25rem 0.325rem;
129 | }
130 |
131 | pre {
132 | -webkit-overflow-scrolling: touch;
133 | font-family: _font(family-fixed);
134 | font-size: 0.9em;
135 | margin: 0 0 _size(element-margin) 0;
136 |
137 | code {
138 | display: block;
139 | line-height: 1.5;
140 | padding: 0.75rem 1rem;
141 | overflow-x: auto;
142 | }
143 | }
144 |
145 | hr {
146 | border: 0;
147 | border-bottom: solid _size(border-width);
148 | margin: (_size(element-margin) * 1.25) 0;
149 |
150 | &.major {
151 | margin: (_size(element-margin) * 1.75) 0;
152 | }
153 | }
154 |
155 | .align-left {
156 | text-align: left;
157 | }
158 |
159 | .align-center {
160 | text-align: center;
161 | }
162 |
163 | .align-right {
164 | text-align: right;
165 | }
166 |
167 | .footerspacer {
168 | padding-left: 15px;
169 | padding-right: 15px;
170 | }
171 |
172 | @include breakpoint('<=small') {
173 | p {
174 | &.major {
175 | font-size: 1.1rem;
176 | }
177 | }
178 |
179 | h1 {
180 | font-size: 2.5rem;
181 | }
182 |
183 | h2 {
184 | font-size: 2rem;
185 | }
186 |
187 | h3 {
188 | font-size: 1.25rem;
189 | }
190 |
191 | h4 {
192 | font-size: 1rem;
193 | }
194 | }
195 |
196 | @mixin color-typography($p: null) {
197 |
198 | @if $p != null {
199 | background-color: _palette($p, bg);
200 | color: _palette($p, fg);
201 | }
202 |
203 | input, select, textarea {
204 | color: _palette($p, fg-bold);
205 | }
206 |
207 | a {
208 | color: _palette($p, fg-bold);
209 |
210 | &:hover {
211 | color: _palette($p, accent);
212 | }
213 | }
214 |
215 | strong, b {
216 | color: _palette($p, fg-bold);
217 | }
218 |
219 | h1, h2, h3, h4, h5, h6 {
220 | color: _palette($p, fg-bold);
221 | }
222 |
223 | blockquote {
224 | border-left-color: _palette($p, border);
225 | }
226 |
227 | code {
228 | background: _palette($p, border-bg);
229 | border-color: _palette($p, border);
230 | }
231 |
232 | hr {
233 | border-bottom-color: _palette($p, border);
234 | }
235 | }
236 |
237 | @include color-typography;
--------------------------------------------------------------------------------
/assets/sass/components/_actions.scss:
--------------------------------------------------------------------------------
1 | /*
2 | Hugo Story by CaressOfSteel
3 | A (modular, highly tweakable) responsive one-page theme for Hugo.
4 | Ported from Story by HTML5UP.
5 | This Hugo theme is licensed under the Creative Commons Attribution 3.0 License.
6 | */
7 |
8 | /* Actions */
9 |
10 | ul.actions {
11 | @include vendor('display', 'flex');
12 | cursor: default;
13 | list-style: none;
14 | margin-left: (_size(element-margin) * -0.5);
15 | padding-left: 0;
16 |
17 | li {
18 | padding: 0 0 0 (_size(element-margin) * 0.5);
19 | vertical-align: middle;
20 | }
21 |
22 | &.special {
23 | @include vendor('justify-content', 'center');
24 | width: 100%;
25 | margin-left: 0;
26 |
27 | li {
28 | &:first-child {
29 | padding-left: 0;
30 | }
31 | }
32 | }
33 |
34 | &.stacked {
35 | @include vendor('flex-direction', 'column');
36 | margin-left: 0;
37 |
38 | li {
39 | padding: (_size(element-margin) * 0.65) 0 0 0;
40 |
41 | &:first-child {
42 | padding-top: 0;
43 | }
44 | }
45 | }
46 |
47 | &.fit {
48 | width: calc(100% + #{_size(element-margin) * 0.5});
49 |
50 | li {
51 | @include vendor('flex-grow', '1');
52 | @include vendor('flex-shrink', '1');
53 | width: 100%;
54 |
55 | > * {
56 | width: 100%;
57 | }
58 | }
59 |
60 | &.stacked {
61 | width: 100%;
62 | }
63 | }
64 |
65 | @include breakpoint('<=xsmall') {
66 | &:not(.fixed) {
67 | @include vendor('flex-direction', 'column');
68 | margin-left: 0;
69 | width: 100% !important;
70 |
71 | li {
72 | @include vendor('flex-grow', '1');
73 | @include vendor('flex-shrink', '1');
74 | padding: (_size(element-margin) * 0.5) 0 0 0;
75 | text-align: center;
76 | width: 100%;
77 |
78 | > * {
79 | width: 100%;
80 | }
81 |
82 | &:first-child {
83 | padding-top: 0;
84 | }
85 |
86 | input[type="submit"],
87 | input[type="reset"],
88 | input[type="button"],
89 | button,
90 | .button {
91 | width: 100%;
92 |
93 | &.icon {
94 | &:before {
95 | margin-left: -0.5rem;
96 | }
97 | }
98 | }
99 | }
100 | }
101 | }
102 | }
--------------------------------------------------------------------------------
/assets/sass/components/_box.scss:
--------------------------------------------------------------------------------
1 | /*
2 | Hugo Story by CaressOfSteel
3 | A (modular, highly tweakable) responsive one-page theme for Hugo.
4 | Ported from Story by HTML5UP.
5 | This Hugo theme is licensed under the Creative Commons Attribution 3.0 License.
6 | */
7 |
8 | /* Box */
9 |
10 | .box {
11 | border-radius: _size(border-radius);
12 | border: solid _size(border-width);
13 | margin-bottom: _size(element-margin);
14 | padding: 1.5rem;
15 |
16 | > :last-child,
17 | > :last-child > :last-child,
18 | > :last-child > :last-child > :last-child {
19 | margin-bottom: 0;
20 | }
21 |
22 | &.alt {
23 | border: 0;
24 | border-radius: 0;
25 | padding: 0;
26 | }
27 | }
28 |
29 | @mixin color-box($p: null) {
30 | .box {
31 | border-color: _palette($p, border);
32 | }
33 | }
34 |
35 | @include color-box;
--------------------------------------------------------------------------------
/assets/sass/components/_button.scss:
--------------------------------------------------------------------------------
1 | /*
2 | Hugo Story by CaressOfSteel
3 | A (modular, highly tweakable) responsive one-page theme for Hugo.
4 | Ported from Story by HTML5UP.
5 | This Hugo theme is licensed under the Creative Commons Attribution 3.0 License.
6 | */
7 |
8 | /* Button */
9 |
10 | input[type="submit"],
11 | input[type="reset"],
12 | input[type="button"],
13 | button,
14 | .button {
15 | @include vendor('appearance', 'none');
16 | @include vendor('transition', (
17 | 'background-color #{_duration(transition)} ease-in-out',
18 | 'box-shadow #{_duration(transition)} ease-in-out',
19 | 'color #{_duration(transition)} ease-in-out'
20 | ));
21 | border: 0;
22 | cursor: pointer;
23 | display: inline-block;
24 | font-weight: _font(weight-bold);
25 | letter-spacing: _font(kerning-alt);
26 | text-align: center;
27 | text-decoration: none;
28 | text-transform: uppercase;
29 | white-space: nowrap;
30 | font-size: 0.75rem;
31 | max-width: 20rem;
32 | height: 3.75em;
33 | line-height: 3.75em;
34 | border-radius: 3.75em;
35 | padding: 0 2.5em;
36 | text-overflow: ellipsis;
37 | overflow: hidden;
38 |
39 | &.icon {
40 | &:before {
41 | margin-right: 0.5rem;
42 | }
43 | }
44 |
45 | &.fit {
46 | width: 100%;
47 | }
48 |
49 | &.small {
50 | font-size: 0.6rem;
51 | height: 3.325em;
52 | line-height: 3.325em;
53 | border-radius: 3.325em;
54 | padding: 0 2em;
55 | }
56 |
57 | &.large {
58 | font-size: 0.8rem;
59 | height: 4em;
60 | line-height: 4em;
61 | border-radius: 4em;
62 | padding: 0 3em;
63 | }
64 |
65 | &.wide {
66 | min-width: 14em;
67 | }
68 |
69 | &.disabled,
70 | &:disabled {
71 | @include vendor('pointer-events', 'none');
72 | opacity: 0.25;
73 | }
74 | }
75 |
76 | @mixin color-button($p: null) {
77 | input[type="submit"],
78 | input[type="reset"],
79 | input[type="button"],
80 | button,
81 | .button {
82 | background-color: transparent;
83 | box-shadow: inset 0 0 0 _size(border-width) _palette($p, border);
84 | color: _palette($p, fg-bold) !important;
85 |
86 | &:hover {
87 | box-shadow: inset 0 0 0 _size(border-width) _palette($p, accent);
88 | color: _palette($p, accent) !important;
89 | }
90 |
91 | &:active {
92 | background-color: transparentize(_palette($p, accent), 0.8);
93 | box-shadow: inset 0 0 0 _size(border-width) _palette($p, accent);
94 | color: _palette($p, accent) !important;
95 | }
96 |
97 | &.primary {
98 | background-color: _palette($p, fg-bold);
99 | box-shadow: none;
100 | color: _palette($p, bg) !important;
101 |
102 | &:hover {
103 | background-color: _palette($p, accent);
104 | }
105 |
106 | &:active {
107 | background-color: darken(_palette($p, accent), 12);
108 | }
109 | }
110 | }
111 | }
112 |
113 | @include color-button;
--------------------------------------------------------------------------------
/assets/sass/components/_form.scss:
--------------------------------------------------------------------------------
1 | /*
2 | Hugo Story by CaressOfSteel
3 | A (modular, highly tweakable) responsive one-page theme for Hugo.
4 | Ported from Story by HTML5UP.
5 | This Hugo theme is licensed under the Creative Commons Attribution 3.0 License.
6 | */
7 |
8 | /* Form */
9 |
10 | form {
11 | margin: 0 0 _size(element-margin) 0;
12 |
13 | > :last-child {
14 | margin-bottom: 0;
15 | }
16 |
17 | > .fields {
18 | $gutter: (_size(element-margin) * 0.75);
19 |
20 | @include vendor('display', 'flex');
21 | @include vendor('flex-wrap', 'wrap');
22 | width: calc(100% + #{$gutter * 2});
23 | margin: ($gutter * -1) 0 _size(element-margin) ($gutter * -1);
24 |
25 | > .field {
26 | @include vendor('flex-grow', '0');
27 | @include vendor('flex-shrink', '0');
28 | padding: $gutter 0 0 $gutter;
29 | width: calc(100% - #{$gutter * 1});
30 |
31 | &.half {
32 | width: calc(50% - #{$gutter * 0.5});
33 | }
34 |
35 | &.third {
36 | width: calc(#{100% / 3} - #{$gutter * (1 / 3)});
37 | }
38 |
39 | &.quarter {
40 | width: calc(25% - #{$gutter * 0.25});
41 | }
42 | }
43 | }
44 |
45 | @include breakpoint('<=xsmall') {
46 | > .fields {
47 | $gutter: (_size(element-margin) * 0.75);
48 |
49 | width: calc(100% + #{$gutter * 2});
50 | margin: ($gutter * -1) 0 _size(element-margin) ($gutter * -1);
51 |
52 | > .field {
53 | padding: $gutter 0 0 $gutter;
54 | width: calc(100% - #{$gutter * 1});
55 |
56 | &.half {
57 | width: calc(100% - #{$gutter * 1});
58 | }
59 |
60 | &.third {
61 | width: calc(100% - #{$gutter * 1});
62 | }
63 |
64 | &.quarter {
65 | width: calc(100% - #{$gutter * 1});
66 | }
67 | }
68 | }
69 | }
70 | }
71 |
72 | label {
73 | display: block;
74 | font-size: 0.9rem;
75 | font-weight: _font(weight-bold);
76 | margin: 0 0 (_size(element-margin) * 0.5) 0;
77 | }
78 |
79 | input[type="text"],
80 | input[type="password"],
81 | input[type="email"],
82 | input[type="tel"],
83 | input[type="search"],
84 | input[type="url"],
85 | select,
86 | textarea {
87 | @include vendor('appearance', 'none');
88 | background-color: transparent;
89 | border-radius: _size(border-radius);
90 | border: none;
91 | border: solid _size(border-width);
92 | color: inherit;
93 | display: block;
94 | outline: 0;
95 | padding: 0 0.825rem;
96 | text-decoration: none;
97 | width: 100%;
98 |
99 | &:invalid {
100 | box-shadow: none;
101 | }
102 | }
103 |
104 | select {
105 | background-size: 1.25rem;
106 | background-repeat: no-repeat;
107 | background-position: calc(100% - 1rem) center;
108 | height: _size(element-height);
109 | padding-right: _size(element-height);
110 | text-overflow: ellipsis;
111 |
112 | &:focus {
113 | &::-ms-value {
114 | background-color: transparent;
115 | }
116 | }
117 |
118 | &::-ms-expand {
119 | display: none;
120 | }
121 | }
122 |
123 | input[type="text"],
124 | input[type="password"],
125 | input[type="email"],
126 | input[type="tel"],
127 | input[type="search"],
128 | input[type="url"],
129 | select {
130 | height: _size(element-height);
131 | }
132 |
133 | textarea {
134 | padding: 0.75rem 1rem;
135 | }
136 |
137 | input[type="checkbox"],
138 | input[type="radio"], {
139 | @include vendor('appearance', 'none');
140 | display: block;
141 | float: left;
142 | margin-right: -2rem;
143 | opacity: 0;
144 | width: 1rem;
145 | z-index: -1;
146 |
147 | & + label {
148 | @include icon(false, solid);
149 | @include vendor('user-select', 'none');
150 | cursor: pointer;
151 | display: inline-block;
152 | font-size: 1rem;
153 | font-weight: _font(weight);
154 | padding-left: (_size(element-height) * 0.6) + 0.75rem;
155 | padding-right: 0.75rem;
156 | position: relative;
157 | margin-bottom: 0;
158 |
159 | &:before {
160 | border-radius: _size(border-radius);
161 | border: solid _size(border-width);
162 | content: '';
163 | display: inline-block;
164 | font-size: 0.8rem;
165 | height: (_size(element-height) * 0.6);
166 | left: 0;
167 | line-height: (_size(element-height) * 0.6);
168 | position: absolute;
169 | text-align: center;
170 | top: 0;
171 | width: (_size(element-height) * 0.6);
172 | }
173 | }
174 |
175 | &:checked + label {
176 | &:before {
177 | content: '\f00c';
178 | }
179 | }
180 | }
181 |
182 | input[type="checkbox"] {
183 | & + label {
184 | &:before {
185 | border-radius: _size(border-radius);
186 | }
187 | }
188 | }
189 |
190 | input[type="radio"] {
191 | & + label {
192 | &:before {
193 | border-radius: 100%;
194 | }
195 | }
196 | }
197 |
198 | ::-webkit-input-placeholder {
199 | opacity: 1.0;
200 | }
201 |
202 | :-moz-placeholder {
203 | opacity: 1.0;
204 | }
205 |
206 | ::-moz-placeholder {
207 | opacity: 1.0;
208 | }
209 |
210 | :-ms-input-placeholder {
211 | opacity: 1.0;
212 | }
213 |
214 | @mixin color-form($p: null) {
215 | label {
216 | color: _palette($p, fg-bold);
217 | }
218 |
219 | input[type="text"],
220 | input[type="password"],
221 | input[type="email"],
222 | input[type="tel"],
223 | input[type="search"],
224 | input[type="url"],
225 | select,
226 | textarea {
227 | border-color: _palette($p, border);
228 |
229 | &:focus {
230 | border-color: _palette($p, accent);
231 | box-shadow: 0 0 0 _size(border-width) _palette($p, accent);
232 | }
233 | }
234 |
235 | select {
236 | background-image: svg-url("
");
237 |
238 | option {
239 | color: _palette(fg-bold);
240 | background: _palette(bg);
241 | }
242 | }
243 |
244 | input[type="checkbox"],
245 | input[type="radio"], {
246 | & + label {
247 | color: _palette($p, fg);
248 |
249 | &:before {
250 | border-color: _palette($p, border);
251 | }
252 | }
253 |
254 | &:checked + label {
255 | &:before {
256 | background-color: _palette($p, fg-bold);
257 | border-color: _palette($p, fg-bold);
258 | color: _palette($p, bg);
259 | }
260 | }
261 |
262 | &:focus + label {
263 | &:before {
264 | border-color: _palette($p, accent);
265 | box-shadow: 0 0 0 _size(border-width) _palette($p, accent);
266 | }
267 | }
268 | }
269 |
270 | ::-webkit-input-placeholder {
271 | color: _palette($p, fg-light) !important;
272 | }
273 |
274 | :-moz-placeholder {
275 | color: _palette($p, fg-light) !important;
276 | }
277 |
278 | ::-moz-placeholder {
279 | color: _palette($p, fg-light) !important;
280 | }
281 |
282 | :-ms-input-placeholder {
283 | color: _palette($p, fg-light) !important;
284 | }
285 | }
286 |
287 | @include color-form;
--------------------------------------------------------------------------------
/assets/sass/components/_gallery.scss:
--------------------------------------------------------------------------------
1 | /*
2 | Hugo Story by CaressOfSteel
3 | A (modular, highly tweakable) responsive one-page theme for Hugo.
4 | Ported from Story by HTML5UP.
5 | This Hugo theme is licensed under the Creative Commons Attribution 3.0 License.
6 | */
7 |
8 | /* Gallery (transitions) */
9 |
10 | .gallery {
11 |
12 | // Mixin.
13 | @mixin transition-gallery($event) {
14 | $x: null;
15 | $y: null;
16 |
17 | @if ($event == 'load') {
18 | $x: 'body.is-preload &';
19 | $y: _duration(on-load);
20 | }
21 | @else if ($event == 'scroll') {
22 | $x: '&.is-inactive';
23 | $y: _duration(on-scroll);
24 | }
25 |
26 | &.on#{$event}-fade-in {
27 | article {
28 | .image {
29 | img {
30 | @include vendor('transition', 'opacity #{$y} ease-in-out');
31 | @include vendor('transition-delay', '#{_misc(gallery-limit) * _duration(gallery-delay)}');
32 | }
33 | }
34 |
35 | @for $i from 0 through _misc(gallery-limit) {
36 | &:nth-child(#{$i + 1}) {
37 | .image {
38 | img {
39 | @include vendor('transition-delay', '#{$i * _duration(gallery-delay)}');
40 | }
41 | }
42 | }
43 | }
44 | }
45 |
46 | #{$x} {
47 | article {
48 | .image {
49 | img {
50 | opacity: 0;
51 | }
52 | }
53 | }
54 | }
55 | }
56 | }
57 |
58 | // On Load.
59 | @include transition-gallery('load');
60 |
61 | // On Scroll.
62 | @include transition-gallery('scroll');
63 |
64 | }
65 |
66 | /* Gallery (style1) */
67 |
68 | .gallery.style1 {
69 | @include color-typography(invert);
70 | @include color-button(invert);
71 | @include vendor('align-items', 'center');
72 | @include vendor('display', 'flex');
73 | @include vendor('flex-wrap', 'wrap');
74 | @include vendor('justify-content', 'center');
75 | position: relative;
76 | width: 100%;
77 | background-color: transparent;
78 |
79 | > .forward, >.backward {
80 | display: none;
81 | }
82 |
83 | > .inner {
84 | @include vendor('align-items', 'inherit');
85 | @include vendor('display', 'inherit');
86 | @include vendor('flex-wrap', 'inherit');
87 | @include vendor('justify-content', 'inherit');
88 | }
89 |
90 | article {
91 | overflow: hidden;
92 | position: relative;
93 | width: 25%;
94 |
95 | .image {
96 | @include vendor('transition', 'opacity #{_duration(transition)} ease-in-out');
97 | display: block;
98 | width: 100%;
99 | border-radius: 0;
100 |
101 | img {
102 | display: block;
103 | width: 100%;
104 | border-radius: 0;
105 | }
106 | }
107 |
108 | .caption {
109 | @include vendor('align-items', 'center');
110 | @include vendor('display', 'flex');
111 | @include vendor('flex-direction', 'column');
112 | @include vendor('justify-content', 'center');
113 | @include vendor('pointer-events', 'none');
114 | @include vendor('transition', 'opacity #{_duration(transition)} ease-in-out');
115 | position: absolute;
116 | top: 0;
117 | left: 0;
118 | width: 100%;
119 | height: 100%;
120 | background-color: transparentize(_palette(invert, bg), 1 - _misc(overlay-opacity));
121 | opacity: 0;
122 | padding: 2rem;
123 | z-index: 1;
124 | font-size: 0.8rem;
125 |
126 | a {
127 | @include vendor('pointer-events', 'auto');
128 | }
129 |
130 | h2, h3, h4, h5, h6 {
131 | font-size: 1.25rem;
132 | margin-bottom: 0.25rem;
133 | }
134 |
135 | > * {
136 | max-width: 100%;
137 | margin-bottom: 1rem;
138 | }
139 |
140 | > :last-child {
141 | margin-bottom: 0;
142 | }
143 | }
144 |
145 | &:hover {
146 | .caption {
147 | opacity: 1;
148 | }
149 | }
150 | }
151 |
152 | @include breakpoint('<=large') {
153 | article {
154 | width: (100% / 3);
155 |
156 | .caption {
157 | padding: 1rem;
158 | }
159 | }
160 | }
161 |
162 | @include breakpoint('<=medium') {
163 | article {
164 | width: 50%;
165 |
166 | .caption {
167 | padding: 1rem;
168 | }
169 | }
170 | }
171 |
172 | @include breakpoint('<=xsmall') {
173 | article {
174 | width: 100%;
175 |
176 | .caption {
177 | padding: 1rem;
178 | }
179 | }
180 | }
181 |
182 | // Modifiers.
183 |
184 | // size
185 | &.small {
186 | article {
187 | width: 20%;
188 |
189 | .caption {
190 | padding: 1rem;
191 | }
192 | }
193 |
194 | @include breakpoint('<=large') {
195 | article {
196 | width: 25%;
197 |
198 | .caption {
199 | padding: 1rem;
200 | }
201 | }
202 | }
203 |
204 | @include breakpoint('<=medium') {
205 | article {
206 | width: (100% / 3);
207 |
208 | .caption {
209 | padding: 1rem;
210 | }
211 | }
212 | }
213 |
214 | @include breakpoint('<=xsmall') {
215 | article {
216 | width: 50%;
217 |
218 | .caption {
219 | padding: 1rem;
220 | }
221 | }
222 | }
223 | }
224 |
225 | &.medium {
226 | // ...
227 | }
228 |
229 | &.big {
230 | article {
231 | width: (100% / 3);
232 |
233 | .caption {
234 | padding: 3rem;
235 | }
236 | }
237 |
238 | @include breakpoint('<=large') {
239 | article {
240 | width: 50%;
241 |
242 | .caption {
243 | padding: 2rem;
244 | }
245 | }
246 | }
247 |
248 | @include breakpoint('<=medium') {
249 | article {
250 | width: 50%;
251 |
252 | .caption {
253 | padding: 2rem;
254 | }
255 | }
256 | }
257 |
258 | @include breakpoint('<=xsmall') {
259 | article {
260 | width: 100%;
261 |
262 | .caption {
263 | padding: 1rem;
264 | }
265 | }
266 | }
267 | }
268 |
269 | }
270 |
271 | /* Gallery (style2) */
272 |
273 | .gallery.style2 {
274 | @include color-typography(invert);
275 | @include color-button(invert);
276 | @include vendor('display', 'flex');
277 | -webkit-overflow-scrolling: touch;
278 | position: relative;
279 | background-color: transparent;
280 |
281 | > .forward, >.backward {
282 | @include icon(false, solid);
283 | @include vendor('transition', 'opacity #{_duration(transition)} ease-in-out');
284 | position: absolute;
285 | top: 0;
286 | width: 5rem;
287 | height: 100%;
288 | cursor: pointer;
289 | opacity: 0;
290 | z-index: 2;
291 |
292 | &:before {
293 | display: block;
294 | top: calc(50% - 1.5rem);
295 | width: 4rem;
296 | height: 3rem;
297 | line-height: 1em;
298 | font-size: 3rem;
299 | position: absolute;
300 | text-align: center;
301 | }
302 | }
303 |
304 | &:hover {
305 | > .forward, > .backward {
306 | opacity: 1;
307 | }
308 | }
309 |
310 | > .forward {
311 | right: 0;
312 | background-image: linear-gradient(to left, rgba(0,0,0,0.25) 15%, rgba(0,0,0,0));
313 |
314 | &:before {
315 | content: '\f105';
316 | right: 0;
317 | }
318 | }
319 |
320 | > .backward {
321 | left: 0;
322 | background-image: linear-gradient(to right, rgba(0,0,0,0.25) 15%, rgba(0,0,0,0));
323 |
324 | &:before {
325 | content: '\f104';
326 | left: 0;
327 | }
328 | }
329 |
330 | > .inner {
331 | @include vendor('display', 'inherit');
332 | overflow-x: auto;
333 | overflow-y: hidden;
334 | position: relative;
335 | width: 100%;
336 | }
337 |
338 | article {
339 | @include vendor('flex-grow', '0');
340 | @include vendor('flex-shrink', '0');
341 | display: block;
342 | position: relative;
343 | overflow: hidden;
344 | width: 22.5rem;
345 | max-width: 75vw;
346 |
347 | .image {
348 | display: block;
349 | width: 100%;
350 | border-radius: 0;
351 |
352 | img {
353 | display: block;
354 | width: 100%;
355 | border-radius: 0;
356 | }
357 | }
358 |
359 | .caption {
360 | @include vendor('align-items', 'center');
361 | @include vendor('display', 'flex');
362 | @include vendor('flex-direction', 'column');
363 | @include vendor('justify-content', 'center');
364 | @include vendor('pointer-events', 'none');
365 | @include vendor('transition', 'opacity #{_duration(transition)} ease-in-out');
366 | position: absolute;
367 | top: 0;
368 | left: 0;
369 | width: 100%;
370 | height: 100%;
371 | background-color: transparentize(_palette(invert, bg), 1 - _misc(overlay-opacity));
372 | opacity: 0;
373 | padding: 3rem;
374 | z-index: 1;
375 | font-size: 0.8rem;
376 |
377 | a {
378 | @include vendor('pointer-events', 'auto');
379 | }
380 |
381 | h2, h3, h4, h5, h6 {
382 | font-size: 1.25rem;
383 | margin-bottom: 0.25rem;
384 | }
385 |
386 | > * {
387 | max-width: 100%;
388 | margin-bottom: 1rem;
389 | }
390 |
391 | > :last-child {
392 | margin-bottom: 0;
393 | }
394 | }
395 |
396 | &:hover {
397 | .caption {
398 | opacity: 1;
399 | }
400 | }
401 | }
402 |
403 | @include breakpoint('<=medium') {
404 | article {
405 | .caption {
406 | padding: 2rem;
407 | }
408 | }
409 | }
410 |
411 | @include breakpoint('<=small') {
412 | article {
413 | .caption {
414 | padding: 2rem;
415 | }
416 | }
417 | }
418 |
419 | // Modifiers.
420 |
421 | // size
422 | &.small {
423 | article {
424 | width: 17.5rem;
425 |
426 | .caption {
427 | padding: 2rem;
428 | }
429 | }
430 |
431 | @include breakpoint('<=medium') {
432 | article {
433 | .caption {
434 | padding: 2rem;
435 | }
436 | }
437 | }
438 |
439 | @include breakpoint('<=small') {
440 | article {
441 | .caption {
442 | padding: 2rem;
443 | }
444 | }
445 | }
446 | }
447 |
448 | &.medium {
449 | // ...
450 | }
451 |
452 | &.big {
453 | article {
454 | width: 30rem;
455 |
456 | .caption {
457 | padding: 4rem;
458 | }
459 | }
460 |
461 | @include breakpoint('<=medium') {
462 | article {
463 | .caption {
464 | padding: 3rem;
465 | }
466 | }
467 | }
468 |
469 | @include breakpoint('<=small') {
470 | article {
471 | .caption {
472 | padding: 2rem;
473 | }
474 | }
475 | }
476 | }
477 |
478 | }
479 |
480 | /* Gallery (lightbox) */
481 |
482 | @include keyframes('gallery-modal-spinner') {
483 | 0% {
484 | @include vendor('transform', 'rotate(0deg)');
485 | }
486 |
487 | 100% {
488 | @include vendor('transform', 'rotate(360deg)');
489 | }
490 | }
491 |
492 | .gallery.lightbox {
493 | .modal {
494 | @include vendor('display', 'flex');
495 | @include vendor('align-items', 'center');
496 | @include vendor('justify-content', 'center');
497 | @include vendor('pointer-events', 'none');
498 | @include vendor('user-select', 'none');
499 | @include vendor('transition', (
500 | 'opacity #{_duration(gallery-lightbox)} ease',
501 | 'visibility #{_duration(gallery-lightbox)}',
502 | 'z-index #{_duration(gallery-lightbox)}'
503 | ));
504 | -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
505 | position: fixed;
506 | top: 0;
507 | left: 0;
508 | width: 100%;
509 | height: 100%;
510 | outline: 0;
511 | background-color: transparentize(_palette(invert, bg), 1 - _misc(lightbox-opacity));
512 | visibility: none;
513 | opacity: 0;
514 | z-index: 0;
515 |
516 | &:before {
517 | @include vendor('animation', 'gallery-modal-spinner 1s infinite linear');
518 | @include vendor('transition', 'opacity #{_duration(gallery-lightbox) * 0.5} ease');
519 | @include vendor('transition-delay', '#{_duration(gallery-lightbox)}');
520 | content: '';
521 | display: block;
522 | position: absolute;
523 | top: 50%;
524 | left: 50%;
525 | width: 4rem;
526 | height: 4rem;
527 | margin: -2rem 0 0 -2rem;
528 | background-image: svg-url('
');
529 | background-position: center;
530 | background-repeat: no-repeat;
531 | background-size: 4rem;
532 | opacity: 0;
533 | }
534 |
535 | &:after {
536 | content: '';
537 | display: block;
538 | position: absolute;
539 | top: 0.5rem;
540 | right: 0.5rem;
541 | width: 4rem;
542 | height: 4rem;
543 | cursor: pointer;
544 | background-image: svg-url('
');
545 | background-position: center;
546 | background-repeat: no-repeat;
547 | background-size: 3rem;
548 | }
549 |
550 | .inner {
551 | @include vendor('transform', 'translateY(0.75rem)');
552 | @include vendor('transition', (
553 | 'opacity #{_duration(gallery-lightbox) * 0.5} ease',
554 | 'transform #{_duration(gallery-lightbox) * 0.5} ease'
555 | ));
556 | opacity: 0;
557 |
558 | img {
559 | display: block;
560 | max-width: 90vw;
561 | max-height: 85vh;
562 | box-shadow: 0 1rem 3rem 0 rgba(0, 0, 0, 0.35);
563 | }
564 | }
565 |
566 | &.visible {
567 | @include vendor('pointer-events', 'auto');
568 | visibility: visible;
569 | opacity: 1;
570 | z-index: _misc(z-index-base) + 1;
571 |
572 | &:before {
573 | opacity: 1;
574 | }
575 | }
576 |
577 | &.loaded {
578 | .inner {
579 | @include vendor('transform', 'translateY(0)');
580 | @include vendor('transition', (
581 | 'opacity #{_duration(gallery-lightbox)} ease',
582 | 'transform #{_duration(gallery-lightbox)} ease'
583 | ));
584 | opacity: 1;
585 | }
586 |
587 | &:before {
588 | @include vendor('transition-delay', '0s');
589 | opacity: 0;
590 | }
591 | }
592 | }
593 |
594 | @include breakpoint('<=medium') {
595 | .modal {
596 | .inner {
597 | img {
598 | max-width: 100vw;
599 | }
600 | }
601 | }
602 | }
603 | }
604 |
605 | // Mixin
606 |
607 | @mixin color-gallery($p: null) {
608 | .gallery {
609 | article {
610 | .image {
611 | background-color: transparentize(_palette($p, fg-bold), 0.875);
612 | }
613 | }
614 | }
615 | }
616 |
617 | @include color-gallery;
--------------------------------------------------------------------------------
/assets/sass/components/_icon.scss:
--------------------------------------------------------------------------------
1 | /*
2 | Hugo Story by CaressOfSteel
3 | A (modular, highly tweakable) responsive one-page theme for Hugo.
4 | Ported from Story by HTML5UP.
5 | This Hugo theme is licensed under the Creative Commons Attribution 3.0 License.
6 | */
7 |
8 | /* Icon */
9 |
10 | .icon {
11 | @include icon;
12 | border-bottom: none;
13 | position: relative;
14 | text-align: center;
15 |
16 | > .label {
17 | display: none;
18 | }
19 |
20 | &:before {
21 | line-height: inherit;
22 | }
23 |
24 | &.solid {
25 | &:before {
26 | font-weight: 900;
27 | }
28 | }
29 |
30 | &.brands {
31 | &:before {
32 | font-family: 'Font Awesome 5 Brands';
33 | }
34 | }
35 |
36 | &.style2 {
37 | &:before {
38 | border-radius: 2.75em;
39 | display: inline-block;
40 | height: 2.75em;
41 | line-height: 2.75em;
42 | width: 2.75em;
43 | }
44 | }
45 |
46 | &.major {
47 | display: block;
48 | margin: 0 0 (_size(element-margin) * 0.5) 0;
49 |
50 | &:before {
51 | font-size: 1.25rem;
52 | }
53 | }
54 | }
55 |
56 | a.icon {
57 | &.style2 {
58 | &:before {
59 | @include vendor('transition', (
60 | 'background-color #{_duration(transition)} ease-in-out',
61 | 'box-shadow #{_duration(transition)} ease-in-out',
62 | 'color #{_duration(transition)} ease-in-out'
63 | ));
64 | }
65 | }
66 | }
67 |
68 | @mixin color-icon($p: null) {
69 | .icon {
70 | &.style2 {
71 | &:before {
72 | box-shadow: inset 0 0 0 _size(border-width) _palette($p, border);
73 | }
74 | }
75 | }
76 |
77 | a.icon {
78 | &.style2 {
79 | &:hover {
80 | &:before {
81 | box-shadow: inset 0 0 0 _size(border-width) _palette($p, accent);
82 | color: _palette($p, accent);
83 | }
84 | }
85 |
86 | &:active {
87 | &:before {
88 | background-color: transparentize(_palette($p, accent), 0.9);
89 | box-shadow: inset 0 0 0 _size(border-width) _palette($p, accent);
90 | color: _palette($p, accent);
91 | }
92 | }
93 | }
94 | }
95 | }
96 |
97 | @include color-icon;
--------------------------------------------------------------------------------
/assets/sass/components/_icons.scss:
--------------------------------------------------------------------------------
1 | /*
2 | Hugo Story by CaressOfSteel
3 | A (modular, highly tweakable) responsive one-page theme for Hugo.
4 | Ported from Story by HTML5UP.
5 | This Hugo theme is licensed under the Creative Commons Attribution 3.0 License.
6 | */
7 |
8 | /* Icons */
9 |
10 | ul.icons {
11 | cursor: default;
12 | list-style: none;
13 | padding-left: 0;
14 |
15 | li {
16 | display: inline-block;
17 | padding: 0 0.75rem 0 0;
18 |
19 | &:last-child {
20 | padding-right: 0;
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/assets/sass/components/_image.scss:
--------------------------------------------------------------------------------
1 | /*
2 | Hugo Story by CaressOfSteel
3 | A (modular, highly tweakable) responsive one-page theme for Hugo.
4 | Ported from Story by HTML5UP.
5 | This Hugo theme is licensed under the Creative Commons Attribution 3.0 License.
6 | */
7 |
8 | /* Image */
9 |
10 | .image {
11 | border: 0;
12 | border-radius: _size(border-radius);
13 | display: inline-block;
14 | position: relative;
15 |
16 | img {
17 | display: block;
18 | border-radius: _size(border-radius);
19 | }
20 |
21 | &.left,
22 | &.right {
23 | width: 40%;
24 | max-width: 10rem;
25 |
26 | img {
27 | width: 100%;
28 | }
29 | }
30 |
31 | &.left {
32 | float: left;
33 | margin: 0 1.5rem 1rem 0;
34 | top: 0.25rem;
35 | }
36 |
37 | &.right {
38 | float: right;
39 | margin: 0 0 1rem 1.5rem;
40 | top: 0.25rem;
41 | }
42 |
43 | &.fit {
44 | display: block;
45 | margin: 0 0 _size(element-margin) 0;
46 | width: 100%;
47 |
48 | img {
49 | width: 100%;
50 | }
51 | }
52 |
53 | &.main {
54 | display: block;
55 | margin: 0 0 (_size(element-margin) * 1.5) 0;
56 | width: 100%;
57 |
58 | img {
59 | width: 100%;
60 | }
61 | }
62 | }
--------------------------------------------------------------------------------
/assets/sass/components/_index.scss:
--------------------------------------------------------------------------------
1 | /*
2 | Hugo Story by CaressOfSteel
3 | A (modular, highly tweakable) responsive one-page theme for Hugo.
4 | Ported from Story by HTML5UP.
5 | This Hugo theme is licensed under the Creative Commons Attribution 3.0 License.
6 | */
7 |
8 | /* Index */
9 |
10 | .index {
11 | > * {
12 | @include padding(3rem, 0);
13 | @include vendor('display', 'flex');
14 | border-top: solid 1px;
15 |
16 | > header {
17 | @include vendor('flex-grow', '0');
18 | @include vendor('flex-shrink', '0');
19 | width: 15rem;
20 | }
21 |
22 | > .content {
23 | @include vendor('flex-grow', '1');
24 | @include vendor('flex-shrink', '1');
25 | }
26 | }
27 |
28 | > :first-child {
29 | border-top: 0;
30 | }
31 |
32 | @include breakpoint('<=medium') {
33 | > * {
34 | > header {
35 | width: 11rem;
36 | }
37 | }
38 | }
39 |
40 | @include breakpoint('<=small') {
41 | > * {
42 | > header {
43 | width: 10rem;
44 | }
45 | }
46 | }
47 |
48 | @include breakpoint('<=xsmall') {
49 | > * {
50 | @include vendor('flex-direction', 'column');
51 |
52 | > header {
53 | width: 100%;
54 | }
55 | }
56 | }
57 | }
58 |
59 | @mixin color-index($p: null) {
60 | .index {
61 | > * {
62 | border-top-color: _palette($p, border);
63 | }
64 | }
65 | }
66 |
67 | @include color-index;
--------------------------------------------------------------------------------
/assets/sass/components/_items.scss:
--------------------------------------------------------------------------------
1 | /*
2 | Hugo Story by CaressOfSteel
3 | A (modular, highly tweakable) responsive one-page theme for Hugo.
4 | Ported from Story by HTML5UP.
5 | This Hugo theme is licensed under the Creative Commons Attribution 3.0 License.
6 | */
7 |
8 | /* Items (transitions) */
9 |
10 | .items {
11 |
12 | // Mixin.
13 | @mixin transition-items($event) {
14 | $x: null;
15 | $y: null;
16 |
17 | @if ($event == 'load') {
18 | $x: 'body.is-preload &';
19 | $y: _duration(on-load);
20 | }
21 | @else if ($event == 'scroll') {
22 | $x: '&.is-inactive';
23 | $y: _duration(on-scroll);
24 | }
25 |
26 | &.on#{$event}-fade-in {
27 | > * {
28 | > .inner {
29 | @include vendor('transition', 'opacity #{$y} ease-in-out');
30 | @include vendor('transition-delay', '#{_misc(items-limit) * _duration(items-delay)}');
31 | }
32 |
33 | @for $i from 0 through _misc(items-limit) {
34 | &:nth-child(#{$i + 1}) {
35 | > .inner {
36 | @include vendor('transition-delay', '#{$i * _duration(items-delay)}');
37 | }
38 | }
39 | }
40 | }
41 |
42 | #{$x} {
43 | > * {
44 | > .inner {
45 | opacity: 0;
46 | }
47 | }
48 | }
49 | }
50 | }
51 |
52 | // On Load.
53 | @include transition-items('load');
54 |
55 | // On Scroll.
56 | @include transition-items('scroll');
57 |
58 | }
59 |
60 | /* Items (style1) */
61 |
62 | @mixin items-style1-size($name, $size, $padding) {
63 | &.#{$name} {
64 | > * {
65 | @include padding($padding, $padding);
66 | width: #{100% / $size};
67 |
68 | &:nth-child(-n + #{$size}) {
69 | border-top-width: 0;
70 | }
71 |
72 | &:nth-child(#{$size}n + 1) {
73 | border-left-width: 0;
74 | }
75 | }
76 | }
77 | }
78 |
79 | @mixin items-style1-size-reset($name, $size) {
80 | &.#{$name} {
81 | > * {
82 | &:nth-child(-n + #{$size}) {
83 | border-top-width: _size(border-width);
84 | }
85 |
86 | &:nth-child(#{$size}n + 1) {
87 | border-left-width: _size(border-width);
88 | }
89 | }
90 | }
91 | }
92 |
93 | .items.style1 {
94 | @include vendor('display', 'flex');
95 | @include vendor('flex-wrap', 'wrap');
96 | @include vendor('justify-content', 'center');
97 | margin: (_size(element-margin) * 1.5) 0;
98 | position: relative;
99 |
100 | > * {
101 | @include vendor('flex-grow', '0');
102 | @include vendor('flex-shrink', '0');
103 | border-style: solid;
104 | border-left-width: _size(border-width);
105 | border-top-width: _size(border-width);
106 | }
107 |
108 | // Modifiers.
109 |
110 | // Size.
111 | @include items-style1-size(big, 2, _size(gutter));
112 | @include items-style1-size(medium, 3, _size(gutter) * 0.625);
113 | @include items-style1-size(small, 4, _size(gutter) * 0.375);
114 |
115 | @include breakpoint('<=large') {
116 | @include items-style1-size-reset(small, 4);
117 | @include items-style1-size(small, 3, _size(gutter) * 0.625);
118 | }
119 |
120 | @include breakpoint('<=medium') {
121 | @include items-style1-size-reset(medium, 3);
122 | @include items-style1-size(medium, 2, _size(gutter));
123 |
124 | @include items-style1-size-reset(small, 3);
125 | @include items-style1-size(small, 2, _size(gutter));
126 | }
127 |
128 | @include breakpoint('<=xsmall') {
129 | @include items-style1-size-reset(big, 2);
130 | @include items-style1-size(big, 1, _size(gutter) * 0.75);
131 |
132 | @include items-style1-size-reset(medium, 2);
133 | @include items-style1-size(medium, 1, _size(gutter) * 0.75);
134 |
135 | @include items-style1-size-reset(small, 2);
136 | @include items-style1-size(small, 1, _size(gutter) * 0.75);
137 |
138 | &.big,
139 | &.medium,
140 | &.small {
141 | > * {
142 | padding-left: 0;
143 | padding-right: 0;
144 | }
145 |
146 | > :first-child {
147 | padding-top: 0;
148 | }
149 |
150 | > :last-child {
151 | padding-bottom: 0;
152 |
153 | > .inner {
154 | > :last-child {
155 | margin-bottom: 0;
156 | }
157 | }
158 | }
159 | }
160 | }
161 |
162 | }
163 |
164 | /* Items (style2) */
165 |
166 | @mixin items-style2-size($name, $size, $padding) {
167 | &.#{$name} {
168 | > * {
169 | @include padding($padding, $padding);
170 | width: #{100% / $size};
171 |
172 | &:nth-child(-n + #{$size}) {
173 | border-top-width: 0;
174 | }
175 |
176 | &:nth-child(#{$size}n + 1) {
177 | border-left-width: 0;
178 | }
179 | }
180 | }
181 | }
182 |
183 | @mixin items-style2-size-reset($name, $size) {
184 | &.#{$name} {
185 | > * {
186 | &:nth-child(-n + #{$size}) {
187 | border-top-width: _size(border-width);
188 | }
189 |
190 | &:nth-child(#{$size}n + 1) {
191 | border-left-width: _size(border-width);
192 | }
193 | }
194 | }
195 | }
196 |
197 | .items.style2 {
198 | @include vendor('display', 'flex');
199 | @include vendor('flex-wrap', 'wrap');
200 | @include vendor('justify-content', 'center');
201 | margin: (_size(element-margin) * 1.5) 0;
202 | position: relative;
203 | border: solid _size(border-width);
204 | border-radius: _size(border-radius);
205 |
206 | > * {
207 | @include vendor('flex-grow', '0');
208 | @include vendor('flex-shrink', '0');
209 | border-style: solid;
210 | border-left-width: _size(border-width);
211 | border-top-width: _size(border-width);
212 | }
213 |
214 | // Modifiers.
215 |
216 | // Size.
217 | @include items-style2-size(big, 2, _size(gutter));
218 | @include items-style2-size(medium, 3, _size(gutter) * 0.625);
219 | @include items-style2-size(small, 4, _size(gutter) * 0.375);
220 |
221 | @include breakpoint('<=large') {
222 | @include items-style2-size-reset(small, 4);
223 | @include items-style2-size(small, 3, _size(gutter) * 0.625);
224 | }
225 |
226 | @include breakpoint('<=medium') {
227 | @include items-style2-size-reset(medium, 3);
228 | @include items-style2-size(medium, 2, _size(gutter));
229 |
230 | @include items-style2-size-reset(small, 3);
231 | @include items-style2-size(small, 2, _size(gutter));
232 | }
233 |
234 | @include breakpoint('<=xsmall') {
235 | @include items-style2-size-reset(big, 2);
236 | @include items-style2-size(big, 1, _size(gutter) * 0.75);
237 |
238 | @include items-style2-size-reset(medium, 2);
239 | @include items-style2-size(medium, 1, _size(gutter) * 0.75);
240 |
241 | @include items-style2-size-reset(small, 2);
242 | @include items-style2-size(small, 1, _size(gutter) * 0.75);
243 | }
244 |
245 | }
246 |
247 | /* Items (style3) */
248 |
249 | @mixin items-style3-size($name, $size, $padding) {
250 | &.#{$name} {
251 | > * {
252 | @include padding($padding, $padding);
253 | width: #{100% / $size};
254 | }
255 | }
256 | }
257 |
258 | .items.style3 {
259 | @include vendor('display', 'flex');
260 | @include vendor('flex-wrap', 'wrap');
261 | @include vendor('justify-content', 'center');
262 | margin: (_size(element-margin) * 1.5) 0;
263 | position: relative;
264 |
265 | > * {
266 | @include vendor('flex-grow', '0');
267 | @include vendor('flex-shrink', '0');
268 | }
269 |
270 | // Modifiers.
271 |
272 | // Size.
273 | @include items-style3-size(big, 2, _size(gutter) * 0.5);
274 | @include items-style3-size(medium, 3, _size(gutter) * 0.5 * 0.625);
275 | @include items-style3-size(small, 4, _size(gutter) * 0.5 * 0.375);
276 |
277 | @include breakpoint('<=large') {
278 | @include items-style3-size(small, 3, _size(gutter) * 0.5 * 0.625);
279 | }
280 |
281 | @include breakpoint('<=medium') {
282 | @include items-style3-size(medium, 2, _size(gutter) * 0.5);
283 | @include items-style3-size(small, 2, _size(gutter) * 0.5);
284 | }
285 |
286 | @include breakpoint('<=small') {
287 | margin: _size(element-margin) 0;
288 | }
289 |
290 | @include breakpoint('<=xsmall') {
291 | @include items-style3-size(big, 1, _size(gutter) * 0.5 * 0.75);
292 | @include items-style3-size(medium, 1, _size(gutter) * 0.5 * 0.75);
293 | @include items-style3-size(small, 1, _size(gutter) * 0.5 * 0.75);
294 |
295 | &.big,
296 | &.medium,
297 | &.small {
298 | > * {
299 | padding-left: 0;
300 | padding-right: 0;
301 | }
302 |
303 | > :first-child {
304 | padding-top: 0;
305 | }
306 |
307 | > :last-child {
308 | padding-bottom: 0;
309 |
310 | > .inner {
311 | > :last-child {
312 | margin-bottom: 0;
313 | }
314 | }
315 | }
316 | }
317 | }
318 |
319 | }
320 |
321 | // Mixin
322 |
323 | @mixin color-items($p: null) {
324 | .items.style1 {
325 | > * {
326 | border-color: _palette($p, border);
327 | }
328 | }
329 |
330 | .items.style2 {
331 | border-color: _palette($p, border);
332 |
333 | > * {
334 | border-color: _palette($p, border);
335 | }
336 | }
337 | }
338 |
339 | @include color-items;
--------------------------------------------------------------------------------
/assets/sass/components/_list.scss:
--------------------------------------------------------------------------------
1 | /*
2 | Hugo Story by CaressOfSteel
3 | A (modular, highly tweakable) responsive one-page theme for Hugo.
4 | Ported from Story by HTML5UP.
5 | This Hugo theme is licensed under the Creative Commons Attribution 3.0 License.
6 | */
7 |
8 | /* List */
9 |
10 | ol {
11 | list-style: decimal;
12 | margin: 0 0 _size(element-margin) 0;
13 | padding-left: 1.25rem;
14 |
15 | li {
16 | padding-left: 0.25rem;
17 | }
18 | }
19 |
20 | ul {
21 | list-style: disc;
22 | margin: 0 0 _size(element-margin) 0;
23 | padding-left: 1rem;
24 |
25 | li {
26 | padding-left: 0.5rem;
27 | }
28 |
29 | &.alt {
30 | list-style: none;
31 | padding-left: 0;
32 |
33 | li {
34 | border-top: solid _size(border-width);
35 | padding: 0.5rem 0;
36 |
37 | &:first-child {
38 | border-top: 0;
39 | padding-top: 0;
40 | }
41 | }
42 | }
43 | }
44 |
45 | dl {
46 | margin: 0 0 _size(element-margin) 0;
47 |
48 | dt {
49 | display: block;
50 | font-weight: _font(weight-bold);
51 | margin: 0 0 (_size(element-margin) * 0.5) 0;
52 | }
53 |
54 | dd {
55 | margin-left: _size(element-margin);
56 | }
57 |
58 | &.style2 {
59 | dt {
60 | width: 25%;
61 | float: left;
62 | }
63 |
64 | dd {
65 | width: 70%;
66 | float: left;
67 | }
68 |
69 | &:after {
70 | content: '';
71 | display: block;
72 | clear: both;
73 | }
74 | }
75 | }
76 |
77 | @mixin color-list($p: null) {
78 | ul {
79 | &.alt {
80 | li {
81 | border-top-color: _palette($p, border);
82 | }
83 | }
84 | }
85 | }
86 |
87 | @include color-list;
--------------------------------------------------------------------------------
/assets/sass/components/_row.scss:
--------------------------------------------------------------------------------
1 | /*
2 | Hugo Story by CaressOfSteel
3 | A (modular, highly tweakable) responsive one-page theme for Hugo.
4 | Ported from Story by HTML5UP.
5 | This Hugo theme is licensed under the Creative Commons Attribution 3.0 License.
6 | */
7 |
8 | /* Row */
9 |
10 | .row {
11 | @include html-grid(2rem);
12 |
13 | @include breakpoint('<=xlarge') {
14 | @include html-grid(2rem, 'xlarge');
15 | }
16 |
17 | @include breakpoint('<=large') {
18 | @include html-grid(2rem, 'large');
19 | }
20 |
21 | @include breakpoint('<=medium') {
22 | @include html-grid(2rem, 'medium');
23 | }
24 |
25 | @include breakpoint('<=small') {
26 | @include html-grid(2rem, 'small');
27 | }
28 |
29 | @include breakpoint('<=xsmall') {
30 | @include html-grid(2rem, 'xsmall');
31 | }
32 |
33 | @include breakpoint('<=xxsmall') {
34 | @include html-grid(2rem, 'xxsmall');
35 | }
36 | }
--------------------------------------------------------------------------------
/assets/sass/components/_section.scss:
--------------------------------------------------------------------------------
1 | /*
2 | Hugo Story by CaressOfSteel
3 | A (modular, highly tweakable) responsive one-page theme for Hugo.
4 | Ported from Story by HTML5UP.
5 | This Hugo theme is licensed under the Creative Commons Attribution 3.0 License.
6 | */
7 |
8 | /* Section/Article */
9 |
10 | section, article {
11 | &.special {
12 | text-align: center;
13 | }
14 | }
15 |
16 | header {
17 | p {
18 | position: relative;
19 | margin: (_size(element-margin) * -0.325) 0 (_size(element-margin) * 0.75) 0;
20 | font-style: italic;
21 | }
22 |
23 | h1 + p {
24 | font-size: 1.375rem;
25 | }
26 |
27 | h2 + p {
28 | font-size: 1.25rem;
29 | }
30 |
31 | h3 + p {
32 | font-size: 1.1rem;
33 | }
34 |
35 | h4 + p,
36 | h5 + p,
37 | h6 + p {
38 | font-size: 0.9rem;
39 | }
40 | }
41 |
42 | @mixin color-section($p: null) {
43 | header {
44 | p {
45 | color: _palette($p, fg-light);
46 | }
47 | }
48 | }
49 |
50 | @include color-section;
--------------------------------------------------------------------------------
/assets/sass/components/_table.scss:
--------------------------------------------------------------------------------
1 | /*
2 | Hugo Story by CaressOfSteel
3 | A (modular, highly tweakable) responsive one-page theme for Hugo.
4 | Ported from Story by HTML5UP.
5 | This Hugo theme is licensed under the Creative Commons Attribution 3.0 License.
6 | */
7 |
8 | /* Table */
9 |
10 | .table-wrapper {
11 | -webkit-overflow-scrolling: touch;
12 | margin: 0 0 _size(element-margin) 0;
13 | overflow-x: auto;
14 |
15 | > table {
16 | margin-bottom: 0;
17 | }
18 | }
19 |
20 | table {
21 | margin: 0 0 _size(element-margin) 0;
22 | width: 100%;
23 |
24 | tbody {
25 | tr {
26 | border: solid _size(border-width);
27 | border-left: 0;
28 | border-right: 0;
29 | }
30 | }
31 |
32 | td {
33 | padding: 0.75rem 0.75rem;
34 | }
35 |
36 | th {
37 | font-size: 0.9rem;
38 | font-weight: _font(weight-bold);
39 | padding: 0 0.75rem 0.75rem 0.75rem;
40 | text-align: left;
41 | }
42 |
43 | thead {
44 | border-bottom: solid (_size(border-width) * 2);
45 | }
46 |
47 | tfoot {
48 | border-top: solid (_size(border-width) * 2);
49 | }
50 |
51 | &.alt {
52 | border-collapse: separate;
53 |
54 | tbody {
55 | tr {
56 | td {
57 | border: solid _size(border-width);
58 | border-left-width: 0;
59 | border-top-width: 0;
60 |
61 | &:first-child {
62 | border-left-width: _size(border-width);
63 | }
64 | }
65 |
66 | &:first-child {
67 | td {
68 | border-top-width: _size(border-width);
69 | }
70 | }
71 | }
72 | }
73 |
74 | thead {
75 | border-bottom: 0;
76 | }
77 |
78 | tfoot {
79 | border-top: 0;
80 | }
81 | }
82 |
83 | &.fixed {
84 | table-layout: fixed;
85 | }
86 | }
87 |
88 | @mixin color-table($p: null) {
89 | table {
90 | tbody {
91 | tr {
92 | border-color: _palette($p, border);
93 |
94 | &:nth-child(2n + 1) {
95 | background-color: _palette($p, border-bg);
96 | }
97 |
98 | &.alt {
99 | background-color: _palette($p, border-bg) !important;
100 | }
101 | }
102 | }
103 |
104 | th {
105 | color: _palette($p, fg-bold);
106 | }
107 |
108 | thead {
109 | border-bottom-color: _palette($p, border);
110 | }
111 |
112 | tfoot {
113 | border-top-color: _palette($p, border);
114 | }
115 |
116 | &.alt {
117 | tbody {
118 | tr {
119 | td {
120 | border-color: _palette($p, border);
121 | }
122 | }
123 | }
124 | }
125 |
126 | &.uniform {
127 | tbody {
128 | tr {
129 | &:nth-child(2n + 1) {
130 | background-color: transparent;
131 | }
132 | }
133 | }
134 | }
135 | }
136 | }
137 |
138 | @include color-table;
--------------------------------------------------------------------------------
/assets/sass/components/_wrapper.scss:
--------------------------------------------------------------------------------
1 | /*
2 | Hugo Story by CaressOfSteel
3 | A (modular, highly tweakable) responsive one-page theme for Hugo.
4 | Ported from Story by HTML5UP.
5 | This Hugo theme is licensed under the Creative Commons Attribution 3.0 License.
6 | */
7 |
8 | /* Wrapper (style1) */
9 |
10 | .wrapper.style1 {
11 | > .inner {
12 | @include padding(_size(padding, default), _size(padding, default) * 0.5);
13 | margin: 0 auto;
14 | max-width: 100%;
15 | width: _size(inner);
16 |
17 | &.medium {
18 | width: _size(inner) * 0.75;
19 | }
20 |
21 | &.small {
22 | width: _size(inner) * 0.5;
23 | }
24 | }
25 |
26 | @include breakpoint('<=xlarge') {
27 | > .inner {
28 | @include padding(_size(padding, xlarge), _size(padding, xlarge) * 0.5);
29 | }
30 | }
31 |
32 | @include breakpoint('<=large') {
33 | > .inner {
34 | @include padding(_size(padding, large), _size(padding, large));
35 | }
36 | }
37 |
38 | @include breakpoint('<=medium') {
39 | > .inner {
40 | @include padding(_size(padding, medium) * 1.5, _size(padding, medium));
41 | }
42 | }
43 |
44 | @include breakpoint('<=small') {
45 | > .inner {
46 | @include padding(_size(padding, small) * 1.5, _size(padding, small));
47 | }
48 | }
49 | }
50 |
51 | /* Wrapper (style2) */
52 |
53 | .wrapper.style2 {
54 | padding: _size(padding, default);
55 | background-color: _palette(bg-alt);
56 |
57 | > .inner {
58 | @include padding(_size(padding, default) * 0.75, _size(padding, default) * 0.5);
59 | background-color: _palette(bg);
60 | border-radius: _size(border-radius-alt);
61 | margin: 0 auto;
62 | max-width: 100%;
63 | position: relative;
64 | width: _size(inner);
65 | z-index: 1;
66 |
67 | &.medium {
68 | width: _size(inner) * 0.75;
69 | }
70 |
71 | &.small {
72 | width: _size(inner) * 0.5;
73 | }
74 | }
75 |
76 | @include breakpoint('<=xlarge') {
77 | padding: _size(padding, xlarge);
78 |
79 | > .inner {
80 | @include padding(_size(padding, xlarge) * 0.75, _size(padding, xlarge) * 0.5);
81 | }
82 | }
83 |
84 | @include breakpoint('<=large') {
85 | padding: _size(padding, large);
86 |
87 | > .inner {
88 | @include padding(_size(padding, large) * 0.75, _size(padding, large) * 0.5);
89 | }
90 | }
91 |
92 | @include breakpoint('<=medium') {
93 | padding: _size(padding, medium) * 0.75;
94 |
95 | > .inner {
96 | @include padding(_size(padding, medium), _size(padding, medium) * 0.75);
97 | }
98 | }
99 |
100 | @include breakpoint('<=small') {
101 | padding: _size(padding, small) * 0.75;
102 |
103 | > .inner {
104 | @include padding(_size(padding, small), _size(padding, small) * 0.75);
105 | }
106 | }
107 | }
108 |
109 | #wrapper {
110 | > .wrapper.style2 {
111 | &.invert {
112 | &:not(.color1):not(.color2):not(.color3):not(.color4):not(.color5):not(.color6):not(.color7) {
113 | background-color: _palette(invert, bg-alt);
114 | }
115 |
116 | > .inner {
117 | background-color: _palette(invert, bg);
118 | }
119 | }
120 | }
121 | }
--------------------------------------------------------------------------------
/assets/sass/layout/_wrapper.scss:
--------------------------------------------------------------------------------
1 | /*
2 | Hugo Story by CaressOfSteel
3 | A (modular, highly tweakable) responsive one-page theme for Hugo.
4 | Ported from Story by HTML5UP.
5 | This Hugo theme is licensed under the Creative Commons Attribution 3.0 License.
6 | */
7 |
8 | /* Wrapper */
9 |
10 | @mixin wrapper-color($n) {
11 | > .color#{$n} {
12 | background-color: _palette(color#{$n});
13 | }
14 | }
15 |
16 | #wrapper {
17 | background-color: inherit;
18 | width: 100%;
19 | overflow-x: hidden;
20 |
21 | > .invert {
22 | @include color(invert);
23 | }
24 |
25 | @include wrapper-color(1);
26 | @include wrapper-color(2);
27 | @include wrapper-color(3);
28 | @include wrapper-color(4);
29 | @include wrapper-color(5);
30 | @include wrapper-color(6);
31 | @include wrapper-color(7);
32 |
33 | &.divided {
34 | > * {
35 | box-shadow: inset 0 1px 0 0 _palette(border-alt);
36 |
37 | &:first-child {
38 | box-shadow: none !important;
39 | }
40 | }
41 |
42 | > .invert {
43 | box-shadow: inset 0 1px 0 0 _palette(invert, border-alt);
44 |
45 | &:first-child {
46 | box-shadow: none !important;
47 | }
48 | }
49 | }
50 | }
--------------------------------------------------------------------------------
/assets/sass/libs/_breakpoints.scss:
--------------------------------------------------------------------------------
1 | // breakpoints.scss v1.0 | @ajlkn | MIT licensed */
2 |
3 | // Vars.
4 |
5 | /// Breakpoints.
6 | /// @var {list}
7 | //$breakpoints: () !global;
8 | $breakpoints: null;
9 |
10 | // Mixins.
11 |
12 | /// Sets breakpoints.
13 | /// @param {map} $x Breakpoints.
14 | @mixin breakpoints($x: ()) {
15 | $breakpoints: $x !global;
16 | }
17 |
18 | /// Wraps @content in a @media block targeting a specific orientation.
19 | /// @param {string} $orientation Orientation.
20 | @mixin orientation($orientation) {
21 | @media screen and (orientation: #{$orientation}) {
22 | @content;
23 | }
24 | }
25 |
26 | /// Wraps @content in a @media block using a given query.
27 | /// @param {string} $query Query.
28 | @mixin breakpoint($query: null) {
29 |
30 | $breakpoint: null;
31 | $op: null;
32 | $media: null;
33 |
34 | // Determine operator, breakpoint.
35 |
36 | // Greater than or equal.
37 | @if (str-slice($query, 0, 2) == '>=') {
38 |
39 | $op: 'gte';
40 | $breakpoint: str-slice($query, 3);
41 |
42 | }
43 |
44 | // Less than or equal.
45 | @elseif (str-slice($query, 0, 2) == '<=') {
46 |
47 | $op: 'lte';
48 | $breakpoint: str-slice($query, 3);
49 |
50 | }
51 |
52 | // Greater than.
53 | @elseif (str-slice($query, 0, 1) == '>') {
54 |
55 | $op: 'gt';
56 | $breakpoint: str-slice($query, 2);
57 |
58 | }
59 |
60 | // Less than.
61 | @elseif (str-slice($query, 0, 1) == '<') {
62 |
63 | $op: 'lt';
64 | $breakpoint: str-slice($query, 2);
65 |
66 | }
67 |
68 | // Not.
69 | @elseif (str-slice($query, 0, 1) == '!') {
70 |
71 | $op: 'not';
72 | $breakpoint: str-slice($query, 2);
73 |
74 | }
75 |
76 | // Equal.
77 | @else {
78 |
79 | $op: 'eq';
80 | $breakpoint: $query;
81 |
82 | }
83 |
84 | // Build media.
85 | @if ($breakpoint and map-has-key($breakpoints, $breakpoint)) {
86 |
87 | $a: map-get($breakpoints, $breakpoint);
88 |
89 | // Range.
90 | @if (type-of($a) == 'list') {
91 |
92 | $x: nth($a, 1);
93 | $y: nth($a, 2);
94 |
95 | // Max only.
96 | @if ($x == null) {
97 |
98 | // Greater than or equal (>= 0 / anything)
99 | @if ($op == 'gte') {
100 | $media: 'screen';
101 | }
102 |
103 | // Less than or equal (<= y)
104 | @elseif ($op == 'lte') {
105 | $media: 'screen and (max-width: ' + $y + ')';
106 | }
107 |
108 | // Greater than (> y)
109 | @elseif ($op == 'gt') {
110 | $media: 'screen and (min-width: ' + ($y + 1) + ')';
111 | }
112 |
113 | // Less than (< 0 / invalid)
114 | @elseif ($op == 'lt') {
115 | $media: 'screen and (max-width: -1px)';
116 | }
117 |
118 | // Not (> y)
119 | @elseif ($op == 'not') {
120 | $media: 'screen and (min-width: ' + ($y + 1) + ')';
121 | }
122 |
123 | // Equal (<= y)
124 | @else {
125 | $media: 'screen and (max-width: ' + $y + ')';
126 | }
127 |
128 | }
129 |
130 | // Min only.
131 | @else if ($y == null) {
132 |
133 | // Greater than or equal (>= x)
134 | @if ($op == 'gte') {
135 | $media: 'screen and (min-width: ' + $x + ')';
136 | }
137 |
138 | // Less than or equal (<= inf / anything)
139 | @elseif ($op == 'lte') {
140 | $media: 'screen';
141 | }
142 |
143 | // Greater than (> inf / invalid)
144 | @elseif ($op == 'gt') {
145 | $media: 'screen and (max-width: -1px)';
146 | }
147 |
148 | // Less than (< x)
149 | @elseif ($op == 'lt') {
150 | $media: 'screen and (max-width: ' + ($x - 1) + ')';
151 | }
152 |
153 | // Not (< x)
154 | @elseif ($op == 'not') {
155 | $media: 'screen and (max-width: ' + ($x - 1) + ')';
156 | }
157 |
158 | // Equal (>= x)
159 | @else {
160 | $media: 'screen and (min-width: ' + $x + ')';
161 | }
162 |
163 | }
164 |
165 | // Min and max.
166 | @else {
167 |
168 | // Greater than or equal (>= x)
169 | @if ($op == 'gte') {
170 | $media: 'screen and (min-width: ' + $x + ')';
171 | }
172 |
173 | // Less than or equal (<= y)
174 | @elseif ($op == 'lte') {
175 | $media: 'screen and (max-width: ' + $y + ')';
176 | }
177 |
178 | // Greater than (> y)
179 | @elseif ($op == 'gt') {
180 | $media: 'screen and (min-width: ' + ($y + 1) + ')';
181 | }
182 |
183 | // Less than (< x)
184 | @elseif ($op == 'lt') {
185 | $media: 'screen and (max-width: ' + ($x - 1) + ')';
186 | }
187 |
188 | // Not (< x and > y)
189 | @elseif ($op == 'not') {
190 | $media: 'screen and (max-width: ' + ($x - 1) + '), screen and (min-width: ' + ($y + 1) + ')';
191 | }
192 |
193 | // Equal (>= x and <= y)
194 | @else {
195 | $media: 'screen and (min-width: ' + $x + ') and (max-width: ' + $y + ')';
196 | }
197 |
198 | }
199 |
200 | }
201 |
202 | // String.
203 | @else {
204 |
205 | // Missing a media type? Prefix with "screen".
206 | @if (str-slice($a, 0, 1) == '(') {
207 | $media: 'screen and ' + $a;
208 | }
209 |
210 | // Otherwise, use as-is.
211 | @else {
212 | $media: $a;
213 | }
214 |
215 | }
216 |
217 | }
218 |
219 | // Output.
220 | @media #{$media} {
221 | @content;
222 | }
223 |
224 | }
225 |
--------------------------------------------------------------------------------
/assets/sass/libs/_functions.scss:
--------------------------------------------------------------------------------
1 | /// Removes a specific item from a list.
2 | /// @author Hugo Giraudel
3 | /// @param {list} $list List.
4 | /// @param {integer} $index Index.
5 | /// @return {list} Updated list.
6 | @function remove-nth($list, $index) {
7 |
8 | $result: null;
9 |
10 | @if type-of($index) != number {
11 | @warn "$index: #{quote($index)} is not a number for `remove-nth`.";
12 | }
13 | @else if $index == 0 {
14 | @warn "List index 0 must be a non-zero integer for `remove-nth`.";
15 | }
16 | @else if abs($index) > length($list) {
17 | @warn "List index is #{$index} but list is only #{length($list)} item long for `remove-nth`.";
18 | }
19 | @else {
20 |
21 | $result: ();
22 | $index: if($index < 0, length($list) + $index + 1, $index);
23 |
24 | @for $i from 1 through length($list) {
25 |
26 | @if $i != $index {
27 | $result: append($result, nth($list, $i));
28 | }
29 |
30 | }
31 |
32 | }
33 |
34 | @return $result;
35 |
36 | }
37 |
38 | /// Gets a value from a map.
39 | /// @author Hugo Giraudel
40 | /// @param {map} $map Map.
41 | /// @param {string} $keys Key(s).
42 | /// @return {string} Value.
43 | @function val($map, $keys...) {
44 |
45 | @if nth($keys, 1) == null {
46 | $keys: remove-nth($keys, 1);
47 | }
48 |
49 | @each $key in $keys {
50 | $map: map-get($map, $key);
51 | }
52 |
53 | @return $map;
54 |
55 | }
56 |
57 | /// Gets a duration value.
58 | /// @param {string} $keys Key(s).
59 | /// @return {string} Value.
60 | @function _duration($keys...) {
61 | @return val($duration, $keys...);
62 | }
63 |
64 | /// Gets a font value.
65 | /// @param {string} $keys Key(s).
66 | /// @return {string} Value.
67 | @function _font($keys...) {
68 | @return val($font, $keys...);
69 | }
70 |
71 | /// Gets a misc value.
72 | /// @param {string} $keys Key(s).
73 | /// @return {string} Value.
74 | @function _misc($keys...) {
75 | @return val($misc, $keys...);
76 | }
77 |
78 | /// Gets a palette value.
79 | /// @param {string} $keys Key(s).
80 | /// @return {string} Value.
81 | @function _palette($keys...) {
82 | @return val($palette, $keys...);
83 | }
84 |
85 | /// Gets a size value.
86 | /// @param {string} $keys Key(s).
87 | /// @return {string} Value.
88 | @function _size($keys...) {
89 | @return val($size, $keys...);
90 | }
--------------------------------------------------------------------------------
/assets/sass/libs/_html-grid.scss:
--------------------------------------------------------------------------------
1 | // html-grid.scss v1.0 | @ajlkn | MIT licensed */
2 |
3 | // Mixins.
4 |
5 | /// Initializes the current element as an HTML grid.
6 | /// @param {mixed} $gutters Gutters (either a single number to set both column/row gutters, or a list to set them individually).
7 | /// @param {mixed} $suffix Column class suffix (optional; either a single suffix or a list).
8 | @mixin html-grid($gutters: 1.5em, $suffix: '') {
9 |
10 | // Initialize.
11 | $cols: 12;
12 | $multipliers: 0, 0.25, 0.5, 1, 1.50, 2.00;
13 | $unit: 100% / $cols;
14 |
15 | // Suffixes.
16 | $suffixes: null;
17 |
18 | @if (type-of($suffix) == 'list') {
19 | $suffixes: $suffix;
20 | }
21 | @else {
22 | $suffixes: ($suffix);
23 | }
24 |
25 | // Gutters.
26 | $guttersCols: null;
27 | $guttersRows: null;
28 |
29 | @if (type-of($gutters) == 'list') {
30 |
31 | $guttersCols: nth($gutters, 1);
32 | $guttersRows: nth($gutters, 2);
33 |
34 | }
35 | @else {
36 |
37 | $guttersCols: $gutters;
38 | $guttersRows: 0;
39 |
40 | }
41 |
42 | // Row.
43 | display: flex;
44 | flex-wrap: wrap;
45 | box-sizing: border-box;
46 | align-items: stretch;
47 |
48 | // Columns.
49 | > * {
50 | box-sizing: border-box;
51 | }
52 |
53 | // Gutters.
54 | &.gtr-uniform {
55 | > * {
56 | > :last-child {
57 | margin-bottom: 0;
58 | }
59 | }
60 | }
61 |
62 | // Alignment.
63 | &.aln-left {
64 | justify-content: flex-start;
65 | }
66 |
67 | &.aln-center {
68 | justify-content: center;
69 | }
70 |
71 | &.aln-right {
72 | justify-content: flex-end;
73 | }
74 |
75 | &.aln-top {
76 | align-items: flex-start;
77 | }
78 |
79 | &.aln-middle {
80 | align-items: center;
81 | }
82 |
83 | &.aln-bottom {
84 | align-items: flex-end;
85 | }
86 |
87 | // Step through suffixes.
88 | @each $suffix in $suffixes {
89 |
90 | // Suffix.
91 | @if ($suffix != '') {
92 | $suffix: '-' + $suffix;
93 | }
94 | @else {
95 | $suffix: '';
96 | }
97 |
98 | // Row.
99 |
100 | // Important.
101 | > .imp#{$suffix} {
102 | order: -1;
103 | }
104 |
105 | // Columns, offsets.
106 | @for $i from 1 through $cols {
107 | > .col-#{$i}#{$suffix} {
108 | width: $unit * $i;
109 | }
110 |
111 | > .off-#{$i}#{$suffix} {
112 | margin-left: $unit * $i;
113 | }
114 | }
115 |
116 | // Step through multipliers.
117 | @each $multiplier in $multipliers {
118 |
119 | // Gutters.
120 | $class: null;
121 |
122 | @if ($multiplier != 1) {
123 | $class: '.gtr-' + ($multiplier * 100);
124 | }
125 |
126 | {$class} {
127 | margin-top: ($guttersRows * $multiplier * -1);
128 | margin-left: ($guttersCols * $multiplier * -1);
129 |
130 | > * {
131 | padding: ($guttersRows * $multiplier) 0 0 ($guttersCols * $multiplier);
132 | }
133 |
134 | // Uniform.
135 | &.gtr-uniform {
136 | margin-top: $guttersCols * $multiplier * -1;
137 |
138 | > * {
139 | padding-top: $guttersCols * $multiplier;
140 | }
141 | }
142 |
143 | }
144 |
145 | }
146 |
147 | }
148 |
149 | }
--------------------------------------------------------------------------------
/assets/sass/libs/_mixins.scss:
--------------------------------------------------------------------------------
1 | /// Makes an element's :before pseudoelement a FontAwesome icon.
2 | /// @param {string} $content Optional content value to use.
3 | /// @param {string} $category Optional category to use.
4 | /// @param {string} $where Optional pseudoelement to target (before or after).
5 | @mixin icon($content: false, $category: regular, $where: before) {
6 |
7 | text-decoration: none;
8 |
9 | &:#{$where} {
10 |
11 | @if $content {
12 | content: $content;
13 | }
14 |
15 | -moz-osx-font-smoothing: grayscale;
16 | -webkit-font-smoothing: antialiased;
17 | display: inline-block;
18 | font-style: normal;
19 | font-variant: normal;
20 | text-rendering: auto;
21 | line-height: 1;
22 | text-transform: none !important;
23 |
24 | @if ($category == brands) {
25 | font-family: 'Font Awesome 5 Brands';
26 | }
27 | @elseif ($category == solid) {
28 | font-family: 'Font Awesome 5 Pro';
29 | font-weight: 900;
30 | }
31 | @else {
32 | font-family: 'Font Awesome 5 Pro';
33 | font-weight: 400;
34 | }
35 |
36 | }
37 |
38 | }
39 |
40 | /// Applies padding to an element, taking the current element-margin value into account.
41 | /// @param {mixed} $tb Top/bottom padding.
42 | /// @param {mixed} $lr Left/right padding.
43 | /// @param {list} $pad Optional extra padding (in the following order top, right, bottom, left)
44 | /// @param {bool} $important If true, adds !important.
45 | @mixin padding($tb, $lr, $pad: (0,0,0,0), $important: null) {
46 |
47 | @if $important {
48 | $important: '!important';
49 | }
50 |
51 | $x: 0.1em;
52 |
53 | @if unit(_size(element-margin)) == 'rem' {
54 | $x: 0.1rem;
55 | }
56 |
57 | padding: ($tb + nth($pad,1)) ($lr + nth($pad,2)) max($x, $tb - _size(element-margin) + nth($pad,3)) ($lr + nth($pad,4)) #{$important};
58 |
59 | }
60 |
61 | /// Encodes a SVG data URL so IE doesn't choke (via codepen.io/jakob-e/pen/YXXBrp).
62 | /// @param {string} $svg SVG data URL.
63 | /// @return {string} Encoded SVG data URL.
64 | @function svg-url($svg) {
65 |
66 | $svg: str-replace($svg, '"', '\'');
67 | $svg: str-replace($svg, '%', '%25');
68 | $svg: str-replace($svg, '<', '%3C');
69 | $svg: str-replace($svg, '>', '%3E');
70 | $svg: str-replace($svg, '&', '%26');
71 | $svg: str-replace($svg, '#', '%23');
72 | $svg: str-replace($svg, '{', '%7B');
73 | $svg: str-replace($svg, '}', '%7D');
74 | $svg: str-replace($svg, ';', '%3B');
75 |
76 | @return url("data:image/svg+xml;charset=utf8,#{$svg}");
77 |
78 | }
--------------------------------------------------------------------------------
/assets/sass/libs/_vars.scss:
--------------------------------------------------------------------------------
1 | // Misc.
2 | $misc: (
3 | z-index-base: 10000,
4 | overlay-opacity: 0.5,
5 | lightbox-opacity: 0.75,
6 | gallery-limit: 32,
7 | items-limit: 16
8 | );
9 |
10 | // Duration.
11 | $duration: (
12 | menu: 0.5s,
13 | transition: 0.2s,
14 | gallery-lightbox: 0.5s,
15 | gallery-delay: 0.15s,
16 | items-delay: 0.15s,
17 | on-load: 0.75s,
18 | on-scroll: 0.75s
19 | );
20 |
21 | // Size.
22 | $size: (
23 | border-radius: 4px,
24 | border-radius-alt: 0.5rem,
25 | border-width: 1px,
26 | element-height: 2.75rem,
27 | element-margin: 2rem,
28 | gutter: 3.5rem,
29 | inner: 64rem,
30 | padding: (
31 | default: 7rem,
32 | xlarge: 5rem,
33 | large: 4rem,
34 | medium: 3rem,
35 | small: 2rem
36 | )
37 | );
38 |
39 | // Font.
40 | $font: (
41 | family: ('Source Sans Pro', Helvetica, sans-serif),
42 | family-fixed: ('Courier New', monospace),
43 | weight: 300,
44 | weight-bold: 400,
45 | kerning: -0.05em,
46 | kerning-alt: 0.125em
47 | );
48 |
49 | // Palette.
50 | $palette: (
51 | color1: #30363d,
52 | color2: #db8992,
53 | color3: #ab7aad,
54 | color4: #897cad,
55 | color5: #7794ce,
56 | color6: #64abb4,
57 | color7: #6ba78c,
58 |
59 | bg: #ffffff,
60 | bg-alt: #eeeeee,
61 | fg: #000000,
62 | fg-bold: #000000,
63 | fg-light: rgba(0,0,0,0.75),
64 | border: rgba(0,0,0,0.2),
65 | border-alt: rgba(0,0,0,0.075),
66 | border-bg: rgba(0,0,0,0.05),
67 | accent: #837164,
68 |
69 | invert: (
70 | bg: #000000,
71 | bg-alt: #222222,
72 | fg: #ffffff,
73 | fg-bold: #ffffff,
74 | fg-light: #ffffff,
75 | border: rgba(255,255,255,1.0),
76 | border-alt: rgba(255,255,255,0.125),
77 | border-bg: rgba(255,255,255,0.125),
78 | accent: #837164
79 | ),
80 | );
--------------------------------------------------------------------------------
/assets/sass/libs/_vendor.scss:
--------------------------------------------------------------------------------
1 | // vendor.scss v1.0 | @ajlkn | MIT licensed */
2 |
3 | // Vars.
4 |
5 | /// Vendor prefixes.
6 | /// @var {list}
7 | $vendor-prefixes: (
8 | '-moz-',
9 | '-webkit-',
10 | '-ms-',
11 | ''
12 | );
13 |
14 | /// Properties that should be vendorized.
15 | /// Data via caniuse.com, github.com/postcss/autoprefixer, and developer.mozilla.org
16 | /// @var {list}
17 | $vendor-properties: (
18 |
19 | // Animation.
20 | 'animation',
21 | 'animation-delay',
22 | 'animation-direction',
23 | 'animation-duration',
24 | 'animation-fill-mode',
25 | 'animation-iteration-count',
26 | 'animation-name',
27 | 'animation-play-state',
28 | 'animation-timing-function',
29 |
30 | // Appearance.
31 | 'appearance',
32 |
33 | // Backdrop filter.
34 | 'backdrop-filter',
35 |
36 | // Background image options.
37 | 'background-clip',
38 | 'background-origin',
39 | 'background-size',
40 |
41 | // Box sizing.
42 | 'box-sizing',
43 |
44 | // Clip path.
45 | 'clip-path',
46 |
47 | // Filter effects.
48 | 'filter',
49 |
50 | // Flexbox.
51 | 'align-content',
52 | 'align-items',
53 | 'align-self',
54 | 'flex',
55 | 'flex-basis',
56 | 'flex-direction',
57 | 'flex-flow',
58 | 'flex-grow',
59 | 'flex-shrink',
60 | 'flex-wrap',
61 | 'justify-content',
62 | 'order',
63 |
64 | // Font feature.
65 | 'font-feature-settings',
66 | 'font-language-override',
67 | 'font-variant-ligatures',
68 |
69 | // Font kerning.
70 | 'font-kerning',
71 |
72 | // Fragmented borders and backgrounds.
73 | 'box-decoration-break',
74 |
75 | // Grid layout.
76 | 'grid-column',
77 | 'grid-column-align',
78 | 'grid-column-end',
79 | 'grid-column-start',
80 | 'grid-row',
81 | 'grid-row-align',
82 | 'grid-row-end',
83 | 'grid-row-start',
84 | 'grid-template-columns',
85 | 'grid-template-rows',
86 |
87 | // Hyphens.
88 | 'hyphens',
89 | 'word-break',
90 |
91 | // Masks.
92 | 'mask',
93 | 'mask-border',
94 | 'mask-border-outset',
95 | 'mask-border-repeat',
96 | 'mask-border-slice',
97 | 'mask-border-source',
98 | 'mask-border-width',
99 | 'mask-clip',
100 | 'mask-composite',
101 | 'mask-image',
102 | 'mask-origin',
103 | 'mask-position',
104 | 'mask-repeat',
105 | 'mask-size',
106 |
107 | // Multicolumn.
108 | 'break-after',
109 | 'break-before',
110 | 'break-inside',
111 | 'column-count',
112 | 'column-fill',
113 | 'column-gap',
114 | 'column-rule',
115 | 'column-rule-color',
116 | 'column-rule-style',
117 | 'column-rule-width',
118 | 'column-span',
119 | 'column-width',
120 | 'columns',
121 |
122 | // Object fit.
123 | 'object-fit',
124 | 'object-position',
125 |
126 | // Regions.
127 | 'flow-from',
128 | 'flow-into',
129 | 'region-fragment',
130 |
131 | // Scroll snap points.
132 | 'scroll-snap-coordinate',
133 | 'scroll-snap-destination',
134 | 'scroll-snap-points-x',
135 | 'scroll-snap-points-y',
136 | 'scroll-snap-type',
137 |
138 | // Shapes.
139 | 'shape-image-threshold',
140 | 'shape-margin',
141 | 'shape-outside',
142 |
143 | // Tab size.
144 | 'tab-size',
145 |
146 | // Text align last.
147 | 'text-align-last',
148 |
149 | // Text decoration.
150 | 'text-decoration-color',
151 | 'text-decoration-line',
152 | 'text-decoration-skip',
153 | 'text-decoration-style',
154 |
155 | // Text emphasis.
156 | 'text-emphasis',
157 | 'text-emphasis-color',
158 | 'text-emphasis-position',
159 | 'text-emphasis-style',
160 |
161 | // Text size adjust.
162 | 'text-size-adjust',
163 |
164 | // Text spacing.
165 | 'text-spacing',
166 |
167 | // Transform.
168 | 'transform',
169 | 'transform-origin',
170 |
171 | // Transform 3D.
172 | 'backface-visibility',
173 | 'perspective',
174 | 'perspective-origin',
175 | 'transform-style',
176 |
177 | // Transition.
178 | 'transition',
179 | 'transition-delay',
180 | 'transition-duration',
181 | 'transition-property',
182 | 'transition-timing-function',
183 |
184 | // Unicode bidi.
185 | 'unicode-bidi',
186 |
187 | // User select.
188 | 'user-select',
189 |
190 | // Writing mode.
191 | 'writing-mode',
192 |
193 | );
194 |
195 | /// Values that should be vendorized.
196 | /// Data via caniuse.com, github.com/postcss/autoprefixer, and developer.mozilla.org
197 | /// @var {list}
198 | $vendor-values: (
199 |
200 | // Cross fade.
201 | 'cross-fade',
202 |
203 | // Element function.
204 | 'element',
205 |
206 | // Filter function.
207 | 'filter',
208 |
209 | // Flexbox.
210 | 'flex',
211 | 'inline-flex',
212 |
213 | // Grab cursors.
214 | 'grab',
215 | 'grabbing',
216 |
217 | // Gradients.
218 | 'linear-gradient',
219 | 'repeating-linear-gradient',
220 | 'radial-gradient',
221 | 'repeating-radial-gradient',
222 |
223 | // Grid layout.
224 | 'grid',
225 | 'inline-grid',
226 |
227 | // Image set.
228 | 'image-set',
229 |
230 | // Intrinsic width.
231 | 'max-content',
232 | 'min-content',
233 | 'fit-content',
234 | 'fill',
235 | 'fill-available',
236 | 'stretch',
237 |
238 | // Sticky position.
239 | 'sticky',
240 |
241 | // Transform.
242 | 'transform',
243 |
244 | // Zoom cursors.
245 | 'zoom-in',
246 | 'zoom-out',
247 |
248 | );
249 |
250 | // Functions.
251 |
252 | /// Removes a specific item from a list.
253 | /// @author Hugo Giraudel
254 | /// @param {list} $list List.
255 | /// @param {integer} $index Index.
256 | /// @return {list} Updated list.
257 | @function remove-nth($list, $index) {
258 |
259 | $result: null;
260 |
261 | @if type-of($index) != number {
262 | @warn "$index: #{quote($index)} is not a number for `remove-nth`.";
263 | }
264 | @else if $index == 0 {
265 | @warn "List index 0 must be a non-zero integer for `remove-nth`.";
266 | }
267 | @else if abs($index) > length($list) {
268 | @warn "List index is #{$index} but list is only #{length($list)} item long for `remove-nth`.";
269 | }
270 | @else {
271 |
272 | $result: ();
273 | $index: if($index < 0, length($list) + $index + 1, $index);
274 |
275 | @for $i from 1 through length($list) {
276 |
277 | @if $i != $index {
278 | $result: append($result, nth($list, $i));
279 | }
280 |
281 | }
282 |
283 | }
284 |
285 | @return $result;
286 |
287 | }
288 |
289 | /// Replaces a substring within another string.
290 | /// @author Hugo Giraudel
291 | /// @param {string} $string String.
292 | /// @param {string} $search Substring.
293 | /// @param {string} $replace Replacement.
294 | /// @return {string} Updated string.
295 | @function str-replace($string, $search, $replace: '') {
296 |
297 | $index: str-index($string, $search);
298 |
299 | @if $index {
300 | @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
301 | }
302 |
303 | @return $string;
304 |
305 | }
306 |
307 | /// Replaces a substring within each string in a list.
308 | /// @param {list} $strings List of strings.
309 | /// @param {string} $search Substring.
310 | /// @param {string} $replace Replacement.
311 | /// @return {list} Updated list of strings.
312 | @function str-replace-all($strings, $search, $replace: '') {
313 |
314 | @each $string in $strings {
315 | $strings: set-nth($strings, index($strings, $string), str-replace($string, $search, $replace));
316 | }
317 |
318 | @return $strings;
319 |
320 | }
321 |
322 | // Mixins.
323 |
324 | /// Wraps @content in vendorized keyframe blocks.
325 | /// @param {string} $name Name.
326 | @mixin keyframes($name) {
327 |
328 | @-moz-keyframes #{$name} { @content; }
329 | @-webkit-keyframes #{$name} { @content; }
330 | @-ms-keyframes #{$name} { @content; }
331 | @keyframes #{$name} { @content; }
332 |
333 | }
334 |
335 | /// Vendorizes a declaration's property and/or value(s).
336 | /// @param {string} $property Property.
337 | /// @param {mixed} $value String/list of value(s).
338 | @mixin vendor($property, $value) {
339 |
340 | // Determine if property should expand.
341 | $expandProperty: index($vendor-properties, $property);
342 |
343 | // Determine if value should expand (and if so, add '-prefix-' placeholder).
344 | $expandValue: false;
345 |
346 | @each $x in $value {
347 | @each $y in $vendor-values {
348 | @if $y == str-slice($x, 1, str-length($y)) {
349 |
350 | $value: set-nth($value, index($value, $x), '-prefix-' + $x);
351 | $expandValue: true;
352 |
353 | }
354 | }
355 | }
356 |
357 | // Expand property?
358 | @if $expandProperty {
359 | @each $vendor in $vendor-prefixes {
360 | #{$vendor}#{$property}: #{str-replace-all($value, '-prefix-', $vendor)};
361 | }
362 | }
363 |
364 | // Expand just the value?
365 | @elseif $expandValue {
366 | @each $vendor in $vendor-prefixes {
367 | #{$property}: #{str-replace-all($value, '-prefix-', $vendor)};
368 | }
369 | }
370 |
371 | // Neither? Treat them as a normal declaration.
372 | @else {
373 | #{$property}: #{$value};
374 | }
375 |
376 | }
--------------------------------------------------------------------------------
/assets/sass/main.scss:
--------------------------------------------------------------------------------
1 | @import 'libs/vars';
2 | @import 'libs/functions';
3 | @import 'libs/mixins';
4 | @import 'libs/vendor';
5 | @import 'libs/breakpoints';
6 | @import 'libs/html-grid';
7 | @import 'fontawesome-all.min.css';
8 | @import url('https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300i,400,400i');
9 |
10 | /*
11 | Hugo Story by CaressOfSteel
12 | A (modular, highly tweakable) responsive one-page theme for Hugo.
13 | Ported from Story by HTML5UP.
14 | This Hugo theme is licensed under the Creative Commons Attribution 3.0 License.
15 | */
16 |
17 | // Breakpoints.
18 |
19 | @include breakpoints((
20 | xlarge: ( 1281px, 1680px ),
21 | large: ( 981px, 1280px ),
22 | medium: ( 737px, 980px ),
23 | small: ( 481px, 736px ),
24 | xsmall: ( 361px, 480px ),
25 | xxsmall: ( null, 360px )
26 | ));
27 |
28 | // Mixins.
29 |
30 | @mixin color($p) {
31 | @include color-typography($p);
32 | @include color-box($p);
33 | @include color-button($p);
34 | @include color-form($p);
35 | @include color-icon($p);
36 | @include color-list($p);
37 | @include color-section($p);
38 | @include color-table($p);
39 | @include color-banner($p);
40 | @include color-spotlight($p);
41 | @include color-gallery($p);
42 | @include color-items($p);
43 | @include color-index($p);
44 | }
45 |
46 | // Phone.
47 |
48 | @mixin phone($image-width) {
49 | @include vendor('flex-grow', '0');
50 | @include vendor('flex-shrink', '0');
51 | border-radius: 0;
52 | border: solid _size(border-width);
53 |
54 | img {
55 | @include vendor('object-fit', 'cover');
56 | @include vendor('object-position', 'center');
57 | display: block;
58 | width: 100%;
59 | height: 100%;
60 | border-radius: 0;
61 | }
62 |
63 | &:before {
64 | content: '';
65 | display: block;
66 | background-position: center;
67 | background-repeat: no-repeat;
68 | border: solid _size(border-width);
69 | border-bottom: 0;
70 | }
71 |
72 | &:after {
73 | content: '';
74 | display: block;
75 | background-position: center;
76 | background-repeat: no-repeat;
77 | border: solid _size(border-width);
78 | border-top: 0;
79 | }
80 |
81 | @include resize-phone($image-width, 1);
82 | }
83 |
84 | @mixin resize-phone($image-width, $image-factor) {
85 | $image-pad-top: 2.5rem;
86 | $image-pad-bottom: 3rem;
87 | $image-height: ($image-width * (1920 / 1080));
88 |
89 | width: ($image-width * $image-factor);
90 | height: (($image-width * $image-factor) * (1920 / 1080));
91 | margin-top: ($image-pad-top * $image-factor);
92 | margin-bottom: (_size(element-margin) + ($image-pad-bottom * $image-factor));
93 |
94 | &:before {
95 | height: ($image-pad-top * $image-factor);
96 | background-size: (64px * $image-factor) (32px * $image-factor);
97 | margin-top: (($image-pad-top * $image-factor) * -1);
98 | border-radius: (1rem * $image-factor) (1rem * $image-factor) 0 0;
99 | }
100 |
101 | &:after {
102 | height: ($image-pad-bottom * $image-factor);
103 | background-size: (64px * $image-factor) (32px * $image-factor);
104 | margin-bottom: (($image-pad-bottom * $image-factor) * -1);
105 | border-radius: 0 0 (1rem * $image-factor) (1rem * $image-factor);
106 | }
107 | }
108 |
109 | @mixin color-phone($p) {
110 | border-color: _palette($p, border);
111 | background-color: _palette($p, border);
112 |
113 | @if ($p != 'invert') {
114 | border-width: 0;
115 | }
116 | @else {
117 | border-width: _size(border-width);
118 | }
119 |
120 | &:before {
121 | background-image: svg-url('
');
122 | border-color: _palette($p, border);
123 |
124 | @if ($p == 'invert') {
125 | width: calc(100% + #{_size(border-width) * 2});
126 | margin-left: (_size(border-width) * -1);
127 | }
128 | @else {
129 | width: 100%;
130 | }
131 | }
132 |
133 | &:after {
134 | background-image: svg-url('
');
135 | border-color: _palette($p, border);
136 |
137 | @if ($p == 'invert') {
138 | width: calc(100% + #{_size(border-width) * 2});
139 | margin-left: (_size(border-width) * -1);
140 | }
141 | @else {
142 | width: 100%;
143 | }
144 | }
145 | }
146 |
147 | @mixin color-phone-variant($v, $p) {
148 | @if ($v == 'android') {
149 | &:after {
150 | background-image: svg-url('
');
151 | }
152 | }
153 | @else if ($p == 'iphone') {
154 | // ...
155 | }
156 | }
157 |
158 | // Base.
159 |
160 | @import 'base/reset';
161 | @import 'base/page';
162 | @import 'base/typography';
163 |
164 | // Component.
165 |
166 | @import 'components/row';
167 | @import 'components/box';
168 | @import 'components/button';
169 | @import 'components/form';
170 | @import 'components/icon';
171 | @import 'components/image';
172 | @import 'components/list';
173 | @import 'components/actions';
174 | @import 'components/icons';
175 | @import 'components/section';
176 | @import 'components/table';
177 | @import 'components/banner';
178 | @import 'components/spotlight';
179 | @import 'components/gallery';
180 | @import 'components/wrapper';
181 | @import 'components/items';
182 | @import 'components/index';
183 |
184 | // Layout.
185 |
186 | @import 'layout/wrapper';
--------------------------------------------------------------------------------
/assets/sass/noscript.scss:
--------------------------------------------------------------------------------
1 | @import 'libs/vars';
2 | @import 'libs/functions';
3 | @import 'libs/mixins';
4 | @import 'libs/vendor';
5 | @import 'libs/breakpoints';
6 | @import 'libs/html-grid';
7 |
8 | /*
9 | Hugo Story by CaressOfSteel
10 | A (modular, highly tweakable) responsive one-page theme for Hugo.
11 | Ported from Story by HTML5UP.
12 | This Hugo theme is licensed under the Creative Commons Attribution 3.0 License.
13 | */
14 |
15 | /* Banner (transitions) */
16 |
17 | .banner {
18 |
19 | // Mixin.
20 | @mixin transition-banner($event) {
21 | $x: null;
22 | $y: null;
23 |
24 | @if ($event == 'load') {
25 | $x: 'body.is-preload &';
26 | $y: _duration(on-load);
27 | }
28 | @else if ($event == 'scroll') {
29 | $x: '&.is-inactive';
30 | $y: _duration(on-scroll);
31 | }
32 |
33 | // Content.
34 | &.on#{$event}-content-fade-up {
35 | .content {
36 | @include vendor('transition', 'none');
37 | }
38 |
39 | #{$x} {
40 | .content {
41 | @include vendor('transform', 'none');
42 | opacity: 1;
43 | }
44 | }
45 | }
46 |
47 | &.on#{$event}-content-fade-down {
48 | .content {
49 | @include vendor('transition', 'none');
50 | }
51 |
52 | #{$x} {
53 | .content {
54 | @include vendor('transform', 'none');
55 | opacity: 1;
56 | }
57 | }
58 | }
59 |
60 | &.on#{$event}-content-fade-left {
61 | .content {
62 | @include vendor('transition', 'none');
63 | }
64 |
65 | #{$x} {
66 | .content {
67 | @include vendor('transform', 'none');
68 | opacity: 1;
69 | }
70 | }
71 | }
72 |
73 | &.on#{$event}-content-fade-right {
74 | .content {
75 | @include vendor('transition', 'none');
76 | }
77 |
78 | #{$x} {
79 | .content {
80 | @include vendor('transform', 'none');
81 | opacity: 1;
82 | }
83 | }
84 | }
85 |
86 | &.on#{$event}-content-fade-in {
87 | .content {
88 | @include vendor('transition', 'none');
89 | }
90 |
91 | #{$x} {
92 | .content {
93 | @include vendor('transform', 'none');
94 | opacity: 1;
95 | }
96 | }
97 | }
98 |
99 | // Image.
100 | &.on#{$event}-image-fade-up {
101 | .image {
102 | @include vendor('transition', 'none');
103 |
104 | img {
105 | @include vendor('transition', 'none');
106 | }
107 | }
108 |
109 | #{$x} {
110 | .image {
111 | @include vendor('transform', 'none');
112 | opacity: 1;
113 |
114 | img {
115 | opacity: 1;
116 | }
117 | }
118 | }
119 | }
120 |
121 | &.on#{$event}-image-fade-down {
122 | .image {
123 | @include vendor('transition', 'none');
124 |
125 | img {
126 | @include vendor('transition', 'none');
127 | }
128 | }
129 |
130 | #{$x} {
131 | .image {
132 | @include vendor('transform', 'none');
133 | opacity: 1;
134 |
135 | img {
136 | opacity: 1;
137 | }
138 | }
139 | }
140 | }
141 |
142 | &.on#{$event}-image-fade-left {
143 | .image {
144 | @include vendor('transition', 'none');
145 |
146 | img {
147 | @include vendor('transition', 'none');
148 | }
149 | }
150 |
151 | #{$x} {
152 | .image {
153 | @include vendor('transform', 'none');
154 | opacity: 1;
155 |
156 | img {
157 | opacity: 1;
158 | }
159 | }
160 | }
161 | }
162 |
163 | &.on#{$event}-image-fade-right {
164 | .image {
165 | @include vendor('transition', 'none');
166 |
167 | img {
168 | @include vendor('transition', 'none');
169 | }
170 | }
171 |
172 | #{$x} {
173 | .image {
174 | @include vendor('transform', 'none');
175 | opacity: 1;
176 |
177 | img {
178 | opacity: 1;
179 | }
180 | }
181 | }
182 | }
183 |
184 | &.on#{$event}-image-fade-in {
185 | .image {
186 | img {
187 | @include vendor('transition', 'none');
188 | }
189 | }
190 |
191 | #{$x} {
192 | .image {
193 | img {
194 | opacity: 1;
195 | }
196 | }
197 | }
198 | }
199 |
200 | }
201 |
202 | // On Load.
203 | @include transition-banner('load');
204 |
205 | // On Scroll.
206 | @include transition-banner('scroll');
207 |
208 | }
--------------------------------------------------------------------------------
/exampleSite/.gitignore:
--------------------------------------------------------------------------------
1 | .hugo_build.lock
2 | resources/
--------------------------------------------------------------------------------
/exampleSite/archetypes/default.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "{{ replace .Name "-" " " | title }}"
3 | date: {{ .Date }}
4 | draft: true
5 | ---
6 |
7 |
--------------------------------------------------------------------------------
/exampleSite/config/_default/hugo.toml:
--------------------------------------------------------------------------------
1 | ## -----------------------------------------------
2 | ## Basic Configuration
3 | ## -----------------------------------------------
4 |
5 | theme = "hugo-story"
6 |
7 | ## -----------------------------------------------
8 | ## Publish
9 | ## -----------------------------------------------
10 |
11 | relativeURLs = "true"
12 | #canonifyURLs = "true"
13 |
14 | # Local
15 | baseURL = "/"
16 | publishDir = "public"
17 |
18 | # Remote
19 | #baseURL = "https://caressofsteel.github.io/demos/hugo/hugo-story/"
20 | #publishDir = "//centos/sites/hugodev/hugostory/"
21 |
22 |
23 | ## -----------------------------------------------
24 | ## Hugo Built-in Features
25 | ## -----------------------------------------------
26 |
27 | disableKinds = ["taxonomy", "section"]
28 | # googleAnalytics = "G-XXXXXXXXXX"
29 |
30 | ## -----------------------------------------------
31 | ## Site Parameters
32 | ## -----------------------------------------------
33 |
34 | [Params]
35 |
36 | [Params.social]
37 |
38 | [Params.asset]
39 |
--------------------------------------------------------------------------------
/exampleSite/config/development/hugo.toml:
--------------------------------------------------------------------------------
1 | ## -----------------------------------------------
2 | ## Basic Configuration
3 | ## -----------------------------------------------
4 |
5 | title = "Hugo Story"
6 | copyright = "{year}"
7 |
8 | ## -----------------------------------------------
9 | ## Publish
10 | ## -----------------------------------------------
11 |
12 | relativeURLs = "true"
13 | #canonifyURLs = "true"
14 |
15 | # Local
16 | baseURL = "/"
17 | publishDir = "public"
18 |
19 | # Remote
20 | #baseURL = "https://caressofsteel.github.io/demos/hugo/hugo-story/"
21 | #publishDir = "//centos/sites/hugodev/hugostory/"
22 |
23 | ## -----------------------------------------------
24 | ## Hugo Built-in Features
25 | ## -----------------------------------------------
26 |
27 | disableKinds = ["taxonomy", "section"]
28 | # googleAnalytics = "G-XXXXXXXXXX"
29 |
30 | ## -----------------------------------------------
31 | ## Site Parameters
32 | ## -----------------------------------------------
33 |
34 | [Params]
35 | description = "A (modular, highly tweakable) responsive one-page theme for Hugo"
36 | logo = "images/banner.jpg"
37 | favicon = true
38 |
39 | [Params.social]
40 | github = "https://github.com/caressofsteel/"
41 | twitter = "https://twitter.com/caressofsteel_"
42 | email = "caressofsteel@protonmail.com"
43 | instagram = "https://instagram.com"
44 | linkedin = "https://linkedin.com"
45 | telegram = "https://telegram.org"
46 |
47 | [Params.asset]
48 | fontawesome_css = ["css/fontawesome-all.min.css"]
49 | fontawesome_js = ["js/fontawesome-all.min.js"]
--------------------------------------------------------------------------------
/exampleSite/config/production/hugo.toml:
--------------------------------------------------------------------------------
1 | ## -----------------------------------------------
2 | ## Basic Configuration
3 | ## -----------------------------------------------
4 |
5 | title = "Hugo Story"
6 | copyright = "{year}"
7 |
8 | ## -----------------------------------------------
9 | ## Publish
10 | ## -----------------------------------------------
11 |
12 | relativeURLs = "true"
13 | #canonifyURLs = "true"
14 |
15 | # Local
16 | baseURL = "/"
17 | publishDir = "public"
18 |
19 | # Remote
20 | #baseURL = "https://caressofsteel.github.io/demos/hugo/hugo-story/"
21 | #publishDir = "//centos/sites/hugodev/hugostory/"
22 |
23 | ## -----------------------------------------------
24 | ## Hugo Built-in Features
25 | ## -----------------------------------------------
26 |
27 | disableKinds = ["taxonomy", "section"]
28 | # googleAnalytics = "G-XXXXXXXXXX"
29 |
30 | ## -----------------------------------------------
31 | ## Site Parameters
32 | ## -----------------------------------------------
33 |
34 | [Params]
35 | description = "A (modular, highly tweakable) responsive one-page theme for Hugo"
36 | logo = "images/banner.jpg"
37 | favicon = true
38 |
39 | [Params.social]
40 | github = "https://github.com/caressofsteel/"
41 | twitter = "https://twitter.com/caressofsteel_"
42 | email = "caressofsteel@protonmail.com"
43 | instagram = "https://instagram.com"
44 | linkedin = "https://linkedin.com"
45 | telegram = "https://telegram.org"
46 |
47 | [Params.asset]
48 | fontawesome_css = ["css/fontawesome-all.min.css"]
49 | fontawesome_js = ["js/fontawesome-all.min.js"]
--------------------------------------------------------------------------------
/exampleSite/data/banner.yml:
--------------------------------------------------------------------------------
1 | ####################### Banner #########################
2 | style: "style1 orient-left content-align-left image-position-right fullscreen onload-image-fade-in onload-content-fade-right"
3 | title : "Hugo Story"
4 | subtitle: |
5 | Hugo Story released for free under the
Creative Commons .
6 | content : |
7 | This is a
Banner element, and it's generally used as an introduction or opening statement. You can customize its
appearance with a number of modifiers , as well as assign it an optional
onload
or
onscroll
transition modifier (
details ).
8 | button:
9 | label : "Get Started"
10 | link : "#first"
11 | image : "images/banner.jpg"
12 |
13 |
--------------------------------------------------------------------------------
/exampleSite/data/gallery.yml:
--------------------------------------------------------------------------------
1 | title: "Gallery"
2 | style: "style2 medium lightbox onscroll-fade-in"
3 | content: |
4 | This is a
Gallery element. It can behave as a lightbox (when given the
lightbox
class), and you can customize its
appearance with a number of modifiers , as well as assign it an optional
onload
or
onscroll
transition modifier (
details ).
5 | pictures:
6 | - title: "Title"
7 | content: "Lorem ipsum dolor amet, consectetur magna etiam elit. Etiam sed ultrices."
8 | image: "images/gallery/fulls/01.jpg"
9 | thumb: "images/gallery/thumbs/01.jpg"
10 | button: "Details"
11 |
12 | - title: "Title"
13 | content: "Lorem ipsum dolor amet, consectetur magna etiam elit. Etiam sed ultrices."
14 | image: "images/gallery/fulls/02.jpg"
15 | thumb: "images/gallery/thumbs/02.jpg"
16 | button: "Details"
17 |
18 | - title: "Title"
19 | content: "Lorem ipsum dolor amet, consectetur magna etiam elit. Etiam sed ultrices."
20 | image: "images/gallery/fulls/03.jpg"
21 | thumb: "images/gallery/thumbs/03.jpg"
22 | button: "Details"
23 |
24 | - title: "Title"
25 | content: "Lorem ipsum dolor amet, consectetur magna etiam elit. Etiam sed ultrices."
26 | image: "images/gallery/fulls/04.jpg"
27 | thumb: "images/gallery/thumbs/04.jpg"
28 | button: "Details"
29 |
30 | - title: "Title"
31 | content: "Lorem ipsum dolor amet, consectetur magna etiam elit. Etiam sed ultrices."
32 | image: "images/gallery/fulls/05.jpg"
33 | thumb: "images/gallery/thumbs/05.jpg"
34 | button: "Details"
35 |
36 | - title: "Title"
37 | content: "Lorem ipsum dolor amet, consectetur magna etiam elit. Etiam sed ultrices."
38 | image: "images/gallery/fulls/06.jpg"
39 | thumb: "images/gallery/thumbs/06.jpg"
40 | button: "Details"
41 |
42 | - title: "Title"
43 | content: "Lorem ipsum dolor amet, consectetur magna etiam elit. Etiam sed ultrices."
44 | image: "images/gallery/fulls/07.jpg"
45 | thumb: "images/gallery/thumbs/07.jpg"
46 | button: "Details"
47 |
48 | - title: "Title"
49 | content: "Lorem ipsum dolor amet, consectetur magna etiam elit. Etiam sed ultrices."
50 | image: "images/gallery/fulls/08.jpg"
51 | thumb: "images/gallery/thumbs/08.jpg"
52 | button: "Details"
53 |
54 | - title: "Title"
55 | content: "Lorem ipsum dolor amet, consectetur magna etiam elit. Etiam sed ultrices."
56 | image: "images/gallery/fulls/09.jpg"
57 | thumb: "images/gallery/thumbs/09.jpg"
58 | button: "Details"
59 |
60 | - title: "Title"
61 | content: "Lorem ipsum dolor amet, consectetur magna etiam elit. Etiam sed ultrices."
62 | image: "images/gallery/fulls/10.jpg"
63 | thumb: "images/gallery/thumbs/10.jpg"
64 | button: "Details"
65 |
66 | - title: "Title"
67 | content: "Lorem ipsum dolor amet, consectetur magna etiam elit. Etiam sed ultrices."
68 | image: "images/gallery/fulls/11.jpg"
69 | thumb: "images/gallery/thumbs/11.jpg"
70 | button: "Details"
71 |
72 | - title: "Title"
73 | content: "Lorem ipsum dolor amet, consectetur magna etiam elit. Etiam sed ultrices."
74 | image: "images/gallery/fulls/12.jpg"
75 | thumb: "images/gallery/thumbs/12.jpg"
76 | button: "Details"
77 |
78 |
--------------------------------------------------------------------------------
/exampleSite/data/items.yml:
--------------------------------------------------------------------------------
1 | title : "Items"
2 | content: |
3 | This is an
Items element, and it's basically just a grid for organizing items of various types. You can customize its
appearance with a number of modifiers , as well as assign it an optional
onload
or
onscroll
transition modifier (
details ).
4 | style: "style1 medium onscroll-fade-in"
5 | items:
6 | # feature item loop
7 | - name : "One"
8 | content : "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi dui turpis, cursus eget orci amet aliquam congue semper. Etiam eget ultrices risus nec tempor elit."
9 | style : "style2 major fa-gem"
10 |
11 | # feature item loop
12 | - name : "Two"
13 | content : "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi dui turpis, cursus eget orci amet aliquam congue semper. Etiam eget ultrices risus nec tempor elit."
14 | style : "solid style2 major fa-save"
15 |
16 | # feature item loop
17 | - name : "Three"
18 | content : "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi dui turpis, cursus eget orci amet aliquam congue semper. Etiam eget ultrices risus nec tempor elit."
19 | style : "solid style2 major fa-chart-bar"
20 |
21 | # feature item loop
22 | - name : "Four"
23 | content : "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi dui turpis, cursus eget orci amet aliquam congue semper. Etiam eget ultrices risus nec tempor elit."
24 | style : "solid style2 major fa-wifi"
25 |
26 | # feature item loop
27 | - name : "Five"
28 | content : "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi dui turpis, cursus eget orci amet aliquam congue semper. Etiam eget ultrices risus nec tempor elit."
29 | style : "solid style2 major fa-cog"
30 |
31 | # feature item loop
32 | - name : "Six"
33 | content : "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi dui turpis, cursus eget orci amet aliquam congue semper. Etiam eget ultrices risus nec tempor elit."
34 | style : "style2 major fa-paper-plane"
35 |
36 | # feature item loop
37 | - name : "Seven"
38 | content : "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi dui turpis, cursus eget orci amet aliquam congue semper. Etiam eget ultrices risus nec tempor elit."
39 | style : "solid style2 major fa-desktop"
40 |
41 | # feature item loop
42 | - name : "Eight"
43 | content : "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi dui turpis, cursus eget orci amet aliquam congue semper. Etiam eget ultrices risus nec tempor elit."
44 | style : "solid style2 major fa-sync-alt"
45 |
46 | # feature item loop
47 | - name : "Nine"
48 | content : "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi dui turpis, cursus eget orci amet aliquam congue semper. Etiam eget ultrices risus nec tempor elit."
49 | style : "solid style2 major fa-hashtag"
50 |
51 | # feature item loop
52 | - name : "Ten"
53 | content : "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi dui turpis, cursus eget orci amet aliquam congue semper. Etiam eget ultrices risus nec tempor elit."
54 | style : "solid style2 major fa-bolt"
55 |
56 | # feature item loop
57 | - name : "Eleven"
58 | content : "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi dui turpis, cursus eget orci amet aliquam congue semper. Etiam eget ultrices risus nec tempor elit."
59 | style : "style2 major fa-envelope"
60 |
61 | # feature item loop
62 | - name : "Twelve"
63 | content : "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi dui turpis, cursus eget orci amet aliquam congue semper. Etiam eget ultrices risus nec tempor elit."
64 | style : "solid style2 major fa-leaf"
65 |
--------------------------------------------------------------------------------
/exampleSite/data/spotlight1.yml:
--------------------------------------------------------------------------------
1 | ####################### Spotlight #########################
2 | style: "style1 orient-right content-align-left image-position-center onscroll-image-fade-in"
3 | id: "first"
4 | title : "Spotlight"
5 | content: |
6 | This is a
Spotlight element, and it's generally used – as its name implies – to spotlight a particular feature, subject, or pretty much whatever. You can customize its
appearance with a number of modifiers , as well as assign it an optional
onload
or
onscroll
transition modifier (
details ).
7 | button:
8 | label: "Learn More"
9 | link: "#"
10 | image: "images/spotlight01.jpg"
11 |
--------------------------------------------------------------------------------
/exampleSite/data/spotlight2.yml:
--------------------------------------------------------------------------------
1 | ####################### Spotlight #########################
2 | style: "style1 orient-left content-align-left image-position-center onscroll-image-fade-in"
3 | title : "Spotlight"
4 | content: |
5 | This is also a
Spotlight element, and it's here because this demo would look a bit empty with just one spotlight. Like all spotlights, you can customize its
appearance with a number of modifiers , as well as assign it an optional
onload
or
onscroll
transition modifier (
details ).
6 | button:
7 | label: "Learn More"
8 | link: "#"
9 | image: "images/spotlight02.jpg"
10 |
--------------------------------------------------------------------------------
/exampleSite/data/spotlight3.yml:
--------------------------------------------------------------------------------
1 | ####################### Spotlight #########################
2 | style: "style1 orient-right content-align-left image-position-center onscroll-image-fade-in"
3 | id: "first"
4 | title : "Spotlight"
5 | content: |
6 | And yes, this is another
Spotlight element, and it's also here because I need to fill a bit of space. Naturally, like any other spotlight, you can customize its
appearance with a number of modifiers , as well as assign it an optional
onload
or
onscroll
transition modifier (
details ).
7 | button:
8 | label: "Learn More"
9 | link: "#"
10 | image: "images/spotlight03.jpg"
11 |
--------------------------------------------------------------------------------
/exampleSite/hugo.toml:
--------------------------------------------------------------------------------
1 | ## -----------------------------------------------
2 | ## Basic Configuration
3 | ## -----------------------------------------------
4 |
5 | theme = "hugo-story"
6 |
7 | ## -----------------------------------------------
8 | ## Publish
9 | ## -----------------------------------------------
10 |
11 | relativeURLs = "true"
12 | #canonifyURLs = "true"
13 |
14 | # Local
15 | baseURL = "/"
16 | publishDir = "public"
17 |
18 | # Remote
19 | #baseURL = "https://caressofsteel.github.io/demos/hugo/hugo-story/"
20 | #publishDir = "//centos/sites/hugodev/hugostory/"
21 |
22 |
23 | ## -----------------------------------------------
24 | ## Hugo Built-in Features
25 | ## -----------------------------------------------
26 |
27 | disableKinds = ["taxonomy", "section"]
28 | # googleAnalytics = "your-google-analytics-id"
29 |
30 | ## -----------------------------------------------
31 | ## Site Parameters
32 | ## -----------------------------------------------
33 |
34 | [Params]
35 |
36 | [Params.social]
--------------------------------------------------------------------------------
/exampleSite/layouts/_default/baseof.html:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 | {{ partial "head" . }}
11 |
12 |
13 |
14 |
15 |
16 | {{- block "main" . }}{{- end }}
17 |
18 |
19 |
20 | {{ template "_internal/google_analytics.html" . }}
21 | {{ partial "scripts" . }}
22 |
23 |
24 |
--------------------------------------------------------------------------------
/exampleSite/layouts/index.html:
--------------------------------------------------------------------------------
1 | {{ define "main" }}
2 |
3 | {{ partial "banner" site.Data.banner }}
4 | {{ partial "spotlight" site.Data.spotlight1 }}
5 | {{ partial "spotlight" site.Data.spotlight2 }}
6 | {{ partial "spotlight" site.Data.spotlight3 }}
7 | {{ partial "gallery" site.Data.gallery }}
8 | {{ partial "items" site.Data.items }}
9 | {{ partial "elements" . }}
10 | {{ partial "elements_reference" . }}
11 | {{ partial "footer" . }}
12 |
13 | {{ end }}
--------------------------------------------------------------------------------
/exampleSite/layouts/partials/banner.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{ with .title }}
{{ . }} {{ end }}
5 | {{ with .subtitle }}
{{ . | safeHTML }}
{{ end }}
6 | {{ with .content }}
{{ . | safeHTML }}
{{ end }}
7 | {{ with .button }}
{{ end }}
10 |
11 | {{ with .image }}
12 |
13 |
{{end}}
14 |
--------------------------------------------------------------------------------
/exampleSite/layouts/partials/favicon.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/exampleSite/layouts/partials/footer.html:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 | {{ range .Site.Params.asset.fontawesome_js -}}
19 |
20 | {{- end }}
--------------------------------------------------------------------------------
/exampleSite/layouts/partials/gallery.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
{{ .title }}
5 |
{{ .content | safeHTML }}
6 |
7 |
8 |
9 |
10 | {{ range .pictures }}
11 | {{ partial "picture" . }}
12 | {{ end }}
13 |
14 |
--------------------------------------------------------------------------------
/exampleSite/layouts/partials/head.html:
--------------------------------------------------------------------------------
1 |
2 |
{{ .Site.Title }}
3 |
4 |
5 |
6 |
7 | {{ if .Site.Params.favicon }}
8 | {{ partial "favicon" }}
9 | {{ end }}
10 |
11 |
12 | {{ if hugo.IsServer }}
13 | {{ $style := resources.Get "sass/main.scss" | resources.ExecuteAsTemplate "scss/main.scss" . | toCSS (dict "targetPath" "css/main.css" "outputStyle" "compressed" "enableSourceMap" false) }}
14 |
15 | {{ else }}
16 | {{ $style := resources.Get "sass/main.scss" | resources.ExecuteAsTemplate "scss/main.scss" . | toCSS (dict "targetPath" "css/main.css" "enableSourceMap" false) }}
17 |
18 | {{ end }}
19 | {{ if hugo.IsServer }}
20 | {{ $noscript := resources.Get "sass/noscript.scss" | resources.ExecuteAsTemplate "noscript.scss" . | toCSS (dict "targetPath" "css/noscript.css" "enableSourceMap" false) }}
21 |
22 | {{ else }}
23 | {{ $noscript := resources.Get "sass/noscript.scss" | resources.ExecuteAsTemplate "noscript.scss" . | toCSS (dict "targetPath" "css/noscript.css" "enableSourceMap" false) }}
24 |
25 | {{end}}
26 |
27 |
28 | {{ range .Site.Params.asset.fontawesome_css -}}
29 |
30 | {{- end }}
31 |
32 |
33 |
--------------------------------------------------------------------------------
/exampleSite/layouts/partials/item.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{ .name }}
4 | {{ .content }}
5 |
6 |
--------------------------------------------------------------------------------
/exampleSite/layouts/partials/items.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{ with .title }}
{{ . }} {{ end }}
5 | {{ with .content }}
{{ . | safeHTML }}
{{ end }}
6 |
7 | {{ range .items }}
8 | {{ partial "item" . }}
9 | {{ end }}
10 |
11 |
12 |
--------------------------------------------------------------------------------
/exampleSite/layouts/partials/picture.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
{{ .title }}
7 |
{{ .content }}
8 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/exampleSite/layouts/partials/scripts.html:
--------------------------------------------------------------------------------
1 |
2 | {{ $jQuery := resources.Get "js/jquery.min.js" }}
3 | {{ $scrollex := resources.Get "js/jquery.scrollex.min.js" }}
4 | {{ $scrolly := resources.Get "js/jquery.scrolly.min.js" }}
5 | {{ $browser := resources.Get "js/browser.min.js" }}
6 | {{ $breakpoints := resources.Get "js/breakpoints.min.js" }}
7 | {{ $util := resources.Get "js/util.js" }}
8 | {{ $main := resources.Get "js/main.js" }}
9 | {{ $demo := resources.Get "js/demo.js" }}
10 |
11 | {{ $js := slice $jQuery $scrollex $scrolly $browser $breakpoints $util $main $demo | resources.Concat "js/bundle.js" | minify }}
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/exampleSite/layouts/partials/spotlight-01-left.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
Spotlight
5 |
This is a Spotlight element, and it's generally used – as its name implies – to spotlight a particular feature, subject, or pretty much whatever. You can customize its appearance with a number of modifiers , as well as assign it an optional onload
or onscroll
transition modifier (details ).
6 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/exampleSite/layouts/partials/spotlight-02-right.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
Spotlight
5 |
This is also a Spotlight element, and it's here because this demo would look a bit empty with just one spotlight. Like all spotlights, you can customize its appearance with a number of modifiers , as well as assign it an optional onload
or onscroll
transition modifier (details ).
6 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/exampleSite/layouts/partials/spotlight-03-left.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
Spotlight
5 |
And yes, this is another Spotlight element, and it's also here because I need to fill a bit of space. Naturally, like any other spotlight, you can customize its appearance with a number of modifiers , as well as assign it an optional onload
or onscroll
transition modifier (details ).
6 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/exampleSite/layouts/partials/spotlight.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{ with .title }}
{{ . }} {{ end }}
5 | {{ with .content }}
{{ . | safeHTML }}
{{ end }}
6 | {{ with .button }}
{{ end }}
9 |
10 | {{ with .image }}
11 |
12 |
{{ end }}
13 |
--------------------------------------------------------------------------------
/exampleSite/static/android-chrome-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/android-chrome-192x192.png
--------------------------------------------------------------------------------
/exampleSite/static/android-chrome-512x512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/android-chrome-512x512.png
--------------------------------------------------------------------------------
/exampleSite/static/apple-touch-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/apple-touch-icon.png
--------------------------------------------------------------------------------
/exampleSite/static/browserconfig.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | #da532c
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/exampleSite/static/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/favicon-16x16.png
--------------------------------------------------------------------------------
/exampleSite/static/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/favicon-32x32.png
--------------------------------------------------------------------------------
/exampleSite/static/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/favicon.ico
--------------------------------------------------------------------------------
/exampleSite/static/images/banner.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/images/banner.jpg
--------------------------------------------------------------------------------
/exampleSite/static/images/gallery/fulls/01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/images/gallery/fulls/01.jpg
--------------------------------------------------------------------------------
/exampleSite/static/images/gallery/fulls/02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/images/gallery/fulls/02.jpg
--------------------------------------------------------------------------------
/exampleSite/static/images/gallery/fulls/03.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/images/gallery/fulls/03.jpg
--------------------------------------------------------------------------------
/exampleSite/static/images/gallery/fulls/04.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/images/gallery/fulls/04.jpg
--------------------------------------------------------------------------------
/exampleSite/static/images/gallery/fulls/05.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/images/gallery/fulls/05.jpg
--------------------------------------------------------------------------------
/exampleSite/static/images/gallery/fulls/06.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/images/gallery/fulls/06.jpg
--------------------------------------------------------------------------------
/exampleSite/static/images/gallery/fulls/07.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/images/gallery/fulls/07.jpg
--------------------------------------------------------------------------------
/exampleSite/static/images/gallery/fulls/08.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/images/gallery/fulls/08.jpg
--------------------------------------------------------------------------------
/exampleSite/static/images/gallery/fulls/09.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/images/gallery/fulls/09.jpg
--------------------------------------------------------------------------------
/exampleSite/static/images/gallery/fulls/10.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/images/gallery/fulls/10.jpg
--------------------------------------------------------------------------------
/exampleSite/static/images/gallery/fulls/11.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/images/gallery/fulls/11.jpg
--------------------------------------------------------------------------------
/exampleSite/static/images/gallery/fulls/12.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/images/gallery/fulls/12.jpg
--------------------------------------------------------------------------------
/exampleSite/static/images/gallery/thumbs/01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/images/gallery/thumbs/01.jpg
--------------------------------------------------------------------------------
/exampleSite/static/images/gallery/thumbs/02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/images/gallery/thumbs/02.jpg
--------------------------------------------------------------------------------
/exampleSite/static/images/gallery/thumbs/03.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/images/gallery/thumbs/03.jpg
--------------------------------------------------------------------------------
/exampleSite/static/images/gallery/thumbs/04.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/images/gallery/thumbs/04.jpg
--------------------------------------------------------------------------------
/exampleSite/static/images/gallery/thumbs/05.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/images/gallery/thumbs/05.jpg
--------------------------------------------------------------------------------
/exampleSite/static/images/gallery/thumbs/06.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/images/gallery/thumbs/06.jpg
--------------------------------------------------------------------------------
/exampleSite/static/images/gallery/thumbs/07.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/images/gallery/thumbs/07.jpg
--------------------------------------------------------------------------------
/exampleSite/static/images/gallery/thumbs/08.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/images/gallery/thumbs/08.jpg
--------------------------------------------------------------------------------
/exampleSite/static/images/gallery/thumbs/09.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/images/gallery/thumbs/09.jpg
--------------------------------------------------------------------------------
/exampleSite/static/images/gallery/thumbs/10.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/images/gallery/thumbs/10.jpg
--------------------------------------------------------------------------------
/exampleSite/static/images/gallery/thumbs/11.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/images/gallery/thumbs/11.jpg
--------------------------------------------------------------------------------
/exampleSite/static/images/gallery/thumbs/12.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/images/gallery/thumbs/12.jpg
--------------------------------------------------------------------------------
/exampleSite/static/images/pic01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/images/pic01.jpg
--------------------------------------------------------------------------------
/exampleSite/static/images/pic02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/images/pic02.jpg
--------------------------------------------------------------------------------
/exampleSite/static/images/spotlight01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/images/spotlight01.jpg
--------------------------------------------------------------------------------
/exampleSite/static/images/spotlight02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/images/spotlight02.jpg
--------------------------------------------------------------------------------
/exampleSite/static/images/spotlight03.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/images/spotlight03.jpg
--------------------------------------------------------------------------------
/exampleSite/static/mstile-150x150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/mstile-150x150.png
--------------------------------------------------------------------------------
/exampleSite/static/site.webmanifest:
--------------------------------------------------------------------------------
1 | {
2 | "name": "",
3 | "short_name": "",
4 | "icons": [
5 | {
6 | "src": "/android-chrome-192x192.png",
7 | "sizes": "192x192",
8 | "type": "image/png"
9 | },
10 | {
11 | "src": "/android-chrome-512x512.png",
12 | "sizes": "512x512",
13 | "type": "image/png"
14 | }
15 | ],
16 | "theme_color": "#ffffff",
17 | "background_color": "#ffffff",
18 | "display": "standalone"
19 | }
20 |
--------------------------------------------------------------------------------
/exampleSite/static/webfonts/fa-brands-400.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/webfonts/fa-brands-400.ttf
--------------------------------------------------------------------------------
/exampleSite/static/webfonts/fa-brands-400.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/webfonts/fa-brands-400.woff2
--------------------------------------------------------------------------------
/exampleSite/static/webfonts/fa-duotone-900.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/webfonts/fa-duotone-900.ttf
--------------------------------------------------------------------------------
/exampleSite/static/webfonts/fa-duotone-900.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/webfonts/fa-duotone-900.woff2
--------------------------------------------------------------------------------
/exampleSite/static/webfonts/fa-light-300.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/webfonts/fa-light-300.ttf
--------------------------------------------------------------------------------
/exampleSite/static/webfonts/fa-light-300.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/webfonts/fa-light-300.woff2
--------------------------------------------------------------------------------
/exampleSite/static/webfonts/fa-regular-400.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/webfonts/fa-regular-400.ttf
--------------------------------------------------------------------------------
/exampleSite/static/webfonts/fa-regular-400.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/webfonts/fa-regular-400.woff2
--------------------------------------------------------------------------------
/exampleSite/static/webfonts/fa-sharp-solid-900.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/webfonts/fa-sharp-solid-900.ttf
--------------------------------------------------------------------------------
/exampleSite/static/webfonts/fa-sharp-solid-900.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/webfonts/fa-sharp-solid-900.woff2
--------------------------------------------------------------------------------
/exampleSite/static/webfonts/fa-solid-900.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/webfonts/fa-solid-900.ttf
--------------------------------------------------------------------------------
/exampleSite/static/webfonts/fa-solid-900.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/webfonts/fa-solid-900.woff2
--------------------------------------------------------------------------------
/exampleSite/static/webfonts/fa-thin-100.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/webfonts/fa-thin-100.ttf
--------------------------------------------------------------------------------
/exampleSite/static/webfonts/fa-thin-100.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/webfonts/fa-thin-100.woff2
--------------------------------------------------------------------------------
/exampleSite/static/webfonts/fa-v4compatibility.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/webfonts/fa-v4compatibility.ttf
--------------------------------------------------------------------------------
/exampleSite/static/webfonts/fa-v4compatibility.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/exampleSite/static/webfonts/fa-v4compatibility.woff2
--------------------------------------------------------------------------------
/images/device-screenshots.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/images/device-screenshots.png
--------------------------------------------------------------------------------
/images/screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/images/screenshot.png
--------------------------------------------------------------------------------
/images/tn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/images/tn.png
--------------------------------------------------------------------------------
/layouts/_default/baseof.html:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 | {{ partial "head" . }}
11 |
12 |
13 |
14 |
15 |
16 | {{- block "main" . }}{{- end }}
17 |
18 |
19 |
20 | {{ partial "scripts" . }}
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/layouts/index.html:
--------------------------------------------------------------------------------
1 | {{ define "main" }}
2 |
3 | {{ partial "banner" site.Data.banner }}
4 | {{ partial "spotlight" site.Data.spotlight1 }}
5 | {{ partial "spotlight" site.Data.spotlight2 }}
6 | {{ partial "spotlight" site.Data.spotlight3 }}
7 | {{ partial "gallery" site.Data.gallery }}
8 | {{ partial "items" site.Data.items }}
9 | {{ partial "elements" . }}
10 | {{ partial "elements_reference" . }}
11 | {{ partial "footer" . }}
12 |
13 | {{ end }}
--------------------------------------------------------------------------------
/layouts/partials/banner.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{ with .title }}
{{ . }} {{ end }}
5 | {{ with .subtitle }}
{{ . | safeHTML }}
{{ end }}
6 | {{ with .content }}
{{ . | safeHTML }}
{{ end }}
7 | {{ with .button }}
{{ end }}
10 |
11 | {{ with .image }}
12 |
13 |
{{end}}
14 |
--------------------------------------------------------------------------------
/layouts/partials/favicon.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/layouts/partials/footer.html:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 | {{ range .Site.Params.asset.fontawesome_js -}}
19 |
20 | {{- end }}
--------------------------------------------------------------------------------
/layouts/partials/gallery.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
{{ .title }}
5 |
{{ .content | safeHTML }}
6 |
7 |
8 |
9 |
10 | {{ range .pictures }}
11 | {{ partial "picture" . }}
12 | {{ end }}
13 |
14 |
--------------------------------------------------------------------------------
/layouts/partials/head.html:
--------------------------------------------------------------------------------
1 |
2 |
{{ .Site.Title }}
3 |
4 |
5 |
6 |
7 | {{ if .Site.Params.favicon }}
8 | {{ partial "favicon" }}
9 | {{ end }}
10 |
11 |
12 | {{ if hugo.IsServer }}
13 | {{ $style := resources.Get "sass/main.scss" | resources.ExecuteAsTemplate "scss/main.scss" . | toCSS (dict "targetPath" "css/main.css" "outputStyle" "compressed" "enableSourceMap" false) }}
14 |
15 | {{ else }}
16 | {{ $style := resources.Get "sass/main.scss" | resources.ExecuteAsTemplate "scss/main.scss" . | toCSS (dict "targetPath" "css/main.css" "enableSourceMap" false) }}
17 |
18 | {{ end }}
19 | {{ if hugo.IsServer }}
20 | {{ $noscript := resources.Get "sass/noscript.scss" | resources.ExecuteAsTemplate "noscript.scss" . | toCSS (dict "targetPath" "css/noscript.css" "enableSourceMap" false) }}
21 |
22 | {{ else }}
23 | {{ $noscript := resources.Get "sass/noscript.scss" | resources.ExecuteAsTemplate "noscript.scss" . | toCSS (dict "targetPath" "css/noscript.css" "enableSourceMap" false) }}
24 |
25 | {{end}}
26 |
27 |
28 | {{ range .Site.Params.asset.fontawesome_css -}}
29 |
30 | {{- end }}
31 |
32 |
33 |
--------------------------------------------------------------------------------
/layouts/partials/item.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{ .name }}
4 | {{ .content }}
5 |
6 |
--------------------------------------------------------------------------------
/layouts/partials/items.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{ with .title }}
{{ . }} {{ end }}
5 | {{ with .content }}
{{ . | safeHTML }}
{{ end }}
6 |
7 | {{ range .items }}
8 | {{ partial "item" . }}
9 | {{ end }}
10 |
11 |
12 |
--------------------------------------------------------------------------------
/layouts/partials/picture.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
{{ .title }}
7 |
{{ .content }}
8 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/layouts/partials/scripts.html:
--------------------------------------------------------------------------------
1 |
2 | {{ $jQuery := resources.Get "js/jquery.min.js" }}
3 | {{ $scrollex := resources.Get "js/jquery.scrollex.min.js" }}
4 | {{ $scrolly := resources.Get "js/jquery.scrolly.min.js" }}
5 | {{ $browser := resources.Get "js/browser.min.js" }}
6 | {{ $breakpoints := resources.Get "js/breakpoints.min.js" }}
7 | {{ $util := resources.Get "js/util.js" }}
8 | {{ $main := resources.Get "js/main.js" }}
9 | {{ $demo := resources.Get "js/demo.js" }}
10 |
11 | {{ $js := slice $jQuery $scrollex $scrolly $browser $breakpoints $util $main $demo | resources.Concat "js/bundle.js" | minify }}
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/layouts/partials/spotlight-01-left.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
Spotlight
5 |
This is a Spotlight element, and it's generally used – as its name implies – to spotlight a particular feature, subject, or pretty much whatever. You can customize its appearance with a number of modifiers , as well as assign it an optional onload
or onscroll
transition modifier (details ).
6 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/layouts/partials/spotlight-02-right.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
Spotlight
5 |
This is also a Spotlight element, and it's here because this demo would look a bit empty with just one spotlight. Like all spotlights, you can customize its appearance with a number of modifiers , as well as assign it an optional onload
or onscroll
transition modifier (details ).
6 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/layouts/partials/spotlight-03-left.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
Spotlight
5 |
And yes, this is another Spotlight element, and it's also here because I need to fill a bit of space. Naturally, like any other spotlight, you can customize its appearance with a number of modifiers , as well as assign it an optional onload
or onscroll
transition modifier (details ).
6 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/layouts/partials/spotlight.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{ with .title }}
{{ . }} {{ end }}
5 | {{ with .content }}
{{ . | safeHTML }}
{{ end }}
6 | {{ with .button }}
{{ end }}
9 |
10 | {{ with .image }}
11 |
12 |
{{ end }}
13 |
--------------------------------------------------------------------------------
/static/android-chrome-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/android-chrome-192x192.png
--------------------------------------------------------------------------------
/static/android-chrome-512x512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/android-chrome-512x512.png
--------------------------------------------------------------------------------
/static/apple-touch-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/apple-touch-icon.png
--------------------------------------------------------------------------------
/static/browserconfig.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | #da532c
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/static/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/favicon-16x16.png
--------------------------------------------------------------------------------
/static/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/favicon-32x32.png
--------------------------------------------------------------------------------
/static/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/favicon.ico
--------------------------------------------------------------------------------
/static/images/banner.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/images/banner.jpg
--------------------------------------------------------------------------------
/static/images/gallery/fulls/01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/images/gallery/fulls/01.jpg
--------------------------------------------------------------------------------
/static/images/gallery/fulls/02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/images/gallery/fulls/02.jpg
--------------------------------------------------------------------------------
/static/images/gallery/fulls/03.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/images/gallery/fulls/03.jpg
--------------------------------------------------------------------------------
/static/images/gallery/fulls/04.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/images/gallery/fulls/04.jpg
--------------------------------------------------------------------------------
/static/images/gallery/fulls/05.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/images/gallery/fulls/05.jpg
--------------------------------------------------------------------------------
/static/images/gallery/fulls/06.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/images/gallery/fulls/06.jpg
--------------------------------------------------------------------------------
/static/images/gallery/fulls/07.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/images/gallery/fulls/07.jpg
--------------------------------------------------------------------------------
/static/images/gallery/fulls/08.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/images/gallery/fulls/08.jpg
--------------------------------------------------------------------------------
/static/images/gallery/fulls/09.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/images/gallery/fulls/09.jpg
--------------------------------------------------------------------------------
/static/images/gallery/fulls/10.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/images/gallery/fulls/10.jpg
--------------------------------------------------------------------------------
/static/images/gallery/fulls/11.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/images/gallery/fulls/11.jpg
--------------------------------------------------------------------------------
/static/images/gallery/fulls/12.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/images/gallery/fulls/12.jpg
--------------------------------------------------------------------------------
/static/images/gallery/thumbs/01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/images/gallery/thumbs/01.jpg
--------------------------------------------------------------------------------
/static/images/gallery/thumbs/02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/images/gallery/thumbs/02.jpg
--------------------------------------------------------------------------------
/static/images/gallery/thumbs/03.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/images/gallery/thumbs/03.jpg
--------------------------------------------------------------------------------
/static/images/gallery/thumbs/04.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/images/gallery/thumbs/04.jpg
--------------------------------------------------------------------------------
/static/images/gallery/thumbs/05.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/images/gallery/thumbs/05.jpg
--------------------------------------------------------------------------------
/static/images/gallery/thumbs/06.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/images/gallery/thumbs/06.jpg
--------------------------------------------------------------------------------
/static/images/gallery/thumbs/07.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/images/gallery/thumbs/07.jpg
--------------------------------------------------------------------------------
/static/images/gallery/thumbs/08.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/images/gallery/thumbs/08.jpg
--------------------------------------------------------------------------------
/static/images/gallery/thumbs/09.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/images/gallery/thumbs/09.jpg
--------------------------------------------------------------------------------
/static/images/gallery/thumbs/10.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/images/gallery/thumbs/10.jpg
--------------------------------------------------------------------------------
/static/images/gallery/thumbs/11.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/images/gallery/thumbs/11.jpg
--------------------------------------------------------------------------------
/static/images/gallery/thumbs/12.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/images/gallery/thumbs/12.jpg
--------------------------------------------------------------------------------
/static/images/pic01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/images/pic01.jpg
--------------------------------------------------------------------------------
/static/images/pic02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/images/pic02.jpg
--------------------------------------------------------------------------------
/static/images/spotlight01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/images/spotlight01.jpg
--------------------------------------------------------------------------------
/static/images/spotlight02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/images/spotlight02.jpg
--------------------------------------------------------------------------------
/static/images/spotlight03.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/images/spotlight03.jpg
--------------------------------------------------------------------------------
/static/mstile-150x150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/mstile-150x150.png
--------------------------------------------------------------------------------
/static/site.webmanifest:
--------------------------------------------------------------------------------
1 | {
2 | "name": "",
3 | "short_name": "",
4 | "icons": [
5 | {
6 | "src": "/android-chrome-192x192.png",
7 | "sizes": "192x192",
8 | "type": "image/png"
9 | },
10 | {
11 | "src": "/android-chrome-512x512.png",
12 | "sizes": "512x512",
13 | "type": "image/png"
14 | }
15 | ],
16 | "theme_color": "#ffffff",
17 | "background_color": "#ffffff",
18 | "display": "standalone"
19 | }
20 |
--------------------------------------------------------------------------------
/static/webfonts/fa-brands-400.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/webfonts/fa-brands-400.ttf
--------------------------------------------------------------------------------
/static/webfonts/fa-brands-400.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/webfonts/fa-brands-400.woff2
--------------------------------------------------------------------------------
/static/webfonts/fa-duotone-900.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/webfonts/fa-duotone-900.ttf
--------------------------------------------------------------------------------
/static/webfonts/fa-duotone-900.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/webfonts/fa-duotone-900.woff2
--------------------------------------------------------------------------------
/static/webfonts/fa-light-300.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/webfonts/fa-light-300.ttf
--------------------------------------------------------------------------------
/static/webfonts/fa-light-300.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/webfonts/fa-light-300.woff2
--------------------------------------------------------------------------------
/static/webfonts/fa-regular-400.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/webfonts/fa-regular-400.ttf
--------------------------------------------------------------------------------
/static/webfonts/fa-regular-400.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/webfonts/fa-regular-400.woff2
--------------------------------------------------------------------------------
/static/webfonts/fa-sharp-solid-900.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/webfonts/fa-sharp-solid-900.ttf
--------------------------------------------------------------------------------
/static/webfonts/fa-sharp-solid-900.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/webfonts/fa-sharp-solid-900.woff2
--------------------------------------------------------------------------------
/static/webfonts/fa-solid-900.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/webfonts/fa-solid-900.ttf
--------------------------------------------------------------------------------
/static/webfonts/fa-solid-900.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/webfonts/fa-solid-900.woff2
--------------------------------------------------------------------------------
/static/webfonts/fa-thin-100.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/webfonts/fa-thin-100.ttf
--------------------------------------------------------------------------------
/static/webfonts/fa-thin-100.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/webfonts/fa-thin-100.woff2
--------------------------------------------------------------------------------
/static/webfonts/fa-v4compatibility.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/webfonts/fa-v4compatibility.ttf
--------------------------------------------------------------------------------
/static/webfonts/fa-v4compatibility.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caressofsteel/hugo-story/e3e2b8d8673085d75d009d6e3dc7f471cbadeba6/static/webfonts/fa-v4compatibility.woff2
--------------------------------------------------------------------------------
/theme.toml:
--------------------------------------------------------------------------------
1 | name = "Hugo Story"
2 | description = "A (modular, highly tweakable) responsive one-page theme for Hugo."
3 | homepage = "https://caressofsteel.github.io/demos/hugo/hugo-story/"
4 |
5 | min_version = "0.67.3 Extended"
6 | tags = ["blog","clean","html5up","modular","one-page","portfolio","responsive"]
7 | features = ["font-awesome","favicon","one-page","responsive","sass","scss"]
8 |
9 | license = "Creative Commons"
10 | licenselink = "https://github.com/caressofsteel/hugo-story/blob/master/LICENSE"
11 |
12 | [author]
13 | name = "caressofsteel"
14 | homepage = "https://github.com/caressofsteel"
15 | repo = "https://github.com/caressofsteel/hugo-story"
16 |
17 | # If porting an existing theme
18 | [original]
19 | author = "HTML5UP"
20 | homepage = "https://html5up.net"
21 | repo = "https://html5up.net/story"
--------------------------------------------------------------------------------