Re: [Orgmode] Org-jekyll - org-publish-initialize-files-alist
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
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
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
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
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
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