summaryrefslogtreecommitdiffstats
path: root/software.sxml
blob: 366d93ca7a0a4cef58d565ed6f226de14716e0f0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
(include "projects.scm")

`((title . "Software")
  (author . "The GNU Assembly")
  (date . ,(string->date* "2021-04-13 23:00"))
  (menu . "software")
  (content
   ((h2 "Software")
    (p "Maintainers and contributors of the following projects participate in the GNU Assembly:")
    (ul
     (@ (class "projects"))
     ,@(hash-table-fold %projects
                        (lambda (key project acc)
                          (let ((members (project-members project)))
                            (if (null? members) acc
                                (cons `(li (@ (class "card"))
                                           (div
                                            (@ (class "card-header"))
                                            (a (@ (href ,(project-url project)))
                                               (img (@ (class "project-logo")
                                                       (src ,(project-logo project))
                                                       (alt ,(string-append "logo for "
                                                                            (project-name project))))))
                                            (a (@ (class "project-url")
                                                  (href ,(project-url project)))
                                               ,(project-name project)))
                                           (div
                                            (@ (class "card-body"))
                                            (details
                                             (summary ,(format #false "members (~a)"
                                                               (length members)))
                                             (ul (@ (class "members"))
                                                 ,(map (lambda (person)
                                                         `(li (@ (class "person"))
                                                              ,(let ((home-page (person-url person)))
                                                                 (if home-page
                                                                     `(a (@ (href ,home-page))
                                                                         ,(person-name person))
                                                                     (person-name person)))))
                                                       members)))))
                                      acc))))
                        '())))))