Skip to content

Commit f393519

Browse files
Add dismissible announcement and Rustkyll footer link
1 parent 8880e57 commit f393519

6 files changed

Lines changed: 100 additions & 437 deletions

File tree

_includes/footer.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
<div>
66
DataTalks.Club.
77
Hosted on <a href="{{ site.github.repository_url }}" target="_blank">GitHub Pages</a>.
8+
Built with <a href="https://github.com/alexeygrigorev/rustkyll" target="_blank">Rustkyll</a>.
89
We use cookies.
910
</div>
1011
</div>

_includes/header.html

Lines changed: 48 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,22 @@
55
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
66
<!-- End Google Tag Manager (noscript) -->
77

8-
<div class="fixed-top announcement">
8+
{% assign announcement_key = site.data.header.announcement.text | append: site.data.header.announcement.link | slugify %}
9+
<div class="fixed-top announcement" id="site-announcement" data-announcement-key="{{ announcement_key }}">
910
<div class="container">
10-
<div class="row text-center">
11-
<div class="col">
12-
<nobr>{{ site.data.header.announcement.text }}</nobr>
13-
<nobr>
14-
<a href="{{ site.data.header.announcement.link }}" target="_blank">
15-
{{ site.data.header.announcement.link_text }}
16-
</a>
17-
</nobr>
11+
<div class="announcement-content">
12+
<div class="announcement-message">
13+
<span>{{ site.data.header.announcement.text }}</span>
14+
<a href="{{ site.data.header.announcement.link }}" target="_blank">
15+
{{ site.data.header.announcement.link_text }}
16+
</a>
1817
</div>
18+
<button class="announcement-dismiss" type="button" aria-label="Dismiss announcement">X</button>
1919
</div>
2020
</div>
21-
</div>
21+
</div>
2222

23-
<div class="header-container-margin container">
23+
<div class="header-container-margin container" id="site-header-container">
2424
{% else %}
2525
<div class="container">
2626
{% endif %}
@@ -39,4 +39,40 @@ <h2>DataTalks.Club</h2>
3939
{% endfor %}
4040
</div>
4141
</div>
42-
</div>
42+
</div>
43+
44+
{% if site.data.header.announcement %}
45+
<script>
46+
(function () {
47+
var announcement = document.getElementById('site-announcement');
48+
var header = document.getElementById('site-header-container');
49+
if (!announcement || !header) {
50+
return;
51+
}
52+
53+
var storageKey = 'dtc-announcement-dismissed-' + announcement.dataset.announcementKey;
54+
55+
function dismissAnnouncement() {
56+
announcement.classList.add('announcement-hidden');
57+
header.classList.remove('header-container-margin');
58+
try {
59+
window.localStorage.setItem(storageKey, 'true');
60+
} catch (error) {
61+
}
62+
}
63+
64+
try {
65+
if (window.localStorage.getItem(storageKey) === 'true') {
66+
announcement.classList.add('announcement-hidden');
67+
header.classList.remove('header-container-margin');
68+
}
69+
} catch (error) {
70+
}
71+
72+
var dismissButton = announcement.querySelector('.announcement-dismiss');
73+
if (dismissButton) {
74+
dismissButton.addEventListener('click', dismissAnnouncement);
75+
}
76+
})();
77+
</script>
78+
{% endif %}

0 commit comments

Comments
 (0)