@@ -23,10 +23,21 @@ Pygfx (py-graphics) is built on WebGPU, enabling superior performance and reliab
2323
2424## <i class =' fas ' ></i > News
2525
26- <div id =' news-div ' ></div >
26+ <div id =' news-div ' >
27+ <ul >
28+ <li></li>
29+ <li></li>
30+ <li></li>
31+ <li></li>
32+ <li></li>
33+ <li></li>
34+ </ul >
35+ </div >
2736
2837<script >
2938
39+ var release_infos = [];
40+
3041async function get_release_info (repo ) {
3142 let url = " https://api.github.com/repos/" + repo + " /releases?per_page=2" ;
3243 try {
@@ -52,27 +63,44 @@ async function get_release_info(repo) {
5263 }
5364}
5465
55- async function create_news () {
56- let repos = [" pygfx/pygfx" , " pygfx/wgpu-py" , " pygfx/rendercanvas" ];
57- let releases = [];
58- for (let repo of repos) {
59- let repo_releases = await get_release_info (repo);
60- releases .push (... repo_releases);
61- }
62-
63- releases .sort ((a , b ) => (a .date < b .date ));
6466
67+ function show_news () {
6568 let news_div = document .getElementById (" news-div" );
6669 news_div .innerHTML = " " ;
6770 let ul = document .createElement (" ul" );
6871 news_div .appendChild (ul);
69- for (release of releases ) {
72+ for (let release of release_infos ) {
7073 // let d = release.date.toUTCString().split(" ").slice(0, 4).join(" ");
7174 let d = release .date .toISOString ().split (" T" )[0 ].split (" -" ).reverse ().join (" -" )
7275 let li = document .createElement (" li" );
7376 li .innerHTML = " <code>" + d + " </code> Release " + release .name + " <a href='" + release .url + " '>" + release .tag + " </a>"
7477 ul .appendChild (li);
7578 }
79+ for (let i= release_infos .length ; i< 6 ; i++ ) {
80+ let li = document .createElement (" li" );
81+ li .innerHTML = " ..."
82+ ul .appendChild (li);
83+ }
84+ }
85+
86+
87+ async function create_news () {
88+ let repos = [" pygfx/pygfx" , " pygfx/wgpu-py" , " pygfx/rendercanvas" ];
89+ let releases = [];
90+ for (let repo of repos) {
91+ let repo_releases = await get_release_info (repo);
92+ releases .push (... repo_releases);
93+ }
94+
95+ releases .sort ((a , b ) => (a .date < b .date ));
96+
97+ const sleep = (ms ) => new Promise ((resolve ) => setTimeout (resolve, ms));
98+
99+ for (let release of releases) {
100+ release_infos .push (release);
101+ show_news ()
102+ await sleep (200 );
103+ }
76104}
77105
78106create_news ();
@@ -188,7 +216,7 @@ Pygfx is open source and free to use. To develop these projects we rely on fundi
188216 <div class=sponsorbox>
189217 <h3>Ramona optics</h3>
190218 <a href='https://www.ramonaoptics.com/'>https://ramonaoptics.com</a><br>
191- <img height=75 src='https://www.ramonaoptics.com/icons/icon-256x256 .png' />
219+ <img height=75 src='ramona .png' />
192220 </div>
193221
194222 <div class=sponsorbox>
0 commit comments