Задача. Хранить содержание статей в базе в обработанном виде. Обработанный вид - любой формат, который можно перевести в html и обратно, который поддерживает любые вставки, в том числе видео с YouTube, Vimeo, VK, плеер из SoundCloud и т.п.
Почему не хранить сырой html? Сегодня мне нужно вывести <b>Text</b> завтра <strong>Text</strong> послезавтра <span class=”bold”>Text</span> с этим разобрались.
Как по мне, для таких задач хорошо использовать BBCode. Очень лаконично и читабельно выглядят вставки любых внешних плееров [youtube]youtube id[/youtube][vimeo]vimeo id[/vimeo], а также просто написать свой обработчик, который будет выглядеть уместным. Например [mycomponent id=254]content[/mycomponent]
Но! Слышу много мнений что использовать BBCode в 2017-ом это… как бы устаревшее решение, и взамен предлагают markdown.
Облазив интернет, я так и не нашел адекватного решения вставки видео с YouTube или своих кастомных блоков в markdown.
Так почему не стоит использовать BBCode в 2017-ом? Или markdown это наше все и есть пару хуков, которые покроют мои требования?