2424
2525 <!-- Styles -->
2626 < link rel ="stylesheet " href ="landing.css ">
27+
28+ <!-- Scripts -->
29+ <!-- Configure GitHub stats fetching mode: 'live', 'static', or 'auto' (default) -->
30+ < script src ="js/github-stats-config.js "> </ script >
31+ < script src ="js/github-stats-unified.js " defer > </ script >
2732</ head >
2833< body >
2934 <!-- Navigation Header -->
7277 </ button >
7378 </ div >
7479 </ nav >
80+
81+ <!-- Mobile Menu -->
82+ < div class ="nav-mobile-menu ">
83+ < a href ="start.html " class ="nav-link ">
84+ < svg class ="nav-link-icon " fill ="none " stroke ="currentColor " stroke-width ="2 " viewBox ="0 0 24 24 ">
85+ < path stroke-linecap ="round " stroke-linejoin ="round " d ="M13 10V3L4 14h7v7l9-11h-7z "/>
86+ </ svg >
87+ Getting Started
88+ </ a >
89+ < a href ="add-to-path.html " class ="nav-link ">
90+ < svg class ="nav-link-icon " fill ="none " stroke ="currentColor " stroke-width ="2 " viewBox ="0 0 24 24 ">
91+ < path stroke-linecap ="round " stroke-linejoin ="round " d ="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z "/>
92+ </ svg >
93+ Guides
94+ </ a >
95+ < a href ="troubleshooting.html " class ="nav-link ">
96+ < svg class ="nav-link-icon " fill ="none " stroke ="currentColor " stroke-width ="2 " viewBox ="0 0 24 24 ">
97+ < path stroke-linecap ="round " stroke-linejoin ="round " d ="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z "/>
98+ </ svg >
99+ Help
100+ </ a >
101+ < a href ="download.html " class ="nav-link nav-link-cta ">
102+ < svg class ="nav-link-icon " fill ="none " stroke ="currentColor " stroke-width ="2 " viewBox ="0 0 24 24 ">
103+ < path stroke-linecap ="round " stroke-linejoin ="round " d ="M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M9 19l3 3m0 0l3-3m-3 3V10 "/>
104+ </ svg >
105+ Download
106+ </ a >
107+ </ div >
75108 </ header >
76109
77110 < main >
@@ -317,20 +350,20 @@ <h3 class="community-card-title">GitHub</h3>
317350 < div class ="community-stats ">
318351 < div class ="community-stat ">
319352 < span class ="stat-label "> Stars</ span >
320- < span class ="stat-value ">
353+ < span class ="stat-value " data-stat =" stars " data-format =" short " >
321354 < svg class ="stat-icon " fill ="currentColor " viewBox ="0 0 20 20 ">
322355 < path d ="M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z "/>
323356 </ svg >
324- 3.4k
357+ < span class =" stat-number " > 3.4k</ span >
325358 </ span >
326359 </ div >
327360 < div class ="community-stat ">
328361 < span class ="stat-label "> Forks</ span >
329- < span class ="stat-value "> 108</ span >
362+ < span class ="stat-value " data-stat =" forks " > 108</ span >
330363 </ div >
331364 < div class ="community-stat ">
332365 < span class ="stat-label "> Contributors</ span >
333- < span class ="stat-value "> 100+ </ span >
366+ < span class ="stat-value " data-stat =" contributors " > 41 </ span >
334367 </ div >
335368 </ div >
336369 < a href ="https://github.com/posit-dev/positron " target ="_blank " rel ="noopener noreferrer "
@@ -410,12 +443,12 @@ <h3 class="community-card-title">Documentation</h3>
410443 < div class ="community-stats-bar ">
411444 < a href ="https://github.com/posit-dev/positron/stargazers " target ="_blank " rel ="noopener noreferrer "
412445 class ="stats-bar-item ">
413- < div class ="stats-bar-value "> 3.4k+</ div >
446+ < div class ="stats-bar-value " data-stat =" stars " data-format =" short-plus " > 3.4k+</ div >
414447 < div class ="stats-bar-label "> GitHub Stars</ div >
415448 </ a >
416449 < a href ="https://github.com/posit-dev/positron/graphs/contributors " target ="_blank " rel ="noopener noreferrer "
417450 class ="stats-bar-item ">
418- < div class ="stats-bar-value "> 100+ </ div >
451+ < div class ="stats-bar-value " data-stat =" contributors " > 41 </ div >
419452 < div class ="stats-bar-label "> Contributors</ div >
420453 </ a >
421454 < a href ="https://github.com/posit-dev/positron/discussions " target ="_blank " rel ="noopener noreferrer "
@@ -504,6 +537,45 @@ <h3 class="footer-heading">Posit</h3>
504537
505538 lastScroll = currentScroll ;
506539 } ) ;
540+
541+ // Mobile menu toggle functionality
542+ const mobileToggle = document . querySelector ( '.nav-mobile-toggle' ) ;
543+ const mobileMenu = document . querySelector ( '.nav-mobile-menu' ) ;
544+ const siteNav = document . querySelector ( '.site-nav' ) ;
545+
546+ function openMobileMenu ( ) {
547+ mobileMenu . classList . add ( 'active' ) ;
548+ siteNav . classList . add ( 'menu-open' ) ;
549+ mobileToggle . setAttribute ( 'aria-expanded' , 'true' ) ;
550+ }
551+
552+ function closeMobileMenu ( ) {
553+ mobileMenu . classList . remove ( 'active' ) ;
554+ mobileToggle . setAttribute ( 'aria-expanded' , 'false' ) ;
555+ siteNav . classList . remove ( 'menu-open' ) ;
556+ }
557+
558+ mobileToggle . addEventListener ( 'click' , ( ) => {
559+ if ( mobileMenu . classList . contains ( 'active' ) ) {
560+ closeMobileMenu ( ) ;
561+ } else {
562+ openMobileMenu ( ) ;
563+ }
564+ } ) ;
565+
566+ // Close mobile menu when clicking outside
567+ document . addEventListener ( 'click' , ( e ) => {
568+ if ( ! mobileToggle . contains ( e . target ) && ! mobileMenu . contains ( e . target ) && mobileMenu . classList . contains ( 'active' ) ) {
569+ closeMobileMenu ( ) ;
570+ }
571+ } ) ;
572+
573+ // Close mobile menu when resizing to desktop
574+ window . addEventListener ( 'resize' , ( ) => {
575+ if ( window . innerWidth >= 768 && mobileMenu . classList . contains ( 'active' ) ) {
576+ closeMobileMenu ( ) ;
577+ }
578+ } ) ;
507579 </ script >
508580</ body >
509581</ html >
0 commit comments