diff options
author | Samy Pesse <samypesse@gmail.com> | 2016-09-25 17:44:08 +0200 |
---|---|---|
committer | Samy Pesse <samypesse@gmail.com> | 2016-09-25 17:44:08 +0200 |
commit | e46cd78f803891dfc8c304ea8ec4bc813ad16b5b (patch) | |
tree | 7c3711581cb151fc58b186ea45a8f7f691d190e7 /packages | |
parent | fab88bb47e71ad47c928198ddbf7a4d0527e81bb (diff) | |
download | gitbook-e46cd78f803891dfc8c304ea8ec4bc813ad16b5b.zip gitbook-e46cd78f803891dfc8c304ea8ec4bc813ad16b5b.tar.gz gitbook-e46cd78f803891dfc8c304ea8ec4bc813ad16b5b.tar.bz2 |
Fix core reducer destroying other reducers
Diffstat (limited to 'packages')
10 files changed, 75 insertions, 17 deletions
diff --git a/packages/gitbook-core/src/connect.js b/packages/gitbook-core/src/connect.js index e30eb22..e18158e 100644 --- a/packages/gitbook-core/src/connect.js +++ b/packages/gitbook-core/src/connect.js @@ -6,8 +6,8 @@ const ReactRedux = require('react-redux'); * @param {Function} mapStateToProps * @return {ReactComponent} */ -function connect(Component, mapStateToProps) { - return ReactRedux.connect(mapStateToProps)(Component); +function connect(Component, mapStateToProps, mapDispatchToProps) { + return ReactRedux.connect(mapStateToProps, mapDispatchToProps)(Component); } module.exports = connect; diff --git a/packages/gitbook-core/src/reducers/index.js b/packages/gitbook-core/src/reducers/index.js index 18c9f1e..49ea489 100644 --- a/packages/gitbook-core/src/reducers/index.js +++ b/packages/gitbook-core/src/reducers/index.js @@ -1,10 +1,11 @@ -const Redux = require('redux'); +const composeReducer = require('../composeReducer'); +const createReducer = require('../createReducer'); -module.exports = Redux.combineReducers({ - components: require('./components'), - navigation: require('./navigation'), +module.exports = composeReducer( + createReducer('components', require('./components')), + createReducer('navigation', require('./navigation')), // GitBook JSON - page: require('./page'), - summary: require('./summary'), - readme: require('./readme') -}); + createReducer('page', require('./page')), + createReducer('summary', require('./summary')), + createReducer('readme', require('./readme')) +); diff --git a/packages/gitbook-plugin-theme-default/less/Sidebar.less b/packages/gitbook-plugin-theme-default/less/Sidebar.less index 2ef01d7..8e159dc 100644 --- a/packages/gitbook-plugin-theme-default/less/Sidebar.less +++ b/packages/gitbook-plugin-theme-default/less/Sidebar.less @@ -1,3 +1,6 @@ .Sidebar { - width: @sidebar-width; + height: 100%; + background: @sidebar-background; + background: rgb(250, 250, 250); + border-right: 1px solid @sidebar-border-color; } diff --git a/packages/gitbook-plugin-theme-default/less/Summary.less b/packages/gitbook-plugin-theme-default/less/Summary.less new file mode 100644 index 0000000..d7cdae5 --- /dev/null +++ b/packages/gitbook-plugin-theme-default/less/Summary.less @@ -0,0 +1,37 @@ +.Summary { + +} + +.SummaryPart { + > h1 { + padding: @summary-article-padding-v @summary-article-padding-h; + padding-top: 20px; + text-transform: uppercase; + color: @summary-header-color; + } +} + +.SummaryArticles { + list-style: none; + margin: 0px; + padding: 0px; +} + +.SummaryArticle { + list-style: none; + + a, span { + display: block; + padding: @summary-article-padding-v @summary-article-padding-h; + border-bottom: none; + color: @summary-article-color; + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + position: relative; + } + + a:hover { + text-decoration: underline; + } +} diff --git a/packages/gitbook-plugin-theme-default/less/main.less b/packages/gitbook-plugin-theme-default/less/main.less index b6229c6..957d229 100644 --- a/packages/gitbook-plugin-theme-default/less/main.less +++ b/packages/gitbook-plugin-theme-default/less/main.less @@ -2,3 +2,10 @@ @import "reset.less"; @import "variables.less"; + +@import "Sidebar.less"; +@import "Summary.less"; + +body, html { + margin: 0px; +} diff --git a/packages/gitbook-plugin-theme-default/less/variables.less b/packages/gitbook-plugin-theme-default/less/variables.less index d169719..8f16632 100644 --- a/packages/gitbook-plugin-theme-default/less/variables.less +++ b/packages/gitbook-plugin-theme-default/less/variables.less @@ -1,2 +1,8 @@ // Sidebar -@sidebar-width: 200px; +@sidebar-background: rgb(250, 250, 250); +@sidebar-border-color: rgba(0, 0, 0, 0.0666667); +// Summary +@summary-header-color: #939da3; +@summary-article-padding-v: 10px; +@summary-article-padding-h: 15px; +@summary-article-color: hsl(207, 15%, 25%); diff --git a/packages/gitbook-plugin-theme-default/package.json b/packages/gitbook-plugin-theme-default/package.json index 04c0862..a98fae9 100644 --- a/packages/gitbook-plugin-theme-default/package.json +++ b/packages/gitbook-plugin-theme-default/package.json @@ -16,6 +16,7 @@ "gitbook-markdown-css": "^1.0.1", "gitbook-plugin": "*", "less": "^2.7.1", + "less-plugin-clean-css": "^1.5.1", "preboot": "git+https://github.com/mdo/preboot.git#4aab4edd85f076d50609cbe28e4fe66cc0771701" }, "scripts": { diff --git a/packages/gitbook-plugin-theme-default/src/components/Summary.js b/packages/gitbook-plugin-theme-default/src/components/Summary.js index e95b4b4..8c5c4a1 100644 --- a/packages/gitbook-plugin-theme-default/src/components/Summary.js +++ b/packages/gitbook-plugin-theme-default/src/components/Summary.js @@ -46,10 +46,12 @@ const SummaryPart = React.createClass({ const { part } = this.props; const { title, articles } = part; + const titleEL = title ? <h2>{title}</h2> : null; + return ( <GitBook.InjectedComponent matching={{ role: 'summary:part' }} props={this.props}> <div className="SummaryPart"> - {title} + {titleEL} <SummaryArticles articles={articles} /> </div> </GitBook.InjectedComponent> diff --git a/packages/gitbook-plugin-theme-default/src/index.js b/packages/gitbook-plugin-theme-default/src/index.js index 4eed252..64d4433 100644 --- a/packages/gitbook-plugin-theme-default/src/index.js +++ b/packages/gitbook-plugin-theme-default/src/index.js @@ -24,7 +24,7 @@ let ThemeBody = React.createClass({ <GitBook.Head title={page.title} titleTemplate="%s - GitBook" /> - <GitBook.ImportCSS href="gitbook/gitbook-plugin-theme-default/theme.css" /> + <GitBook.ImportCSS href="gitbook/theme.css" /> <GitBook.FlexBox> <GitBook.FlexLayout> @@ -45,7 +45,7 @@ let ThemeBody = React.createClass({ }); ThemeBody = GitBook.connect(ThemeBody, ({page, summary, sidebar}) => { - console.log('connect', sidebar.toJS()) + console.log('connect!'); return { page, summary, sidebar }; }); diff --git a/packages/gitbook/src/browser/render.js b/packages/gitbook/src/browser/render.js index 3696eba..64e8947 100644 --- a/packages/gitbook/src/browser/render.js +++ b/packages/gitbook/src/browser/render.js @@ -22,7 +22,7 @@ function HTML({head, innerHTML, payload, scripts}) { {scripts.map(script => { return <script key={script} src={script} />; })} - <script type="application/payload+json" dangerouslySetInnerHTML={{__html: JSON.stringify(payload)}} /> + <script type="application/payload+json" dangerouslySetInnerHTML={{__html: payload}} /> <script type="application/javascript" dangerouslySetInnerHTML={{__html: BOOTSTRAP_CODE}} /> {head.script.toComponent()} </body> @@ -45,6 +45,7 @@ HTML.propTypes = { function render(plugins, initialState) { // Load the plugins const browserPlugins = loadPlugins(plugins); + const payload = JSON.stringify(initialState); const store = GitBook.createStore(browserPlugins, initialState); const scripts = plugins.toList() @@ -64,7 +65,7 @@ function render(plugins, initialState) { const htmlEl = <HTML head={head} innerHTML={innerHTML} - payload={initialState} + payload={payload} scripts={['gitbook/core.js'].concat(scripts)} />; |