;;;
;;; How to use Djula templates in-file, without separate file templates.
;;;
;;; This can make it easier to ship your app as a single binary.
;;; Otherwise, see
;;; https://lisp-journey.gitlab.io/blog/lisp-for-the-web-build-standalone-binaries-foreign-libraries-templates-static-assets/#embed-html-djula-templates-in-your-binary
;;;
;;; We use two Djula functions:
;;; - compile-string
;;; - render-template*
;;;
;;;
#++
(ql:quickload '("djula" "pythonic-string-reader"))
(pythonic-string-reader:enable-pythonic-string-syntax)
(defparameter *template-hello* """
{% if foo %}
foo is true
{% else %}
foo is false
{% endif %}
""")
(defun render (s &rest keys)
(apply
#'djula:render-template*
(djula:compile-string s)
nil
;; key arguments:
keys
))
#++
(render *template-hello* :foo t)
;; =>
" foo is true "
This site is built on Heroku
Join the ranks of developers at Salesforce, Airbase, DEV, and more who deploy their mission critical applications on Heroku. Sign up today and launch your first app!
For further actions, you may consider blocking this person and/or reporting abuse
Top comments (0)