bay_jekyll_blog 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/_sass/_base.scss ADDED
@@ -0,0 +1,223 @@
1
+ /**
2
+ * Reset some basic elements
3
+ */
4
+ body,
5
+ h1,
6
+ h2,
7
+ h3,
8
+ h4,
9
+ h5,
10
+ h6,
11
+ p,
12
+ blockquote,
13
+ pre,
14
+ hr,
15
+ dl,
16
+ dd,
17
+ ol,
18
+ ul,
19
+ figure {
20
+ margin: 0;
21
+ padding: 0;
22
+ -webkit-font-smoothing: antialiased;
23
+ }
24
+
25
+ /**
26
+ * Basic styling
27
+ */
28
+ body {
29
+ font-family: $base-font-family;
30
+ font-size: $base-font-size;
31
+ line-height: $base-line-height;
32
+ font-weight: 300;
33
+ color: $text-color;
34
+ background-color: $background-color;
35
+ -webkit-text-size-adjust: 100%;
36
+ }
37
+
38
+ /**
39
+ * Set `margin-bottom` to maintain vertical rhythm
40
+ */
41
+ h1,
42
+ h2,
43
+ h3,
44
+ h4,
45
+ h5,
46
+ h6,
47
+ p,
48
+ blockquote,
49
+ pre,
50
+ ul,
51
+ ol,
52
+ dl,
53
+ figure,
54
+ %vertical-rhythm {
55
+ margin-bottom: $spacing-unit / 2;
56
+ }
57
+
58
+ /**
59
+ * Images
60
+ */
61
+ img {
62
+ max-width: 100%;
63
+ vertical-align: middle;
64
+ height: auto;
65
+ }
66
+
67
+ /**
68
+ * Figures
69
+ */
70
+ figure > img {
71
+ display: block;
72
+ }
73
+
74
+ figcaption {
75
+ font-size: $small-font-size;
76
+ }
77
+
78
+ /**
79
+ * Lists
80
+ */
81
+ ul,
82
+ ol {
83
+ margin-left: $spacing-unit;
84
+ }
85
+
86
+ li {
87
+ > ul,
88
+ > ol {
89
+ margin-bottom: 0;
90
+ }
91
+ }
92
+
93
+ /**
94
+ * Headings
95
+ */
96
+ h1,
97
+ h2,
98
+ h3,
99
+ h4,
100
+ h5,
101
+ h6 {
102
+ font-weight: 300;
103
+ font-family: "Futura", sans-serif;
104
+ }
105
+
106
+ h4 {
107
+ font-size: 12px;
108
+ }
109
+
110
+ /**
111
+ * Links
112
+ */
113
+ a {
114
+ color: $brand-color;
115
+ text-decoration: none;
116
+ //
117
+ // &:visited {
118
+ // color: darken($brand-color, 15%);
119
+ // }
120
+
121
+ &:hover {
122
+ color: $text-color;
123
+ text-decoration: underline;
124
+ }
125
+ }
126
+
127
+ /**
128
+ * Enforce bold (Firefox)
129
+ */
130
+ strong {
131
+ font-weight: bold;
132
+ }
133
+
134
+ /**
135
+ * Blockquotes
136
+ */
137
+ blockquote {
138
+ color: $grey-color;
139
+ border-left: 4px solid $grey-color-light;
140
+ padding-left: $spacing-unit / 2;
141
+ font-size: 100%;
142
+ letter-spacing: -0.5px;
143
+ font-style: italic;
144
+
145
+ > :last-child {
146
+ margin-bottom: 0;
147
+ }
148
+ }
149
+
150
+ /**
151
+ * Code formatting
152
+ */
153
+ pre,
154
+ code {
155
+ font-size: 15px;
156
+ border: 1px solid $grey-color-light;
157
+ border-radius: 3px;
158
+ background-color: #eef;
159
+ }
160
+
161
+ code {
162
+ padding: 1px 5px;
163
+ }
164
+
165
+ pre {
166
+ padding: 8px 12px;
167
+ overflow-x: scroll;
168
+
169
+ > code {
170
+ border: 0;
171
+ padding-right: 0;
172
+ padding-left: 0;
173
+ }
174
+ }
175
+
176
+ /**
177
+ * Wrapper
178
+ */
179
+ .wrapper {
180
+ max-width: -webkit-calc(700px - (#{$spacing-unit} * 2));
181
+ max-width: calc(700px - (#{$spacing-unit} * 2));
182
+ margin-right: auto;
183
+ margin-left: auto;
184
+ padding-right: $spacing-unit;
185
+ padding-left: $spacing-unit;
186
+ @extend %clearfix;
187
+
188
+ @include media-query($on-laptop) {
189
+ max-width: -webkit-calc(800px - (#{$spacing-unit}));
190
+ max-width: calc(800px - (#{$spacing-unit}));
191
+ padding-right: $spacing-unit / 2;
192
+ padding-left: $spacing-unit / 2;
193
+ }
194
+
195
+ position: relative;
196
+ }
197
+
198
+ /**
199
+ * Clearfix
200
+ */
201
+ %clearfix {
202
+ &:after {
203
+ content: "";
204
+ display: table;
205
+ clear: both;
206
+ }
207
+ }
208
+
209
+ /**
210
+ * Icons
211
+ */
212
+ .icon {
213
+ > svg {
214
+ display: inline-block;
215
+ width: 16px;
216
+ height: 16px;
217
+ vertical-align: middle;
218
+
219
+ path {
220
+ fill: $grey-color;
221
+ }
222
+ }
223
+ }
data/_sass/_blog.scss ADDED
@@ -0,0 +1,21 @@
1
+ .blog-post-list {
2
+ .blog-post-date {
3
+ width: 6em;
4
+ color: #777;
5
+ display: block;
6
+ float: left;
7
+
8
+ @include media-query($on-mobile) {
9
+ display: block;
10
+ float: none;
11
+ color: #333;
12
+ font-size: 11px;
13
+ margin-top: 14px;
14
+ }
15
+ }
16
+
17
+ .blog-post-title {
18
+ font-size: 100%;
19
+ letter-spacing: normal;
20
+ }
21
+ }
@@ -0,0 +1,164 @@
1
+ /**
2
+ * Site header
3
+ */
4
+ .site-header {
5
+ border-bottom: 1px solid $grey-color-light;
6
+ min-height: 56px;
7
+
8
+ padding-top: 10px;
9
+ padding-bottom: 10px;
10
+
11
+ @include media-query($on-mobile) {
12
+ padding-top: 0;
13
+ padding-bottom: 0;
14
+ }
15
+
16
+ // Positioning context for the mobile navigation icon
17
+ position: relative;
18
+ }
19
+
20
+ .site-title {
21
+ font-size: 26px;
22
+ line-height: 56px;
23
+ letter-spacing: -1px;
24
+ float: left;
25
+
26
+ img {
27
+ height: 28px;
28
+ }
29
+
30
+ &,
31
+ &:visited {
32
+ color: $grey-color-dark;
33
+ }
34
+ }
35
+
36
+ /**
37
+ * Site nav
38
+ */
39
+ .site-nav {
40
+ z-index: 10;
41
+ float: right;
42
+ line-height: 56px;
43
+
44
+ .menu-icon {
45
+ display: none;
46
+ }
47
+
48
+ .page-link {
49
+ color: $text-color;
50
+ line-height: $base-line-height;
51
+
52
+ // Gaps between nav items, but not on the first one
53
+ &:not(:first-child) {
54
+ margin-left: 20px;
55
+ }
56
+ }
57
+
58
+ @include media-query($on-mobile) {
59
+ position: absolute;
60
+ top: 12px;
61
+ right: 24px;
62
+
63
+ border: 1px solid $grey-color-light;
64
+ border-radius: 5px;
65
+ text-align: right;
66
+
67
+ .menu-icon {
68
+ display: block;
69
+ float: right;
70
+ width: 36px;
71
+ height: 26px;
72
+ line-height: 0;
73
+ padding-top: 4px;
74
+ text-align: center;
75
+
76
+ background: #ffffff url($base-url + '/assets/img/menu.png') 6px 4px no-repeat;
77
+ background-size: 26px 26px;
78
+ }
79
+
80
+ .menu {
81
+ clear: both;
82
+ display: none;
83
+ background-color: #ffffff;
84
+ min-width: 10em;
85
+ padding-bottom: 5px;
86
+ }
87
+
88
+ .page-link {
89
+ font-size: 16px;
90
+ display: block;
91
+ padding: 6px 16px;
92
+ }
93
+ }
94
+ }
95
+
96
+ /**
97
+ * Site footer
98
+ */
99
+ .site-footer {
100
+ border-top: 1px solid $grey-color-light;
101
+ padding: $spacing-unit 0;
102
+
103
+ @include media-query($on-mobile) {
104
+ padding-top: 10px;
105
+ }
106
+ }
107
+
108
+ .footer-heading {
109
+ font-size: 18px;
110
+ margin-bottom: $spacing-unit / 2;
111
+ }
112
+
113
+ .contact-list,
114
+ .social-media-list {
115
+ list-style: none;
116
+ margin-left: 0;
117
+ }
118
+
119
+ .footer-col-wrapper {
120
+ font-size: 15px;
121
+ color: $grey-color;
122
+ margin-left: -$spacing-unit / 2;
123
+ @extend %clearfix;
124
+ }
125
+
126
+ .footer-col {
127
+ float: left;
128
+ margin-bottom: $spacing-unit / 2;
129
+ padding-left: $spacing-unit / 2;
130
+ }
131
+
132
+ .footer-col-1,
133
+ .footer-col-2,
134
+ .footer-col-3 {
135
+ width: -webkit-calc(33% - (#{$spacing-unit} / 2));
136
+ width: calc(33% - (#{$spacing-unit} / 2));
137
+ }
138
+
139
+ .follow-links > .social-link {
140
+ flex: 0 50%;
141
+ }
142
+
143
+ .powered-by {
144
+ font-size: 13px !important;
145
+ color: $grey-color;
146
+ }
147
+
148
+ @include media-query($on-mobile) {
149
+ .footer-col {
150
+ float: none;
151
+ width: 100%;
152
+ }
153
+ }
154
+
155
+ /**
156
+ * Page content
157
+ */
158
+ .page-content {
159
+ padding: $spacing-unit 0;
160
+ }
161
+
162
+ .page-heading {
163
+ font-size: 20px;
164
+ }
data/_sass/_post.scss ADDED
@@ -0,0 +1,103 @@
1
+ .post-header {
2
+ margin-bottom: $spacing-unit;
3
+ }
4
+
5
+ .post-title {
6
+ font-size: 40px;
7
+ letter-spacing: -1px;
8
+ line-height: 1.2;
9
+
10
+ font-family: $base-font-family;
11
+
12
+ @include media-query($on-mobile) {
13
+ font-size: 34px;
14
+ }
15
+ }
16
+
17
+ .post-subtitle {
18
+ font-size: 26px;
19
+ letter-spacing: -1px;
20
+ line-height: 1;
21
+ color: #777;
22
+ font-family: $base-font-family;
23
+ font-style: oblique;
24
+ position: relative;
25
+ top: -0.3em;
26
+
27
+ @include media-query($on-mobile) {
28
+ font-size: 24px;
29
+ }
30
+ }
31
+
32
+ .post-meta .post-date {
33
+ text-transform: uppercase;
34
+ font-size: 120%;
35
+ }
36
+
37
+ .post-content {
38
+ margin-bottom: $spacing-unit;
39
+ width: 100%;
40
+ h2 {
41
+ font-size: 32px;
42
+
43
+ @include media-query($on-mobile) {
44
+ font-size: 28px;
45
+ }
46
+ }
47
+
48
+ h3 {
49
+ font-size: 26px;
50
+
51
+ @include media-query($on-mobile) {
52
+ font-size: 22px;
53
+ }
54
+ }
55
+
56
+ h4 {
57
+ font-size: 20px;
58
+
59
+ @include media-query($on-mobile) {
60
+ font-size: 18px;
61
+ }
62
+ }
63
+ }
64
+
65
+ .post-pic {
66
+ border: #999 1px solid;
67
+ }
68
+
69
+ .magnify {
70
+ cursor: zoom-in;
71
+ }
72
+
73
+ .post-languages {
74
+ font-size: 13px;
75
+ font-family: Helvetica, sans-serif;
76
+ margin-top: 30px;
77
+ margin-bottom: 20px;
78
+
79
+ strong {
80
+ font-size: 11px;
81
+ text-transform: uppercase;
82
+ }
83
+ }
84
+
85
+ div.footnotes {
86
+ font-size: 80%;
87
+ }
88
+
89
+ .draft-banner {
90
+ background: #ff9999;
91
+ color: #660000;
92
+
93
+ text-align: center;
94
+ padding: 1em;
95
+ margin-bottom: 2em;
96
+ font-family: Helvetica, sans-serif;
97
+
98
+ border-radius: 5px;
99
+
100
+ a {
101
+ color: #330000;
102
+ }
103
+ }
data/_sass/_site.scss ADDED
@@ -0,0 +1,77 @@
1
+ .profile-pic {
2
+ float: right;
3
+ width: 202px;
4
+ border: #ccc 1px solid;
5
+ margin-left: 20px;
6
+
7
+ @include media-query($on-mobile) {
8
+ float: none;
9
+ margin-bottom: 20px;
10
+ margin-left: 0px;
11
+ }
12
+ }
13
+
14
+ .footer-col {
15
+ font-size: 12px;
16
+
17
+ h4 {
18
+ margin-bottom: 0;
19
+ margin-top: 0;
20
+ line-height: 30px;
21
+ }
22
+
23
+ .social-links {
24
+ display: flex;
25
+ flex-wrap: wrap;
26
+
27
+ .social-link {
28
+ display: flex;
29
+ width: 100%;
30
+ align-items: flex-start;
31
+ line-height: 16px;
32
+ margin-top: 6.5px;
33
+ margin-bottom: 10px;
34
+
35
+ img {
36
+ width: 16px;
37
+ height: 16px;
38
+ }
39
+
40
+ a {
41
+ margin-left: 6px;
42
+ word-break: break-all;
43
+ }
44
+ }
45
+
46
+ @include media-query($on-mobile) {
47
+ font-size: 14px;
48
+ line-height: 38px;
49
+ }
50
+ }
51
+ }
52
+
53
+ #wechat-widget {
54
+ display: none;
55
+ position: absolute;
56
+ background: #fff;
57
+ border: #ddd 1px solid;
58
+ box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.25);
59
+
60
+ padding: 24px;
61
+ text-align: center;
62
+
63
+ p {
64
+ font-size: 11px;
65
+ line-height: 16px;
66
+ font-family: Helvetica, sans-serif;
67
+ width: 170px;
68
+ margin: 0 auto;
69
+ margin-bottom: 14px;
70
+ }
71
+
72
+ #qr-code {
73
+ width: 160px;
74
+ height: 160px;
75
+ border: none;
76
+ }
77
+ }
data/_sass/_work.scss ADDED
@@ -0,0 +1,12 @@
1
+ .work-item {
2
+ clear: both;
3
+ overflow: hidden;
4
+ padding-bottom: 3em;
5
+ }
6
+
7
+ .work-bubble {
8
+ float: left;
9
+ padding-right: 20px;
10
+ width: 100px;
11
+ height: 100px;
12
+ }
@@ -0,0 +1,35 @@
1
+ ---
2
+ # Only the main Sass file needs front matter (the dashes are enough)
3
+ ---
4
+
5
+ @charset "utf-8";
6
+
7
+ // Our variables
8
+ $base-url: "{{ site.baseurl }}";
9
+
10
+ $base-font-family: Charter, Georgia, Helvetica, Arial, sans-serif;
11
+ $base-font-size: 14px;
12
+ $small-font-size: $base-font-size * 0.875;
13
+ $base-line-height: 1.7;
14
+
15
+ $spacing-unit: 30px;
16
+
17
+ $text-color: #111;
18
+ $background-color: #fdfdfd;
19
+ $brand-color: #2a7ae2;
20
+
21
+ $grey-color: #828282;
22
+ $grey-color-light: lighten($grey-color, 40%);
23
+ $grey-color-dark: darken($grey-color, 25%);
24
+
25
+ $on-mobile: 500px;
26
+ $on-laptop: 800px;
27
+
28
+ @mixin media-query($device) {
29
+ @media screen and (max-width: $device) {
30
+ @content;
31
+ }
32
+ }
33
+
34
+ // Import partials from `sass_dir` (defaults to `_sass`)
35
+ @import "base", "layout", "site", "work", "blog", "post", "404";
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
data/assets/js/site.js ADDED
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Menu
3
+ */
4
+ $("a.menu-icon").on("click", function(event) {
5
+ var w = $(".menu");
6
+
7
+ w.css({
8
+ display: w.css("display") === "none"
9
+ ? "block"
10
+ : "none"
11
+ });
12
+ });
13
+
14
+ /**
15
+ * Wechat widget
16
+ */
17
+ function moveWidget(event) {
18
+ var w = $("#wechat-widget");
19
+
20
+ w.css({
21
+ left: event.pageX - 25,
22
+ top: event.pageY - w.height() - 60
23
+ });
24
+ }
25
+
26
+ $("a#wechat-link").on("mouseenter", function(event) {
27
+ $("#wechat-widget").css({ display: "block" });
28
+ moveWidget(event);
29
+ });
30
+
31
+ $("a#wechat-link").on("mousemove", function(event) {
32
+ moveWidget(event);
33
+ });
34
+
35
+ $("a#wechat-link").on("mouseleave", function(event) {
36
+ $("#wechat-widget").css({ display: "none" });
37
+ });