Introducing docs.infinite.red — A New Home for Infinite Red’s Documentation

Trevor Coleman
Red Shift
Published in
5 min readDec 19, 2023

--

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.

Screenshot of the new docs site’s home page.
https://docs.infinite.red is the new home for Infinite Red’s Open Source

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!

Can there really be too much free software?

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

Oooh, nested sidebars! 💅🏻

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

👀 Look at those green checkmarks!

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)

Localhost, the best host.

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

So. Many. 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.

It’s not as easy as it seems

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:

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.

--

--

Senior Software Engineer at Infinite Red. Co-creator of Muse: the brain sensing headband. Love CI, DX, design tokens and linter rules, but not weird about it.