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

disqus.lisp 1.2KB

1234567891011121314151617181920212223242526272829
  1. (defpackage :coleslaw-disqus
  2. (:use :cl)
  3. (:export #:enable)
  4. (:import-from :coleslaw #:add-injection
  5. #:post))
  6. (in-package :coleslaw-disqus)
  7. (defvar *disqus-header*
  8. "<div id=\"disqus_thread\"></div>
  9. <script type=\"text/javascript\">
  10. /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
  11. var disqus_shortname = '~a';
  12. /* * * DON'T EDIT BELOW THIS LINE * * */
  13. (function() {
  14. var dsq = document.createElement('script');
  15. dsq.type = 'text/javascript';
  16. dsq.async = true;
  17. dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
  18. (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
  19. })();
  20. </script>
  21. <noscript>Please enable JavaScript to view the <a href=\"http://disqus.com/?ref_noscript\">comments powered by Disqus.</a></noscript>
  22. <a href=\"http://disqus.com\" class=\"dsq-brlink\">comments powered by <span class=\"logo-disqus\">Disqus</span></a>")
  23. (defun enable (&key shortname)
  24. (add-injection (list (format nil *disqus-header* shortname)
  25. (lambda (x) (typep x 'post))) :body))