aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMathias Biilmann Christensen <info@mathias-biilmann.net>2017-02-20 23:57:32 -0800
committerMathias Biilmann Christensen <info@mathias-biilmann.net>2017-02-20 23:57:32 -0800
commitabac30330edd5b7ea718abc230c9d685dfe30c83 (patch)
treefe94c8989a68b03bef7f9a9001b14de504a7433e /src
parent5248a576a106552a71e720314299e7269d8f5bb5 (diff)
Add preview template for posts in CMS
Diffstat (limited to 'src')
-rw-r--r--src/js/cms-preview-templates/post.js19
-rw-r--r--src/js/cms.js5
2 files changed, 24 insertions, 0 deletions
diff --git a/src/js/cms-preview-templates/post.js b/src/js/cms-preview-templates/post.js
new file mode 100644
index 0000000..0c819fd
--- /dev/null
+++ b/src/js/cms-preview-templates/post.js
@@ -0,0 +1,19 @@
+import React from "react";
+import format from "date-fns/format";
+
+export default class PostPreview extends React.Component {
+ render() {
+ const {entry, widgetFor} = this.props;
+
+ return <div className="mw6 center ph3 pv4">
+ <h1 className="f2 lh-title b mb3">{ entry.getIn(["data", "title"])}</h1>
+ <div className="flex justify-between grey-3">
+ <p>{ format(entry.getIn(["data", "date"]), "ddd, MMM D, YYYY") }</p>
+ <p>Read in x minutes</p>
+ </div>
+ <div className="cms mw6">
+ { widgetFor("body") }
+ </div>
+ </div>;
+ }
+}
diff --git a/src/js/cms.js b/src/js/cms.js
new file mode 100644
index 0000000..d0781af
--- /dev/null
+++ b/src/js/cms.js
@@ -0,0 +1,5 @@
+import CMS from "netlify-cms";
+import PostPreview from "./cms-preview-templates/post";
+
+CMS.registerPreviewStyle("/css/main.css");
+CMS.registerPreviewTemplate("post", PostPreview);