@@ -23,8 +23,60 @@ Pygfx (py-graphics) is built on WebGPU, enabling superior performance and reliab
23
23
24
24
## <i class =' fas ' ></i > News
25
25
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 >
28
80
29
81
30
82
## <i class =' fas ' ></i > Getting started
0 commit comments