TinaCMS: Thinking of heaven and touching hell.
The use of CMS in blogs
Blogs are pages that are constantly adding or modifying content so it is very important to choose a suitable tool, the CMS (Content Management System) are one of the main tools used in blogs and e-commerce, besides having a wide variety to choose from, such as Wordpress, PrestaShop, etc.. But we will only focus on Headless CMS, such as TinaCMS, Strapi, etc. These allow you to separate content management with the logic you want to use, as in our case Astro with TypeScript.
TinaCMS: The sky
Among all the CMS that you can choose, we chose TinaCMS. You may wonder why, well, very simple, let's see what all the reasons are:
- The name: As a team we really liked the name and it inspired us enough confidence to want to use it, but I personally loved it because it reminded me of my favourite character from the Borderlands game series, Tina Chiquitina.
- Usability: Before we started using it we found it easy and intuitive to use.
- Features: It provides a centralised content, user management and media management which was an important part for us to take into account.Simplifying adding, editing, removing and searching content.
- Repository CMS: TinaCMS works on the project's own repository so there is no need to have an external server for the CMS, when adding new blog entries they are added directly to the repository.
TinaCMS: The dark side of development
Every good thing has to have a bad thing. In this case we will see all the problems we faced using TinaCMS and partly how we were able to solve them, if we were able to...
The first one I want to explain and for me the most important mistake when I started using TinaCMS was a version incompatibility. From the beginning of the development of Lick And Load we had quite clear which technologies to use and one of them was node.js in its latest version, something that we could not foresee is that TinaCMS used some dependencies which led to incompatibilities with the latest version of node.js (22.2.0). Due to this problem we spent several long days facing it without finding a solution, between multiple searches in Stackoverflow, GitHub Issues and other forums, we tried a solution that was based on lowering the version of node.js, it was an unsuccessful test, and to reinstall the latest version in a moment of lucidity I decided to install the LTS version (20.13.1) and testing with that version opened a trail of light in this long tunnel.
Other problems that were not solved during development were the use of react components within markdown and the introduction of Tailwindcss in Astro.js.
Conclusion
Remember dear readers, don't judge a book by its cover, because even demons can look like angels. I hope I have helped you, or at least entertained you, and that you can get something out of this article.
If you have any questions, feel free to contact us.
Have a nice day and we'll see you again soon.