* Include mechanism for web publishing @ 2009-07-28 22:38 Israel Herraiz 2009-07-29 0:38 ` Michael Zeller 0 siblings, 1 reply; 5+ messages in thread From: Israel Herraiz @ 2009-07-28 22:38 UTC (permalink / raw) To: emacs-orgmode 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 though of #+INCLUDE as a sort of C's #include, i.e. it just copies the text of the included file in the line where #+INCLUDE is. However this seems not to be the case. I have found in the list a discussion about how to insert source code in HTML outputs, without inserting the initial commas, which confirms that included org files are escaped when exporting to HTML: http://thread.gmane.org/gmane.emacs.orgmode/15707 I have also found this approach to include files approach, that I have tried without success: nothing is shown in the HTML output (see second message in the thread): http://thread.gmane.org/gmane.emacs.orgmode/4127 Is there any way to do a plain (no escape) import of org files? Cheers, Israel ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Include mechanism for web publishing 2009-07-28 22:38 Include mechanism for web publishing Israel Herraiz @ 2009-07-29 0:38 ` Michael Zeller 2009-07-29 0:53 ` Michael Zeller 0 siblings, 1 reply; 5+ messages in thread From: Michael Zeller @ 2009-07-29 0:38 UTC (permalink / raw) To: Israel Herraiz; +Cc: emacs-orgmode Israel Herraiz <isra@herraiz.org> 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}, -@samp{example}, 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 +@samp{example}, @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 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: Include mechanism for web publishing 2009-07-29 0:38 ` Michael Zeller @ 2009-07-29 0:53 ` Michael Zeller 2009-07-29 14:08 ` Israel Herraiz 0 siblings, 1 reply; 5+ messages in thread From: Michael Zeller @ 2009-07-29 0:53 UTC (permalink / raw) To: Michael Zeller; +Cc: emacs-orgmode Opps, for some reason the important portion didn't copy. You'll have to forgive me, I'm still learning gnus. Michael Zeller <michael.dylan.zeller@gmail.com> writes: > 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}, > -@samp{example}, 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 > +@samp{example}, @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))))) + (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 ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Include mechanism for web publishing 2009-07-29 0:53 ` Michael Zeller @ 2009-07-29 14:08 ` Israel Herraiz 2009-07-29 15:25 ` Bastien 0 siblings, 1 reply; 5+ messages in thread From: Israel Herraiz @ 2009-07-29 14:08 UTC (permalink / raw) To: emacs-orgmode Excerpts from Michael's message on Jul 29, 2009 about 2 AM: > Opps, for some reason the important portion didn't copy. You'll have to > forgive me, I'm still learning gnus. Thanks for the patch. However, stragenly, it is now working out of the box. I cloned the git repo to try out your patch, and before applying it, I tried the original sources, just in case something has changed and my scripts stop working. I added the "org" markup option to all the #+INCLUDEs; for instance: #+INCLUDE: header/my-header.org org And surprisingly it is now working, without changing any single line. I say surprisingly because it works with anything but "src" or none. For instance, I can write #+INCLUDE: file.org blablabla, and the file is included without any formatting or escaping. If I don't indicate the markup, it is escaped. And if I indicate "src", the original file gets included as source code. Thanks anyway for the patch. Cheers, Israel ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Include mechanism for web publishing 2009-07-29 14:08 ` Israel Herraiz @ 2009-07-29 15:25 ` Bastien 0 siblings, 0 replies; 5+ messages in thread From: Bastien @ 2009-07-29 15:25 UTC (permalink / raw) To: Israel Herraiz; +Cc: emacs-orgmode Hi Israel, Israel Herraiz <isra@herraiz.org> writes: > Excerpts from Michael's message on Jul 29, 2009 about 2 AM: >> Opps, for some reason the important portion didn't copy. You'll have to >> forgive me, I'm still learning gnus. > > Thanks for the patch. However, stragenly, it is now working out of the > box. I cloned the git repo to try out your patch, and before applying > it, I tried the original sources, just in case something has changed > and my scripts stop working. > > I added the "org" markup option to all the #+INCLUDEs; for instance: > > #+INCLUDE: header/my-header.org org > > And surprisingly it is now working, without changing any single > line. I think this patch did the trick: http://repo.or.cz/w/org-mode.git?a=commit;h=68b65e8f480c17cfe1024001c236eb4065893f4d -- Bastien ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2009-07-29 15:46 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-07-28 22:38 Include mechanism for web publishing Israel Herraiz 2009-07-29 0:38 ` Michael Zeller 2009-07-29 0:53 ` Michael Zeller 2009-07-29 14:08 ` Israel Herraiz 2009-07-29 15:25 ` Bastien
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).