@@ -6,7 +6,6 @@ theme: dashboard
6
6
# Plot
7
7
8
8
``` js
9
- import {BigNumber } from " ./components/bigNumber.js" ;
10
9
import {DailyPlot , today , start } from " ./components/dailyPlot.js" ;
11
10
```
12
11
@@ -43,17 +42,25 @@ const burndown = issues
43
42
` ` `
44
43
45
44
<div class="grid grid-cols-4" style="grid-auto-rows: 86px;">
46
- <div class=card>${ BigNumber (versions .at (- 1 ).version , {
47
- title: " Current release" ,
48
- href: ` https://github.com/observablehq/plot/releases/tag/v${ versions .at (- 1 ).version } ` ,
49
- trend: d3 .utcDay .count (versions .at (- 1 ).date , Date .now ()),
50
- trendFormat : d => ` ${ d === 0 ? " today" : d=== 1 ? " yesterday" : ` ${ d} days ago` } ` ,
51
- trendColor: " #888" ,
52
- trendArrow: null
53
- })} </div>
54
- <div class=card>${ BigNumber (stars .length , {title: " GitHub stars" , trend: stars .filter ((d ) => d .starred_at >= lastWeek).length , trendFormat: " +" , trendTitle: " Since last week" })} </div>
55
- <div class=card>${ BigNumber (downloads[0 ].value , {title: " Daily npm downloads" , trend: downloads[7 ].value ? (downloads[0 ].value - downloads[7 ].value ) / downloads[7 ].value : undefined , trendTitle: " Compared to last week" })} </div>
56
- <div class=card>${ BigNumber (d3 .sum (downloads, (d ) => d .value ), {title: " Total npm downloads" })} </div>
45
+ <div class=card>
46
+ <h2>Current release</h2>
47
+ ${ html ` <span class =big >${ versions .at (- 1 ).version } ` }
48
+ ${ html ` <a href =" https://github.com/observablehq/plot/releases/tag/v${versions.at(-1).version}" >
49
+ <span class =muted >${ ((days ) => days === 0 ? " today" : days === 1 ? " yesterday" : ` ${ days} days ago` )(d3 .utcDay .count (versions .at (- 1 ).date , Date .now ()))} ` }
50
+ </div>
51
+ <div class=card>
52
+ <h2>GitHub stars</h2>
53
+ ${ html ` <span class =big >${ d3 .format (" ," )(stars .length )} ` }
54
+ ${ html ` <span class =green >${ d3 .format (" +" )(d3 .sum (stars, (d ) => d .starred_at >= lastWeek))} ↗︎` }
55
+ </div>
56
+ <div class=card>
57
+ <h2>Daily npm downloads</h2>
58
+ ${ html ` <span class =big >${ d3 .format (" ," )(downloads[0 ].value )} ` }
59
+ ${ ((trend ) => html ` <span class =${trend > 0 ? "green" : trend < 0 ? "red" : "muted"}>${ d3 .format (" +.1%" )(trend)} ${ trend > 0 ? " ↗︎" : trend < 0 ? " ↘︎" : " " } ` )(downloads[7 ].value ? (downloads[0 ].value - downloads[7 ].value ) / downloads[7 ].value : undefined )}
60
+ </div>
61
+ <div class=card>
62
+ <h2>Total npm downloads</h2>
63
+ ${ html ` <span class =big >${ d3 .format (" ," )(d3 .sum (downloads, (d ) => d .value ))} ` }
57
64
</div>
58
65
59
66
<div class="card grid grid-cols-1" style="grid-auto-rows: calc(260px + 2rem);">
@@ -100,10 +107,22 @@ const burndown = issues
100
107
</div>
101
108
102
109
<div class="grid grid-cols-4" style="grid-auto-rows: 86px;">
103
- <div class=card>${ BigNumber (issues .filter ((d ) => ! d .pull_request && d .state === " open" ).length , {title: " Open issues" , href: " https://github.com/observablehq/plot/issues" })} </div>
104
- <div class=card>${ BigNumber (issues .filter ((d ) => ! d .pull_request && d .open >= lastMonth).length , {title: " Opened issues, 28d" })} </div>
105
- <div class=card>${ BigNumber (issues .filter ((d ) => ! d .pull_request && d .close >= lastMonth).length , {title: " Closed issues, 28d" })} </div>
106
- <div class=card>${ BigNumber (issues .filter ((d ) => d .pull_request && d .state === " open" && ! d .draft ).length , {title: " Open PRs" , href: " https://github.com/observablehq/plot/pulls?q=is%3Apr+is%3Aopen+draft%3Afalse" })} </div>
110
+ <div class=card>
111
+ <h2>Open issues</h2>
112
+ <span class=big>${ d3 .format (" ," )(d3 .sum (issues, (d ) => ! d .pull_request && d .state === " open" ))} </span>
113
+ </div>
114
+ <div class=card>
115
+ <h2>Opened issues, 28d</h2>
116
+ <span class=big>${ d3 .format (" ," )(d3 .sum (issues, (d ) => ! d .pull_request && d .open >= lastMonth))} </span>
117
+ </div>
118
+ <div class=card>
119
+ <h2>Closed issues, 28d</h2>
120
+ <span class=big>${ d3 .format (" ," )(d3 .sum (issues, (d ) => ! d .pull_request && d .close >= lastMonth))} </span>
121
+ </div>
122
+ <div class=card>
123
+ <h2>Open PRs</h2>
124
+ <a class=big href="https://github.com/observablehq/plot/pulls?q=is%3Apr+is%3Aopen+draft%3Afalse"><span class=muted>${ d3 .format (" ," )(d3 .sum (issues, (d ) => d .pull_request && d .state === " open" && ! d .draft ))} </span></a>
125
+ </div>
107
126
</div>
108
127
109
128
<div class="grid grid-cols-2" style="grid-auto-rows: 276px;">
0 commit comments