74 lines
3.6 KiB
Common Lisp
74 lines
3.6 KiB
Common Lisp
|
;;; -*- mode: lisp; coding: utf-8; -*-
|
||
|
;;; Generate the index.html file
|
||
|
|
||
|
(ql:quickload :dev.metalisp.sbt)
|
||
|
|
||
|
(defpackage :website
|
||
|
(:use :cl #:ml-sbt)
|
||
|
(:import-from #:ml-sbt/section
|
||
|
#:with-section
|
||
|
#:with-section-row
|
||
|
#:with-section-col
|
||
|
#:with-title-bar)
|
||
|
(:import-from #:ml-sbt/navbar
|
||
|
#:with-navbar)
|
||
|
(:import-from #:ml-sbt/list-group
|
||
|
#:with-list-group)
|
||
|
(:import-from #:ml-sbt/card
|
||
|
#:with-card*)
|
||
|
(:import-from #:ml-sbt/btn
|
||
|
#:btn))
|
||
|
|
||
|
(in-package :website)
|
||
|
|
||
|
(setf ml-sbt/navbar:*brand-name* "metalisp")
|
||
|
|
||
|
(with-open-file (ofile #P"index.html" :direction :output :if-exists :supersede)
|
||
|
(let ((html (with-page (:title "metalisp.dev projects")
|
||
|
(body-header nil "Crafting Software with the Power of Lisp and Scheme"
|
||
|
(with-navbar nil nil "Home" "/"))
|
||
|
(body-main nil
|
||
|
(with-section
|
||
|
(with-title-bar "About metalisp")
|
||
|
(:p "Hi, I'm Marcus, and metalisp.dev is where I share my passion for software development in Common Lisp, Emacs Lisp, and Guile Scheme.
|
||
|
This site features a variety of projects that demonstrate the unique capabilities of these languages."))
|
||
|
(with-section
|
||
|
(with-title-bar "Active Projects")
|
||
|
(with-section-row
|
||
|
(with-card*
|
||
|
:card-header "ml-sbt"
|
||
|
:card-items '("Library of Common Lisp Macros to generate HTML using Bootstrap CSS."
|
||
|
"In Active Development")
|
||
|
:card-body (btn (:url "https://code.metalisp.dev/marcuskammer/dev.metalisp.sbt")
|
||
|
(t9n "view-details")))
|
||
|
(with-card*
|
||
|
:card-header "ml-survey"
|
||
|
:card-items '("Create questionnaires and analyze the results."
|
||
|
"In Active Development")
|
||
|
:card-body (btn (:url "https://code.metalisp.dev/marcuskammer/dev.metalisp.survey")
|
||
|
(t9n "view-details")))
|
||
|
(with-card*
|
||
|
:card-header "ml-qmetrics"
|
||
|
:card-items '("Calculation engine for questionnaires."
|
||
|
"In Active Development")
|
||
|
:card-body (btn (:url "https://code.metalisp.dev/marcuskammer/dev.metalisp.qmetrics")
|
||
|
(t9n "view-details")))
|
||
|
(with-card*
|
||
|
:card-header "ml-activitystreams"
|
||
|
:card-items '("ActivityStreams 2 library"
|
||
|
"In Active Development")
|
||
|
:card-body (btn (:url "https://code.metalisp.dev/marcuskammer/dev.metalisp.activitystreams")
|
||
|
(t9n "view-details")))
|
||
|
(with-card*
|
||
|
:card-header "emacs dot files"
|
||
|
:card-items '("Personal emacs dot files."
|
||
|
"In Active Development")
|
||
|
:card-body (btn (:url "https://code.metalisp.dev/marcuskammer/emacs.d")
|
||
|
(t9n "view-details")))))
|
||
|
(with-section
|
||
|
(with-title-bar "Contact")
|
||
|
(:a :rel "me"
|
||
|
:href "https://fosstodon.org/@metalisp"
|
||
|
:class "hidden" "Mastodon"))))))
|
||
|
(princ html ofile)))
|