diff --git a/gatsby-node.js b/gatsby-node.js
index 98ffa50..161eea7 100644
--- a/gatsby-node.js
+++ b/gatsby-node.js
@@ -5,8 +5,10 @@ const {buildPagePath} = require('./src/utils');
exports.createPages = ({graphql, boundActionCreators}) => {
const {createPage} = boundActionCreators;
return new Promise((resolve, reject) => {
+ const apiTemplate = path.resolve('./src/templates/api.js');
const docTemplate = path.resolve('./src/templates/doc.js');
const templates = {
+ api: apiTemplate,
docs: docTemplate,
};
@@ -41,8 +43,10 @@ exports.createPages = ({graphql, boundActionCreators}) => {
const {localPath, remoteUrl} = buildPagePath(node);
createPage({
path: localPath,
- component: templates[node.sourceInstanceName] || templates.docs,
+ component: templates[node.sourceInstanceName] || templates.api,
context: {
+ // Needed for api doc query
+ absolutePath: node.absolutePath,
// Needed for api doc query
remoteUrl,
// Used to query for HTML data on the actual page
diff --git a/src/templates/api.js b/src/templates/api.js
new file mode 100644
index 0000000..bdc7cc3
--- /dev/null
+++ b/src/templates/api.js
@@ -0,0 +1,57 @@
+import React from 'react';
+import {styled} from 'styletron-react';
+import {extractChildMarkdownRemark} from '../utils';
+
+const ApiWrapper = styled('div', {
+ position: 'relative',
+});
+
+const ApiContainer = styled('div', {
+ paddingTop: '52px',
+ paddingBottom: '52px',
+});
+
+const EditLink = styled('a', {
+ paddingTop: '4px',
+ paddingBottom: '4px',
+ paddingLeft: '8px',
+ paddingRight: '8px',
+ position: 'absolute',
+ top: '16px',
+ right: 0,
+});
+
+class ApiTemplate extends React.Component {
+ render() {
+ const {data, pathContext} = this.props;
+ let html = extractChildMarkdownRemark(data).html || '';
+
+ return (
+
+ {pathContext.remoteUrl ? (
+ Edit
+ ) : null}
+
+
+ );
+ }
+}
+
+export const query = graphql`
+ query ApiQuery($absolutePath: String!) {
+ allFile(filter: {absolutePath: {eq: $absolutePath}}) {
+ edges {
+ node {
+ childMarkdownRemark {
+ html
+ }
+ }
+ }
+ }
+ }
+`;
+
+export default ApiTemplate;
diff --git a/src/templates/doc.js b/src/templates/doc.js
index 275ee2b..261cfc1 100644
--- a/src/templates/doc.js
+++ b/src/templates/doc.js
@@ -11,16 +11,6 @@ const DocsContainer = styled('div', {
paddingBottom: '52px',
});
-const EditLink = styled('a', {
- paddingTop: '4px',
- paddingBottom: '4px',
- paddingLeft: '8px',
- paddingRight: '8px',
- position: 'absolute',
- top: '16px',
- right: 0,
-});
-
class DocTemplate extends React.Component {
render() {
const {data, pathContext} = this.props;
@@ -28,9 +18,6 @@ class DocTemplate extends React.Component {
return (
- {pathContext.remoteUrl ? (
- Edit
- ) : null}