Re: [Orgmode] Org-jekyll - org-publish-initialize-files-alist

2010-07-02 Thread Juan Reyero
Nathan,

I've just pushed a version of org-jekyll that should solve the
problem, following Sebastian's suggestions, and it's available at
http://github.com/juanre/org-jekyll.  Sorry it's taken me so long to
respond; I am pretty much off-line lately for personal reasons.  And
thanks for bringing it out.

Best,

jm
--
http://juanreyero.com

On Wed, Jun 30, 2010 at 9:04 PM, Sebastian Rose sebastian_r...@gmx.de wrote:

 Nathan Neff nathan.n...@gmail.com writes:
  ...
  Below is the code where org-publish-initialize-files-alist is called
  in org-jekyll.
  It looks like in both cases, the code is trying to figure out what
  project the current
  file belongs to.  Can anyone suggest a fix?  I don't mean to push this
  on anyone, but I really don't know lisp that well.

  ...

  (defun org-jekyll-export-current-entry ()
    (interactive)
    (save-excursion
      (org-publish-initialize-files-alist) ; here
      (let ((project-name (cdr (assoc (expand-file-name (buffer-file-name))
                                      org-publish-files-alist
        (org-back-to-heading t)
        (org-jekyll-export-entry project-name

 I suppose `project-name' shall be the name of the project, i.e. a
 string?


 ;; Evtl. needed to keep compiler happy:
 (declare-function org-publish-get-project-from-filename org-publish
                  (filename optional up))

 (defun org-jekyll-export-current-entry ()
  (interactive)
  (save-excursion
    (let ((project-name (org-publish-get-project-from-filename 
 buffer-file-name)))
      (org-back-to-heading t)
      (org-jekyll-export-entry project-name





  (defun org-jekyll-export-blog ()
    Export all entries in project files that have a :blog: keyword
  and an :on: datestamp.  Property drawers are exported as
  front-matters, outline entry title is the exported document
  title. 
    (interactive)
    (save-excursion
      (org-publish-initialize-files-alist) ;;  -- here
      (setq org-jekyll-new-buffers nil)
      (mapc
       (lambda (jfile-project)
         (let ((jfile (car jfile-project))
               (project (cdr jfile-project)))
           (if (string= (file-name-extension jfile) org)
               (with-current-buffer (org-get-jekyll-file-buffer jfile)
                 (org-map-entries (lambda () (org-jekyll-export-entry 
  project))
                                  blog|BLOG)
       (org-publish-get-files (org-publish-expand-projects
                               (list (org-publish-get-project-from-filename
                                      (buffer-file-name) 'up)
      (org-release-buffers org-jekyll-new-buffers)))


 (defun org-jekyll-export-blog ()
  Export all entries in project files that have a :blog: keyword
 and an :on: datestamp.  Property drawers are exported as
 front-matters, outline entry title is the exported document
 title. 
  (interactive)
  (save-excursion
    (setq org-jekyll-new-buffers nil)
    (mapc
     (lambda (jfile-project)
       (let ((jfile (car jfile-project))
             (project (cdr jfile-project)))
         (if (string= (file-name-extension jfile) org)
             (with-current-buffer (org-get-jekyll-file-buffer jfile)
               (org-map-entries (lambda () (org-jekyll-export-entry project))
                                blog|BLOG)

     ;; NOT SURE IF THIS WILL WORK HERE:
     (org-publish-get-base-files
       (list (org-publish-get-project-from-filename (buffer-file-name) 'up
    (org-release-buffers org-jekyll-new-buffers)))



 HTH

   Sebastian

 ___
 Emacs-orgmode mailing list
 Please use `Reply All' to send replies to the list.
 Emacs-orgmode@gnu.org
 http://lists.gnu.org/mailman/listinfo/emacs-orgmode



--
http://juanreyero.com/
http://unarueda.com

___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


Re: [Orgmode] Org-jekyll - org-publish-initialize-files-alist

2010-06-30 Thread Sebastian Rose
Nathan Neff nathan.n...@gmail.com writes:
 Some time ago, I set up a blog using org-jekyll.  I recently tried
 to publish my blog, but when I run:

 org-jekyll-export-blog

 I get the message:  Symbol's function definition is void:
 org-publish-initialize-files-alist

 I grepped for this function, and noticed that it is now defined in
 org-protocol.el
 using (declare-function org-publish-initilialize-files-alist org-publish),
 whereas before, the function was declared in org-publish.el

 Can anyone help with this problem?

 I tried putting this in my emacs, but it didn't work:
 (require 'org-protocol.el)
 (require 'org-publish)
 (require 'org-jekyll)



Hi Nathan,


glad you pointed out this one.

No, that function does not exist anymore!

It is still declared in org-protocol.el but that's obsolete.  I'll have
to remove that from org-protocol.el.


The list of files in a project is now stored as elisp code in cache
files. You can find all the functions in questions by either searching
`(defun org-publish-cache' in org-publish.el, or simply doing

C-h f org-publish-cache TAB TAB





Best wishes

  Sebastian

___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


Re: [Orgmode] Org-jekyll - org-publish-initialize-files-alist

2010-06-30 Thread Sebastian Rose
Nathan Neff nathan.n...@gmail.com writes:
 Some time ago, I set up a blog using org-jekyll.  I recently tried
 to publish my blog, but when I run:

 org-jekyll-export-blog

 I get the message:  Symbol's function definition is void:
 org-publish-initialize-files-alist

 I grepped for this function, and noticed that it is now defined in
 org-protocol.el
 using (declare-function org-publish-initilialize-files-alist org-publish),
 whereas before, the function was declared in org-publish.el

 Can anyone help with this problem?

 I tried putting this in my emacs, but it didn't work:
 (require 'org-protocol.el)
 (require 'org-publish)
 (require 'org-jekyll)

 Thanks,
 --Nate


Nathan,

I cannot find a file named org-jekyll.el or similar.

But I guess `org-publish-initialize-files-alist' is just called to find
a project the current files belongs to.
If that is the case, you simply remove the call to that function and use

  (let ((project
 (org-publish-get-project-from-filename buffer-file-name)))
   


If you encounter any problems, I'll be glad to help.



   Sebastian

___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


Re: [Orgmode] Org-jekyll - org-publish-initialize-files-alist

2010-06-30 Thread Nathan Neff
On Wed, Jun 30, 2010 at 6:45 AM, Sebastian Rose sebastian_r...@gmx.de wrote:
 Nathan Neff nathan.n...@gmail.com writes:
 Some time ago, I set up a blog using org-jekyll.  I recently tried
 to publish my blog, but when I run:

 org-jekyll-export-blog

 I get the message:  Symbol's function definition is void:
 org-publish-initialize-files-alist

 I grepped for this function, and noticed that it is now defined in
 org-protocol.el
 using (declare-function org-publish-initilialize-files-alist org-publish),
 whereas before, the function was declared in org-publish.el

 Can anyone help with this problem?

 I tried putting this in my emacs, but it didn't work:
 (require 'org-protocol.el)
 (require 'org-publish)
 (require 'org-jekyll)

 Thanks,
 --Nate


 Nathan,

 I cannot find a file named org-jekyll.el or similar.

 But I guess `org-publish-initialize-files-alist' is just called to find
 a project the current files belongs to.
 If that is the case, you simply remove the call to that function and use

  (let ((project
         (org-publish-get-project-from-filename buffer-file-name)))
   


 If you encounter any problems, I'll be glad to help.



   Sebastian


Thanks for your replies -- I don't know too much about the inner workings of
org-jekyll, so I might forward this to the author.  In the meantine,
if anyone wants to take a poke at this, I would appreciate it.  I can
always revert to a prior version of org when I want to publish, so I'm
not being held back.

Below is the code where org-publish-initialize-files-alist is called
in org-jekyll.
It looks like in both cases, the code is trying to figure out what
project the current
file belongs to.  Can anyone suggest a fix?  I don't mean to push this
on anyone, but I really don't know lisp that well.

(defun org-jekyll-export-current-entry ()
  (interactive)
  (save-excursion
(org-publish-initialize-files-alist) ; here
(let ((project-name (cdr (assoc (expand-file-name (buffer-file-name))
org-publish-files-alist
  (org-back-to-heading t)
  (org-jekyll-export-entry project-name

And another time here:

(defun org-jekyll-export-blog ()
  Export all entries in project files that have a :blog: keyword
and an :on: datestamp.  Property drawers are exported as
front-matters, outline entry title is the exported document
title. 
  (interactive)
  (save-excursion
(org-publish-initialize-files-alist) ;;  -- here
(setq org-jekyll-new-buffers nil)
(mapc
 (lambda (jfile-project)
   (let ((jfile (car jfile-project))
 (project (cdr jfile-project)))
 (if (string= (file-name-extension jfile) org)
 (with-current-buffer (org-get-jekyll-file-buffer jfile)
   (org-map-entries (lambda () (org-jekyll-export-entry project))
blog|BLOG)
 (org-publish-get-files (org-publish-expand-projects
 (list (org-publish-get-project-from-filename
(buffer-file-name) 'up)
(org-release-buffers org-jekyll-new-buffers)))

___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


Re: [Orgmode] Org-jekyll - org-publish-initialize-files-alist

2010-06-30 Thread Sebastian Rose
Nathan Neff nathan.n...@gmail.com writes:
 ...
 Below is the code where org-publish-initialize-files-alist is called
 in org-jekyll.
 It looks like in both cases, the code is trying to figure out what
 project the current
 file belongs to.  Can anyone suggest a fix?  I don't mean to push this
 on anyone, but I really don't know lisp that well.

 ...

 (defun org-jekyll-export-current-entry ()
   (interactive)
   (save-excursion
 (org-publish-initialize-files-alist) ; here
 (let ((project-name (cdr (assoc (expand-file-name (buffer-file-name))
 org-publish-files-alist
   (org-back-to-heading t)
   (org-jekyll-export-entry project-name

I suppose `project-name' shall be the name of the project, i.e. a
string?


;; Evtl. needed to keep compiler happy:
(declare-function org-publish-get-project-from-filename org-publish
  (filename optional up))

(defun org-jekyll-export-current-entry ()
  (interactive)
  (save-excursion
(let ((project-name (org-publish-get-project-from-filename 
buffer-file-name)))
  (org-back-to-heading t)
  (org-jekyll-export-entry project-name





 (defun org-jekyll-export-blog ()
   Export all entries in project files that have a :blog: keyword
 and an :on: datestamp.  Property drawers are exported as
 front-matters, outline entry title is the exported document
 title. 
   (interactive)
   (save-excursion
 (org-publish-initialize-files-alist) ;;  -- here
 (setq org-jekyll-new-buffers nil)
 (mapc
  (lambda (jfile-project)
(let ((jfile (car jfile-project))
  (project (cdr jfile-project)))
  (if (string= (file-name-extension jfile) org)
  (with-current-buffer (org-get-jekyll-file-buffer jfile)
(org-map-entries (lambda () (org-jekyll-export-entry project))
 blog|BLOG)
  (org-publish-get-files (org-publish-expand-projects
  (list (org-publish-get-project-from-filename
 (buffer-file-name) 'up)
 (org-release-buffers org-jekyll-new-buffers)))


(defun org-jekyll-export-blog ()
  Export all entries in project files that have a :blog: keyword
and an :on: datestamp.  Property drawers are exported as
front-matters, outline entry title is the exported document
title. 
  (interactive)
  (save-excursion
(setq org-jekyll-new-buffers nil)
(mapc
 (lambda (jfile-project)
   (let ((jfile (car jfile-project))
 (project (cdr jfile-project)))
 (if (string= (file-name-extension jfile) org)
 (with-current-buffer (org-get-jekyll-file-buffer jfile)
   (org-map-entries (lambda () (org-jekyll-export-entry project))
blog|BLOG)

 ;; NOT SURE IF THIS WILL WORK HERE:
 (org-publish-get-base-files 
   (list (org-publish-get-project-from-filename (buffer-file-name) 'up
(org-release-buffers org-jekyll-new-buffers)))



HTH

   Sebastian

___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


Re: [Orgmode] Org-jekyll - org-publish-initialize-files-alist

2010-06-29 Thread Puneeth
Hi,

On Wed, Jun 30, 2010 at 4:15 AM, Nathan Neff nathan.n...@gmail.com wrote:
[..]
 I tried putting this in my emacs, but it didn't work:
 (require 'org-protocol.el)
 (require 'org-publish)
 (require 'org-jekyll)

I haven't used Jekyll, but should it be just org-protocol and not
org-protocol.el?
(require 'org-protocol)

Thanks
Puneeth

___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode