Introducing docs.infinite.red — A New Home for Infinite Red’s Documentation
I’m excited to share something I’ve been working on with the team at Infinite Red — a new documentation site that brings together all the resources for our open-source projects in one easy-to-navigate place: docs.infinite.red.
The goal was simple: to make it easier for you to find and use Infinite Red’s most popular open source projects like Ignite, Reactotron, React Native MLKit, and Gluegun.
Whether you’re already using these tools or are just discovering them, we hope this site will be a valuable resource. And this is just the start! In the coming weeks we’ll be migrating the docs for more of our awesome open source projects to the site, like NSFW.js, apisauce, and solidarity!
We’re also considering adding content about open source best practices and insights. We’d love to hear your thoughts on our Community Slack!
Take a moment to visit the new site and explore. Bookmark it for future reference, and if you see an area for improvement, let us know. Every bit of feedback helps.
Things to love about docs.infinite.red
Improved Navigation and Consistency
The most important job for any documentation is to get you the information you need as quickly and easily as possible. Standardized UX for all Infinite Red project docs, and clear, consistent navigation will help you find the information you need faster.
Up-to-Date Information
Thanks to our CI integration, the documentation on the site will always be current with the latest changes. This setup automatically updates the content from our projects, so you’re always getting the latest information.
No More Broken Links
There’s nothing more frustrating than a critical piece of information locked behind a broken link. We’re using Docusaurus to keep our documentation reliable — our CI checks now for broken links when the docs are edited to make sure you can always get where you need to.
Buttery Smooth DX (Documentation Experience)
Our use of Docusaurus also means writing and organizing documentation is more streamlined. Things like supporting symlinks so you can preview your changes in place, and developing a custom CircleCI orb to make it easy to get new projects integrated.
Discover New Libraries
As we bring more of our open source into docs.infinite.red, you’ll be able to find them all in one place — making it easier to discover other Infinite Red goodies!
How it all works
Merging documentation from a pretty broad variety of projects was an interesting challenge. The docs needed to not only be consistent in their style and navigation, but to stay consistent.
Also, because these are open source projects, it was really important not to add extra hoops for contributors to jump through. We wanted PRs for the docs to stay with PRs for the code.
We settled on a system where the individual repos maintain the docs in a local folder, and push changes up to the main site as they happen. Underlying all of this is the infinitered/publish-docs orb on CircleCI. That means that repos can add a single command to their CircleCI config and changes to their local copy of the docs will appear on the site in minutes.
Once the docs have been pushed, Docusaurus does its magic. We built a custom plugin that generates the sidebars and nav structure from metadata that is pushed up with the docs.( And we had a bit of fun adding some extra touches to get things organized just the way we want them.)
Acknowledgments
They say no man is an island, and a man is especially un-islandlike if the man happens to be a software developer.
None of this would be possible without the following amazing people:
- Frank Calise, Mark Rickert, and Joshua Yoes for their tireless work in getting the Reactotron and Ignite docs converted
- Justin Huskey and Jenna Fucci for their impeccable design advice
- Jamon Holmgren for security advice and other highly technical guidance
- All of you for using our awesome open source so I have a reason to do fun stuff like this!
Thanks! You guys rock!
How You Can Contribute
Your feedback and contributions are always welcome. If you have suggestions for specific projects, feel free to open an issue or a PR in the project’s repo.
For broader feedback on the documentation site, drop us a line in the comments or join our Community Slack!
And one more thing…
At Infinite Red we’ve been committed to open source since the beginning, and it’s a reflection of our expertise in React Native development.
If you need top-tier React Native consulting services, reach out to us. We’re here to help at every stage of your React Native journey!
About the Author
Trevor Coleman is a Senior Software Engineer at Infinite Red. He wrote his first lines of code on an Atari 800XL, back when computer games came on cassette tapes. He previously co-created Muse: the brain sensing headband at Interaxon where he was a co-founder and Chief Product Officer. These days he is all about DX, CI, and good linting rules (but he’s not weird about it.) His favorite Weird Al song is Frank’s 2000” TV.