Hi List, 

it is now possible to convert existing Org-mode files with source-blocks into
machine-executable source-code files, using the following function from

#+begin_src emacs-lisp
(defun outorg-convert-org-file-to-source-code
  (&optional mode infile outfile BATCH)
  "Convert an existing Org-mode file into an Outshine buffer.

If MODE is non-nil, the Outshine buffer will be put in this
major-mode, otherwise the major-mode of the language of the first
source-code block in the Org-mode buffer will be used.

If INFILE is non-nil, the specified Org-mode file will be visited
and its buffer converted, otherwise the current buffer will be

If OUTFILE is non-nil, the converted Outshine buffer will be saved in this
file. Its the user's responsability to make sure that OUTFILE's
file-extension is suited for the major-mode of the Outshine buffer to be
saved. When in doubt, consult variable  `auto-mode-alist' for associations
between file-extensions and major-modes.

If BATCH is non-nil (and OUTFILE is non-nil, otherwise it makes
no sense), the new Outshine file is saved and its buffer

Usage example:

| (outorg-convert-org-file-to-source-code
|    "emacs-lisp-mode" "~/junk/test.org" "~/junk/test.el" 'BATCH)

I'm not sure about the general use case for this, but I do have my uses for
it, so I announce it here because it might serve others too.

This is *not* about tangling, try it out to see the (big) difference.


Reply via email to