jekyll-theme-guides-mbland 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.md +13 -0
  3. data/README.md +160 -0
  4. data/_includes/analytics.html +16 -0
  5. data/_includes/breadcrumbs.html +6 -0
  6. data/_includes/footer.html +5 -0
  7. data/_includes/header.html +28 -0
  8. data/_includes/scripts.html +6 -0
  9. data/_includes/sidebar-children.html +17 -0
  10. data/_includes/sidebar.html +14 -0
  11. data/_layouts/default.html +43 -0
  12. data/_layouts/generated/home-redirect.html +6 -0
  13. data/_layouts/search-results.html +4 -0
  14. data/_sass/_jekyll-theme-guides-mbland-custom.scss +50 -0
  15. data/_sass/_jekyll-theme-guides-mbland-main.scss +663 -0
  16. data/_sass/_jekyll-theme-guides-mbland-syntax.scss +60 -0
  17. data/_sass/jekyll-theme-guides-mbland.scss +3 -0
  18. data/assets/css/google-fonts.css +58 -0
  19. data/assets/favicons/favicon.ico +0 -0
  20. data/assets/favicons/favicon16.png +0 -0
  21. data/assets/favicons/favicon32.png +0 -0
  22. data/assets/favicons/touch-icon-120.png +0 -0
  23. data/assets/favicons/touch-icon-152.png +0 -0
  24. data/assets/favicons/touch-icon-76.png +0 -0
  25. data/assets/fonts/opensans-1395a31469a458f6e2069017b504be065ff44897.ttf +0 -0
  26. data/assets/fonts/opensans-3e193feab52524db86cd1508693f2e5086102669.ttf +0 -0
  27. data/assets/fonts/opensans-d4d19ed3a763ce10e050662542bc0318bb620096.svg +1637 -0
  28. data/assets/fonts/opensans-dd44beeac9a044f2c478b70838e447f0af077825.ttf +0 -0
  29. data/assets/fonts/opensans-f0cc9c782f41b44a31392230103f5b4e101a944a.eot +0 -0
  30. data/assets/fonts/raleway-0dd0372e5ca423ab45f41c74cb0f8859d0527517.eot +0 -0
  31. data/assets/fonts/raleway-468d063b5293c0f76e63103d04cf547e7837cdd2.ttf +0 -0
  32. data/assets/fonts/raleway-6c44b90a1e166ce0b659df20e8e374b5e9d97329.svg +347 -0
  33. data/assets/fonts/raleway-c34d475f415db5bc71140225a0284159bd3d85f2.ttf +0 -0
  34. data/assets/js/accordion.js +47 -0
  35. data/assets/js/guide.js +5 -0
  36. data/assets/js/vendor/anchor.min.js +6 -0
  37. data/assets/js/vendor/jquery-1.11.2.min.js +4 -0
  38. metadata +207 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: e79364366d4d3392bdd47efda04901a09eee31d0
