7.0 KiB
a collection of examples for Babel tests
:noweb
header argument expansion- elisp forms in header arguments
- excessive id links on tangling
- simple variable resolution
- multi-line header arguments
- simple named code block
- Pascal's Triangle – export test
- calling code blocks from inside table
- executing an lob call line
- exporting an lob call line
- inline source block
- parsing header arguments
- conflicting blocks on export
- using the
:noweb-ref
header argument - resolving sub-trees as references
- org-babel-get-inline-src-block-matches
- returning file names – interpreted as lists
- in order evaluation on export
:noweb
header argument expansion
(message "expanded")
;; noweb-yes-start
<<noweb-example>>
;; noweb-yes-end
;; noweb-no-start
<<noweb-example>>
;; noweb-no-end
;; noweb-tangle-start
<<noweb-example>>
;; noweb-tangle-end
elisp forms in header arguments
prop
4
excessive id links on tangling
no, don't give me an ID
(message "not to be tangled")
yes, I'd love an ID
(message "for tangling")
simple variable resolution
(list 1 2 3 4)
(length four)
4
multi-line header arguments
(map 'list #'list numbers letters)
1 | a |
2 | b |
3 | c |
4 | d |
5 | e |
6 | f |
7 | g |
simple named code block
42
42
42
Pascal's Triangle – export test
(defun pascals-triangle (n)
(if (= n 0)
(list (list 1))
(let* ((prev-triangle (pascals-triangle (- n 1)))
(prev-row (car (reverse prev-triangle))))
(append prev-triangle
(list (map 'list #'+
(append prev-row '(0))
(append '(0) prev-row)))))))
(pascals-triangle n)
calling code blocks from inside table
(sqrt n)
executing an lob call line
This is an inline call call_echo(input="testing") embedded in prose. This is an inline call call_echo(input="testing")[:results vector] embedded in prose.
call_echo("testing") call_concat(1,2,3)
(format "%S%S%S" a b c)
exporting an lob call line
(* 2 it)
The following exports as a normal call line
Now here is an inline call call_double(it=1) stuck in the middle of some prose.
This one should not be exported call_double(it=2)
because it is
quoted.
Finally this next one should export, even though it starts a line call_double(it=3) because sometimes inline blocks fold with a paragraph.
And, a call with raw results call_double(4)[:results raw] should not have quoted results.
The following 2*5=call_double(5) should export even when prefixed by an = sign.
inline source block
Here is one in the middle
echo 1
echo 2
echo 3
parsing header arguments
the body
conflicting blocks on export
- a
- b
- c
"code block results"
(reverse lst)
using the :noweb-ref
header argument
<<fullest-disk>>
query all mounted disks
df
strip the header row
|sed '1d'
sort by the percent full
|awk '{print $5 " " $6}'|sort -n |tail -1
extract the mount point
|awk '{print $2}'
resolving sub-trees as references
(length text)
<<simple-subtree>>
<<d4faa7b3-072b-4dcf-813c-dd7141c633f3>>
simple subtree with custom ID
this is simple
simple subtree with global ID
has length 14
org-babel-get-inline-src-block-matches
echo "One"
echo "middle"
echo 2} blocks on the src_emacs-lisp{"same"
echo "parameters"
returning file names – interpreted as lists
echo "[[file:./cv.cls]]"
[[file:./cv.cls]]
echo "[[file:./cv.cls]]"
/ndwarshuis/org-mode/src/commit/000afe01abbd3b8b3416a12a91e33f8e9f51b9a1/testing/examples/cv.cls
in order evaluation on export
First.
(push it *evaluation-collector*)
Second
(push 2 *evaluation-collector*)
Third src_emacs-lisp{(push 3 evaluation-collector)}
Fourth
Fifth
(push 5 *evaluation-collector*)