jekyll-theme-cs50 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/_includes/aside.html +24 -0
  4. data/_includes/footer.md +0 -0
  5. data/_includes/header.md +0 -0
  6. data/_includes/main.html +5 -0
  7. data/_includes/nav.md +0 -0
  8. data/_layouts/page.html +136 -0
  9. data/_sass/jekyll-theme-cs50.scss +314 -0
  10. data/_sass/node_modules/bootstrap/LICENSE +22 -0
  11. data/_sass/node_modules/bootstrap/scss/_alert.scss +51 -0
  12. data/_sass/node_modules/bootstrap/scss/_badge.scss +53 -0
  13. data/_sass/node_modules/bootstrap/scss/_breadcrumb.scss +41 -0
  14. data/_sass/node_modules/bootstrap/scss/_button-group.scss +163 -0
  15. data/_sass/node_modules/bootstrap/scss/_buttons.scss +140 -0
  16. data/_sass/node_modules/bootstrap/scss/_card.scss +310 -0
  17. data/_sass/node_modules/bootstrap/scss/_carousel.scss +198 -0
  18. data/_sass/node_modules/bootstrap/scss/_close.scss +44 -0
  19. data/_sass/node_modules/bootstrap/scss/_code.scss +48 -0
  20. data/_sass/node_modules/bootstrap/scss/_custom-forms.scss +507 -0
  21. data/_sass/node_modules/bootstrap/scss/_dropdown.scss +191 -0
  22. data/_sass/node_modules/bootstrap/scss/_forms.scss +334 -0
  23. data/_sass/node_modules/bootstrap/scss/_functions.scss +86 -0
  24. data/_sass/node_modules/bootstrap/scss/_grid.scss +52 -0
  25. data/_sass/node_modules/bootstrap/scss/_images.scss +42 -0
  26. data/_sass/node_modules/bootstrap/scss/_input-group.scss +193 -0
  27. data/_sass/node_modules/bootstrap/scss/_jumbotron.scss +16 -0
  28. data/_sass/node_modules/bootstrap/scss/_list-group.scss +121 -0
  29. data/_sass/node_modules/bootstrap/scss/_media.scss +8 -0
  30. data/_sass/node_modules/bootstrap/scss/_mixins.scss +41 -0
  31. data/_sass/node_modules/bootstrap/scss/_modal.scss +186 -0
  32. data/_sass/node_modules/bootstrap/scss/_nav.scss +120 -0
  33. data/_sass/node_modules/bootstrap/scss/_navbar.scss +299 -0
  34. data/_sass/node_modules/bootstrap/scss/_pagination.scss +78 -0
  35. data/_sass/node_modules/bootstrap/scss/_popover.scss +183 -0
  36. data/_sass/node_modules/bootstrap/scss/_print.scss +141 -0
  37. data/_sass/node_modules/bootstrap/scss/_progress.scss +34 -0
  38. data/_sass/node_modules/bootstrap/scss/_reboot.scss +462 -0
  39. data/_sass/node_modules/bootstrap/scss/_root.scss +19 -0
  40. data/_sass/node_modules/bootstrap/scss/_spinners.scss +53 -0
  41. data/_sass/node_modules/bootstrap/scss/_tables.scss +187 -0
  42. data/_sass/node_modules/bootstrap/scss/_toasts.scss +43 -0
  43. data/_sass/node_modules/bootstrap/scss/_tooltip.scss +115 -0
  44. data/_sass/node_modules/bootstrap/scss/_transitions.scss +22 -0
  45. data/_sass/node_modules/bootstrap/scss/_type.scss +125 -0
  46. data/_sass/node_modules/bootstrap/scss/_utilities.scss +16 -0
  47. data/_sass/node_modules/bootstrap/scss/_variables.scss +1091 -0
  48. data/_sass/node_modules/bootstrap/scss/bootstrap-grid.scss +29 -0
  49. data/_sass/node_modules/bootstrap/scss/bootstrap-reboot.scss +12 -0
  50. data/_sass/node_modules/bootstrap/scss/bootstrap.scss +44 -0
  51. data/_sass/node_modules/bootstrap/scss/mixins/_alert.scss +13 -0
  52. data/_sass/node_modules/bootstrap/scss/mixins/_background-variant.scss +21 -0
  53. data/_sass/node_modules/bootstrap/scss/mixins/_badge.scss +11 -0
  54. data/_sass/node_modules/bootstrap/scss/mixins/_border-radius.scss +35 -0
  55. data/_sass/node_modules/bootstrap/scss/mixins/_box-shadow.scss +5 -0
  56. data/_sass/node_modules/bootstrap/scss/mixins/_breakpoints.scss +123 -0
  57. data/_sass/node_modules/bootstrap/scss/mixins/_buttons.scss +111 -0
  58. data/_sass/node_modules/bootstrap/scss/mixins/_caret.scss +62 -0
  59. data/_sass/node_modules/bootstrap/scss/mixins/_clearfix.scss +7 -0
  60. data/_sass/node_modules/bootstrap/scss/mixins/_float.scss +11 -0
  61. data/_sass/node_modules/bootstrap/scss/mixins/_forms.scss +198 -0
  62. data/_sass/node_modules/bootstrap/scss/mixins/_gradients.scss +45 -0
  63. data/_sass/node_modules/bootstrap/scss/mixins/_grid-framework.scss +66 -0
  64. data/_sass/node_modules/bootstrap/scss/mixins/_grid.scss +51 -0
  65. data/_sass/node_modules/bootstrap/scss/mixins/_hover.scss +37 -0
  66. data/_sass/node_modules/bootstrap/scss/mixins/_image.scss +36 -0
  67. data/_sass/node_modules/bootstrap/scss/mixins/_list-group.scss +21 -0
  68. data/_sass/node_modules/bootstrap/scss/mixins/_lists.scss +7 -0
  69. data/_sass/node_modules/bootstrap/scss/mixins/_nav-divider.scss +10 -0
  70. data/_sass/node_modules/bootstrap/scss/mixins/_pagination.scss +22 -0
  71. data/_sass/node_modules/bootstrap/scss/mixins/_reset-text.scss +17 -0
  72. data/_sass/node_modules/bootstrap/scss/mixins/_resize.scss +6 -0
  73. data/_sass/node_modules/bootstrap/scss/mixins/_screen-reader.scss +33 -0
  74. data/_sass/node_modules/bootstrap/scss/mixins/_size.scss +6 -0
  75. data/_sass/node_modules/bootstrap/scss/mixins/_table-row.scss +39 -0
  76. data/_sass/node_modules/bootstrap/scss/mixins/_text-emphasis.scss +14 -0
  77. data/_sass/node_modules/bootstrap/scss/mixins/_text-hide.scss +13 -0
  78. data/_sass/node_modules/bootstrap/scss/mixins/_text-truncate.scss +8 -0
  79. data/_sass/node_modules/bootstrap/scss/mixins/_transition.scss +16 -0
  80. data/_sass/node_modules/bootstrap/scss/mixins/_visibility.scss +7 -0
  81. data/_sass/node_modules/bootstrap/scss/utilities/_align.scss +8 -0
  82. data/_sass/node_modules/bootstrap/scss/utilities/_background.scss +19 -0
  83. data/_sass/node_modules/bootstrap/scss/utilities/_borders.scss +63 -0
  84. data/_sass/node_modules/bootstrap/scss/utilities/_clearfix.scss +3 -0
  85. data/_sass/node_modules/bootstrap/scss/utilities/_display.scss +38 -0
  86. data/_sass/node_modules/bootstrap/scss/utilities/_embed.scss +39 -0
  87. data/_sass/node_modules/bootstrap/scss/utilities/_flex.scss +51 -0
  88. data/_sass/node_modules/bootstrap/scss/utilities/_float.scss +9 -0
  89. data/_sass/node_modules/bootstrap/scss/utilities/_overflow.scss +5 -0
  90. data/_sass/node_modules/bootstrap/scss/utilities/_position.scss +32 -0
  91. data/_sass/node_modules/bootstrap/scss/utilities/_screenreaders.scss +11 -0
  92. data/_sass/node_modules/bootstrap/scss/utilities/_shadows.scss +6 -0
  93. data/_sass/node_modules/bootstrap/scss/utilities/_sizing.scss +20 -0
  94. data/_sass/node_modules/bootstrap/scss/utilities/_spacing.scss +73 -0
  95. data/_sass/node_modules/bootstrap/scss/utilities/_text.scss +67 -0
  96. data/_sass/node_modules/bootstrap/scss/utilities/_visibility.scss +11 -0
  97. data/_sass/node_modules/primer-markdown/build/build.scss +1 -0
  98. data/_sass/package.json +12 -0
  99. data/assets/css/style.scss +4 -0
  100. metadata +266 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: a066c419ac06d26ead6008fadcff6517c8a81a567e5dce51db01ebfa590c7cb7
