gatsby-philipps-foam-theme v0.4.0
Gatsby Philipps Foam Theme
My customized Gatsby theme specifically for Foam.
Forked from mathieudutour/gatsby-digital-garden who did all the major work.
Changes made to original:
- Codeblocks with Codemirror 6
- Upped deps (Gatsby 3)
- Adopted Tailwind for styles
- Support for more themes
- Dropped roam support (check mathieudutour/gatsby-digital-garden if you need it)
- Reworked search UI
- Change graph diagram (redo with @antv/g6)
- Small table of contents at frame header (like GitHub has now)
- Sidbar with pages as folder structure
Install
npm install gatsby-philipps-foam-themeSetup
Take a look into the _layouts folder in the example directory
Manually add to your site
- Install the theme - npm install gatsby-philipps-foam-theme autoprefixer gatsby gatsby-plugin-postcss postcss react react-dom
- Add the configuration to your - gatsby-config.jsfile- // gatsby-config.js module.exports = { plugins: [ { resolve: `gatsby-philipps-foam-theme`, options: { // basePath defaults to `/` basePath: `/garden`, rootNote: `/garden/About-these-notes`, contentPath: `/content/garden`, }, }, ], };- You can ignore certain folders by adding an "ignore" array to the options: - plugins: [ { resolve: `gatsby-philipps-foam-theme`, options: { rootNote: "/readme", contentPath: "/", ignore: [ "**/_layouts/**", "**/private/**/*", ], }, }, ],
- Add notes to your site by creating - mdor- mdxfiles inside- /content/garden.
- Run your site using - gatsby developand navigate to your notes. If you used the above configuration, your URL will be- http://localhost:8000/{basePath}
Development
This is a yarn workspace. Just run yarn in the root to install.
To develop run yarn start.
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 - gatsby-theme-gardencan be shadowed by placing the custom components under the following path- ./src/gatsby-theme-garden/components/mdx-components/index.js
Example: Injecting a custom CodeBlock component to support Syntax Highlighting
- Create a custom - CodeBlockcomponent as mentioned in the MDX Guides
- Create a file named - ./src/gatsby-theme-garden/components/mdx-components/index.jswith 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
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
