Что такое MD Markdown?
Ранее в этом блоге я писал о языке разметке текстов HTML, в этой же статье мы рассмотрим другой чуть менее популярный способ разметки текстов Markdown. Рассмотрим зачем нужна такая разметка и ее базовый синтаксис.
Зачем?
Что HTML что Markdown (MD) служат одной цели, форматирование документов. То есть у нас есть “исходный код документа” и само представление документа. Исходный код зачастую представляет собой содержимое документа это текст - полезная нагрузка, плюс “разметка” - то как расположен текст какие у него размеры цвета.
Разметка же это набор правил форматирования содержимого документа. HTML был принят как основной способ форматирования WEB документов в сети интернет. По этому чтобы посмотреть представление HTML документа из исходного кода достаточно иметь браузер, который сегодня есть практически на любом компьютере. Чтобы это сделать достаточно открыть файл в браузере с расширением html внутри которого содержится “исходный код”.
Главный вопрос “стандартов” и разных способов сделать одно и тоже зачем размечать тексты по разному почему нельзя везде использовать HTML? При том, что программы которые могут отобразить MD файлы можно посчитать по пальцам, и это редкая удача найти компьютер с такой программой, зачастую их нужно устанавливать отдельно, да и кто захочет это делать ведь браузер уже есть и HTML тоже уже есть?
Как это обычно это бывает, у существующих стандартов есть проблемы.
Недостатки
У HTML их множество например “домашняя работа”, чтобы разметить что то HTML нужно использовать длинное семантически верное название тега, а так же нужно разметить начало этого тега и самое сложное сделать “домашнюю работу” - закрывающийся тег, что очень часто забывают делать или делают это умышленно, надеясь что это сделает браузер при попытке отобразить страницу клиенту. Зачастую неожиданностью оказывается, что не во всех браузерах теги закрываются одинаково и это приводит к проблемам в отображении.
Так же для человека с его опытом кажется очевидным существование “дополнительного смысла” в переносах строк и новых абзацах и HTML практически не использует это “очевидные” для человека свойства текста при разметке.
Так же если взглянуть на HTML разметку и текст из “далека” то это начинает выглядеть как мещанина из названий тегов и их содержимого. Что вытекает из “длинных семантически верных названий тегов”.
Разнообразие возможных HTML тегов просто сбивает с толку, неужели что бы написать небольшую статью в пару абзацев писателю нужно знать все это огромное разнообразие тегов и их атрибутов!
Решения
Как минимум на примере этих проблем можно предложить “улучшения” - новые способы разметки текста, призванные радикально упростить разметку текста по сравнению с HTML. Например использовать спец символы вместо длинных названий. Начать учитывать переносы строк и пробелы в итоговом документе. Сильно сократить многообразие возможностей и вариаций тегов.
Все это происходит чуть ли не каждый день, создаются новые “более лучшие” стандарты HTML или полностью новые, призванные сделать разметку более простой и не требующей глубокого понимания вопроса. Множество этих решений находят своих последователей и некоторые из них становятся популярными о некоторых из них можно почитать на wikipedia
На мой взгляд самым популярным решением сейчас является та сама MD разметка, когда дело касается самых простых вещей в стиле текста с заголовками, подзаголовками списками картинками и ссылками.
Отвечая на вопросы поставленные выше MD разметка позволяет форматировать тексты значительно проще чем это делает HTML и это ее главное преимущество. А также благодаря простоте исходный код документа становится проще читать и исправлять. При этом вполне “легально” использовать старый добрый HTML в MD файлах, но это уже немного более сложная история в плане наложения этих 2 способов разметки, основняая идея тут, если вы переходите на HTML теги внутри md документа то внутри них перестают работать md спец символы.
А что на счет поддержки этой разметки браузерами? Оказывается если HTML более мощный и функциональный язык разметки чем как либо более простой например MD, то можно написать программу которая транслирует - превращает конструкции MD в стандартную HTML разметку. Одну из таких программ мы рассмотрим в дальнейшем.
Сами же спец символы разметки MD с примерами всегда можно найти на сайте wikipedia или других публичных ресурсах.
Буду рад комментариям идеям лайкам, всему тому что поможет сделать эту статью лучше. Поможет вам и другим людям, что прочтут их.