- - - - Схлопнуто для краткости - - - -
```
**Внимание**: начало и конец схлопнуты для краткости.
Как видите, оба файла выглядят практически так же, как и файлы `item.template`, рассмотренные [ранее][prev].
Изменения следующие:
* новые URL страниц в директории `page` и первой страницы с предпросмотрами в директории `blog`
* заголовок используется внутри секции `contents` в качестве ссылки на полную заметку блога
* дата используется для подчёркивания временной зависимости между заметками блога
Дату мы получаем из константы `PSKOV_ITEM_DATE`:
| Константа ПСКОВА | Описание |
|---|---|
| `PSKOV_ITEM_DATE` | Значение ключа `Date` файла Markdown |
## 04. Изучите шаблоны предпросмотров
* Содержимое `en/blog/preview.template`:
```
- - - - Схлопнуто для краткости - - - -
```
**Замечания**:
* начало и конец схлопнуты для краткости
* константа `PSKOV_INDEX_URL` используется для выбора языка
Новые константы **ПСКОВА**:
| Константа ПСКОВА | Описание |
|---|---|
| `PSKOV_INDEX_URL` | Предоставляет генерируемое имя файла страницы с предпросмотрами: `.html` |
| `PSKOV_PREVIEWS` | Предоставляет набор предпросмотров |
| `PSKOV_PAGINATION` | Предоставляет секцию для перехода между страницами с предпросмотрами |
## 06. Изучите постраничные шаблоны
Постраничные шаблоны являются секциями HTML для перехода между страницами с предпросмотрами.
Существует три постраничных шаблона:
| Постраничный шаблон | Описание |
|---|---|
| Предыдущий | Посетитель может перейти лишь назад |
| Следующий | Посетитель может перейти лишь вперёд |
| Оба | Посетитель может перейти либо вперёд, либо назад |
Рассмотрим английские постраничные шаблоны:
* Содержимое `en/blog/pagination.prev.template`:
```
```
Новые константы **ПСКОВА**:
| Константа ПСКОВА | Описание |
|---|---|
| `PSKOV_PAGE_ID` | Предоставляет порядковый номер страницы с предпросмотрами, начиная с `1` |
| `PSKOV_PAGES_COUNT` | Предоставляет количество сгенерированных страниц с предпросмотрами |
| `PSKOV_PREV_PAGE_URL` | Предоставляет имя файла предыдущей страницы с предпросмотрами |
| `PSKOV_NEXT_PAGE_URL` | Предоставляет имя файла следующей страницы с предпросмотрами |
## 07. Изучите файлы Markdown
Файлы Markdown являются заметками блога, они похожи на файлы Markdown обычных страниц. Вот как выглядит содержимое `en/blog/1885.md`:
```
Title: Bullocks
Date: 1885
Slug: 1885.01.bullocks
![Bullocks][bullocks]
I've been painting "Bullocks" sketch while I was staying in Odessa at Kuznetsov's in 1885.
[bullocks]: https://upload.wikimedia.org/wikipedia/commons/c/cb/Walentin_Aleksandrovich_Serov_Bullocks.jpg
```
Заметки блога сортируются по дате: новые заметки размещаются перед старыми.
| Ключ заголовка | Описание |
|---|---|
| `Date` | Предоставляет значение для константы `PSKOV_ITEM_DATE` при генерации HTML из Markdown |
## 08. Запустите ЛФСД
Запустите [ЛФСД][lfsa] с указанием директории, содержащей только что рассмотренные файлы:
```
$ /путь/до/lfsa_1.0.0.py /путь/до/директории/03.Blog
```
## 09. Сгенерируйте сайт
Перейдите на страницу [Инструмент][tool] и нажмите кнопку `Генерировать` для генерации файлов HTML рядом с файлами Markdown.
## 10. Проверьте сайт
Проверьте сгенерированный веб-сайт локально: откройте файл `ru/blog/index.html` или `en/blog/index.html` и осуществите переход между страницами предпросмотра.
## 11. Итог
Вы успешно сгенерировали веб-сайт с "динамическими" страницами блога. [Проверьте результат][03-sample].
Представлены константы **ПСКОВА**:
| Константа ПСКОВА | Описание |
|---|---|
| `PSKOV_ITEM_DATE` | Значение ключа `Date` файла Markdown |
| `PSKOV_PREVIEW` | Предоставляет содержимое файла Markdown, ограниченное `previewSize` символами (приблизительно) |
| `PSKOV_INDEX_URL` | Предоставляет генерируемое имя файла страницы с предпросмотрами: `.html` |
| `PSKOV_PREVIEWS` | Предоставляет набор предпросмотров |
| `PSKOV_PAGINATION` | Предоставляет секцию для перехода между страницами с предпросмотрами |
| `PSKOV_PAGE_ID` | Предоставляет порядковый номер страницы с предпросмотрами, начиная с `1` |
| `PSKOV_PAGES_COUNT` | Предоставляет количество сгенерированных страниц с предпросмотрами |
| `PSKOV_PREV_PAGE_URL` | Предоставляет имя файла предыдущей страницы с предпросмотрами |
| `PSKOV_NEXT_PAGE_URL` | Предоставляет имя файла следующей страницы с предпросмотрами |
Представлены ключи настроек:
| Ключ | Описание |
|---|---|
| `preview` | Указывает на шаблон HTML, используемый для генерации предпросмотра HTML из первых `previewSize` (приблизительно) символов для каждого файла Markdown |
| `index` | Указывает на шаблон HTML, используемый для генерации страницы с предпросмотрами |
| `paginationPrev` | Указывает на шаблон HTML, используемый для генерации секции с переходом лишь на предыдущую страницу |
| `paginationNext` | Указывает на шаблон HTML, используемый для генерации секции с переходм лишь на следующую страницу |
| `paginationPrevNext` | Указывает на шаблон HTML, используемый для генерации секции с переходами по страницам |
| `previewSize` | Количество символов (приблизительное) из файла Markdown, используемое для генерации предпросмотра |
| `previewEnding` | Строка для добавления в конец каждого предпросмотра |
| `previewsPerPage` | Максимальное количество предпросмотров, умещающееся на странице с предпросмотрами |
| `previewsPageBaseName` | Базовое имя файла для страниц с предпросмотрами |
Представлены ключи заголовка:
| Ключ заголовка | Описание |
|---|---|
| `Date` | Предоставляет значение для константы `PSKOV_ITEM_DATE` при генерации HTML из Markdown |
Это был последний документ, призванный научить вас уверенно владеть генератором статических сайтов **ПСКОВ**. Если вам нравится наш труд, присоединяйтесь к нам в [VK][vk], [Twitter][tw] или [Facebook][fb].
А теперь используйте **ПСКОВ** для генерация своего собственного веб-сайта!