Flexible Lisp Blogware. Fork for personal use. Mirrored from https://github.com/kingcons/coleslaw originally.

rst.lisp 769B

123456789101112131415161718192021222324
  1. (eval-when (:compile-toplevel :load-toplevel)
  2. (ql:quickload 'docutils))
  3. (defpackage :coleslaw-rst
  4. (:use :cl)
  5. (:import-from :coleslaw #:render-content)
  6. (:import-from :docutils #:read-rst #:write-part #:register-settings-spec
  7. #:visit-node #:write-document)
  8. (:import-from :docutils.writer.html #:html-writer #:write-part)
  9. (:export #:enable))
  10. (in-package :coleslaw-rst)
  11. (defmethod render-content (text (format (eql :rst)))
  12. (register-settings-spec '((:generator nil)
  13. (:datestamp nil)))
  14. (with-output-to-string (str)
  15. (let ((writer (make-instance 'html-writer))
  16. (document (read-rst text)))
  17. (visit-node writer document)
  18. (write-document writer document str))))
  19. (defun enable ())