Thanks for this tip. It was a great start! I turned it into this: #+BEGIN_SRC emacs-lisp ;; make src blocks open in the right mode (add-to-list 'org-src-lang-modes '("jupyter-hy" . hy)) (add-to-list 'org-latex-minted-langs '(jupyter-hy "hylang"))
;; set default headers for convenience (setq org-babel-default-header-args:jupyter-hy '((:results . "output replace") (:session . "hy") (:kernel . "hy") (:exports . "code") (:cache . "no") (:noweb . "no") (:hlines . "no") (:tangle . "no"))) (defalias 'org-babel-execute:jupyter-hy 'org-babel-execute:ipython) (add-to-list 'org-structure-template-alist '("hy" "#+BEGIN_SRC jupyter-hy\n?\n#+END_SRC" "<src lang=\"hy\">\n?\n</src>")) #+END_SRC Which solves all the problems! 1. src-blocks open in hy-mode and export as hylang in minted. 2. <hy expands nicely to the jupyter block with default settings. 3. C-c C-c runs the block using the hy jupyter kernel. Fantastic. Thanks! Anthony Cowley writes: > John Kitchin writes: > >> I was looking into ob-ipython as a replacement for regular >> org-babel-python because it seems to be better at sessions. Also, you >> can use other kernels with it! >> >> For example: >> >> #+BEGIN_SRC ipython :session hy :results output :kernel hy >> (print "hello world") >> (import time) >> (print (time.asctime)) >> #+END_SRC >> >> #+RESULTS: >> : hello world >> : Thu Jun 9 17:26:56 2016 >> >> Here is the dilemma: >> If I special edit this, it is in python-mode, not hy-mode. And similarly >> on export, it is highlighted as ipython, not hy-lang. >> >> Any thoughts on how to address these? > > I've had success using something like this, > > (add-to-list 'org-src-lang-modes '("ipython" . haskell)) > > in a :noexport: setup section. > > Anthony -- Professor John Kitchin Doherty Hall A207F Department of Chemical Engineering Carnegie Mellon University Pittsburgh, PA 15213 412-268-7803 @johnkitchin http://kitchingroup.cheme.cmu.edu