Skip to content

Commit 5719dd9

Browse files
author
Carms Ng
authored
Merge pull request #42 from coderbunker/eslint
SEO Meta Tags & Clean up
2 parents 5298b09 + 48b7847 commit 5719dd9

34 files changed

+18669
-31688
lines changed

.eslintrc.js

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
module.exports = {
2+
env: {
3+
browser: true,
4+
es2021: true,
5+
},
6+
extends: [
7+
'plugin:react/recommended',
8+
'airbnb',
9+
],
10+
parserOptions: {
11+
ecmaFeatures: {
12+
jsx: true,
13+
},
14+
ecmaVersion: 12,
15+
sourceType: 'module',
16+
},
17+
plugins: [
18+
'react',
19+
],
20+
rules: {
21+
'react/jsx-filename-extension': [
22+
1,
23+
{
24+
extensions: [
25+
'.js',
26+
'.jsx',
27+
],
28+
},
29+
],
30+
'no-param-reassign': 0,
31+
'react/prop-types': 0,
32+
},
33+
};

gatsby-browser.js

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1 @@
1-
/**
2-
* Implement Gatsby's Browser APIs in this file.
3-
*
4-
* See: https://www.gatsbyjs.com/docs/browser-apis/
5-
*/
61
import './src/styles/global.css';

gatsby-config.js

Lines changed: 39 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,56 @@
11
module.exports = {
2-
pathPrefix: "/coderbunker.ca",
2+
pathPrefix: '/coderbunker.ca',
33
siteMetadata: {
4-
title: `Coderbunker Canada`,
5-
author: `@Carms-dev`,
6-
description: `Coderbunker est une communauté internationale de passionnés de développement logiciel. Nous fonctionnons sur une base de budget d'ingénierie mensuels prépayés sur lesquels nous recrutons des équipes formées de talents flexibles qui participent activement dans la construction d'une communauté qui les rends heureux.`,
4+
title: 'Coderbunker Canada',
5+
author: '@Carms-dev',
6+
description: 'Coderbunker est une communauté internationale de passionnés de développement logiciel. Nous fonctionnons sur une base de budget d\'ingénierie mensuels prépayés sur lesquels nous recrutons des équipes formées de talents flexibles qui participent activement dans la construction d\'une communauté qui les rends heureux.',
7+
siteUrl: 'https://www.coderbunker.ca/',
78
},
89
plugins: [
9-
`gatsby-transformer-json`,
10+
'gatsby-transformer-json',
1011

11-
`gatsby-plugin-postcss`,
12-
`gatsby-plugin-styled-components`,
13-
`gatsby-plugin-react-helmet`,
14-
`gatsby-plugin-image`,
12+
'gatsby-plugin-postcss',
13+
'gatsby-plugin-styled-components',
14+
'gatsby-plugin-react-helmet',
15+
'gatsby-plugin-image',
1516
{
16-
resolve: `gatsby-source-filesystem`,
17+
resolve: 'gatsby-source-filesystem',
1718
options: {
18-
name: `images`,
19+
name: 'images',
1920
path: `${__dirname}/src/assets/images`,
2021
},
2122
},
2223
{
23-
resolve: `gatsby-source-filesystem`,
24+
resolve: 'gatsby-source-filesystem',
2425
options: {
25-
name: `assets`,
26+
name: 'assets',
2627
path: `${__dirname}/src/assets`,
2728
},
2829
},
2930
{
30-
resolve: `gatsby-source-filesystem`,
31+
resolve: 'gatsby-source-filesystem',
3132
options: {
32-
name: `content`,
33+
name: 'content',
3334
path: `${__dirname}/src/assets/content`,
3435
},
3536
},
3637
{
37-
resolve: `gatsby-source-filesystem`,
38+
resolve: 'gatsby-source-filesystem',
3839
options: {
39-
name: `locale`,
40+
name: 'locale',
4041
path: `${__dirname}/locales`,
41-
}
42+
},
4243
},
43-
`gatsby-transformer-sharp`,
44+
'gatsby-transformer-sharp',
4445
{
45-
resolve: `gatsby-plugin-sharp`,
46+
resolve: 'gatsby-plugin-sharp',
4647
options: {
4748
defaults: {
48-
formats: [`auto`, `webp`],
49-
placeholder: `dominantColor`,
49+
formats: ['auto', 'webp'],
50+
placeholder: 'dominantColor',
5051
quality: 50,
5152
breakpoints: [750, 1080, 1366, 1920],
52-
backgroundColor: `transparent`,
53+
backgroundColor: 'transparent',
5354
tracedSVGOptions: {},
5455
blurredOptions: {},
5556
jpgOptions: {},
@@ -60,39 +61,39 @@ module.exports = {
6061
},
6162
},
6263
{
63-
resolve: `gatsby-plugin-manifest`,
64+
resolve: 'gatsby-plugin-manifest',
6465
options: {
6566
icon: `${__dirname}/src/assets/images/coderbunker-icon.png`, // This path is relative to the root of the site.
6667
},
6768
},
6869
{
69-
resolve: `gatsby-plugin-react-i18next`,
70+
resolve: 'gatsby-plugin-react-i18next',
7071
options: {
71-
localeJsonSourceName: `locale`, // name given to `gatsby-source-filesystem` plugin.
72-
languages: [`en`, `fr`],
73-
defaultLanguage: `en`,
72+
localeJsonSourceName: 'locale', // name given to `gatsby-source-filesystem` plugin.
73+
languages: ['en', 'fr'],
74+
defaultLanguage: 'en',
7475
// if you are using Helmet, you must include siteUrl, and make sure you add http:https
75-
siteUrl: `https://coderbunker.ca/`,
76+
siteUrl: 'https://coderbunker.ca/',
7677
// you can pass any i18next options
7778
i18nextOptions: {
7879
interpolation: {
79-
escapeValue: false // not needed for react as it escapes by default
80+
escapeValue: false, // not needed for react as it escapes by default
8081
},
8182
keySeparator: false,
82-
nsSeparator: false
83+
nsSeparator: false,
8384
},
8485
pages: [
8586
{
8687
matchPath: '/:language?/members/:name',
8788
getLanguageFromPath: true,
88-
excludeLanguages: []
89+
excludeLanguages: [],
8990
},
9091
{
9192
matchPath: '/preview',
92-
languages: ['en']
93-
}
94-
]
95-
}
96-
}
93+
languages: ['en'],
94+
},
95+
],
96+
},
97+
},
9798
],
98-
}
99+
};

