# md2nb
`md2nb` is a command-line tool for converting [Markdown](https://wikipedia.org/wiki/Markdown)
files into [Wolfram Notebooks](https://wolfram.com/notebooks).
![Diagram showing md2nb conversion of Markdown files to Wolfram Notebooks](./docs/images/md2nb.png)
## Usage
`md2nb` is a command-line tool. After [installing `md2nb`](#installation), it can be used
to convert a `.md` file to a `.nb`:
```shell
$ md2nb .md .nb
```
For example, to convert this project's `README.md` file into a Wolfram Notebook, execute:
```shell
$ md2nb README.md README.nb
```
## Features
`md2nb` converts `.md` files into Wolfram `.nb` files.
Markdown constructs are converted into corresponding standard Wolfram Notebook
representations.
Most CommonMark features are supported, including:
* Text styles like emphasis and italics
* Links
* Headers
* Bulleted lists
* Code blocks
* Block quotes
* Tables
* Horizontal rules
Additionally, some Markdown features are converted into Wolfram Notebook representations
that are more interactive than typical rendered Markdown:
* Code blocks containing code written in a language supported by
[`ExternalEvaluate`][ExternalEvaluate] will be converted to external language cells,
which can be executed directly within the Wolfram Notebook.
[ExternalEvaluate]: https://reference.wolfram.com/language/ref/ExternalEvaluate.html
## Examples
See the 'Kitchen Sink' example, which includes samples of all Markdown features
currently supported by `md2nb`.
* [kitchen-sink.md markdown file](./docs/examples/kitchen-sink.md)
* [Screenshot of kitchen-sink.nb](./docs/images/kitchen-sink.png)
## Installation
*TODO*
## License
Licensed under either of
* Apache License, Version 2.0
([LICENSE-APACHE](./LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
* MIT license
([LICENSE-MIT](./LICENSE-MIT) or http://opensource.org/licenses/MIT)
at your option.
## Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in the work by you, as defined in the Apache-2.0 license, shall be
dual licensed as above, without any additional terms or conditions.