@@ -23,10 +23,21 @@ Pygfx (py-graphics) is built on WebGPU, enabling superior performance and reliab
23
23
24
24
## <i class =' fas ' ></i > News
25
25
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 >
27
36
28
37
<script >
29
38
39
+ var release_infos = [];
40
+
30
41
async function get_release_info (repo ) {
31
42
let url = " https://api.github.com/repos/" + repo + " /releases?per_page=2" ;
32
43
try {
@@ -52,27 +63,44 @@ async function get_release_info(repo) {
52
63
}
53
64
}
54
65
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
66
67
+ function show_news () {
65
68
let news_div = document .getElementById (" news-div" );
66
69
news_div .innerHTML = " " ;
67
70
let ul = document .createElement (" ul" );
68
71
news_div .appendChild (ul);
69
- for (release of releases ) {
72
+ for (let release of release_infos ) {
70
73
// let d = release.date.toUTCString().split(" ").slice(0, 4).join(" ");
71
74
let d = release .date .toISOString ().split (" T" )[0 ].split (" -" ).reverse ().join (" -" )
72
75
let li = document .createElement (" li" );
73
76
li .innerHTML = " <code>" + d + " </code> Release " + release .name + " <a href='" + release .url + " '>" + release .tag + " </a>"
74
77
ul .appendChild (li);
75
78
}
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
+ }
76
104
}
77
105
78
106
create_news ();
@@ -188,7 +216,7 @@ Pygfx is open source and free to use. To develop these projects we rely on fundi
188
216
<div class=sponsorbox>
189
217
<h3>Ramona optics</h3>
190
218
<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' />
192
220
</div>
193
221
194
222
<div class=sponsorbox>
0 commit comments