← Монастыри и центры

Публиковать в календаре

Монастыри, линии и центры Дхармы, которые уже есть в календаре, могут сами публиковать в нём свои события, годовщины учителей и дни линии, а также слово на день. Для этого нужен один файл простого формата. Его можно заполнить вручную по шаблону, проверить на этом сайте и отправить письмом; помощник ИИ — только по желанию.

Кто может публиковать

Общины, которые уже есть в календаре. Редактор сообщает каждой общине её идентификатор — короткое имя латиницей, которое пишут в поле source. Если вашей общины в календаре ещё нет, сначала подайте заявку.

Подать заявку

Что можно публиковать

  • События — друбчены, ретриты, семинары, учения, пуджи: даты, время, место, короткий текст и ссылка.
  • Годовщины учителей и дни линии. Их указывают один раз по тибетской дате — месяц и день, — и они повторяются каждый год: западную дату календарь вычисляет сам.
  • Слово на день — цитата, наставление или напоминание на определённую дату или каждый год на тибетскую дату. У цитаты всегда указан источник. Таких записей может быть много, хоть каждый день, — но не больше трёх на одну дату.

К любой записи можно добавить одно изображение — с подтверждением прав и подписью автора.

Правила

Календарь существует для практики, поэтому требования простые и строгие:

  1. Только подлинное содержание Дхармы: практика, учение, жизнь общины.
  2. Без рекламы, цен, продажи, просьб о пожертвованиях или спонсорстве, политики, критики других учителей и традиций, обещаний исцеления.
  3. Ничего выдуманного: ни дат, ни биографий, ни цитат, ни авторства, ни титулов.
  4. Каждая цитата называет автора, а также книгу и переводчика, если они есть.
  5. Ваши собственные тексты на ваших языках. Мы ничего не переводим машиной; машинный перевод, который вы сделали сами, публикуется, только если его одобрит редактор.
  6. Никаких частных контактов в публичных текстах.

Тибетские даты

Указывайте месяц и день так, как их держит ваша линия. Западную дату мы вычисляем каждый год сами — по системе Пхугпа (Мен-Ци-Кханг), как и для всего календаря: практику пропущенного дня переносят на следующий, а из сдвоенных дней отмечают первый.

Бывает, что месяц сдвоенный. На такой год укажите в leapMonth, какую половину отмечает ваша община: first — первую (так будет, если ничего не указать), second — вторую, both — обе.

Не пересчитывайте тибетскую дату в западную и не добавляйте год — ни для годовщин, ни для ежегодных записей. Проверка покажет, на какие дни они придутся в ближайшие годы.

Если ваша линия держится другого альманаха (например, Цурпху), публикуйте эти дни как события с конкретными датами.

Лосар, четыре Дучена, дни Гуру Ринпоче, полнолуния и новолуния уже есть в календаре — не добавляйте их как годовщины, даже если община называет такой день днём линии. То, что община делает в этот день, публикуйте как событие или как ежегодное слово на день.

Практику, которую община выполняет каждый месяц в определённый лунный день (скажем, в каждое полнолуние), подавайте либо событиями — по одному на дату, с датами из вашего альманаха, — либо двенадцатью ежегодными записями (месяцы 1–12, тот же день), каждая с leapMonth: both, чтобы в сдвоенный месяц она появилась в обеих половинах.

Файл шаг за шагом

Файл — это JSON в кодировке UTF-8, до 2 МБ. Назовите его так: идентификатор-дата.json, например example-2026-11-02.json. Полей, которых нет в формате, быть не может: чаще всего это опечатки, и данные в них потерялись бы незаметно.

Публичные тексты записывают по языкам: { "ru": "…", "en": "…" }. Каждый язык текста должен быть в languages или machineTranslated, а язык самой записи — обязательно. Только обычный текст, без HTML.

Проще всего начать с шаблона template.v1.json: в нём по одной записи каждого вида, а всё, что нужно заменить, начинается с REPLACE:. Замените и образцы — your-community-id, you@example.org, адреса https://example.org/…, your-picture.jpg; даты, время и тибетские месяц и день в шаблоне — только примеры. Проверка заметит и REPLACE:, и эти образцы, но не даты: их сверьте сами.

Файл в целом

