Docusaurus 2020 Recap
Sébastien Lorber
Docusaurus maintainer2020 was great for Docusaurus, despite a regrettable start and a tumultuous year for everyone.
We continued to invest in Docusaurus 2, and made it reach full feature parity with Docusaurus 1.
We now recommend Docusaurus 2 as the default choice to start a new Docusaurus project and encourage v1 users to migrate to Docusaurus 2.
We are still in alpha, but expect some good news very soon!
#
Docusaurus 2 highlightsWe have worked on many features this year, and would like to highlight the most significant ones:
- i18n: easily translate your Docusaurus site, released soon! (preview, doc)
- Version dropdown: enable contextual version switch
- Versioning options: solving the most common pain-points users had with versioning
- Contextual search: search in the current version, use the brand-new DocSearch 3 experience
- Markdown pages: use Markdown instead of React components to create standalone pages
- Better theme: various UI, UX and accessibility improvements
- PWA: add offline support to your site, and make it installable
- Fail-fast: strict config validation, detect broken links, and prevent bad production deployments
- Multi-instance: use the docs plugin twice on a single site (e.g. iOS/Android SDK docs)
- Migration CLI: automate the upgrade from Docusaurus 1
- CodeSandbox: assess Docusaurus easily from your browser with new.docusaurus.io
- Canary releases: use the
@canary
npm tag to use the upcoming release before anyone else - TypeScript: progressive adoption for internal code, and improve usage for users
- Publish Infima: it is now open-source
#
Docusaurus 2 growthThe plan to rebuild Docusaurus from scratch in 2019 paid off: after a slow start, Docusaurus 2 has been widely adopted and has already outgrown Docusaurus 1 usage.
Notable projects, startups, large companies, and individuals adopted Docusaurus 2 (showcase):
- Supabase
- React Navigation
- React Redux
- Vector
- Algolia DocSearch
- SAP Cloud SDK
- Palo Alto Cortex XSOAR
- Quddús George's website
We helped large scale Docusaurus 1 sites to upgrade, ensuring a proper migration path and feature parity.
React Native was successfully upgraded to Docusaurus 2 (archived v1 site):
Localized Docusaurus 1 sites (like Jest) will be able to upgrade too:
We also saw the first right-to-left Docusaurus 2 site published:
#
GitHub Activity- Stars: 14632 -> 20946 (+43.2% y/y)
- Total Contributors: 303 -> 512 (+68.9% y/y). Most of which are non-Facebook contributors
- Weekly npm Downloads: 2356 -> 25592 (+986% y/y)
- On GitHub, Docusaurus 1 is used by 6311 projects (+62.9% y/y) while Docusaurus 2 is used by 5039 projects (+1940% y/y)
#
Collaboration with Major League HackingWe have welcomed Major League Hacking (MLH) fellows for 2 seasons already.
We are very thankful for the various contributions they made, such as:
- Writing the foundations of the v1 to v2 migration CLI
- Help migrate the React Native website from v1 to v2
- Making the config validation more strict and exhaustive, returning helpful error messages
- Adding CodeSandbox support
- Improving the CI pipelines: build size and Lighthouse bots
We look forward to continuing this collaboration in 2021.
#
MediaDmitry Vinnik (Developer Advocate @ Facebook) explains Docusaurus in 60 seconds or 15min videos.
Rachel Nabors (Documentation Engineer @ Facebook) talked a bit about Docusaurus in React Native Radio 178 (podcast), and William Candillon the React Native website migration (video).
Many blog posts have been published:
- To the Makers of Docusaurus by Quddus George
- Richer API documentation with Redoc and Docusaurus by David Goss
- How to Build a Plugin for Docusaurus v2 by Adriaan Knapen
- React Tracked Documentation Website with Docusaurus v2 by Daishi Kato
- Easy documentation with Docusaurus by Anshul Goyal (MLH fellow)
- Build Beautiful Documentation Websites with Docusaurus by Victoria Lo
#
CommunityThe Docusaurus community continues to grow, the Discord server is quite active, and Stack Overflow questions keep being posted.
The modular architecture of Docusaurus 2 allowed the community to build and publish third-party plugins. As we would like to federate better our community, if you are building a plugin, please let us know.
#
What's next?As the core features of Docusaurus 2 have finally been built, we will be able to dedicate more time to solve the pain points and bugs reported by the community, and make Docusaurus stable and convenient enough to enter the beta and release-candidate phase.
With proper support for i18n and versioning, and large scale migrations such as React Native and Jest, we now have a clear migration path for all Docusaurus 1 sites.
We still have a few major features that we would like to work on:
- Create a theme gallery, make it easy to switch from one another, and include first-class Tailwind support
- Upgrade to Webpack 5, improve performances and build times
- Better compatibility with CommonMark, as MDX and makes it harder for CommonMark-based sites to adopt Docusaurus
- Upgrade to MDX 2.0
- Other tasks that we might discover during 2021
Huge thanks to the community for their contributions in 2020, especially:
- Joel Marcey for creating Docusaurus and supporting the project all this time
- the core team - Alexey Pyltsyn, Sébastien Lorber, Yangshun Tay
- the Major League Hacking and Facebook interns for their significant impact
- the Algolia team for DocSearch 3 and their support
- Bartosz Kaszubowski for his investment in the React Native migration
- the whole community for their contributions, and providing support to each other
Cheers to a great 2021! 🎉