@@ -23,8 +23,60 @@ Pygfx (py-graphics) is built on WebGPU, enabling superior performance and reliab
2323
2424## <i class =' fas ' ></i > News
2525
26- * ` 04-10-2024 ` Released [ wgpu-py v0.19.0] ( https://github.com/pygfx/wgpu-py/releases/tag/v0.19.0 )
27- * ` 25-09-2024 ` Released [ pygfx v0.5.0] ( https://github.com/pygfx/pygfx/releases/tag/v0.5.0 )
26+ <div id =' news-div ' ></div >
27+
28+ <script >
29+
30+ async function get_release_info (repo ) {
31+ let url = " https://api.github.com/repos/" + repo + " /releases?per_page=2" ;
32+ try {
33+ let response = await fetch (url);
34+ if (! response .ok ) {
35+ throw new Error (` Response status: ${ response .status } ` );
36+ }
37+ let json = await response .json ();
38+ let releases = [];
39+ for (let i= 0 ; i< json .length ; i++ ) {
40+ let date = new Date (json[i].published_at );
41+ info = {
42+ name: repo .split (" /" ).slice (- 1 ),
43+ tag: json[i].tag_name ,
44+ url: json[i].html_url ,
45+ date: date,
46+ };
47+ releases .push (info);
48+ }
49+ return releases;
50+ } catch (error) {
51+ console .warn (" Could not fetch release info for " + repo + " : " + error .message );
52+ }
53+ }
54+
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 ));
64+
65+ let news_div = document .getElementById (" news-div" );
66+ news_div .innerHTML = " " ;
67+ let ul = document .createElement (" ul" );
68+ news_div .appendChild (ul);
69+ for (release of releases) {
70+ // let d = release.date.toUTCString().split(" ").slice(0, 4).join(" ");
71+ let d = release .date .toISOString ().split (" T" )[0 ].split (" -" ).reverse ().join (" -" )
72+ let li = document .createElement (" li" );
73+ li .innerHTML = " <code>" + d + " </code> Release " + release .name + " <a href='" + release .url + " '>" + release .tag + " </a>"
74+ ul .appendChild (li);
75+ }
76+ }
77+
78+ create_news ();
79+ </script >
2880
2981
3082## <i class =' fas ' ></i > Getting started
0 commit comments