Skip to content

Commit e206d8c

Browse files
authored
Set page layout dynamically (#4084)
1 parent 0b7fd7b commit e206d8c

File tree

183 files changed

+11
-183
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

183 files changed

+11
-183
lines changed

beta/plugins/md-layout-loader.js

+11-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
const fm = require('gray-matter');
2+
const path = require('path');
23

34
// Makes mdx in next.js suck less by injecting necessary exports so that
45
// the docs are still readable on github.
@@ -15,7 +16,16 @@ const fm = require('gray-matter');
1516
module.exports = async function (src) {
1617
const callback = this.async();
1718
const {content, data} = fm(src);
18-
const layout = data.layout || 'Home';
19+
const pageParentDir = path
20+
.dirname(path.relative('./src/pages', this.resourcePath))
21+
.split(path.sep)
22+
.shift();
23+
const layoutMap = {
24+
blog: 'Post',
25+
learn: 'Learn',
26+
reference: 'API',
27+
};
28+
const layout = layoutMap[pageParentDir] || 'Home';
1929
const code =
2030
`import withLayout from 'components/Layout/Layout${layout}';
2131

beta/src/pages/blog/2013/06/02/jsfiddle-integration.md

-1

beta/src/pages/blog/2013/06/05/why-react.md

-1

beta/src/pages/blog/2013/06/12/community-roundup.md

-1

beta/src/pages/blog/2013/06/19/community-roundup-2.md

-1

beta/src/pages/blog/2013/06/21/react-v0-3-3.md

-1

beta/src/pages/blog/2013/06/27/community-roundup-3.md

-1

beta/src/pages/blog/2013/07/02/react-v0-4-autobind-by-default.md

-1

beta/src/pages/blog/2013/07/03/community-roundup-4.md

-1

beta/src/pages/blog/2013/07/11/react-v0-4-prop-validation-and-default-values.md

-1

beta/src/pages/blog/2013/07/17/react-v0-4-0.md

-1

beta/src/pages/blog/2013/07/23/community-roundup-5.md

-1

beta/src/pages/blog/2013/07/26/react-v0-4-1.md

-1

beta/src/pages/blog/2013/07/30/use-react-and-jsx-in-ruby-on-rails.md

-1

beta/src/pages/blog/2013/08/05/community-roundup-6.md

-1

beta/src/pages/blog/2013/08/19/use-react-and-jsx-in-python-applications.md

-1

beta/src/pages/blog/2013/08/26/community-roundup-7.md

-1

beta/src/pages/blog/2013/09/24/community-roundup-8.md

-1

beta/src/pages/blog/2013/10/03/community-roundup-9.md

-1

beta/src/pages/blog/2013/10/16/react-v0.5.0.md

-1

beta/src/pages/blog/2013/10/29/react-v0-5-1.md

-1

beta/src/pages/blog/2013/11/06/community-roundup-10.md

-1

beta/src/pages/blog/2013/11/18/community-roundup-11.md

-1

beta/src/pages/blog/2013/12/18/react-v0.5.2-v0.4.2.md

-1

beta/src/pages/blog/2013/12/19/react-v0.8.0.md

-1

beta/src/pages/blog/2013/12/23/community-roundup-12.md

-1

beta/src/pages/blog/2013/12/30/community-roundup-13.md

-1

beta/src/pages/blog/2014/01/02/react-chrome-developer-tools.md

-1

beta/src/pages/blog/2014/01/06/community-roundup-14.md

-1

beta/src/pages/blog/2014/02/05/community-roundup-15.md

-1

beta/src/pages/blog/2014/02/15/community-roundup-16.md

-1

beta/src/pages/blog/2014/02/16/react-v0.9-rc1.md

-1

beta/src/pages/blog/2014/02/20/react-v0.9.md

-1

beta/src/pages/blog/2014/02/24/community-roundup-17.md

-1

beta/src/pages/blog/2014/03/14/community-roundup-18.md

-1

beta/src/pages/blog/2014/03/19/react-v0.10-rc1.md

-1

beta/src/pages/blog/2014/03/21/react-v0.10.md

-1

beta/src/pages/blog/2014/03/28/the-road-to-1.0.md

-1

beta/src/pages/blog/2014/04/04/reactnet.md

-1

beta/src/pages/blog/2014/05/06/flux.md

-1

beta/src/pages/blog/2014/05/29/one-year-of-open-source-react.md

-1

beta/src/pages/blog/2014/06/27/community-roundup-19.md

-1

beta/src/pages/blog/2014/07/13/react-v0.11-rc1.md

-1

beta/src/pages/blog/2014/07/17/react-v0.11.md

-1

beta/src/pages/blog/2014/07/25/react-v0.11.1.md

-1

beta/src/pages/blog/2014/07/28/community-roundup-20.md

-1

beta/src/pages/blog/2014/07/30/flux-actions-and-the-dispatcher.md

-1

beta/src/pages/blog/2014/08/03/community-roundup-21.md

-1

beta/src/pages/blog/2014/09/03/introducing-the-jsx-specification.md

-1

beta/src/pages/blog/2014/09/12/community-round-up-22.md

-1

beta/src/pages/blog/2014/09/16/react-v0.11.2.md

-1

beta/src/pages/blog/2014/09/24/testing-flux-applications.md

-1

beta/src/pages/blog/2014/10/14/introducing-react-elements.md

-1

beta/src/pages/blog/2014/10/16/react-v0.12-rc1.md

-1

0 commit comments

Comments
 (0)