4
+ data.tar.gz: c7a2ad45e86344736b56eeb98d55e95ccc2b4ac0acaa9989c9ae1043476f5647
5
+ SHA512:
6
+ metadata.gz: b77c50e69997ec31fbd0352c2c93a0b32e2417c636f3fa325336b6ab6409d34a6947c555fdc7e6764c8f6dea9cff521f4cfa033ece0ae31a8dd90aede00b5d86
7
+ data.tar.gz: 7e003109731169c54aed6ff026255f78172d605f9a9321baa9ff7d18b7bab40374afef01fe6b4f1d50cd4bb43f1e8ea456dd2eec3bf7c55b21b1ae85d45ff44d
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2018
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.
@@ -0,0 +1,24 @@
1
+ <aside>
2
+
3
+ <header>
4
+
5
+ {%- capture header -%}{%- include header.md -%}{%- endcapture -%}
6
+ {{- header | markdownify | replace: " id=", " data-id=" | strip -}}
7
+
8
+ </header>
9
+
10
+ <nav class="collapse">
11
+
12
+ {%- capture nav -%}{%- include nav.md -%}{%- endcapture -%}
13
+ {{- nav | markdownify | replace: " id=", " data-id=" | strip -}}
14
+
15
+ </nav>
16
+
17
+ <footer>
18
+
19
+ {%- capture footer -%}{%- include footer.md -%}{%- endcapture -%}
20
+ {{- footer | markdownify | replace: " id=", " data-id=" | strip -}}
21
+
22
+ </footer>
23
+
24
+ </aside>
File without changes
File without changes
@@ -0,0 +1,5 @@
1
+ <main class="markdown-body">
2
+
3
+ {{ content }}
4
+
5
+ </main>
data/_includes/nav.md ADDED
File without changes
@@ -0,0 +1,136 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html lang="{{ page.lang | default: site.lang | default: "en-us" }}">
4
+
5
+ <head>
6
+
7
+ <meta charset="utf-8">
8
+ <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
9
+
10
+ <meta property="og:description" content="{{ site.description }}">
11
+
12
+ <meta property="og:image" content="{{ site.image }}">
13
+
14
+ {%- capture title -%}
15
+ {%- if page.title -%}
16
+ {{- page.title -}}
17
+ {%- endif -%}
18
+ {%- if site.title -%}
19
+ {%- unless site.github and site.title == site.github.repository_name -%}
20
+ {%- if page.title %} - {% endif -%}
21
+ {{- site.title -}}
22
+ {%- endunless -%}
23
+ {%- endif -%}
24
+ {%- endcapture %}
25
+
26
+ <meta property="og:title" content="{{ title }}">
27
+
28
+ <meta property="og:url" content="{{ site.url }}">
29
+
30
+ <link href="{{ '/favicon.ico' | relative_url }}?{{ site.time | date: '%s' }}" rel="icon">
31
+
32
+ <!-- https://useiconic.com/open -->
33
+ <link crossorigin="anonymous" href="https://cdnjs.cloudflare.com/ajax/libs/open-iconic/1.1.1/font/css/open-iconic-bootstrap.min.css" integrity="sha256-BJ/G+e+y7bQdrYkS2RBTyNfBHpA9IuGaPmf9htub5MQ=" rel="stylesheet">
34
+
35
+ <link href="{{ '/assets/css/style.css' | relative_url }}?{{ site.time | date: '%s' }}" rel="stylesheet">
36
+
37
+ <!-- http://getbootstrap.com/docs/4.2/getting-started/introduction/ -->
38
+ <script crossorigin="anonymous" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
39
+ <script crossorigin="anonymous" integrity="sha384-wHAiFfRlMFy6i5SRaxvfOCifBUQy1xHdJ/yoi7FRNXMRBu5WHdZYu1hA6ZOblgut" src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js"></script>
40
+ <script crossorigin="anonymous" integrity="sha384-B0UglyR+jN6CkvvICOB2joaf5I4l3gm9GU6Hc1og6Ls7i6U/mkkaduKaBhlAXv9k" src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js"></script>
41
+
42
+ <script>
43
+
44
+ $(document).on('DOMContentLoaded', function() {
45
+
46
+ // Add toggler
47
+ let nav = $('aside nav.collapse');
48
+ let button = $('<button aria-expanded="false" class="btn collapsed" data-toggle="collapse" type="button"><span class="oi oi-menu"></span></button>');
49
+ nav.before(button);
50
+ button.click(function() {
51
+ nav.collapse('toggle');
52
+ $(this).toggleClass('collapsed');
53
+ $(this).attr('aria-expanded', ($(this).attr('aria-expanded') === 'false') ? 'true' : 'false');
54
+ });
55
+
56
+ // Get headings
57
+ let $headings = $([
58
+ 'main.markdown-body h2',
59
+ 'main.markdown-body h3',
60
+ 'main.markdown-body h4',
61
+ 'main.markdown-body h5',
62
+ 'main.markdown-body h6'].join(','));
63
+
64
+ // Add anchors to headings
65
+ $headings.each(function(index, element) {
66
+ if ($(element).attr('id') && $(element).has('a').length === 0) {
67
+ $(element).wrapInner($('<a href="#' + $(element).attr('id') + '"></a>'));
68
+ }
69
+ });
70
+
71
+ // For each iframe
72
+ $('iframe').each(function(index, element) {
73
+
74
+ // If an embedded YouTube video
75
+ let matches = $(this).attr('src').match(/^https:\/\/www.youtube.com\/embed\/([A-Za-z0-9_-]+)/);
76
+ if (matches) {
77
+
78
+ // Add allowfullscreen if not present
79
+ if ($(this).attr('allowfullscreen') === undefined) {
80
+ $(this).attr('allowfullscreen', '');
81
+ }
82
+
83
+ // Add modifier classes if not present, assuming 16x9 by default
84
+ if (!$(this).hasClass('embed-responsive-item')) {
85
+ $(this).addClass('embed-responsive-item');
86
+ $(this).wrap('<div class="embed-responsive embed-responsive-16by9"></div>');
87
+ }
88
+
89
+ // Add background image for printing
90
+ // https://stackoverflow.com/a/2068371/5156190
91
+ if ($(this).css('background-image') === 'none') {
92
+ $(this).css('background-image', 'url("https://img.youtube.com/vi/' + matches[1] + '/sddefault.jpg")');
93
+ $(this).css('background-repeat', 'no-repeat');
94
+ $(this).css('background-size', 'cover');
95
+ }
96
+ }
97
+ });
98
+
99
+ // Ensure last heading can be anchored atop page
100
+ $(window).resize(function() {
101
+ let last = $headings.last();
102
+ if (last.length) {
103
+
104
+ // On small devices
105
+ if ($('aside').position().top < $('main').position().top) {
106
+ var margin = $(window).height() - ($('main').outerHeight() + $('aside').outerHeight() - last.offset().top);
107
+ }
108
+
109
+ // On large devices
110
+ else {
111
+ var margin = $(window).height() - ($('main').outerHeight() - last.offset().top);
112
+ }
113
+
114
+ // Update margin
115
+ $('main').css('margin-bottom', Math.max(0, Math.ceil(margin)) + 'px');
116
+ }
117
+ });
118
+ $(window).trigger('resize');
119
+
120
+ });
121
+
122
+ </script>
123
+
124
+ <title>{{ title }}</title>
125
+
126
+ </head>
127
+
128
+ <body>
129
+
130
+ {%- include aside.html -%}
131
+
132
+ {%- include main.html -%}
133
+
134
+ </body>
135
+
136
+ </html>
@@ -0,0 +1,314 @@
1
+ // Default font
2
+ $font-family-sans-serif: "PT Sans" !default;
3
+
4
+ // Crimson links
5
+ $link-color: #a51c30 !default;
6
+ $link-hover-color: $link-color !default;
7
+
8
+ // Import Bootstrap
9
+ @import "node_modules/bootstrap/scss/bootstrap.scss";
10
+
11
+ // Import build of primer-markdown after renaming build.css to build.scss via package.json so that we can import, per
12
+ // https://stackoverflow.com/questions/7111610/import-regular-css-file-in-scss-file/36166487#36166487
13
+ @import "node_modules/primer-markdown/build/build.scss";
14
+
15
+ // Import Google Fonts
16
+ @import url("https://fonts.googleapis.com/css?family=PT+Sans:400,400italic,700");
17
+
18
+ // Root em
19
+ html {
20
+ font-size: 20px;
21
+ }
22
+
23
+ // Defaults for iframes
24
+ iframe {
25
+ border: 0;
26
+ height: 480px;
27
+ width: 100%;
28
+ }
29
+
30
+ // Confine images to parent
31
+ img {
32
+ max-width: 100%;
33
+ }
34
+
35
+ // Crimson aside, transparent text
36
+ aside {
37
+ background-color: $link-color;
38
+ bottom: 0;
39
+ color: rgba(255, 255, 255, 0.5);
40
+ font-size: 1.125rem;
41
+ left: 0;
42
+ padding: 2rem 2rem;
43
+ overflow: auto;
44
+ position: fixed;
45
+ text-align: left;
46
+ top: 0;
47
+ width: 20rem;
48
+ }
49
+
50
+ // Bold headings
51
+ aside h1,
52
+ aside h2,
53
+ aside h3,
54
+ aside h4,
55
+ aside h5,
56
+ aside h6 {
57
+ font-weight: bold;
58
+ }
59
+
60
+ // Opaque text
61
+ aside a,
62
+ aside a:hover,
63
+ aside button {
64
+ background-color: inherit;
65
+ color: rgba(255, 255, 255, 1);
66
+ opacity: 1;
67
+ }
68
+
69
+ // Separate nav button (or header) and footer, applying margins to children to avoid flicker when uncollapsing
70
+ nav > *:first-child {
71
+ margin-top: 1rem;
72
+ }
73
+
74
+ // Mimic Primer
75
+ header *:last-child,
76
+ nav *:last-child,
77
+ footer *:last-child {
78
+ margin-bottom: 0;
79
+ }
80
+
81
+ // Separate button from header and nav
82
+ aside button[data-toggle=collapse] {
83
+ margin-top: 1rem;
84
+ }
85
+
86
+ // Remove padding above and below icon
87
+ aside button[data-toggle=collapse] {
88
+ padding-bottom: 0;
89
+ padding-top: 0;
90
+ }
91
+
92
+ // No bullets for nav
93
+ nav dl,
94
+ nav ol,
95
+ nav ul {
96
+ list-style: none;
97
+ padding-left: 0;
98
+ }
99
+
100
+ // Separate footer from nav unless empty
101
+ footer {
102
+ margin-top: 1rem;
103
+ }
104
+ footer:empty {
105
+ margin-top: 0;
106
+ }
107
+
108
+ // Padding around main
109
+ main {
110
+ margin-left: 20rem;
111
+ padding: 4rem 2rem;
112
+ }
113
+
114
+ // Override Primer's family and size for fonts
115
+ .markdown-body {
116
+ font-family: unset; /* Use our family */
117
+ font-size: unset; /* Use our size */
118
+ }
119
+
120
+ // Add padding above headings to match Primer's padding below headings,
121
+ // to ensure anchors aren't too close to top of viewport
122
+ .markdown-body h1,
123
+ .markdown-body h2,
124
+ .markdown-body h3,
125
+ .markdown-body h4,
126
+ .markdown-body h5,
127
+ .markdown-body h6 {
128
+ margin-top: 0;
129
+ padding-top: 16px;
130
+ }
131
+
132
+ // Subtle anchors in headings
133
+ .markdown-body h2 a,
134
+ .markdown-body h3 a,
135
+ .markdown-body h4 a,
136
+ .markdown-body h5 a,
137
+ .markdown-body h6 a {
138
+ color: inherit;
139
+ text-decoration: none;
140
+ }
141
+
142
+ // Fix inconsistency in Primer
143
+ // https://github.com/primer/primer/pull/563
144
+ .markdown-body ol > li:first-child,
145
+ .markdown-body ul > li:first-child {
146
+ margin-top: .25em;
147
+ }
148
+
149
+ // Mimic li's margin-top
150
+ .markdown-body li > blockquote,
151
+ .markdown-body li > div > div.highlight,
152
+ .markdown-body li > img,
153
+ .markdown-body li > pre {
154
+ margin-top: .25em;
155
+ }
156
+
157
+ // Mimic li's margin-bottom, not p's margin-bottom
158
+ .markdown-body li > div > div.highlight {
159
+ margin-bottom: 0;
160
+ }
161
+
162
+ // Mimic h1's bottom border
163
+ .markdown-body hr {
164
+ background-color: #eaecef;
165
+ height: 1px;
166
+ margin: 16px 0;
167
+ }
168
+
169
+ // Mimic p
170
+ .markdown-body .embed-responsive {
171
+ margin-bottom: 16px;
172
+ margin-top: 0;
173
+ }
174
+
175
+ // Condense TOC
176
+ #markdown-toc li + li,
177
+ #markdown-toc ol > li:first-child,
178
+ #markdown-toc ul > li:first-child {
179
+ margin-top: 0;
180
+ }
181
+
182
+ // On large devices
183
+ // https://getbootstrap.com/docs/4.2/layout/overview/#responsive-breakpoints
184
+ @media (min-width: 768px) {
185
+
186
+ // Hide button above nav
187
+ aside button[data-toggle=collapse] {
188
+ display: none;
189
+ }
190
+
191
+ // Show nav
192
+ nav.collapse:not(.show) {
193
+ display: block;
194
+ }
195
+ }
196
+
197
+ // On small devices and printers
198
+ // https://getbootstrap.com/docs/4.2/layout/overview/#responsive-breakpoints
199
+ @media (max-width: 767.98px), print {
200
+
201
+ // Root em
202
+ html {
203
+ font-size: 16px;
204
+ }
205
+
206
+ // Static aside
207
+ aside {
208
+ bottom: auto;
209
+ left: auto;
210
+ overflow: visible;
211
+ position: static;
212
+ right: auto;
213
+ text-align: center;
214
+ top: auto;
215
+ width: auto;
216
+ }
217
+
218
+ // Don't offset main
219
+ main {
220
+ margin-left: auto;
221
+ }
222
+ }
223
+
224
+ // Also on printers
225
+ @media print {
226
+
227
+ // Hide button above nav
228
+ aside button[data-toggle=collapse] {
229
+ display: none;
230
+ }
231
+
232
+ // Only show header
233
+ nav.collapse:not(.show), footer {
234
+ display: none;
235
+ }
236
+
237
+ // Display links' URLs
238
+ a[href^='http']:after {
239
+ content: ' (' attr(href) ')';
240
+ word-wrap: break-word;
241
+ }
242
+ }
243
+
244
+ // GitHub syntax highlighter color scheme for Pygments
245
+ // https://github.com/PhilipTrauner/pygments-github-css/blob/master/github.css
246
+ .highlight .hll { background-color: #ffffcc }
247
+ .highlight { background: #f8f8f8; }
248
+ .highlight .c { color: #6a737d } /* Comment */
249
+ .highlight .err { } /* Error */
250
+ .highlight .k { color: #d73a49 } /* Keyword */
251
+ .highlight .o { } /* Operator */
252
+ .highlight .ch { color: #6a737d } /* Comment.Hashbang */
253
+ .highlight .cm { color: #6a737d } /* Comment.Multiline */
254
+ .highlight .cp { color: #d73a49 } /* Comment.Preproc */
255
+ .highlight .cpf { color: #032f62 } /* Comment.PreprocFile */
256
+ .highlight .c1 { color: #6a737d } /* Comment.Single */
257
+ .highlight .cs { color: #6a737d } /* Comment.Special */
258
+ .highlight .gd { color: #b31d28; background-color: #ffeef0 } /* Generic.Deleted */
259
+ .highlight .ge { } /* Generic.Emph */
260
+ .highlight .gr { } /* Generic.Error */
261
+ .highlight .gh { color: #005cc5 } /* Generic.Heading */
262
+ .highlight .gi { color: #22863a; background-color: #f0fff4 } /* Generic.Inserted */
263
+ .highlight .go { } /* Generic.Output */
264
+ .highlight .gp { } /* Generic.Prompt */
265
+ .highlight .gs { font-weight: bold } /* Generic.Strong */
266
+ .highlight .gu { color: #6f42c1; font-weight: bold } /* Generic.Subheading */
267
+ .highlight .gt { color: #0044DD } /* Generic.Traceback */
268
+ .highlight .kc { color: #005cc5 } /* Keyword.Constant */
269
+ .highlight .kd { color: #d73a49 } /* Keyword.Declaration */
270
+ .highlight .kn { color: #d73a49 } /* Keyword.Namespace */
271
+ .highlight .kp { color: #d73a49 } /* Keyword.Pseudo */
272
+ .highlight .kr { color: #d73a49 } /* Keyword.Reserved */
273
+ .highlight .kt { color: #d73a49 } /* Keyword.Type */
274
+ .highlight .m { color: #666666 } /* Literal.Number */
275
+ .highlight .s { color: #032f62 } /* Literal.String */
276
+ .highlight .na { } /* Name.Attribute */
277
+ .highlight .nb { color: #005cc5 } /* Name.Builtin */
278
+ .highlight .nc { color: #6f42c1 } /* Name.Class */
279
+ .highlight .no { color: #005cc5 } /* Name.Constant */
280
+ .highlight .nd { color: #6f42c1 } /* Name.Decorator */
281
+ .highlight .ni { color: #005cc5 } /* Name.Entity */
282
+ .highlight .ne { color: #005cc5 } /* Name.Exception */
283
+ .highlight .nf { color: #6f42c1 } /* Name.Function */
284
+ .highlight .nl { color: #005cc5 } /* Name.Label */
285
+ .highlight .nn { color: #6f42c1 } /* Name.Namespace */
286
+ .highlight .nt { color: #22863a } /* Name.Tag */
287
+ .highlight .nv { color: #24292e } /* Name.Variable */
288
+ .highlight .ow { color: #d73a49; } /* Operator.Word */
289
+ .highlight .w { color: #bbbbbb } /* Text.Whitespace */
290
+ .highlight .mb { color: #005cc5 } /* Literal.Number.Bin */
291
+ .highlight .mf { color: #005cc5 } /* Literal.Number.Float */
292
+ .highlight .mh { color: #005cc5 } /* Literal.Number.Hex */
293
+ .highlight .mi { color: #005cc5 } /* Literal.Number.Integer */
294
+ .highlight .mo { color: #005cc5 } /* Literal.Number.Oct */
295
+ .highlight .sa { color: #d73a49 } /* Literal.String.Affix */
296
+ .highlight .sb { color: #032f62 } /* Literal.String.Backtick */
297
+ .highlight .sc { color: #032f62 } /* Literal.String.Char */
298
+ .highlight .dl { color: #d73a49 } /* Literal.String.Delimiter */
299
+ .highlight .sd { color: #032f62 } /* Literal.String.Doc */
300
+ .highlight .s2 { color: #032f62 } /* Literal.String.Double */
301
+ .highlight .se { color: #032f62 } /* Literal.String.Escape */
302
+ .highlight .sh { color: #032f62 } /* Literal.String.Heredoc */
303
+ .highlight .si { color: #005cc5 } /* Literal.String.Interpol */
304
+ .highlight .sx { color: #032f62 } /* Literal.String.Other */
305
+ .highlight .sr { color: #032f62 } /* Literal.String.Regex */
306
+ .highlight .s1 { color: #032f62 } /* Literal.String.Single */
307
+ .highlight .ss { color: #005cc5 } /* Literal.String.Symbol */
308
+ .highlight .bp { color: #005cc5 } /* Name.Builtin.Pseudo */
309
+ .highlight .fm { color: #005cc5 } /* Name.Function.Magic */
310
+ .highlight .vc { color: #24292e } /* Name.Variable.Class */
311
+ .highlight .vg { color: #24292e } /* Name.Variable.Global */
312
+ .highlight .vi { color: #24292e } /* Name.Variable.Instance */
313
+ .highlight .vm { color: #005cc5 } /* Name.Variable.Magic */
314
+ .highlight .il { color: #005cc5 } /* Literal.Number.Integer.Long */
@@ -0,0 +1,22 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2011-2018 Twitter, Inc.
4
+ Copyright (c) 2011-2018 The Bootstrap Authors
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ of this software and associated documentation files (the "Software"), to deal
8
+ in the Software without restriction, including without limitation the rights
9
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ copies of the Software, and to permit persons to whom the Software is
11
+ furnished to do so, subject to the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be included in
14
+ all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
+ THE SOFTWARE.
@@ -0,0 +1,51 @@
1
+ //
2
+ // Base styles
3
+ //
4
+
5
+ .alert {
6
+ position: relative;
7
+ padding: $alert-padding-y $alert-padding-x;
8
+ margin-bottom: $alert-margin-bottom;
9
+ border: $alert-border-width solid transparent;
10
+ @include border-radius($alert-border-radius);
11
+ }
12
+
13
+ // Headings for larger alerts
14
+ .alert-heading {
15
+ // Specified to prevent conflicts of changing $headings-color
16
+ color: inherit;
17
+ }
18
+
19
+ // Provide class for links that match alerts
20
+ .alert-link {
21
+ font-weight: $alert-link-font-weight;
22
+ }
23
+
24
+
25
+ // Dismissible alerts
26
+ //
27
+ // Expand the right padding and account for the close button's positioning.
28
+
29
+ .alert-dismissible {
30
+ padding-right: $close-font-size + $alert-padding-x * 2;
31
+
32
+ // Adjust close link position
33
+ .close {
34
+ position: absolute;
35
+ top: 0;
36
+ right: 0;
37
+ padding: $alert-padding-y $alert-padding-x;
38
+ color: inherit;
39
+ }
40
+ }
41
+
42
+
43
+ // Alternate styles
44
+ //
45
+ // Generate contextual modifier classes for colorizing the alert.
46
+
47
+ @each $color, $value in $theme-colors {
48
+ .alert-#{$color} {
49
+ @include alert-variant(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $alert-color-level));
50
+ }
51
+ }
@@ -0,0 +1,53 @@
1
+ // Base class
2
+ //
3
+ // Requires one of the contextual, color modifier classes for `color` and
4
+ // `background-color`.
5
+
6
+ .badge {
7
+ display: inline-block;
8
+ padding: $badge-padding-y $badge-padding-x;
9
+ font-size: $badge-font-size;
10
+ font-weight: $badge-font-weight;
11
+ line-height: 1;
12
+ text-align: center;
13
+ white-space: nowrap;
14
+ vertical-align: baseline;
15
+ @include border-radius($badge-border-radius);
16
+
17
+ @at-root a#{&} {
18
+ @include hover-focus {
19
+ text-decoration: none;
20
+ }
21
+ }
22
+
23
+ // Empty badges collapse automatically
24
+ &:empty {
25
+ display: none;
26
+ }
27
+ }
28
+
29
+ // Quick fix for badges in buttons
30
+ .btn .badge {
31
+ position: relative;
32
+ top: -1px;
33
+ }
34
+
35
+ // Pill badges
36
+ //
37
+ // Make them extra rounded with a modifier to replace v3's badges.
38
+
39
+ .badge-pill {
40
+ padding-right: $badge-pill-padding-x;
41
+ padding-left: $badge-pill-padding-x;
42
+ @include border-radius($badge-pill-border-radius);
43
+ }
44
+
45
+ // Colors
46
+ //
47
+ // Contextual variations (linked badges get darker on :hover).
48
+
49
+ @each $color, $value in $theme-colors {
50
+ .badge-#{$color} {
51
+ @include badge-variant($value);
52
+ }
53
+ }
@@ -0,0 +1,41 @@
1
+ .breadcrumb {
2
+ display: flex;
3
+ flex-wrap: wrap;
4
+ padding: $breadcrumb-padding-y $breadcrumb-padding-x;
5
+ margin-bottom: $breadcrumb-margin-bottom;
6
+ list-style: none;
7
+ background-color: $breadcrumb-bg;
8
+ @include border-radius($breadcrumb-border-radius);
9
+ }
10
+
11
+ .breadcrumb-item {
12
+ // The separator between breadcrumbs (by default, a forward-slash: "/")
13
+ + .breadcrumb-item {
14
+ padding-left: $breadcrumb-item-padding;
15
+
16
+ &::before {
17
+ display: inline-block; // Suppress underlining of the separator in modern browsers
18
+ padding-right: $breadcrumb-item-padding;
19
+ color: $breadcrumb-divider-color;
20
+ content: $breadcrumb-divider;
21
+ }
22
+ }
23
+
24
+ // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built
25
+ // without `<ul>`s. The `::before` pseudo-element generates an element
26
+ // *within* the .breadcrumb-item and thereby inherits the `text-decoration`.
27
+ //
28
+ // To trick IE into suppressing the underline, we give the pseudo-element an
29
+ // underline and then immediately remove it.
30
+ + .breadcrumb-item:hover::before {
31
+ text-decoration: underline;
32
+ }
33
+ // stylelint-disable-next-line no-duplicate-selectors
34
+ + .breadcrumb-item:hover::before {
35
+ text-decoration: none;
36
+ }
37
+
38
+ &.active {
39
+ color: $breadcrumb-active-color;
40
+ }
41
+ }