Re: [O] Separate Org file from Subtree

2015-08-04 Thread Bastien Guerry
Hi Simon,

with a recent Org (8.0) :

- load ox-org.el (require 'ox-org)
- go to your heading
- trigger the export menu with C-c C-e
- restrict to the subtree with C-s
- export as an Org file with O o

HTH,

-- 
 Bastien



Re: [O] Separate Org file from Subtree

2015-02-16 Thread John Kitchin
Change :EXPORT_FILENAME: an-interesting-article to :EXPORT_FILE_NAME:
an-interesting-article

Then,

C-c C-e C-s O o

should export to that file. I notice in the org export that the
properties are not getting exported, and even the headline is not
exported as the title though.

Here is a function that seems to do what you want.

#+BEGIN_SRC emacs-lisp
(defun export-subtree ()
 (interactive)
 (let ((fname  (concat (org-entry-get (point) EXPORT_FILE_NAME) .org))
   (author (org-entry-get (point) EXPORT_AUTHOR))
   (title (org-entry-get (point) EXPORT_TITLE))
   (date (org-entry-get (point) EXPORT_DATE))
   (content (progn (set-buffer (org-org-export-as-org nil t t))
   (buffer-string
   ;; warning you can delete something unintentionally
   (when (file-exists-p fname) (delete-file fname))
   (find-file fname)
   (insert #+TITLE:  title \n)
   (insert #+AUTHOR:  author \n)
   (insert #+DATE:  date \n)
   (insert \n content)
   ;; remove properties drawer. Kind of hacky.
   (goto-char (point-min))
   (re-search-forward :PROPERTIES:)
   (setf (buffer-substring
  (org-element-property :begin (org-element-context))
  (org-element-property :end (org-element-context)))
   )
   (save-buffer)))

(export-subtree)
#+END_SRC

si...@psilas.com writes:

 Hi there,

 I think I must be missing something.

 I have  a collection of articles in one org file (under separate
 headings). I can export these as a subtree using Org's normal export
 function as html etc., but I want to export the selected subtree as an
 individual org file using the properties under each heading.)

 In other words I want to export this subtree ...
 * DONE Article One
 :PROPERTIES:
 :EXPORT_TITLE: An Interesting Article
 :EXPORT_AUTHOR: Simon Jones
 :EXPORT_FILENAME: an-interesting-article
 :EXPORT_DATE: 2015-02-16
 :END:

 Article content 

 into an Org file entitled 'an-interesting-article.org' that looks like
 this ...

 #+TITLE: An Interesting Article
 #+AUTHOR: Simon Jones
 #+DATE: 2015-02-16

 Article content...

 Can anyone help me with this? I'm very sorry if I'm missing something
 obvious.

 Simon.

--
Professor John Kitchin
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803
@johnkitchin
http://kitchingroup.cheme.cmu.edu



Re: [O] Separate Org file from Subtree

2015-02-16 Thread simon
Thanks very much for this John.  As you say, the normal export C-c C-e
C-s O o does not work as expected. Your function exported the
properties properly, but seemed to work on the visible text only and
wouldn't export the content of  headings (unless I unfold them all prior
to import). If the article was like this:

* DONE Article One
 :PROPERTIES:
 :EXPORT_TITLE: An Interesting Article
 :EXPORT_AUTHOR: Simon Jones
:EXPORT_FILE_NAME: an-interesting-article
:EXPORT_DATE: 2015-02-16
 :END:

Article content 

** Section title
Section content

it would export as intended but without the section content. Thanks
again for your time.

Simon
---


On Mon, 16 Feb 2015, at 12:54 PM, John Kitchin wrote:
 Change :EXPORT_FILENAME: an-interesting-article to :EXPORT_FILE_NAME:
 an-interesting-article
 
 Then,
 
 C-c C-e C-s O o
 
 should export to that file. I notice in the org export that the
 properties are not getting exported, and even the headline is not
 exported as the title though.
 
 Here is a function that seems to do what you want.
 
 #+BEGIN_SRC emacs-lisp
 (defun export-subtree ()
  (interactive)
  (let ((fname  (concat (org-entry-get (point) EXPORT_FILE_NAME)
  .org))
(author (org-entry-get (point) EXPORT_AUTHOR))
(title (org-entry-get (point) EXPORT_TITLE))
(date (org-entry-get (point) EXPORT_DATE))
(content (progn (set-buffer (org-org-export-as-org nil t t))
(buffer-string
;; warning you can delete something unintentionally
(when (file-exists-p fname) (delete-file fname))
(find-file fname)
(insert #+TITLE:  title \n)
(insert #+AUTHOR:  author \n)
(insert #+DATE:  date \n)
(insert \n content)
;; remove properties drawer. Kind of hacky.
(goto-char (point-min))
(re-search-forward :PROPERTIES:)
(setf (buffer-substring
   (org-element-property :begin (org-element-context))
   (org-element-property :end (org-element-context)))
)
(save-buffer)))
 
 (export-subtree)
 #+END_SRC
 
 si...@psilas.com writes:
 
  Hi there,
 
  I think I must be missing something.
 
  I have  a collection of articles in one org file (under separate
  headings). I can export these as a subtree using Org's normal export
  function as html etc., but I want to export the selected subtree as an
  individual org file using the properties under each heading.)
 
  In other words I want to export this subtree ...
  * DONE Article One
  :PROPERTIES:
  :EXPORT_TITLE: An Interesting Article
  :EXPORT_AUTHOR: Simon Jones
  :EXPORT_FILENAME: an-interesting-article
  :EXPORT_DATE: 2015-02-16
  :END:
 
  Article content 
 
  into an Org file entitled 'an-interesting-article.org' that looks like
  this ...
 
  #+TITLE: An Interesting Article
  #+AUTHOR: Simon Jones
  #+DATE: 2015-02-16
 
  Article content...
 
  Can anyone help me with this? I'm very sorry if I'm missing something
  obvious.
 
  Simon.
 
 --
 Professor John Kitchin
 Doherty Hall A207F
 Department of Chemical Engineering
 Carnegie Mellon University
 Pittsburgh, PA 15213
 412-268-7803
 @johnkitchin
 http://kitchingroup.cheme.cmu.edu



Re: [O] Separate Org file from Subtree

2015-02-16 Thread John Kitchin
I think if you change (org-org-export-as-org nil t t) to
(org-org-export-as-org nil t) you would get the section content. I
didn't test it though.

si...@psilas.com writes:

 Thanks very much for this John.  As you say, the normal export C-c C-e
 C-s O o does not work as expected. Your function exported the
 properties properly, but seemed to work on the visible text only and
 wouldn't export the content of  headings (unless I unfold them all prior
 to import). If the article was like this:

 * DONE Article One
  :PROPERTIES:
  :EXPORT_TITLE: An Interesting Article
  :EXPORT_AUTHOR: Simon Jones
 :EXPORT_FILE_NAME: an-interesting-article
 :EXPORT_DATE: 2015-02-16
  :END:

 Article content 

 ** Section title
 Section content

 it would export as intended but without the section content. Thanks
 again for your time.

 Simon
 ---


 On Mon, 16 Feb 2015, at 12:54 PM, John Kitchin wrote:
 Change :EXPORT_FILENAME: an-interesting-article to :EXPORT_FILE_NAME:
 an-interesting-article

 Then,

 C-c C-e C-s O o

 should export to that file. I notice in the org export that the
 properties are not getting exported, and even the headline is not
 exported as the title though.

 Here is a function that seems to do what you want.

 #+BEGIN_SRC emacs-lisp
 (defun export-subtree ()
  (interactive)
  (let ((fname  (concat (org-entry-get (point) EXPORT_FILE_NAME)
  .org))
(author (org-entry-get (point) EXPORT_AUTHOR))
(title (org-entry-get (point) EXPORT_TITLE))
(date (org-entry-get (point) EXPORT_DATE))
(content (progn (set-buffer (org-org-export-as-org nil t t))
(buffer-string
;; warning you can delete something unintentionally
(when (file-exists-p fname) (delete-file fname))
(find-file fname)
(insert #+TITLE:  title \n)
(insert #+AUTHOR:  author \n)
(insert #+DATE:  date \n)
(insert \n content)
;; remove properties drawer. Kind of hacky.
(goto-char (point-min))
(re-search-forward :PROPERTIES:)
(setf (buffer-substring
   (org-element-property :begin (org-element-context))
   (org-element-property :end (org-element-context)))
)
(save-buffer)))

 (export-subtree)
 #+END_SRC

 si...@psilas.com writes:

  Hi there,
 
  I think I must be missing something.
 
  I have  a collection of articles in one org file (under separate
  headings). I can export these as a subtree using Org's normal export
  function as html etc., but I want to export the selected subtree as an
  individual org file using the properties under each heading.)
 
  In other words I want to export this subtree ...
  * DONE Article One
  :PROPERTIES:
  :EXPORT_TITLE: An Interesting Article
  :EXPORT_AUTHOR: Simon Jones
  :EXPORT_FILENAME: an-interesting-article
  :EXPORT_DATE: 2015-02-16
  :END:
 
  Article content 
 
  into an Org file entitled 'an-interesting-article.org' that looks like
  this ...
 
  #+TITLE: An Interesting Article
  #+AUTHOR: Simon Jones
  #+DATE: 2015-02-16
 
  Article content...
 
  Can anyone help me with this? I'm very sorry if I'm missing something
  obvious.
 
  Simon.

 --
 Professor John Kitchin
 Doherty Hall A207F
 Department of Chemical Engineering
 Carnegie Mellon University
 Pittsburgh, PA 15213
 412-268-7803
 @johnkitchin
 http://kitchingroup.cheme.cmu.edu

--
Professor John Kitchin
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803
@johnkitchin
http://kitchingroup.cheme.cmu.edu



Re: [O] Separate Org file from Subtree

2015-02-16 Thread simon
That's perfect John, works a treat!

Thank you very much.

Simon.
---

On Mon, 16 Feb 2015, at 02:59 PM, John Kitchin wrote:
 I think if you change (org-org-export-as-org nil t t) to
 (org-org-export-as-org nil t) you would get the section content. I
 didn't test it though.
 
 si...@psilas.com writes:
 
  Thanks very much for this John.  As you say, the normal export C-c C-e
  C-s O o does not work as expected. Your function exported the
  properties properly, but seemed to work on the visible text only and
  wouldn't export the content of  headings (unless I unfold them all prior
  to import). If the article was like this:
 
  * DONE Article One
   :PROPERTIES:
   :EXPORT_TITLE: An Interesting Article
   :EXPORT_AUTHOR: Simon Jones
  :EXPORT_FILE_NAME: an-interesting-article
  :EXPORT_DATE: 2015-02-16
   :END:
 
  Article content 
 
  ** Section title
  Section content
 
  it would export as intended but without the section content. Thanks
  again for your time.
 
  Simon
  ---
 
 
  On Mon, 16 Feb 2015, at 12:54 PM, John Kitchin wrote:
  Change :EXPORT_FILENAME: an-interesting-article to :EXPORT_FILE_NAME:
  an-interesting-article
 
  Then,
 
  C-c C-e C-s O o
 
  should export to that file. I notice in the org export that the
  properties are not getting exported, and even the headline is not
  exported as the title though.
 
  Here is a function that seems to do what you want.
 
  #+BEGIN_SRC emacs-lisp
  (defun export-subtree ()
   (interactive)
   (let ((fname  (concat (org-entry-get (point) EXPORT_FILE_NAME)
   .org))
 (author (org-entry-get (point) EXPORT_AUTHOR))
 (title (org-entry-get (point) EXPORT_TITLE))
 (date (org-entry-get (point) EXPORT_DATE))
 (content (progn (set-buffer (org-org-export-as-org nil t t))
 (buffer-string
 ;; warning you can delete something unintentionally
 (when (file-exists-p fname) (delete-file fname))
 (find-file fname)
 (insert #+TITLE:  title \n)
 (insert #+AUTHOR:  author \n)
 (insert #+DATE:  date \n)
 (insert \n content)
 ;; remove properties drawer. Kind of hacky.
 (goto-char (point-min))
 (re-search-forward :PROPERTIES:)
 (setf (buffer-substring
(org-element-property :begin (org-element-context))
(org-element-property :end (org-element-context)))
 )
 (save-buffer)))
 
  (export-subtree)
  #+END_SRC
 
  si...@psilas.com writes:
 
   Hi there,
  
   I think I must be missing something.
  
   I have  a collection of articles in one org file (under separate
   headings). I can export these as a subtree using Org's normal export
   function as html etc., but I want to export the selected subtree as an
   individual org file using the properties under each heading.)
  
   In other words I want to export this subtree ...
   * DONE Article One
   :PROPERTIES:
   :EXPORT_TITLE: An Interesting Article
   :EXPORT_AUTHOR: Simon Jones
   :EXPORT_FILENAME: an-interesting-article
   :EXPORT_DATE: 2015-02-16
   :END:
  
   Article content 
  
   into an Org file entitled 'an-interesting-article.org' that looks like
   this ...
  
   #+TITLE: An Interesting Article
   #+AUTHOR: Simon Jones
   #+DATE: 2015-02-16
  
   Article content...
  
   Can anyone help me with this? I'm very sorry if I'm missing something
   obvious.
  
   Simon.
 
  --
  Professor John Kitchin
  Doherty Hall A207F
  Department of Chemical Engineering
  Carnegie Mellon University
  Pittsburgh, PA 15213
  412-268-7803
  @johnkitchin
  http://kitchingroup.cheme.cmu.edu
 
 --
 Professor John Kitchin
 Doherty Hall A207F
 Department of Chemical Engineering
 Carnegie Mellon University
 Pittsburgh, PA 15213
 412-268-7803
 @johnkitchin
 http://kitchingroup.cheme.cmu.edu



[O] Separate Org file from Subtree

2015-02-16 Thread simon
Hi there,

I think I must be missing something.

I have  a collection of articles in one org file (under separate
headings). I can export these as a subtree using Org's normal export
function as html etc., but I want to export the selected subtree as an
individual org file using the properties under each heading.)

In other words I want to export this subtree ...
* DONE Article One
:PROPERTIES:
:EXPORT_TITLE: An Interesting Article
:EXPORT_AUTHOR: Simon Jones
:EXPORT_FILENAME: an-interesting-article
:EXPORT_DATE: 2015-02-16
:END:

Article content 

into an Org file entitled 'an-interesting-article.org' that looks like
this ...

#+TITLE: An Interesting Article
#+AUTHOR: Simon Jones
#+DATE: 2015-02-16

Article content...

Can anyone help me with this? I'm very sorry if I'm missing something
obvious.

Simon.