summaryrefslogtreecommitdiffstats
path: root/packages/gitbook-core
diff options
context:
space:
mode:
authorSamy Pesse <samypesse@gmail.com>2016-09-21 19:17:32 +0200
committerSamy Pesse <samypesse@gmail.com>2016-09-21 19:17:32 +0200
commit2257e42299f28f2a276bf2febd7f5d00e3931c08 (patch)
treeac97009c68611deccd2d7851ab1b52efb5967b20 /packages/gitbook-core
parent0e0c1a473b610b0b2d96f2549b6666e3d8158e64 (diff)
downloadgitbook-2257e42299f28f2a276bf2febd7f5d00e3931c08.zip
gitbook-2257e42299f28f2a276bf2febd7f5d00e3931c08.tar.gz
gitbook-2257e42299f28f2a276bf2febd7f5d00e3931c08.tar.bz2
Add js scripts to html
Diffstat (limited to 'packages/gitbook-core')
-rw-r--r--packages/gitbook-core/src/components/InjectedComponent.js12
-rw-r--r--packages/gitbook-core/src/components/UnsafeComponent.js7
-rw-r--r--packages/gitbook-core/src/index.js4
-rw-r--r--packages/gitbook-core/src/renderComponent.js25
4 files changed, 12 insertions, 36 deletions
diff --git a/packages/gitbook-core/src/components/InjectedComponent.js b/packages/gitbook-core/src/components/InjectedComponent.js
index f8b1ab8..a4f81fe 100644
--- a/packages/gitbook-core/src/components/InjectedComponent.js
+++ b/packages/gitbook-core/src/components/InjectedComponent.js
@@ -29,17 +29,18 @@ const { findMatchingComponents } = require('../actions/components');
const Injection = React.createClass({
propTypes: {
component: React.PropTypes.func,
- props: React.PropTypes.object
+ props: React.PropTypes.object,
+ children: React.PropTypes.node
},
render() {
const Comp = this.props.component;
- const { props } = this.props;
+ const { props, children } = this.props;
if (Comp.sandbox === false) {
- return <Comp {...props} />;
+ return <Comp {...props}>{children}</Comp>;
} else {
- return <UnsafeComponent Component={Comp} props={props} />;
+ return <UnsafeComponent Component={Comp} props={props}>{children}</UnsafeComponent>;
}
}
});
@@ -82,7 +83,6 @@ const InjectedComponent = React.createClass({
render() {
const { components, props, children } = this.props;
- const base = children ? React.Children.only(children) : undefined;
return components.reduce((inner, Comp) => {
return (
@@ -90,7 +90,7 @@ const InjectedComponent = React.createClass({
{inner}
</Injection>
);
- }, base);
+ }, children);
}
});
diff --git a/packages/gitbook-core/src/components/UnsafeComponent.js b/packages/gitbook-core/src/components/UnsafeComponent.js
index 81ec239..3534f45 100644
--- a/packages/gitbook-core/src/components/UnsafeComponent.js
+++ b/packages/gitbook-core/src/components/UnsafeComponent.js
@@ -22,7 +22,8 @@ const isServerSide = typeof window === 'undefined';
const UnsafeComponent = React.createClass({
propTypes: {
Component: React.PropTypes.func.isRequired,
- props: React.PropTypes.object
+ props: React.PropTypes.object,
+ children: React.PropTypes.node
},
contextTypes: {
store: React.PropTypes.object
@@ -41,12 +42,12 @@ const UnsafeComponent = React.createClass({
},
getInjected() {
- const { Component, props } = this.props;
+ const { Component, props, children } = this.props;
const { store } = this.context;
return (
<ReactRedux.Provider store={store}>
- <Component {...props}/>
+ <Component {...props}>{children}</Component>
</ReactRedux.Provider>
);
},
diff --git a/packages/gitbook-core/src/index.js b/packages/gitbook-core/src/index.js
index 9b29c91..b4b2abd 100644
--- a/packages/gitbook-core/src/index.js
+++ b/packages/gitbook-core/src/index.js
@@ -1,4 +1,5 @@
const Head = require('react-helmet');
+const { Provider } = require('react-redux');
const { InjectedComponent, InjectedComponentSet } = require('./components/InjectedComponent');
const HTMLContent = require('./components/HTMLContent');
@@ -11,7 +12,6 @@ const connect = require('./connect');
const createPlugin = require('./createPlugin');
const createReducer = require('./createReducer');
const createStore = require('./createStore');
-const renderComponent = require('./renderComponent');
module.exports = {
ACTIONS,
@@ -19,13 +19,13 @@ module.exports = {
createPlugin,
createReducer,
createStore,
- renderComponent,
registerComponent,
// React Components
InjectedComponent,
InjectedComponentSet,
HTMLContent,
Head,
+ Provider,
// Utilities
Shapes
};
diff --git a/packages/gitbook-core/src/renderComponent.js b/packages/gitbook-core/src/renderComponent.js
deleted file mode 100644
index 14e7bf8..0000000
--- a/packages/gitbook-core/src/renderComponent.js
+++ /dev/null
@@ -1,25 +0,0 @@
-const React = require('react');
-const Helmet = require('react-helmet');
-const ReactRedux = require('react-redux');
-const { InjectedComponent } = require('./components/InjectedComponent');
-
-/**
- * Render a registered component from a store.
- * This method is intended for server-side use in "gitbook".
- *
- * @param {ReduxStore} store
- * @param {Descriptor} matching
- * @return {Object} { el, meta }
- */
-function renderComponent(store, matching) {
- const el = (
- <ReactRedux.Provider store={store}>
- <InjectedComponent matching={matching} />
- </ReactRedux.Provider>
- );
- const getHead = Helmet.rewind;
-
- return { el, getHead };
-}
-
-module.exports = renderComponent;