Skip to content

This loader parses markdown files and converts them to a React Stateless Component. It will also parse FrontMatter to import dependencies and render components

Notifications You must be signed in to change notification settings

bestsuperdev/react-markdown-code-loader

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

React Markdown

React Markdown Loader with code sources as props

This is a fork of react-markdown-loader and add some features

This loader parses markdown files and converts them to a React Stateless Component. It will also parse FrontMatter to import dependencies and render components along with it’s source code and export code sources

I forkedd this loader in order to make the process of creating styleguides for React components easier with my own project

Install

npm install react-markdown-code-loader  --save-dev

Usage

In the FrontMatter you should import the components you want to render with the component name as a key and it's path as the value

webpack.config.js

module: {
  loaders: [
    {
      test: /\.md$/,
      loader: 'babel!react-markdown-code'
    }
  ]
}

Hello.js

import React, { PropTypes } from 'react';

/**
 * HelloWorld
 * @param {Object} props React props
 * @returns {JSX} template
 */
export default function Hello(props) {
  return (
    <div className="hello">
      Hello { props.who }
    </div>
  );
}

Hello.md

---
imports():
  Hello: './Hello.js'
---

# Hello World

This is an example component

```render
<Hello />
```

You can send who to say Hello

```render
<Hello who="World!!!" />
```

app.jsx

import React from 'react'
import ReactDOM from 'react-dom'
import Hello from './Hello.md'

ReactDOM.render(<Hello />,document.body)

Advance Usage

---
imports():
  HelloWorld: './hello-world.js',
  '{ Component1, Component2 }': './components.js'
  who : 'world' 
---

```source code1
<div>this code block with tag "props xx" would not be rendered in the markdown/component,it would be set in the props </div>
<div>call this code ,use   "props.code[0]"  </div>
```


```source code2
<div>this code block with tag "props xx" would not be rendered in the markdown/component,it would be set in the props </div>
<div>call this code ,use   "props.code[1]" </div>
```


```render
<Hello who={props.who} />
```



About

This loader parses markdown files and converts them to a React Stateless Component. It will also parse FrontMatter to import dependencies and render components

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 99.4%
  • CSS 0.6%