jekyll-theme-backwhite 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +1012 -0
  4. data/_includes/back.html +30 -0
  5. data/_includes/head.html +14 -0
  6. data/_layouts/default.html +13 -0
  7. data/_layouts/post.html +11 -0
  8. data/_sass/fontawesome/_animated.scss +20 -0
  9. data/_sass/fontawesome/_bordered-pulled.scss +20 -0
  10. data/_sass/fontawesome/_core.scss +21 -0
  11. data/_sass/fontawesome/_fixed-width.scss +6 -0
  12. data/_sass/fontawesome/_icons.scss +1410 -0
  13. data/_sass/fontawesome/_larger.scss +23 -0
  14. data/_sass/fontawesome/_list.scss +18 -0
  15. data/_sass/fontawesome/_mixins.scss +56 -0
  16. data/_sass/fontawesome/_rotated-flipped.scss +24 -0
  17. data/_sass/fontawesome/_screen-reader.scss +5 -0
  18. data/_sass/fontawesome/_shims.scss +2066 -0
  19. data/_sass/fontawesome/_stacked.scss +31 -0
  20. data/_sass/fontawesome/_variables.scss +1427 -0
  21. data/_sass/fontawesome/brands.scss +23 -0
  22. data/_sass/fontawesome/fontawesome.scss +16 -0
  23. data/_sass/fontawesome/regular.scss +23 -0
  24. data/_sass/fontawesome/solid.scss +24 -0
  25. data/_sass/fontawesome/v4-shims.scss +6 -0
  26. data/_sass/jekyll-theme-backwhite/_back.scss +75 -0
  27. data/_sass/jekyll-theme-backwhite/_base.scss +106 -0
  28. data/_sass/jekyll-theme-backwhite/_form.scss +172 -0
  29. data/_sass/jekyll-theme-backwhite/_front.scss +40 -0
  30. data/_sass/jekyll-theme-backwhite/_misc.scss +102 -0
  31. data/_sass/jekyll-theme-backwhite/_mixins.scss +33 -0
  32. data/_sass/jekyll-theme-backwhite/_syntax-highlighting.scss +79 -0
  33. data/_sass/jekyll-theme-backwhite.scss +47 -0
  34. data/assets/css/main.scss +4 -0
  35. data/assets/fonts/consolas.ttf +0 -0
  36. data/assets/fonts/fa-brands-400.eot +0 -0
  37. data/assets/fonts/fa-brands-400.svg +3570 -0
  38. data/assets/fonts/fa-brands-400.ttf +0 -0
  39. data/assets/fonts/fa-brands-400.woff +0 -0
  40. data/assets/fonts/fa-brands-400.woff2 +0 -0
  41. data/assets/fonts/fa-regular-400.eot +0 -0
  42. data/assets/fonts/fa-regular-400.svg +803 -0
  43. data/assets/fonts/fa-regular-400.ttf +0 -0
  44. data/assets/fonts/fa-regular-400.woff +0 -0
  45. data/assets/fonts/fa-regular-400.woff2 +0 -0
  46. data/assets/fonts/fa-solid-900.eot +0 -0
  47. data/assets/fonts/fa-solid-900.svg +4700 -0
  48. data/assets/fonts/fa-solid-900.ttf +0 -0
  49. data/assets/fonts/fa-solid-900.woff +0 -0
  50. data/assets/fonts/fa-solid-900.woff2 +0 -0
  51. data/assets/js/backwhite.js +10745 -0
  52. metadata +135 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: cba49b6af6498683d2af21b1ca4fb012e42a9d486669f6d131296fe8622cdfa8
4
+ data.tar.gz: cdeb5f4726ba17e5e25573463f46779d99561767130a7805cd83250125661cee
5
+ SHA512:
6
+ metadata.gz: 21e2aa61641305344bf3e044e36d9f2cdf419788d0d309291d4fe5b53f87f3cdedea56a40ae7575c01bf0f871d337bf7a60b3d288da8dafd04c1f980767dd806
7
+ data.tar.gz: e8079921f3cbb9fc9804928b9574121ccd3e0d7c7f37c425c18ae1591a406256590dd360400794191ebe2ed3e45ea97697a4061cac09163559ceb58fdc1f3fdb
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2020 andydevs
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,1012 @@
1
+ # jekyll-theme-backwhite
2
+
3
+ Simple sophisticated styling for blogs and other content-based sites.
4
+
5
+ _Desktop View_
6
+
7
+ ![Desktop View](./doc-images/desktop.png)
8
+
9
+ _Mobile Page_
10
+
11
+ ![Mobile Page View](./doc-images/mobile-page.png)
12
+
13
+ _Mobile Menu_
14
+
15
+ ![Mobile Menu View](./doc-images/mobile-menu.png)
16
+
17
+ ## Installation
18
+
19
+ Add this line to your Jekyll site's `Gemfile`:
20
+
21
+ ```ruby
22
+ gem "jekyll-theme-backwhite", git:"https://github.com/andydevs/jekyll-theme-backwhite.git"
23
+ ```
24
+
25
+ And add this line to your Jekyll site's `_config.yml`:
26
+
27
+ ```yaml
28
+ theme: jekyll-theme-backwhite
29
+ ```
30
+
31
+ And then execute:
32
+
33
+ $ bundle
34
+
35
+ Or install it yourself as:
36
+
37
+ $ gem install jekyll-theme-backwhite
38
+
39
+ ## Usage
40
+
41
+ ### Back and Front Panels
42
+
43
+ The core of this design is the back panel (appearing on the right on desktop, and appearing behind on mobile), and the front panel.
44
+
45
+ These panels are created with `<div class='bw-back'>` and `<div class='bw-front'>` respectively.
46
+
47
+ ```html
48
+ <body>
49
+ <div class='bw-back'>
50
+ <p>Back (menu)</p>
51
+ </div>
52
+ <div class='bw-front'>
53
+ <p>Front (content)</p>
54
+ </div>
55
+ </body>
56
+ ```
57
+
58
+ ![Back Front Panels](./doc-images/back-front-panels.png)
59
+
60
+ Wrap all the content in these panels with their appropriate containers to provide spacing.
61
+
62
+ ```html
63
+ <body>
64
+ <div class='bw-back'>
65
+ <div class='bw-back-container'>
66
+ <p>Back (menu)</p>
67
+ </div>
68
+ </div>
69
+ <div class='bw-front'>
70
+ <div class='bw-front-container'>
71
+ <p>Front (content)</p>
72
+ </div>
73
+ </div>
74
+ </body>
75
+ ```
76
+
77
+ ![Back Front Containers](./doc-images/back-front-containers.png)
78
+
79
+ ### Headers
80
+
81
+ Both the back and the front panel in the example have headers at the top. Headers have a title and a series of actions (usually icon buttons).
82
+
83
+ Backwhite comes with fontawesome solid and brand icons. Use them just like you would in any other app.
84
+
85
+ This is an example of a header in the front panel.
86
+
87
+ ```html
88
+ <div class='bw-header'>
89
+ <h1 class='bw-title'>Example Header</h1>
90
+ <button class='bw-action'>
91
+ <span class='fas fa-check'></span>
92
+ </button>
93
+ <button class="bw-action">
94
+ <span class="fas fa-times"></span>
95
+ </button>
96
+ </div>
97
+ ```
98
+
99
+ ![Front Header](./doc-images/front-header.png)
100
+
101
+ This is an example of a header in the back panel.
102
+
103
+ ```html
104
+ <div class='bw-header'>
105
+ <button class="bw-action">
106
+ <span class="fas fa-times"></span>
107
+ </button>
108
+ <button class='bw-action'>
109
+ <span class='fas fa-check'></span>
110
+ </button>
111
+ <h1 class='bw-title'>Example Header</h1>
112
+ </div>
113
+ ```
114
+
115
+ ![Back Header](./doc-images/back-header.png)
116
+
117
+ ### Controlling Mobile Sliding
118
+
119
+ The front and back usually start with main headers. These are what will contain the buttons controlling the sliding on mobile. The front panel header would usually contain the title of the page. The back panel header would contain the title of the site. On each of these there would be one button which handles opening and closing.
120
+
121
+ ```html
122
+ <body>
123
+ <div class="bw-back">
124
+ <div class="bw-back-container">
125
+ <div class='bw-header'>
126
+ <button class="bw-action bw-show-on-mobile bw-close">
127
+ <span class="fas fa-chevron-left"></span>
128
+ </button>
129
+ <h1 class='bw-title'>Example Header</h1>
130
+ </div>
131
+ </div>
132
+ </div>
133
+ <div class="bw-front">
134
+ <div class="bw-front-container">
135
+ <div class='bw-header'>
136
+ <h1 class='bw-title'>Example Header</h1>
137
+ <button class="bw-action bw-show-on-mobile bw-open">
138
+ <span class="fas fa-chevron-right"></span>
139
+ </button>
140
+ </div>
141
+ </div>
142
+ </div>
143
+ </body>
144
+ ```
145
+
146
+ _Desktop_
147
+
148
+ ![Header Desktop](./doc-images/header-desktop.png)
149
+
150
+ _Mobile Page_
151
+
152
+ ![Header Mobile Page](./doc-images/header-mobile-page.png)
153
+
154
+ _Mobile Menu_
155
+
156
+ ![Header Mobile Menu](./doc-images/header-mobile-menu.png)
157
+
158
+ `.bw-show-on-mobile` will hide the button on desktop and show it on mobile. `.bw-open` and `.bw-close` are preprogrammed classes which trigger the opening and closing of the menu respectively when clicked. Font awesone's chevron icons are being used here.
159
+
160
+ ### Back Menu Links
161
+
162
+ Links are organized on the back menu using a table.
163
+
164
+ ```html
165
+ <table class="bw-links">
166
+ <tr>
167
+ <td><a href='#'>About</a></td>
168
+ <td><a href='#'>Contact</a></td>
169
+ <td><a href='#'>Post of the Day</a></td>
170
+ </tr>
171
+ <tr>
172
+ <td><a href='#'>Web Design</a></td>
173
+ <td><a href='#'>Hardware</a></td>
174
+ <td><a href='#'>Machine Learning</a></td>
175
+ </tr>
176
+ <tr>
177
+ <td>
178
+ <a href="#">
179
+ <span class="fab fa-youtube"></span> Youtube
180
+ </a>
181
+ </td>
182
+ <td>
183
+ <a href="#">
184
+ <span class="fab fa-github"></span> Github
185
+ </a>
186
+ </td>
187
+ <td>
188
+ <a href="#">
189
+ <span class="fab fa-linkedin"></span> Linkedin
190
+ </a>
191
+ </td>
192
+ </tr>
193
+ </table>
194
+ ```
195
+
196
+ ![Header Links](./doc-images/header-links.png)
197
+
198
+ ### Back Menu Footer
199
+
200
+ The footer goes in the back menu within a div with the class `.bw-footer`.
201
+
202
+ ```html
203
+ <div class="bw-footer">
204
+ <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
205
+ eiusmod tempor incididunt ut labore et dolore magna aliqua.
206
+ Ut enim ad minim veniam, quis nostrud exercitation ullamco
207
+ laboris nisi ut aliquip ex ea commodo consequat.
208
+ Duis aute irure dolor in reprehenderit in voluptate
209
+ velit esse cillum dolore eu fugiat nulla pariatur.
210
+ Excepteur sint occaecat cupidatat non proident, sunt in
211
+ culpa qui officia deserunt mollit anim id est laborum.</p>
212
+ </div>
213
+ ```
214
+
215
+ ![Header Links Footer](./doc-images/header-links-footer.png)
216
+
217
+ ### Responsive Tables
218
+
219
+ Tables are scaled so that every cell is as wide as the widest text cell. This means that the tables will overflow over the edge. In backwhite, these tables are wrapped in a horizontal scroll wrapper div to allow for horizontal scrolling between tables.
220
+
221
+ ```html
222
+ <div class='bw-horiz-scroll-wrapper'>
223
+ <table>
224
+ <thead>
225
+ <tr>
226
+ <th>Name</th>
227
+ <th>Age</th>
228
+ <th>Town</th>
229
+ <th>Email</th>
230
+ </tr>
231
+ </thead>
232
+ <tbody>
233
+ <tr>
234
+ <td>Joe</td>
235
+ <td>22</td>
236
+ <td>Allentown</td>
237
+ <td>joe@schmoes.goes</td>
238
+ </tr>
239
+ <tr>
240
+ <td>Jim</td>
241
+ <td>20</td>
242
+ <td>Gainsville</td>
243
+ <td>jim@shims.dims</td>
244
+ </tr>
245
+ <tr>
246
+ <td>Steven</td>
247
+ <td>32</td>
248
+ <td>Birmington</td>
249
+ <td>steven@schmultz.gultz</td>
250
+ </tr>
251
+ </tbody>
252
+ </table>
253
+ </div>
254
+ ```
255
+
256
+ ![Responsive Table](./doc-images/responsive-table.png)
257
+
258
+ ### Grid Rows
259
+
260
+ Backwhite supports bootstrap-like grid rows. Each grid row is a `.bw-row` div, and can contain any number of `.bw-col-[x]` divs, where x is any number from 1 to 12. To make a complete row, all x values must add up to exactly 12.
261
+
262
+ ```html
263
+ <h2>Grid Rows</h2>
264
+
265
+ <div class="bw-row">
266
+ <div class="bw-col-2">
267
+ <h3><code>bw-col-2</code></h3>
268
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit.
269
+ Nostrum hic nihil, facilis, autem alias eaque iure
270
+ provident reiciendis explicabo magnam doloremque
271
+ officiis sit officia consequatur adipisci? Omnis
272
+ eos eius porro!</p>
273
+ </div>
274
+ <div class="bw-col-2">
275
+ <h3><code>bw-col-2</code></h3>
276
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit.
277
+ Nostrum hic nihil, facilis, autem alias eaque iure
278
+ provident reiciendis explicabo magnam doloremque
279
+ officiis sit officia consequatur adipisci? Omnis
280
+ eos eius porro!</p>
281
+ </div>
282
+ <div class="bw-col-2">
283
+ <h3><code>bw-col-2</code></h3>
284
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit.
285
+ Nostrum hic nihil, facilis, autem alias eaque iure
286
+ provident reiciendis explicabo magnam doloremque
287
+ officiis sit officia consequatur adipisci? Omnis
288
+ eos eius porro!</p>
289
+ </div>
290
+ <div class="bw-col-2">
291
+ <h3><code>bw-col-2</code></h3>
292
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit.
293
+ Nostrum hic nihil, facilis, autem alias eaque iure
294
+ provident reiciendis explicabo magnam doloremque
295
+ officiis sit officia consequatur adipisci? Omnis
296
+ eos eius porro!</p>
297
+ </div>
298
+ <div class="bw-col-2">
299
+ <h3><code>bw-col-2</code></h3>
300
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit.
301
+ Nostrum hic nihil, facilis, autem alias eaque iure
302
+ provident reiciendis explicabo magnam doloremque
303
+ officiis sit officia consequatur adipisci? Omnis
304
+ eos eius porro!</p>
305
+ </div>
306
+ <div class="bw-col-2">
307
+ <h3><code>bw-col-2</code></h3>
308
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit.
309
+ Nostrum hic nihil, facilis, autem alias eaque iure
310
+ provident reiciendis explicabo magnam doloremque
311
+ officiis sit officia consequatur adipisci? Omnis
312
+ eos eius porro!</p>
313
+ </div>
314
+ </div>
315
+
316
+ <div class="bw-row">
317
+ <div class="bw-col-4">
318
+ <h3><code>bw-col-4</code></h3>
319
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit.
320
+ Nostrum hic nihil, facilis, autem alias eaque iure provident
321
+ reiciendis explicabo magnam doloremque officiis sit officia
322
+ consequatur adipisci? Omnis eos eius porro!</p>
323
+ </div>
324
+ <div class="bw-col-4">
325
+ <h3><code>bw-col-4</code></h3>
326
+ <p>Lorem ipsum dolor sit, amet consectetur adipisicing elit.
327
+ Tempore unde iure nobis. Quos tempora laudantium beatae,
328
+ aliquam repellat praesentium velit eius voluptatum blanditiis
329
+ sed ullam! Necessitatibus cupiditate inventore similique voluptatem!</p>
330
+ </div>
331
+ <div class="bw-col-4">
332
+ <h3><code>bw-col-4</code></h3>
333
+ <p>Lorem ipsum, dolor sit amet consectetur adipisicing elit.
334
+ Facilis voluptas natus ipsam voluptatibus aspernatur neque
335
+ minima odit ipsum aliquid et? Dolorum corporis distinctio
336
+ delectus quidem nesciunt unde non ducimus voluptate?</p>
337
+ </div>
338
+ </div>
339
+
340
+ <div class="bw-row">
341
+ <div class="bw-col-6">
342
+ <h3><code>bw-col-6</code></h3>
343
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit.
344
+ Nostrum hic nihil, facilis, autem alias eaque iure provident
345
+ reiciendis explicabo magnam doloremque officiis sit officia
346
+ consequatur adipisci? Omnis eos eius porro!</p>
347
+ </div>
348
+ <div class="bw-col-6">
349
+ <h3><code>bw-col-6</code></h3>
350
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit.
351
+ Nostrum hic nihil, facilis, autem alias eaque iure provident
352
+ reiciendis explicabo magnam doloremque officiis sit officia
353
+ consequatur adipisci? Omnis eos eius porro!</p>
354
+ </div>
355
+ </div>
356
+
357
+ <div class="bw-row">
358
+ <div class="bw-col-10">
359
+ <h3><code>bw-col-10</code></h3>
360
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit.
361
+ Nostrum hic nihil, facilis, autem alias eaque iure provident
362
+ reiciendis explicabo magnam doloremque officiis sit officia
363
+ consequatur adipisci? Omnis eos eius porro! Lorem ipsum dolor
364
+ sit, amet consectetur adipisicing elit. Possimus, unde numquam.
365
+ Fugiat et, sed beatae mollitia magni dolores omnis deserunt,
366
+ inventore dolorem suscipit possimus labore quasi unde temporibus
367
+ adipisci ex!</p>
368
+ <p>Lorem ipsum dolor sit amet consectetur, adipisicing elit.
369
+ Ad molestiae delectus id accusantium alias molestias aspernatur
370
+ animi, unde sequi veritatis. Eveniet est dolorem ullam voluptatum
371
+ odio molestias laudantium dolores ea? Lorem ipsum dolor sit amet
372
+ consectetur adipisicing elit. Adipisci sed, architecto quidem
373
+ possimus amet velit voluptas ex eos placeat, iste provident
374
+ suscipit at ipsam numquam nobis totam natus veniam aliquid?</p>
375
+ </div>
376
+ <div class="bw-col-2">
377
+ <h3><code>bw-col-2</code></h3>
378
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit.
379
+ Nostrum hic nihil, facilis, autem alias eaque iure provident
380
+ reiciendis explicabo magnam doloremque officiis sit officia
381
+ consequatur adipisci? Omnis eos eius porro!</p>
382
+ </div>
383
+ </div>
384
+
385
+ <div class="bw-row">
386
+ <div class="bw-col-6">
387
+ <h3><code>bw-col-6</code></h3>
388
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit.
389
+ Nostrum hic nihil, facilis, autem alias eaque iure provident
390
+ reiciendis explicabo magnam doloremque officiis sit officia
391
+ consequatur adipisci? Omnis eos eius porro!</p>
392
+ <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit.
393
+ Iure ad aliquam facere. Sequi illum mollitia excepturi enim!
394
+ Blanditiis explicabo, libero fugiat asperiores velit magni
395
+ voluptatem cumque tempore corporis quia quaerat.</p>
396
+ </div>
397
+ <div class="bw-col-2">
398
+ <h3><code>bw-col-2</code></h3>
399
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit.
400
+ Nostrum hic nihil, facilis, autem alias eaque iure provident
401
+ reiciendis explicabo magnam doloremque officiis sit officia
402
+ consequatur adipisci? Omnis eos eius porro!</p>
403
+ </div>
404
+ <div class="bw-col-4">
405
+ <h3><code>bw-col-4</code></h3>
406
+ <p>Lorem ipsum, dolor sit amet consectetur adipisicing elit.
407
+ Facilis voluptas natus ipsam voluptatibus aspernatur neque
408
+ minima odit ipsum aliquid et? Dolorum corporis distinctio
409
+ delectus quidem nesciunt unde non ducimus voluptate? Lorem
410
+ ipsum dolor sit amet consectetur adipisicing elit. Dolores,
411
+ culpa ad in enim earum iste pariatur ratione voluptas esse
412
+ ut officia inventore debitis beatae vel dolore odit nam eius.
413
+ Culpa.</p>
414
+ </div>
415
+ </div>
416
+
417
+ <div class="bw-row">
418
+ <div class="bw-col-12">
419
+ <h3><code>bw-col-12</code></h3>
420
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit.
421
+ Quis dolor eius iure necessitatibus dolores alias ex pariatur!
422
+ Dolores corporis voluptas natus a quos voluptate? Sapiente
423
+ laboriosam fugiat possimus velit atque. Lorem ipsum dolor sit amet
424
+ consectetur adipisicing elit. Ratione sapiente error, repellat
425
+ vel ut distinctio consequatur dolorem quidem molestias nisi
426
+ neque nobis eum eligendi aliquam placeat numquam iusto deleniti
427
+ aspernatur? Lorem ipsum dolor sit, amet consectetur adipisicing elit.
428
+ Vitae numquam quas quaerat? Iusto quaerat exercitationem deleniti
429
+ aliquid quas error tempora eligendi necessitatibus eaque, quo quisquam!
430
+ Est amet ea natus maiores.</p>
431
+ <p>Lorem ipsum, dolor sit amet consectetur adipisicing elit.
432
+ Aut eius laboriosam velit voluptates corrupti illo quia. Autem quos
433
+ excepturi dolore praesentium? Aut fuga fugiat praesentium blanditiis
434
+ eum et iusto facere! Lorem ipsum dolor sit amet consectetur adipisicing
435
+ elit. Quaerat eaque recusandae facilis ut laborum vero repudiandae
436
+ consequatur debitis quam adipisci reprehenderit voluptas, velit
437
+ praesentium provident, pariatur architecto earum molestias repellendus!
438
+ Lorem ipsum dolor sit amet consectetur, adipisicing elit. Aliquam
439
+ accusantium id impedit pariatur quae sit vel tenetur. Voluptate
440
+ necessitatibus omnis repellat totam eum, quo perspiciatis, ad error
441
+ commodi animi quibusdam!</p>
442
+ </div>
443
+ </div>
444
+ ```
445
+
446
+ ![Grid Rows Desktop](./doc-images/grid-rows-desktop.png)
447
+
448
+ On a tablet (or a smaller laptop screen), and on mobile, the grid rows align vertically.
449
+
450
+ ![Grid Rows Tablet](./doc-images/grid-rows-tablet.png)
451
+
452
+ ### Cutouts
453
+
454
+ Another part that backwhite styling provides is cutouts. A cutout is a special emphasised part of the document that appears cut out from the front part, using the back as it's background.
455
+
456
+ ```html
457
+ <div class="bw-cutout">
458
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.
459
+ Curabitur quis urna nec lorem finibus mattis vel et odio.
460
+ Ut lectus nunc, accumsan eu mi in, finibus dapibus felis.
461
+ Morbi feugiat laoreet turpis ut sollicitudin. Donec id metus
462
+ metus. Etiam vestibulum vitae dolor eu finibus. Vivamus in
463
+ urna vitae purus fringilla porttitor vel sed nisi. Maecenas
464
+ accumsan sapien vitae lectus tincidunt, ac maximus elit dapibus.
465
+ Vestibulum ante ipsum primis in faucibus orci luctus et ultrices
466
+ posuere cubilia Curae;</p>
467
+ </div>
468
+ ```
469
+
470
+ ![Cutout](./doc-images/cutout.png)
471
+
472
+ You can add headers to cutouts as well
473
+
474
+ ```html
475
+ <div class="bw-cutout">
476
+ <div class="bw-header">
477
+ <h3 class="bw-title">Cutout Title</h3>
478
+ <button class="bw-action">
479
+ <span class="fas fa-plus"></span>
480
+ </button>
481
+ <button class="bw-action">
482
+ <span class="fas fa-trash"></span>
483
+ </button>
484
+ </div>
485
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.
486
+ Curabitur quis urna nec lorem finibus mattis vel et odio.
487
+ Ut lectus nunc, accumsan eu mi in, finibus dapibus felis.
488
+ Morbi feugiat laoreet turpis ut sollicitudin. Donec id metus
489
+ metus. Etiam vestibulum vitae dolor eu finibus. Vivamus in
490
+ urna vitae purus fringilla porttitor vel sed nisi. Maecenas
491
+ accumsan sapien vitae lectus tincidunt, ac maximus elit dapibus.
492
+ Vestibulum ante ipsum primis in faucibus orci luctus et ultrices
493
+ posuere cubilia Curae;</p>
494
+ </div>
495
+ ```
496
+
497
+ ![Cutout Header](./doc-images/cutout-header.png)
498
+
499
+ Blockquotes and pre/code sections are automatically formatted as cutouts
500
+
501
+ ```html
502
+ <blockquote>
503
+ Lorem ipsum dolor sit, amet consectetur adipisicing elit. Commodi
504
+ officia ipsum optio illum. Sunt fugiat nemo veritatis tempora
505
+ voluptas ea laudantium? Explicabo ipsa error distinctio nihil
506
+ nostrum exercitationem hic tempora.
507
+ </blockquote>
508
+ ```
509
+
510
+ ![Cutout Blockquote](./doc-images/cutout-blockquote.png)
511
+
512
+ ```html
513
+ <pre><code>def myfunction(arg1, arg2):
514
+ """
515
+ Docstring for myfunction
516
+ """
517
+ return arg1 + arg2, arg1/arg2</code></pre>
518
+ ```
519
+
520
+ ![Cutout Code](./doc-images/cutout-code.png)
521
+
522
+ ### Buttons
523
+
524
+ Backwhite provides three button types. `.bw-text-button` is a button formatted simply as text. `.bw-cutout-button` is a button formatted like a cutout. Use this in a front-formatted section. For the back and cutouts, there is `.bw-raised-button`.
525
+
526
+ ```html
527
+ <p><button class="bw-text-button">Text Button</button></p>
528
+ <p><button class="bw-cutout-button">Cutout Button</button></p>
529
+ <div class="bw-cutout">
530
+ <p><button class="bw-raised-button">Raised Button</button></p>
531
+ </div>
532
+ ```
533
+
534
+ ![Buttons](./doc-images/buttons.png)
535
+
536
+ ### Forms
537
+
538
+ #### Block Forms
539
+
540
+ Backwhite Forms are created with the `bw-form` class.
541
+
542
+ ```html
543
+ <form class='bw-form' action='...'>
544
+
545
+ </form>
546
+ ```
547
+
548
+ Form entries are organized into rows (in a div called `.bw-form-row`). Each of these rows contain one or more input fields. An input field is actually a group containing a label and an input, contained in a `.bw-input-group`. This handles coupling the input and label and styling them as a single entity. Input groups are automatically scaled to fill the width of the row (using flexbox).
549
+
550
+ ```html
551
+ <div class="bw-form-row">
552
+ <div class="bw-input-group">
553
+ <label for="first-name">First Name:</label>
554
+ <input type="text" name="first-name">
555
+ </div>
556
+
557
+ <div class="bw-input-group">
558
+ <label for="last-name">Last Name:</label>
559
+ <input type="text" name="last-name">
560
+ </div>
561
+ </div>
562
+ ```
563
+
564
+ `.bw-input-group` also works for selects.
565
+
566
+ ```html
567
+ <div class="bw-input-group">
568
+ <label for="race">Race:</label>
569
+ <select name="race">
570
+ <option disabled selected>Select...</option>
571
+ <option value="caucasian">Caucasian</option>
572
+ <option value="african-afam">African/African American</option>
573
+ <option value="asian-pac">Asian/Pacific Islander</option>
574
+ </select>
575
+ </div>
576
+ ```
577
+
578
+ Checkbox and file inputs are special and use `.bw-checkbox-group` and `.bw-file-group` respectively.
579
+
580
+ ```html
581
+ <div class="bw-checkbox-group">
582
+ <label for="hispanic-latino">Hispanic/Latino</label>
583
+ <input type="checkbox" name="hispanic-latino">
584
+ </div>
585
+
586
+ ...
587
+
588
+ <div class="bw-file-group">
589
+ <label for="upload">Upload File:</label>
590
+ <input type="file" name="upload">
591
+ </div>
592
+ ```
593
+
594
+ At the bottom, `.bw-button-group` will contain form buttons (this should be contained in it's own `.bw-form-row`).
595
+
596
+ ```html
597
+ <div class="bw-form-row">
598
+ <div class="bw-button-group">
599
+ <button class="bw-text-button" type="reset">Reset</button>
600
+ <button class="bw-cutout-button" type="submit">Submit</button>
601
+ </div>
602
+ </div>
603
+ ```
604
+
605
+ Here's an example of an entire form:
606
+
607
+ ```html
608
+ <h2>Form</h2>
609
+ <form class="bw-form" action="#">
610
+ <div class="bw-form-row">
611
+ <div class="bw-input-group">
612
+ <label for="first-name">First Name:</label>
613
+ <input type="text" name="first-name">
614
+ </div>
615
+
616
+ <div class="bw-input-group">
617
+ <label for="last-name">Last Name:</label>
618
+ <input type="text" name="last-name">
619
+ </div>
620
+ </div>
621
+
622
+ <div class="bw-form-row">
623
+ <div class="bw-input-group">
624
+ <label for="email">Email:</label>
625
+ <input type="email" name="email">
626
+ </div>
627
+ </div>
628
+
629
+ <div class="bw-form-row">
630
+ <div class="bw-input-group">
631
+ <label for="password">Password:</label>
632
+ <input type="password" name="password">
633
+ </div>
634
+
635
+ <div class="bw-input-group">
636
+ <label for="verify">Verify Password:</label>
637
+ <input type="password" name="verify">
638
+ </div>
639
+ </div>
640
+
641
+ <div class="bw-form-row">
642
+ <div class="bw-input-group">
643
+ <label for="age">Age:</label>
644
+ <input type="number" name="age">
645
+ </div>
646
+
647
+ <div class="bw-input-group">
648
+ <label for="gender">Gender:</label>
649
+ <select name="gender">
650
+ <option disabled selected>Select...</option>
651
+ <option value="male">Male</option>
652
+ <option value="female">Female</option>
653
+ <option value="nonbinary">Non-Binary</option>
654
+ </select>
655
+ </div>
656
+ </div>
657
+
658
+ <div class="bw-form-row">
659
+ <div class="bw-input-group">
660
+ <label for="race">Race:</label>
661
+ <select name="race">
662
+ <option disabled selected>Select...</option>
663
+ <option value="caucasian">Caucasian</option>
664
+ <option value="african-afam">African/African American</option>
665
+ <option value="asian-pac">Asian/Pacific Islander</option>
666
+ </select>
667
+ </div>
668
+
669
+ <div class="bw-checkbox-group">
670
+ <label for="hispanic-latino">Hispanic/Latino</label>
671
+ <input type="checkbox" name="hispanic-latino">
672
+ </div>
673
+ </div>
674
+
675
+ <div class="bw-form-row">
676
+ <div class="bw-checkbox-group">
677
+ <label for="active-veteran">Active Military or Veteran</label>
678
+ <input type="checkbox" name="active-veteran">
679
+ </div>
680
+ </div>
681
+
682
+ <div class="bw-form-row">
683
+ <div class="bw-file-group">
684
+ <label for="upload">Upload File:</label>
685
+ <input type="file" name="upload">
686
+ </div>
687
+ </div>
688
+
689
+ <div class="bw-form-row">
690
+ <div class="bw-button-group">
691
+ <button class="bw-text-button" type="reset">Reset</button>
692
+ <button class="bw-cutout-button" type="submit">Submit</button>
693
+ </div>
694
+ </div>
695
+ </form>
696
+ ```
697
+
698
+ ![Block Form](./doc-images/block-form.png)
699
+
700
+ #### Cutout Forms
701
+
702
+ You can also make a form in a cutout. Remember to use `.bw-raised-button` in this form in place of `.bw-cutout-button`.
703
+
704
+ ```html
705
+ <div class="bw-cutout">
706
+ <div class="bw-header">
707
+ <h3 class="bw-title">Cutout Form</h3>
708
+ </div>
709
+
710
+ <form class="bw-form" action="#">
711
+ <div class="bw-form-row">
712
+ <div class="bw-input-group">
713
+ <label for="first-name">First Name:</label>
714
+ <input type="text" name="first-name">
715
+ </div>
716
+
717
+ <div class="bw-input-group">
718
+ <label for="last-name">Last Name:</label>
719
+ <input type="text" name="last-name">
720
+ </div>
721
+ </div>
722
+
723
+ <div class="bw-form-row">
724
+ <div class="bw-input-group">
725
+ <label for="email">Email:</label>
726
+ <input type="email" name="email">
727
+ </div>
728
+ </div>
729
+
730
+ <div class="bw-form-row">
731
+ <div class="bw-input-group">
732
+ <label for="password">Password:</label>
733
+ <input type="password" name="password">
734
+ </div>
735
+
736
+ <div class="bw-input-group">
737
+ <label for="verify">Verify Password:</label>
738
+ <input type="password" name="verify">
739
+ </div>
740
+ </div>
741
+
742
+ <div class="bw-form-row">
743
+ <div class="bw-input-group">
744
+ <label for="age">Age:</label>
745
+ <input type="number" name="age">
746
+ </div>
747
+
748
+ <div class="bw-input-group">
749
+ <label for="gender">Gender:</label>
750
+ <select name="gender">
751
+ <option disabled selected>Select...</option>
752
+ <option value="male">Male</option>
753
+ <option value="female">Female</option>
754
+ <option value="nonbinary">Non-Binary</option>
755
+ </select>
756
+ </div>
757
+ </div>
758
+
759
+ <div class="bw-form-row">
760
+ <div class="bw-input-group">
761
+ <label for="race">Race:</label>
762
+ <select name="race">
763
+ <option disabled selected>Select...</option>
764
+ <option value="caucasian">Caucasian</option>
765
+ <option value="african-afam">African/African American</option>
766
+ <option value="asian-pac">Asian/Pacific Islander</option>
767
+ </select>
768
+ </div>
769
+
770
+ <div class="bw-checkbox-group">
771
+ <label for="hispanic-latino">Hispanic/Latino</label>
772
+ <input type="checkbox" name="hispanic-latino">
773
+ </div>
774
+ </div>
775
+
776
+ <div class="bw-form-row">
777
+ <div class="bw-checkbox-group">
778
+ <label for="active-veteran">Active Military or Veteran</label>
779
+ <input type="checkbox" name="active-veteran">
780
+ </div>
781
+ </div>
782
+
783
+ <div class="bw-form-row">
784
+ <div class="bw-file-group">
785
+ <label for="upload">Upload File:</label>
786
+ <input type="file" name="upload">
787
+ </div>
788
+ </div>
789
+
790
+ <div class="bw-form-row">
791
+ <div class="bw-button-group">
792
+ <button class="bw-text-button" type="reset">Reset</button>
793
+ <button class="bw-raised-button" type="submit">Submit</button>
794
+ </div>
795
+ </div>
796
+ </form>
797
+ </div>
798
+ ```
799
+
800
+ ![Cutout Form](./doc-images/cutout-form.png)
801
+
802
+ #### Inline Forms
803
+
804
+ Forms can also take up one row. These are created by `.bw-inline-form`. Buttons in this form are automatically pushed to the right (or left depending on ordering) and are automatically formatted. For example, a search bar:
805
+
806
+ ```html
807
+ <form class="bw-inline-form" action="#">
808
+ <div class="bw-input-group">
809
+ <label for="q">Search</label>
810
+ <input type="text" name="q">
811
+ </div>
812
+ <div class="bw-button-group">
813
+ <button type="submit">
814
+ <span class="fas fa-search"></span>
815
+ Search
816
+ </button>
817
+ </div>
818
+ </form>
819
+ ```
820
+
821
+ ![Inline Form](./doc-images/inline-form.png)
822
+
823
+ ### Customization
824
+
825
+ Backwhite's styling is written in SCSS, with variables determining text size and coloring.
826
+
827
+ If you're using scss, you can customize Backwhite using these variables in a main.scss file importing the site theme.
828
+
829
+ _main.scss_
830
+
831
+ ```scss
832
+ // Declare variables...
833
+
834
+ // Import statement
835
+ @import '{{ site.theme }}'
836
+ ```
837
+
838
+ #### Colors
839
+
840
+ The main theme color is controlled by the `$back-color` variable. Changing this changes the entire coloring of the page! Usually this should be a dark color, so to not clash with the white background.
841
+
842
+ ```scss
843
+ $back-color: #333; // Default
844
+ ```
845
+
846
+ ![Default](./doc-images/default.png)
847
+
848
+ ```scss
849
+ $back-color: #331616;
850
+ ```
851
+
852
+ ![Back Color is #331616](./doc-images/back-color-331616.png)
853
+
854
+ ```scss
855
+ $back-color: #163318;
856
+ ```
857
+
858
+ ![Back Color is #163318](./doc-images/back-color-163318.png)
859
+
860
+ On jekyll, this color also controls the coloring of syntax highlighting.
861
+
862
+ ```scss
863
+ $back-color: #333; // Default
864
+ ```
865
+
866
+ ![Default Syntax](./doc-images/default-syntax.png)
867
+
868
+ ```scss
869
+ $back-color: #331616;
870
+ ```
871
+
872
+ ![Syntax #331616](./doc-images/syntax-331616.png)
873
+
874
+ ```scss
875
+ $back-color: #163318;
876
+ ```
877
+
878
+ ![Syntax #163318](./doc-images/syntax-163318.png)
879
+
880
+ #### Spacing
881
+
882
+ Spacing is controlled by `$spacing-unit`.
883
+
884
+ ```scss
885
+ $spacing-unit: 8pt; // Default
886
+ ```
887
+
888
+ ![Default](./doc-images/default.png)
889
+
890
+ ```scss
891
+ $spacing-unit: 4pt;
892
+ ```
893
+
894
+ ![Spacing Unit is 4pt](./doc-images/spacing-unit-4pt.png)
895
+
896
+ ```scss
897
+ $spacing-unit: 16pt;
898
+ ```
899
+
900
+ ![Spacing Unit is 16pt](./doc-images/spacing-unit-16pt.png)
901
+
902
+ #### Fonts
903
+
904
+ The main font is controlled with `$font-family`.
905
+
906
+ ```scss
907
+ $font-family: "Calibri Light", sans-serif; // Default
908
+ ```
909
+
910
+ ![Default](./doc-images/default.png)
911
+
912
+ ```scss
913
+ $font-family: "Verdana", sans-serif;
914
+ ```
915
+
916
+ ![Font Family Verdana](./doc-images/font-family-verdana.png)
917
+
918
+ Code font is controlled by `$code-font-family`.
919
+
920
+ ```scss
921
+ $code-font-family: "Consolas", monospace; // Default
922
+ ```
923
+
924
+ ![Code Default](./doc-images/code-default.png)
925
+
926
+ _Consolas is provided with Backwhite_
927
+
928
+ ```scss
929
+ $code-font-family: "Monaco", monospace;
930
+ ```
931
+
932
+ ![Code Monaco](./doc-images/code-monaco.png)
933
+
934
+
935
+ #### Font Scales
936
+
937
+ There are 4 font size variables that control the size of different parts of code.
938
+
939
+ ```scss
940
+ $large-font-size; // Controls h1 font size
941
+ $medium-font-size; // Controls h2, h3, h4 font size
942
+ $normal-font-size; // Controls normal font size
943
+ $small-font-size; // Controls footer font size
944
+ ```
945
+
946
+ #### Layout
947
+
948
+ On desktop, the width of the side menu is controlled by `$desktop-menu-size`.
949
+
950
+ ```scss
951
+ $desktop-menu-size: 300px; // Default
952
+ ```
953
+
954
+ ![Default](./doc-images/default.png)
955
+
956
+ ```scss
957
+ $desktop-menu-size: 500px;
958
+ ```
959
+
960
+ ![Menu Size 500](./doc-images/menu-500.png)
961
+
962
+ #### Responsiveness
963
+
964
+ ##### Mobile
965
+
966
+ To change the breakpoint when the web app switches to mobile styling, use `$mobile-width`
967
+
968
+ ```scss
969
+ $mobile-width: 760px; // Default
970
+ ```
971
+
972
+ ![Default Responsive](./doc-images/default-resp.png)
973
+
974
+ ```scss
975
+ $mobile-width: 900px;
976
+ ```
977
+
978
+ ![Responsive 900](./doc-images/resp-900.png)
979
+
980
+ ##### Tablet
981
+
982
+ To change the breakpoint when the web app switches to tablet styling, use `$tablet-width`
983
+
984
+ ```scss
985
+ $tablet-width: 1200px; // Default
986
+ ```
987
+
988
+ ![Default Responsive Tablet](./doc-images/default-resp-tablet.png)
989
+
990
+ ```scss
991
+ $tablet-width: 1230px;
992
+ ```
993
+
994
+ ![Responsive Tablet 1230](./doc-images/resp-tablet-1230.png)
995
+
996
+ ## Contributing
997
+
998
+ Bug reports and pull requests are welcome on GitHub at https://github.com/andydevs/jekyll-theme-backwhite. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
999
+
1000
+ ## Development
1001
+
1002
+ To set up your environment to develop this theme, run `bundle install`.
1003
+
1004
+ Your theme is setup just like a normal Jekyll site! To test your theme, run `bundle exec jekyll serve` and open your browser at `http://localhost:4000`. This starts a Jekyll server using your theme. Add pages, documents, data, etc. like normal to test your theme's contents. As you make modifications to your theme and to your content, your site will regenerate and you should see the changes in the browser after a refresh, just like normal.
1005
+
1006
+ When your theme is released, only the files in `_layouts`, `_includes`, `_sass` and `assets` tracked with Git will be bundled.
1007
+ To add a custom directory to your theme-gem, please edit the regexp in `jekyll-theme-backwhite.gemspec` accordingly.
1008
+
1009
+ ## License
1010
+
1011
+ The theme is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
1012
+