{"id":13607522,"url":"https://github.com/fabien0102/gatsby-starter","last_synced_at":"2025-04-05T08:09:50.940Z","repository":{"id":19879882,"uuid":"88164425","full_name":"fabien0102/gatsby-starter","owner":"fabien0102","description":"Gatsby 2.0 starter with typescript and many cools dev tools","archived":false,"fork":false,"pushed_at":"2023-02-03T04:24:35.000Z","size":22560,"stargazers_count":381,"open_issues_count":43,"forks_count":97,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-03-29T07:08:51.758Z","etag":null,"topics":["gatsbyjs","jest","plop","react","starter-kit","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fabien0102.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-04-13T12:50:52.000Z","updated_at":"2025-03-15T20:58:41.000Z","dependencies_parsed_at":"2023-02-18T03:16:18.916Z","dependency_job_id":null,"html_url":"https://github.com/fabien0102/gatsby-starter","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabien0102%2Fgatsby-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabien0102%2Fgatsby-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabien0102%2Fgatsby-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabien0102%2Fgatsby-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fabien0102","download_url":"https://codeload.github.com/fabien0102/gatsby-starter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247305935,"owners_count":20917208,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gatsbyjs","jest","plop","react","starter-kit","typescript"],"created_at":"2024-08-01T19:01:19.363Z","updated_at":"2025-04-05T08:09:50.923Z","avatar_url":"https://github.com/fabien0102.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# Gatsby 2.0 starter\n\n[![XO code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo)\n[![Build Status](https://travis-ci.org/fabien0102/gatsby-starter.svg?branch=master)](https://travis-ci.org/fabien0102/gatsby-starter)\n[![Build status](https://ci.appveyor.com/api/projects/status/k06pajqcm23lay1s/branch/master?svg=true)](https://ci.appveyor.com/project/fabien0102/gatsby-starter/branch/master)\n[![Code Climate](https://codeclimate.com/github/fabien0102/gatsby-starter/badges/gpa.svg)](https://codeclimate.com/github/fabien0102/gatsby-starter)\n[![Test Coverage](https://codeclimate.com/github/fabien0102/gatsby-starter/badges/coverage.svg)](https://codeclimate.com/github/fabien0102/gatsby-starter/coverage)\n\nDemo: \u003chttps://fabien0102-gatsby-starter.netlify.com/\u003e\n\nStorybook: \u003chttps://fabien0102-gatsby-starter.netlify.com/docs/\u003e\n\nGatsby 2.0 starter for generate awesome static website working with a nice env development.\n\n## Warning\n\nThis starter is currently in wip (see progression to #What's inside session).\n\n## Getting started\n\nInstall this starter (assuming Gatsby is installed) by running from your CLI:\n\n```bash\n$ gatsby new my-website https://github.com/fabien0102/gatsby-starter\n```\n\nRun `npm start` (or press `F5` if you are on VSCode) to hot-serve your website on \u003chttp://localhost:8000\u003e.\n\nRun `npm run build` to create static site ready to host (`/public`)\n\n## What's inside?\n\n-   [ ] Gatsby 2.0 (alpha)\n    -   [x] sharp\n    -   [x] offline support\n    -   [ ] google analytics\n    -   [x] manifest\n    -   [x] typescript\n    -   [x] blog in markdown\n-   [x] Best practices tools\n    -   [x] [Jest](https://facebook.github.io/jest/) / [Enzyme](http://airbnb.io/enzyme/)\n    -   [x] [Storybook](https://storybooks.js.org/)\n    -   [x] [Typescript](https://www.typescriptlang.org/) / [tslint](https://palantir.github.io/tslint/)\n    -   [x] [xo linter](https://github.com/sindresorhus/xo)\n    -   [x] [Remark-lint](https://github.com/wooorm/remark-lint)\n    -   [x] [Husky](https://github.com/typicode/husky) \u0026 [lint-staged](https://github.com/okonet/lint-staged) for autofix each commit\n    -   [x] Travis/AppVeyor config (unix-osx-windows CI)\n    -   [x] Code climate config\n-   [x] SEO\n    -   [x] [Helmet](https://github.com/nfl/react-helmet)\n-   [x] [Semantic-ui](http://react.semantic-ui.com) for styling\n-   [x] Lazyboy tools\n    -   [x] [plop](https://github.com/amwmedia/plop) templates -\u003e `npm run generate`\n\n## Files structure\n\n     .\n     ├── data                          // website data (included into graphQL)\n     │   ├── author.json               // list of blog authors\n     │   ├── avatars                   // authors avatars\n     │   └── blog                      // all blog data (posts, images)\n     ├── gatsby-config.js              // gatsby configuration\n     ├── gatsby-node.js                // gatsby node hooks\n     ├── generators                    // generators (`npm run generate`)\n     │   ├── blog-post-generator.js    // `blog post` generator\n     │   ├── component-generator.js    // `component` generator\n     │   ├── page-generator.js         // `page` generator\n     │   ├── plopfile.js               // generators entry\n     │   ├── templates                 // all templates (handlebar notation)\n     │   └── utils.js                  // utils scripts for generators\n     ├── package.json\n     ├── public                        // output folder (in .gitignore)\n     ├── README.md                     // this file\n     ├── src                           // sources\n     │   ├── components                // all react components\n     │   ├── css                       // styles\n     │   ├── declarations.d.ts         // declarations for no typescript modules/files\n     │   ├── graphql-types.d.ts        // graphql types (`npm run graphql-types`)\n     │   ├── html.tsx                  // main html (required)\n     │   ├── layouts                   // layouts\n     │   │   └── default.tsx           // default layout (required)\n     │   ├── pages                     // all pages\n     │   └── templates                 // all templates (used for procedural page creation, see `gatsby-node.js`)\n     ├── tools                         // miscs tools for dev\n     │   └── update-post-date.js       // update post date hook\n     ├── tsconfig.json                 // typescript configuration\n     ├── tslint.json                   // tslint configuration\n     └── package-lock.json             // npm lock file\n\n## Plop generators - `npm run generate`\n\nTo avoid any boring copy/paste, this starter-kit have many generators to permit\nsimple bootstrap of current file pattern (eg. components/pages/blog posts). e.g. to add a new blog post first add the authors to data/authors.json and add authors' images to the data/avatars folder. Next execute 'npm run generate' and select 'Blog post'. Follow the prompts for a new post. Each blog post requires an image be added to the /data/blog/\u003cyour new post\u003e folder prior to running 'gatsby develop'.\n\nYou can add/delete/modify any generators into `/generators` folder.\n\nBe lazy and have fun!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffabien0102%2Fgatsby-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffabien0102%2Fgatsby-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffabien0102%2Fgatsby-starter/lists"}