common lisp + hunchentoot + restas. Hope I can give you a little suggestion:-)
(defmacro with-standard-page ((&key title) link-css link-js controller-css controller-js &body body)
`(with-html-output-to-string(*standard-output* nil :prologue t :indent t)
(:html
:xmlns "http://www.w3.org/1999/xhtml"
:xml\:lang "en"
:lang "en"
(:head
(:meta :http-equiv "Content-Type"
:content "text/html;charset=utf-8")
(:link :href "/static/css/bootstrap.min.css"
:rel "stylesheet")
(:script :type "text/javascript" :src "/static/js/jquery-2.1.3.min.js")
,(when link-css
`(:link :href ,(format nil "/static/css/~A.css" (string-downcase link-css))
:rel "stylesheet"))
(:title ,title)
(:style
:type "text/css" ,(when controller-css
(funcall controller-css)))
(:script
:language "JavaScript" ,(when controller-js
(funcall controller-js))))
(:body
,@body
,(when link-js
`(:script :type "text/javascript" :src ,(format nil "/static/js/~A.js" (string-downcase link-js))))))))