From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Eric Schulte" Subject: Re: Need help exporting subtrees to html Date: Thu, 31 Dec 2009 12:51:37 -0700 Message-ID: <87ljgigbw6.fsf@gmail.com> References: <55bd243d0912270834j73859a65veae0d06d39755257@mail.gmail.com> <3780C6B3-72F7-4438-8100-A307D9716857@gmail.com> <55bd243d0912271131r55927ec3w9edf16ff605f9f9c@mail.gmail.com> <773F1CE8-2EB7-4D29-BCD8-126C64EF6532@gmail.com> <55bd243d0912310550u79d37a3dia3ec509f5f04aa03@mail.gmail.com> <87tyv7f4kc.fsf@gmail.com> <55bd243d0912311002i501882fcvdb72d15b2325b7d7@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NQR3k-0002Cq-AF for emacs-orgmode@gnu.org; Thu, 31 Dec 2009 14:51:48 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NQR3f-0002CG-Gq for emacs-orgmode@gnu.org; Thu, 31 Dec 2009 14:51:47 -0500 Received: from [199.232.76.173] (port=50836 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NQR3f-0002CD-BJ for emacs-orgmode@gnu.org; Thu, 31 Dec 2009 14:51:43 -0500 Received: from mail-yx0-f191.google.com ([209.85.210.191]:35649) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NQR3f-0004K3-6W for emacs-orgmode@gnu.org; Thu, 31 Dec 2009 14:51:43 -0500 Received: by yxe29 with SMTP id 29so36993025yxe.14 for ; Thu, 31 Dec 2009 11:51:41 -0800 (PST) In-Reply-To: <55bd243d0912311002i501882fcvdb72d15b2325b7d7@mail.gmail.com> (Juan Reyero's message of "Thu, 31 Dec 2009 19:02:27 +0100") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Juan Reyero Cc: org-mode Mailing List , Carsten Dominik Juan Reyero writes: > On Thu, Dec 31, 2009 at 6:15 PM, Eric Schulte wr= ote: >> Juan Reyero writes: >> >>> On Thu, Dec 31, 2009 at 9:15 AM, Carsten Dominik >>> wrote: >>>> On Dec 27, 2009, at 8:31 PM, Juan Reyero wrote: >>>>> On Sun, Dec 27, 2009 at 7:35 PM, Carsten Dominik >>>>> wrote: >>>>>> On Dec 27, 2009, at 5:34 PM, Juan Reyero wrote: >>>>>>> I have written a function to export org-mode subtrees as jekyll pos= ts, >>>>>>> http://juanreyero.com/open/org-jekyll/ =C2=A0The idea is that any e= ntry in >>>>>>> an org-publish project that has a :blog: keyword and an :on: proper= ty >>>>>>> with a timestamp should be exported to a _posts directory with the >>>>>>> year-month-day-title.html that jekyll expects, with the properties = as >>>>>>> front-matter. >> If it helps, I've been doing something similar to support publishing >> updates on the org-babel development -- using the code shown here [1] >> under the "Development Updates" section. =C2=A0This generates a files in >> _posts for each subtree of of the "tasks" and "bugs" sections which have >> a time-stamp in their properties. =C2=A0It should be fairly straightforw= ard >> to adapt this code to export all properties as YAML frontmatter. > > It is exactly what I did :-). I found your code here [1], and adapted > it so that it would use files in an org-publish project and would > export properties. Ah, I should have read the thread more carefully :) > So thank you very much for making it available. It does, however, > have the same problem I find: the header level with which the piece is > exported (h1, h2, etc) depends on the outline level on which the item > you export happened to be. I was hoping to export the chunks > independently of where they were written. > So this turned out to be somewhat tricky. I was able to adjust my previous code so that every subtree will be promoted to a top-level heading before export by adding the following (this change can also be seen in my published code here [1]). --8<---------------cut here---------------start------------->8--- (org-narrow-to-subtree) (let ((level (- (org-outline-level) 1)) (contents (buffer-substring (point-min) (point-max)))) (dotimes (n level nil) (org-promote-subtree)) (setq html (org-export-as-html nil nil nil 'string t nil)) (set-buffer org-buffer) (delete-region (point-min) (point-max)) (insert contents) (save-buffer)) (widen) --8<---------------cut here---------------end--------------->8--- Hope this helps. Cheers -- Eric > > I will share it with Worg as soon as I manage to make it work. > > Best, > > Juan > > Footnotes: > [1] http://orgmode.org/worg/org-tutorials/org-jekyll.php (end of document= ). > >> >> Best -- Eric >> >> Footnotes: >> [1] =C2=A0http://eschulte.github.com/babel-dev/publish.html >> >> Footnotes:=20 [1] http://eschulte.github.com/babel-dev/publish.html