
Organic growth
Our documentation is the result of multiple people collaborating across the span of four very active years, and it has seen a lot of changes: 2942 commits and counting. In the beginning, our docs only needed to explain how to create smart contracts, and how to interact with them through a frontend. Fast forward to today, and we have more than 200 pages of documentation, covering topics such as chain abstraction, data infrastructure, and primitives such as NFT, FT. The best thing is that new features are released every single month. However, all progress comes at a cost, and as our ecosystem grew, so did the disorganization of our documentation.What link was that again?
Let’s briefly explain how docusaurus (the framework we use in our docs) works so you can understand the problem. In docusaurus, all the pages are written as simple markdown files. These files go inside the./docs folder, and can be organized in folders. Each file has a unique ID on its header that identifies it (e.g. id: what-is), and this ID, alongside its folder path, is used to generate the URL.
For example, the documentdocs/smart-contracts/what-is.mdhas theid: what-is, so it ends being served in the URL /smart-contracts/what-is.
The problem
About a year ago, we noticed that our organic growth had left us with a very inconsistent URL structure. Basically, we had a lot of folders, and the files related to the same topic (e.g. NEAR components) would be all over the place. For example, you would be in the “Build” section reading about “What is a NEAR Component?” and the URL was/bos/tutorial/quickstart. The next page was “Setup an Environment” located at /bos/dev/intro, followed by “Anatomy of a Component -> State” at /bos/api/state. Talk about consistency!
Of course, we did not do this on purpose, it is just how things evolved. You might even notice that we are now talking about “NEAR Components” but the URL talks about “BOS”. This is because when we started, “BOS” (Blockchain Operating System) felt like a good name, but community feedback made us know that, indeed, it was not.