@synesthesia/gatsby-theme-garden
v0.4.0
Published
Gatsby theme to create a digital garden
Downloads
6
Maintainers
Readme
@synesthesia/gatsby-theme-garden
A Gatsby theme for publishing a digital garden forked from mathieudutour/gatsby-digital-garden.
Please note this fork is for personal experimentation, use at your own risk and please do not have any expectation of support.
Installation
Manually add to your site
Install the theme
npm install @synesthesia/gatsby-theme-garden
Add the configuration to your
gatsby-config.js
file// gatsby-config.js module.exports = { plugins: [ { resolve: `@synesthesia/gatsby-theme-garden`, options: { // basePath defaults to `/` basePath: `/garden`, rootNote: `/garden/About-these-notes`, contentPath: `/content/garden`, }, }, ], };
Add notes to your site by creating
md
ormdx
files inside/content/garden
.Run your site using
gatsby develop
and navigate to your notes. If you used the above configuration, your URL will behttp://localhost:8000/garden
Options
| Key | Default value | Description |
| ------------------------ | ------------- | -------------------------------------------------------------------------------- |
| basePath
| /
| Root url for the garden |
| rootNote
| | The URL of the note to use as the root |
| contentPath
| | Location of local content |
| mdxOtherwiseConfigured
| false
| Set this flag true
if gatsby-plugin-mdx
is already configured for your site. |
How to inject custom MDX Components?
Create a custom react component.
Shadow the component with the custom component created in step 1.
All the MDX components that are used within
@synesthesia/gatsby-theme-garden
can be shadowed by placing the custom components under the following path./src/@synesthesia/gatsby-theme-garden/components/mdx-components/index.js
Example: Injecting a custom CodeBlock
component to support Syntax Highlighting
Create a custom
CodeBlock
component as mentioned in the MDX GuidesCreate a file named
./src/@gatsby-theme-garden/components/mdx-components/index.js
with the following content.// the components provided by the theme export { AnchorTag as a } from "@gatsby-theme-garden/src/components/mdx-components/anchor-tag"; // your own component to inject into mdx export code from "./your-component"; // any code block will use this component
Embedding 3rd party content in MDX pages
This theme includes gatsby-plugin-mdx-embed
so you can embed third-party content from a range of sources.
Please see the mdx-embed documentation.