org-mode/testing/examples/babel.org

6.2 KiB
Raw Blame History

a collection of examples for Babel tests

: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
of a line. Here is one at the end of a line.
echo 2
echo 3
Here is one at the beginning of a line.

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"
block at start of line One spaced block in
 echo "middle"
of line
echo 2} blocks on the src_emacs-lisp{"same"
line Inline block with
 echo "parameters"
.