allow embedding components in markdown
This commit is contained in:
parent
10513aa23e
commit
179b31d3b9
|
@ -14,6 +14,12 @@ module.exports = {
|
||||||
path: `${__dirname}/src/markdown-pages`,
|
path: `${__dirname}/src/markdown-pages`,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
`gatsby-transformer-remark`,
|
{
|
||||||
|
resolve: `gatsby-plugin-mdx`,
|
||||||
|
options: {
|
||||||
|
extensions: [`.mdx`, `.md`],
|
||||||
|
gatsbyRemarkPlugins: [],
|
||||||
|
},
|
||||||
|
},
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,7 +7,7 @@ exports.createPages = async ({ actions, graphql, reporter }) => {
|
||||||
|
|
||||||
const result = await graphql(`
|
const result = await graphql(`
|
||||||
{
|
{
|
||||||
allMarkdownRemark(
|
allMdx(
|
||||||
limit: 1000
|
limit: 1000
|
||||||
) {
|
) {
|
||||||
edges {
|
edges {
|
||||||
|
@ -28,7 +28,7 @@ exports.createPages = async ({ actions, graphql, reporter }) => {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
result.data.allMarkdownRemark.edges.forEach(({ node }) => {
|
result.data.allMdx.edges.forEach(({ node }) => {
|
||||||
createPage({
|
createPage({
|
||||||
path: node.frontmatter.path,
|
path: node.frontmatter.path,
|
||||||
component: blogPostTemplate,
|
component: blogPostTemplate,
|
||||||
|
|
|
@ -14,7 +14,10 @@
|
||||||
"test": "echo \"Write tests! -> https://gatsby.dev/unit-testing\" && exit 1"
|
"test": "echo \"Write tests! -> https://gatsby.dev/unit-testing\" && exit 1"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@mdx-js/mdx": "^1.5.1",
|
||||||
|
"@mdx-js/react": "^1.5.1",
|
||||||
"gatsby": "^2.18.8",
|
"gatsby": "^2.18.8",
|
||||||
|
"gatsby-plugin-mdx": "^1.0.62",
|
||||||
"gatsby-source-filesystem": "^2.1.42",
|
"gatsby-source-filesystem": "^2.1.42",
|
||||||
"gatsby-transformer-remark": "^2.6.42",
|
"gatsby-transformer-remark": "^2.6.42",
|
||||||
"react": "^16.12.0",
|
"react": "^16.12.0",
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
flex-flow: row wrap;
|
flex-flow: row wrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
a.navItem {
|
a.navItem, a.navItem:visited {
|
||||||
padding: 1rem;
|
padding: 1rem;
|
||||||
color: white;
|
color: white;
|
||||||
font-weight: 900;
|
font-weight: 900;
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
import React, { useEffect, useState } from "react"
|
import React, { useEffect, useState } from "react"
|
||||||
import Layout from "../components/layout"
|
|
||||||
|
|
||||||
const roomStateData = {
|
const roomStateData = {
|
||||||
loading: { text: "lade…", color: "white" },
|
loading: { text: "lade…", color: "white" },
|
||||||
|
@ -20,13 +19,11 @@ export default () => {
|
||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Layout>
|
|
||||||
<h2>
|
<h2>
|
||||||
Raumstatus:{" "}
|
Raumstatus:{" "}
|
||||||
<span style={{ color: roomStateData[openState].color }}>
|
<span style={{ color: roomStateData[openState].color }}>
|
||||||
{roomStateData[openState].text}
|
{roomStateData[openState].text}
|
||||||
</span>
|
</span>
|
||||||
</h2>
|
</h2>
|
||||||
</Layout>
|
|
||||||
)
|
)
|
||||||
}
|
}
|
|
@ -0,0 +1,8 @@
|
||||||
|
---
|
||||||
|
path: "/treff"
|
||||||
|
title: "Zeiten & Location"
|
||||||
|
---
|
||||||
|
import RoomState from "../components/roomState"
|
||||||
|
|
||||||
|
<RoomState/>
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
import React, { useEffect } from "react"
|
import React, { useEffect } from "react"
|
||||||
import { graphql } from "gatsby"
|
import { graphql } from "gatsby"
|
||||||
import Layout from "../components/layout"
|
import Layout from "../components/layout"
|
||||||
|
import { MDXRenderer } from "gatsby-plugin-mdx"
|
||||||
|
|
||||||
export default function Template({
|
export default function Template({
|
||||||
data, // this prop will be injected by the GraphQL query below.
|
data, // this prop will be injected by the GraphQL query below.
|
||||||
}) {
|
}) {
|
||||||
const { markdownRemark } = data // data.markdownRemark holds your post data
|
const { mdx } = data // data.markdownRemark holds your post data
|
||||||
const { frontmatter, html } = markdownRemark
|
const { frontmatter, body } = mdx
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
document.title = frontmatter.title
|
document.title = frontmatter.title
|
||||||
|
@ -14,17 +15,16 @@ export default function Template({
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Layout>
|
<Layout>
|
||||||
<div dangerouslySetInnerHTML={{ __html: html }}></div>
|
<MDXRenderer>{body}</MDXRenderer>
|
||||||
</Layout>
|
</Layout>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
export const pageQuery = graphql`
|
export const pageQuery = graphql`
|
||||||
query($path: String!) {
|
query($path: String!) {
|
||||||
markdownRemark(frontmatter: { path: { eq: $path } }) {
|
mdx(frontmatter: { path: { eq: $path } }) {
|
||||||
html
|
body
|
||||||
frontmatter {
|
frontmatter {
|
||||||
path
|
|
||||||
title
|
title
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue