Препроцессор HAML

Во время работы над HTML и CSS приходится выполнять множество мелких и однотипных задач: закрытие тегов, написание фигурных скобок, конвертирование цветов из одних значений в другие. Такие задачи повторяются периодически и требуют внимания пользователя, отвлекая его от работы, снижая производительность. Препроцессоры – это программы, которые позволяют автоматизировать часть рутинных операций.

Препроцессор это программа, которая использует свой синтаксис (метаязык), а затем преобразовывает его в HTML код (если это препроцессор HTML) или в CSS код (CSS препроцессор). Наиболее популярными препроцессорами для HTML являются Jade и HAML, для CSS – LESS и Sass.

Сегодня мы рассмотрим работу с HAML.

Установка HAML

Для установки HAML, который расшифровывается как HTML abstraction markup language, мы воспользуемся системой управления пакетами RubyGems. Как установить Ruby и кратко о менеджере пакетов Gems читайте здесь.

Итак, вы запустили командную строку с Ruby и теперь нужно ввести команду:

gem install haml

Если все прошло нормально, то система отрапортует вам, что был установлен препроцессор и документация к нему.

Для конвертации любого файла в формате haml в файл в формате html вам необходимо в командной строке набрать:

haml index.haml index.html

Имена и пути к файлам вы вводите реальные.

Для тестирования установки возьмите данный файл и скопируйте его в заранее подготовленную папку на диске. Перейдите в папку с помощью консоли. Для тестирования я выбрал диск D:, на котором создал папку test. В папку поместил test.haml.

Запустите командную строку с поддержкой ruby (start command promt with ruby) и наберите команду:

d:

d: — для смены диска (после ввода команды нажал Enter):

cd test

cd test для входа в каталог test:

dir

dir для просмотра каталога:

haml test.haml index.html

для конвертации haml файла в html

Если все прошло успешно, то в каталоге появится файл index.html, в котором содержится всего лишь одна надпись:

Команды и результат их выполнения

Как видно, файл препроцессора HAML это обыкновенный текстовый документ с расширением haml.

Основы верстки с HAML

Перед тем как использовать HAML вы должны запомнить одно простое правило: каждый пробел и отступ воспринимается как элемент структуры. Повторяйте команды так, как они написаны в примерах.

Doctype

Для добавления Doctype используйте команду:

Это добавит в ваш документ строку:

Объявление элементов и создание структуры

В отличие от HTML препроцессор HAML для объявления элементов использует только открывающийся тег. Название любого элемента начинается со знака % :

создадут следующий код

Как видно, HAML различает парные и непарные теги. Использование одинарных тегов позволяет упростить код для восприятия.

Для создания структурированного документа в HAML используются отступы. Не важно как сделан отступ: одним пробелом, двумя, или клавишей tab. Важно, чтобы принятые отступы повторялись на протяжении всего документа. Для создания html документа наберите (с учетом оступов):

Компилированный HTML выглядит:

Более усложненный вариант:

Результат:

Добавляем текст

Для текста внутри тега, просто напишите его в следующей строке с отступом. Текст не должен быть на той же линии, что и тег. Например:

Результат компиляции:

Атрибуты

Атрибуты в HAML можно объявлять несколькими способами, которые отличаются между собой. Объявить их можно как с помощью фигурных скобок {}, так и с помощью обычных (), первый подход применяется в Ruby, второй в HTML синтаксисе. Для простоты кодирования используйте на протяжении документа один из подходов.

Результат компиляции:

Классы и id

Декларировать классы и id можно как атрибуты в предыдущем примере, но можно использовать и альтернативный синтаксис. Для задания класса (id) поставьте сразу после элемента точку и напишите название класса или id . Если необходимо несколько классов, поставьте их через точку.

Результат компиляции:

Для элементов div, сокращение %div писать не обязательно. Как и в Emmet, можно обойтись сокращенным написанием:

Результат:

Комментарии

Для создания комментария необходимо просто перед текстом поставить слеш. Для создания блока комментария в HAML нужно на отдельной строке поставить слеш, а необходимый текст написать ниже с отступами.

Результат

Создание тихого комментария

Если вам необходимо создать комментарий, который будет отображаться только в HAML файле, то используйте синтаксис -# :

В скомпилированном файле строки после -# не будет:

Надеюсь, у вас все получилось.

Также, HAML можно использовать в CodePen (для этого нажмите шестеренку перед HTML и выберите HAML препроцессор). Результат:

Применение haml в Codepen

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *