37
loading...
This website collects cookies to deliver better user experience
export const getStaticProps: GetStaticProps = async ({ locale }) => {
const language = await import(`../locales/${locale}.json`);
return {
props: {
lngDict: language.default,
},
};
};
export default async (
req: NextApiRequest,
res: NextApiResponse,
): Promise<void> => {
const { slug } = req.query || {};
if (slug) {
const blogs = getBlogs();
if (!blogs.find((blog) => blog.replace(/\.mdx/, '') === slug)) {
return res.status(404).send('Not Found');
}
const html = generateBlogImageHTML(slug as string);
const file = await screenshot(html);
res.setHeader('Content-Type', `image/png`);
res.setHeader(
'Cache-Control',
`public, immutable, no-transform, s-maxage=31536000, max-age=31536000`,
);
return res.status(200).end(file);
}
return res.status(404).send('Not Found');
};
# Comment écrire le paragraphe du dessus en Markdown:
[MDX](https://mdxjs.com/), c’est ce qui fait que l’expérience en tant qu’auteur est si parfaite. C’est une extension du Markdown qui nous permet d’écrire du JSX dans des fichiers Markdown. Plus simplement, on peut écrire et bénéficier des composants React dans ces fichiers.
Pour un développeur comme moi qui écrit du Markdown à longueur de journée, c’est tellement bien. Pour ceux qui ne le savent pas, si vous utilisez régulièrement GitHub et GitLab, pour les pulls requests ou pour les issues, vous en écrivez.
# Hello, *world*!
Below is an example of JSX embedded in Markdown. <br /> **Try and change the background color!**
<div style={{ padding: '20px', backgroundColor: 'tomato' }}>
<h3>This is JSX</h3>
</div>
---
title: "Comment J'ai Fait Mon Blog Bilingue"
description: "Un tour d'horizon de comment j'ai créé mon blog bilingue. Je vais essentiellement parler des technologies utilisées et comment j'ai internationalisé le site."
locale: fr
alternate: /blog/my-multilingual-blog
isPublished: true
publishedAt: "2021-05-22"
tags:
- react
- nextjs
- tailwind
- mdx
---
Le reste du contenu ...
next.config.js
la clé i18n
avec les langues souhaitées. Next.js va alors automatiquement commencer à rediriger les utilisateurs sur les bons chemins du site (e.g /fr pour les francophones et / pour les anglophones) grâce aux headers Accept-Language
de leur navigateur.// Configuration de mon site
module.exports = {
i18n: {
locales: ['en', 'fr'],
defaultLocale: 'en',
localeDetection: false,
}
}
head
dans son HTML.