jupyter / notebook

Jupyter Interactive Notebook
https://jupyter-notebook.readthedocs.io/
BSD 3-Clause "New" or "Revised" License
11.59k stars 4.86k forks source link

Support languages other than markdown #652

Open projetmbc opened 8 years ago

projetmbc commented 8 years ago

Is it possible to add new formatting languages other than Markdown ? If not, I think it could be useful to allow to customize the formatting tool as we can now use a special kernel other than Python.

Indeed I would like to use an homemade formatting language instead of markdown inside my notebooks.

Note : I'm ready do dirty a little my hand to add that kind of functionality.

ellisonbg commented 8 years ago

There are millions of Jupyter Notebooks in the wild now. Because of that, we are taking a moderately conservative stance on evolving the notebook document format. For us to create a new cell type, we would need to be convinced that most of our users need it and that we can support it in a robust way across all the different contexts that notebooks are used in (GitHub, nbviewer, live notebook, nbconvert, etc).

You are obviously free to create your own new notebook format using our code (it is open source) and your own ideas+code.

However, we will likely be a bit protective about the branding and trademark aspects of this. Using the name "Jupyter" to describe a JSON notebook format spec or document that doesn't follow our official JSON spec would confuse users. Thus, we would ask developers building such things to avoid using the name "Jupyter" to describe those documents or spec. Things like the filename extension should also be different so tools that work with notebooks will not confuse the different formats.

Cheers,

Brian

On Sun, Oct 25, 2015 at 6:45 AM, Christophe BAL notifications@github.com wrote:

Is it possible to add other formatting language than Markdown ? If not, I think it could be useful to allow to customize the formatting tool as we can now use a special kernel other than Python.

— Reply to this email directly or view it on GitHub https://github.com/jupyter/notebook/issues/652.

Brian E. Granger Associate Professor of Physics and Data Science Cal Poly State University, San Luis Obispo @ellisonbg on Twitter and GitHub bgranger@calpoly.edu and ellisonbg@gmail.com

projetmbc commented 8 years ago

I understand your position but you could have done like Atom which allows a lot of customization.

One last question : where are the parts concerned with markdown managements ?

minrk commented 8 years ago

Markdown is handled in nbformat (cell_type='markdown') and in the notebook javascript (class MarkdownCell) and in nbconvert (handling of cell_type='markdown').

ellisonbg commented 8 years ago

For almost all parts of our architecture other than 1) notebook document format and 2) message protocol we are doing heavy work to make it extremely extensible - at least as much as Atom...more details to follow on a roadmap soon. The reason we are conservative on those 2 points is that their values is directly related to everyone agreeing on their specifications.

Cheers,

Brian

On Tue, Oct 27, 2015 at 8:24 AM, Min RK notifications@github.com wrote:

Markdown is handled in nbformat (cell_type='markdown') and in the notebook javascript (class MarkdownCell) and in nbconvert (handling of cell_type='markdown').

— Reply to this email directly or view it on GitHub https://github.com/jupyter/notebook/issues/652#issuecomment-151474082.

Brian E. Granger Associate Professor of Physics and Data Science Cal Poly State University, San Luis Obispo @ellisonbg on Twitter and GitHub bgranger@calpoly.edu and ellisonbg@gmail.com

projetmbc commented 8 years ago

@ellisonbg Ok. My actual work consists in producing a more easy to use ASCII langage than Markdown (very natural syntax for math, table as datas, simple grammar of the language). See you soon with a more concrete situation and not an incoming one. ;-)

@minrk : thanks. I will play with all of this.

jankatins commented 8 years ago

IPython has the concept of cell magics, which basically turn a python code cell into a whatever-cell. Would it be enough to have something similar here, but for the jupyter-notebook?

projetmbc commented 8 years ago

This could be a big first step. But I think that a kernel like feature but for formatting could be very useful... At least for me. ;-)