diff options
Diffstat (limited to 'builder/components.scm')
| -rw-r--r-- | builder/components.scm | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/builder/components.scm b/builder/components.scm new file mode 100644 index 0000000..1e0d9fe --- /dev/null +++ b/builder/components.scm @@ -0,0 +1,43 @@ +(define-module (builder components) + #:export (header badge prose small-prose linkbox + linkline slash link elink)) + +(define (header name desc image) + `(header (@ (class "header")) + (div (img (@ (src ,image) (class "header-image")))) + (div (@ (class "header-text")) + (h2 (@ (class "header-title")) ,name) + (div (@ (class "header-desc")) ,desc)))) + +(define (badge name icon link) + `(a (@ (class "badge") (target "_blank") (href ,link)) + (img (@ (src ,icon))) + (span ,name))) + +(define (prose . content) + `(div (@ (class "prose-container")) + ,@content)) +(define (small-prose . content) + `(div (@ (class "prose-container small")) + ,@content)) + +(define (linkbox name desc link image) + `(a (@ (class "linkbox") (href ,link) (target "_blank")) + (img (@ (src ,image))) + (div + (h4 ,name) + (p ,desc)))) + +(define (link url text) + `(a (@ (href ,url)) ,text)) +(define (elink url text) + `(a (@ (href ,url) (target "_blank")) ,text)) + +(define (linkline . links) + `(ul (@ (class "linkline")) + ,(map (lambda (link) + `(li (a (@ (href ,(car link))) ,(cdr link)))) + links))) +(define (slash url) + (cons url url)) + |
