Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/threepointone/markdown-in-js

inline markdown for react/jsx
https://github.com/threepointone/markdown-in-js

Last synced: 2 days ago
JSON representation

inline markdown for react/jsx

Awesome Lists containing this project

README

        

markdown-in-js
---

zero-overhead markdown in your react components

usage
---

add `'markdown-in-js/babel'` to the `plugins` field of your babel config

```jsx
import markdown from 'markdown-in-js'

const App = () => markdown`
## This is some content.
You can write _markdown_ as you'd like.

${ interpolate more }

you can inline *html* or even , wow


interpolate attributes as expected

`
```

- gets compiled to react elements via a babel plugin
- preserves interpolations
- built with [commonmark](https://github.com/jgm/commonmark.js)
- optionally add [prismjs](http://prismjs.com/) for syntax highlighting of code blocks

custom components
---

You can use custom components for markdown primitives like so -
```jsx
import md from 'markdown-in-js'
import { MyHeading, MyLink } from './path/to/components'

const App = () => md({ h1: MyHeading, a: MyLink })`
# this will be a custom header
[custom link component](/url/to/link)
`
```

todo
---

- optionally no-wrap paragraphs
- optionally return array of elements
- instructions for in-editor syntax highlighting
- add gotchas to docs
- precompile code blocks
- commonmark options
- tests!