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