Язык разметки

Оригинальное название: markup language

Коротко

Система обозначений, которыми в тексте отмечают его структуру и роль отдельных частей: заголовки, абзацы, ссылки, поля данных.

Что такое «Язык разметки»

Слово пришло из типографского дела: редактор размечал рукопись пометками на полях — какой шрифт, где заголовок, где отступ. В цифровом виде пометки стали тегами внутри текста. Компьютер читает их и понимает, где заголовок, а где цитата, но сам текст остаётся доступным человеку.

Родоначальник большинства современных языков разметки — SGML, стандарт 1980-х для больших документов. На его основе Тим Бернерс-Ли создал HTML, а позже из той же идеи вырос более строгий и универсальный XML. Markdown, придуманный Джоном Грубером в 2004 году, пошёл другим путём: вместо тегов — привычные символы вроде решётки или подчёркивания дефисами под заголовком.

Чем разметка отличается от программирования

Разметка описывает, что представляет собой содержимое, но ничего не вычисляет: в ней нет переменных, циклов и условий. Поэтому HTML — не язык программирования, хотя страницы с ним создают программисты. Логику на странице добавляет JavaScript, оформление — CSS. Хорошая разметка смысловая: тег говорит, чем является фрагмент (заголовок, список, навигация), а не как он выглядит. Это помогает поисковым системам и экранным дикторам.

Пример: один фрагмент в трёх языках

<!-- HTML -->
<h2>Доставка</h2>
<p>Отправляем <a href="/delivery/">курьером</a> за 1–2 дня.</p>

<!-- XML -->
<section title="Доставка"><days min="1" max="2"/></section>

Доставка
--------
Отправляем [курьером](/delivery/) за 1–2 дня.

HTML описывает страницу для браузера, XML — данные для программы, Markdown — текст, который удобно писать вручную и потом превращать в HTML.

Где встречается на сайте

Сама страница — HTML. Карта сайта для поисковых систем и RSS-лента — XML; как правильно составить первую, разобрано в статье про robots.txt и sitemap.xml. Выгрузка каталога из 1С в CommerceML — тоже XML. SVG-иконки — разметка на основе XML. А YAML, несмотря на похожее имя, расшифровывается как «YAML Ain’t Markup Language»: это формат данных и конфигураций, а не разметки документов.

Обновлено:

Все термины раздела «Backend»

Что будем искать? Например,Продвижение