Aller au contenu principal

Docusaurus 3.1

· 3 minutes de lecture
Sébastien Lorber
Mainteneur de Docusaurus, rédacteur de This Week In React

Nous sommes heureux d'annoncer Docusaurus 3.1.

La mise à jour devrait être facile : comme expliqué dans notre documentation du processus de publication, les versions mineures respectent le versionnage sémantique.

Carte sociale d'article de blog de Docusaurus

Points importants

Vérificateur d'ancrage défectueux

Dans le #9528, nous avons amélioré le vérificateur intégré de liens défectueux pour qu'il détecte également les ancrages défectueux.

Carte sociale d'article du blog de Docusaurus

Make ça échoue rapidement

La nouvelle option onBrokenAnchors a la valeur par défaut warn pour des raisons de rétro-compatibilité.

Nous recommandons de le changer en throw et de faire échouer vos constructions CI au lieu de déployer des ancrages défectueux vers les productions.

remarque

Pour les utilisateurs et les auteurs de plugins qui implémentent des composants <Heading> et <Link> personnalisés, nous fournissons une nouvelle API de hook React useBrokenLinks.

La plupart des utilisateurs de Docusaurus n'ont pas besoin de s'en préoccuper, les composants intégrés (docusaurus/Link et @theme/Heading) l'utilisent déjà en interne.

Hook parseFrontMatter

Dans le #9624, nous avons ajouté une nouvelle fonction hook siteConfig.markdown.parseFrontMatter.

Cela permet de mettre en œuvre des transformations pratiques du front matter, des raccourcis, ou de s'intégrer à des systèmes externes utilisant le front matter que les plugins de Docusaurus ne prennent pas en charge.

docusaurus.config.js
export default {
markdown: {
parseFrontMatter: async (params) => {
// Réutiliser l'analyseur par défaut
const result = await params.defaultParseFrontMatter(params);

// Traiter les placeholders de description de la page de garde
result.frontMatter.description =
result.frontMatter.description?.replaceAll('{{MY_VAR}}', 'MY_VALUE');

// Créer votre propre raccourci pour les pages de garde
if (result.frontMatter.i_do_not_want_docs_pagination) {
result.frontMatter.pagination_prev = null;
result.frontMatter.pagination_next = null;
}

// Renommer un front matter non supporté provenant d'un autre système
if (result.frontMatter.cms_seo_summary) {
result.frontMatter.description = result.frontMatter.cms_seo_summary;
delete result.frontMatter.cms_seo_summary;
}

return result;
},
},
};

Lisez le guide du front matter et la référence de l'API parseFrontMatter pour plus de détails.

Autres modifications

Voici les autres changements notables :

  • #9674 : ajout de siteConfig.markdown.remarkRehypeOptions pour passer des options à remark-rehype, ce qui permet de personnaliser des choses comme le libellé de la note de bas de page MDX
  • #9671 : ajout d'un bloc de code MagicComments pour (Visual) Basic/Batch/Fortran/COBOL/ML
  • #9610 : active la configuration du port CLI via la variable d'environnement PORT
  • #9477 : traductions complètes en portugais brésilien (pt-BR)

Consultez l'entrée 3.1.0 du journal des modifications pour une liste exhaustive des changements.