Блок предоставляет шаблоны, создающие набор HTML-элементов верхнего уровня страницы: <html>
, <head>
, <body>
.
Поле | Тип | Описание |
---|---|---|
doctype | String |
Позволяет переопределить строку DTD текущего документа. |
title | String |
Позволяет указать содержимое <title> . |
favicon | String |
Позволяет указать URL значка страницы (фавиконки). |
head | BEMJSON |
Позволяет дополнить содержимое <head> . |
styles | BEMJSON |
Позволяет подключать таблицы стилей CSS. |
scripts | BEMJSON |
Позволяет подключать скрипты в тело документа. |
content | BEMJSON |
Позволяет указать содержимое страницы. |
Элемент | Способы использования | Описание |
---|---|---|
css | BEMJSON |
Служит для подключения CSS по ссылке или в виде строки. |
js | BEMJSON |
Служит для подключения JS по ссылке или в виде строки. |
meta | BEMJSON |
Служит для создания HTML-элементов <meta> . |
Элемент | Поле | Тип | Описание |
---|---|---|---|
css | url | String |
Позволяет задать URL для загрузки стилей. |
content | String |
Служит для задания стилей в виде строки | |
js | url | String |
Позволяет задать URL для загрузки скрипта. |
content | String |
Служит для задания скриптов в виде строки |
Блок реализован в технологиях:
bh.js
bemhtml
Блок отвечает за создание HTML-элементов верхнего уровня, подключение к странице CSS, JS, элементов <meta>
и указание заголовка. Для этого в BEMJSON-декларации блока и элементов блока зарезервированы специальные поля.
Тип: String
.
Позволяет явно указать строку с DTD (Document Type Definition) текущего документа. Если свойство не задано, по умолчанию будет использоваться <!DOCTYPE html>
.
Тип: String
.
Название страницы. Становится HTML-элементом <title>
.
{
block : 'page',
title : 'Заголовок страницы',
content : 'Блок page'
}
Тип: String
.
Позволяет указать URL значка страницы (фавиконки):
{
block : 'page',
title : 'Заголовок страницы',
favicon : 'favicon.ico',
content : 'Страница с пользовательской фавиконкой'
}
Тип: BEMJSON
.
Позволяет дополнить содержимое HTML
-элемента <head>
, определенное в шаблоне блока:
{
block : 'page',
title : 'Заголовок страницы',
head : [
{ elem : 'js', url : 'jquery-min.js' },
{ elem : 'meta', attrs : { name : 'description', content : 'Yet another webdev blog' } }
],
content : 'Страница с подключенным JS и meta-данными'
}
Тип: BEMJSON
.
Позволяет подключить CSS
:
{
block : 'page',
title : 'Заголовок страницы',
styles : { elem : 'css', url : '_index.css' },
content : 'Страница с подключенным CSS'
}
Тип: BEMJSON
.
Позволяет подключать JS в тело страницы в конец HTML-элемента <body>
:
{
block : 'page',
title : 'Заголовок страницы',
scripts : { elem : 'js', url : '_index.js' },
content : 'Страница со скриптом подключенным в body'
}
Тип: BEMJSON
.
Позволяет указать содержимое страницы.
{
block : 'page',
title : 'Заголовок страницы',
content : {
block : 'link',
mods : { pseudo : 'yes', togcolor : 'yes', color : 'green' },
url : '#',
target : '_blank',
title : 'Кликни меня',
content : 'Псевдоссылка, меняющая цвет по клику'
}
}
Служит для подключения CSS по ссылке или в виде строки. В зависимости от того, указано ли в декларации элемента поле url
, создается HTML-элемент с тегом:
<link>
и свойствомstylesheet
, еслиurl
есть.<style>
, если полеurl
неуказано. В этом случае предполагается, что содержимое элемента передается с помощью свойстваcontent
BEMJSON-декларации элемента.
Тип: String
.
Служит для явной передачи содержимого HTML-элементу <style>
:
{
block : 'page',
title : 'Page title',
styles : {
elem : 'css',
content : '.page { color : #f00 }'
},
content : 'Страница с тэгом <style>'
}
Тип: String
.
Позволяет задать URL для загрузки таблицы CSS. Значение поля url
BEMJSON-декларации передается свойству href
создаваемого HTML-элемента.
Служит для подключения JS по ссылке или в виде строки. Создает HTML-элемент <script>
.
Тип: String
.
Служит для явной передачи содержимого HTML-элементу <script>
:
{
block : 'page',
title : 'Page title',
scripts : {
elem : 'js',
content : 'console.log(document.title)'
},
content : 'Страница с тэгом <script>'
}
Тип: String
.
Позволяет задать URL для загрузки скрипта. Значение поля url
BEMJSON-декларации передается свойству src
создаваемого HTML-элемента.
{
block : 'page',
title : 'Page title',
styles : { elem : 'css', url : '_index.css' },
content : 'Страница с тэгом style'
}
Служит для создания HTML-элементов <meta>
и указания для них пользовательских метаданных. Метаданные передаются как ключи и значения хеша атрибутов – свойства attrs
BEMJSON-декларации элемента:
{
block : 'page',
title : 'Заголовок страницы',
head : [
{ elem : 'css', url : 'example.css' },
{ elem : 'meta', attrs : { name : 'keywords', content : 'js, css, html' } }
],
content : 'Страница с подключенным CSS и meta-данными'
}
Подробнее смотрите в документации к <meta>
на MDN.