summaryrefslogtreecommitdiffstats
path: root/src/pages
diff options
context:
space:
mode:
authorArmand Philippot <git@armandphilippot.com>2022-01-29 23:38:13 +0100
committerArmand Philippot <git@armandphilippot.com>2022-01-29 23:38:13 +0100
commit82d310403c4bb09bc2f0a204b6374934a10cf348 (patch)
tree488e93e373a7d9215531bb8fcfc37bcbb290d0fa /src/pages
parentf49dfba86b9ac745ddc374ee0f02f03d7e81d872 (diff)
refactor(config): move config from config dir to utils
Diffstat (limited to 'src/pages')
-rw-r--r--src/pages/404.tsx4
-rw-r--r--src/pages/_app.tsx4
-rw-r--r--src/pages/article/[slug].tsx28
-rw-r--r--src/pages/blog/index.tsx38
-rw-r--r--src/pages/contact.tsx24
-rw-r--r--src/pages/cv.tsx26
-rw-r--r--src/pages/index.tsx24
-rw-r--r--src/pages/mentions-legales.tsx26
-rw-r--r--src/pages/projet/[slug].tsx24
-rw-r--r--src/pages/projets.tsx26
-rw-r--r--src/pages/recherche/index.tsx14
-rw-r--r--src/pages/sujet/[slug].tsx28
-rw-r--r--src/pages/thematique/[slug].tsx26
13 files changed, 146 insertions, 146 deletions
diff --git a/src/pages/404.tsx b/src/pages/404.tsx
index 079dead..d5b2e86 100644
--- a/src/pages/404.tsx
+++ b/src/pages/404.tsx
@@ -1,8 +1,8 @@
import { getLayout } from '@components/Layouts/Layout';
import PostHeader from '@components/PostHeader/PostHeader';
-import { config } from '@config/website';
import styles from '@styles/pages/Page.module.scss';
import { NextPageWithLayout } from '@ts/types/app';
+import { settings } from '@utils/config';
import { getIntlInstance, loadTranslation } from '@utils/helpers/i18n';
import { GetStaticProps, GetStaticPropsContext } from 'next';
import Head from 'next/head';
@@ -17,7 +17,7 @@ const Error404: NextPageWithLayout = () => {
defaultMessage: 'Error 404: Page not found - {websiteName}',
description: '404Page: SEO - Page title',
},
- { websiteName: config.name }
+ { websiteName: settings.name }
);
const pageDescription = intl.formatMessage({
defaultMessage: 'Page not found.',
diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx
index ec97ff7..7c6142c 100644
--- a/src/pages/_app.tsx
+++ b/src/pages/_app.tsx
@@ -1,5 +1,5 @@
-import { config } from '@config/website';
import { AppPropsWithLayout } from '@ts/types/app';
+import { settings } from '@utils/config';
import { ThemeProvider } from 'next-themes';
import { useRouter } from 'next/router';
import { IntlProvider } from 'react-intl';
@@ -7,7 +7,7 @@ import '../styles/globals.scss';
const MyApp = ({ Component, pageProps }: AppPropsWithLayout) => {
const { locale, defaultLocale } = useRouter();
- const appLocale: string = locale || config.locales.defaultLocale;
+ const appLocale: string = locale || settings.locales.defaultLocale;
const getLayout = Component.getLayout ?? ((page) => page);
return (
diff --git a/src/pages/article/[slug].tsx b/src/pages/article/[slug].tsx
index 8668a66..dc2c76a 100644
--- a/src/pages/article/[slug].tsx
+++ b/src/pages/article/[slug].tsx
@@ -5,11 +5,11 @@ import PostFooter from '@components/PostFooter/PostFooter';
import PostHeader from '@components/PostHeader/PostHeader';
import Sidebar from '@components/Sidebar/Sidebar';
import { Sharing, ToC } from '@components/Widgets';
-import { config } from '@config/website';
import { getAllPostsSlug, getPostBySlug } from '@services/graphql/queries';
import styles from '@styles/pages/Page.module.scss';
import { NextPageWithLayout } from '@ts/types/app';
import { ArticleMeta, ArticleProps } from '@ts/types/articles';
+import { settings } from '@utils/config';
import { loadTranslation } from '@utils/helpers/i18n';
import { addPrismClasses, translateCopyButton } from '@utils/helpers/prism';
import { GetStaticPaths, GetStaticProps, GetStaticPropsContext } from 'next';
@@ -48,8 +48,8 @@ const SingleArticle: NextPageWithLayout<ArticleProps> = ({ post }) => {
const intl = useIntl();
const router = useRouter();
- const locale = router.locale ? router.locale : config.locales.defaultLocale;
- const articleUrl = `${config.url}${router.asPath}`;
+ const locale = router.locale ? router.locale : settings.locales.defaultLocale;
+ const articleUrl = `${settings.url}${router.asPath}`;
useEffect(() => {
addPrismClasses();
@@ -63,21 +63,21 @@ const SingleArticle: NextPageWithLayout<ArticleProps> = ({ post }) => {
const webpageSchema: WebPage = {
'@id': `${articleUrl}`,
'@type': 'WebPage',
- breadcrumb: { '@id': `${config.url}/#breadcrumb` },
+ breadcrumb: { '@id': `${settings.url}/#breadcrumb` },
lastReviewed: dates.update,
name: seo.title,
description: seo.metaDesc,
- reviewedBy: { '@id': `${config.url}/#branding` },
+ reviewedBy: { '@id': `${settings.url}/#branding` },
url: `${articleUrl}`,
isPartOf: {
- '@id': `${config.url}`,
+ '@id': `${settings.url}`,
},
};
const blogSchema: Blog = {
- '@id': `${config.url}/#blog`,
+ '@id': `${settings.url}/#blog`,
'@type': 'Blog',
- blogPost: { '@id': `${config.url}/#article` },
+ blogPost: { '@id': `${settings.url}/#article` },
isPartOf: {
'@id': `${articleUrl}`,
},
@@ -88,24 +88,24 @@ const SingleArticle: NextPageWithLayout<ArticleProps> = ({ post }) => {
const updateDate = new Date(dates.update);
const blogPostSchema: BlogPosting = {
- '@id': `${config.url}/#article`,
+ '@id': `${settings.url}/#article`,
'@type': 'BlogPosting',
name: title,
description: intro,
articleBody: content,
- author: { '@id': `${config.url}/#branding` },
+ author: { '@id': `${settings.url}/#branding` },
commentCount: comments.length,
copyrightYear: publicationDate.getFullYear(),
- creator: { '@id': `${config.url}/#branding` },
+ creator: { '@id': `${settings.url}/#branding` },
dateCreated: publicationDate.toISOString(),
dateModified: updateDate.toISOString(),
datePublished: publicationDate.toISOString(),
discussionUrl: `${articleUrl}/#comments`,
- editor: { '@id': `${config.url}/#branding` },
+ editor: { '@id': `${settings.url}/#branding` },
image: featuredImage?.sourceUrl,
- inLanguage: config.locales.defaultLocale,
+ inLanguage: settings.locales.defaultLocale,
isPartOf: {
- '@id': `${config.url}/blog`,
+ '@id': `${settings.url}/blog`,
},
license: 'https://creativecommons.org/licenses/by-sa/4.0/deed.fr',
mainEntityOfPage: { '@id': `${articleUrl}` },
diff --git a/src/pages/blog/index.tsx b/src/pages/blog/index.tsx
index 9a86d9f..c0d99e9 100644
--- a/src/pages/blog/index.tsx
+++ b/src/pages/blog/index.tsx
@@ -6,11 +6,11 @@ import PostsList from '@components/PostsList/PostsList';
import Sidebar from '@components/Sidebar/Sidebar';
import Spinner from '@components/Spinner/Spinner';
import { ThematicsList, TopicsList } from '@components/Widgets';
-import { config } from '@config/website';
import { getPublishedPosts } from '@services/graphql/queries';
import styles from '@styles/pages/Page.module.scss';
import { NextPageWithLayout } from '@ts/types/app';
import { BlogPageProps, PostsList as PostsListData } from '@ts/types/blog';
+import { settings } from '@utils/config';
import { getIntlInstance, loadTranslation } from '@utils/helpers/i18n';
import { GetStaticProps, GetStaticPropsContext } from 'next';
import Head from 'next/head';
@@ -29,9 +29,9 @@ const Blog: NextPageWithLayout<BlogPageProps> = ({ fallback }) => {
if (previousData && !previousData.posts) return null;
return pageIndex === 0
- ? { first: config.postsPerPage }
+ ? { first: settings.postsPerPage }
: {
- first: config.postsPerPage,
+ first: settings.postsPerPage,
after: previousData.pageInfo.endCursor,
};
};
@@ -48,13 +48,13 @@ const Blog: NextPageWithLayout<BlogPageProps> = ({ fallback }) => {
}, [data]);
const [loadedPostsCount, setLoadedPostsCount] = useState<number>(
- config.postsPerPage
+ settings.postsPerPage
);
useEffect(() => {
if (data && data.length > 0) {
const newCount =
- config.postsPerPage +
+ settings.postsPerPage +
data[0].pageInfo.total -
data[data.length - 1].pageInfo.total;
setLoadedPostsCount(newCount);
@@ -91,7 +91,7 @@ const Blog: NextPageWithLayout<BlogPageProps> = ({ fallback }) => {
defaultMessage: 'Blog: development, open source - {websiteName}',
description: 'BlogPage: SEO - Page title',
},
- { websiteName: config.name }
+ { websiteName: settings.name }
);
const pageDescription = intl.formatMessage(
{
@@ -99,31 +99,31 @@ const Blog: NextPageWithLayout<BlogPageProps> = ({ fallback }) => {
"Discover {websiteName}'s writings. He talks about web development, Linux and open source mostly.",
description: 'BlogPage: SEO - Meta description',
},
- { websiteName: config.name }
+ { websiteName: settings.name }
);
- const pageUrl = `${config.url}${router.asPath}`;
+ const pageUrl = `${settings.url}${router.asPath}`;
const webpageSchema: WebPage = {
'@id': `${pageUrl}`,
'@type': 'WebPage',
- breadcrumb: { '@id': `${config.url}/#breadcrumb` },
+ breadcrumb: { '@id': `${settings.url}/#breadcrumb` },
name: pageTitle,
description: pageDescription,
- inLanguage: config.locales.defaultLocale,
- reviewedBy: { '@id': `${config.url}/#branding` },
- url: `${config.url}`,
+ inLanguage: settings.locales.defaultLocale,
+ reviewedBy: { '@id': `${settings.url}/#branding` },
+ url: `${settings.url}`,
isPartOf: {
- '@id': `${config.url}`,
+ '@id': `${settings.url}`,
},
};
const blogSchema: BlogSchema = {
- '@id': `${config.url}/#blog`,
+ '@id': `${settings.url}/#blog`,
'@type': 'Blog',
- author: { '@id': `${config.url}/#branding` },
- creator: { '@id': `${config.url}/#branding` },
- editor: { '@id': `${config.url}/#branding` },
- inLanguage: config.locales.defaultLocale,
+ author: { '@id': `${settings.url}/#branding` },
+ creator: { '@id': `${settings.url}/#branding` },
+ editor: { '@id': `${settings.url}/#branding` },
+ inLanguage: settings.locales.defaultLocale,
license: 'https://creativecommons.org/licenses/by-sa/4.0/deed.fr',
mainEntityOfPage: { '@id': `${pageUrl}` },
};
@@ -213,7 +213,7 @@ export const getStaticProps: GetStaticProps = async (
defaultMessage: 'Blog',
description: 'BlogPage: breadcrumb item',
});
- const data = await getPublishedPosts({ first: config.postsPerPage });
+ const data = await getPublishedPosts({ first: settings.postsPerPage });
const { locale } = context;
const translation = await loadTranslation(locale);
diff --git a/src/pages/contact.tsx b/src/pages/contact.tsx
index 489135d..e410afa 100644
--- a/src/pages/contact.tsx
+++ b/src/pages/contact.tsx
@@ -4,10 +4,10 @@ import { getLayout } from '@components/Layouts/Layout';
import PostHeader from '@components/PostHeader/PostHeader';
import Sidebar from '@components/Sidebar/Sidebar';
import { SocialMedia } from '@components/Widgets';
-import { config } from '@config/website';
import { sendMail } from '@services/graphql/mutations';
import styles from '@styles/pages/Page.module.scss';
import { NextPageWithLayout } from '@ts/types/app';
+import { settings } from '@utils/config';
import { getIntlInstance, loadTranslation } from '@utils/helpers/i18n';
import { GetStaticProps, GetStaticPropsContext } from 'next';
import Head from 'next/head';
@@ -68,7 +68,7 @@ const ContactPage: NextPageWithLayout = () => {
defaultMessage: 'Contact form - {websiteName}',
description: 'ContactPage: SEO - Page title',
},
- { websiteName: config.name }
+ { websiteName: settings.name }
);
const pageDescription = intl.formatMessage(
{
@@ -76,9 +76,9 @@ const ContactPage: NextPageWithLayout = () => {
"Contact {websiteName} through its website. All you need to do it's to fill the contact form.",
description: 'ContactPage: SEO - Meta description',
},
- { websiteName: config.name }
+ { websiteName: settings.name }
);
- const pageUrl = `${config.url}${router.asPath}`;
+ const pageUrl = `${settings.url}${router.asPath}`;
const title = intl.formatMessage({
defaultMessage: 'Contact',
description: 'ContactPage: page title',
@@ -91,25 +91,25 @@ const ContactPage: NextPageWithLayout = () => {
const webpageSchema: WebPage = {
'@id': `${pageUrl}`,
'@type': 'WebPage',
- breadcrumb: { '@id': `${config.url}/#breadcrumb` },
+ breadcrumb: { '@id': `${settings.url}/#breadcrumb` },
name: pageTitle,
description: pageDescription,
- reviewedBy: { '@id': `${config.url}/#branding` },
+ reviewedBy: { '@id': `${settings.url}/#branding` },
url: `${pageUrl}`,
isPartOf: {
- '@id': `${config.url}`,
+ '@id': `${settings.url}`,
},
};
const contactSchema: ContactPageSchema = {
- '@id': `${config.url}/#contact`,
+ '@id': `${settings.url}/#contact`,
'@type': 'ContactPage',
name: title,
description: intro,
- author: { '@id': `${config.url}/#branding` },
- creator: { '@id': `${config.url}/#branding` },
- editor: { '@id': `${config.url}/#branding` },
- inLanguage: config.locales.defaultLocale,
+ author: { '@id': `${settings.url}/#branding` },
+ creator: { '@id': `${settings.url}/#branding` },
+ editor: { '@id': `${settings.url}/#branding` },
+ inLanguage: settings.locales.defaultLocale,
license: 'https://creativecommons.org/licenses/by-sa/4.0/deed.fr',
mainEntityOfPage: { '@id': `${pageUrl}` },
};
diff --git a/src/pages/cv.tsx b/src/pages/cv.tsx
index c3686de..311d0ce 100644
--- a/src/pages/cv.tsx
+++ b/src/pages/cv.tsx
@@ -2,11 +2,11 @@ import { getLayout } from '@components/Layouts/Layout';
import PostHeader from '@components/PostHeader/PostHeader';
import Sidebar from '@components/Sidebar/Sidebar';
import { CVPreview, SocialMedia, ToC } from '@components/Widgets';
-import { config } from '@config/website';
import CVContent, { intro, meta, pdf, image } from '@content/pages/cv.mdx';
import styles from '@styles/pages/Page.module.scss';
import { NextPageWithLayout } from '@ts/types/app';
import { ArticleMeta } from '@ts/types/articles';
+import { settings } from '@utils/config';
import { loadTranslation } from '@utils/helpers/i18n';
import { GetStaticProps, GetStaticPropsContext } from 'next';
import Head from 'next/head';
@@ -25,13 +25,13 @@ const CV: NextPageWithLayout = () => {
const pageMeta: ArticleMeta = {
dates,
};
- const pageUrl = `${config.url}${router.asPath}`;
+ const pageUrl = `${settings.url}${router.asPath}`;
const pageTitle = intl.formatMessage(
{
defaultMessage: 'CV Front-end developer - {websiteName}',
description: 'CVPage: SEO - Page title',
},
- { websiteName: config.name }
+ { websiteName: settings.name }
);
const pageDescription = intl.formatMessage(
{
@@ -39,19 +39,19 @@ const CV: NextPageWithLayout = () => {
'Discover the curriculum of {websiteName}, front-end developer located in France: skills, experiences and training.',
description: 'CVPage: SEO - Meta description',
},
- { websiteName: config.name }
+ { websiteName: settings.name }
);
const webpageSchema: WebPage = {
'@id': `${pageUrl}`,
'@type': 'WebPage',
- breadcrumb: { '@id': `${config.url}/#breadcrumb` },
+ breadcrumb: { '@id': `${settings.url}/#breadcrumb` },
name: pageTitle,
description: pageDescription,
- reviewedBy: { '@id': `${config.url}/#branding` },
+ reviewedBy: { '@id': `${settings.url}/#branding` },
url: `${pageUrl}`,
isPartOf: {
- '@id': `${config.url}`,
+ '@id': `${settings.url}`,
},
};
@@ -59,18 +59,18 @@ const CV: NextPageWithLayout = () => {
const updateDate = new Date(dates.update);
const cvSchema: AboutPage = {
- '@id': `${config.url}/#cv`,
+ '@id': `${settings.url}/#cv`,
'@type': 'AboutPage',
name: pageTitle,
description: intro,
- author: { '@id': `${config.url}/#branding` },
- creator: { '@id': `${config.url}/#branding` },
+ author: { '@id': `${settings.url}/#branding` },
+ creator: { '@id': `${settings.url}/#branding` },
dateCreated: publicationDate.toISOString(),
dateModified: updateDate.toISOString(),
datePublished: publicationDate.toISOString(),
- editor: { '@id': `${config.url}/#branding` },
+ editor: { '@id': `${settings.url}/#branding` },
image,
- inLanguage: config.locales.defaultLocale,
+ inLanguage: settings.locales.defaultLocale,
license: 'https://creativecommons.org/licenses/by-sa/4.0/deed.fr',
thumbnailUrl: image,
mainEntityOfPage: { '@id': `${pageUrl}` },
@@ -86,7 +86,7 @@ const CV: NextPageWithLayout = () => {
defaultMessage: "{name}'s CV",
description: 'CVPage: page title',
},
- { name: config.name }
+ { name: settings.name }
);
return (
diff --git a/src/pages/index.tsx b/src/pages/index.tsx
index 41a4603..0fe1a4f 100644
--- a/src/pages/index.tsx
+++ b/src/pages/index.tsx
@@ -2,10 +2,10 @@ import FeedIcon from '@assets/images/icon-feed.svg';
import { ButtonLink } from '@components/Buttons';
import { ContactIcon } from '@components/Icons';
import Layout from '@components/Layouts/Layout';
-import { config } from '@config/website';
import HomePageContent from '@content/pages/homepage.mdx';
import styles from '@styles/pages/Home.module.scss';
import { NextPageWithLayout } from '@ts/types/app';
+import { settings } from '@utils/config';
import { loadTranslation } from '@utils/helpers/i18n';
import { GetStaticProps, GetStaticPropsContext } from 'next';
import Head from 'next/head';
@@ -122,7 +122,7 @@ const Home: NextPageWithLayout = () => {
defaultMessage: '{websiteName} | Front-end developer: WordPress/React',
description: 'HomePage: SEO - Page title',
},
- { websiteName: config.name }
+ { websiteName: settings.name }
);
const pageDescription = intl.formatMessage(
{
@@ -130,22 +130,22 @@ const Home: NextPageWithLayout = () => {
'{websiteName} is a front-end developer located in France. He codes and he writes mostly about web development and open-source.',
description: 'HomePage: SEO - Meta description',
},
- { websiteName: config.name }
+ { websiteName: settings.name }
);
const webpageSchema: WebPage = {
- '@id': `${config.url}/#home`,
+ '@id': `${settings.url}/#home`,
'@type': 'WebPage',
- breadcrumb: { '@id': `${config.url}/#breadcrumb` },
+ breadcrumb: { '@id': `${settings.url}/#breadcrumb` },
name: pageTitle,
description: pageDescription,
- author: { '@id': `${config.url}/#branding` },
- creator: { '@id': `${config.url}/#branding` },
- editor: { '@id': `${config.url}/#branding` },
- inLanguage: config.locales.defaultLocale,
+ author: { '@id': `${settings.url}/#branding` },
+ creator: { '@id': `${settings.url}/#branding` },
+ editor: { '@id': `${settings.url}/#branding` },
+ inLanguage: settings.locales.defaultLocale,
license: 'https://creativecommons.org/licenses/by-sa/4.0/deed.fr',
- reviewedBy: { '@id': `${config.url}/#branding` },
- url: `${config.url}`,
+ reviewedBy: { '@id': `${settings.url}/#branding` },
+ url: `${settings.url}`,
};
const schemaJsonLd: Graph = {
@@ -159,7 +159,7 @@ const Home: NextPageWithLayout = () => {
<title>{pageTitle}</title>
<meta name="description" content={pageDescription} />
<meta property="og:type" content="website" />
- <meta property="og:url" content={`${config.url}`} />
+ <meta property="og:url" content={`${settings.url}`} />
<meta property="og:title" content={pageTitle} />
<meta property="og:description" content={pageDescription} />
<script
diff --git a/src/pages/mentions-legales.tsx b/src/pages/mentions-legales.tsx
index 0ec92a2..b1dca02 100644
--- a/src/pages/mentions-legales.tsx
+++ b/src/pages/mentions-legales.tsx
@@ -2,7 +2,6 @@ import { getLayout } from '@components/Layouts/Layout';
import PostHeader from '@components/PostHeader/PostHeader';
import Sidebar from '@components/Sidebar/Sidebar';
import { ToC } from '@components/Widgets';
-import { config } from '@config/website';
import LegalNoticeContent, {
intro,
meta,
@@ -10,6 +9,7 @@ import LegalNoticeContent, {
import styles from '@styles/pages/Page.module.scss';
import { NextPageWithLayout } from '@ts/types/app';
import { ArticleMeta } from '@ts/types/articles';
+import { settings } from '@utils/config';
import { loadTranslation } from '@utils/helpers/i18n';
import { GetStaticProps, GetStaticPropsContext } from 'next';
import Head from 'next/head';
@@ -33,16 +33,16 @@ const LegalNotice: NextPageWithLayout = () => {
defaultMessage: 'Legal notice - {websiteName}',
description: 'LegalNoticePage: SEO - Page title',
},
- { websiteName: config.name }
+ { websiteName: settings.name }
);
const pageDescription = intl.formatMessage(
{
defaultMessage: "Discover the legal notice of {websiteName}'s website.",
description: 'LegalNoticePage: SEO - Meta description',
},
- { websiteName: config.name }
+ { websiteName: settings.name }
);
- const pageUrl = `${config.url}${router.asPath}`;
+ const pageUrl = `${settings.url}${router.asPath}`;
const title = intl.formatMessage({
defaultMessage: 'Legal notice',
description: 'LegalNoticePage: page title',
@@ -53,31 +53,31 @@ const LegalNotice: NextPageWithLayout = () => {
const webpageSchema: WebPage = {
'@id': `${pageUrl}`,
'@type': 'WebPage',
- breadcrumb: { '@id': `${config.url}/#breadcrumb` },
+ breadcrumb: { '@id': `${settings.url}/#breadcrumb` },
name: pageTitle,
description: pageDescription,
- inLanguage: config.locales.defaultLocale,
+ inLanguage: settings.locales.defaultLocale,
license: 'https://creativecommons.org/licenses/by-sa/4.0/deed.fr',
- reviewedBy: { '@id': `${config.url}/#branding` },
+ reviewedBy: { '@id': `${settings.url}/#branding` },
url: `${pageUrl}`,
isPartOf: {
- '@id': `${config.url}`,
+ '@id': `${settings.url}`,
},
};
const articleSchema: Article = {
- '@id': `${config.url}/#legal-notice`,
+ '@id': `${settings.url}/#legal-notice`,
'@type': 'Article',
name: title,
description: intro,
- author: { '@id': `${config.url}/#branding` },
+ author: { '@id': `${settings.url}/#branding` },
copyrightYear: publicationDate.getFullYear(),
- creator: { '@id': `${config.url}/#branding` },
+ creator: { '@id': `${settings.url}/#branding` },
dateCreated: publicationDate.toISOString(),
dateModified: updateDate.toISOString(),
datePublished: publicationDate.toISOString(),
- editor: { '@id': `${config.url}/#branding` },
- inLanguage: config.locales.defaultLocale,
+ editor: { '@id': `${settings.url}/#branding` },
+ inLanguage: settings.locales.defaultLocale,
license: 'https://creativecommons.org/licenses/by-sa/4.0/deed.fr',
mainEntityOfPage: { '@id': `${pageUrl}` },
};
diff --git a/src/pages/projet/[slug].tsx b/src/pages/projet/[slug].tsx
index f44d810..f96da0e 100644
--- a/src/pages/projet/[slug].tsx
+++ b/src/pages/projet/[slug].tsx
@@ -4,13 +4,13 @@ import PostHeader from '@components/PostHeader/PostHeader';
import ProjectSummary from '@components/ProjectSummary/ProjectSummary';
import Sidebar from '@components/Sidebar/Sidebar';
import { Sharing, ToC } from '@components/Widgets';
-import { config } from '@config/website';
import styles from '@styles/pages/Page.module.scss';
import {
NextPageWithLayout,
Project as ProjectData,
ProjectProps,
} from '@ts/types/app';
+import { settings } from '@utils/config';
import { loadTranslation } from '@utils/helpers/i18n';
import {
getAllProjectsFilename,
@@ -30,7 +30,7 @@ const Project: NextPageWithLayout<ProjectProps> = ({
project: ProjectData;
}) => {
const router = useRouter();
- const projectUrl = `${config.url}${router.asPath}`;
+ const projectUrl = `${settings.url}${router.asPath}`;
const { id, intro, meta, title, seo } = project;
const dates = {
publication: meta.publishedOn,
@@ -50,14 +50,14 @@ const Project: NextPageWithLayout<ProjectProps> = ({
const webpageSchema: WebPage = {
'@id': `${projectUrl}`,
'@type': 'WebPage',
- breadcrumb: { '@id': `${config.url}/#breadcrumb` },
+ breadcrumb: { '@id': `${settings.url}/#breadcrumb` },
name: seo.title,
description: seo.description,
- inLanguage: config.locales.defaultLocale,
- reviewedBy: { '@id': `${config.url}/#branding` },
- url: `${config.url}`,
+ inLanguage: settings.locales.defaultLocale,
+ reviewedBy: { '@id': `${settings.url}/#branding` },
+ url: `${settings.url}`,
isPartOf: {
- '@id': `${config.url}`,
+ '@id': `${settings.url}`,
},
};
@@ -65,20 +65,20 @@ const Project: NextPageWithLayout<ProjectProps> = ({
const updateDate = new Date(dates.update);
const articleSchema: Article = {
- '@id': `${config.url}/project`,
+ '@id': `${settings.url}/project`,
'@type': 'Article',
name: title,
description: intro,
- author: { '@id': `${config.url}/#branding` },
+ author: { '@id': `${settings.url}/#branding` },
copyrightYear: publicationDate.getFullYear(),
- creator: { '@id': `${config.url}/#branding` },
+ creator: { '@id': `${settings.url}/#branding` },
dateCreated: publicationDate.toISOString(),
dateModified: updateDate.toISOString(),
datePublished: publicationDate.toISOString(),
- editor: { '@id': `${config.url}/#branding` },
+ editor: { '@id': `${settings.url}/#branding` },
thumbnailUrl: meta.hasCover ? `/projects/${id}.jpg` : '',
image: meta.hasCover ? `/projects/${id}.jpg` : '',
- inLanguage: config.locales.defaultLocale,
+ inLanguage: settings.locales.defaultLocale,
license: 'https://creativecommons.org/licenses/by-sa/4.0/deed.fr',
mainEntityOfPage: { '@id': `${projectUrl}` },
};
diff --git a/src/pages/projets.tsx b/src/pages/projets.tsx
index da4523c..48e55e5 100644
--- a/src/pages/projets.tsx
+++ b/src/pages/projets.tsx
@@ -1,10 +1,10 @@
import { getLayout } from '@components/Layouts/Layout';
import PostHeader from '@components/PostHeader/PostHeader';
import ProjectsList from '@components/ProjectsList/ProjectsList';
-import { config } from '@config/website';
import PageContent, { meta } from '@content/pages/projects.mdx';
import styles from '@styles/pages/Projects.module.scss';
import { Project } from '@ts/types/app';
+import { settings } from '@utils/config';
import { loadTranslation } from '@utils/helpers/i18n';
import { getSortedProjects } from '@utils/helpers/projects';
import { GetStaticProps, GetStaticPropsContext } from 'next';
@@ -22,13 +22,13 @@ const Projects = ({ projects }: { projects: Project[] }) => {
const publicationDate = new Date(dates.publication);
const updateDate = new Date(dates.update);
const router = useRouter();
- const pageUrl = `${config.url}${router.asPath}`;
+ const pageUrl = `${settings.url}${router.asPath}`;
const pageTitle = intl.formatMessage(
{
defaultMessage: 'Projects: open-source makings - {websiteName}',
description: 'ProjectsPage: SEO - Page title',
},
- { websiteName: config.name }
+ { websiteName: settings.name }
);
const pageDescription = intl.formatMessage(
{
@@ -36,37 +36,37 @@ const Projects = ({ projects }: { projects: Project[] }) => {
'Discover {websiteName} projects. Mostly related to web development and open source.',
description: 'ProjectsPage: SEO - Meta description',
},
- { websiteName: config.name }
+ { websiteName: settings.name }
);
const webpageSchema: WebPage = {
'@id': `${pageUrl}`,
'@type': 'WebPage',
- breadcrumb: { '@id': `${config.url}/#breadcrumb` },
+ breadcrumb: { '@id': `${settings.url}/#breadcrumb` },
name: pageTitle,
description: pageDescription,
- inLanguage: config.locales.defaultLocale,
+ inLanguage: settings.locales.defaultLocale,
license: 'https://creativecommons.org/licenses/by-sa/4.0/deed.fr',
- reviewedBy: { '@id': `${config.url}/#branding` },
+ reviewedBy: { '@id': `${settings.url}/#branding` },
url: `${pageUrl}`,
isPartOf: {
- '@id': `${config.url}`,
+ '@id': `${settings.url}`,
},
};
const articleSchema: Article = {
- '@id': `${config.url}/#projects`,
+ '@id': `${settings.url}/#projects`,
'@type': 'Article',
name: meta.title,
description: pageDescription,
- author: { '@id': `${config.url}/#branding` },
+ author: { '@id': `${settings.url}/#branding` },
copyrightYear: publicationDate.getFullYear(),
- creator: { '@id': `${config.url}/#branding` },
+ creator: { '@id': `${settings.url}/#branding` },
dateCreated: publicationDate.toISOString(),
dateModified: updateDate.toISOString(),
datePublished: publicationDate.toISOString(),
- editor: { '@id': `${config.url}/#branding` },
- inLanguage: config.locales.defaultLocale,
+ editor: { '@id': `${settings.url}/#branding` },
+ inLanguage: settings.locales.defaultLocale,
license: 'https://creativecommons.org/licenses/by-sa/4.0/deed.fr',
mainEntityOfPage: { '@id': `${pageUrl}` },
};
diff --git a/src/pages/recherche/index.tsx b/src/pages/recherche/index.tsx
index 857b114..8e4033b 100644
--- a/src/pages/recherche/index.tsx
+++ b/src/pages/recherche/index.tsx
@@ -6,11 +6,11 @@ import PostsList from '@components/PostsList/PostsList';
import Sidebar from '@components/Sidebar/Sidebar';
import Spinner from '@components/Spinner/Spinner';
import { ThematicsList, TopicsList } from '@components/Widgets';
-import { config } from '@config/website';
import { getPublishedPosts } from '@services/graphql/queries';
import styles from '@styles/pages/Page.module.scss';
import { NextPageWithLayout } from '@ts/types/app';
import { PostsList as PostsListData } from '@ts/types/blog';
+import { settings } from '@utils/config';
import { getIntlInstance, loadTranslation } from '@utils/helpers/i18n';
import { GetStaticProps, GetStaticPropsContext } from 'next';
import Head from 'next/head';
@@ -37,9 +37,9 @@ const Search: NextPageWithLayout = () => {
if (previousData && !previousData.posts) return null;
return pageIndex === 0
- ? { first: config.postsPerPage, searchQuery: query }
+ ? { first: settings.postsPerPage, searchQuery: query }
: {
- first: config.postsPerPage,
+ first: settings.postsPerPage,
after: previousData.pageInfo.endCursor,
searchQuery: query,
};
@@ -56,13 +56,13 @@ const Search: NextPageWithLayout = () => {
}, [data]);
const [loadedPostsCount, setLoadedPostsCount] = useState<number>(
- config.postsPerPage
+ settings.postsPerPage
);
useEffect(() => {
if (data && data.length > 0) {
const newCount =
- config.postsPerPage +
+ settings.postsPerPage +
data[0].pageInfo.total -
data[data.length - 1].pageInfo.total;
setLoadedPostsCount(newCount);
@@ -102,11 +102,11 @@ const Search: NextPageWithLayout = () => {
defaultMessage: 'Search for a post on {websiteName}',
description: 'SearchPage: meta description without query',
},
- { websiteName: config.name }
+ { websiteName: settings.name }
);
const head = {
- title: `${title} | ${config.name}`,
+ title: `${title} | ${settings.name}`,
description,
};
diff --git a/src/pages/sujet/[slug].tsx b/src/pages/sujet/[slug].tsx
index 87a86a2..3ccacbb 100644
--- a/src/pages/sujet/[slug].tsx
+++ b/src/pages/sujet/[slug].tsx
@@ -3,12 +3,12 @@ import PostHeader from '@components/PostHeader/PostHeader';
import PostPreview from '@components/PostPreview/PostPreview';
import Sidebar from '@components/Sidebar/Sidebar';
import { RelatedThematics, ToC, TopicsList } from '@components/Widgets';
-import { config } from '@config/website';
import { getAllTopicsSlug, getTopicBySlug } from '@services/graphql/queries';
import styles from '@styles/pages/Page.module.scss';
import { NextPageWithLayout } from '@ts/types/app';
import { ArticleMeta } from '@ts/types/articles';
import { TopicProps, ThematicPreview } from '@ts/types/taxonomies';
+import { settings } from '@utils/config';
import { loadTranslation } from '@utils/helpers/i18n';
import { GetStaticPaths, GetStaticProps, GetStaticPropsContext } from 'next';
import Head from 'next/head';
@@ -51,19 +51,19 @@ const Topic: NextPageWithLayout<TopicProps> = ({ topic }) => {
results: topic.posts.length,
website: topic.officialWebsite,
};
- const topicUrl = `${config.url}${router.asPath}`;
+ const topicUrl = `${settings.url}${router.asPath}`;
const webpageSchema: WebPage = {
'@id': `${topicUrl}`,
'@type': 'WebPage',
- breadcrumb: { '@id': `${config.url}/#breadcrumb` },
+ breadcrumb: { '@id': `${settings.url}/#breadcrumb` },
name: topic.seo.title,
description: topic.seo.metaDesc,
- inLanguage: config.locales.defaultLocale,
- reviewedBy: { '@id': `${config.url}/#branding` },
- url: `${config.url}`,
+ inLanguage: settings.locales.defaultLocale,
+ reviewedBy: { '@id': `${settings.url}/#branding` },
+ url: `${settings.url}`,
isPartOf: {
- '@id': `${config.url}`,
+ '@id': `${settings.url}`,
},
};
@@ -71,24 +71,24 @@ const Topic: NextPageWithLayout<TopicProps> = ({ topic }) => {
const updateDate = new Date(topic.dates.update);
const articleSchema: Article = {
- '@id': `${config.url}/topic`,
+ '@id': `${settings.url}/topic`,
'@type': 'Article',
name: topic.title,
description: topic.intro,
- author: { '@id': `${config.url}/#branding` },
+ author: { '@id': `${settings.url}/#branding` },
copyrightYear: publicationDate.getFullYear(),
- creator: { '@id': `${config.url}/#branding` },
+ creator: { '@id': `${settings.url}/#branding` },
dateCreated: publicationDate.toISOString(),
dateModified: updateDate.toISOString(),
datePublished: publicationDate.toISOString(),
- editor: { '@id': `${config.url}/#branding` },
+ editor: { '@id': `${settings.url}/#branding` },
thumbnailUrl: topic.featuredImage?.sourceUrl,
image: topic.featuredImage?.sourceUrl,
- inLanguage: config.locales.defaultLocale,
- isPartOf: { '@id': `${config.url}/blog` },
+ inLanguage: settings.locales.defaultLocale,
+ isPartOf: { '@id': `${settings.url}/blog` },
license: 'https://creativecommons.org/licenses/by-sa/4.0/deed.fr',
mainEntityOfPage: { '@id': `${topicUrl}` },
- subjectOf: { '@id': `${config.url}/blog` },
+ subjectOf: { '@id': `${settings.url}/blog` },
};
const schemaJsonLd: Graph = {
diff --git a/src/pages/thematique/[slug].tsx b/src/pages/thematique/[slug].tsx
index 61019fd..dbef25b 100644
--- a/src/pages/thematique/[slug].tsx
+++ b/src/pages/thematique/[slug].tsx
@@ -3,7 +3,6 @@ import PostHeader from '@components/PostHeader/PostHeader';
import PostPreview from '@components/PostPreview/PostPreview';
import Sidebar from '@components/Sidebar/Sidebar';
import { RelatedTopics, ThematicsList, ToC } from '@components/Widgets';
-import { config } from '@config/website';
import {
getAllThematicsSlug,
getThematicBySlug,
@@ -12,6 +11,7 @@ import styles from '@styles/pages/Page.module.scss';
import { NextPageWithLayout } from '@ts/types/app';
import { ArticleMeta } from '@ts/types/articles';
import { TopicPreview, ThematicProps } from '@ts/types/taxonomies';
+import { settings } from '@utils/config';
import { loadTranslation } from '@utils/helpers/i18n';
import { GetStaticPaths, GetStaticProps, GetStaticPropsContext } from 'next';
import Head from 'next/head';
@@ -53,39 +53,39 @@ const Thematic: NextPageWithLayout<ThematicProps> = ({ thematic }) => {
dates: thematic.dates,
results: thematic.posts.length,
};
- const thematicUrl = `${config.url}${router.asPath}`;
+ const thematicUrl = `${settings.url}${router.asPath}`;
const webpageSchema: WebPage = {
'@id': `${thematicUrl}`,
'@type': 'WebPage',
- breadcrumb: { '@id': `${config.url}/#breadcrumb` },
+ breadcrumb: { '@id': `${settings.url}/#breadcrumb` },
name: thematic.seo.title,
description: thematic.seo.metaDesc,
- inLanguage: config.locales.defaultLocale,
- reviewedBy: { '@id': `${config.url}/#branding` },
- url: `${config.url}`,
+ inLanguage: settings.locales.defaultLocale,
+ reviewedBy: { '@id': `${settings.url}/#branding` },
+ url: `${settings.url}`,
};
const publicationDate = new Date(thematic.dates.publication);
const updateDate = new Date(thematic.dates.update);
const articleSchema: Article = {
- '@id': `${config.url}/thematic`,
+ '@id': `${settings.url}/thematic`,
'@type': 'Article',
name: thematic.title,
description: thematic.intro,
- author: { '@id': `${config.url}/#branding` },
+ author: { '@id': `${settings.url}/#branding` },
copyrightYear: publicationDate.getFullYear(),
- creator: { '@id': `${config.url}/#branding` },
+ creator: { '@id': `${settings.url}/#branding` },
dateCreated: publicationDate.toISOString(),
dateModified: updateDate.toISOString(),
datePublished: publicationDate.toISOString(),
- editor: { '@id': `${config.url}/#branding` },
- inLanguage: config.locales.defaultLocale,
- isPartOf: { '@id': `${config.url}/blog` },
+ editor: { '@id': `${settings.url}/#branding` },
+ inLanguage: settings.locales.defaultLocale,
+ isPartOf: { '@id': `${settings.url}/blog` },
license: 'https://creativecommons.org/licenses/by-sa/4.0/deed.fr',
mainEntityOfPage: { '@id': `${thematicUrl}` },
- subjectOf: { '@id': `${config.url}/blog` },
+ subjectOf: { '@id': `${settings.url}/blog` },
};
const schemaJsonLd: Graph = {