emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] #+INCLUDE: myfile.html html does not include /literally/; Org pr


From: Achim Gratz
Subject: Re: [O] #+INCLUDE: myfile.html html does not include /literally/; Org processes
Date: Sun, 01 Jun 2014 09:53:58 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.91 (gnu/linux)

Omid writes:
> I am trying to include an HTML file (say myfile.html, which has only
> the <body>) in an Org file so that upon export the contents of
> myfile.html are /literally/ inserted in the appropriate section of the
> exported HTML file.

That's not yet possible.  The following patch would implement it, but I
guess there are a few things that need to be discussed before this gets
official, if at all.  I haven't given it much testing either.

>From 425b53146b99b1dd9b9b5d9b96e950dfea81835c Mon Sep 17 00:00:00 2001
From: Achim Gratz <address@hidden>
Date: Sun, 1 Jun 2014 09:49:48 +0200
Subject: [PATCH] ox: implement "wrap" for #+INCLUDE

* lisp/ox.el (org-export-expand-include-keyword): Implement additional
  "wrap" parameter for including files literally, wrapped in an
  appropriate block (usually an export block).  The contents of the
  file gets included literally.

This is experimental, the documentation and testing for this feature
is missing!
---
 lisp/ox.el | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

diff --git a/lisp/ox.el b/lisp/ox.el
index be843e6..26d2a9e 100644
--- a/lisp/ox.el
+++ b/lisp/ox.el
@@ -3305,9 +3305,10 @@ (defun org-export-expand-include-keyword (&optional 
included dir)
                        value)
                       (prog1 (match-string 1 value)
                         (setq value (replace-match "" nil nil value)))))
-                (env (cond ((string-match "\\<example\\>" value) 'example)
-                           ((string-match "\\<src\\(?: +\\(.*\\)\\)?" value)
-                            (match-string 1 value))))
+                (env (cond ((string-match "\\(\\<example\\)\\>" value) 
'example)
+                           ((string-match "\\<wrap\\(?: +\\(.*\\)\\)?" value) 
'wrap)
+                           ((string-match "\\<src\\(?: +\\(.*\\)\\)?" value) 
'src)))
+                (lang (when env (match-string 1 value)))
                 ;; Minimal level of included file defaults to the child
                 ;; level of the current headline, if any, or one.  It
                 ;; only applies is the file is meant to be included as
@@ -3340,14 +3341,21 @@ (defun org-export-expand-include-keyword (&optional 
included dir)
                         (org-export--prepare-file-contents file lines))))
                   (format "%s#+BEGIN_EXAMPLE\n%s%s#+END_EXAMPLE\n"
                           ind-str contents ind-str))))
-              ((stringp env)
+              ((eq env 'src)
                (insert
                 (let ((ind-str (make-string ind ? ))
                       (contents
                        (org-escape-code-in-string
                         (org-export--prepare-file-contents file lines))))
                   (format "%s#+BEGIN_SRC %s\n%s%s#+END_SRC\n"
-                          ind-str env contents ind-str))))
+                          ind-str lang contents ind-str))))
+              ((eq env 'wrap)
+               (insert
+                (let ((ind-str (make-string ind ? ))
+                      (contents
+                        (org-export--prepare-file-contents file lines)))
+                  (format "%s#+BEGIN_%s\n%s%s#+END_%s\n"
+                          ind-str lang contents ind-str lang))))
               (t
                (insert
                 (with-temp-buffer
-- 
1.9.3


Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

SD adaptations for Waldorf Q V3.00R3 and Q+ V3.54R2:
http://Synth.Stromeko.net/Downloads.html#WaldorfSDada

reply via email to

[Prev in Thread] Current Thread [Next in Thread]