# 📝 sld-blocknotes - Sistema Moderno de Notas en Bloques y Gestión de Comandos > **🌐 Idiomas disponibles**: [🇬🇧 English](README.md) | [🇮🇹 Italiano](README.it.md) | [🇪🇸 Español](README.es.md) | [🇫🇷 Français](README.fr.md) ![PHP](https://img.shields.io/badge/PHP-7.4%20%7C%208.x-777BB4?style=for-the-badge&logo=php&logoColor=white) ![Database](https://img.shields.io/badge/Database-MySQL%20%2F%20MariaDB-4479A1?style=for-the-badge&logo=mysql&logoColor=white) ![Frontend](https://img.shields.io/badge/Frontend-Vanilla%20CSS%20%26%20JS-F7DF1E?style=for-the-badge&logo=javascript&logoColor=black) ![Framework](https://img.shields.io/badge/Framework-Zero%20Dependencies-22c55e?style=for-the-badge) Una potente y moderna aplicación web sin dependencias externas para organizar notas estructuradas en bloques, comandos de terminal, fragmentos de código e instrucciones. Desarrollada en **Pure PHP**, **Vanilla CSS**, **Vanilla JS** y **MySQL/MariaDB**. URL del Repositorio: [https://gitea.sld-server.org/sld-admin/sld-blocknotes](https://gitea.sld-server.org/sld-admin/sld-blocknotes) --- ## ✨ Características Principales - 📑 **Notas en Bloques y Subnotas Estructuradas**: - Organiza tus notas dentro de blocknotes personalizados. - Las notas contienen título, descripción y múltiples subnotas. - **Notas Plegables**: Las notas están plegadas por defecto para optimizar el espacio vertical, con botones globales de **Expandir Todas / Contraer Todas**. - ⚡ **Subnotas de Tipo Comando de Terminal**: - Renderizado diferenciado entre subnotas de texto genérico y comandos de terminal. - **Botón Copiar en 1 Clic**: Copia instantáneamente comandos al portapapeles con retroalimentación visual (`✓ ¡Copiado!`). - Cuadro estilo IDE/Terminal de alto contraste con barra de desplazamiento vertical. - 🔍 **Búsqueda en Tiempo Real**: - Filtra títulos de notas, descripciones, subnotas y contenido de comandos en tiempo real dentro del blocknote activo. - Expande automáticamente los bloques coincidentes durante la búsqueda. - 📥 / 💾 **Importación y Exportación JSON**: - Descarga el archivo JSON de cualquier blocknote con un clic (`export_blocknote.php`). - Importador JSON interactivo compatible con formato estándar y formato antiguo. - 🌐 **Interfaz Multilingüe (IT, EN, ES, FR)**: - Localización completa en **Italiano 🇮🇹, Inglés 🇬🇧, Español 🇪🇸 y Francés 🇫🇷**. - Selector de idioma rápido en la barra de navegación para visitantes y usuarios conectados. - El idioma preferido de cada usuario se guarda en su perfil para futuros accesos. - 🏠 **Página de Inicio Personalizable**: - Elige entre acceder directamente al **Panel Principal (Todos los Blocknotes)** o abrir un **Blocknote Predeterminado específico** al iniciar sesión. - 👑 **Rol Único de Propietario y Jerarquía Avanzada (`owner` > `admin` > `user`)**: - **Cuenta de Propietario Inmune**: La cuenta inicial de Propietario (`owner`) no puede ser eliminada por ningún administrador ni por sí misma. - Los administradores estándar no pueden degradar ni modificar el rol del Propietario. - ⚙️ **Personalización del Sitio (Exclusivo Propietario)**: - Cambia el **Título Global de la Aplicación**. - Sube y valida un **Favicon de Alta Resolución** (mínimo 64x64px) con vista previa en tiempo real. - 🚀 **Asistente de Configuración Inicial (`first_start.php`)**: - Instalador automático para configurar credenciales MySQL, crear tablas y registrar los primeros usuarios privilegiados (`owner` y `admin`). - Completamente multilingüe en los 4 idiomas. --- ## 🚀 Guía de Instalación ### Requisitos - Servidor Web (Apache, Nginx, o servidor CLI integrado de PHP) - PHP 7.4 o 8.x (con extensión `mysqli` habilitada) - MySQL 5.7+ o MariaDB 10.x+ ### Instalación Paso a Paso 1. **Clona el Repositorio**: ```bash git clone https://gitea.sld-server.org/sld-admin/sld-blocknotes.git cd sld-blocknotes ``` 2. **Inicia el Servidor Web**: Puedes utilizar el servidor integrado de PHP: ```bash php -S localhost:8000 ``` 3. **Ejecuta el Asistente de Configuración**: Abre tu navegador en `http://localhost:8000/`. El sistema detectará el primer inicio y abrirá automáticamente `first_start.php`: - Introduce los datos de tu **Base de Datos MySQL** (Host, Nombre, Usuario, Contraseña). - Configura las credenciales de la **Cuenta de Propietario**. - Configura las credenciales de la **Primera Cuenta de Admin**. - Haz clic en **⚡ Completar Instalación y Configurar Sistema**. 4. **Inicia Sesión**: Al finalizar, serás redirigido a la página de inicio de sesión `index.php?page=login`. --- ## 📄 Licencia Este proyecto se distribuye bajo la licencia open-source [MIT License](LICENSE).