[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orgmode] can't make org-publish do anything

From: Dan Davison
Subject: Re: [Orgmode] can't make org-publish do anything
Date: Fri, 4 Jul 2008 23:50:52 +0100
User-agent: Mutt/1.5.18 (2008-05-17)

On Sat, Jul 05, 2008 at 12:04:48AM +0200, Sebastian Rose wrote:
> Hi Dan,
> org-publish-to-html is the default as I look in the code ...
> Sorry.
> When I put the value of your org-publish-projects-alist into my
> own one and evaluate it, it works here. So maybe Manish was on
> the right track, hopefully.

Yes, he was. I think I may have identified the bug. The symptom is
that when the directory ~/.org-timestamps does not exist, org-publish
does nothing. I think what it should do is create ~/.org-timestamps,
and go ahead with the requested publishing. org-publish.el contains
the function org-publish-needed-p which is supposed to return 't' if
the file should be published.  Here's my suggested change which seems
to result in the behaviour I was expecting. But I haven't looked at
the code extensively, maybe there's some more appropriate place to
make the missing timestamp directory. Also, I barely know what I'm
doing in elisp. The original defun is below.

~> diff -uNr /usr/local/src/org-mode/lisp/org-publish.el ~/org-publish-dan.el 
--- /usr/local/src/org-mode/lisp/org-publish.el          2008-07-04 
23:25:36.000000000 +0100
+++ /home/dan/org-publish-dan.el                         2008-07-04 
23:27:17.000000000 +0100
@@ -312,7 +312,9 @@
                   ;; there is a timestamp, check if FILENAME is newer
-                           filename (org-publish-timestamp-filename 
+                                filename (org-publish-timestamp-filename 
+                                (make-directory 
+                                t)
     ;; don't use timestamps, always return t

Thanks Manish and Sebastian.


current version:

(defun org-publish-needed-p (filename)
  "Return `t' if FILENAME should be published."
  (if org-publish-use-timestamps-flag
      (if (file-exists-p org-publish-timestamp-directory)
          ;; first handle possible wrong timestamp directory                    
          (if (not (file-directory-p org-publish-timestamp-directory))
              (error "Org publish timestamp: %s is not a directory"
            ;; there is a timestamp, check if FILENAME is newer                 
             filename (org-publish-timestamp-filename filename))))
    ;; don't use timestamps, always return t                                    

> Regards, Sebastian
> Dan Davison schrieb:
>> I'm trying to get going with org-publish, but am falling at the first 
>> hurdle. I can't get it to do anything...
>> C-h v shows that org-publish-projects-alist has the value
>> (("website" :base-directory "~/website/" :publishing-directory 
>> "~/pub_html/website/" :section-numbers nil :table-of-contents nil))
>> The directory ~/website exists and contains a trivial org syntax file called 
>> root.org ('* hello' followed by a newline)
>> The directory ~/pub_html/website exists.
>> I was expecting org-publish website, and C-c C-e X website (incidentally the 
>> X is erroneously down as a C in the documentation node 13.3) to result in a 
>> file called root.html being written to ~/pub_html/website, but that 
>> directory remains empty, despite repeated invocations of the same commands...
>> I know I'm being stupid... how, please?
>> Cheers,
>> Dan
>> Org-mode version 6.06pre01
>> I've tried with and without the trailing slashes on the 
>> base/publishing-directory values, the documentation shows trailing slashes
>> I've tried manually expanding ~, to no avail. (But I believe ~ should be 
>> fine as it is)
>> _______________________________________________
>> Emacs-orgmode mailing list
>> Remember: use `Reply All' to send replies to the list.
>> address@hidden
>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode

reply via email to

[Prev in Thread] Current Thread [Next in Thread]