uswds-jekyll 4.1.0 → 4.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.
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 %}