gemini/site/meta/links.scm

24 lines
910 B
Scheme

;;; site/meta/links.scm
(import "util.scm")
(define title "Link Garden")
(define sites (include "data/links.sexp"))
(define (make-site-link proto name uri-parts)
`(a ,(apply build-uri (string->symbol (string-downcase proto)) uri-parts) ,name))
(define (make-protocol-links proto sites)
`((h2 ,proto)
,@(map (lambda (site) (make-site-link proto (car site) (cdr site))) sites)))
`(,@(import "header.scm")
(p "A list of sites I like or that are from people I know, sorted by protocol. Many of these pages also have banners you can find on the following page:")
(a ,(build-relative-ref #:path (join-path 'suffix ".." "27x81")) "27x81 Collection")
(p)
(p "Hoping to add more darknet sites at some point (Ygg, Tor, I2P); I haven't taken
a good look at any of them yet really.")
(p)
,@(append-map-with-line-breaks
(lambda (proto) (make-protocol-links (car proto) (cdr proto))) sites))