summaryrefslogtreecommitdiff
path: root/builder/components.scm
diff options
context:
space:
mode:
Diffstat (limited to 'builder/components.scm')
-rw-r--r--builder/components.scm43
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))
+