Create providers directory; Markdown provider
This commit is contained in:
@@ -1,13 +1,10 @@
|
|||||||
import React, { PropTypes } from "react"
|
import React, { PropTypes } from "react"
|
||||||
import OriCollapse from "react-collapse"
|
import OriCollapse from "react-collapse"
|
||||||
import _Markdown from "react-remarkable"
|
|
||||||
|
|
||||||
function xclass(...args) {
|
function xclass(...args) {
|
||||||
return args.filter(a => !!a).join(" ").trim()
|
return args.filter(a => !!a).join(" ").trim()
|
||||||
}
|
}
|
||||||
|
|
||||||
export const Markdown = _Markdown
|
|
||||||
|
|
||||||
export class Container extends React.Component {
|
export class Container extends React.Component {
|
||||||
render() {
|
render() {
|
||||||
let { fullscreen, full, ...rest } = this.props
|
let { fullscreen, full, ...rest } = this.props
|
||||||
|
|||||||
10
src/core/components/providers/Markdown.js
Normal file
10
src/core/components/providers/Markdown.js
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
import Remarkable from "react-remarkable"
|
||||||
|
import React from "react"
|
||||||
|
|
||||||
|
|
||||||
|
export default ({ source }) => {
|
||||||
|
return <Remarkable
|
||||||
|
options={{html: true, typographer: true, linkify: true, linkTarget: "_blank"}}
|
||||||
|
source={source}
|
||||||
|
></Remarkable>
|
||||||
|
}
|
||||||
6
src/core/components/providers/README.md
Normal file
6
src/core/components/providers/README.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# Providers
|
||||||
|
|
||||||
|
Providers are generic bridges to third-party components. They provide two benefits:
|
||||||
|
|
||||||
|
1. ability for plugins to override third-party components, because providers are loaded through `getComponent`
|
||||||
|
2. allows us to avoid painting ourselves into a corner with a third-party component
|
||||||
@@ -46,6 +46,8 @@ import Model from "core/components/model"
|
|||||||
import Models from "core/components/models"
|
import Models from "core/components/models"
|
||||||
import TryItOutButton from "core/components/try-it-out-button"
|
import TryItOutButton from "core/components/try-it-out-button"
|
||||||
|
|
||||||
|
import Markdown from "core/components/providers/markdown"
|
||||||
|
|
||||||
import BaseLayout from "core/components/layouts/base"
|
import BaseLayout from "core/components/layouts/base"
|
||||||
|
|
||||||
import * as LayoutUtils from "core/components/layout-utils"
|
import * as LayoutUtils from "core/components/layout-utils"
|
||||||
@@ -89,6 +91,7 @@ export default function() {
|
|||||||
model: Model,
|
model: Model,
|
||||||
models: Models,
|
models: Models,
|
||||||
TryItOutButton,
|
TryItOutButton,
|
||||||
|
Markdown,
|
||||||
BaseLayout
|
BaseLayout
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user