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

 

History

106 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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%