I'm working on my first project using BEM. I'm loving it but there's just one thing I can't my head around: nesting solutions for larger modules. I have search a lot about this and there are many topics on stackoverflow, but the examples are all to obvious. In the 'real' world not everything can be seen as seperate modules.
For example: I'm building a big timeline module. It consists of a timeline bar, which contains bullets and labels. Each bullet has an article block which itself consist of an image, a title, subtitle and a link.
The BEM code seams very inefficient to me:
timeline
timeline__bar
timeline__bullet
timeline__label-year
timeline__label-month
timeline__article
timeline__article-image
timeline__article-title
timeline__article-subtitle
timeline__article-link
Now I understand that I can split this in different sub-modules. Like this:
timeline
timeline__bar
timeline__bullet
timeline__label-year
timeline__label-month
timeline__article article
article__image
article__title
article__subtitle
article__link
But this is only relevant when the article is its own 'thingy'. But in my case this is a specific timeline-only article. And the name 'article' is way too generic.
I could also do it like this:
timeline
timeline__bar
timeline__bullet
timeline__label-year
timeline__label-month
timeline__article timeline-article
timeline-article__image
timeline-article__title
timeline-article__subtitle
timeline-article__link
But this doesn't feel right either, since the naming seams so confusing. What is the best practice is this case?
Many thanks.