From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ista Zahn Subject: Re: Export each top level heading to separate file Date: Sun, 5 Jan 2014 19:55:54 -0500 Message-ID: References: <52C88F11.4050601@verizon.net> <52C89C41.70506@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:35014) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VzyUN-0000pM-Ff for emacs-orgmode@gnu.org; Sun, 05 Jan 2014 19:56:20 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VzyUK-0003Pk-DW for emacs-orgmode@gnu.org; Sun, 05 Jan 2014 19:56:19 -0500 Received: from mail-pb0-x235.google.com ([2607:f8b0:400e:c01::235]:63771) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VzyUK-0003PM-2M for emacs-orgmode@gnu.org; Sun, 05 Jan 2014 19:56:16 -0500 Received: by mail-pb0-f53.google.com with SMTP id ma3so17770872pbc.40 for ; Sun, 05 Jan 2014 16:56:14 -0800 (PST) In-Reply-To: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: John Kitchin Cc: emacs-orgmode Mailinglist , Alan L Tyree On Sun, Jan 5, 2014 at 4:56 PM, John Kitchin wrote: > hmm.. I don't know if it was a bug, I ran the code on my system before > sending it, and it worked for me ;) Your original code ran for me as well, but it inserted '::EXPORT_FILE_NAME::' where it should be just ':EXPORT_FILE_NAME:' I am glad you figured it out on your > system. > > you could avoid the double if statements like this: > > > (defun my-exp-headings-to-markdown () > "Export each top-level heading to markdown." > (interactive) > (org-map-entries > (lambda () > (let ((level (nth 1 (org-heading-components))) > (title (nth 4 (org-heading-components)))) > (when (= level 1) > (org-entry-put (point) "EXPORT_FILE_NAME" title) > (org-md-export-to-markdown nil 1 nil))))) > nil nil)) Great, thanks! Best, Ista > > > The when macro is like an if macro, with no else body. > > John > > ----------------------------------- > John Kitchin > Associate Professor > Doherty Hall A207F > Department of Chemical Engineering > Carnegie Mellon University > Pittsburgh, PA 15213 > 412-268-7803 > http://kitchingroup.cheme.cmu.edu > > > > On Sun, Jan 5, 2014 at 2:49 PM, Ista Zahn wrote: >> >> On Sun, Jan 5, 2014 at 8:40 AM, John Kitchin >> wrote: >> > Try this: >> > >> > >> > (org-map-entries >> > (lambda () >> > (let ((level (nth 1 (org-heading-components))) >> > (title (nth 4 (org-heading-components)))) >> > (if (= level 1) >> > (org-entry-put (point) ":EXPORT_FILE_NAME:" >> > title)))) >> > nil nil) >> > >> > It seems to do what you want. >> >> Dear John, >> >> Thank you thank you! Using your code as I template I managed to write >> a function that does what I wanted: >> >> (defun my-exp-headings-to-markdown () >> "Export each top-level heading to markdown." >> (interactive) >> (org-map-entries >> (lambda () >> (let ((level (nth 1 (org-heading-components))) >> (title (nth 4 (org-heading-components)))) >> (if (= level 1) >> (org-entry-put (point) "EXPORT_FILE_NAME" title)) >> (if (= level 1) >> (org-md-export-to-markdown nil 1 nil)))) >> nil nil)) >> >> Note that I had to remove the ":" from the second argument to >> "org-entry-put" to get it working properly on my system. Not sure if >> that was a bug in your original example or not. >> >> Best, >> Ista >> >> > >> > John >> > >> > ----------------------------------- >> > John Kitchin >> > Associate Professor >> > Doherty Hall A207F >> > Department of Chemical Engineering >> > Carnegie Mellon University >> > Pittsburgh, PA 15213 >> > 412-268-7803 >> > http://kitchingroup.cheme.cmu.edu >> > >> > >> > >> > On Sat, Jan 4, 2014 at 7:36 PM, Ista Zahn wrote: >> >> >> >> On Sat, Jan 4, 2014 at 6:41 PM, Alan L Tyree >> >> wrote: >> >> > On 05/01/14 09:45, Charles Millar wrote: >> >> >> >> >> >> Ista and all, >> >> >> >> >> >> On 1/4/2014 5:29 PM, Ista Zahn wrote: >> >> >>> >> >> >>> Hi all, >> >> >>> >> >> >>> I'm looking for a way to export each top-level heading to a >> >> >>> separate >> >> >>> markdown file. Ideally I would like to have the exported files >> >> >>> named >> >> >>> according to the heading. For example I would like this org file >> >> >>> >> >> >>> ----------------------------------- >> >> >>> * Section one >> >> >>> Section one text >> >> >>> * Section two >> >> >>> ** Section two a >> >> >>> Section two text >> >> >>> * Section three >> >> >>> Section three text >> >> >>> ----------------------------------- >> >> >>> >> >> >>> To generate three files: >> >> >>> >> >> >>> --- Section one.md --- >> >> >>> Section one text >> >> >>> >> >> >>> ----------------------------------- >> >> >>> >> >> >>> --- Section two.md--- >> >> >>> ## Section two a >> >> >>> >> >> >>> Section two text >> >> >>> >> >> >>> ----------------------------------- >> >> >>> >> >> >>> --- Section three.md - >> >> >>> # Section three >> >> >>> >> >> >>> Section three text >> >> >>> >> >> >>> ----------------------------------- >> >> >>> >> >> >>> I suspect that the publishing framework might support this, but >> >> >>> I've >> >> >>> thus far avoided it because it looks pretty complicated to set up. >> >> >>> Before I dive in I'd like to know if the publishing framework is >> >> >>> the >> >> >>> correct place to look for this functionality or if there is an >> >> >>> easier >> >> >>> way to do it. >> >> >>> >> >> >>> >> >> >> >> >> >> I have a similar question regarding LaTeX export. How to export a >> >> >> heading >> >> >> (any heading, regardless of level) within a file to heading.tex >> >> >> instead >> >> >> of >> >> >> file.tex? So far the only solution I have cobbled together is to C-x >> >> >> C-f >> >> >> 'file.tex" and then C-x C-w "heading.tex" . I then typeset >> >> >> heading.tex >> >> >> using TeXworks. Perhaps I should note that my exported heading is >> >> >> tagged so >> >> >> that the heading is ignored. >> >> >> >> >> >> Charlie Millar >> >> >> >> >> >> --- >> >> >> This email is free from viruses and malware because avast! Antivirus >> >> >> protection is active. >> >> >> http://www.avast.com >> >> >> >> >> >> >> >> >> >> >> > Use properties to set the export file name -- example: >> >> > :PROPERTIES: >> >> > :EXPORT_TITLE: Internet banking fraud >> >> > :EXPORT_FILE_NAME: internet-fraud >> >> > :EXPORT_AUTHOR: Alan L Tyree >> >> > :Citation: (2011) 22 JBFLP 214 >> >> > :EXPORT_OPTIONS: num:nil toc:nil >> >> > :END: >> >> >> >> Thanks, gets me half the way there. Setting properties as you >> >> described and exporting each sub-tree works properly. Now how can I do >> >> this for all the top-level headings in a file? >> >> >> >> Best, >> >> Ista >> >> >> >> > >> >> > If I understood your question properly. >> >> > >> >> > Cheers, >> >> > Alan >> >> > >> >> > >> >> > >> >> > -- >> >> > Alan L Tyree http://www2.austlii.edu.au/~alan >> >> > Tel: 04 2748 6206 sip:typhoon@iptel.org >> >> > >> >> > >> >> >> > > >