@@ -66,7 +66,7 @@ fetch('https://api.github.com/repositories/42366054/releases?per_page=5', {
6666
6767 const version = document . querySelector ( '.download-version' ) ;
6868
69- let string = `View release notes for v${ latestRelease . tag_name } ` ;
69+ let string = `View changelog for v${ latestRelease . tag_name } ` ;
7070
7171 if ( window . innerWidth > 500 ) {
7272 const date = new Date ( latestRelease . published_at ) ;
@@ -78,27 +78,56 @@ fetch('https://api.github.com/repositories/42366054/releases?per_page=5', {
7878 }
7979 }
8080
81- const releaseNotesContainer = document . getElementById ( 'release-notes' ) ;
81+ const releaseNotesContainer = document . getElementById ( 'changelog' ) ;
82+ const downloadFormatter = new Intl . NumberFormat ( 'en' , {
83+ notation : 'compact' ,
84+ maximumFractionDigits : 1 ,
85+ } ) ;
8286
8387 releases . forEach ( ( release , index ) => {
8488 const isLatest = index === 0 ;
8589
8690 const releaseSection = document . createElement ( 'div' ) ;
8791 releaseSection . className = 'release-notes-content' ;
8892
93+ const releaseSidebar = document . createElement ( 'div' ) ;
94+ releaseSidebar . className = 'release-notes-sidebar' ;
95+
8996 const releaseHeader = document . createElement ( 'a' ) ;
9097 releaseHeader . className = 'release-version' ;
9198 releaseHeader . href = release . html_url ;
9299 releaseHeader . target = '_blank' ;
93100 releaseHeader . rel = 'noopener' ;
101+ releaseHeader . textContent = `v${ release . tag_name } ` ;
102+ releaseSidebar . appendChild ( releaseHeader ) ;
103+
104+ const releaseDateSpan = document . createElement ( 'span' ) ;
105+ releaseDateSpan . className = 'release-date' ;
94106 const releaseDate = new Date ( release . published_at ) ;
95- releaseHeader . textContent = `v${ release . tag_name } - ${ releaseDate . toLocaleDateString ( ) } ` ;
96- releaseSection . appendChild ( releaseHeader ) ;
107+ releaseDateSpan . textContent = releaseDate . toLocaleDateString ( ) ;
108+ releaseSidebar . appendChild ( releaseDateSpan ) ;
109+
110+ const totalDownloads = release . assets . reduce (
111+ ( sum , asset ) => sum + asset . download_count ,
112+ 0 ,
113+ ) ;
114+
115+ if ( totalDownloads > 0 ) {
116+ const downloadsSpan = document . createElement ( 'span' ) ;
117+ downloadsSpan . className = 'release-downloads' ;
118+ downloadsSpan . textContent = `${ downloadFormatter . format ( totalDownloads ) } downloads` ;
119+ releaseSidebar . appendChild ( downloadsSpan ) ;
120+ }
121+
122+ releaseSection . appendChild ( releaseSidebar ) ;
123+
124+ const releaseMain = document . createElement ( 'div' ) ;
125+ releaseMain . className = 'release-notes-main' ;
97126
98127 const releaseContent = document . createElement ( 'div' ) ;
99128 releaseContent . className = 'release-content' ;
100129 releaseContent . innerHTML = release . body_html ;
101- releaseSection . appendChild ( releaseContent ) ;
130+ releaseMain . appendChild ( releaseContent ) ;
102131
103132 if ( isLatest ) {
104133 const releaseAssetsContainer = document . createElement ( 'div' ) ;
@@ -128,9 +157,11 @@ fetch('https://api.github.com/repositories/42366054/releases?per_page=5', {
128157 githubLink . textContent = 'View release on GitHub' ;
129158 releaseAssetsContainer . appendChild ( githubLink ) ;
130159
131- releaseSection . appendChild ( releaseAssetsContainer ) ;
160+ releaseMain . appendChild ( releaseAssetsContainer ) ;
132161 }
133162
163+ releaseSection . appendChild ( releaseMain ) ;
164+
134165 releaseNotesContainer . appendChild ( releaseSection ) ;
135166 } ) ;
136167 } ) ;
0 commit comments