My personal website, goal is to have a blog and a "resume".

cl-who-renderer.lisp 1.0KB

12345678910111213141516171819202122232425262728
  1. ;;;; Cl-who Renderer for Coleslaw
  2. ;;;; Taken from: https://gitlab.common-lisp.net/dkochmanski/sclp/blob/ca3ca168d1d062b78be9ef249539c18acef48d9a/plugins/cl-who-renderer.lisp
  3. ;;;; Copyright 2016 Daniel Kochmański License unknown but obviously
  4. ;;;; meant for use by others.
  5. (eval-when (:compile-toplevel :load-toplevel)
  6. (asdf:load-system 'cl-who))
  7. (defpackage :coleslaw-cl-who-renderer
  8. (:use #:cl #:cl-who)
  9. (:import-from #:coleslaw :render-text)
  10. (:export #:enable))
  11. (in-package :coleslaw-cl-who-renderer)
  12. (defmethod render-text (text (format (eql :cl-who)))
  13. (let* ((*package* (find-package '#:coleslaw-cl-who-renderer))
  14. (sexps (with-input-from-string (v text)
  15. (do* ((line (read v)
  16. (read v nil 'done))
  17. (acc (list line)
  18. (cons line acc)))
  19. ((eql line 'done)
  20. (nreverse (cdr acc)))))))
  21. (eval `(with-html-output-to-string (v) ,@sexps))))
  22. (defun enable ())