rafa 14b94be5ea fix: reescribir generador del calendario litúrgico 2026-2040 (issue #20)
Retira el commit 2713e13, que tenía 3 causas raíz confirmadas por Opix y
Claudix (ver issue #20, comment-676 y siguientes): domingos de TO/Pascua
desplazados -1 semana, Cuaresma contada mal en bloques de 7 desde Ceniza, y
Adviento evaluado antes que Navidad (fuga el 26-31 de diciembre, rompe la
Sagrada Familia). Además special() daba precedencia a fiestas fijas sobre
domingos y hasta sobre la Pascua misma (2035: la Anunciación se comía el
Domingo de Resurrección).

Reescritura completa:
- Numeración de Tiempo Ordinario con omisión de semanas según la norma real
  (Normas Universales sobre el Año Litúrgico, 1969): se cuenta hacia atrás
  desde Cristo Rey = semana 34.
- Las 3 semanas tapadas por Pentecostés/Trinidad/Corpus llevan ferias de TO
  en sus días laborables (el TO arranca el lunes después de Pentecostés).
- Ascensión y Corpus trasladados al domingo (práctica CEE); Bautismo del
  Señor, Sagrada Familia, Cristo Rey y Ascensión tienen índice propio (antes
  se disolvían en la etiqueta genérica del domingo vecino).
- 26 dic-Bautismo indexado por fecha fija (como el libro), no por día de la
  semana.
- Precedencia real para las 11 solemnidades de fecha fija: ceden ante
  domingos de Adviento/Cuaresma/Pascua, Ramos, lunes-jueves de Semana Santa,
  Triduo, Ascensión y Pentecostés; entre solemnidades "del Señor" > "de un
  Santo" (Corpus gana a San Juan Bautista en 2038, no al revés). Anunciación
  con la regla de traslado específica documentada.

Cambio de diseño: cada fecha referencia directamente `book_index` (1-500)
sobre entradas-libro.json en vez de una clave de texto libre — evita que el
vocabulario del calendario diverja del contenido real del libro.

Test de aceptación (tests/test_liturgical_calendar_coverage.py): cobertura
bidireccional contra las 500 entradas + fechas móviles verificadas con un
cómputo de Pascua independiente. 497/500 entradas alcanzadas en 2026-2040;
las 3 restantes (34, 62, 134) están documentadas en el propio JSON como
aritmética real del rango, no fallo del generador.

Metodología de validación con fuentes no-CEE: horariosdemisa.com y
archisevilla.org (traslado de la Ascensión), remitly.com/aciprensa/nacion.com
(traslado de Corpus), catholicvirginian.org/diocesetucson (regla de traslado
de la Anunciación). Detalle completo en issue #20.

Co-authored-by: rafa <rcalvotorrejon@gmail.com>
2026-08-18 11:03:47 -04:00

feadulta — WordPress

Código del sitio WordPress de feadulta.com. Plugins personalizados (mu-plugins) y scripts de migración y mantenimiento.

Estructura

mu-plugins/   — plugins WordPress cargados automáticamente (sin activar)
scripts/      — scripts Python/PHP de migración, traducción, TTS y mantenimiento

mu-plugins principales

Plugin Función
fea-carta-portada.php Parser de la carta semanal → portada
fea-homepage.php Tarjetas de portada
fea-share.php Sección "Comparte FeAdulta" (Facebook, Instagram, Imprimir)
fea-ui.php Estilos globales, menú, fondo cálido en artículos
fea-accesibilidad.php Tipografía Atkinson Hyperlegible (self-hosted) + toggle claro/oscuro persistente
fea-beta-feedback.php Barra de feedback beta + endpoint /fea/v1/lang/{id}
fea-search.php Buscador móvil nativo
fea-pensamientos.php Widget de pensamientos
carta-semana-plugin.php Redirects carta vigente/semana pasada

Scripts principales

Script Función
import_new_k2_items.py Importar artículos nuevos desde Joomla/K2
import_new_cartas.py Importar cartas semanales nuevas
translate_haiku.py Traducción automática vía Claude Haiku
tts_produce.py Generación de audio TTS (MiniMax)
sync_translations_to_prod.py Sincronizar traducciones local → producción
detect_untranslated.php Detectar posts sin traducir

Servidor local de desarrollo

WordPress corre en Docker local, accesible vía Tailscale: https://farmer.taild3aaf6.ts.net/fea/

Admin: eqpyk / NuevaFeAdulta2024!

S
Description
WordPress feadulta.com — plugins, scripts y documentación
Readme 13 MiB
Languages
PHP 61%
Python 35.7%
Shell 3.3%