ПолеОбязательноеЧто этоОграничение · Пример
$schemaОбязательное: нетАдрес схемы: с ним редактор кода проверяет файл, пока вы пишете."https://…/schema.v1.json"
formatОбязательное: даВсегда именно эта строка."firstbuddha-sangha-contribution"
versionОбязательное: даВерсия формата.1
sourceОбязательное: даИдентификатор общины, который дал редактор.a–z 0–9 -, 2–32"example"
communityОбязательное: нетНазвание и сайт общины — для редактора.name ≤ 120{ "name": "…", "website": "https://…" }
contactОбязательное: даКто отправляет: имя, почта, роль. Не публикуется.name ≤ 120 · email ≤ 254 · role ≤ 80{ "name": "…", "email": "…", "role": "…" }
confirmОбязательное: даОба true: вы уполномочены говорить от имени общины, и у общины есть право публиковать эти тексты и изображения.{ "authorised": true, "rights": true }
languagesОбязательное: даЯзыки, на которых община пишет сама; первый — основной.1–8["en", "uk"]
machineTranslatedОбязательное: нетЯзыки, которые есть только машинным переводом по вашей просьбе.["ru"]
zoneОбязательное: при условииЧасовой пояс событий (название IANA). Обязателен, если у какого-то события указано время.IANA"Europe/Kyiv"
partОбязательное: нетНомер части, если файл разделён.of ≤ 20{ "n": 1, "of": 2 }
entriesОбязательное: даЗаписи: события, годовщины, слово на день.≤ 1000: event ≤ 300 · anniversary ≤ 100 · note ≤ 800[ … ]
Из файла-примера:
{
  "$schema": "https://www.firstbuddha.space/sangha/contribute/schema.v1.json",
  "format": "firstbuddha-sangha-contribution",
  "version": 1,
  "source": "example",
  "community": {
    "name": "Example Dharma Centre",
    "website": "https://example.org"
  },
  "contact": {
    "name": "Name Surname",
    "email": "office@example.org",
    "role": "Secretary"
  },
  "confirm": {
    "authorised": true,
    "rights": true
  },
  "languages": [
    "en",
    "uk"
  ],
  "zone": "Europe/Kyiv",
  "entries": [ … ]
}

Любая запись (в списке entries)

ПолеОбязательноеЧто этоОграничение · Пример
typeОбязательное: даВид записи."event" · "anniversary" · "note"
idОбязательное: даИдентификатор записи. Не меняйте его, когда отправляете файл снова.a–z 0–9 -, ≤ 64"2026-tara-retreat"
langОбязательное: нетЯзык, на котором запись написана изначально; без него — первый из languages."en"
urlОбязательное: нетСсылка на страницу записи.https://, ≤ 2048"https://example.org/tara-2026"
imageОбязательное: нетОдно изображение (см. ниже).{ "file": "tara-retreat.jpg", … }

Событие — type: "event"

ПолеОбязательноеЧто этоОграничение · Пример
kindОбязательное: даВид события (список ниже)."ritual"
titleОбязательное: даНазвание.≤ 160{ "en": "Green Tara retreat" }
subtitleОбязательное: нетПодзаголовок; только на тех языках, на которых есть название.≤ 200
summaryОбязательное: нетКоротко, одно-два предложения.≤ 400
descriptionОбязательное: нетПодробное описание. Сохраняется, но приложение его не показывает.≤ 3000
locationОбязательное: нетГде именно: зал, храм, город.≤ 200{ "en": "Main shrine hall" }
zoneОбязательное: нетДругой часовой пояс для этого события.IANA"Asia/Kathmandu"
allDayОбязательное: даtrue — событие на весь день, без времени.false
startDateОбязательное: даПервый день.YYYY-MM-DD"2026-12-04"
endDateОбязательное: нетПоследний день, включительно; без него — тот же, что startDate.YYYY-MM-DD"2026-12-06"
startTimeОбязательное: при условииВремя начала; обязательно, если allDay — false.HH:MM"09:00"
endTimeОбязательное: нетВремя окончания.HH:MM"17:00"
dailyОбязательное: нетДля события со временем на несколько дней: true — каждый день отдельное занятие с startTime до endTime. false — один непрерывный промежуток от startTime первого дня до endTime последнего; так же будет, если daily не указать, поэтому для таких событий указывайте его всегда.true
videoUrlОбязательное: нетСсылка на трансляцию или запись.https://
registrationОбязательное: нетrequired — нужна регистрация, none — не нужна."required"
statusОбязательное: нетcancelled — событие отменено."cancelled"

