1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
[[!sidebar content=""]]
[[!meta title="Edit live Jupyter notebook cells with Emacs"]]
[[!meta copyright="Copyright © 2022 Blaine Mooers"]]
[[!inline pages="internal(2022/info/jupyter-nav)" raw="yes"]]
<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
<!-- You can manually edit this file to update the abstract, add links, etc. --->
# Edit live Jupyter notebook cells with Emacs
Blaine Mooers (Blane Moors, he/him, <mailto:Blaine-Mooers@ouhsc.edu>)
[[!inline pages="internal(2022/info/jupyter-before)" raw="yes"]]
My talk will address a dilemma faced daily by many technical writers and programmers.
Like many academics, I use several web-based platforms for writing prose (e.g., 750words, Overleaf) and interactive computing (Jupyter Notebook, Google Colab Notebooks).
The first group lacks support for snippets.
The second group has support for snippets, but this support does not include tab triggers and tab stops.
The absence of tab stops can increase the number of bugs by overlooking parameter values in the snippet that need to be changed to adapt the snippet to the current problem.
One solution to the absence of full-powered snippets is to apply Emacs with yasnippets to these web-based platforms.
One route to doing so is to use the atomic-chrome package for Emacs and the GhostText Extension for web browsers.
These two software packages enable two-way communication via a web socket between an Emacs buffer and the text area of the web page.
Edits made on the web side of the socket are immediately sent to the Emacs buffer and vice versa.
The Emacs's snippets and other editing tools only work in the Emacs buffer.
The connection can be closed from either side.
This route has enabled me to apply snippets of LaTeX code to my daily writing in 750words.
I have been able to convert 750words into a platform for writing in LaTeX; by default, it uses markdown.
I have also been able to apply code snippets for Julia, Python, R, and so on in Jupyter notebook cells.
In other words, I get to extend my time writing in Emacs.
In my ten-minute talk, I will describe my problems with web-based platforms and their solution with Emacs.
I will describe where to find the required software and how I configured Emacs.
I will present several precautions for using GhostText and describe the limitations of its application.
I will provide links to collections of snippets I found handy daily usage of 750words and Jupyter.
[[!inline pages="internal(2022/info/jupyter-after)" raw="yes"]]
[[!inline pages="internal(2022/info/jupyter-nav)" raw="yes"]]
[[!taglink CategoryOrgMode]]
|