Curvenote

Working Locally With MyST Markdown

We recently released the first version of the Curvenote command-line tools to work locally with content from Curvenote. You can read the documentation here: https://curvenote.com/docs/cli. With the CLI, you can easily export an article to MyST Markdown, a new Markup language designed by Executable Books (we are on the team!) to create publication-quality, computational documents written entirely in Markdown.

Stay tuned for new ways to share and manage publication quality content on Curvenote. 🚀

#Markedly Structured Text (MyST)

MyST (Markedly Structured Text) is designed to create publication-quality, computational documents written entirely in Markdown. The main community driving the development and design of MyST is JupyterBook, which helps you create educational online textbooks and tutorials with Jupyter Notebooks and narrative content written in MyST. The MyST format has also been picked up in the Sphinx and ReadTheDocs communities as well, which are used primarily for Python software documentation (which previously would have used ReStructured Text). The fantastic thing about these communities is that there are ways to create new extensions and use these extensions directly from the RST language; this extensibility and community can now be accessed through MyST Markdown!

MyST is a superset of CommonMark (the standard form of Markdown) and allows you to directly create “directives” and “roles” as extension points in the language. directives are block-level extension points, like callout panels, tabs, figures, or embedded charts; and roles are inline extension points, for components like references, citations, or inline math.

```{directive} Argument
The *content* of a directive can have {role}`with content`
```

If you want to dive deeper into the MyST syntax and features available, see here! If you want to work with your Curvenote content locally, you can use the command-line tools to either export or sync your content locally.

# Export a curvenote article as MyST Markdown 📜
curvenote export md [link]
# Or export as a JupyterBook  📖
curvenote export jupyter-book [link]
# Or export as a PDF! 📄
curvenote export pdf [link] -t arxiv_two_column
# Or bring an entire Curvenote project local as MyST files! 🚀
curvenote clone [link]

The simplified authoring environment provided by MyST and workflow tools that stitch together Notebooks into a published website, from a few lines of configuration, have been key to the adoption and use by the community. Scientists and researchers are using MyST to create projects from heliophysics to music classification. Curvenote is excited to support the project as it continues to evolve!

#MyST and Curvenote

As the Curvenote community grows, we want to make sure Curvenote is directly interoperable with the foundational MyST tools and syntax. Supporting MyST means that you can directly export your content as a JupyterBook (see docs on export), or copy MyST markdown directly in Curvenote when you are writing! Together, MyST and Curvenote will continue to evolve and support more use cases across scientific and data-science communities.

Directly copy any block as MyST Markdown

Figure 1:Directly copy any block as MyST Markdown

#Next Steps

Curvenote is currently helping lead an effort on standardizing and documenting some of the efforts behind the MyST language (aptly called myst-spec) as well as a new library to bring these capabilities into Javascript (called mystjs). These open-source technologies are some of what is powering our new sites and this blog!

#MyST Playground

You can edit the content below to get a sense of how MyST works, we will be improving both MyST documentation and our own documentation on Curvenote over the coming weeks!

```{note} This is a `note` "directive" ``` This is a {abbr}`MyST (Markedly Structured Text)` "role" that creates an abbreviation.

To get started with your Curvenote projects locally, you can use curvenote clone [link] after you install the command line tools. Let us know how this works for you! 🚀