uswds-jekyll 4.1.0 → 4.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +82 -48
  3. data/_includes/components/banner.html +3 -3
  4. data/_includes/components/footer--big.html +114 -0
  5. data/_includes/components/footer--medium.html +2 -2
  6. data/_includes/components/footer--slim.html +89 -0
  7. data/_includes/components/header.html +150 -0
  8. data/_includes/footer.html +7 -1
  9. data/_includes/header.html +1 -5
  10. data/_includes/meta.html +6 -0
  11. data/_includes/sidenav.html +23 -21
  12. data/_layouts/default.html +29 -1
  13. data/_layouts/home.html +0 -27
  14. data/_layouts/page.html +8 -9
  15. data/_layouts/project.html +1 -1
  16. data/_layouts/team-member.html +1 -1
  17. data/_sass/components/_side-nav.scss +5 -0
  18. data/_sass/uswds/components/_alerts.scss +4 -1
  19. data/_sass/uswds/components/_banner.scss +3 -4
  20. data/_sass/uswds/components/_footer.scss +6 -2
  21. data/_sass/uswds/components/_forms.scss +18 -38
  22. data/_sass/uswds/components/_header.scss +16 -6
  23. data/_sass/uswds/components/_navigation.scss +19 -7
  24. data/_sass/uswds/components/_search.scss +1 -1
  25. data/_sass/uswds/components/_sidenav.scss +23 -0
  26. data/_sass/uswds/core/_base.scss +1 -0
  27. data/_sass/uswds/core/_grid.scss +1 -2
  28. data/_sass/uswds/core/_utilities.scss +3 -3
  29. data/_sass/uswds/core/_variables-vendor.scss +12 -0
  30. data/_sass/uswds/core/_variables.scss +21 -17
  31. data/_sass/uswds/elements/_inputs.scss +122 -68
  32. data/_sass/uswds/elements/_list.scss +0 -13
  33. data/_sass/uswds/elements/_typography.scss +4 -26
  34. data/_sass/uswds/uswds.scss +1 -0
  35. data/assets/uswds/img/angle-arrow-down-hover.png +0 -0
  36. data/assets/uswds/img/angle-arrow-down-primary-hover.png +0 -0
  37. data/assets/uswds/img/angle-arrow-down-primary.png +0 -0
  38. data/assets/uswds/img/angle-arrow-down.png +0 -0
  39. data/assets/uswds/img/angle-arrow-up-primary-hover.png +0 -0
  40. data/assets/uswds/img/angle-arrow-up-primary.png +0 -0
  41. data/assets/uswds/img/arrow-both.png +0 -0
  42. data/assets/uswds/img/circle-124.png +0 -0
  43. data/assets/uswds/img/close-primary.png +0 -0
  44. data/assets/uswds/img/close.png +0 -0
  45. data/assets/uswds/img/correct8-alt.png +0 -0
  46. data/assets/uswds/img/correct8-alt.svg +1 -0
  47. data/assets/uswds/img/external-link-alt-hover.png +0 -0
  48. data/assets/uswds/img/external-link-alt.png +0 -0
  49. data/assets/uswds/img/external-link-hover.png +0 -0
  50. data/assets/uswds/img/external-link.png +0 -0
  51. data/assets/uswds/img/favicons/favicon-114.png +0 -0
  52. data/assets/uswds/img/favicons/favicon-40.png +0 -0
  53. data/assets/uswds/img/favicons/favicon-57.png +0 -0
  54. data/assets/uswds/img/favicons/favicon-72.png +0 -0
  55. data/assets/uswds/img/hero.png +0 -0
  56. data/assets/uswds/img/minus-alt.png +0 -0
  57. data/assets/uswds/img/plus-alt.png +0 -0
  58. data/assets/uswds/img/search-alt.png +0 -0
  59. data/assets/uswds/img/search-primary.png +0 -0
  60. data/assets/uswds/img/social-icons/png/facebook25.png +0 -0
  61. data/assets/uswds/img/social-icons/png/rss25.png +0 -0
  62. data/assets/uswds/img/social-icons/png/twitter16.png +0 -0
  63. data/assets/uswds/img/social-icons/png/youtube15.png +0 -0
  64. data/assets/uswds/js/uswds.js +532 -181
  65. data/assets/uswds/js/uswds.min.js +1 -1
  66. data/assets/uswds/js/uswds.min.js.map +1 -1
  67. metadata +9 -5
  68. data/_includes/components/header--basic.html +0 -74
  69. data/_includes/components/header--extended.html +0 -92
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 285f8c20da27c19919ac01305cac7d1845fd85a8
4
- data.tar.gz: df74eaf77ecf8d47c66152851fbf9968775d306d
2
+ SHA256:
3
+ metadata.gz: d66abed686bf7cab270424ed9e27df903f6fd3a8b6e5992a8af32572365c0a07
4
+ data.tar.gz: 3ed7ff3610291b1b97e9d58f2bafdf520f29be82e69fb4952943804e396ec13b
5
5
  SHA512:
6
- metadata.gz: 8fcc1da3e3d11cc0b7a7c9a42e4540750c364afba86db8251d9a2a48bc9f4aa71ed26e06c61260a2a2e4343dcf11fd52eff2fee773e1e48527e2d5531ea2b671
7
- data.tar.gz: 6ec627845720232a60ad4b1c38f6a7d4e3ddfc13010c85c1a9515a4696181c43e84006cfca8a7a76aeed98560a77ded5d19f96a70003d099a95fca0525e89232
6
+ metadata.gz: 07edf05992481180980340d152539871b98a877065455f3efa92b5498971f9b5ec52f1d00e461ad0870c5bc933b9edf85762f6833760a89bda6e2a7f4c0e7504
7
+ data.tar.gz: 160780e8ac43fec6e728b7f53e492e452276a15ecec4fd9ba711d175e22a4c349079a454322bec929a8eae506c45e295f124467d0efe3bc05d3808f89387311c
data/README.md CHANGED
@@ -9,8 +9,12 @@ This is a [Jekyll theme](https://jekyllrb.com/docs/themes/) for the
9
9
  - [Versioning](#versioning)
10
10
  1. [Configuration](#configuration)
11
11
  - [Site title](#site-title)
12
+ - [Site description](#site-description)
12
13
  - [Navigation](#navigation)
13
14
  - [Page subnavigation](#page-subnavigation)
15
+ - [Hero](#hero)
16
+ - [Tagline intro](#tagline-intro)
17
+ - [Graphics list](#graphics-list)
14
18
  - [Color and font configuration](#color-and-font-configuration)
15
19
  - [Search](#search)
16
20
  - [Analytics](#analytics)
@@ -142,6 +146,10 @@ You can change your site's title with the `title` field in your
142
146
  _only_ in the site header, you can set the `title` field in
143
147
  `_data/header.yml`.
144
148
 
149
+ ### Site description
150
+
151
+ You can change your site's description with the `description` field in your
152
+ `_config.yml`. If you want to override it for a particular page, you can set the `description` field in that page's frontmatter.
145
153
 
146
154
  ### Navigation
147
155
 
@@ -174,6 +182,15 @@ shared by different components, such as the [header](#header) and
174
182
  [footer](#footer). See the documentation for those components for
175
183
  more info.
176
184
 
185
+ ### Page title
186
+
187
+ Set each page's title in its frontmatter:
188
+
189
+ ```md
190
+ ---
191
+ title: About us
192
+ ---
193
+ ```
177
194
 
178
195
  ### Page subnavigation
179
196
 
@@ -202,6 +219,19 @@ The `subnav` field should be used to link to sections _within_ the current
202
219
  page, because links to other pages will cause the linking page's side
203
220
  navigation to collapse when visited.
204
221
 
222
+
223
+ `sidenav` is a key _into_ `_data/navigation.yml`. See the [navigation](#navigation) docs for more info.
224
+
225
+ A page's "current" or "active" state in the sidenav is
226
+ determined by whether a link's `href` matches `page.url` or
227
+ `page.permalink` for each page being rendered.
228
+
229
+ `subnav` is a list of links to display on this page under its own link in the side navigation.
230
+
231
+ **Note that subnav link hrefs are not prefixed with
232
+ `site.baseurl`** because this breaks hash links prefixed with
233
+ `#`.
234
+
205
235
  **Pro tip:** Unless your Jekyll configuration specifies otherwise, the default
206
236
  Markdown formatter (Kramdown) will automatically generate predictable `id`
207
237
  attributes for your page headings and convert markdown like this:
@@ -226,10 +256,53 @@ redcarpet:
226
256
  - with_toc_data
227
257
  ```
228
258
 
259
+ **Pro tip:** If you're like us and prefer your navigation sticky, you can add `sticky_sidenav: true` on [page](#layout-page), [project](#layout-project), and [team member](#layout-team-member) layouts to have the sidenav follow as you scroll.
260
+
261
+ ### Hero
262
+
263
+ ```yml
264
+ hero: # optional
265
+ image: /path/to/image.jpg # optional
266
+ callout:
267
+ alt: Callout white text! # optional
268
+ text: The rest of the callout
269
+ button: # optional
270
+ text: The button text
271
+ href: /button-href/
272
+ ```
273
+
274
+ ### Tagline intro
275
+
276
+ ```yml
277
+ # optional, but must be used in conjunction with 'intro', below
278
+ tagline: A tagline for your page
279
+ # also optional, but must be used with 'tagline', above
280
+ intro: |
281
+ Some introductory text content.
282
+
283
+ This will be processed as **Markdown**.
284
+ ```
285
+
286
+ ### Graphics list
287
+ ```yml
288
+ # an optional list of graphics to display before or after the content
289
+ graphics:
290
+ - image:
291
+ # note the indentation here: graphics[n].image.src
292
+ src: /path/to/image.ext
293
+ alt: optional alt text
294
+ title: Optional graphic title, rendered as an <h3>
295
+ description: Graphic description text, processed as _Markdown_.
296
+
297
+ # optional
298
+ graphics_position: (before|after)
299
+ ```
300
+
229
301
  ### Color and font configuration
230
302
 
231
303
  The default colors and fonts can be configured in the `_data/theme.yml` file.
232
304
 
305
+
233
306
  ### Search
234
307
 
235
308
  [Search.gov](https://search.gov/) is used for search and can be configured in `_config.yml`.
@@ -457,7 +530,7 @@ header data to come directly from the Jekyll configuration file
457
530
  `_includes/header.html` to look like this:
458
531
 
459
532
  ```html
460
- {% assign header = site.header %}
533
+ {% assign header = site.data.header %}
461
534
  {% include components/header--basic.html %}
462
535
  ```
463
536
 
@@ -489,11 +562,17 @@ See this repo's [footer.yml](_data/footer.yml) for more info.
489
562
  This theme provides the following layouts, which you can use by
490
563
  setting the `layout` [front matter] on each page, like so:
491
564
 
492
- ```yaml
565
+ ```yml
493
566
  ---
494
567
  layout: name
495
568
  ---
496
569
  ```
570
+ Supported (optional) front matter for page layouts.
571
+
572
+ - [page navigation](#page-subnavigation)
573
+ - [hero](#hero)
574
+ - [tagline intro](#tagline-intro)
575
+ - [graphics list](#graphics-list)
497
576
 
498
577
  ### `layout: default`
499
578
 
@@ -512,36 +591,6 @@ This layout implements the [home page
512
591
  template](https://designsystem.digital.gov/page-templates/landing/), which
513
592
  accommodates the following [front matter]:
514
593
 
515
- ```yml
516
- hero: # optional
517
- image: /path/to/image.jpg # optional
518
- callout:
519
- alt: Callout white text! # optional
520
- text: The rest of the callout
521
- button: # optional
522
- text: The button text
523
- href: /button-href/
524
-
525
- # optional, but must be used in conjunction with 'intro', below
526
- tagline: A tagline for your page
527
- # also optional, but must be used with 'tagline', above
528
- intro: |
529
- Some introductory text content.
530
-
531
- This will be processed as **Markdown**.
532
-
533
- # an optional list of graphics to display before or after the content
534
- graphics:
535
- - image:
536
- # note the indentation here: graphics[n].image.src
537
- src: /path/to/image.ext
538
- alt: optional alt text
539
- title: Optional graphic title, rendered as an <h3>
540
- description: Graphic description text, processed as _Markdown_.
541
-
542
- # optional
543
- graphics_position: (before|after)
544
- ```
545
594
 
546
595
  Check out the YAML front matter in the [home demo
547
596
  page](demo/home.html) for an example of how to structure it.
@@ -549,22 +598,7 @@ page](demo/home.html) for an example of how to structure it.
549
598
  ### `layout: page`
550
599
 
551
600
  This layout implements the [document page
552
- template](https://designsystem.digital.gov/page-templates/docs/), and
553
- accommodates an optional side navigation. Supported [front matter]:
554
-
555
- * `sidenav` is a key _into_ `_data/navigation.yml`. See the
556
- [navigation](#navigation) docs for more info.
557
-
558
- A page's "current" or "active" state in the sidenav is
559
- determined by whether a link's `href` matches `page.url` or
560
- `page.permalink` for each page being rendered.
561
-
562
- * `subnav` is a list of links to display on this page under its own
563
- link in the side navigation.
564
-
565
- **Note that subnav link hrefs are not prefixed with
566
- `site.baseurl`** because this breaks hash links prefixed with
567
- `#`.
601
+ template](https://designsystem.digital.gov/page-templates/docs/).
568
602
 
569
603
  See the [page demo page](demo/page.md) for an example of how this
570
604
  works, and see [_data/navigation.yml](_data/navigation.yml) for how
@@ -1,4 +1,4 @@
1
- <div class="usa-banner">
1
+ <section class="usa-banner">
2
2
  <div class="usa-accordion">
3
3
  <header class="usa-banner-header">
4
4
  <div class="usa-grid usa-banner-inner"> <img src="{{ site.baseurl }}/assets/uswds/img/favicons/favicon-57.png" alt="U.S. flag">
@@ -7,7 +7,7 @@
7
7
  <div class="usa-banner-content usa-grid usa-accordion-content" id="gov-banner">
8
8
  <div class="usa-banner-guidance-gov usa-width-one-half"> <img class="usa-banner-icon usa-media_block-img" src="{{ site.baseurl }}/assets/uswds/img/icon-dot-gov.svg" alt="Dot gov">
9
9
  <div class="usa-media_block-body">
10
- <p> <strong>The .gov means it’s official.</strong> <br> Federal government websites often end in .gov or .mil. Before sharing sensitive information, make sure you're on a federal government site. </p>
10
+ <p> <strong>The {{ header.government_tld | default: ".gov" }} means it’s official.</strong> <br> Federal government websites often end in .gov or .mil. Before sharing sensitive information, make sure youre on a federal government site. </p>
11
11
  </div>
12
12
  </div>
13
13
  <div class="usa-banner-guidance-ssl usa-width-one-half"> <img class="usa-banner-icon usa-media_block-img" src="{{ site.baseurl }}/assets/uswds/img/icon-https.svg" alt="Https">
@@ -17,4 +17,4 @@
17
17
  </div>
18
18
  </div>
19
19
  </div>
20
- </div>
20
+ </section>
@@ -0,0 +1,114 @@
1
+ {% if footer %}
2
+ <footer class="usa-footer usa-footer-big" role="contentinfo">
3
+
4
+ {% if footer.last_updated %}
5
+ <div class="usa-grid">
6
+ <div class="usa-width-one-whole">
7
+ <p>Last updated: {{ page.last_modified_at | date: '%B %d, %Y at %I:%M %p' }}</p>
8
+ </div>
9
+ </div>
10
+ {% endif %}
11
+
12
+ {% if footer.top %}
13
+ <div class="usa-grid usa-footer-return-to-top">
14
+ <a href="{{ footer.top.href | default: '#' }}">{{ footer.top.text | default: 'Return to top' }}</a>
15
+ </div>
16
+ {% endif %}
17
+
18
+
19
+
20
+ {% if footer.links %}
21
+ {% assign footer_links = site.data.navigation[footer.links] | default: footer.links %}
22
+ {% assign _sizes = 'whole half third fourth sixth' | split: ' ' %}
23
+ {% assign _size = footer_links.size | minus: 1 %}
24
+ {% assign _size = _sizes[_size] | default: 'whole' %}
25
+ <div class="usa-footer-primary-section">
26
+ <div class="usa-grid">
27
+ <nav class="usa-footer-nav{% if footer.big_footer_signup_form %} usa-width-two-thirds{% endif %}">
28
+ {% for _topic in footer_links %}
29
+ <ul class="usa-unstyled-list usa-width-one-{{ _size }} usa-footer-primary-content">
30
+ <li class="usa-footer-primary-link">
31
+ <h4>{{ _topic.text }}</h4>
32
+ {% for _link in _topic.links %}
33
+ <li class="usa-footer-secondary-link">
34
+ <a href="{% if _link.external == true %}{{ _link.href }}{% else %}{{ _link.href | relative_url }}{% endif %}">
35
+ {{ _link.text }}
36
+ </a>
37
+ </li>
38
+ {% endfor %}
39
+ </ul>
40
+ {% endfor %}
41
+ </nav>
42
+ {% if footer.big_footer_signup_form %}
43
+ <div class="usa-sign_up-block usa-width-one-third">
44
+ <h3 class="usa-sign_up-header">Sign up</h3>
45
+
46
+ <label class="" for="email" id="">Your email address</label>
47
+ <input id="email" name="email" type="email">
48
+
49
+ <button type="submit">Sign up</button>
50
+ </div>
51
+ {% endif %}
52
+ </div>
53
+ </div>
54
+ {% endif %}
55
+
56
+ {% if footer.logos or footer.heading or footer.contact or footer.edit_page %}
57
+ <div class="usa-footer-secondary_section">
58
+ <div class="usa-grid">
59
+ <div class="usa-footer-logo usa-width-one-half">
60
+ {% if footer.logos %}
61
+ {% for logo in footer.logos -%}
62
+ {% if logo.url %}
63
+ <a href="{{ logo.url }}">
64
+ {% endif %}
65
+ <img class="usa-footer-big-logo-img" src="{% if logo.external %}{{ logo.src }}{% else %}{{ logo.src | relative_url }}{% endif %}" alt="{{ logo.alt }}"{% if logo.width %}width="{{ logo.width }}"{% endif %}{% if logo.height %}height="{{ logo.height }}"{% endif %}>
66
+ {% if logo.url %}
67
+ </a>
68
+ {% endif %}
69
+ {% endfor %}
70
+ {% endif %}
71
+
72
+ {% if footer.heading %}
73
+ <h3 class="usa-footer-big-logo-heading">{{ footer.heading }}</h3>
74
+ {% endif %}
75
+ </div>
76
+
77
+ {% if footer.contact %}
78
+ <div class="usa-footer-contact-links usa-width-one-half">
79
+ {% assign social_links = site.data.footer.contact.social_links %}
80
+ {% if footer.contact.contact_links %}
81
+ {% for _link in social_links %}
82
+ <a class="usa-link-{{ _link.type | default: 'generic' }}" href="{% if _link.external == true %}{{ _link.href }}{% else %}{{ _link.href | relative_url }}{% endif %}">
83
+ <span>{{ _link.text }}</span>
84
+ </a>
85
+ {% endfor %}
86
+ {% endif %}
87
+ {% if footer.contact.heading %}
88
+ <h3 class="usa-footer-contact-heading">{{ footer.contact.heading }}</h3>
89
+ {% endif %}
90
+ {% if footer.contact.contact_links %}
91
+ <address>
92
+ {% assign contact_links = site.data.footer.contact.contact_links %}
93
+ {% for _link in contact_links %}
94
+ <div class="usa-footer-primary-content usa-footer-contact_info">
95
+ <p>
96
+ <a href="{% if _link.external == true %}{{ _link.href }}{% else %}{{ _link.href | relative_url }}{% endif %}">
97
+ {{ _link.text }}
98
+ </a>
99
+ </p>
100
+ </div>
101
+ {% endfor %}
102
+ </address>
103
+ {% endif %}
104
+ {% endif %}
105
+ {% if footer.edit_page %}
106
+ <small><a href="https://github.com/{{ site.github.organization }}/{{ site.github.repository }}/edit/{{ site.github.default_branch }}/{{ page.path }}" class="usa-sidenav-edit" target="_blank">{{ footer.edit_page.text | default: 'Edit this page' }}</a></small>
107
+ {% endif %}
108
+ </div>
109
+ </div>
110
+ </div>
111
+ {% endif %}
112
+
113
+ </footer>
114
+ {% endif %}
@@ -8,7 +8,7 @@
8
8
  </div>
9
9
  </div>
10
10
  {% endif %}
11
-
11
+
12
12
  {% if footer.top %}
13
13
  <div class="usa-grid usa-footer-return-to-top">
14
14
  <a href="{{ footer.top.href | default: '#' }}">{{ footer.top.text | default: 'Return to top' }}</a>
@@ -39,7 +39,7 @@
39
39
  </div>
40
40
  {% endif %}
41
41
 
42
- {% if footer.logos or footer.heading or footer.contact %}
42
+ {% if footer.logos or footer.heading or footer.contact or footer.edit_page %}
43
43
  <div class="usa-footer-secondary_section">
44
44
  <div class="usa-grid">
45
45
  <div class="usa-footer-logo usa-width-one-half">
@@ -0,0 +1,89 @@
1
+ {% if footer %}
2
+ <footer class="usa-footer usa-footer-slim" role="contentinfo">
3
+
4
+ {% if footer.last_updated %}
5
+ <div class="usa-grid">
6
+ <div class="usa-width-one-whole">
7
+ <p>Last updated: {{ page.last_modified_at | date: '%B %d, %Y at %I:%M %p' }}</p>
8
+ </div>
9
+ </div>
10
+ {% endif %}
11
+
12
+ {% if footer.top %}
13
+ <div class="usa-grid usa-footer-return-to-top">
14
+ <a href="{{ footer.top.href | default: '#' }}">{{ footer.top.text | default: 'Return to top' }}</a>
15
+ </div>
16
+ {% endif %}
17
+
18
+
19
+
20
+ {% if footer.links %}
21
+ {% assign footer_links = site.data.navigation[footer.links] | default: footer.links %}
22
+ {% assign _sizes = 'whole half third fourth sixth' | split: ' ' %}
23
+ {% assign _size = footer_links.size | minus: 1 %}
24
+ {% assign _size = _sizes[_size] | default: 'whole' %}
25
+ <div class="usa-footer-primary-section">
26
+ <div class="usa-grid">
27
+ <nav class="usa-footer-nav{% if footer.contact.contact_links %} usa-width-two-thirds{% endif %}">
28
+ <ul class="usa-unstyled-list">
29
+ {% for _link in footer_links %}
30
+ <li class="usa-width-one-{{ _size }} usa-footer-primary-content">
31
+ <a class="usa-footer-primary-link" href="{% if _link.external == true %}{{ _link.href }}{% else %}{{ _link.href | relative_url }}{% endif %}">
32
+ {{ _link.text }}
33
+ </a>
34
+ </li>
35
+ {% endfor %}
36
+ </ul>
37
+ </nav>
38
+ {% if footer.contact.contact_links %}
39
+ <address>
40
+ <div class="usa-width-one-third">
41
+ {% assign contact_links = site.data.footer.contact.contact_links %}
42
+ {% for _link in contact_links %}
43
+ <div class="usa-footer-primary-content usa-footer-contact_info">
44
+ <p>
45
+ <a href="{% if _link.external == true %}{{ _link.href }}{% else %}{{ _link.href | relative_url }}{% endif %}">
46
+ {{ _link.text }}
47
+ </a>
48
+ </p>
49
+ </div>
50
+ {% endfor %}
51
+ </div>
52
+ </address>
53
+ {% endif %}
54
+ </div>
55
+ </div>
56
+ {% endif %}
57
+
58
+ {% if footer.logos or footer.edit_page %}
59
+ <div class="usa-footer-secondary_section">
60
+ <div class="usa-grid">
61
+ <div class="usa-footer-logo usa-width-one-half">
62
+ {% if footer.logos %}
63
+ {% for logo in footer.logos -%}
64
+ {% if logo.url %}
65
+ <a href="{{ logo.url }}">
66
+ {% endif %}
67
+ <img class="usa-footer-slim-logo-img" src="{% if logo.external %}{{ logo.src }}{% else %}{{ logo.src | relative_url }}{% endif %}" alt="{{ logo.alt }}"{% if logo.width %}width="{{ logo.width }}"{% endif %}{% if logo.height %}height="{{ logo.height }}"{% endif %}>
68
+ {% if logo.url %}
69
+ </a>
70
+ {% endif %}
71
+ {% endfor %}
72
+ {% endif %}
73
+
74
+ {% if footer.heading %}
75
+ <h3 class="usa-footer-slim-logo-heading">{{ footer.heading }}</h3>
76
+ {% endif %}
77
+ </div>
78
+
79
+ {% if footer.edit_page %}
80
+ <div class="usa-footer-contact-links usa-width-one-half align-right">
81
+ <small><a href="https://github.com/{{ site.github.organization }}/{{ site.github.repository }}/edit/{{ site.github.default_branch }}/{{ page.path }}" class="usa-sidenav-edit" target="_blank">{{ footer.edit_page.text | default: 'Edit this page' }}</a></small>
82
+ </div>
83
+ {% endif %}
84
+ </div>
85
+ </div>
86
+ {% endif %}
87
+
88
+ </footer>
89
+ {% endif %}