Виды событий (kind):

  • teaching — Учения
  • ritual — Пуджи и практики
  • monastic — Монашеская община
  • course — Курсы
  • class — Занятия
  • community — Жизнь общины и служение
  • other — Другое
Из файла-примера:
{
  "type": "event",
  "id": "2026-tara-retreat",
  "kind": "ritual",
  "title": {
    "en": "Green Tara retreat",
    "uk": "Ретрит Зеленої Тари"
  },
  "summary": {
    "en": "Three days of Tara practice with the resident lama.",
    "uk": "Три дні практики Тари з ламою громади."
  },
  "location": {
    "en": "Main shrine hall",
    "uk": "Головна святиня"
  },
  "allDay": false,
  "startDate": "2026-12-04",
  "endDate": "2026-12-06",
  "startTime": "09:00",
  "endTime": "17:00",
  "daily": true,
  "registration": "required",
  "url": "https://example.org/tara-2026",
  "image": {
    "file": "tara-retreat.jpg",
    "credit": "Photo: Example Dharma Centre",
    "rightsConfirmed": true,
    "alt": {
      "en": "Statue of Green Tara on the shrine",
      "uk": "Статуя Зеленої Тари на вівтарі"
    }
  }
}

Годовщина — type: "anniversary"

ПолеОбязательноеЧто этоОграничение · Пример
titleОбязательное: даНазвание.≤ 160{ "en": "Lineage day" }
subtitleОбязательное: нетПодзаголовок; только на тех языках, на которых есть название.≤ 200
summaryОбязательное: нетКоротко, одно-два предложения.≤ 400
tibetanОбязательное: даТибетский месяц и день; leapMonth — first, second или both.month 1–12 · day 1–30{ "month": 3, "day": 10 }
Из файла-примера:
{
  "type": "anniversary",
  "id": "founding-teacher-parinirvana",
  "title": {
    "en": "Parinirvana of our founding teacher",
    "uk": "Паринірвана засновника громади"
  },
  "tibetan": {
    "month": 3,
    "day": 10
  }
}

Слово на день — type: "note"

ПолеОбязательноеЧто этоОграничение · Пример
kindОбязательное: даquote — цитата, instruction — наставление, reminder — напоминание."quote"
titleОбязательное: нетЗаголовок.≤ 120
textОбязательное: даСам текст; переносы строк (стихи) сохраняются.≤ 600
attributionОбязательное: при условииОткуда: author — автор (для цитаты обязательно), work — произведение, ref — страница или глава, translator — переводчик.author ≤ 120 · work ≤ 200 · ref ≤ 80 · translator ≤ 120{ "author": { "en": "…" }, "ref": "p. 12" }
dateОбязательное: одно из двухОдин раз, в этот день. На одну дату — не больше трёх записей «слово на день».YYYY-MM-DD"2026-12-01"
tibetanОбязательное: одно из двухКаждый год, в этот тибетский день.month 1–12 · day 1–30{ "month": 9, "day": 15 }
Из файла-примера:
{
  "type": "note",
  "id": "2026-12-01-quote",
  "kind": "quote",
  "date": "2026-12-01",
  "text": {
    "en": "The words of the quote, exactly as they are published.",
    "uk": "Слова цитати — так, як їх надруковано."
  },
  "attribution": {
    "author": {
      "en": "Name of the teacher",
      "uk": "Імʼя вчителя"
    },
    "work": {
      "en": "Title of the book",
      "uk": "Назва книжки"
    },
    "ref": "p. 12"
  }
}

Изображение — image

ПолеОбязательноеЧто этоОграничение · Пример
fileОбязательное: одно из двухИмя файла изображения, который вы прикладываете к письму. Только латинские буквы, цифры, точка, дефис и подчёркивание, без пробелов: tara-retreat.jpg..jpg .jpeg .png .webp .heic"tara-retreat.jpg"
urlОбязательное: одно из двухИли адрес изображения, уже опубликованного для вашей общины.https://www.firstbuddha.space/media/sangha/…
creditОбязательное: даПодпись: кто автор.≤ 120"Photo: Example Dharma Centre"
rightsConfirmedОбязательное: даtrue — у вас есть право публиковать это изображение.true
altОбязательное: нетЧто на изображении — для тех, кто его не видит.≤ 200{ "en": "…" }
Из файла-примера:
{
  "file": "tara-retreat.jpg",
  "credit": "Photo: Example Dharma Centre",
  "rightsConfirmed": true,
  "alt": {
    "en": "Statue of Green Tara on the shrine",
    "uk": "Статуя Зеленої Тари на вівтарі"
  }
}

