;;; yas-doc-helper.el --- Help generate documentation for YASnippet
-;; Copyright (C) 2012 João Távora
+;; Copyright (C) 2012, 2013 Free Software Foundation, Inc.
;; Author: João Távora <joaotavora@gmail.com>
;; Keywords: convenience
(eval-when-compile
(require 'cl))
(require 'org)
-(require 'org-publish)
+(or (require 'org-publish nil t)
+ (require 'ox-publish))
(require 'yasnippet) ; docstrings must be loaded
+(defun yas--org-raw-html (tag content)
+ ;; in version 8.0 org-mode changed the export syntax, see
+ ;; http://orgmode.org/worg/org-8.0.html#sec-8-1
+ (format (if (version< org-version "8.0.0")
+ "@<%s>%s@</%s>" ; old: @<tag>
+ "@@html:<%s>@@%s@@html:</%s>@@") ; new: @@html:<tag>@@
+ tag content tag))
+
(defun yas--document-symbol (symbol level)
(flet ((concat-lines (&rest lines)
(mapconcat #'identity lines "\n")))
(prefix (downcase match1))
(suffix (match-string 2 match))
(fmt (cond
- ((member prefix args) "@<code>%s@</code>")
+ ((member prefix args)
+ (yas--org-raw-html "code" "%s"))
((null suffix) "/%s/"))))
(if fmt (format fmt prefix)
match1)))
(buffer-string))
(princ yas--version (current-buffer)))))
(proj-plist
- (list
- :base-directory dir :publishing-directory dir
- :html-preamble
- (with-temp-buffer
- (insert-file-contents (expand-file-name "nav-menu.html.inc" dir))
- (buffer-string))
- :html-postamble
- (concat "<hr><p class='creator'>Generated by %c on %d from "
- rev "</p>\n"
- "<p class='xhtml-validation'>%v</p>\n")))
+ `(,@(when (fboundp 'org-html-publish-to-html)
+ '(:publishing-function org-html-publish-to-html))
+ :base-directory ,dir :publishing-directory ,dir
+ :html-preamble
+ ,(with-temp-buffer
+ (insert-file-contents (expand-file-name "nav-menu.html.inc" dir))
+ (buffer-string))
+ :html-postamble
+ ,(concat "<hr><p class='creator'>Generated by %c on %d from "
+ rev "</p>\n"
+ "<p class='xhtml-validation'>%v</p>\n")))
(project (assoc "yasnippet" org-publish-project-alist)))
(if project
(setcdr project proj-plist)
(provide 'yas-doc-helper)
-;;; yas-doc-helper.el ends here
;; Local Variables:
+;; indent-tabs-mode: nil
;; coding: utf-8
;; End:
+;;; yas-doc-helper.el ends here