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 14:49:09 -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]:47927) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VzthV-0005gB-5P for emacs-orgmode@gnu.org; Sun, 05 Jan 2014 14:49:34 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VzthT-0006iU-PF for emacs-orgmode@gnu.org; Sun, 05 Jan 2014 14:49:33 -0500 Received: from mail-pb0-x233.google.com ([2607:f8b0:400e:c01::233]:65208) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VzthT-0006iG-Dk for emacs-orgmode@gnu.org; Sun, 05 Jan 2014 14:49:31 -0500 Received: by mail-pb0-f51.google.com with SMTP id up15so17667811pbc.38 for ; Sun, 05 Jan 2014 11:49:29 -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 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 >> > >> > >> >