From mboxrd@z Thu Jan 1 00:00:00 1970 From: Neil Smithline Subject: [FEATURE PROPOSAL] Date: Sun, 20 May 2012 18:02:02 -0400 Message-ID: <4FB969DA.2000708@neilsmithline.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([208.118.235.92]:35997) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SWECW-0006WI-PP for emacs-orgmode@gnu.org; Sun, 20 May 2012 18:02:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SWECV-0007sb-3y for emacs-orgmode@gnu.org; Sun, 20 May 2012 18:02:08 -0400 Received: from mail-qa0-f41.google.com ([209.85.216.41]:39136) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SWECU-0007sT-WF for emacs-orgmode@gnu.org; Sun, 20 May 2012 18:02:07 -0400 Received: by qabg27 with SMTP id g27so1335039qab.0 for ; Sun, 20 May 2012 15:02:05 -0700 (PDT) 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: Org Mode Since falling in love with Org projects, I've run into one snag that I don't know how to handle with the current features. I want to be able to run org-export-project ("\C-c\C-ep") from any file in a directory or sub-directory. Even if that file is not actually exported. In fact, I'd like to be able to export from a shell. For example, assume I have a directory "myproject" with sub-directories "source", "output", and "tools". The files in "source" are exported to "output". The files in "tools" and any other files in "myproject" don't get exported. Given the above example, I want to be able to run org-export-project from any file, shell buffer, dired buffer, or whatever, that is in "myproject"s directory subtree. New project type definition: '("myproject-root" ;; While :publishing-directory is must be present to make ;; org-mode work: ;; `:base-directory' ;; `:recursive' ;; `:catch-all-project' ;; are the only ones used. :catch-all-project is a boolean. ;; When non-nil it will tell org-mode to use files in this ;; subtree to trigger exporting of a parent project :base-directory "~/myproject" :catch-all-project t :publishing-directory "~/myproject" :recursive t ) Root project definition: '("myproject" (:components "myproject-source" "myproject-root")) The only thing that myproject-root does is enable org-mode to identify that a file is in the myproject meta-project. Thoughts? Neil -- Neil Smithline http://www.neilsmithline.com Proud GNU Emacs user since 1986, v. 18.24.