You can do all that within the loop using if conditions. So let’s say in the loop you have an article element wrap with the title and content inside. If you have if conditions that check for something, like meta data for example, output one article wrap, and another for another if statement, or else statement. Making use of template-part will also be helpful to keep your loop code small.
Edit: stick to standard WP data if possible just to keep things in house, but custom meta or custom fields would be useful.
I hope I’ve explained that well. On my phone.