Skip to content

About

Ресурсы Бесконечного Лета и сообщества, использующиеся на сайте ES Doc

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

160 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

es-doc-assets

Контент и данные для сайта документации по моддингу «Бесконечного лета» (Everlasting Summer): статьи, каталог ресурсов игры, списки художников, учебных материалов и новостных площадок.

Серверная конфигурация

config.yaml — конфигурация самого сайта. Она хранится в этом репозитории, чтобы тексты баннеров, названия их состояний, сообщения об ошибках и ссылки поддержки менялись вместе с контентом. Пути к локальным каталогам и кэшу в неё не входят: их задаёт .env в репозитории приложения es-doc.

Деплой

После push в main GitHub Actions подключается к серверу по SSH, пересобирает контейнер web из Git-копии приложения es-doc с ASSETS_REF, равным SHA этого push, и ждёт успешного health check. Отдельный Git-клон es-doc-assets на сервере не нужен: Dockerfile приложения загружает содержимое во время сборки.

В GitHub Environment production этого репозитория нужны secrets DEPLOY_HOST, DEPLOY_USER, DEPLOY_PATH, DEPLOY_SSH_KEY и DEPLOY_KNOWN_HOSTS — те же значения, что используются в es-doc. DEPLOY_PATH указывает на Git-копию приложения с compose.production.yaml и .env.production. Если в окружении включено обязательное одобрение, GitHub приостановит деплой до него.

Ресурсы сообщества

Чтобы добавить ресурс, положите файл в папку категории внутри community/. Для изображений доступны images/bg, images/cg, images/anim, images/sprites (или короткие bg, cg, anim, sprites); для звука — sound/music, sound/ambience, sound/sfx (или music, ambience, sfx). Внутри них можно создавать вложенные папки. Изображения: JPG, PNG, WebP, GIF. Аудио: OGG, MP3, WAV, Opus. Каталог обновляется по файлам, объявления Ren'Py не нужны.

Подписи добавляются в community-descriptions.yaml по пути относительно community/:

sound/ambience/cave.ogg:
  title: 'Пещера'
  description: 'Фоновая музыка для подземных сцен.'
  captions:
    - 'Автор: Имя автора'
    - 'Лицензия: CC BY 4.0'

Все поля необязательны. Если у музыкального файла нет title, плеер покажет путь /resource/community/sound/ambience/cave.ogg. descriptions.yaml и game/resources.rpy по-прежнему относятся только к ресурсам игры.

Пользовательские спрайты со слоями

Группы спрайтов добавляются в community-sprites.json в корне репозитория. Каждая группа содержит автора, описание и список вариантов:

{
  "groups": {
    "Лена в полицейской форме": {
      "author": {"name": "Имя художника", "link": "https://example.com/artist"},
      "description": "Спрайт из модификации «Главный Атрибут Пионера»",
      "variations": [
        {
          "name": "Улыбается",
          "distances": {
            "normal": [
              "/resource/raw/images/sprites/normal/un/un_1_body.png",
              "/resource/community/sprites/lena_police/normal/clothes.png",
              "sprites/lena_police/normal/smile.png"
            ],
            "close": ["sprites/lena_police/close/smile.png"],
            "far": ["sprites/lena_police/far/smile.png"]
          }
        }
      ]
    }
  }
}

Это пример структуры; пользовательские изображения из него нужно добавить отдельно. groups — объект, ключи которого становятся названиями групп. author и description необязательны, можно оставить пустые строки. Ссылка автора принимает HTTP(S). Названия вариантов внутри группы уникальны.

Каждая дистанция — непустой массив из одного или нескольких файлов. Слои накладываются в порядке массива: тело, одежда, эмоция. Все слои одной дистанции должны иметь одинаковые размеры и совмещаться от левого верхнего угла. Готовый спрайт укажите одним файлом. Поддерживаются PNG, WebP и JPG; прозрачные слои сохраняйте в PNG или WebP.

Относительный путь считается от community/. Префикс /resource/community/ тоже указывает на community/, а /resource/raw/ — на game/, поэтому можно переиспользовать тело и эмоции оригинальных персонажей. Пути пишутся через /; внешние URL и выход из этих папок запрещены.

Можно указать любую часть дистанций normal, close, far. Первой показывается normal, при её отсутствии — close или far. Комментарии // в JSON недопустимы.

Каталог показывается в /resources/community/sprites с автором, описанием, переключением дистанций, просмотром и скачиванием собранного WebP. Названия, описание и автор участвуют в поиске. Изменения каталога и изображений подхватываются без перезапуска. Ошибочные дистанции пропускаются с записью в журнал; при повреждённом JSON сохраняется прежний каталог. Чтобы очистить каталог, задайте {"groups": {}} или удалите файл. Одиночные изображения остаются доступны; слои, использованные в каталоге, отдельно в списке спрайтов не дублируются.

Полезные материалы и книги

Каталог /materials хранится в materials.yaml. Категория содержит name, items и, при необходимости, вложенные sections той же структуры. Новый материал добавляется одной записью:

- title: Автор — «Название книги»
  url: https://example.org/book/read
  url_label: Читать онлайн
  access: Полный текст
  description: Краткое пояснение
  files:
    - path: writing/book.pdf
    - path: writing/book.epub
      label: EPUB для читалки

Все поля, кроме title, необязательны. url указывает непосредственно на чтение по HTTP(S); url_label задаёт подпись ссылки. Без url_label ссылка остаётся в названии материала. Для ознакомительного отрывка используйте url_label: Читать онлайн и access: Фрагмент. Для полной книги укажите access: Полный текст. Источник и язык в подписи не указываются.

Файлы положите в materials/: например, materials/writing/book.pdf. В files указывайте путь относительно этой папки, через /. Можно записать короче: files: [writing/book.pdf, writing/book.epub]. Название формата для кнопки «Скачать» берётся из расширения; label позволяет его уточнить. Допускаются несколько форматов, только файлы, только ссылка или оба варианта. Файлы выдаются как вложения, поэтому PDF тоже можно скачать, а не только открыть в браузере. Загрузка новых файлов выполняется через репозиторий.

Сайт показывает кнопки только для существующих файлов и отдаёт только перечисленные в каталоге вложения. Пути за пределами materials/ запрещены. Изменения YAML и добавление/удаление файлов обновляют каталог без перезапуска.

Лицензии

В репозитории соседствуют материалы с разными правовыми режимами. Читайте внимательно перед тем, как что-либо переиспользовать.

Ресурсы игры «Бесконечное лето» принадлежат Soviet Games и распространяются на условиях Creative Commons Attribution-NonCommercial-ShareAlike. GPL на них не распространяется, подробности и условия в NOTICE.md.

Правообладателям

Претензии по размещённым материалам пишите в issues.

About

Ресурсы Бесконечного Лета и сообщества, использующиеся на сайте ES Doc

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages