Tomorrow! At #EuroSciPy2023, go see how MyST Markdown can speed up your scientific writing (and make it more engaging to your colleagues and students). With @stevejpurves
Just after lunch on Thursday. 🍕🍽️🧙♂️
Link to the talk on the schedule:
https://pretalx.com/euroscipy-2023/talk/EXVUBJ/
MyST & Thebe: Community-driven tools for awesome open science communication with Jupyter[lite] backed computation EuroSciPy 2023
The MyST (Markedly Structured Text) project grew out of the ExecutableBooks team, developers of MyST Markdown and JupyterBook. Originally based on Sphinx and RST, over the past year the ExecutableBooks team has been working on a MyST Specification to coordinate development of the markup language and extensions across multiple languages & parsers (e.g. implementations in Python & Javascript). The new javascript based MyST tools run directly in the browser, opening up new workflows for components to be used in web-based editors, directly in Jupyter and in JupyterLite. The libraries work with current MyST Markdown documents/projects and can export to LaTeX/PDF, Microsoft Word and JATS as well as multiple website templates using a modern React-based renderer. There are currently over 400 scientific journals that are supported through templates, with new LaTeX templates that can be added easily (using Jinja-based templating) and contributed via an open community repository (https://github.com/myst-templates). Thebe lets you easily add interactive visualisations, reproducible figures and interactive code editors to any to static HTML web page -- backed by a kernel from a Jupyter server or an in-browser WASM kernel with thebe-lite. It’s a compact and versatile library that makes it easy to add Jupyter based interactivity, by default code blocks are turned into editors and made ready for execution, just by adding a couple of additional script tags. `thebe` enables the flexible interleaving of Jupyter cells and output areas with other content (e.g. from myst markdown files), maintaining the ability to run the underlying notebooks or individual code cells. Over the last year, `thebe` has seen major upgrades allowing it to be integrated into modern web frameworks and it have been integrated tightly with MyST's web themes, making it easy to add computation into any MyST based online article or publication. Now creating and deploying an interactive `ipywidgets` based figure as part of an online paper can be achieved in minutes. And while we've seen interactive figures in web based scientific papers before, the MyST toolchain democratizes their creation and makes it easy for any researcher to publish publication-quality web-based articles from their desktop (or from CI) that the large online journals would need a post-production web development teams to help deliver. MyST's architecture also allows for multiple researchers to contribute to lab websites and computational journals. In our presentation we will give an overview of the MyST ecosystem, how to use MyST tools in conjunction with existing Jupyter Notebooks, markdown documents, and JupyterBooks to create interactive websites, books, blogs and scientific articles as well as professional PDFs. We give special attention to the additions around structured data, standards in publishing (e.g. efforts in representing Notebooks as JATS XML), rich frontmatter, bringing cross-references and persistent IDs to life with interactive hover-tooltips and making connections to Jupyter based and in-browser `python` kernels to run interactive figures through the additional of a few simple configuration options. We'll share some compelling examples of online papers and journals published with MyST. Our presentation is aimed at attendees who are looking to incorporate Jupyter Notebooks with other materials in new and novel ways - to create compelling scientific communication materials whether in the form of books, blogs or articles, for education or research. The talk will cover how and where `thebe` can be applied effectively, as well as going into some different configurations. Some knowledge of basic web development with HTML, will be beneficial for walk-through element of the talk as we'll cover some code and configuration, but we aim for the talk to be accessible by anyone interested in putting interactive scientific communication on the web, whether they develop themselves or not.
