-
diff --git a/src/components/index.js b/src/components/index.js
index 4543e68..0dd96f5 100644
--- a/src/components/index.js
+++ b/src/components/index.js
@@ -11,3 +11,4 @@ export { default as Navbar } from './Navbar'
export { default as App } from './App'
export { default as SocialLinks } from './SocialLinks'
export { default as Column } from './Column'
+export { default as Resume } from './Resume'
diff --git a/src/containers/PostContainer.js b/src/containers/ContentContainer.js
similarity index 50%
rename from src/containers/PostContainer.js
rename to src/containers/ContentContainer.js
index 6b505b4..7c381e9 100644
--- a/src/containers/PostContainer.js
+++ b/src/containers/ContentContainer.js
@@ -1,8 +1,8 @@
import React, { Component } from 'react'
import PropTypes from 'prop-types'
-import { Post, NotFoundPage } from '../components'
+import { Post, Resume } from '../components'
-export default class PostContainer extends Component {
+export default class ContentContainer extends Component {
static propTypes = {
staticContext: PropTypes.object.isRequired
}
@@ -21,24 +21,27 @@ export default class PostContainer extends Component {
this.state = {
isLoading: !data,
- error: false,
- post: data[0],
+ type: data[0]['type'],
+ content: data[0]['data'],
config: data[1]
- }
+ }
}
render () {
- if (this.state.error) {
+ if (this.state.type == 'resume') {
return (
-
+
+ )
+ } else {
+ return (
+
)
}
-
- return (
-
- )
}
}
diff --git a/src/containers/index.js b/src/containers/index.js
index 622956a..26b9cd4 100644
--- a/src/containers/index.js
+++ b/src/containers/index.js
@@ -1,2 +1,2 @@
export { default as MainContainer } from './MainContainer'
-export { default as PostContainer } from './PostContainer'
+export { default as ContentContainer } from './ContentContainer'
diff --git a/src/utils/api.js b/src/utils/api.js
index e176c95..833f0e7 100644
--- a/src/utils/api.js
+++ b/src/utils/api.js
@@ -5,16 +5,22 @@ import path from 'path'
export function getData (reqPath = '') {
if (reqPath === '') {
return readJson(path.join(process.cwd(), 'data.json'))
+ } else if (reqPath === 'resume') {
+ const fileName = path.join(process.cwd(), 'content', reqPath + '.md')
+ return readFile(fileName, 'resume', 'utf8')
} else {
const fileName = path.join(process.cwd(), 'content', reqPath + '.md')
- return readFile(fileName, 'utf8')
+ return readFile(fileName, 'post', 'utf8')
}
};
-function readFile (fileName, options) {
+function readFile (fileName, type, options) {
return new Promise(function (resolve, reject) {
fs.readFile(fileName, options, (err, data) => {
- err ? reject(err) : resolve(data)
+ err ? reject(err) : resolve({
+ 'type': type,
+ 'data': data
+ })
})
})
}
@@ -25,4 +31,4 @@ function readJson (dataPath) {
err ? reject(err) : resolve(data)
})
})
-}
\ No newline at end of file
+}
diff --git a/src/utils/routes.js b/src/utils/routes.js
index b81cec0..ca761c0 100644
--- a/src/utils/routes.js
+++ b/src/utils/routes.js
@@ -1,4 +1,4 @@
-import { MainContainer, PostContainer } from '../containers'
+import { MainContainer, ContentContainer } from '../containers'
import { getData } from './api'
const routes = [
@@ -12,7 +12,14 @@ const routes = [
},
{
path: '/post/:postname',
- component: PostContainer,
+ component: ContentContainer,
+ getData: (path = '') => getData(
+ path.split('/').pop()
+ )
+ },
+ {
+ path: '/resume',
+ component: ContentContainer,
getData: (path = '') => getData(
path.split('/').pop()
)
diff --git a/src/utils/serverRender.js b/src/utils/serverRender.js
index 4ea09a0..07762df 100644
--- a/src/utils/serverRender.js
+++ b/src/utils/serverRender.js
@@ -33,7 +33,7 @@ export class ServerRenderer {
: Promise.resolve()
promise.then((data) => {
- const context = [data, config]
+ const context = [data, config]
const markup = renderToString(