-
Notifications
You must be signed in to change notification settings - Fork 102
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* added a gatsbyjs static site to replace storybook
- Loading branch information
1 parent
3fe231c
commit b8c7a8b
Showing
78 changed files
with
4,568 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
node_modules | ||
public | ||
.cache |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
root = true | ||
|
||
[*] | ||
indent_style = space | ||
indent_size = 2 | ||
charset = utf-8 | ||
trim_trailing_whitespace = true | ||
insert_final_newline = true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
{ | ||
"extends": [ | ||
"eslint:recommended", | ||
"plugin:import/errors", | ||
"plugin:react/recommended", | ||
"plugin:jsx-a11y/recommended", | ||
"prettier", | ||
"prettier/react" | ||
], | ||
"plugins": ["react", "import", "jsx-a11y"], | ||
"settings": { | ||
"react": { | ||
"version": "detect" | ||
} | ||
}, | ||
"rules": { | ||
"react/prop-types": 0, | ||
"react/react-in-jsx-scope": "off", | ||
"lines-between-class-members": ["error", "always"], | ||
"padding-line-between-statements": [ | ||
"error", | ||
{ "blankLine": "always", "prev": ["const", "let", "var"], "next": "*" }, | ||
{ | ||
"blankLine": "always", | ||
"prev": ["const", "let", "var"], | ||
"next": ["const", "let", "var"] | ||
}, | ||
{ "blankLine": "always", "prev": "directive", "next": "*" }, | ||
{ "blankLine": "any", "prev": "directive", "next": "directive" } | ||
] | ||
}, | ||
"parser": "babel-eslint", | ||
"parserOptions": { | ||
"ecmaVersion": 10, | ||
"sourceType": "module", | ||
"ecmaFeatures": { | ||
"jsx": true | ||
} | ||
}, | ||
"env": { | ||
"es6": true, | ||
"browser": true, | ||
"node": true | ||
}, | ||
"globals": { | ||
"graphql": false | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
public | ||
.cache | ||
node_modules | ||
*DS_Store | ||
*.env | ||
|
||
.idea/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
{ | ||
"printWidth": 100, | ||
"jsxBracketSameLine": false, | ||
"singleQuote": true, | ||
"tabWidth": 2, | ||
"trailingComma": "es5", | ||
"semi": false, | ||
"overrides": [ | ||
{ | ||
"files": ["*.md", "*.mdx"], | ||
"options": { | ||
"printWidth": 80, | ||
"proseWrap": "always" | ||
} | ||
} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
FROM node:buster | ||
|
||
# Create app directory | ||
WORKDIR /app | ||
|
||
# Install app dependencies | ||
# RUN npm -g install serve | ||
RUN npm -g install gatsby-cli | ||
|
||
COPY package*.json ./ | ||
|
||
RUN npm ci | ||
|
||
# Bundle app source | ||
COPY . . | ||
|
||
# Build static files | ||
RUN npm run build | ||
|
||
# serve on port 8080 | ||
# CMD ["serve", "-l", "tcp://0.0.0.0:8080", "public"] | ||
CMD ["gatsby", "serve", "--verbose", "--prefix-paths", "-p", "8080", "--host", "0.0.0.0"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
MIT License | ||
|
||
Copyright (c) 2019 Hasura | ||
|
||
Permission is hereby granted, free of charge, to any person obtaining a copy | ||
of this software and associated documentation files (the "Software"), to deal | ||
in the Software without restriction, including without limitation the rights | ||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
copies of the Software, and to permit persons to whom the Software is | ||
furnished to do so, subject to the following conditions: | ||
|
||
The above copyright notice and this permission notice shall be included in all | ||
copies or substantial portions of the Software. | ||
|
||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
SOFTWARE. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,146 @@ | ||
# gatsby-gitbook-starter | ||
|
||
Kick off your project with this starter to create a powerful/flexible docs/tutorial web apps. | ||
|
||
![gatsby-gitbook-starter](https://graphql-engine-cdn.hasura.io/learn-hasura/gatsby-gitbook-starter/assets/documentation_app_blog.png) | ||
|
||
## Motivation | ||
|
||
We wanted to create a [GraphQL tutorial](https://learn.hasura.io) series. The content would be written by developers for various languages/frameworks and what better than writing it in Markdown! And since this is a tutorial series we also needed rich embeds, syntax highlighting and more customisations. | ||
|
||
We also wanted to serve these tutorials in sub paths of [learn.hasura.io](https://learn.hasura.io). To serve all these requirements, we decided to use Gatsby + MDX (Markdown + JSX) to extend markdown and used a neat consistent theme like the one at [GitBook](https://www.gitbook.com) and deployed as docker containers. | ||
|
||
## 🔥 Features | ||
- Write using Markdown / [MDX](https://github.com/mdx-js/mdx) | ||
- GitBook style theme | ||
- Syntax Highlighting using Prism [`Bonus`: Code diff highlighting] | ||
- Search Integration with Algolia | ||
- Progressive Web App, Works Offline | ||
- Google Analytics Integration | ||
- Automatically generated sidebar navigation, table of contents, previous/next | ||
- Dark Mode toggle | ||
- Edit on Github | ||
- Fully customisable | ||
- Rich embeds and live code editor using MDX | ||
- Easy deployment: Deploy on Netlify / Now.sh / Docker | ||
|
||
## 🔗 Live Demo | ||
|
||
Here's a [live demo](https://learn.hasura.io/graphql/react) | ||
|
||
## 🚀 Quickstart | ||
|
||
Get started by running the following commands: | ||
|
||
``` | ||
$ git clone git@github.com:hasura/gatsby-gitbook-starter.git | ||
$ cd gatsby-gitbook-starter | ||
$ npm install | ||
$ npm start | ||
``` | ||
|
||
Visit `http://localhost:8000/` to view the app. | ||
|
||
## 🔧 Configure | ||
|
||
Write markdown files in `content` folder. | ||
|
||
Open `config.js` for templating variables. Broadly configuration is available for `gatsby`, `header`, `sidebar` and `siteMetadata`. | ||
|
||
- `gatsby` config for global configuration like | ||
- `pathPrefix` - Gatsby Path Prefix | ||
- `siteUrl` - Gatsby Site URL | ||
- `gaTrackingId` - Google Analytics Tracking ID | ||
|
||
- `header` config for site header configuration like | ||
- `title` - The title that appears on the top left | ||
- `githubUrl` - The Github URL for the docs website | ||
- `helpUrl` - Help URL for pointing to resources | ||
- `tweetText` - Tweet text | ||
- `links` - Links on the top right | ||
- `search` - Enable search and [configure Algolia](https://www.gatsbyjs.org/docs/adding-search-with-algolia/) | ||
|
||
- `sidebar` config for navigation links configuration | ||
- `forcedNavOrder` for left sidebar navigation order. It should be in the format "/\<filename>" | ||
- `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 sidebar | ||
- `ignoreIndex` - 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. | ||
|
||
- `siteMetadata` config for website related configuration | ||
- `title` - Title of the website | ||
- `description` - Description of the website | ||
- `ogImage` - Social Media share og:image tag | ||
- `docsLocation` - The Github URL for Edit on Github | ||
|
||
- For sub nesting in left sidebar, create a folder with the same name as the top level `.md` filename and the sub navigation is auto-generated. The sub navigation is alphabetically ordered. | ||
|
||
### Algolia Configuration | ||
|
||
To setup Algolia, go to `config.js` and update the `search` object to look like the one below: | ||
|
||
```..., | ||
"search": { | ||
"enabled": true, | ||
"indexName": "MY_INDEX_NAME", | ||
"algoliaAppId": process.env.GATSBY_ALGOLIA_APP_ID, | ||
"algoliaSearchKey": process.env.GATSBY_ALGOLIA_SEARCH_KEY, | ||
"algoliaAdminKey": process.env.ALGOLIA_ADMIN_KEY | ||
}, | ||
``` | ||
|
||
Values for Algolia App ID, Search Key, and Admin Key can be obtained from Algolia Dashboard with the right set of permissions. Replace `MY_INDEX_NAME` with the Algolia Index name of your choice. To build the Algolia index, you need to run `npm run build` which will do a gatsby build along with content indexing in Algolia. | ||
|
||
### Progressive Web App, Offline | ||
|
||
To enable PWA, go to `config.js` and update the `pwa` object to look like the one below: | ||
|
||
``` | ||
"pwa": { | ||
"enabled": false, // disabling this will also remove the existing service worker. | ||
"manifest": { | ||
"name": "Gatsby Gitbook Starter", | ||
"short_name": "GitbookStarter", | ||
"start_url": "/", | ||
"background_color": "#6b37bf", | ||
"theme_color": "#6b37bf", | ||
"display": "standalone", | ||
"crossOrigin": "use-credentials", | ||
icons: [ | ||
{ | ||
src: "src/pwa-512.png", | ||
sizes: `512x512`, | ||
type: `image/png`, | ||
}, | ||
], | ||
}, | ||
} | ||
``` | ||
|
||
## Live Code Editor | ||
|
||
To render react components for live editing, add the `react-live=true` to the code section. For example: | ||
|
||
```javascript react-live=true | ||
<button>Edit my text</button> | ||
``` | ||
|
||
In the above code, just add `javascript react-live=true` after the triple quote ``` to start rendering react components that can be edited by users. | ||
|
||
## 🤖 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. | ||
|
||
## ☁️ Deploy | ||
|
||
[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/hasura/gatsby-gitbook-starter) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
{ | ||
"responsive-preview": { | ||
"Mobile": [ | ||
320, | ||
675 | ||
], | ||
"Tablet": [ | ||
1024, | ||
765 | ||
], | ||
"Desktop": [ | ||
1400, | ||
800 | ||
], | ||
"Desktop HD": [ | ||
1920, | ||
1080 | ||
] | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
{ | ||
"printWidth": 80, | ||
"tabWidth": 2, | ||
"useTabs": false, | ||
"semi": false, | ||
"singleQuote": true, | ||
"trailingComma": "none", | ||
"bracketSpacing": true, | ||
"jsxBracketSameLine": false, | ||
"fluid": false | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
{ | ||
"name": "react-babylonjs", | ||
"version": "1.0.0", | ||
"description": "", | ||
"keywords": [], | ||
"main": "src/index.tsx", | ||
"dependencies": { | ||
"@babylonjs/core": "4.2.1", | ||
"@babylonjs/gui": "4.2.1", | ||
"babylonjs-hook": "0.1.0", | ||
"react": "17.0.2", | ||
"react-babylonjs": "3.0.31", | ||
"react-dom": "17.0.2", | ||
"react-scripts": "4.0.3", | ||
"type-fest": "2.9.0" | ||
}, | ||
"devDependencies": { | ||
"prettier": "2.5.1", | ||
"prettier-plugin-organize-imports": "2.3.4", | ||
"@types/react": "17.0.20", | ||
"@types/react-dom": "17.0.9", | ||
"typescript": "4.4.2" | ||
}, | ||
"scripts": { | ||
"start": "react-scripts start", | ||
"build": "react-scripts build", | ||
"test": "react-scripts test --env=jsdom", | ||
"eject": "react-scripts eject" | ||
}, | ||
"browserslist": [ | ||
">0.2%", | ||
"not dead", | ||
"not ie <= 11", | ||
"not op_mini all" | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
import "./styles.css"; | ||
|
||
export default function App() { | ||
return ( | ||
<div className="App"> | ||
<h1>Hello CodeSandbox</h1> | ||
<h2>Start editing to see some magic happen!</h2> | ||
</div> | ||
); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
import { render } from "react-dom"; | ||
import "./styles.css"; | ||
|
||
import App from "./App"; | ||
|
||
const rootElement = document.getElementById("root"); | ||
render(<App />, rootElement); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
canvas { | ||
display: flex; | ||
flex: 1; | ||
width: 100%; | ||
height: 100%; | ||
} | ||
|
||
.App { | ||
font-family: sans-serif; | ||
text-align: center; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
{ | ||
"include": [ | ||
"./src/**/*" | ||
], | ||
"compilerOptions": { | ||
"strict": true, | ||
"esModuleInterop": true, | ||
"lib": [ | ||
"dom", | ||
"es2015" | ||
], | ||
"jsx": "react-jsx" | ||
} | ||
} |
Oops, something went wrong.