-
Notifications
You must be signed in to change notification settings - Fork 437
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for pandoc integration #1159
Comments
In my opinion, the best course of action is actually to implement a pandoc reader upstream. Here's the markdown one for comparison: https://github.com/jgm/pandoc/blob/master/src/Text/Pandoc/Readers/Markdown.hs This has the following benefits:
But has the following disadvantages:
If we do implement a reader, we should also implement a writer. Jupyter Notebook has gone this route, with a reader and a writer. |
That's good to know. I think for now the ability to iterate is more important and once the format is stable enough we can reach out to pandoc. |
I agree. I think the first course of action is to start standardising and writing specifications for the format. |
Is there something defined or someone working on these specifications? |
There are no plans for now. But Livebook is a subset of Markdown so there is not much to specify. We do add HTML comments, but I don't think they would matter for the Pandoc integration. And we also use "triple-backtick", such as Anyway, I disagree that the first course of action is "to start standardizing and writing specifications" because that assumes the best course of action is by adding a reader/writer to Pandoc. We already have all of the tooling written in Elixir, I would rather write the .livemd to .md layer in Elixir first and play with ideas, than assume the starting point is rewriting the existing still-in-flux stack in another language. |
Hello there ! For educational purposes, I've had to share the work I've done on Livebook in an offline HTML static file. Because I only had little success improving Livemarkdown to exports outputs with embedded VegaLite charts (keeping them interactive) + data tables, I ended up doing the work upside-down, with an escript which drives a whole serverless Livebook otp app instance for cells evaluation. While this does the job I needed, I keep in mind the roadmap presented in the issue is the way to go (and was, to some degree, an initial intention for me). I may first start trying to write a paper with some flowcharts on how Livebook / Notebook / Kinos / evaluations / client-js work altogether in my (pretty limited) understanding. That said, the silly lib/tool is here, for reference: ripmd Cheers ! |
Oops, I should have taken a look at this earlier (and understand better what is going on in the upstream) livebook-dev/kino#321 :) |
In order to support pandoc integration, and eventual conversion to latex and other documents, we need to:
Then someone can write a tool that preprocess the .livemd into a markdown document with tables, images, etc and passes that to pandoc.
We don’t plan to tackle this at the moment but if someone plans to use Livebook to write papers, they are welcome to explore these ideas and tools!
The text was updated successfully, but these errors were encountered: