Aller au contenu principal

Annonce de Docusaurus 2.0

· 15 minutes de lecture
Sébastien Lorber
Joshua Chen
Yangshun Tay
Alexey Pyltsyn
Paul O’Shannessy
Joel Marcey

Aujourd'hui, nous sommes extrêmement heureux de pouvoir enfin annoncer Docusaurus 2.0 ! 🥳️

Chez Meta Open Source, nous pensons que Docusaurus vous aidera à créer les meilleurs sites web de documentation avec un minimum d'efforts, vous permettant ainsi de vous concentrer sur ce qui compte vraiment : la rédaction du contenu.

Après 4 ans de travail, 75 alphas et 22 bêtas, la nouvelle génération de Docusaurus est prête pour le grand public. À partir de maintenant, nous prévoyons de respecter le versionnement sémantique et nous publierons des versions majeures plus régulièrement.

image de la carte sociale

Nous sommes sur ProductHunt et Hacker News !

C'est le meilleur moment pour montrer votre amour pour Docusaurus !

Docusaurus 2.0 - Build optimized websites quickly, focus on your content. | Product Hunt
astuce

Pas beaucoup de temps ? Consultez ce qui est nouveau dans Docusaurus 2.0 !

Qu'est-ce que Docusaurus exactement ?

Docusaurus est un générateur de sites statiques qui vous aide à créer de magnifiques sites web de documentation en un rien de temps.

Concentrez-vous sur votre contenu : écrivez simplement des fichiers Markdown. Docusaurus générera pour vous un site web optimisé, facile à héberger n'importe où.

Docusaurus est complet et très flexible : nous vous fournissons des documents bien conçus et une mise en page de blog, ainsi que des fonctionnalités de versionnement, de recherche et d'internationalisation prêtes à l'emploi, avec un souci d'accessibilité et d'optimisation des moteurs de recherche. Son système de thématisation flexible permet d'adapter l'interface utilisateur à l'image de votre marque afin qu'elle s'intègre parfaitement à votre site Web principal ou à votre portail de documentation. Son utilisation de React permet une** navigation moderne côté client**, et la possibilité de construire une documentation interactive.

Présentation de Slash

La philosophie de Docusaurus s'apparente au principe de Pareto : vous pouvez obtenir 80% des résultats pour 20% d'effort. Cela vous permet de rivaliser avec des sites de documentation de premier plan avec un** effort minimal**.

A moins que vous mettiez sur pied une équipe de documentation avec des ressources techniques, vous préférerez probablement Docusaurus !

Rachel Nabors
Rachel NaborsFormer ReactJS & React-Native docs manager

Docusaurus a pour objectif d'être le meilleur outil de documentation, mais vous pouvez également l'utiliser pour d'autres usages : un blog, une base de connaissances, un portfolio de développeur, un second cerveau, ou même pour construire des pages de présentation !

L'utilisation de Docusaurus pour mon blog technique a été un choix fantastique. Il est extraordinaire dès la sortie de la boîte et l'impressionnante expérience de développement me permet d'écrire plus de choses

Johnny Reilly
Johnny ReillyGroup Principal Engineer at Investec
astuce

Essayez Docusaurus maintenant avec nos terrains de jeu en ligne et notre tutoriel de 5 minutes ⏱️

L'histoire de Docusaurus

Docusaurus a été créé par Facebook Open Source en 2017 (maintenant Meta Open Source). Nous avions beaucoup de projets internes et open source à documenter. C'est déjà assez compliqué d'écrire une bonne documentation, sans parler de créer le HTML, le CSS et le JavaScript d'un beau site web. Nous voulions que les chefs de projet puissent se concentrer sur le contenu, et Markdown est idéal pour cela.

À l'époque, notre solution consistait à copier/coller un template Jekyll encore et encore. Cela devenait naturellement difficile à maintenir, et nous avons donc créé un outil pour résoudre notre propre problème une fois pour toutes.

Docusaurus v1 était né !

Naissance de Slash

Il a rapidement pris de l'ampleur chez Facebook et dans l'écosystème front-end, adopté par de nombreux projets populaires tels que Prettier, Babel, React-Native, KaTeX, et bien sûr Docusaurus v1 lui-même.


remarque

Remarquez que les différents sites ci-dessus utilisent des couleurs différentes, mais ils se ressemblent beaucoup.

En route vers Docusaurus 2.0

Docusaurus v1 a eu beaucoup de succès, mais nous avons commencé à remettre en question certains choix architecturaux :

  • React n'était utilisé que comme langage de template côté serveur, et n'était pas utilisé sur le poste client
  • Le système de thèmes était assez limité, et à part changer quelques couleurs avec du CSS, il était difficile de faire des personnalisations plus avancées
  • Le système de gestion des versions de la documentation était confus, puisqu'il était basé sur un algorithme de différence
  • La base de code était monolithique, ni bien testée, ni facile à enrichir

Docusaurus v2 a été reconstruit à partir de zéro avec une nouvelle architecture modulaire :

  • React est désormais également utilisé côté client, ce qui permet une navigation moderne au sein d'une application monopage
  • Les plugins permettent à la communauté d'apporter des fonctionnalités utiles sous forme de paquets tiers
  • La thématisation est plus flexible que jamais
  • Le versionnage des documents est désormais basé sur des copies instantanées, ce qui est beaucoup plus facile à comprendre
  • Nous avons gardé tout ce qui était bien dans la v1 : docs, blog, pages, versionnage, i18n...
  • Nous avons implémenté plusieurs nouvelles fonctionnalités

Plus de détails dans l'annonce du projet Docusaurus 2 et le guide de migration de la v1 à la v2

Qui utilise Docusaurus 2.0 ?

Bien qu'il fût en phase de préversion, il n'a pas fallu longtemps pour que Docusaurus v2 dépasse Docusaurus v1 en termes de téléchargements NPM :

Téléchargements NPM : la v2 dépasse la v1

La tendance de nos étoiles GitHub est très positive, en concurrence avec les principaux frameworks :

Étoiles GitHub : Docusaurus est bien positionné

Actuellement, Docusaurus v2 est déjà un grand succès avant même son lancement :

  • Nous avons reçu tant de beaux témoignages
  • Des entreprises comme 1Password et Courier témoignent de leur expérience positive
  • Notre site vitrine référence des centaines de sites, et ce n'est que la partie émergée de l'iceberg.

astuce

Veuillez ajouter votre site à notre site vitrine ! Cela ne prend que quelques secondes : il suffit de poster un commentaire ici.

Nous utilisons Docusaurus partout maintenant et nous l'adorons

Max Lynch
Max LynchIonic co-founder and CEO

Nous utilisons la V2 depuis janvier et c'est très bien

Supabase
SupabaseOpen Source Firebase alternative

Docusaurus est le niveau supérieur de facilité pour pratiquement tout ce dont vous avez besoin pour la documentation de votre projet.

Gabriel Csapo
Gabriel CsapoStaff Software Engineer at LinkedIn

Docusaurus est génial. Nous l'utilisons

Matt Gregg
Matt GreggSenior Front End Developer at Shopify

Quoi de neuf dans la 2.0 ?

Il serait difficile de décrire toutes les nouvelles fonctionnalités de Docusaurus v2. Concentrons-nous sur celles qui nous semblent les plus impactantes.

MDX

MDX vous permet d'imbriquer des composants React dans du Markdown. Cela vous permet de créer très facilement des expériences de documentation interactive de premier ordre.

Une démo vaut mieux qu'un long discours :

docs/my-document.mdx
### Faites un essai : appuyez sur ce bouton !

import ColorModeToggle from '@theme/ColorModeToggle';

<ColorModeToggle/>
http://localhost:3000

Faites un essai : appuyez sur ce bouton !

info

MDX a son propre système de plugins. Vous pouvez personnaliser votre expérience de création de Markdown et même créer votre propre syntaxe Markdown.

Docusaurus + MDX est formidable : nous avons pu mettre en place une belle mise en page à deux volets et donner à l'auteur un contrôle fin sur le placement du code et de la prose correspondante.

Hamel Husain
Hamel HusainHead Of Data Science at Outerbounds

Conventions du système de fichiers

