Aller au contenu principal
Version: 2.0.0-beta.0

Blog

Configuration initiale#

Pour configurer le blog de votre site, commencez par créer un répertoire blog.

Ensuite, ajoutez un lien vers le blog dans docusaurus.config.js :

docusaurus.config.js
module.exports = {
themeConfig: {
// ...
navbar: {
items: [
// ...
{to: 'blog', label: 'Blog', position: 'left'}, // ou position: 'right'
],
},
},
};

Ajouter des articles#

Pour publier dans le blog, créez un fichier dans le dossier du blog avec un nom au format AAAA-MM-JJ-Titre-de-mon-article.md. La date de publication est extraite du nom du fichier.

Par exemple, dans my-website/blog/2019-09-05-hello-docusaurus-v2.md :

---
title: Bienvenue Ă  Docusaurus v2
author: Joel Marcey
author_title: Co-créateur de Docusaurus 1
author_url: https://github.com/JoelMarcey
author_image_url: https://graph.facebook.com/611217057/picture/?height=200&width=200
tags: [hello, docusaurus-v2]
description: Ceci est mon premier post sur Docusaurus 2.
image: https://i.imgur.com/mErPwqL.png
hide_table_of_contents: false
---
Bienvenue sur ce blog. Ce blog est créé avec [**Docusaurus 2 alpha**](https://docusaurus.io/).
<!--truncate-->
C'est mon premier post sur Docusaurus 2.
Un tas d'exploration Ă  suivre.

Options d'entĂȘte#

Le seul champ obligatoire est title ; toutefois, nous proposons des options permettant d'ajouter des informations sur l'auteur Ă  votre article de blog, ainsi que d'autres options.

  • author - Le nom de l'auteur Ă  afficher.
  • author_url - L'URL Ă  laquelle le nom de l'auteur sera liĂ©. Il peut s'agir de l'URL d'un profil GitHub, Twitter, Facebook, etc.
  • author_image_url - L'URL de l'image miniature de l'auteur.
  • author_title - Une description de l'auteur.
  • title - Le titre de l'article du blog.
  • tags - Une liste de chaĂźnes de caractĂšres pour taguer votre article.
  • draft - Un boolĂ©en pour indiquer que l'article du blog est en cours de rĂ©daction et ne doit donc pas encore ĂȘtre publiĂ©. Cependant, les brouillons du blog seront affichĂ©s pendant le dĂ©veloppement.
  • description : La description de votre article qui sera fournit dans <meta name="description" content="..."/> et <meta property="og:description" content="..."/> du <head>, utilisĂ©s par les moteurs de recherche. Si ce champ n'est pas prĂ©sent, il reprendra par dĂ©faut la premiĂšre ligne du contenu.
  • image : Image de couverture ou vignette qui sera utilisĂ©e lors de l'affichage du lien vers votre article.
  • hide_table_of_content : S'il faut cacher la table des matiĂšres Ă  droite. Par dĂ©faut, c'est false.

Résumé de l'article#

Utilisez le marqueur <!--truncate--> dans votre article du blog pour représenter ce qui sera affiché comme résumé lors de l'affichage de tous les articles du blog publiés. Tout ce qui est au-dessus de <!--truncate--> fera partie du résumé. Par exemple :

---
title: Exemple de résumé
---
Tout ceci fera partie du résumé de l'article du blog.
MĂȘme cela.
<!--truncate-->
Mais ce qui est ici ne le sera pas.
Pas ça.
Ni ceci.

Flux#

Vous pouvez générer des flux RSS/Atom en passant les options de feedOptions. Par défaut, les flux RSS et Atom sont générés. Pour désactiver la génération de flux, définissez feedOptions.type à null.

feedOptions?: {
type?: 'rss' | 'atom' | 'all' | null;
title?: string;
description?: string;
copyright: string;
language?: string; // possible values: http://www.w3.org/TR/REC-html40/struct/dirlang.html#langcodes
};

Exemple d'utilisation:

docusaurus.config.js
module.exports = {
// ...
presets: [
[
'@docusaurus/preset-classic',
{
blog: {
feedOptions: {
type: 'all',
copyright: `Copyright © ${new Date().getFullYear()} Facebook, Inc.`,
},
},
},
],
],
};

AccĂšs au flux :

Le flux RSS peut ĂȘtre trouvĂ© sur :

https://{your-domain}/blog/rss.xml

et pour Atom :

https://{your-domain}/blog/atom.xml

Fonctionnalités avancées#

Mode blog-uniquement#

Vous pouvez faire fonctionner votre site Docusaurus 2 sans page d'accueil et utiliser la liste des articles de votre blog comme page d'index. DĂ©finissez routeBasePath Ă  '/' pour indiquer que c'est le chemin racine.

docusaurus.config.js
module.exports = {
// ...
presets: [
[
'@docusaurus/preset-classic',
{
docs: false,
blog: {
path: './blog',
routeBasePath: '/', // DĂ©finit cette valeur Ă  '/'.
},
},
],
],
};
attention

N'oubliez pas de supprimer la page d'accueil existante Ă  ./src/pages/index.js sinon il y aura deux fichiers qui correspondent Ă  la mĂȘme route !

Vous pouvez également ajouter une méta description à la page de la liste de blog pour un meilleur référencement :

docusaurus.config.js
module.exports = {
// ...
presets: [
[
'@docusaurus/preset-classic',
{
blog: {
blogTitle: 'Docusaurus blog !',
blogDescription: 'Un blog propulsé par Docusaurus !',
},
},
],
],
};

Plusieurs blogs#

Par défaut, le thÚme classic n'assume qu'un seul blog par site et n'inclut donc qu'une seule instance du plugin blog. Si vous souhaitez avoir plusieurs blogs sur un seul site web, c'est aussi possible ! Vous pouvez ajouter un autre blog en spécifiant un autre plugin de blog dans l'option plugins dans docusaurus.config.js.

DĂ©finissez routeBasePath avec l'URL sur laquelle vous voulez que votre deuxiĂšme blog soit accessible. Notez que routeBasePath doit ĂȘtre diffĂ©rent du premier blog sinon il pourrait y avoir une collision de chemins ! Aussi, dĂ©finissez path avec le chemin du rĂ©pertoire contenant les entrĂ©es de votre second blog.

Comme décrits dans les plugins multi-instance, vous devez assigner un id unique aux plugins.

docusaurus.config.js
module.exports = {
// ...
plugins: [
[
'@docusaurus/plugin-content-blog',
{
/**
* Requis pour tout plugin multi-instance
*/
id : 'second-blog',
/**
* URL pour la section blog de votre site.
* * * NE PAS inclure de slash.
*/
routeBasePath: 'my-second-blog',
/**
* Chemin vers les données sur le systÚme de fichiers relatif au répertoire du site.
*/
path: './my-second-blog',
},
],
],
};

À titre d'exemple, un second blog est hĂ©bergĂ© ici.