summaryrefslogtreecommitdiff
path: root/lisp/org/org-publish.el
diff options
context:
space:
mode:
authorCarsten Dominik <dominik@science.uva.nl>2008-10-25 21:35:48 +0000
committerCarsten Dominik <dominik@science.uva.nl>2008-10-25 21:35:48 +0000
commit71d35b2418ec19b79c09f15f88e7a46acae9f8c4 (patch)
tree630786d48294e2357994c128b6d8cf10170602c5 /lisp/org/org-publish.el
parent7f5cd5548e0183470b7127d45911f98d7a9bb5a2 (diff)
downloademacs-71d35b2418ec19b79c09f15f88e7a46acae9f8c4.tar.gz
emacs-71d35b2418ec19b79c09f15f88e7a46acae9f8c4.tar.bz2
emacs-71d35b2418ec19b79c09f15f88e7a46acae9f8c4.zip
2008-10-26 Carsten Dominik <dominik@science.uva.nl>
* org-agenda.el (org-format-agenda-item) (org-agenda-filter-make-matcher): Make sure tags are stored and compared donwcased. 2008-10-26 Carsten Dominik <dominik@science.uva.nl> * org.el (org-insert-todo-heading): Fix bug with force-heading argument. 2008-10-26 Carsten Dominik <dominik@science.uva.nl> * org-exp.el (org-export-as-ascii): Handle the case that we are bulishing from an indirect buffer. * org-table.el (org-table-copy-down): Fix bug with time stamp increment. * org-mouse.el (org-mouse-features): New option. (org-mode-hook): Turn on features depending on `org-mouse-features'. * org.el (org-insert-heading-respect-content): Force heading creation. (org-insert-heading): keep the folding state of the heading before the inserted one. 2008-10-26 Carsten Dominik <dominik@science.uva.nl> * org-archive.el (org-archive-to-archive-sibling): Handle top level headlines better. 2008-10-26 Bastien Guerry <bzg@altern.org> * org-export-latex.el (org-export-latex-classes): Added \usepackage{graphicx} to the default list of packages. 2008-10-26 Carsten Dominik <dominik@science.uva.nl> * org-agenda.el (org-agenda-filter): Renamed from `org-agenda-filter-tags'. 2008-10-26 Carsten Dominik <dominik@science.uva.nl> * org.el (org-entry-properties): Add CATEGORY property, iven if it is not defined as a property in this entry. (org-add-log-note): Mask prefix argument when immediately storing the note. * org-agenda.el (org-agenda-filter-effort-default-operator): New option. 2008-10-26 James TD Smith <ahktenzero@mohorovi.cc> * org.el (org-add-log-setup): Bugfix; code to find insertion point after drawers was skipping ahead one line too many, so notes were inserted after the first note instead of before it. 2008-10-26 Carsten Dominik <dominik@science.uva.nl> * org-agenda.el (org-agenda-filter-tags,org-agenda-filter-form): New variables. (org-prepare-agenda): Reset the filter tags. (org-agenda-filter-by-tag, org-agenda-filter-by-tag-show-all): Show filter tags in mode line. * org-table.el (orgtbl-to-html): Bind `html-table-tag' for the formatter. * org-export-latex.el (org-latex-entities-regexp): New constant. (org-export-as-pdf): Use two calls to `shell-command'. 2008-10-26 Carsten Dominik <dominik@science.uva.nl> * org-export-latex.el (org-export-latex-treat-sub-super-char): Honor the {} value of the subsuperscript setting. Make sure that longer subsuperscripts are typeset in a roman font. * org.el (org-clock-update-time-maybe): Compute negative clock intervals correctly. 2008-10-26 Carsten Dominik <dominik@science.uva.nl> * org.el (org-add-log-setup): Respect `org-log-state-notes-insert-after-drawers'. (org-log-state-notes-insert-after-drawers): New option. (org-todo-trigger-tag-changes): New function. (org-todo): Call `org-todo-trigger-tag-changes'. 2008-10-26 James TD Smith <ahktenzero@mohorovi.cc> * org.el (org-add-log-setup): Only skip drawers if the are immediately after the scheduling keywords. * org-clock.el (org-clock-in-switch-to-state): Allow this to be a function (org-clock-in): If `org-clock-in-switch-to-state' is a function, call it with the current todo state to get the state to switch to when clocking in. (org-clock-in): Use org-indent-line-function to indent clock lines. (org-clock-find-position): Fix indentation of empty clock drawers. 2008-10-26 Carsten Dominik <dominik@science.uva.nl> * org-publish.el (org-publish-org-to): Handle case when org-export-to-pdf does return a file name, not a buffer. (org-publish-org-to-pdf): New function. * org-export-latex.el (org-export-as-pdf) (org-export-as-pdf-and-open): New commands. * org-table.el (org-table-eval-formula): Avoid parsing Calc's HMS forms as ranges. * org-export-latex.el (org-export-latex-lists): Ignore lists-like things in protexted regions. 2008-10-26 Carsten Dominik <dominik@science.uva.nl> * org-export-latex.el (org-export-latex-preprocess): Improve quoting of LaTeX environments.
Diffstat (limited to 'lisp/org/org-publish.el')
-rw-r--r--lisp/org/org-publish.el69
1 files changed, 40 insertions, 29 deletions
diff --git a/lisp/org/org-publish.el b/lisp/org/org-publish.el
index 406da0c484e..2af71d3c0b2 100644
--- a/lisp/org/org-publish.el
+++ b/lisp/org/org-publish.el
@@ -4,7 +4,7 @@
;; Author: David O'Toole <dto@gnu.org>
;; Maintainer: Bastien Guerry <bzg AT altern DOT org>
;; Keywords: hypermedia, outlines, wp
-;; Version: 6.09a
+;; Version: 6.10c
;; This file is part of GNU Emacs.
;;
@@ -276,8 +276,8 @@ When nil, do no timestamp checking and always publish all files."
:group 'org-publish
:type 'boolean)
-(defcustom org-publish-timestamp-directory
- (convert-standard-filename "~/.org-timestamps/")
+(defcustom org-publish-timestamp-directory (convert-standard-filename
+ "~/.org-timestamps/")
"Name of directory in which to store publishing timestamps."
:group 'org-publish
:type 'directory)
@@ -479,38 +479,48 @@ PUB-DIR is the publishing directory."
(require 'org)
(unless (file-exists-p pub-dir)
(make-directory pub-dir t))
- (let* ((visiting (find-buffer-visiting filename))
- (plist (cons :buffer-will-be-killed (cons t plist)))
- (init-buf (or visiting (find-file filename)))
- (init-point (point))
- (init-buf-string (buffer-string)) export-buf)
- ;; run hooks before exporting
- (run-hooks 'org-publish-before-export-hook)
- ;; export the possibly modified buffer
- (setq export-buf
- (funcall (intern (concat "org-export-as-" format))
- (plist-get plist :headline-levels)
- nil plist nil nil pub-dir))
- (set-buffer export-buf)
- ;; run hooks after export and save export
- (and (run-hooks 'org-publish-after-export-hook)
- (if (buffer-modified-p) (save-buffer)))
- (kill-buffer export-buf)
- ;; maybe restore buffer's content
- (set-buffer init-buf)
- (when (buffer-modified-p init-buf)
- (erase-buffer)
- (insert init-buf-string)
- (save-buffer)
- (goto-char init-point))
- (unless visiting
- (kill-buffer init-buf))))
+ (let ((visiting (find-buffer-visiting filename)))
+ (save-excursion
+ (switch-to-buffer (or visiting (find-file filename)))
+ (let* ((plist (cons :buffer-will-be-killed (cons t plist)))
+ (init-buf (current-buffer))
+ (init-point (point))
+ (init-buf-string (buffer-string))
+ export-buf-or-file)
+ ;; run hooks before exporting
+ (run-hooks 'org-publish-before-export-hook)
+ ;; export the possibly modified buffer
+ (setq export-buf-or-file
+ (funcall (intern (concat "org-export-as-" format))
+ (plist-get plist :headline-levels)
+ nil plist nil nil pub-dir))
+ (when (and (bufferp export-buf-or-file)
+ (buffer-live-p export-buf-or-file))
+ (set-buffer export-buf-or-file)
+ ;; run hooks after export and save export
+ (and (run-hooks 'org-publish-after-export-hook)
+ (if (buffer-modified-p) (save-buffer)))
+ (kill-buffer export-buf-or-file))
+ ;; maybe restore buffer's content
+ (set-buffer init-buf)
+ (when (buffer-modified-p init-buf)
+ (erase-buffer)
+ (insert init-buf-string)
+ (save-buffer)
+ (goto-char init-point))
+ (unless visiting
+ (kill-buffer init-buf))))))
(defun org-publish-org-to-latex (plist filename pub-dir)
"Publish an org file to LaTeX.
See `org-publish-org-to' to the list of arguments."
(org-publish-org-to "latex" plist filename pub-dir))
+(defun org-publish-org-to-pdf (plist filename pub-dir)
+ "Publish an org file to PDF (via LaTeX).
+See `org-publish-org-to' to the list of arguments."
+ (org-publish-org-to "pdf" plist filename pub-dir))
+
(defun org-publish-org-to-html (plist filename pub-dir)
"Publish an org file to HTML.
See `org-publish-org-to' to the list of arguments."
@@ -667,6 +677,7 @@ Default for INDEX-FILENAME is 'index.org'."
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Interactive publishing functions
+;;;###autoload
(defalias 'org-publish-project 'org-publish)
;;;###autoload