Georg-Kloster Calendar Workshop

Опис

Додає 22 динамічні блоки Gutenberg і короткі коди. Календарні та біблійні дані надходять із зовнішніх сервісів, перелічених нижче; власної календарної бази даних у плагіні немає.

Вихідний код і розробка

Публічний репозиторій вихідного коду: https://github.com/VAtapin/wp_orthodox_calendar
Вихідні файли JavaScript і CSS: https://github.com/VAtapin/wp_orthodox_calendar/tree/main/assets

Файли assets/admin.js, assets/calendar.js, assets/editor.js, assets/admin.css та assets/calendar.css — оригінальні читабельні вихідні файли, включені до ZIP. WordPress використовує їх безпосередньо. Транспіляції, об’єднання, мініфікації та генерування JavaScript/CSS немає; окремого прихованого дерева вихідного коду немає. Скрипти використовують бібліотеки Gutenberg, надані WordPress, а не власні включені копії.

Редагуйте ці вихідні файли безпосередньо. Для встановлення й розробки плагіна збірка npm не потрібна. Перевіряйте синтаксис JavaScript командами node –check assets/admin.js, node –check assets/calendar.js та node –check assets/editor.js; PHP-файли — командою php -l. Необов’язкове форматування: npx prettier@3.6.2 –write assets/.js assets/.css. Репозиторій містить scripts/build-language-files.mjs для повторного створення каталогів MO за допомогою Node.js. Пакування випусків описано в README.md публічного репозиторію.

Короткі коди

[orthocal_today]
[orthocal_upcoming limit=”5″ filter=”main”]
[orthocal_month year=”2027″ month=”5″]
[orthocal_year year=”2027″]
[orthocal_day date=”2027-05-02″]
[orthocal_readings date=”2027-05-02″]
[orthocal_calendar open=”modal”]
[orthocal_fasting]
[orthocal_saints]
[orthocal_feasts limit=”5″]
[orthocal_memorial]
[orthocal_pascha year=”2027″]
[orthocal_fasts year=”2027″]
[orthocal_date]
[orthocal_texts]
[orthocal_troparia scope=”resurrection” tone=”1″]
[orthocal_kontakia scope=”weekday” weekday=”1″]
[orthocal_prayers]
[orthocal_magnifications]
[orthocal_horologion]

open=”inline|modal|page” задає спосіб відкриття дня; reading_open=”inline|modal” — спосіб відкриття читань. Для окремої сторінки розмістіть на ній [orthocal_day] і оберіть цю сторінку в налаштуваннях. Параметри sections=”fasting,saints,readings,texts,icons”, images=”0|1″ та heading=”0|1″ керують вмістом. Конструктор в адміністративній панелі показує параметри й результат.
image_size=”120″ задає висоту зображення посту в пікселях; ширина зберігає пропорції вихідного зображення. Чинні короткі коди зі значеннями small, medium і large надалі використовують висоти 28, 44 та 72 пікселі.
Довідкова бібліотека містить початковий корпус із 98 церковнослов’янських текстів із джерелами й очікує богослужбової редакторської перевірки. Вона не призначає текст щоденній службі автоматично. Акафісти заплановано в BibleDesktop і ще не підключено.

Загальні параметри: lang=”ru|cu|de|uk|pl”, profile=”typikon-strict|parish”, theme=”book|modern|inherit”, compact=”0|1″ та oldstyle=”0|1″. Часослов використовує захищений маршрут служб і містить вставки шостого часу. Порожня дата означає поточну дату в часовому поясі WordPress. Підтримуються роки 1900–2200.
Фільтри найближчих подій: main (головні та поминальні), twelve (Пасха й дванадесяті свята), great (великі), memorial (поминальні) і all (усі). Пошук охоплює вказану дату та наступні 366 днів; виводиться не більш ніж 10 подій.

Зовнішні сервіси

Календарний API: https://bible-desktop.com/api/v1/calendar/
Використовується для обчислення дат, свят, постів, пам’ятей і посилань на читання. Завантаження блока, його попередній перегляд в адміністративній панелі або зміна дати передають із сервера WordPress дату/період, мову, календарний профіль і параметри відображення/фільтрації. Публічні запити містять X-Calendar-Client: orthocal-wordpress. Для звичайного публічного використання реєстрація та ключ не потрібні.
Умови використання: https://bible-desktop.com/pages/api-terms
Політика конфіденційності: https://bible-desktop.com/pages/api-privacy

API Bible Desktop: https://bible-desktop.com/api/
Використовується для перекладів Біблії, книг, розділів, богослужбових бібліотек, житій і каталогів/зображень ікон. Відкриття читань або бібліотеки передає обраний переклад, книгу/розділ, мову, ідентифікатор твору або параметри сторінок і фільтрів. Для ікон передається календарний місяць/день або ідентифікатор матеріалу/зображення. За відсутності даних у кеші WordPress завантажує зображення й шрифти; запланована перевірка кешу передає умовні HTTP-заголовки. Bible Desktop обчислює календар локально. Попередній ключ Kalendar ніколи не передається новому постачальнику.
Умови використання: https://bible-desktop.com/pages/api-terms
Політика конфіденційності: https://bible-desktop.com/pages/api-privacy