Часовой пояс

Время событий — местное время общины. Укажите пояс в zone названием IANA: Europe/Kyiv, Asia/Kathmandu, America/New_York. Читатели в других поясах увидят событие в своём времени.

Идентификаторы

id записи остаётся тем же, когда вы отправляете файл снова: так календарь понимает, что это та же запись, изменённая, а не новая. Пишите его строчными латинскими буквами, цифрами и дефисами: 2026-tara-retreat, tulku-urgyen-parinirvana. От 1 до 64 знаков, без дефиса в начале и в конце; каждый id — только один раз во всём файле, среди событий, годовщин и слов на день вместе.

Файл заменяет всё прежнее

Каждый файл — полный снимок. Он заменяет всё, что община присылала раньше: записей, которых нет в новом файле, в календаре больше не будет.

Части

Слишком длинный файл (например, сотни записей «слово на день») можно разделить на части, до 20. Каждая часть — полный правильный файл с теми же source, contact, confirm, languages, machineTranslated и zone и полем part: { "n": 1, "of": 3 }. Отправляйте все части вместе.

Регулярные занятия

Регулярные занятия перечислите как отдельные события, по одному на дату, — до 300 событий. Если община ведёт календарь iCal или Google, лучше дайте нам его адрес.

Разное время в разные дни

Если у дней события разное время (суббота 10:00–18:00, воскресенье 10:00–14:00), сделайте отдельную запись на каждый день с тем же title или один промежуток от начала первого дня до конца последнего (daily: false). Не выбирайте одно время для всех дней.

Изображения

Только фотографии, которые вы сделали сами или на публикацию которых у вас есть письменное разрешение. Для каждого изображения подтвердите права (rightsConfirmed: true) и укажите подпись автора (credit).

JPEG, PNG, WebP или HEIC, до 10 МБ каждое, длинная сторона не меньше 600 пикселей (лучше от 1200). До 60 изображений в одной отправке. Имя файла пишите латиницей — буквы, цифры, точка, дефис, подчёркивание, без пробелов (tara-retreat.jpg); любой другой файл переименуйте перед отправкой.

Мы удаляем из фотографии скрытые данные (место съёмки, камеру), уменьшаем её и публикуем с вашей подписью.

Загрузки

Одни и те же файлы для всех языков:

  • Шаблон — файл для заполненияtemplate.v1.json
  • Пример — заполненный файл вымышленной общиныexample.v1.json
  • Схема JSON — для редакторов кода и автоматической проверкиschema.v1.json

Помощник ИИ (по желанию)

Если материал уже есть — расписание в PDF, посты, таблицы, список цитат, — помощник ИИ может превратить его в такой файл. Это лишь удобство: всё описанное выше работает и без него.

Помощник задаёт уточняющие вопросы (часовой пояс, языки, тибетская или западная дата, права на изображения, источники цитат), напоминает правила и выдаёт один файл в нашем формате и список изображений. Сам он ничего не отправляет: файл проверяете и отправляете вы. Инструкции для помощника написаны по-английски, но говорить он будет на вашем языке.

Claude — навык (zip)
В настройках Claude (Capabilities → Skills) загрузите zip-файл, а затем попросите Claude подготовить файл для Buddhist Calendar.
ChatGPT — инструкции
Создайте собственный GPT или проект, вставьте инструкции и добавьте как знания три файла ниже.
Gemini — инструкции
Создайте Gem, вставьте инструкции и добавьте те же три файла.
Промпт для любого чат-бота
Вставьте его в чат вместе со своим материалом.

Файлы для помощника:

Проверьте и отправьте

  1. Проверьте файл на странице проверки. Файл не покидает вашего браузера.
  2. Отправьте файл (все части) и изображения на burners.reissue3b@icloud.com с темой Sangha file: <id>. Если изображения не помещаются в одно письмо, отправьте несколько писем с той же темой.
  3. Редактор читает каждый файл. Одобренное появляется в календаре со следующим обновлением сайта; неодобренное не публикуется никогда.
  4. Чтобы изменить опубликованное, скачайте свой текущий файл с https://www.firstbuddha.space/api/sangha/v1/<id>/contribution.json, исправьте его, снова добавьте contact и отправьте.

Конфиденциальность

Контактные данные в файле (contact) нужны только для ответа и удаляются ещё до публикации. Всё остальное в файле становится публичным.

Страница конфиденциальности