jekyll-theme-hydeout 3.7.1 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c8b6186e8fc0867a2364926d9242887c10f5b8f3
4
- data.tar.gz: b67f562ffa575888c0cbd5918948e4fbd767a46c
3
+ metadata.gz: 8ede74be147a0b99c886b90309f4361e690e9cfa
4
+ data.tar.gz: '028cc1a510c0a274481943f31c2b84b40460f226'
5
5
  SHA512:
6
- metadata.gz: 5f8fdc3d6f8963fd1d4fb285f15582fc2a18ee26bd42a05da0854792393c36aed5b15c85225b7a94580bcacdf319364fb7702ab40cc84e32962f4a6daaccf485
7
- data.tar.gz: 36ae8c142eaa2df9dbf072199b371fc5bab5c7869684e2733d0ce7cb88eea02a5539716b77c550949c4b9b44d926070fbe50e206edf6e9f0b18f196db6cc53ef
6
+ metadata.gz: dd0f4f5752f3ba7866dd8a40530f06fb273065c2e2b27f51de019f86ee5ab2b16507a5c3d5ac5a334d1cb5fa43a5eaed4c2e756895e79dd91238cebd420d0a62
7
+ data.tar.gz: 5a4d3728150d4a6a1158673b706069073d4c394f115f851e9ccf365f352fc7c6dc743013d19fc91f44df8dca5ba264e3289e5dfe078aa66565017f6f7371ffe9
data/README.md CHANGED
@@ -1,167 +1,168 @@
1
- # Hydeout
2
-
3
- Hydeout updates the original [Hyde](https://github.com/poole/hyde)
4
- theme for [Jekyll](http://jekyllrb.com) 3.x and adds new functionality.
5
-
6
- ![Desktop](/_screenshots/1.png?raw=true)
7
- <img alt="Mobile home page" src="/_screenshots/2.png?raw=true" width="300px" />
8
- <img alt="Mobile post page" src="/_screenshots/3.png?raw=true" width="300px" />
9
-
10
- ### Usage
11
-
12
- Hydeout is available as the `jekyll-theme-hydeout` Ruby Gem.
13
- Add `gem "jekyll-theme-hydeout", "~> 3.4"` to your Gemfile and run
14
- `bundle install`.
15
-
16
- If you're installing on Github pages, you may also have to add
17
- `remote_theme: fongandrew/hydeout` to your `_config.yml`. [See the Github
18
- instructions for more details.](https://help.github.com/articles/adding-a-jekyll-theme-to-your-github-pages-site/)
19
-
20
- Hydeout uses pagination, so if you have an `index.md`, you'll need to swap
21
- it with an `index.html` that uses the `index` layout:
22
-
23
- ```
24
- ---
25
- layout: index
26
- title: Home
27
- ---
28
- ```
29
-
30
- You'll also need to add a setting to `_config.yml` telling Jekyll how many posts
31
- to include per page (e.g. `paginate: 5`).
32
-
33
- ### Keep It Simple
34
-
35
- In keeping with the original Hyde theme, Hydeout aims to keep the overall
36
- design lightweight and plugin-free. JavaScript is currently limited only
37
- to Disqus and Google Analytics (and is only loaded if you provide configuration
38
- variables).
39
-
40
- Hydeout makes heavy use of Flexbox in its CSS. If Flexbox is not available,
41
- the CSS degrades into a single column layout.
42
-
43
- ### Customization
44
-
45
- Hydeout replaces Hyde's class-based theming with the use
46
- of the following SASS variables:
47
-
48
- ```scss
49
- $sidebar-bg-color: #202020 !default;
50
- $sidebar-sticky: true !default;
51
- $layout-reverse: false !default;
52
- $link-color: #268bd2 !default;
53
- ```
54
-
55
- To override these variables, create your own `assets/css/main.scss` file.
56
- Define your own variables, then import in Hydeout's SCSS, like so:
57
-
58
- ```scss
59
- ---
60
- # Jekyll needs front matter for SCSS files
61
- ---
62
-
63
- $sidebar-bg-color: #ac4142;
64
- $link-color: #ac4142;
65
- $sidebar-sticky: false;
66
- @import "hydeout";
67
- ```
68
-
69
- See the [_variables](_sass/hydeout/_variables.scss) file for other variables
70
- you can override.
71
-
72
- You can see the full set of partials you can replace in the
73
- [`_includes`](_includes) folder, but there are a few worth noting:
74
-
75
- * `_includes/copyright.html` - Insert your own copyright here.
76
-
77
- * `_includes/custom-head.html` - Insert custom head tags (e.g. to load your
78
- own stylesheets)
79
-
80
- * `_includes/custom-foot.html` - Insert custom elements at the end of the
81
- body (e.g. for custom JS)
82
-
83
- * `_includes/custom-nav-links.html` - Additional nav links to insert at the
84
- end of the list of links in the sidebar.
85
-
86
- Pro-tip: The `nav`s in the sidebar are flexboxes. Use the `order` property
87
- to order your links.
88
-
89
- * `_includes/custom-icon-links.html`- Additional icon links to insert at the
90
- end of the icon links at the bottom of the sidebar. You can use the `order`
91
- property to re-order.
92
-
93
- * `_includes/favicons.html` - Replace references to `favicon.ico` and
94
- `favicon.png` with your own favicons references.
95
-
96
- * `_includes/font-includes.html` - The Abril Fatface font used for the site
97
- title is loaded here. If you're overriding that font in the CSS, be sure
98
- to also remove the font load reference here.
99
-
100
- ### New Features
101
-
102
- * Hydeout adds a new tags page (accessible in the sidebar). Just create a
103
- new page with the tags layout:
104
-
105
- ```
106
- ---
107
- layout: tags
108
- title: Tags
109
- ---
110
- ```
111
-
112
- * Hydeout adds a new "category" layout for dedicated category pages.
113
- Category pages are automatically added to the sidebar. All other pages
114
- must have `sidebar_link: true` in their front matter to show up in
115
- the sidebar. To create a category page, use the `category` layout"
116
-
117
- ```
118
- ---
119
- layout: category
120
- title: My Category
121
- ---
122
-
123
- Description of "My Category"
124
- ```
125
-
126
- * You can control how pages are sorted by using the `sidebar_sort_order`
127
- parameter in the front matter. This works for both category and non-category
128
- pages, although non-category pages will always come first. Take a look at
129
- [`_includes/sidebar-nav-links.html`](./_includes/sidebar-nav-links.html) if
130
- you want to customize this behavior.
131
-
132
- ```
133
- ---
134
- layout: page
135
- title: My page
136
- sidebar_sort_order: 123
137
- ---
138
-
139
- Some content.
140
- ```
141
-
142
- * A simple redirect-to-Google search is available. Just create a page with
143
- the `search` layout.
144
-
145
- ```
146
- ---
147
- layout: search
148
- title: Google Search
149
- ---
150
- ```
151
-
152
- * Disqus integration is ready out of the box. Just add the following to
153
- your config file:
154
-
155
- ```yaml
156
- disqus:
157
- shortname: my-disqus-shortname
158
- ```
159
-
160
- If you don't want Disqus or want to use something else, override
161
- `comments.html`.
162
-
163
- * For Google Analytics support, define a `google_analytics` variable with
164
- your property ID in your config file.
165
-
166
- There's also a bunch of minor tweaks and adjustments throughout the
167
- theme. Hope this works for you!
1
+ # Hydeout
2
+
3
+ Hydeout updates the original [Hyde](https://github.com/poole/hyde)
4
+ theme for [Jekyll](http://jekyllrb.com) 3.x and adds new functionality.
5
+
6
+ ![Desktop](/_screenshots/1.png?raw=true)
7
+ <img alt="Mobile home page" src="/_screenshots/2.png?raw=true" width="300px" />
8
+ <img alt="Mobile post page" src="/_screenshots/3.png?raw=true" width="300px" />
9
+
10
+ ### Usage
11
+
12
+ Hydeout is available as the `jekyll-theme-hydeout` Ruby Gem.
13
+ Add `gem "jekyll-theme-hydeout", "~> 3.4"` to your Gemfile and run
14
+ `bundle install`.
15
+
16
+ If you're installing on Github pages, you may also have to add
17
+ `remote_theme: fongandrew/hydeout` to your `_config.yml`. [See the Github
18
+ instructions for more details.](https://help.github.com/articles/adding-a-jekyll-theme-to-your-github-pages-site/)
19
+
20
+ Hydeout uses pagination, so if you have an `index.md`, you'll need to swap
21
+ it with an `index.html` that uses the `index` layout:
22
+
23
+ ```
24
+ ---
25
+ layout: index
26
+ title: Home
27
+ ---
28
+ ```
29
+
30
+ You'll also need to add a setting to `_config.yml` telling Jekyll how many posts
31
+ to include per page (e.g. `paginate: 5`).
32
+
33
+ ### Keep It Simple
34
+
35
+ In keeping with the original Hyde theme, Hydeout aims to keep the overall
36
+ design lightweight and plugin-free. JavaScript is currently limited only
37
+ to Disqus and Google Analytics (and is only loaded if you provide configuration
38
+ variables).
39
+
40
+ Hydeout makes heavy use of Flexbox in its CSS. If Flexbox is not available,
41
+ the CSS degrades into a single column layout.
42
+
43
+ ### Customization
44
+
45
+ Hydeout replaces Hyde's class-based theming with the use
46
+ of the following SASS variables:
47
+
48
+ ```scss
49
+ $sidebar-bg-color: #202020 !default;
50
+ $sidebar-fg-color: white !default;
51
+ $sidebar-sticky: true !default;
52
+ $layout-reverse: false !default;
53
+ $link-color: #268bd2 !default;
54
+ ```
55
+
56
+ To override these variables, create your own `assets/css/main.scss` file.
57
+ Define your own variables, then import in Hydeout's SCSS, like so:
58
+
59
+ ```scss
60
+ ---
61
+ # Jekyll needs front matter for SCSS files
62
+ ---
63
+
64
+ $sidebar-bg-color: #ac4142;
65
+ $link-color: #ac4142;
66
+ $sidebar-sticky: false;
67
+ @import "hydeout";
68
+ ```
69
+
70
+ See the [_variables](_sass/hydeout/_variables.scss) file for other variables
71
+ you can override.
72
+
73
+ You can see the full set of partials you can replace in the
74
+ [`_includes`](_includes) folder, but there are a few worth noting:
75
+
76
+ * `_includes/copyright.html` - Insert your own copyright here.
77
+
78
+ * `_includes/custom-head.html` - Insert custom head tags (e.g. to load your
79
+ own stylesheets)
80
+
81
+ * `_includes/custom-foot.html` - Insert custom elements at the end of the
82
+ body (e.g. for custom JS)
83
+
84
+ * `_includes/custom-nav-links.html` - Additional nav links to insert at the
85
+ end of the list of links in the sidebar.
86
+
87
+ Pro-tip: The `nav`s in the sidebar are flexboxes. Use the `order` property
88
+ to order your links.
89
+
90
+ * `_includes/custom-icon-links.html`- Additional icon links to insert at the
91
+ end of the icon links at the bottom of the sidebar. You can use the `order`
92
+ property to re-order.
93
+
94
+ * `_includes/favicons.html` - Replace references to `favicon.ico` and
95
+ `favicon.png` with your own favicons references.
96
+
97
+ * `_includes/font-includes.html` - The Abril Fatface font used for the site
98
+ title is loaded here. If you're overriding that font in the CSS, be sure
99
+ to also remove the font load reference here.
100
+
101
+ ### New Features
102
+
103
+ * Hydeout adds a new tags page (accessible in the sidebar). Just create a
104
+ new page with the tags layout:
105
+
106
+ ```
107
+ ---
108
+ layout: tags
109
+ title: Tags
110
+ ---
111
+ ```
112
+
113
+ * Hydeout adds a new "category" layout for dedicated category pages.
114
+ Category pages are automatically added to the sidebar. All other pages
115
+ must have `sidebar_link: true` in their front matter to show up in
116
+ the sidebar. To create a category page, use the `category` layout"
117
+
118
+ ```
119
+ ---
120
+ layout: category
121
+ title: My Category
122
+ ---
123
+
124
+ Description of "My Category"
125
+ ```
126
+
127
+ * You can control how pages are sorted by using the `sidebar_sort_order`
128
+ parameter in the front matter. This works for both category and non-category
129
+ pages, although non-category pages will always come first. Take a look at
130
+ [`_includes/sidebar-nav-links.html`](./_includes/sidebar-nav-links.html) if
131
+ you want to customize this behavior.
132
+
133
+ ```
134
+ ---
135
+ layout: page
136
+ title: My page
137
+ sidebar_sort_order: 123
138
+ ---
139
+
140
+ Some content.
141
+ ```
142
+
143
+ * A simple redirect-to-Google search is available. Just create a page with
144
+ the `search` layout.
145
+
146
+ ```
147
+ ---
148
+ layout: search
149
+ title: Google Search
150
+ ---
151
+ ```
152
+
153
+ * Disqus integration is ready out of the box. Just add the following to
154
+ your config file:
155
+
156
+ ```yaml
157
+ disqus:
158
+ shortname: my-disqus-shortname
159
+ ```
160
+
161
+ If you don't want Disqus or want to use something else, override
162
+ `comments.html`.
163
+
164
+ * For Google Analytics support, define a `google_analytics` variable with
165
+ your property ID in your config file.
166
+
167
+ There's also a bunch of minor tweaks and adjustments throughout the
168
+ theme. Hope this works for you!
@@ -1,13 +1,13 @@
1
1
  <nav id="sidebar-icon-links">
2
- {% if site.github.repo %}
2
+ {% if site.hydeout.repo %}
3
3
  <a id="github-link"
4
4
  class="icon" title="Github Project" aria-label="Github Project"
5
- href="{{ site.github.repo }}">
5
+ href="{{ site.hydeout.repo }}">
6
6
  {% include svg/github.svg %}
7
7
  </a>
8
8
  <a id="github-download-link"
9
9
  class="icon" title="Download" aria-label="Download"
10
- href="{{ site.github.repo }}/archive/v{{ site.version }}.zip">
10
+ href="{{ site.hydeout.repo }}/archive/v{{ site.hydeout.version }}.zip">
11
11
  {% include svg/download.svg %}
12
12
  </a>
13
13
  {% endif %}
@@ -79,7 +79,7 @@ tbody tr:nth-child(odd) th {
79
79
  background-color: $gray-1;
80
80
  }
81
81
 
82
- input[type="text"], input[type="search"], input[type="submit"], button {
82
+ input[type="text"], input[type="email"], input[type="search"], input[type="submit"], button {
83
83
  padding: $padding-v $padding-h;
84
84
  border: 1px solid $border-color;
85
85
  border-radius: $border-radius;
@@ -1,306 +1,301 @@
1
- /*
2
- Layout
3
-
4
- Styles for managing the structural hierarchy of the site.
5
- Hydeout features the large colored sidebar from Hyde that houses the
6
- site name, intro, and "footer" content. Sidebar is on top of content on
7
- mobile and expands into sidebar on larger width displays.
8
-
9
- Sidebar CSS assumes HTML looks like this for post pages:
10
-
11
- body
12
- > #sidebar
13
- > header (primary sidebar content -- i.e. title)
14
- > h1 (home page only, otherwise div or span)
15
- > secondary nav content we may want to hide on certain pages
16
- > .container
17
- > h1 (non-home page)
18
- > .content
19
-
20
- Basic approach is to color in body, make sidebar background transparent,
21
- and then fill in the .container or .content elements depending on how far
22
- we want the sidebar or header to stretch.
23
- */
24
-
25
- body {
26
- color: rgba(255,255,255,.75);
27
- background-color: $sidebar-bg-color;
28
- background-image: linear-gradient(
29
- to bottom,
30
- lighten($sidebar-bg-color, 7%),
31
- darken($sidebar-bg-color, 7%));
32
- display: flex;
33
- flex-direction: column;
34
- min-width: 100vw;
35
- min-height: 100vh;
36
- }
37
-
38
- #sidebar {
39
- flex: 0 0 auto;
40
- padding: $section-spacing;
41
-
42
- .site-title {
43
- font-family: "Abril Fatface", serif;
44
- font-weight: normal;
45
- font-size: $large-font-size;
46
- color: rgba(255,255,255,.75);
47
- margin-top: 0;
48
- margin-bottom: $heading-spacing;
49
-
50
- a {
51
- color: inherit;
52
- &:hover { color: $sidebar-title-color; }
53
- }
54
-
55
- .back-arrow { margin-right: 0.5rem; }
56
- }
57
- }
58
-
59
- // Container is flexbox as well -- we want content div to stretch and fill
60
- .container {
61
- flex: 1 1 auto;
62
- display: flex;
63
- flex-direction: column;
64
-
65
- > .content {
66
- flex-grow: 1;
67
- padding-bottom: $section-spacing * 2;
68
- }
69
- }
70
-
71
- .content {
72
- background: $body-bg;
73
- color: $body-color;
74
- padding: $section-spacing;
75
- }
76
-
77
-
78
- /* -----------------------------------------------------------
79
- Mobile view
80
- ----------------------------------------------------------- */
81
-
82
- // Hide secondary nav content in sidebar
83
- // Hide lead paragraph in sidebar
84
- #sidebar {
85
- header ~ *, header ~ nav, p.lead {
86
- display: none;
87
- }
88
- }
89
-
90
- // Make header elements blend into sidebar / background
91
- .container > header {
92
- background: transparent;
93
- color: white;
94
- margin: ($heading-spacing - $section-spacing)
95
- $section-spacing
96
- $section-spacing;
97
-
98
- h1, h2 {
99
- color: white;
100
-
101
- &:last-child {
102
- margin-bottom: 0;
103
- }
104
- }
105
- }
106
-
107
-
108
- /* -----------------------------------------------------------
109
- Mobile view for home page)
110
- ----------------------------------------------------------- */
111
-
112
- .home #sidebar {
113
-
114
- // Center sidebar content
115
- text-align: center;
116
-
117
- // Bigger title
118
- .site-title {
119
- font-size: 3.25rem;
120
- color: $sidebar-title-color;
121
- }
122
-
123
- // Show secondary nav content + lead
124
- header ~ *, p.lead {
125
- display: block;
126
- }
127
-
128
- header {
129
- ~ nav {
130
- display: flex;
131
- }
132
- }
133
-
134
- // Slightly more bottom padding to compensate for heading not match 100% of
135
- // line-height on top
136
- > *:last-child {
137
- margin-bottom: 0.5rem;
138
- }
139
- }
140
-
141
-
142
- /* -----------------------------------------------------------
143
- Tablet / Desktop view
144
- ----------------------------------------------------------- */
145
-
146
- @media (min-width: $large-breakpoint) {
147
- body {
148
- flex-direction: row;
149
- height: 100vh;
150
- overflow-y: auto;
151
- -webkit-overflow-scrolling: touch;
152
- > * {
153
- max-height: 100vh;
154
- overflow-y: auto;
155
- -webkit-overflow-scrolling: touch;
156
- }
157
- }
158
-
159
- /* Undo mobile CSS */
160
-
161
- #sidebar, .home #sidebar {
162
- width: $sidebar-width;
163
- text-align: left;
164
-
165
- > *:last-child {
166
- margin-bottom: 0;
167
- }
168
- }
169
-
170
- #sidebar {
171
- .site-title {
172
- font-size: 3.25rem;
173
-
174
- a { color: $sidebar-title-color; }
175
- .back-arrow { display: none; }
176
- }
177
-
178
- p.lead, header ~ * {
179
- display: block;
180
- }
181
-
182
- header ~ nav {
183
- display: flex;
184
- }
185
- }
186
-
187
- .index #sidebar { margin-bottom: 0; }
188
-
189
- // Make entire container background white to contrast against sidebar
190
- .container {
191
- background: $body-bg;
192
- color: $body-color;
193
- padding: $section-spacing * 2
194
- $section-spacing * 2
195
- 0;
196
- height: 100vh;
197
-
198
- > header {
199
- color: inherit;
200
- margin: 0;
201
- h1, h2 {
202
- color: inherit;
203
-
204
- &:last-child {
205
- margin-bottom: $heading-spacing;
206
- }
207
- }
208
- }
209
-
210
- > * {
211
- max-width: 38rem;
212
- padding: 0;
213
- }
214
- }
215
- }
216
-
217
-
218
- /* -----------------------------------------------------------
219
- Sidebar links + nav
220
- ----------------------------------------------------------- */
221
-
222
- #sidebar a {
223
- color: #fff;
224
-
225
- svg {
226
- fill: rgba(255, 255, 255, 0.85);
227
- }
228
-
229
- &:hover, &:focus, &.active {
230
- svg { fill: #fff; }
231
- }
232
-
233
- &:hover, &:focus {
234
- text-decoration: underline;
235
- &.icon {
236
- text-decoration: none;
237
- }
238
- }
239
-
240
- &.active {
241
- font-weight: bold;
242
- }
243
- }
244
-
245
- #sidebar nav {
246
- display: flex;
247
- }
248
-
249
- #sidebar-nav-links {
250
- flex-flow: column nowrap;
251
- }
252
-
253
- #sidebar-icon-links {
254
- max-width: 100%;
255
- flex-flow: row wrap;
256
- justify-content: center;
257
- margin-top: 1rem;
258
-
259
- @media (min-width: $large-breakpoint) {
260
- margin-left: -0.25em;
261
- justify-content: flex-start;
262
- }
263
- }
264
-
265
- #sidebar nav > * {
266
- display: block;
267
- line-height: 1.75;
268
- }
269
-
270
- #sidebar nav > .icon {
271
- font-size: 1.5rem;
272
- display: inline-block;
273
- margin: 0 0.25em;
274
- }
275
-
276
-
277
- /* -----------------------------------------------------------
278
- Sticky sidebar
279
-
280
- Set $sidebar-stick variable to affix sidebar contents to the
281
- bottom of the sidebar in tablets and up.
282
- ----------------------------------------------------------- */
283
-
284
- @if $sidebar-sticky {
285
- @media (min-width: $large-breakpoint) {
286
- body {
287
- align-items: flex-end;
288
- }
289
- }
290
- }
291
-
292
-
293
- /* -----------------------------------------------------------
294
- Reverse layout
295
-
296
- Flip the orientation of the page by placing the `#sidebar`
297
- on the right.
298
- ----------------------------------------------------------- */
299
-
300
- @if $layout-reverse {
301
- @media (min-width: $large-breakpoint) {
302
- .container {
303
- order: -1;
304
- }
305
- }
306
- }
1
+ /*
2
+ Layout
3
+
4
+ Styles for managing the structural hierarchy of the site.
5
+ Hydeout features the large colored sidebar from Hyde that houses the
6
+ site name, intro, and "footer" content. Sidebar is on top of content on
7
+ mobile and expands into sidebar on larger width displays.
8
+
9
+ Sidebar CSS assumes HTML looks like this for post pages:
10
+
11
+ body
12
+ > #sidebar
13
+ > header (primary sidebar content -- i.e. title)
14
+ > h1 (home page only, otherwise div or span)
15
+ > secondary nav content we may want to hide on certain pages
16
+ > .container
17
+ > h1 (non-home page)
18
+ > .content
19
+
20
+ Basic approach is to color in body, make sidebar background transparent,
21
+ and then fill in the .container or .content elements depending on how far
22
+ we want the sidebar or header to stretch.
23
+ */
24
+
25
+ body {
26
+ color: $sidebar-text-color;
27
+ background-color: $sidebar-bg-color;
28
+ background-image: linear-gradient(
29
+ to bottom,
30
+ lighten($sidebar-bg-color, 7%),
31
+ darken($sidebar-bg-color, 7%));
32
+ display: flex;
33
+ flex-direction: column;
34
+ min-width: 100vw;
35
+ min-height: 100vh;
36
+ }
37
+
38
+ #sidebar {
39
+ flex: 0 0 auto;
40
+ padding: $section-spacing;
41
+
42
+ .site-title {
43
+ font-family: "Abril Fatface", serif;
44
+ font-weight: normal;
45
+ font-size: $large-font-size;
46
+ margin-top: 0;
47
+ margin-bottom: $heading-spacing;
48
+
49
+ .back-arrow { margin-right: 0.5rem; }
50
+ }
51
+ }
52
+
53
+ // Container is flexbox as well -- we want content div to stretch and fill
54
+ .container {
55
+ flex: 1 1 auto;
56
+ display: flex;
57
+ flex-direction: column;
58
+
59
+ > .content {
60
+ flex-grow: 1;
61
+ padding-bottom: $section-spacing * 2;
62
+ }
63
+ }
64
+
65
+ .content {
66
+ background: $body-bg;
67
+ color: $body-color;
68
+ padding: $section-spacing;
69
+ }
70
+
71
+
72
+ /* -----------------------------------------------------------
73
+ Mobile view
74
+ ----------------------------------------------------------- */
75
+
76
+ // Hide secondary nav content in sidebar
77
+ // Hide lead paragraph in sidebar
78
+ #sidebar {
79
+ header ~ *, header ~ nav, p.lead {
80
+ display: none;
81
+ }
82
+ }
83
+
84
+ // Make header elements blend into sidebar / background
85
+ .container > header {
86
+ color: $sidebar-title-color;
87
+ background: transparent;
88
+ margin: ($heading-spacing - $section-spacing)
89
+ $section-spacing
90
+ $section-spacing;
91
+
92
+ h1, h2 {
93
+ color: inherit;
94
+
95
+ &:last-child {
96
+ margin-bottom: 0;
97
+ }
98
+ }
99
+ }
100
+
101
+
102
+ /* -----------------------------------------------------------
103
+ Mobile view for home page)
104
+ ----------------------------------------------------------- */
105
+
106
+ .home #sidebar {
107
+
108
+ // Center sidebar content
109
+ text-align: center;
110
+
111
+ // Bigger title
112
+ .site-title {
113
+ font-size: 3.25rem;
114
+ }
115
+
116
+ // Show secondary nav content + lead
117
+ header ~ *, p.lead {
118
+ display: block;
119
+ }
120
+
121
+ header {
122
+ ~ nav {
123
+ display: flex;
124
+ }
125
+ }
126
+
127
+ // Slightly more bottom padding to compensate for heading not match 100% of
128
+ // line-height on top
129
+ > *:last-child {
130
+ margin-bottom: 0.5rem;
131
+ }
132
+ }
133
+
134
+
135
+ /* -----------------------------------------------------------
136
+ Tablet / Desktop view
137
+ ----------------------------------------------------------- */
138
+
139
+ @media (min-width: $large-breakpoint) {
140
+ body {
141
+ flex-direction: row;
142
+ height: 100vh;
143
+ overflow-y: auto;
144
+ -webkit-overflow-scrolling: touch;
145
+ > * {
146
+ max-height: 100vh;
147
+ overflow-y: auto;
148
+ -webkit-overflow-scrolling: touch;
149
+ }
150
+ }
151
+
152
+ /* Undo mobile CSS */
153
+
154
+ #sidebar, .home #sidebar {
155
+ width: $sidebar-width;
156
+ text-align: left;
157
+
158
+ > *:last-child {
159
+ margin-bottom: 0;
160
+ }
161
+ }
162
+
163
+ #sidebar {
164
+ .site-title {
165
+ font-size: 3.25rem;
166
+ .back-arrow { display: none; }
167
+ }
168
+
169
+ p.lead, header ~ * {
170
+ display: block;
171
+ }
172
+
173
+ header ~ nav {
174
+ display: flex;
175
+ }
176
+ }
177
+
178
+ .index #sidebar { margin-bottom: 0; }
179
+
180
+ // Make entire container background white to contrast against sidebar
181
+ .container {
182
+ background: $body-bg;
183
+ color: $body-color;
184
+ padding: $section-spacing * 2
185
+ $section-spacing * 2
186
+ 0;
187
+ height: 100vh;
188
+
189
+ > header {
190
+ color: $heading-color;
191
+ margin: 0;
192
+ h1, h2 {
193
+ color: inherit;
194
+
195
+ &:last-child {
196
+ margin-bottom: $heading-spacing;
197
+ }
198
+ }
199
+ }
200
+
201
+ > * {
202
+ max-width: 38rem;
203
+ padding: 0;
204
+ }
205
+ }
206
+ }
207
+
208
+
209
+ /* -----------------------------------------------------------
210
+ Sidebar links + nav
211
+ ----------------------------------------------------------- */
212
+
213
+ #sidebar a {
214
+ color: $sidebar-link-color;
215
+
216
+ svg {
217
+ fill: $sidebar-icon-color;
218
+ }
219
+
220
+ &:hover, &:focus, &.active {
221
+ svg { fill: $sidebar-icon-color; }
222
+ }
223
+
224
+ &:hover, &:focus {
225
+ text-decoration: underline;
226
+ &.icon {
227
+ text-decoration: none;
228
+ }
229
+ }
230
+
231
+ &.active {
232
+ font-weight: bold;
233
+ }
234
+ }
235
+
236
+ #sidebar .site-title {
237
+ color: $sidebar-title-color;
238
+ a { color: inherit; }
239
+ }
240
+ #sidebar nav {
241
+ display: flex;
242
+ }
243
+
244
+ #sidebar-nav-links {
245
+ flex-flow: column nowrap;
246
+ }
247
+
248
+ #sidebar-icon-links {
249
+ max-width: 100%;
250
+ flex-flow: row wrap;
251
+ justify-content: center;
252
+ margin-top: 1rem;
253
+
254
+ @media (min-width: $large-breakpoint) {
255
+ margin-left: -0.25em;
256
+ justify-content: flex-start;
257
+ }
258
+ }
259
+
260
+ #sidebar nav > * {
261
+ display: block;
262
+ line-height: 1.75;
263
+ }
264
+
265
+ #sidebar nav > .icon {
266
+ font-size: 1.5rem;
267
+ display: inline-block;
268
+ margin: 0 0.25em;
269
+ }
270
+
271
+
272
+ /* -----------------------------------------------------------
273
+ Sticky sidebar
274
+
275
+ Set $sidebar-stick variable to affix sidebar contents to the
276
+ bottom of the sidebar in tablets and up.
277
+ ----------------------------------------------------------- */
278
+
279
+ @if $sidebar-sticky {
280
+ @media (min-width: $large-breakpoint) {
281
+ body {
282
+ align-items: flex-end;
283
+ }
284
+ }
285
+ }
286
+
287
+
288
+ /* -----------------------------------------------------------
289
+ Reverse layout
290
+
291
+ Flip the orientation of the page by placing the `#sidebar`
292
+ on the right.
293
+ ----------------------------------------------------------- */
294
+
295
+ @if $layout-reverse {
296
+ @media (min-width: $large-breakpoint) {
297
+ .container {
298
+ order: -1;
299
+ }
300
+ }
301
+ }
@@ -46,6 +46,11 @@ $code-color: #bf616a !default;
46
46
 
47
47
  // Hyde theming
48
48
  $sidebar-bg-color: #202020 !default;
49
- $sidebar-title-color: #ffffff !default;
49
+ $sidebar-fg-color: white !default;
50
50
  $sidebar-sticky: true !default;
51
51
  $layout-reverse: false !default;
52
+
53
+ $sidebar-title-color: $sidebar-fg-color !default;
54
+ $sidebar-link-color: $sidebar-fg-color !default;
55
+ $sidebar-text-color: rgba($sidebar-fg-color, 0.75) !default;
56
+ $sidebar-icon-color: rgba($sidebar-fg-color, 0.85) !default;
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-theme-hydeout
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.7.1
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Fong
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-08-08 00:00:00.000000000 Z
11
+ date: 2018-09-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '1.12'
83
+ - !ruby/object:Gem::Dependency
84
+ name: wdm
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '0.1'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '0.1'
83
97
  description:
84
98
  email:
85
99
  - id@andrewfong.com