Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/petrnikolas/staticfy
Basic starter kit for static sites based on Gatsby.js. (React, Gatsby, TypeScript, TSLint, Lint-Staged, Husky, Prettier, Stylelint, Spectre.css, PostCSS, Sass)
https://github.com/petrnikolas/staticfy
gatsby gatsby-starter gatsby-starter-kit gatsbyjs husky postcss react reactjs sass spectre starter-kit starter-project starter-template starterkit static-site stylelint tslint typescript
Last synced: 3 days ago
JSON representation
Basic starter kit for static sites based on Gatsby.js. (React, Gatsby, TypeScript, TSLint, Lint-Staged, Husky, Prettier, Stylelint, Spectre.css, PostCSS, Sass)
- Host: GitHub
- URL: https://github.com/petrnikolas/staticfy
- Owner: PetrNikolas
- License: mit
- Created: 2018-10-11T17:32:45.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2023-01-03T17:12:11.000Z (almost 2 years ago)
- Last Synced: 2023-03-07T12:23:34.752Z (over 1 year ago)
- Topics: gatsby, gatsby-starter, gatsby-starter-kit, gatsbyjs, husky, postcss, react, reactjs, sass, spectre, starter-kit, starter-project, starter-template, starterkit, static-site, stylelint, tslint, typescript
- Language: CSS
- Homepage:
- Size: 6.66 MB
- Stars: 7
- Watchers: 2
- Forks: 1
- Open Issues: 28
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Staticfy
Basic starter kit for static sites based on Gatsby.js.
## π Quick start
**Start developing.**
Navigate into your new siteβs directory and start it up.
```sh
cd my-site/
gatsby develop
```**Open the source code and start editing!**
Your site is now running at `http://localhost:8000`!
*Note: You'll also see a second link: `http://localhost:8000/___graphql`. This is a tool you can use to experiment with querying your data. Learn more about using this tool in the [Gatsby tutorial](https://www.gatsbyjs.org/tutorial/part-five/#introducing-graphiql).*
Open the `my-site` directory in your code editor of choice and edit `src/pages/index.js`. Save your changes and the browser will update in real time!
## π§ What's inside
### Features
- Gatsby
- TypeScript
- Sass, Spectre.css, PostCSS
- TSLint
- Prettier
- Stylelint
- Lint-staged, Husky, Git Hooks### Project structure
A quick look at the top-level files and directories you'll see in a Gatsby project.
.
βββ node_modules
βββ src
βββ .gitignore
βββ .prettierrc
βββ gatsby-browser.js
βββ gatsby-config.js
βββ gatsby-node.js
βββ gatsby-ssr.js
βββ LICENSE
βββ package-lock.json
βββ package.json
βββ README.md
βββ yarn.lock**`/node_modules`**: This directory contains all of the modules of code that your project depends on (npm packages) are automatically installed.
**`/src`**: This directory will contain all of the code related to what you will see on the front-end of your site (what you see in the browser) such as your site header or a page template. `src` is a convention for βsource codeβ.
**`.gitignore`**: This file tells git which files it should not track / not maintain a version history for.
**`.prettierrc`**: This is a configuration file for [Prettier](https://prettier.io/). Prettier is a tool to help keep the formatting of your code consistent.
**`gatsby-browser.js`**: This file is where Gatsby expects to find any usage of the [Gatsby browser APIs](https://www.gatsbyjs.org/docs/browser-apis/) (if any). These allow customization/extension of default Gatsby settings affecting the browser.
**`gatsby-config.js`**: This is the main configuration file for a Gatsby site. This is where you can specify information about your site (metadata) like the site title and description, which Gatsby plugins youβd like to include, etc. (Check out the [config docs](https://www.gatsbyjs.org/docs/gatsby-config/) for more detail).
**`gatsby-node.js`**: This file is where Gatsby expects to find any usage of the [Gatsby Node APIs](https://www.gatsbyjs.org/docs/node-apis/) (if any). These allow customization/extension of default Gatsby settings affecting pieces of the site build process.
**`gatsby-ssr.js`**: This file is where Gatsby expects to find any usage of the [Gatsby server-side rendering APIs](https://www.gatsbyjs.org/docs/ssr-apis/) (if any). These allow customization of default Gatsby settings affecting server-side rendering.
**`LICENSE`**: Gatsby is licensed under the MIT license.
**`package-lock.json`** (See `package.json` below, first). This is an automatically generated file based on the exact versions of your npm dependencies that were installed for your project. **(You wonβt change this file directly).**
**`package.json`**: A manifest file for Node.js projects, which includes things like metadata (the projectβs name, author, etc). This manifest is how npm knows which packages to install for your project.
**`README.md`**: A text file containing useful reference information about your project.
**`yarn.lock`**: [Yarn](https://yarnpkg.com/) is a package manager alternative to npm. You can use either yarn or npm, though all of the Gatsby docs reference npm. This file serves essentially the same purpose as `package-lock.json`, just for a different package management system.
## Deployment
For deployment you can use Gitlab CI. In project are two files - sample `.gitlab-ci.yml` and for S3 deploy `.gitlab-ci-s3.yml`.