Обидва сервіси отримують IP-адресу сервера, що надсилає запит, час запиту, запитаний ресурс і технічні HTTP-заголовки. Плагін не передає IP-адреси відвідувачів, імена, адреси електронної пошти, паролі WordPress або вміст записів. Віддалені медіафайли кешуються й надаються локально. За наявності чинного запису кешу запити можуть не виконуватися. Повні тексти, ікони та житія не включено до ZIP; відповідні права на матеріали зберігають чинність.
Єдину адресу API Bible Desktop можна змінити в налаштуваннях підключення. Ці посилання описують типових постачальників; адміністратори, які обирають іншого постачальника, мають вивчити його умови використання та політику конфіденційності й повідомити про них користувачам.

Кеш і доступ

Потрібний оновлений календарний API: upcoming, view=summary і заголовок X-Calendar-Application-Cache-TTL.
Успішні календарні відповіді зберігаються лише з дозволу API й не довше ніж 300 секунд; відкликання доступу та зміни бази даних враховуються не пізніше завершення цього строку. Після помилок застарілі дані не використовуються. Відповіді без дозвільного заголовка не зберігаються між запитами.
Біблійні відповіді зберігаються протягом обраних 0, 1, 6 або 24 годин (типово — 24); no-store забороняє зберігання, якщо API окремо його не дозволив. Браузер об’єднує одночасні однакові запити.
Локальні зображення й шрифти зберігаються в uploads/orthocal-cache. Віддалені фотографії зменшуються до 1200 пікселів за довшою стороною та стискаються до розміру не більш ніж 100 КБ перед збереженням. Умовні перевірки ETag/Last-Modified через WP-Cron виконуються кожні 6, 12, 24 або 168 годин (типово — 24). Змінений файл отримує нову URL-адресу з хешем; у разі помилки зберігається остання робоча копія. Обмеження — 200 МБ; старі версії можна видалити в адміністративній панелі. Файли бібліотеки медіа не змінюються.
Публічні маршрути REST обмежені фіксованими джерелами й дозволеним списком параметрів. Лічильники WordPress обмежують звичайний потік запитів; для суворого захисту від розподіленого вичерпання квот налаштуйте також обмеження частоти запитів на вебсервері.
Якщо сайт кешує цілі сторінки, виключіть сторінки календаря або встановіть строк зберігання не більш ніж 300 секунд і очищуйте кеш опівночі за часовим поясом сайту. Інакше HTML може залишатися в кеші довше за дані API.
Збереження налаштувань скидає кеш плагіна. Деактивація зберігає налаштування.

Можливості

22 динамічні блоки Gutenberg і короткі коди, окреме меню плагіна, конструктор із попереднім переглядом наживо та копіюванням коротких кодів, вбудована довідка, серверне формування HTML, зміна дат без перезавантаження, модальні вікна, пошук у пам’ятях дня, постійні посилання ?orthocal_date=YYYY-MM-DD, незалежні блоки, три теми оформлення, адаптивна верстка, стилі друку та керування з клавіатури.
Налаштування, блоки Gutenberg, картки дня та вікно читання підтримують підписи російською, німецькою, українською та польською мовами; мова календарних даних і мова Біблії вибираються окремо. Переклади календаря можуть бути неповними. Вбудовані богослужбові тексти — церковнослов’янські; німецькі видання доступні за посиланнями. Відсутні дані ніколи не замінюються іншими іконами чи житіями.

Скріншоти

Блоки

Цей плагін надає 22 блоки.

  • Orthodox calendar: Orthodox calendar
  • Orthodox calendar: Saints commemorations
  • Orthodox calendar: Canons
  • Orthodox calendar: Yearly calendar
  • Orthodox calendar: Daily readings
  • Orthodox calendar: Feasts
  • Orthodox calendar: Upcoming feasts
  • Orthodox calendar: Troparia
  • Orthodox calendar: Yearly fasts
  • Orthodox calendar: Horologion
  • Orthodox calendar: Calendar day
  • Orthodox calendar: Liturgical texts
  • Orthodox calendar: Pascha
  • Orthodox calendar: Akathists
  • Orthodox calendar: Prayers
  • Orthodox calendar: Fasting and meals
  • Orthodox calendar: Memorial days
  • Orthodox calendar: Monthly calendar
  • Orthodox calendar: Today
  • Orthodox calendar: Kontakia
  • Orthodox calendar: New and old style date
  • Orthodox calendar: Magnifications

Встановлення

  1. WordPress Плагіни Додати новий Завантажити плагін: orthocal-1.3.78.zip.
  2. Активуйте плагін.
  3. Календар працює одразу після активації. Щоб змінити адресу API Bible Desktop, відкрийте Georg-Kloster Calendar Workshop Підключення.
  4. Додайте на сторінку блоки з категорії «Віджети» або короткі коди.

