В этом документе мы добавим выбор языка.
Ожидаемое время завершения: 10 минут.
Содержание
pskov.cfg
Теперь, когда у вас есть собственный веб-сайт на английском, вы задумываетесь о русской версии, ведь вы же всё-таки русский!
Вы создаёте директорию со следующей структурой файлов:
pskov.cfg
en/item.template
en/about.md
en/cv.md
ru/item.template
ru/about.md
ru/cv.md
Давайте взглянем на содержимое этих файлов.
pskov.cfg
Файл pskov.cfg
содержит следующее:
input = en;ru
item = item.template
Как видите, input
может принимать несколько директорий, разделённых символом ;
. ПСКОВ обработает каждую указанную директорию так же, как и ранее.
В нашем случае каждая из директорий - en/
и ru/
- содержит собственный шаблон item.template
.
Содержимое en/item.template
:
- - - - Схлопнуто для краткости - - - -
<title>Serov</title>
</head>
<body>
<div id="header">
<strong>Serov</strong>
<a href="about.html">About me</a>
<a href="cv.html">CV</a>
<div id="lang">
<a href="../en/PSKOV_ITEM_URL">EN</a>
<a href="../ru/PSKOV_ITEM_URL">RU</a>
</div>
</div>
<center>
- - - - Схлопнуто для краткости - - - -
Содержимое ru/item.template
:
- - - - Схлопнуто для краткости - - - -
<title>Серов</title>
</head>
<body>
<div id="header">
<strong>Серов</strong>
<a href="about.html">Обо мне</a>
<a href="cv.html">Резюме</a>
<div id="lang">
<a href="../en/PSKOV_ITEM_URL">EN</a>
<a href="../ru/PSKOV_ITEM_URL">RU</a>
</div>
</div>
<center>
- - - - Схлопнуто для краткости - - - -
Внимание: начало и конец схлопнуты для краткости.
Как видите, en/item.template
и ru/item.template
очень похожи на виденный ранее item.template
.
Изменения следующие:
<div id="lang">...</div>
для отображения выбора языкаВыбор языка использует следующую новую константу ПСКОВА:
Константа ПСКОВА | Описание |
---|---|
PSKOV_ITEM_URL |
Предоставляет имя файла генерируемой страницы |
Использование PSKOV_ITEM_URL
даёт вам поддержку стольких языков, сколько пожелаете.
Файлы en/about.md
и en/cv.md
выглядят почти идентично виденным ранее. ru/about.md
и ru/cv.md
представляют собой русские версии соответствующих английских страниц.
Например, ru/cv.md
содержит:
Title: Резюме
Slug: cv
Здесь вы можете увидеть моё резюме в том случае, если мои произведения всё ещё вас интересуют. Я использовал современный подход ИТ для структурирования своего резюме в виде пар ключ-значение словаря (карты). Наслаждайтесь!
| Ключ | Значение |
|---|---|
| Имя | Валентин Серов |
| Возраст | 46 |
| Семейное положение | Женат |
| Страна | Российская Империя |
| Учёба | Императорская Академия художеств |
| Звания | * академик ИАХ (1898) <br> * действительный член ИАХ (1903) |
Внимание: русская страница использует точно такое же значение Slug
, как и английская страница.
Запустите ЛФСД с указанием директории, содержащей только что рассмотренные файлы:
$ /путь/до/lfsa_1.0.0.py /путь/до/директории/02.Language
Сгенерируйте сайт:
Генерировать
en/about.html
или ru/about.html
из директории сайтаВы успешно добавили выбор языка. Проверьте результат.
Представлены константы ПСКОВА:
Константа ПСКОВА | Описание |
---|---|
PSKOV_ITEM_URL |
Предоставляет имя файла генерируемой страницы |