MOOdle 2: Premium edition:cool::cool:
April 13, 2026 · View on GitHub
Una extensión para personalizar la interfaz de Moodle Unizar. Esta extensión es únicamente visual y no afecta a la funcionalidad de Moodle. Al menos debería.
Note
Esta extensión solo funciona para el moodle de Unizar, pero es bien de facil adaptarla co! Seguramente haya cosas que no funcionen, puedes hacerlo cambiando el @match en el manifest de /fextension/manifest.json

Vista previa de la extensión en acción - 14 temas disponibles
Tabla de Contenidos
- Instalación
- Características
- Uso
- Estructura del Proyecto
- Desarrollo
- Contribuir
- Solución de Problemas
- Licencia
Instalación
Firefox (fácil)
-
Ve a Releases

-
Descarga el archivo
.xpi

-
Instala y disfruta (actualizaciones automáticas)

Tampermonkey (Chrome, Edge, Safari, Opera)
¡NUEVO! Ahora disponible como userscript completo con todos los temas.
Instalación Rápida:
-
Instala Tampermonkey:
-
Instala el userscript:
→ MOOdle-Unizar-Personalizado.user.js -
¡Listo! Recarga Moodle y disfruta 🎉
Características
- 14 temas predefinidos (Dark, Breaking Bad, Miku, Vaca, Atrio, y más)
- Tema aleatorio en cada recarga
- Fondos personalizados para navbar, calendario y tarjetas
- Fuentes personalizables
- Foto de perfil unificada
- Oneko - Gato animado que sigue el cursor
- Exportar/Importar configuraciones
- Actualizaciones automáticas
- Componentes opcionales activables/desactivables
- Multiplataforma: Extensión (Firefox/Chrome) y Userscript (Tampermonkey)
Uso
Configuración Extensión
- Haz clic en el icono de la extensión que saldrá en la barra de navegación cuando estés en Moodle
- Selecciona tu tema favorito o activa Tema Aleatorio
- Personaliza colores, fuentes e imágenes
- Activa/desactiva componentes opcionales (Oneko, fondos, etc.)
- Exporta tu configuración para compartirla o guardarla
Configuración Userscript
- Haz clic en el icono de Tampermonkey
- Selecciona MOOdle Unizar Personalizado
- Opciones disponibles:
- Seleccionar Tema: Elige entre los 14 temas (
dark,miku,breaking-bad, etc.) - Tema Aleatorio: Activa/desactiva
- Oneko: Activa/desactiva el gato
- Restaurar: Volver a valores por defecto
- Seleccionar Tema: Elige entre los 14 temas (
Estructura del Proyecto
├── fextension/ # Extensión Firefox/Chrome
│ ├── manifest.json # Manifest V3
│ ├── content.js # Script principal
│ ├── background.js # Service worker (auto-tema)
│ ├── options.html/css/js # Panel de configuración
│ ├── acorn-tokens.css # Design system Acorn
│ ├── oneko.js # Gato animado
│ └── assets/ # Recursos de temas (imágenes)
├── MOOdle-Unizar-Personalizado.user.js # Userscript Tampermonkey
├── sync-themes.js # Script de sincronización
├── assets/ # Recursos generales
├── updates.json # Control de versiones
└── README.md # Este archivo
Desarrollo
Añadir o Modificar Temas
Los temas se definen en fextension/options.js dentro del objeto PREDEFINED_THEMES.
Important
Debido a la arquitectura de extensiones y userscripts:
options.jses la fuente única de verdadbackground.jsnecesita una copia para el auto-tema- El userscript necesita una copia con URLs de GitHub
- NO edites manualmente
background.jsni el userscript
Flujo de Trabajo
-
Edita SOLO
fextension/options.jsconst PREDEFINED_THEMES = { 'mi-tema': { name: 'Mi Tema', images: { background: chrome.runtime.getURL("assets/mi-tema/fondo.png"), navbarBg: chrome.runtime.getURL("assets/mi-tema/navbar.png"), // ... más imágenes }, fontFamily: 'Arial', navbarColor: '#FF5733', features: { enableBackgroundImages: true, /* ... */ } } }; -
Ejecuta el script de sincronización
node sync-themes.jsEste script sincroniza automáticamente:
options.js→background.js(copia exacta)options.js→userscript(URLs transformadas a GitHub)
-
Actualiza
content.js(si es tema nuevo)const AVAILABLE_THEMES = [ 'default', 'dark', 'mi-tema', // ← Añade aquí ]; -
Prueba la extensión
- Recarga la extensión en el navegador
- Verifica el nuevo tema en opciones
- Prueba el auto-tema
Estructura de un Tema
'nombre-tema': {
name: 'Nombre Mostrado', // Opcional
images: {
background: 'URL', // Fondo principal
navbarBg: 'URL', // Fondo navbar
calendarBg: 'URL', // Fondo calendario
tarjeta: 'URL', // Imagen tarjetas
iconoPDF: 'URL', // Icono PDFs
logo: 'URL', // Logo personalizado
userProfile: 'URL', // Foto perfil
screamer1: 'URL' // Easter egg
},
fontFamily: 'Fuente', // '' = default
navbarColor: '#HEXCOLOR',
features: {
enableBackgroundImages: true,
enableImageReplacements: true,
enableHideElements: true,
enableCustomParagraph: true,
enableCustomFont: true,
enableOneko: true
}
}
Contribuir
¿Tienes ideas, bugs o mejoras? ¡Contribuye camarada!
- Reporta issues: GitHub Issues
- Pull requests: Siempre bienvenidos
- Nuevos temas: Sigue el flujo de trabajo de desarrollo
🐛 Solución de Problemas
Extensión
| Problema | Solución |
|---|---|
| El tema no se aplica | Recarga la extensión en chrome://extensions |
| Auto-tema no funciona | Ejecuta node sync-themes.js y recarga |
| Nuevo tema no aparece | Añádelo a AVAILABLE_THEMES en content.js |
Userscript
| Problema | Solución |
|---|---|
| No se activa | Verifica que Tampermonkey esté habilitado |
| Cambios no se aplican | Recarga con Ctrl+F5 |
| Oneko no aparece | Actívalo desde el menú de Tampermonkey |
| Temas desactualizados | Ejecuta node sync-themes.js |
Licencia
Este proyecto está bajo la licencia Mozilla Public License 2.0 (ver LICENSE).
Activos de terceros: Algunos recursos visuales (logos, iconos) pueden ser propiedad de terceros. Consulta:
Hecho con amor desde la EUPLA
Descargar última versión •