From e46cd78f803891dfc8c304ea8ec4bc813ad16b5b Mon Sep 17 00:00:00 2001 From: Samy Pesse Date: Sun, 25 Sep 2016 17:44:08 +0200 Subject: [PATCH] Fix core reducer destroying other reducers --- packages/gitbook-core/src/connect.js | 4 +- packages/gitbook-core/src/reducers/index.js | 17 +++++---- .../less/Sidebar.less | 5 ++- .../less/Summary.less | 37 +++++++++++++++++++ .../less/main.less | 7 ++++ .../less/variables.less | 8 +++- .../gitbook-plugin-theme-default/package.json | 1 + .../src/components/Summary.js | 4 +- .../gitbook-plugin-theme-default/src/index.js | 4 +- packages/gitbook/src/browser/render.js | 5 ++- 10 files changed, 75 insertions(+), 17 deletions(-) create mode 100644 packages/gitbook-plugin-theme-default/less/Summary.less diff --git a/packages/gitbook-core/src/connect.js b/packages/gitbook-core/src/connect.js index e30eb2213..e18158e42 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 18c9f1e62..49ea4897d 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 2ef01d74c..8e159dc77 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 000000000..d7cdae58e --- /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 b6229c619..957d22947 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 d1697198b..8f16632f0 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 04c086213..a98fae9ee 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 e95b4b4eb..8c5c4a109 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 ?

{title}

: null; + return (
- {title} + {titleEL}
diff --git a/packages/gitbook-plugin-theme-default/src/index.js b/packages/gitbook-plugin-theme-default/src/index.js index 4eed25292..64d4433e4 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({ - + @@ -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 3696ebaf3..64e894772 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