---
tags: ulla
disqus: hackmd
---
# ULLA: Типы контента. Настройка :gear:
Внутри урока вы можете комбинировать разные типы контента.
Для этого настройте типы контента в файле `src/config/contentTypes.js`
## contentTypes.js
Тип контента -- это блок вашего урока с предустановленным:
- названием
- видом интерактивности
- стилизацией
```javascript=
export default {
'default': {
interactivity: 'oneLineOneFile'
},
'слова': {
style: {
alignItems: 'center'
}
},
'грамматика': {
interactivity: 'inText'
},
'аудирование': {
interactivity: 'timing'
}
}
```
Эти типы будут выставлены для одноименных заголовков 3-го уровня (с 3 решётками впереди).
Допустим, в файле `content.md` у вас есть урок с такими разделами:
```
## Lesson 2
### Слова
(content of words)
### Фразы
(content of phrases)
### Грамматика
(content of grammar)
### Аудирование
(conntent of listening)
```
Для `слова` и `фразы` сработает умолчание `default` и установлена интерактивность `oneLineOneFile`. Блок `слова` будет выровнен по центру. Для раздела `грамматика` выставится интерактивность `inText`, а для `аудирование` -- интерактивность `timing`
## Нестандартные названия
Если вы хотите использовать внутри уроков разные названия для отнотипных блоков, то указывайте тип рядом в квадратных скобках.
Например, вместо однотипного `Слова`: `Фрукты [слова]`, вместо однотипного `Фразы`: `В супермаркете [фразы]` и т.д.
## Уроки без разделов
Если вы не используете подзаголовки 3-го уровня, то есть внутри уроков у вас нет разделов, то всё описанное выше будет действовать на заголовки 2-го уровня.
Допустим вы делаете разговорник, где каждая страница - это некоторая жизненная ситуация и фразы из неё.
Тогда ваш файл `src/config/contentTypes.js` будет выглядеть так:
```javascript=
export default {
'default': {
interactivity: 'oneLineOneFile'
}
}
```
А файл `content.md` будет таким:
```
# Разговорник
(информация о приложении)
## Приветствие и знакомство
(список фраз)
## Покупки
(список фраз)
## Семья
(список фраз)
```