[Top][All Lists]

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

Re: [O] How to activate pre.src in org-babel html output? Can only get c

From: Giovanni Moretti
Subject: Re: [O] How to activate pre.src in org-babel html output? Can only get class=example
Date: Mon, 20 Feb 2012 13:12:11 +1300
User-agent: Mozilla/5.0 (Windows NT 6.1; rv:10.0.1) Gecko/20120208 Thunderbird/10.0.1

Hi Eric

 My guess is that during export you get a message along the lines of
 "htmlize is required for export".  Try explicitly loading htmlize.el
 (in the contrib/lisp directory of org) and then re-exporting ...

You're spot on - importing htmlize.el did the trick. However, before importing it, there weren't any error messages about it being missing. All would work happily, but the source block didn't have the additional src and src-python tags.

To me, this seems like a bug or at least not ideal, as the src tag and the src-<language> tag are related to the HTML export of #+begin_src block, not on *how* the HTML is styled (i.e. by the user or htmlize).

For those searching the mailing list later:

; For pretty-printed formatted source code on HTML export,
; load htmlize.el in init.el or the emacs config file

(load-file "~/.emacs.d/orgmode/contrib/lisp/htmlize.el")

I've got the orgmode source in the .emacs.d directory so I can pull updates using git, otherwise look for contrib/lisp/htmlize.el in the main Emacs directory.

With htmlize.el loaded, exporting:
| #+begin_src python :results output :exports both
| print "Pi = ", 355/113.0
| #+end_src python

Results in the src block having the src and src-python CSS tags:
|<pre  class="src src-python">
|<span  style="color: #a020f0;">print</span>
|<span  style="color: #8b2252;">"Pi ="</span>, 355/113.0
|<pre  class="example">
| Pi =  3.14159292035

with an automatically added little "Python" flag box on the Python src block.

Some custom CSS can be used to make the src and output a little more distinct. A simple way is it place these lines at the top of the file:

#+style:<style>  pre.src  {background-color: #DDFFFF;}</style>
#+style:<style>  .example {background-color: #FFFFCC;}</style>

However, you have to be consistent about using #+begin_src blocks rather than just a colon or using begin_example at the beginning of lines for src fragments that don't output anything, otherwise Python src they'll come out with the output colouring. The keyboard shortcut (< s tab) for getting a #+begin_src---#+end_src block is handy here.

Although the example above relates to #+begin_src python blocks, the fix should work with other languages.

Cheers and thanks

Dr Giovanni Moretti | School of Engineering and Advanced Technology
Senior Lecturer     | Massey University, Palmerston North, New Zealand
Computer Science    | Ph +64-6-3505799x2474  Fax +64-6-3502259 - ZL2GX
http://seat.massey.ac.nz/moretti                address@hidden

reply via email to

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