@@ -338,10 +338,6 @@ <h2 class="platforms-heading">Listen to or watch on your favorite platform</h2>
338338 < div > Spotify</ div >
339339 </ a >
340340 {% endif %}
341- < a href ="https://anchor.fm/datatalksclub " target ="_blank " rel ="noopener noreferrer " class ="chip-platform ">
342- < img src ="/images/podcast/badges/anchor-icon.jpg " alt ="Anchor icon " class ="chip-platform-icon "/>
343- < div > Anchor</ div >
344- </ a >
345341 </ div >
346342 </ header >
347343
@@ -368,7 +364,60 @@ <h2 id="shownotes-heading" class="sr-only">Show Notes</h2>
368364 < div class ="content-main mb-5 ">
369365 {{ content }}
370366 </ div >
367+ </ section >
371368
369+ < section class ="podcast-tab-content " id ="timestamps-tab " aria-labelledby ="timestamps-heading ">
370+ < h2 id ="timestamps-heading " class ="sr-only "> Timestamps</ h2 >
371+ {% if page.transcript %}
372+ < p class ="timestamps-prompt "> Click any timestamp to jump to that moment in the video</ p >
373+ < div class ="timestamps-list ">
374+ < ul >
375+ {% assign found_header = false %}
376+ {% assign header_text = "" %}
377+ {% for line in page.transcript %}
378+ {% if line.header %}
379+ {% assign found_header = true %}
380+ {% assign header_text = line.header %}
381+ {% elsif found_header and line.sec %}
382+ < li >
383+ < a href ="# " class ="timestamp-link " data-time ="{{ line.sec }} ">
384+ < span class ="timestamp-time "> {{ line.time }}</ span >
385+ < span class ="timestamp-text "> {{ header_text }}</ span >
386+ </ a >
387+ </ li >
388+ {% assign found_header = false %}
389+ {% endif %}
390+ {% endfor %}
391+ </ ul >
392+ </ div >
393+ {% else %}
394+ < p > Timestamps coming soon...</ p >
395+ {% endif %}
396+ </ section >
397+
398+ {% if page.transcript %}
399+ < section class ="podcast-tab-content " id ="transcript-tab " aria-labelledby ="transcript-heading ">
400+ < h2 id ="transcript-heading " class ="sr-only "> Transcript</ h2 >
401+ < div class ="content-main mb-5 ">
402+ < p class ="transcript-disclaimer ">
403+ The transcripts are edited for clarity, sometimes with AI.
404+ If you notice any incorrect information,
405+ < a href ="https://github.com/DataTalksClub/datatalksclub.github.io/issues/new/choose " target ="_blank "> let us know</ a > .
406+ </ p >
407+
408+ {% for line in page.transcript %}
409+ {% if line.header %}
410+ < h3 id ="{{ line.header | slugify }} " class ="transcript-header "> {{ line.header }}</ h3 >
411+ {% else %}
412+ < p class ="transcript-line "> < b > {{ line.who }}</ b > : {{ line.line }}{% if line.sec %} (< a href ="# " class ="transcript-timestamp-link " data-time ="{{ line.sec }} "> {{ line.time }}</ a > ){% endif %}</ p >
413+ {% endif %}
414+ {% endfor %}
415+ </ div >
416+ </ section >
417+ {% endif %}
418+
419+ <!-- Unified Footer - Appears on all tabs -->
420+ < div class ="podcast-unified-footer ">
372421 <!-- Guest Bio Cards -->
373422 {% if page.guests %}
374423 < section class ="guest-bio-section mb-4 " aria-labelledby ="guests-heading ">
@@ -430,38 +479,38 @@ <h3 class="guest-bio-name">{{ guest.title }}</h3>
430479 </ nav >
431480 {% endif %}
432481
433- <!-- Newsletter Section -->
434- < div class ="main-cta ">
435- < p class ="newsletter-main-text ">
436- Join 130,000+ data professionals and get weekly updates on new podcast episodes, upcoming events, free courses, and more.
437- </ p >
438- < p class ="newsletter-sub-text ">
439- You'll also receive an invite to our Slack community for discussions, networking, and peer support.
440- </ p >
482+ <!-- Newsletter Section -->
483+ < div class ="main-cta ">
484+ < p class ="newsletter-main-text ">
485+ Join 130,000+ data professionals and get weekly updates on new podcast episodes, upcoming events, free courses, and more.
486+ </ p >
487+ < p class ="newsletter-sub-text ">
488+ You'll also receive an invite to our Slack community for discussions, networking, and peer support.
489+ </ p >
441490
442- < form method ="post " id ="mc-embedded-subscribe-form " name ="mc-embedded-subscribe-form "
443- action ="https://club.us19.list-manage.com/subscribe/post?u=0d7822ab98152f5afc118c176&id=97178021aa "
444- class ="validate " target ="_blank " novalidate >
445- < div class ="form-row align-items-center justify-content-center ">
446- < div class ="col-auto ">
447- < label class ="sr-only " for ="mce-EMAIL "> Email</ label >
448- < input type ="email " value ="" name ="EMAIL " class ="form-control " id ="mce-EMAIL " placeholder ="Email address " required >
449- </ div >
450- <!-- real people should not fill this in and expect good things - do not remove this or risk form bot signups-->
451- < div style ="position: absolute; left: -5000px; " aria-hidden ="true ">
452- < input type ="text " name ="b_0d7822ab98152f5afc118c176_e52ea9dcd3 " tabindex ="-1 " value ="">
453- </ div >
454- < div class ="col-auto ">
455- < button type ="submit " name ="subscribe " class ="btn btn-success ">
456- < i class ="far fa-paper-plane "> </ i > Join
457- </ button >
491+ < form method ="post " id ="mc-embedded-subscribe-form " name ="mc-embedded-subscribe-form "
492+ action ="https://club.us19.list-manage.com/subscribe/post?u=0d7822ab98152f5afc118c176&id=97178021aa "
493+ class ="validate " target ="_blank " novalidate >
494+ < div class ="form-row align-items-center justify-content-center ">
495+ < div class ="col-auto ">
496+ < label class ="sr-only " for ="mce-EMAIL "> Email</ label >
497+ < input type ="email " value ="" name ="EMAIL " class ="form-control " id ="mce-EMAIL " placeholder ="Email address " required >
498+ </ div >
499+ <!-- real people should not fill this in and expect good things - do not remove this or risk form bot signups-->
500+ < div style ="position: absolute; left: -5000px; " aria-hidden ="true ">
501+ < input type ="text " name ="b_0d7822ab98152f5afc118c176_e52ea9dcd3 " tabindex ="-1 " value ="">
502+ </ div >
503+ < div class ="col-auto ">
504+ < button type ="submit " name ="subscribe " class ="btn btn-success ">
505+ < i class ="far fa-paper-plane "> </ i > Join
506+ </ button >
507+ </ div >
458508 </ div >
509+ </ form >
510+ < div class ="pt-2 small ">
511+ You'll be subscribed to our newsletter and receive a Slack invite in 3 minutes.
459512 </ div >
460- </ form >
461- < div class ="pt-2 small ">
462- You'll be subscribed to our newsletter and receive a Slack invite in 3 minutes.
463513 </ div >
464- </ div >
465514
466515 <!-- Related Episodes Section -->
467516 < section class ="related-episodes-section " aria-labelledby ="related-episodes-heading ">
@@ -497,57 +546,7 @@ <h3 class="related-episode-title">{{ episode.title }}</h3>
497546 {% endfor %}
498547 </ div >
499548 </ section >
500- </ section >
501-
502- < section class ="podcast-tab-content " id ="timestamps-tab " aria-labelledby ="timestamps-heading ">
503- < h2 id ="timestamps-heading " class ="sr-only "> Timestamps</ h2 >
504- {% if page.transcript %}
505- < p class ="timestamps-prompt "> Click any timestamp to jump to that moment in the video</ p >
506- < div class ="timestamps-list ">
507- < ul >
508- {% assign found_header = false %}
509- {% assign header_text = "" %}
510- {% for line in page.transcript %}
511- {% if line.header %}
512- {% assign found_header = true %}
513- {% assign header_text = line.header %}
514- {% elsif found_header and line.sec %}
515- < li >
516- < a href ="# " class ="timestamp-link " data-time ="{{ line.sec }} ">
517- < span class ="timestamp-time "> {{ line.time }}</ span >
518- < span class ="timestamp-text "> {{ header_text }}</ span >
519- </ a >
520- </ li >
521- {% assign found_header = false %}
522- {% endif %}
523- {% endfor %}
524- </ ul >
525- </ div >
526- {% else %}
527- < p > Timestamps coming soon...</ p >
528- {% endif %}
529- </ section >
530-
531- {% if page.transcript %}
532- < section class ="podcast-tab-content " id ="transcript-tab " aria-labelledby ="transcript-heading ">
533- < h2 id ="transcript-heading " class ="sr-only "> Transcript</ h2 >
534- < div class ="content-main mb-5 ">
535- < p class ="transcript-disclaimer ">
536- The transcripts are edited for clarity, sometimes with AI.
537- If you notice any incorrect information,
538- < a href ="https://github.com/DataTalksClub/datatalksclub.github.io/issues/new/choose " target ="_blank "> let us know</ a > .
539- </ p >
540-
541- {% for line in page.transcript %}
542- {% if line.header %}
543- < h3 id ="{{ line.header | slugify }} " class ="transcript-header "> {{ line.header }}</ h3 >
544- {% else %}
545- < p class ="transcript-line "> < b > {{ line.who }}</ b > : {{ line.line }}{% if line.sec %} (< a href ="{{ page.links.youtube }}&t={{ line.sec }}s " target ="youtube "> {{ line.time }}</ a > ){% endif %}</ p >
546- {% endif %}
547- {% endfor %}
548- </ div >
549- </ section >
550- {% endif %}
549+ </ div >
551550
552551 </ article >
553552 </ div >
@@ -574,7 +573,7 @@ <h3 id="{{ line.header | slugify }}" class="transcript-header">{{ line.header }}
574573 } ) ;
575574
576575 // Timestamp click functionality
577- const timestampLinks = document . querySelectorAll ( '.timestamp-link' ) ;
576+ const timestampLinks = document . querySelectorAll ( '.timestamp-link, .transcript-timestamp-link ' ) ;
578577 timestampLinks . forEach ( link => {
579578 link . addEventListener ( 'click' , function ( e ) {
580579 e . preventDefault ( ) ;
0 commit comments