4
+ data.tar.gz: 29ded9e8074cf019a88525324611745c003ead7b
5
+ SHA512:
6
+ metadata.gz: 8b113bba5ff0a0a6f73d8179a38cdcc1bb3d9150c22b0703b780a3c600fd61c98ec72d7fe2dc53d68d6d524fb64fef3eaae6bb716fb1ae9170d9c09471577099
7
+ data.tar.gz: be60c0b9ed4436e02545e1cbce6dea5204c63e75d191abc1b98a522542db7e31f266dc13c6dda702422bb6faa868800462266254ef0f962b594ac5eaa8a53b0f
@@ -0,0 +1,13 @@
1
+ Copyright (c) 2017 Mike Bland <mbland@acm.org>
2
+
3
+ Permission to use, copy, modify, and/or distribute this software for any purpose
4
+ with or without fee is hereby granted, provided that the above copyright notice
5
+ and this permission notice appear in all copies.
6
+
7
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
8
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
9
+ FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
10
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
11
+ OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
12
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
13
+ THIS SOFTWARE.
@@ -0,0 +1,160 @@
1
+ ## [`jekyll-theme-guides-mbland`](https://rubygems.org/gems/jekyll-theme-guides-mbland): Jekyll theme gem for styling guides
2
+
3
+ [![Build Status](https://travis-ci.org/mbland/jekyll-theme-guides-mbland.svg?branch=master)](https://travis-ci.org/mbland/jekyll-theme-guides-mbland)
4
+
5
+ Provides consistent style elements for guides generated using [Jekyll][] via its
6
+ [themes mechanism][themes]. Originally based on [DOCter][] from [CFPB][].
7
+
8
+ [Jekyll]: https://jekyllrb.com/
9
+ [themes]: https://jekyllrb.com/docs/themes/
10
+ [DOCter]: https://github.com/cfpb/docter/
11
+ [CFPB]: https://cfpb.github.io/
12
+
13
+ ### Usage
14
+
15
+ In your [`Gemfile`][gemfile], include the following:
16
+
17
+ [gemfile]: http://bundler.io/gemfile.html
18
+
19
+ ```ruby
20
+ group :jekyll_plugins do
21
+ gem 'jekyll-theme-guides-mbland'
22
+ end
23
+ ```
24
+
25
+ Add an `assets/css/styles.scss` file that contains at least the following:
26
+
27
+ ```scss
28
+ ---
29
+ ---
30
+
31
+ @import "{{ site.theme }}";
32
+ ```
33
+
34
+ Then in your [`_config.yml` file](https://jekyllrb.com/docs/configuration/),
35
+ add the following (you may need to remove any `layout:`
36
+ [front matter](https://jekyllrb.com/docs/frontmatter/) from existing pages for
37
+ this to take effect):
38
+
39
+ ```yaml
40
+ theme: jekyll-theme-guides-mbland
41
+
42
+ defaults:
43
+ -
44
+ scope:
45
+ path: ""
46
+ values:
47
+ layout: "default"
48
+ ```
49
+
50
+ Build the site per usual, and observe the results.
51
+
52
+ ### Additional features
53
+
54
+ Here are some other features that can be enabled via `_config.yml`:
55
+
56
+ ```yaml
57
+ # This adds the "back to" breadcrumb link under the page title:
58
+ back_link:
59
+ url: "https://guides.example.com/"
60
+ text: Read more Guides
61
+
62
+ # If you use Analytics, add your code here:
63
+ google_analytics_ua: UA-????????-??
64
+
65
+ # If you want all of the navigation bar entries expanded by default, add this
66
+ # property and it to true:
67
+ expand_nav: true
68
+ ```
69
+
70
+ ### Additional scripts and styles
71
+
72
+ If you'd like to add additional scripts or styles to every page on the site,
73
+ you can add `styles:` and `scripts:` lists to `_config.yml`. To add them to a
74
+ particular page, add these lists to the page's front matter.
75
+
76
+ ### Alternate navigation bar titles
77
+
78
+ If you want a page to have a different title in the navigation bar than that
79
+ of the page itself, add a `navtitle:` property to the page's front matter:
80
+
81
+ ```md
82
+ ---
83
+ title: Since brevity is the soul of wit, I'll be brief.
84
+ navtitle: Polonius's advice
85
+ ---
86
+ ```
87
+
88
+ ### Selectively expanding navigation bar items
89
+
90
+ If you wish to expand or contract specific navigation bar items, add the
91
+ `expand_nav:` property to those items in the `navigation:` list in
92
+ `_config.yml`. For example, the `Update the config file` entry will expand
93
+ since the default `expand_nav` property is `true`, but `Add a new page` will
94
+ remain collapsed:
95
+
96
+ ```yaml
97
+ expand_nav: true
98
+
99
+ navigation:
100
+ - text: Introduction
101
+ internal: true
102
+ - text: Add a new page
103
+ url: add-a-new-page/
104
+ internal: true
105
+ expand_nav: false
106
+ children:
107
+ - text: Make a child page
108
+ url: make-a-child-page/
109
+ internal: true
110
+ - text: Update the config file
111
+ url: update-the-config-file/
112
+ internal: true
113
+ children:
114
+ - text: Understanding the `baseurl:` property
115
+ url: understanding-baseurl/
116
+ internal: true
117
+ ```
118
+
119
+ ### Development
120
+
121
+ First, choose a Jekyll site you'd like to use to view the impact of your
122
+ updates and clone its repository; then clone this repository into the same
123
+ parent directory. For example, to use the Guides Template:
124
+
125
+ ```shell
126
+ $ git clone git@github.com:mbland/guides-template-mbland.git
127
+ $ git clone git@github.com:mbland/jekyll-theme-guides-mbland.git
128
+ ```
129
+
130
+ In the `Gemfile` of the Jekyll site's repository, include the following:
131
+
132
+ ```ruby
133
+ group :jekyll_plugins do
134
+ gem 'jekyll-theme-guides-mbland', :path => '../jekyll-theme-guides-mbland'
135
+ end
136
+ ```
137
+
138
+ You can find the different style assets and templates within the `assets`,
139
+ `_layouts`, `_includes`, and `_sass` directories of this repository. Edit those,
140
+ then rebuild the Jekyll site as usual to see the results.
141
+
142
+ Alternatively, you can [copy files from these directories into your site and
143
+ edit them to taste][edit].
144
+
145
+ [edit]: https://jekyllrb.com/docs/themes/#overriding-theme-defaults
146
+
147
+ ### Open Source License
148
+
149
+ This software is made available as [Open Source software][oss-def] under the
150
+ [ISC License][]. For the text of the license, see the [LICENSE](LICENSE.md)
151
+ file.
152
+
153
+ [oss-def]: https://opensource.org/osd-annotated
154
+ [isc license]: https://www.isc.org/downloads/software-support-policy/isc-license/
155
+
156
+ ### Prior work
157
+
158
+ This was adapted from my previous [18F/guides-style][style-old] implementation.
159
+
160
+ [style-old]: https://github.com/18F/guides-style
@@ -0,0 +1,16 @@
1
+ {% if site.google_analytics_ua %}<!-- Google Analytics -->
2
+ <script>
3
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
4
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
5
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
6
+ })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
7
+ ga('create', '{{ site.google_analytics_ua }}', 'auto');
8
+
9
+ // anonymize user IPs (chops off the last IP triplet)
10
+ ga('set', 'anonymizeIp', true);
11
+ ga('set', 'forceSSL', true);
12
+ ga('send', 'pageview');
13
+ </script>
14
+
15
+ <!-- Digital Analytics Program roll-up, see https://analytics.usa.gov for data -->
16
+ <script id="_fed_an_ua_tag" src="https://dap.digitalgov.gov/Universal-Federated-Analytics-Min.js?agency=GSA"></script>{% endif %}
@@ -0,0 +1,6 @@
1
+ <div class="breadcrumbs">
2
+ <ol>
3
+ {% for breadcrumb in page.breadcrumbs %}{% if forloop.last %}<li>{{ breadcrumb.text }}{% else %}<li class="parent"><a href="{{ site.baseurl}}{{ breadcrumb.url }}">{{ breadcrumb.text }}</a>{% endif %}</li>
4
+ {% endfor %}
5
+ </ol>
6
+ </div>
@@ -0,0 +1,5 @@
1
+ <footer role="contentinfo">
2
+ <div class="wrap">{% assign repo_url = site.repos[0].url %}
3
+ <p>This project is maintained by <a href="{{ site.author.url }}">{{ site.author.name }}</a>. The source is available at <a href="{{ repo_url }}">{{ repo_url }}</a>.</p>
4
+ </div>
5
+ </footer>
@@ -0,0 +1,28 @@
1
+ <head>
2
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
3
+ <meta charset="utf-8">
4
+ <meta name="viewport" content="width=device-width">
5
+
6
+ {% if page.title %}
7
+ <title>{{ page.title }} - {{ site.name }}</title>
8
+ {% elsif site.title %}
9
+ <title>{{ site.title }} - {{ site.name }}</title>
10
+ {% endif %}
11
+
12
+ {% if page.description %}
13
+ <meta name="description" content="{{ page.description | xml_escape }}">
14
+ {% elsif site.description %}
15
+ <meta name="description" content="{{ site.description | xml_escape }}">
16
+ {% endif %}
17
+
18
+ <link rel="shortcut icon" type="image/ico" href="{{ site.baseurl }}/assets/favicons/favicon.ico" />
19
+ <link rel="icon" type="image/png" sizes="16x16" href="{{ site.baseurl }}/assets/favicons/favicon16.png" />
20
+ <link rel="icon" type="image/png" sizes="32x32" href="{{ site.baseurl }}/assets/favicons/favicon32.png" />
21
+ <link rel="apple-touch-icon" sizes="76x76" href="{{ site.baseurl }}/assets/favicons/touch-icon-76.png" />
22
+ <link rel="apple-touch-icon" sizes="120x120" href="{{ site.baseurl }}/assets/favicons/touch-icon-120.png" />
23
+ <link rel="apple-touch-icon" sizes="152x152" href="{{ site.baseurl }}/assets/favicons/touch-icon-152.png"/>
24
+ <link href='{{ site.baseurl }}/assets/css/google-fonts.css' rel='stylesheet' type='text/css' />
25
+ <link rel="stylesheet" href="{{ site.baseurl }}/assets/css/styles.css" type='text/css' />{% for style in site.styles %}
26
+ <link rel="stylesheet" href="{{ site.baseurl }}/{{ style }}" type='text/css' />{% endfor %}{% for style in page.styles %}
27
+ <link rel="stylesheet" href="{{ site.baseurl }}/{{ style }}" type='text/css' />{% endfor %}
28
+ </head>
@@ -0,0 +1,6 @@
1
+ <script src="{{ site.baseurl }}/assets/js/vendor/jquery-1.11.2.min.js"></script>
2
+ <script src="{{ site.baseurl }}/assets/js/accordion.js"></script>
3
+ <script src="{{ site.baseurl }}/assets/js/guide.js"></script>{% for script in site.scripts %}
4
+ <script src="{{ site.baseurl }}/{{ script }}"></script>{% endfor %}{% for script in page.scripts %}
5
+ <script src="{{ site.baseurl }}/{{ script }}"></script>{% endfor %}
6
+ {% jekyll_pages_api_search_load %}
@@ -0,0 +1,17 @@
1
+ {% if parent.children %}
2
+ {% capture expand_nav %}{% jekyll_theme_guides_mbland_should_expand_nav parent, parent_url %}{% endcapture %}
3
+ <button class="expand-subnav"
4
+ aria-expanded="{{ expand_nav }}"
5
+ aria-controls="nav-collapsible-{{ forloop.index }}">+</button>
6
+ <ul class="nav-children" id="nav-collapsible-{{ forloop.index }}"
7
+ aria-hidden="{% if expand_nav == 'true' %}false{% else %}true{% endif %}">
8
+ {% for child in parent.children %}
9
+ {% capture child_url %}{{ parent_url }}{{ child.url }}{% endcapture %}
10
+ <li class="{% if page.url == child_url %}sidebar-nav-active{% endif %}">
11
+ <a href="{% if child.internal == true %}{{ site.baseurl }}{{ child_url }}{% else %}{{ child.url }}{% endif %}"
12
+ title="{% if page.url == child_url %}Current Page{% else %}{{ child.text }}{% endif %}">{{ child.text }}</a>
13
+ {% assign parent = child %}{% assign parent_url = child_url %}
14
+ {% include sidebar-children.html %}
15
+ {% capture parent_url %}{% jekyll_theme_guides_mbland_pop_last_url_component parent_url %}{% endcapture %}
16
+ </li>{% endfor %}
17
+ </ul>{% endif %}
@@ -0,0 +1,14 @@
1
+ <aside>
2
+ <p class="intro">{{ site.subtitle }}</p>
3
+ <nav class="sidebar-nav" role="navigation">
4
+ <ul>{% for link in site.navigation %}{% capture parent_url %}/{{ link.url }}{% endcapture %}
5
+ <li class="group {% if page.url == parent_url %}sidebar-nav-active{% endif %}">
6
+ <a href="{% if link.internal == true %}{{ site.baseurl }}/{% endif %}{{ link.url }}"
7
+ title="{% if page.url == parent_url %}Current Page
8
+ {% else %}{{ link.text }}{% endif %}">{{ link.text }}</a>
9
+ {% assign parent = link %}
10
+ {% include sidebar-children.html %}
11
+ </li>{% endfor %}
12
+ </ul>
13
+ </nav>
14
+ </aside>
@@ -0,0 +1,43 @@
1
+ <!DOCTYPE html>
2
+ <html lang='en'>
3
+
4
+ {% include header.html %}
5
+
6
+ <body>
7
+
8
+ <div class="container">
9
+ <a class="skip-link visuallyhidden focusable" href="#main">Skip to Main Content</a>
10
+
11
+ <header role="banner">
12
+
13
+ <div class="wrap">
14
+
15
+
16
+ <h1 class="site-title"><a class="title-link" href="{{ site.baseurl }}/">{{ site.name }}</a></h1>
17
+
18
+ {% jekyll_pages_api_search_interface %}{% if site.back_link %}
19
+
20
+ <div class="back-link"><a href="{{ site.back_link.url }}">&laquo; {{ site.back_link.text }}</a></div>{% endif %}
21
+ </div>
22
+ {% include breadcrumbs.html %}
23
+ </header>
24
+
25
+ <div class="wrap content">
26
+
27
+ <section id="main" class="main-content" role="main">
28
+ <h2>{{ page.title }}</h2>
29
+ {{ content }}
30
+ </section>
31
+
32
+ {% include sidebar.html %}
33
+
34
+ </div><!-- /.wrap content -->
35
+
36
+ {% include footer.html %}
37
+
38
+ </div> <!-- /.container -->
39
+
40
+ </body>
41
+ {% include analytics.html %}
42
+ {% include scripts.html %}
43
+ </html>
@@ -0,0 +1,6 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head><meta http-equiv="refresh" content="0;URL='{{ site.baseurl }}/#{{ page.title | slugify }}'">
4
+ </head>
5
+ <body></body>
6
+ </html>
@@ -0,0 +1,4 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+ {% jekyll_pages_api_search_results %}
@@ -0,0 +1,50 @@
1
+ /*
2
+ This is where custom styles for your guide should live.
3
+ */
4
+
5
+ div.skip-nav a {
6
+ position: absolute;
7
+ left: -10000;
8
+ top: 0;
9
+ width: 1px;
10
+ height: auto;
11
+ overflow: hidden;
12
+ }
13
+ div.skip-nav a:focus {
14
+ position: absolute;
15
+ top: 5px;
16
+ left: 5px;
17
+ width: auto;
18
+ height: auto;
19
+ z-index: 999999;
20
+ background-color: white;
21
+ padding-left: 2px;
22
+ padding-right: 2px;
23
+ overflow: visible;
24
+ }
25
+
26
+ .mainContent:focus {
27
+ outline: none;
28
+ }
29
+
30
+ table, th, td {
31
+ border: 1px solid black;
32
+ padding: 5px;
33
+ margin:5px;
34
+ }
35
+ th {
36
+ background: #767576;
37
+ color:white;
38
+ }
39
+ li.active > a{
40
+ background-color: #317ab9;
41
+ }
42
+
43
+ div.back-link {
44
+ display: block;
45
+ padding-top: .5em;
46
+ }
47
+
48
+ header {
49
+ padding-bottom: 1.5em;
50
+ }
@@ -0,0 +1,663 @@
1
+ @import "jekyll_pages_api_search";
2
+
3
+ /*
4
+ Main.css
5
+ ==================================
6
+ Begin with generic 'mobile first' styles
7
+ */
8
+
9
+ /*
10
+ Normalize the box model
11
+ ==================================
12
+ */
13
+
14
+ *,
15
+ *:before,
16
+ *:after {
17
+ -webkit-box-sizing: border-box;
18
+ -moz-box-sizing: border-box;
19
+ box-sizing: border-box;
20
+ }
21
+
22
+ /*
23
+ global styles
24
+ ==================================
25
+ */
26
+
27
+ html, body {
28
+ height: 100%;
29
+ }
30
+
31
+ /*
32
+ Typography
33
+ ==================================
34
+ */
35
+
36
+ body {
37
+ font-family: "Open Sans", Arial, sans-serif;
38
+ font-weight: 400;
39
+ font-style: normal;
40
+ line-height: 1.466666667;
41
+ margin: 0;
42
+ }
43
+
44
+ h1,
45
+ h2,
46
+ h3,
47
+ h4,
48
+ h5 {
49
+ font-family: "Raleway", Arial, sans-serif;
50
+ font-weight: 600;
51
+ }
52
+
53
+ .site-title {
54
+ font-size: 1.9em;
55
+ color: #919395;
56
+ margin: 0;
57
+ line-height: 1.2941176470588236;
58
+ display: inline-block;
59
+ }
60
+
61
+ h2 {
62
+ font-size: 1.375em;
63
+ margin: 1.4em 0 0 0;
64
+ }
65
+
66
+ h3 {
67
+ margin-top: 30px;
68
+ a {
69
+ border-bottom: 1px dotted #0072ce;
70
+ }
71
+ }
72
+
73
+ h4 {
74
+ font-size: 1em;
75
+ text-transform: uppercase;
76
+ }
77
+
78
+ .page-title {
79
+ margin-top: .727272727em; /* 16/22 */
80
+ }
81
+
82
+ /*
83
+ Lists
84
+ --------------------------------
85
+ */
86
+
87
+ .main-content ul {
88
+ padding-left: 1.1em;
89
+ }
90
+
91
+ .main-content li {
92
+ margin-bottom: 1em;
93
+ }
94
+
95
+ li h3,
96
+ li h4 {
97
+ margin: 0;
98
+ }
99
+
100
+ li p {
101
+ margin-top: 0;
102
+ }
103
+
104
+ /*
105
+ Links
106
+ ==================================
107
+ */
108
+
109
+ a {
110
+ -webkit-transition: .2s;
111
+ -moz-transition: .2s;
112
+ transition: .2s;
113
+ }
114
+
115
+ a,
116
+ a:link,
117
+ a:visited {
118
+ color: #006FC9;
119
+ text-decoration: none;
120
+ }
121
+
122
+ a:hover {
123
+ color: #7eb8dd;
124
+ text-decoration: none;
125
+ }
126
+
127
+ a:active {
128
+ color: #002d72;
129
+ text-decoration: none;
130
+ }
131
+
132
+ a:focus {
133
+ color: #006FC9;
134
+ outline: thin dotted;
135
+ text-decoration: none;
136
+ }
137
+
138
+ a.title-link {
139
+ color: #75787B;
140
+ }
141
+
142
+ a.title-link:hover,
143
+ a.title-link:active,
144
+ a.title-link:focus {
145
+ color: #7eb8dd;
146
+ }
147
+
148
+ a.skip-link {
149
+ color: #fff;
150
+ padding: .25em;
151
+ }
152
+
153
+ a.skip-link:hover,
154
+ a.skip-link:active,
155
+ a.skip-link:focus {
156
+ background-color: #006FC9;
157
+ color: #fff;
158
+ }
159
+
160
+ p {
161
+ a,
162
+ a:link,
163
+ a:visited {
164
+ border-bottom: 1px dotted #0072ce;
165
+
166
+ }
167
+ }
168
+
169
+ /*
170
+ Navigation
171
+ ==================================
172
+ */
173
+
174
+ .breadcrumbs ol {
175
+ list-style: none;
176
+ padding-left: 20px;
177
+ margin: 0px;
178
+ display: inline-block;
179
+ font-size: 14px;
180
+ }
181
+
182
+ .breadcrumbs ol li {
183
+ display: inline;
184
+ }
185
+
186
+ .breadcrumbs ol li:only-child {
187
+ display: none;
188
+ }
189
+
190
+ .breadcrumbs .parent::after {
191
+ content: " >";
192
+ }
193
+
194
+ .sidebar-nav a {
195
+ display: block;
196
+ padding: 10px;
197
+ -webkit-transition: .4s;
198
+ transition: .4s;
199
+ width: 80%;
200
+ float: left;
201
+ }
202
+
203
+ .sidebar-nav a,
204
+ .sidebar-nav a:link,
205
+ .sidebar-nav a:visited {
206
+ border-bottom: none;
207
+ color: #74767B;
208
+ }
209
+
210
+ .sidebar-nav a:hover,
211
+ .sidebar-nav a:focus,
212
+ .sidebar-nav a:active,
213
+ .sidebar-nav .sidebar-nav-active > a {
214
+ color: #74767B;
215
+ border-left: 4px solid #7401DF;
216
+ background-color: transparent;
217
+ }
218
+
219
+ .sidebar-nav ul {
220
+ margin: 0;
221
+ padding: 0;
222
+ }
223
+
224
+ .sidebar-nav li {
225
+ list-style: none;
226
+ border-bottom: 1px solid #babbbd;
227
+ font-size: 1.125em;
228
+ overflow: hidden;
229
+ }
230
+
231
+ .sidebar-nav li:last-child {
232
+ border-bottom: none;
233
+ }
234
+
235
+ .nav-children[aria-hidden=true] {
236
+ max-height: 0;
237
+ }
238
+
239
+ .nav-children {
240
+ clear: both;
241
+ display: block;
242
+ font-size: 14px;
243
+ max-height: initial;
244
+ max-height: 4000px;
245
+ overflow: auto;
246
+ opacity: 1;
247
+ position: relative;
248
+ -webkit-transition: max-height .2s, opacity .2s;
249
+ -moz-transition: max-height .2s, opacity .2s;
250
+ -o-transition: max-height .2s, opacity .2s;
251
+ transition: max-height .2s, opacity .2s;
252
+ }
253
+
254
+ .nav-children li {
255
+ border-bottom: none;
256
+ padding-left: 0;
257
+ }
258
+
259
+ .nav-children a {
260
+ padding: 5px 5px 5px 20px;
261
+ }
262
+
263
+ .nav-children li:last-child a {
264
+ padding-bottom: 10px;
265
+ }
266
+
267
+ .expand-subnav {
268
+ background: none;
269
+ border: none;
270
+ border-radius: 30px;
271
+ color: #0072ce;
272
+ cursor: pointer;
273
+ display: block;
274
+ float: right;
275
+ font-size: 20px;
276
+ height: 30px;
277
+ line-height: 1;
278
+ margin: 8px;
279
+ padding-bottom: 5px;
280
+ position: relative;
281
+ width: 30px;
282
+ -webkit-appearance: none;
283
+ -moz-appearance: none;
284
+ -o-appearance: none;
285
+ appearance: none;
286
+ -webkit-transition: -webkit-transform .2s;
287
+ -moz-transition: -moz-transform .2s;
288
+ -o-transition: -o-transform .2s;
289
+ transition: transform .2s;
290
+ }
291
+
292
+ .expand-subnav:hover,
293
+ .expand-subnav:focus {
294
+ background-color: #0072ce;
295
+ color: #fff;
296
+ outline: none;
297
+ }
298
+
299
+ .expand-subnav[aria-expanded=true] {
300
+ -webkit-transform: rotate(45deg);
301
+ -moz-transform: rotate(45deg);
302
+ -o-transform: rotate(45deg);
303
+ transform: rotate(45deg);
304
+ }
305
+
306
+ /*
307
+ Layout
308
+ ==================================
309
+ */
310
+
311
+ .logo {
312
+ display: block;
313
+ }
314
+
315
+ .content {
316
+ padding-top: 2em;
317
+ padding-bottom: 2em;
318
+ }
319
+
320
+ /* offset the fixed position header for jump links */
321
+ section:before {
322
+ display: block;
323
+ content: "";
324
+ height: 60px;
325
+ margin: -60px 0 0;
326
+ }
327
+
328
+ .wrap {
329
+ max-width: 1200px;
330
+ margin: 0 auto;
331
+ padding-left: 20px;
332
+ padding-right: 20px;
333
+ }
334
+
335
+ header {
336
+ border-bottom: 4px solid #7401DF;
337
+ background-color: #fff;
338
+ padding: 2em 0;
339
+ }
340
+
341
+ header div.wrap{
342
+ position: relative;
343
+ padding-top: 2.4em;
344
+ }
345
+
346
+ header div.wrap::after{
347
+ content: "";
348
+ display: table;
349
+ clear: both;
350
+ }
351
+
352
+ header h1.site-title{
353
+ margin-bottom: 0.4em;
354
+ }
355
+
356
+ header div.wrap div.back-link{
357
+ position: absolute;
358
+ left: 20px;
359
+ top: -1em;
360
+ font-size: 14px;
361
+ color: #555;
362
+ }
363
+
364
+ header div.wrap div.back-link a{
365
+ color: inherit;
366
+ text-decoration: underline;
367
+ }
368
+
369
+ header div.wrap div.back-link a:hover{ text-decoration: none; }
370
+
371
+ @media screen and (min-width: 45em){
372
+ header h1.site-title{
373
+ float: left;
374
+ width: 67%;
375
+ text-overflow: ellipsis;
376
+ overflow: hidden;
377
+ white-space: nowrap;
378
+ }
379
+ }
380
+
381
+ .main-content img {
382
+ max-width: 100%;
383
+ }
384
+
385
+ /*
386
+ Footer
387
+ ==================================
388
+ */
389
+
390
+ /* for sticky footer */
391
+ .container {
392
+ display: table;
393
+ height: 100%;
394
+ width: 100%;
395
+ }
396
+
397
+ footer {
398
+ display: table-row; /* for sticky footer */
399
+ height: 1px; /* for sticky footer */
400
+ border-top: 2px solid #babbbd;
401
+ background: #f1f2f2;
402
+ width: 100%;
403
+ font-size: 0.875em;
404
+ }
405
+
406
+ footer .wrap {
407
+ padding-top: 2em;
408
+ padding-bottom: 2em;
409
+ }
410
+
411
+
412
+ /*
413
+ Helpers
414
+ ==================================
415
+ */
416
+
417
+ /* Hide from both screenreaders and browsers: h5bp.com/u */
418
+ .hidden {
419
+ display: none !important;
420
+ visibility: hidden;
421
+ }
422
+
423
+ /* Hide only visually, but have it available for screenreaders: h5bp.com/v */
424
+ .visuallyhidden {
425
+ border: 0;
426
+ clip: rect(0 0 0 0);
427
+ height: 1px;
428
+ margin: -1px;
429
+ overflow: hidden;
430
+ padding: 0;
431
+ position: absolute;
432
+ width: 1px;
433
+ }
434
+
435
+ /* Extends the .visuallyhidden class to allow the element to be focusable
436
+ * when navigated to via the keyboard: h5bp.com/p */
437
+ .visuallyhidden.focusable:active,
438
+ .visuallyhidden.focusable:focus {
439
+ clip: auto;
440
+ height: auto;
441
+ margin: 0;
442
+ overflow: visible;
443
+ position: static;
444
+ width: auto;
445
+ }
446
+
447
+ /* Hide visually and from screenreaders, but maintain layout */
448
+ .invisible {
449
+ visibility: hidden;
450
+ }
451
+
452
+
453
+ /*
454
+ Style
455
+ ==================================
456
+ */
457
+
458
+ .intro {
459
+ color: #75787B;
460
+ }
461
+
462
+ li h4 {
463
+ margin: 0;
464
+ }
465
+
466
+ .license {
467
+ font-family: "Avenir Next Demi", Arial, sans-serif;
468
+ font-weight: normal;
469
+ font-style: normal;
470
+ }
471
+
472
+ pre {
473
+ max-width: 100%;
474
+ font-size: 0.875em;
475
+ overflow-y: scroll;
476
+ background-color: #f1f2f2;
477
+ padding: 10px;
478
+ }
479
+
480
+ /*
481
+ Post list
482
+ ----------------------------------
483
+ */
484
+
485
+ ul.posts {
486
+ padding: 0;
487
+ }
488
+
489
+ .posts li {
490
+ list-style: none;
491
+ }
492
+
493
+ .post-date {
494
+ color: #75787B;
495
+ }
496
+
497
+ /*
498
+ Repo list
499
+ ----------------------------------
500
+ */
501
+
502
+ ul.repo-list {
503
+ margin: .5em 0 1em 0;
504
+ padding: 0;
505
+ }
506
+
507
+ .repo-list li {
508
+ list-style: none;
509
+ }
510
+
511
+ .repo-list p {
512
+ margin: 0;
513
+ font-size: 0.875em;
514
+ }
515
+
516
+ .repo-list h4 {
517
+ text-transform: none;
518
+ }
519
+
520
+ /*
521
+ Helper Classes
522
+ ==================================
523
+ */
524
+
525
+ /*
526
+ Clearfix list
527
+ ----------------------------------
528
+ */
529
+
530
+ .group:before,
531
+ .group:after {
532
+ content: " ";
533
+ display: table;
534
+ }
535
+
536
+ .group:after {
537
+ clear: both;
538
+ }
539
+
540
+ .group {
541
+ *zoom: 1;
542
+ }
543
+
544
+ /*
545
+ Desktop Styles
546
+ ==================================
547
+ */
548
+
549
+ @media screen and (min-width: 45em) {
550
+
551
+ /*
552
+ Typography
553
+ ==============================
554
+ */
555
+
556
+ /*
557
+ Layout
558
+ ==============================
559
+ */
560
+
561
+ .logo {
562
+ max-width: 30%;
563
+ padding-right: 20px;
564
+ margin-top: -12px;
565
+ float: right;
566
+ }
567
+
568
+ aside {
569
+ width: 30%;
570
+ float: left;
571
+ }
572
+
573
+ .main-content {
574
+ width: 67%;
575
+ float: right;
576
+ margin-bottom: 120px;
577
+ }
578
+
579
+ .main-content img {
580
+ max-width: 100%;
581
+ }
582
+
583
+ /*
584
+ Navigation
585
+ ==============================
586
+ */
587
+
588
+ .anchorjs-link {
589
+ border: none;
590
+ }
591
+
592
+ /*
593
+ Style
594
+ ==============================
595
+ */
596
+
597
+ /*
598
+ Repo list
599
+ ------------------------------
600
+ */
601
+
602
+ .repo-list li {
603
+ list-style: none;
604
+ display: block;
605
+ float: left;
606
+ height: 4.0625em;
607
+ max-height: 4.0625em;
608
+ background-color: #E7E7E6;
609
+ border-left: 1px solid #BABBBD;
610
+ width: 30%;
611
+ }
612
+
613
+ .repo-list a:link,
614
+ .repo-list a:visited {
615
+ display: block;
616
+ max-height: 4.0625em;
617
+ background-color: #E7E7E6;
618
+ border-bottom: none;
619
+ padding: .625em 1em 1em 1em;
620
+ }
621
+
622
+ .repo-list a:hover {
623
+ color: #4D5F87;
624
+ background-color: #CDE3F1;
625
+ }
626
+
627
+ .repo-list li:first-child {
628
+ text-align: center;
629
+ border-left: none;
630
+ line-height: 60px;
631
+ padding: .625em 1em;
632
+ width: 10%;
633
+ }
634
+
635
+ }
636
+
637
+ @media screen and (max-width: 54.375em) {
638
+
639
+ /* keep the repo list containers the same height, but account for the need for more height */
640
+
641
+ .repo-list li {
642
+ height: 6em;
643
+ max-height: 6em;
644
+ }
645
+
646
+ .repo-list a:link,
647
+ .repo-list a:visited {
648
+ max-height: 6em;
649
+ }
650
+ }
651
+
652
+ /*
653
+ Mobile Styles
654
+ ==================================
655
+ */
656
+
657
+ @media screen and (max-width: 40.5em) {
658
+
659
+ .main-content {
660
+ margin-top: 1.5em;
661
+ }
662
+
663
+ }