emacs-orgmode
[Top][All Lists]
Advanced

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

[O] filter for src-block export question


From: John Kitchin
Subject: [O] filter for src-block export question
Date: Sat, 20 Sep 2014 19:33:59 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4.50 (darwin)

I have noticed that when code blocks have input variables, e.g.

#+tblname: tbl-data
| x | y |
|---+---|
| 1 | 1 |
| 2 | 4 |
| 3 | 9 |

#+BEGIN_SRC python :var data=tbl-data
print data
#+END_SRC

#+RESULTS:
: [[1, 1], [2, 4], [3, 9]]

When I export this, the codeblock shows no indication of what "data" is,
or where it came from. I had hoped to develop a filter that would allow
me to put something like:

<pre>language=python
parameters: :var data=tbl-data</pre>

in front of the block for an html export. I tried following the example
here: http://orgmode.org/manual/Advanced-configuration.html at the end,
by defining a derived mode. However, it does not appear that the
information is kept in the parse tree.

(src-block (:language python :switches nil :parameters nil :begin 536 :end 578 
:number-lines nil :preserve-indent t :retain-labels t :use-labels t :label-fmt 
nil :hiddenp nil :value print data
 :post-blank 2 :post-affiliated 536 :parent #4))

although if I look at the element at point, it seems to be there:

(src-block (:language python :switches nil :parameters :var
data=tbl-data :begin 536 :end 629 :number-lines nil :preserve-indent t
:retain-labels t :use-labels t :label-fmt nil :hiddenp nil :value print
data  (princ (org-element-at-point))

I am not sure why the :end values are not the same though.

Here is what I was trying to use:

#+BEGIN_SRC emacs-lisp
(defun my-src-block (src-block contents info)
  (message "start-block\n\n%s\n\nend-block" info)
  (concat "<pre>"
   (format "[language: %s]" (org-element-property :language src-block))
   (format "\nparameters: %s" (org-element-property :parameters src-block))
   "</pre><br>"
    (org-export-format-code-default src-block info)))

(org-export-define-derived-backend 'my-html 'html
  :translate-alist '((src-block . my-src-block)))

(org-export-to-file 'my-html "custom-src-table-export.html")
(browse-url "custom-src-table-export.html")
#+END_SRC

There are two issues with this block:

1. All parameters are listed as nil
2. the code is not syntax highlighted in html at all. 

Any suggestions on how to achieve this? I also want to insert
tablenames, and if the src-block is named to put the name above the
block (for extra gravy, a hyperlink from :var to the source ;).

thanks,

-- 
-----------------------------------
John Kitchin
http://kitchingroup.cheme.cmu.edu




reply via email to

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