Попередній ключ Kalendar не передається до Bible Desktop. Старі налаштування зберігаються, але не надають доступу до публічних календарних запитів. API календаря, текстів, перекладів та ікон налаштовується в розділі Georg-Kloster Calendar Workshop Підключення. Типова адреса — https://bible-desktop.com; доступ до файлів для налаштування не потрібний.

Відгуки

Для цього плагіна немає відгуків.

Учасники та розробники

“Georg-Kloster Calendar Workshop” — проект з відкритим вихідним кодом. В розвиток плагіну внесли свій вклад наступні учасники:

Учасники

“Georg-Kloster Calendar Workshop” було перекладено на 3 локалізації. Дякуємо перекладачам за їх роботу.

Перекладіть “Georg-Kloster Calendar Workshop” на вашу мову.

Цікавитесь розробкою?

Перегляньте код, перегляньте сховище SVN або підпишіться на журнал розробки за допомогою RSS.

Журнал змін

1.3.78

  • Вихідні рядки PHP, JavaScript і блоків Gutenberg перекладено американською англійською.
  • Російський, німецький, український і польський переклади збережено з новими англійськими ключами.
  • Розрізнено контексти назв місяців і дат; незалежні мови блоків і текстів збережено.

1.3.77

  • Підписи налаштувань, Gutenberg і вікна читання підключено до gettext та перекладів скриптів WordPress.
  • Збережено попередні переклади й додано повні каталоги російською, німецькою, українською та польською мовами.
  • Мова кожного блоку та мова богослужбового тексту залишаються незалежними від мови сайту.

1.3.76

  • Показано справжній рік історичного видання та відомості про джерело збережених німецьких молитов.
  • Додано підтримку перевірених німецьких ранкового, вечірнього та причасного правил через наявні API.

1.3.75

  • Номери зачал показано лише за однозначного точного збігу координат джерела.
  • Варіанти джерел і неоднозначні кандидати збережено без вгадування номера.

1.3.74

  • Збережені старі посилання на молитви відкривають повні канонічні твори.
  • Додано групи молитов; фактичні мови текстів зазначено явно.
  • Старі копії молитов скидаються; повні видання кешуються з урахуванням редакції вмісту.

1.3.73

  • Для публічних дат та IP-адрес клієнтів знімається екранування, виконується очищення й перевірка.
  • Для Plugin Check пояснено навігацію без зміни даних і необхідні механізми взаємодії з кешем сторінок і базою даних.

1.3.72

  • Включено читабельні вихідні файли JavaScript/CSS; описано публічний репозиторій і порядок розробки.
  • Перед відображенням пошкоджених даних зовнішнього API повністю перевіряються дати періодів посту.
  • Для всіх transient-ключів відповідей, часу очікування й обмеження частоти запитів використовується усталений префікс orthocal.

1.3.71

Усі календарні запити тепер використовують налаштованого постачальника Bible Desktop. Окрему адресу API Kalendar і передавання ключа видалено. Декоративні набори, знаки Типікону та Monomakh включено локально; короткі коди й галереї збережено.

1.3.70

  • Плагін перейменовано на Georg-Kloster Calendar Workshop; використовується відповідний Text Domain.
  • Описано запити до зовнішніх API; додано посилання на умови використання й політики конфіденційності постачальників.
  • Наявні блоки, короткі коди та налаштування збережено.

1.3.69

  • Віддалені фотографії ікон стискаються до розміру не більш ніж 100 КБ перед збереженням у WordPress.
  • Після оновлення одноразово видаляються повнорозмірні файли старих версій плагіна.

1.3.68

  • Адресу https://bible-desktop.com відновлено як поточну типову адресу публічного API.

1.3.67

  • Виправлено завантаження ікон, коли налаштований публічний API повертає зображення з окремого медіадомену.

1.3.66

  • До налаштувань плагіна додано редаговану адресу публічного API.

1.3.65

  • Адресу календарного API централізовано.

1.3.64

  • Ліміт постійного локального медіакешу збільшено з 64 МБ до 200 МБ.
  • Плагін перейменовано на Orthodox Calendar – Workshop; Text Domain узгоджено з його частиною посилання на WordPress.org.
  • Версію WordPress, на якій перевірено плагін, оновлено до 7.1.

1.3.63

  • Text Domain локалізації WordPress узгоджено зі схваленою частиною посилання плагіна; додано перевірену версію WordPress.

1.3.62

  • Виправлено Plugin URI для подання до WordPress.org; тепер він відрізняється від URL автора.

1.3.61

  • Налаштована кількість ікон обмежує лише картки в блоці; кожна ікона дня й усі її зображення залишаються доступними в галереї.
  • Галереї ікон плагіна захищено від заміни спливними галереями теми.
  • Додано російський і німецький переклади заголовка плагіна.