There were a lot of things we just couldn't do nicely with the previous documentation library, Nextra. Granted, it's very good and has a lot going for it, but its rigidity in important places, as well as its overall pull towards Next.js and Vercel make some features like i18n almost impossible to implement while keeping the static build and not doing the server-side rendering.
It is finally time to move to a more flexible solution: Starlight, a documentation library powered by Astro that allows for great extensibility and bundles (among other things): advanced i18n support via i18next, site navigation, search, SEO, easy-to-read typography, code highlighting, dark mode and more. It's also very lightweight and snappy.
This move brought a lot of enhancements, here's a very short list (there's more!):
0οΈβ£ Translating the docs to another language (i18n) is super easy now. Just take the original English page, translate it, and put the file in the appropriate folder. That's it, the next deployments would feature your translated page as if it was always there β¨
1οΈβ£ The search via
Ctrl + K (fuzzy full-site search) has been greatly improved. In addition, since all the pages are located in the sidebar, you now can use Ctrl + F (content search) to quickly find the page in any of the sections: Book, Cookbook, and Ecosystem!2οΈβ£ Fixed issues with highlighting of code blocks in the light mode. The similar change for
inline code highlighting will follow in the future too!3οΈβ£
tact-docs repo has been merged into the Tact compiler one, which means that all new feature and standard library updates will arrive in docs much faster than before! Besides, you'll see badges like "Since version X.Y.Z" under each new feature, so that you'll know when to expect things and which Tact version to use for them :)Things that didn't make the list include updates that are mostly relevant to the team and maintainers of the docs. For example:
1. It's much easier to influence the SEO of each page with good descriptions and image covers where needed
2. It's super easy to customize the docs with: CSS styles, JS scripts, Markdown pre-processing plugins, HTML pre-processing and post-processing plugins, ...
3. ...and so on and so forth
π§βπ³ Contributor: Novus Nota
π Implementation: #880
βοΈ Delivered: docs.tact-lang.org
π² sparkle! sunshine!
β¨οΈ @tact_kitchen