Notre objectif est de faire en sorte que Docusaurus soit très intuitif à utiliser. Nous avons ajouté des conventions de système de fichiers et l'ajout d'une page de doc est aussi simple que la création d'un fichier Markdown.


Grâce aux barres latérales générées automatiquement, il est très simple de créer une page et de ne pas se préoccuper des autres configurations.

Paul Armstrong
Paul ArmstrongPrincipal Engineer at Microsoft

Plugins

Docusaurus a maintenant une architecture modulaire avec un système de plugins - nos fonctions principales comme les docs, le blog, les pages et la recherche sont toutes alimentées par des plugins individuels.

Plus important encore, il permet à notre communauté d'améliorer Docusaurus avec des fonctionnalités supplémentaires.

Soulignons quelques exemples :

exemple de plugin redocusaurus

exemple de plugin shiki-twoslash

L'API du plugin est très facile à utiliser et suffisamment puissante pour que je puisse porter l'exemple de code de rendu du site web TypeScript en quelques heures.

Orta Therox
Orta TheroxFormer TypeScript core team at Microsoft

exemple de plugin de recherche local

astuce

Nous avons établi une liste de plugins exceptionnels dans notre page de ressources communautaires.

Le système de plugins de Docusaurus v2 a rendu l'expansion du portail des développeurs de 1Password si facile et amusante. Nous sommes très heureux de vous montrer ce que nous avons conçu.

Jody Heavener
Jody HeavenerSenior Developer at 1Password

Thème

La thématisation est l'une des caractéristiques les plus importantes de Docusaurus : nous pensons qu'un site de documentation professionnel doit respecter l'image de marque de votre entreprise et créer une expérience cohérente.

La thématisation de Docusaurus donne beaucoup de flexibilité à différents niveaux :

  • Personnalisez les variables CSS pour ajuster les couleurs, les polices et plus encore
  • Fournissez vos propres feuilles de style CSS
  • Implémentez votre propre thème à partir de zéro
  • Remplacez n'importe quel composant React fourni par notre thème par défaut : nous appelons ceci le swizzling

J'adore la fonctionnalité Swizzling de Docusaurus. Elle est à la fois opiniâtre et flexible. C'est super cool car un framework doit généralement sacrifier l'un au profit de l'autre.


Hung Viet Nguyen
Hung Viet NguyenCreator of JestPreview

Cela permet aux utilisateurs, prêts à investir un peu plus de temps dans les personnalisations, de créer des sites qui se distinguent des autres.

Jusqu’à présent, ça marche vraiment bien. Il a été très facile de le styliser comme nous le voulions. Aucun blocage.

Nader Dabit
Nader DabitWeb3 developer, Developer DAO founder

Autres fonctionnalités

Docusaurus 2 est doté d'une très longue liste de fonctions utiles :

  • Thème : mode sombre, amélioration de l'interface utilisateur et de l'expérience utilisateur, les options de themeConfig sont flexibles...
  • Versionnage des docs : options du plugin flexibles pour s'adapter à votre flux de travail
  • Barre latérale des docs : catégorie repliable, pages d'index des catégories...
  • Blog : auteurs multiples, carte des auteurs, page d'archives...
  • Markdown : onglets, équations mathématiques, blocs de code en direct, liens, frontmatter flexible...
  • Recherche : utilisez la nouvelle expérience Algolia DocSearch 3
  • Ressources : facilitez l'incorporation d'images et d'autres types de fichiers
  • Internationalisation : options de configuration, traductions du thème par défaut...
  • Accessibilité : étiquettes aria, contrastes des couleurs, saut vers le contenu, navigation par le clavier, amélioration progressive...
  • Référencement : valeurs par défaut judicieuses, facile à personnaliser, url canonique, carte sociale, no-index, sitemap, microdata, hreflang...
  • PWA : ajoute la prise en charge hors ligne à votre site et le rend installable
  • Echec rapide : validation stricte de la configuration, détection des liens erronés et prévention des mauvais déploiements en production
  • Prise en charge de TypeScript pour les fichiers de configuration, les plugins, les pages personnalisées et les auteurs de thèmes
  • Terrains de jeu : évaluez Docusaurus facilement à partir de votre navigateur avec docusaurus.new
  • Versions canary : utilisez la balise @canary avec npm pour utiliser la prochaine version avant tout le monde
  • Des tests : Docusaurus est bien testé, nous testons les fonctionnalités et nous nous assurons qu'elles fonctionnent toujours

