What do you think the Syndicoders do in their free time to distract from work? Correct! They are coding!
Anton Rusinov is Syndicode’s Frontend developer for whom programming is not only a favorite work but a real passion that helps him to express his way of thinking and his overall vision of life.
“Today I’m thrilled to announce a launch of the beta version of the project I’ve been working on the last several weeks:
🎊 Meet JS TL;DR - https://js-tldr.info 🎊
On a Saturday morning, I’ve been chilling in my bed, lazily scrolling through my Twitter feed and stumbled upon this mjackson’s, who is one of the react-router creators, post:
I love Mozilla Developers Network, and I’m thankful to fellow contributors who have made our lives so much better. Usually, it’s the first place where I head anytime I have doubts about what some Array‘s method returns.
The other tool I’m using a lot is a Spotlight Search, which has this brilliant simple yet powerful UX.
… and it clicked in my head, I’ve instantly imagined the tool I would like to use, so I jumped off the bed and darted to my laptop to search for any tool alike. I’ve tried to google terms like “js cheatsheet”, “js TLDR” “es documentation”, “human-readable ECMAScript spec”, and to my frank surprise, I couldn’t find any solid alternatives!
One of the hardest parts of coding for me is to stay focused on the feature I’m working at the moment. Looking for all the adjacent concepts, grasping contexts remembering the dependencies, etc. and then keeping everything in my head, all of that creates a great mental pressure and exhausts me that I feel it in my body.
If this process gets interrupted by forgotten API of some Array.prototype.unshift which forces me to lurk on how exactly I have to apply it, there is a high chance that I’ll get distracted and then miss some critical detail that I’ve tried to keep in my head so badly.
Implementing the idea
Later that day, I was all in my editor, researching and sketching a POC pretty fast. The first page I’ve created was this entry point input that I had clearly before my eyes and just had to implement it.
I took the self-made Gloom Glam color theme, which I use for my VS code and iTerm. For me personally, it means the synchronization on a very fundamental level 🙂
Where to get documentation from?
The start went smooth, and I coded quick until I’ve reached the central part of the application - the documentation sheets itself.
- Should I write them from scratch?
- Are there any APIs with the docs I could use?
- Should I maybe scrap the MDN and parse it somehow?
As I’ve stated earlier, I believe that MDN human-readable documentation basically has no alternatives, so I took it as a basis, but I thought that there are some things that I can do:
- brush out all the stylistic inconsistency, that comes from many people writing text asynchronously
- remove all the noisy elements that are not a part of the documentation sheet
As a result, here is an example of concat() method doc sheet I’ve come up with:
At this step, I needed help, so I’ve asked my friends Gleb, Sasha, and Andrei, to join my journey of documentation writing.
We’re planning to add Math methods next, as well as more advanced features.
The last but not the least aspect that I wanted to share with you, is that all the work we’ve created is open-source, so everyone is welcome to use it for their needs as well as to contribute to docs or app.
I always wanted to give back to the giant community of the world’s greatest minds that I daily take from, so this is my shot. The project is in the beta state because I wanted to launch it fast as the idea is still fresh, gather up all the feedback and iterate over that first version or throw it away.
We’re investing our spare money and time in it, a lot of things are new for us, so any support will indicate whether it worth it.
You can support us via Patreon! We have an extra room at the website where yours or your company’s name may shine 😉
Thanks for reading!
In my next articles, I plan to tell about the technical parts of the JS TL;DR application development, so be sure to follow me if you liked this one. Cheers!“
Anton Rusinov, Frontend Developer at Syndicode