gatsby-node.js

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
const { graphql } = require("gatsby")
2-
const path = require(`path`)
1+
const { graphql } = require('gatsby');
2+
const path = require('path');
33

44
// create member pages
55
exports.createPages = async ({ graphql, actions }) => {
6-
const { createPage } = actions
6+
const { createPage } = actions;
77

88
const result = await graphql(`
99
query {
@@ -29,24 +29,24 @@ exports.createPages = async ({ graphql, actions }) => {
2929
}
3030
}
3131
}
32-
`)
32+
`);
3333

34-
result.data.allMembersJson.nodes.forEach(node => {
35-
const member = node.en.name
36-
const id = node.parent.id
37-
const slug = result.data.allFile.nodes.find(node => node.id === id).name.substring(3, )
34+
result.data.allMembersJson.nodes.forEach((node) => {
35+
const member = node.en.name;
36+
const { id } = node.parent;
37+
const slug = result.data.allFile.nodes.find((node) => node.id === id).name.substring(3);
3838

39-
Object.keys(node).forEach(key => {
40-
if (key !== "parent") {
41-
const language = key
42-
const template = "MemberPage.js"
39+
Object.keys(node).forEach((key) => {
40+
if (key !== 'parent') {
41+
const language = key;
42+
const template = 'MemberPage.js';
4343

4444
createPage({
45-
path: `${language === "en" ? "" : "/fr"}/members/${slug}`,
45+
path: `${language === 'en' ? '' : '/fr'}/members/${slug}`,
4646
component: path.resolve(`./src/templates/${template}`),
47-
context: { slug: slug, language: language, member: member }
48-
})
47+
context: { slug, language, member },
48+
});
4949
}
50-
})
51-
})
52-
}
50+
});
51+
});
52+
};

0 commit comments

Comments
 (0)