#+begin_src emacs-lisp :exports none
(defun org-babel-execute:html (body params) body)
#+end_src
#+begin_src html :exports results :results html
<input type="button" name="clickme" value="Click Me!">
#+end_src
Isso irá gerar a página HTML (após a exportação para HTML) com um botão.
Para evitar confusão: o primeiro bloco não será avaliado durante a exportação. Você precisaria avaliá-lo movendo o ponto para ele e pressionando C-c C-c.
Mais ainda, você precisaria ligar
(org-babel-do-load-languages 'org-babel-load-languages '((html . t)))
Ou similar antes que esse código seja executado, para que Babel reconheça o html
bloco como executável.
Mas, na verdade, o exemplo tinha como objetivo principal mostrar como você pode prosseguir sobre a adição de seu próprio "idioma", que visa um back-end específico. Você poderia ter feito isso facilmente sem adicionar novos idiomas e, talvez, com menos complicações, fazendo algo assim:
#+begin_src emacs-lisp :exports results :results html
"<input type=\"button\" name=\"clickme\" value=\"Click Me!\">"
#+end_src
A vantagem da minha primeira abordagem é que, ao editar com C-c ', você fica html-mode
ativado.
:exports results
; consulte Exportando blocos de código . (Deixe-me saber se isso funciona para você e se eu deveria converter isso em uma resposta.)