Скан без текстового слоя распознан вручную постранично, 184 блока: подготовка, фазы раунда, приказы, орбитальный удар, битва, отступление, создание игрового поля. Лор и обложка не перенесены (перечислены в шапке). #6 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LqSoRj99iwVEH5U5fnZgsd
Правила Forbidden Stars в Markdown
Текст правил, разбитый на логические блоки. Из него строится поиск по правилам (веха v1.6): на блоки навешиваются теги и синонимы (#7), затем их индексирует Meilisearch (#10).
| Файл | Источник | Страниц | Блоков |
|---|---|---|---|
| rules.md | буклет «Правила игры» — fs_rules_rus_web.pdf |
16 | 184 |
| reference.md | буклет «Справочник» — fs_reference_rus_web.pdf |
20 | 427 |
| cards-faq.md | «Уточнение карт», декабрь 2020 — Уточнение_карт_Forbidden_Stars_декабрь2020.pdf |
12 | 93 |
PDF в репозитории нет: они лежат вложениями в задаче #6. Правила и справочник — сканы без текстового слоя, их текст распознан вручную по страницам. У «Уточнения карт» текстовый слой есть, он взят за основу и сверен со страницами. Что не перенесено (обложки, художественный текст, содержание), сказано в шапке каждого файла.
Блок
Блок — наименьшая единица поиска: абзац под заголовком источника, пункт списка статьи справочника или одна карта в уточнениях. Блок начинается маркером — HTML-комментарием, который при отображении не виден:
<!-- block: rules.battle.retreat.attacker; page: 15 -->
#### Атакующий отступает
Когда атакующий отступает, он должен переместить…
- Граница блока — маркер. Блок тянется до следующего маркера. Заголовок внутри блока относится к нему. Если у абзаца нет своего заголовка, блок начинается прямо с текста.
- Контекст блока — цепочка заголовков над ним:
#— файл,##— раздел или статья глоссария,###/####/#####— подразделы. Первый блок раздела несёт его заголовок. - Нумерованные шаги (подготовка к игре, шаги битвы) — отдельные блоки, заголовок шага
сохраняет номер источника:
### 2. Раунд битвы,#### а. Выберите Боевую Карту. - Список остаётся одним блоком вместе с вводной фразой, если пункты не имеют смысла по отдельности. В справочнике каждый пункт статьи — самостоятельное правило, поэтому каждый пункт — свой блок.
Поля маркера
| Поле | Обязательно | Значение |
|---|---|---|
block |
да | постоянный id блока, уникальный во всей папке |
page |
да | страница PDF; 4-5, если блок переходит на следующую страницу |
kind |
нет | тип не-правила (см. ниже); без kind блок — правило |
Id
<файл>.<раздел>[.<подраздел>…] — латиница в нижнем регистре, слова через дефис, смысловые
английские слаги: rules.orders.advance.limits, ref.retreats.defender.not-attacker-system,
faq.eldar.combat.psychic-lance. Префикс: rules., ref., faq.. Вложенность id повторяет
вложенность заголовков, но не обязана совпадать с ней буквально.
Id постоянны. К ним привязываются теги, синонимы и ссылки «см. также» (#7), а через них — поисковый индекс. Исправлять текст блока можно свободно. Id переименовывать нельзя: новый блок получает новый id, а id удалённого блока больше не используется.
kind
| Значение | Что это |
|---|---|
example |
врезка «Пример…» — иллюстрирует правило, но и сама может его уточнять |
caption |
подпись к схеме или иллюстрации. Если схема без подписи несёт информацию (например, раскладка тайлов), её описание составлено при переносе и выделено курсивом |
related |
строка «Связанные темы» из справочника — готовые связи между статьями |
Текст
- Дословно, включая опечатки и авторскую пунктуацию источника. Ссылки «см. … на стр. N» — номера страниц буклета.
- Переносы склеены, колонки и врезки выведены в порядке чтения.
- Выделение источника сохранено: жирный —
**…**, курсив —*…*. - Художественный текст (лор) не переносится.
Значки
Значки внутри текста передаются словом в квадратных скобках. При отображении их можно заменить картинкой, а для поиска они остаются словами.
| Запись | Значок |
|---|---|
[атака], [защита], [мораль] |
боевой значок на любом компоненте (мораль — боевой дух, аквила) |
[куб: атака], [куб: защита], [куб: мораль] |
значок на грани боевого куба |
[куб] |
куб, который нужно бросить |
[жетон: атака], [жетон: защита] |
боевой жетон (значок в круге) |
[ресурс: кузница], [ресурс: запасы], [ресурс: подкрепление], [ресурс: процветание] |
значок ценного ресурса на знамени мира |
[приказ: развертывание], [приказ: планирование], [приказ: доминирование], [приказ: продвижение] |
жетон приказа |
Проверка
Формальная проверка файлов (выполнялась при переносе, в репозиторий не входит): у каждого маркера корректный формат, id уникален и имеет префикс своего файла, страница — в пределах PDF, у каждого блока есть текст, каждая непропущенная страница дала хотя бы один блок, в тексте только значки из таблицы выше, нет висячих переносов.