summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2021-04-14 23:31:06 +0200
committerRicardo Wurmus <rekado@elephly.net>2021-04-14 23:31:06 +0200
commitc3be337ceb622c5d2da3bae54d8819ab14457514 (patch)
treedac5e33a8dbeb42c70ab4244eaa923687e3a5492
parentsoftware: Remove binutils and gdb memberships. (diff)
software: Only show projects with at least one member.
-rw-r--r--software.sxml58
1 files changed, 30 insertions, 28 deletions
diff --git a/software.sxml b/software.sxml
index bdf2ff9..3afe7ff 100644
--- a/software.sxml
+++ b/software.sxml
@@ -230,34 +230,36 @@
230 (content 230 (content
231 ((h2 "Software") 231 ((h2 "Software")
232 (p "Maintainers of the following projects participate in the GNU Assembly:") 232 (p "Maintainers of the following projects participate in the GNU Assembly:")
233 (ul (@ (class "projects")) 233 (ul
234 (@ (class "projects"))
234 ,@(hash-table-fold %projects 235 ,@(hash-table-fold %projects
235 (lambda (key project acc) 236 (lambda (key project acc)
236 (cons `(li (@ (class "card")) 237 (let ((members (project-members project)))
237 (div 238 (if (null? members) acc
238 (@ (class "card-header")) 239 (cons `(li (@ (class "card"))
239 (a (@ (href ,(project-url project))) 240 (div
240 (img (@ (class "project-logo") 241 (@ (class "card-header"))
241 (src ,(project-logo project)) 242 (a (@ (href ,(project-url project)))
242 (alt ,(string-append "logo for " 243 (img (@ (class "project-logo")
243 (project-name project)))))) 244 (src ,(project-logo project))
244 (a (@ (class "project-url") 245 (alt ,(string-append "logo for "
245 (href ,(project-url project))) 246 (project-name project))))))
246 ,(project-name project))) 247 (a (@ (class "project-url")
247 (div 248 (href ,(project-url project)))
248 (@ (class "card-body")) 249 ,(project-name project)))
249 ,(let ((members (project-members project))) 250 (div
250 `(details 251 (@ (class "card-body"))
251 (summary ,(format #false "members (~a)" 252 (details
252 (length members))) 253 (summary ,(format #false "members (~a)"
253 (ul (@ (class "members")) 254 (length members)))
254 ,(map (lambda (person) 255 (ul (@ (class "members"))
255 `(li (@ (class "person")) 256 ,(map (lambda (person)
256 ,(let ((home-page (person-url person))) 257 `(li (@ (class "person"))
257 (if home-page 258 ,(let ((home-page (person-url person)))
258 `(a (@ (href ,home-page)) 259 (if home-page
259 ,(person-name person)) 260 `(a (@ (href ,home-page))
260 (person-name person))))) 261 ,(person-name person))
261 members)))))) 262 (person-name person)))))
262 acc)) 263 members)))))
264 acc))))
263 '()))))) 265 '())))))