jekyll-theme-guides-mbland 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
[![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 }}">« {{ 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
|
+
}
|