emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [Orgmode] Include mechanism for web publishing


From: Michael Zeller
Subject: Re: [Orgmode] Include mechanism for web publishing
Date: Tue, 28 Jul 2009 17:38:22 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (gnu/linux)

Israel Herraiz <address@hidden> writes:

> Hi all,
>
> I use org-mode for web publishing. My web contains four pages that
> share a common (HTML) header, with some links to the different
> sections of the web and other stuff.
>
> At some point, I decided to include a common raw HTML in every
> page. This raw HTML is Javascript stuff for visits counting using
> Google Analytics.
>
> That file is included in every page right after the title, using
> #+INCLUDE header/header.org.
>
> Everything was working fine when I had just links, but now that I have
> included the #+BEGIN_HTML stuff, it is escaped when exporting
> everything to HTML, and instead of my raw HTML in the output files I
> get a line starting by ",#+BEGIN..." (properly written and escaped in
> HTML; notice the initial comma).

I had the exact same issue last night, and oddly enough, it used to work
in 6.21b, which is what comes with CVS emacs!

Anyways, here is what I changed so that you can do an #+INCLUDE
header/header.org org to include as raw Org. Personally, I'd like the
default to be Org, but I see why it was changed. 

diff --git a/doc/org.texi b/doc/org.texi
index e28b185..43cd2ab 100644
--- a/doc/org.texi
+++ b/doc/org.texi
@@ -8262,13 +8262,15 @@ include your @file{.emacs} file, you could use:
 @end example
 @noindent
 The optional second and third parameter are the markup (@samp{quote},
address@hidden, or @samp{src}), and, if the markup is @samp{src}, the
-language for formatting the contents.  The markup is optional, if it is not
-given, the text will be assumed to be in Org mode format and will be
-processed normally.  The include line will also allow additional keyword
-parameters @code{:prefix1} and @code{:prefix} to specify prefixes for the
-first line and for each following line, as well as any options accepted by
-the selected markup.  For example, to include a file as an item, use
address@hidden, @samp{org}, or @samp{src}), and, if the markup is @samp{src},
+the language for formatting the contents. If the markup is @samp{org}, the
+text will be assumed to be in Org mode format and will be processed
+normally. The markup is optional, if it is not given, the text will be
+included as is and any Org markup will be escaped.  The include line will
+also allow additional keyword parameters @code{:prefix1} and @code{:prefix}
+to specify prefixes for the first line and for each following line, as well
+as any options accepted by the selected markup.  For example, to include a
+file as an item, use
 
 @example
 #+INCLUDE: "~/snippets/xx" :prefix1 "   + " :prefix "     "
diff --git a/lisp/org-exp.el b/lisp/org-exp.el
index 280b1f4..83f9b74 100644
--- a/lisp/org-exp.el
+++ b/lisp/org-exp.el
@@ -2085,13 +2085,14 @@ TYPE must be a string, any of:
              (not (file-readable-p file)))
          (insert (format "CANNOT INCLUDE FILE %s" file))
        (when markup
- (if (equal (downcase markup) "src")
- (setq start (format "#+begin_src %s %s\n"
- (or lang "fundamental")
- (or switches ""))
- end "#+end_src")
- (setq start (format "#+begin_%s %s\n" markup switches)
- end  (format "#+end_%s" markup))))
- (cond ((equal (downcase markup) "src")
- (setq start (format "#+begin_src %s %s\n"
- (or lang "fundamental")
- (or switches ""))
- end "#+end_src"))
- ((equal (downcase markup) "org") nil)
- (t (setq start (format "#+begin_%s %s\n" markup switches)
- end  (format "#+end_%s" markup)))))
        (insert (or start ""))
        (insert (org-get-file-contents (expand-file-name file) prefix prefix1 
markup))
        (or (bolp) (newline))

I hope that helps!
~Michael Zeller




reply via email to

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