Récemment, j'ai été choqué de voir à quel point le Docusaurus est efficace dès sa mise en service. Super solide, une bonne dose de configuration sans être excessive, et la possibilité de vraiment personnaliser le style si vous êtes plus courageux que moi.

Alex DeBrie
Alex DeBrieAWS Data Hero, author of The DynamoDB Book

Pourquoi la 2.0 maintenant ?

De nombreux adeptes enthousiastes se demandent pourquoi il nous a fallu 4 ans pour sortir Docusaurus 2.0, alors que la version bêta est déjà un succès et largement utilisée en production.

La raison en est que nous souhaitons respecter le Versionnage Sémantique, ce qui signifie que nous incrémenterons le numéro de la version majeure chaque fois que nous publierons un changement de rupture.

C'est important pour plusieurs raisons :

  • Il garantit de simples mises à jour de versions mineures, tant que vous n'utilisez que l'API publique
  • Il respecte les conventions de l'écosystème front-end
  • Une nouvelle version majeure est l'occasion de documenter minutieusement les changements de rupture
  • Une nouvelle version majeure ou mineure est l'occasion de communiquer les nouvelles fonctionnalités par le biais d'un article du blog

Le problème est que notre système de thématisation flexible crée de manière inhérente une surface d'API très implicite sur laquelle il est difficile de savoir s'il s'agit d'un changement de rupture en premier lieu. Les sites Docusaurus hautement personnalisés ont parfois du mal à mettre à jour Docusaurus parce qu'ils réalisent des personnalisations en utilisant des API internes. Nous avons consacré du temps à des remaniements importants des thèmes et à la définition claire de notre API publique, afin que les futures modifications du code puissent être effectuées de manière plus sûre. Nous continuerons à développer cette API publique de thématisation afin que les personnalisations de site les plus courantes n'aient pas besoin d'utiliser d'API interne.

info

Dorénavant, Docusaurus publiera plus fréquemment de nouvelles versions majeures. En pratique, vous pouvez vous attendre à une nouvelle version majeure tous les 2 à 4 mois.

Les numéros de version majeure ne sont pas sacrés, mais nous regroupons tout de même les changements de rupture et évitons de sortir des versions majeures trop souvent.

Consultez notre documentation de processus de publication pour plus de détails.

Quelle est la prochaine étape ?

Slash est en marche

Le travail sur Docusaurus 3.0 a commencé, et cette prochaine version ne sortira que dans quelques mois. Nous allons reporter les changements rétro-compatibles dans les versions mineures de Docusaurus 2.x afin de les mettre à la disposition de la communauté le plus rapidement possible sur un canal stable.

Un échantillon des fonctionnalités figurant sur notre feuille de route pour les prochaines versions majeures de Docusaurus :

Merci

Nous tenons à exprimer notre gratitude à tous nos contributeurs, notamment :

Nous tenons à remercier tout particulièrement tous nos utilisateurs précoces de Docusaurus 2.0 qui ont évalué ses versions alpha, bêta et canary, et nous ont fait part de leurs précieux commentaires. Nous espérons sincèrement que vous avez eu une agréable expérience en l'utilisant, et que vous continuerez à nous faire part de vos commentaires sur les prochaines préversions de Docusaurus 3.0.

Chez Meta Open Source, Docusaurus est l'un de nos projets les plus réussis. Nous sommes impatients de voir tous les sites de documentation exceptionnels que vous allez créer ! N'oubliez pas de les soumettre à notre vitrine de sites !

Maintenant, laissez libre cours à votre imagination 🤪 !

— Slash

Nous sommes sur ProductHunt et Hacker News !

🙏 Partagez votre expérience d'utilisation de Docusaurus avec la communauté !

Docusaurus 2.0 - Build optimized websites quickly, focus on your content. | Product Hunt

Peluches Slash