This project houses the web application for delivering the BoomCamp Frontend training course.
To install project dependencies run
npm installOnce dependencies have been installed you can run the project locally by running...
npm startVisit http://localhost:8000/ to view the app.
This site is built using Gatsby.js which is a static site generator that utilizes GraphQl and React.js. If you're unfamiliar going through the tutorials will be invaluable.
This project is based on the gatsby-gitbook-starter
- Write using Markdown / MDX
- GitBook style theme
- Syntax Highlighting using Prism [
Bonus: Code diff highlighting] - Google Analytics Integration
- Automatically generated sidebar navigation, table of contents, previous/next
- Edit on Github
- Fully customisable
- Rich embeds and live code editor using MDX
- Easy deployment: Deploy on Netlify / Now.sh / Docker
Write lesson files in lessons folder.
Open config.js for templating variables. Broadly configuration is available
for gatsby, header, sidebar and siteMetadata.
-
gatsbyconfig for global configuration likepathPrefix- Gatsby Path PrefixsiteUrl- Gatsby Site URLgaTrackingId- Google Analytics Tracking ID
-
headerconfig for site header configuration liketitle- The title that appears on the top leftgithubUrl- The Github URL for the docs websitehelpUrl- Help URL for pointing to resourcestweetText- Tweet textlinks- Links on the top right
-
sidebarconfig for navigation links configurationforcedNavOrderfor left sidebar navigation order. It should be in the format "/"frontLine- whether to show a front line at the beginning of a nested menu.(Collapsing capability would be turned of if this option is set to true)links- Links on the bottom left of the sidebarignoreIndex- Set this to true if the index.md file shouldn't appear on the left sidebar navigation. Typically this can be used for landing pages.
-
siteMetadataconfig for website related configurationtitle- Title of the websitedescription- Description of the websiteogImage- Social Media share og:image tagdocsLocation- The Github URL for Edit on Github
-
For sub nesting in left sidebar, create a folder with the same name as the top level
.mdfilename and the sub navigation is auto-generated. The sub navigation is alphabetically ordered.
To render react components for live editing, add the react-live=true to the
code section. For example:
<button>Edit my text</button>In the above code, just add javascript react-live=true after the triple quote
## 🤖 SEO friendly
This is a static site and comes with all the SEO benefits. Configure meta tags
like title and description for each markdown file using MDX Frontmatter
```markdown
---
title: 'Title of the page'
metaTitle: 'Meta Title Tag for this page'
metaDescription: 'Meta Description Tag for this page'
---
Canonical URLs are generated automatically.