jekyll-theme-guides-mbland 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/LICENSE.md +13 -0
- data/README.md +160 -0
- data/_includes/analytics.html +16 -0
- data/_includes/breadcrumbs.html +6 -0
- data/_includes/footer.html +5 -0
- data/_includes/header.html +28 -0
- data/_includes/scripts.html +6 -0
- data/_includes/sidebar-children.html +17 -0
- data/_includes/sidebar.html +14 -0
- data/_layouts/default.html +43 -0
- data/_layouts/generated/home-redirect.html +6 -0
- data/_layouts/search-results.html +4 -0
- data/_sass/_jekyll-theme-guides-mbland-custom.scss +50 -0
- data/_sass/_jekyll-theme-guides-mbland-main.scss +663 -0
- data/_sass/_jekyll-theme-guides-mbland-syntax.scss +60 -0
- data/_sass/jekyll-theme-guides-mbland.scss +3 -0
- data/assets/css/google-fonts.css +58 -0
- data/assets/favicons/favicon.ico +0 -0
- data/assets/favicons/favicon16.png +0 -0
- data/assets/favicons/favicon32.png +0 -0
- data/assets/favicons/touch-icon-120.png +0 -0
- data/assets/favicons/touch-icon-152.png +0 -0
- data/assets/favicons/touch-icon-76.png +0 -0
- data/assets/fonts/opensans-1395a31469a458f6e2069017b504be065ff44897.ttf +0 -0
- data/assets/fonts/opensans-3e193feab52524db86cd1508693f2e5086102669.ttf +0 -0
- data/assets/fonts/opensans-d4d19ed3a763ce10e050662542bc0318bb620096.svg +1637 -0
- data/assets/fonts/opensans-dd44beeac9a044f2c478b70838e447f0af077825.ttf +0 -0
- data/assets/fonts/opensans-f0cc9c782f41b44a31392230103f5b4e101a944a.eot +0 -0
- data/assets/fonts/raleway-0dd0372e5ca423ab45f41c74cb0f8859d0527517.eot +0 -0
- data/assets/fonts/raleway-468d063b5293c0f76e63103d04cf547e7837cdd2.ttf +0 -0
- data/assets/fonts/raleway-6c44b90a1e166ce0b659df20e8e374b5e9d97329.svg +347 -0
- data/assets/fonts/raleway-c34d475f415db5bc71140225a0284159bd3d85f2.ttf +0 -0
- data/assets/js/accordion.js +47 -0
- data/assets/js/guide.js +5 -0
- data/assets/js/vendor/anchor.min.js +6 -0
- data/assets/js/vendor/jquery-1.11.2.min.js +4 -0
- metadata +207 -0
checksums.yaml
ADDED
@@ -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
|
data/LICENSE.md
ADDED
@@ -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.
|
data/README.md
ADDED
@@ -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
|
+
[](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 }}">« {{ 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,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
|
+
}
|