From 95f83d5be33daa2163a6c718c8c61720480c7083 Mon Sep 17 00:00:00 2001 From: "Mauro Rosero P." Date: Fri, 4 Apr 2025 10:20:49 -0500 Subject: [PATCH] =?UTF-8?q?[IMPROVED]=20Estandarizaci=C3=B3n=20completa=20?= =?UTF-8?q?de=20zettlr=5Finstall.sh?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Adoptado formato consistente con helix_install.sh - Añadidas variables de mensajes específicas para Zettlr (zl_*) - Implementado sistema de barra de progreso para la instalación - Mejorados diálogos con formato adecuado para la biblioteca console.lib - Reestructurado el flujo de instalación siguiendo el patrón del proyecto 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- bin/msg/head.es | 11 ++++ bin/zettlr_install.sh | 127 +++++++++++++++++++++++++++++++----------- 2 files changed, 106 insertions(+), 32 deletions(-) diff --git a/bin/msg/head.es b/bin/msg/head.es index 95a378d..0fdb023 100644 --- a/bin/msg/head.es +++ b/bin/msg/head.es @@ -168,3 +168,14 @@ hx_009="¿Desea instalar Helix Editor?" hx_010="Instalación en progreso..." hx_011="Se requiere acceso root para instalar Helix." hx_012="Creando directorio de destino..." + +zl_001="Instalador de Zettlr Markdown Editor" +zl_002="Este script instalará Zettlr Markdown Editor. Soporta Arch Linux, Debian/Ubuntu, Fedora, FreeBSD y macOS (Homebrew)." +zl_003="Descargando la última versión de Zettlr..." +zl_004="Instalando Zettlr..." +zl_005="Configurando Zettlr..." +zl_006="Zettlr instalado exitosamente." +zl_007="Versión de Zettlr instalada:" +zl_008="Zettlr no se instaló correctamente." +zl_009="¿Desea instalar Zettlr Markdown Editor?" +zl_010="Instalación en progreso..." diff --git a/bin/zettlr_install.sh b/bin/zettlr_install.sh index bb32cce..0990090 100755 --- a/bin/zettlr_install.sh +++ b/bin/zettlr_install.sh @@ -65,8 +65,8 @@ else fi # Configurar título -title="Zettlr Markdown Editor" -apps_title="MRDEVS TOOLS" +title="${head_000} ${head_002}" +apps_title="${zl_001}" # Verificar si se está solicitando la desinstalación UNINSTALL=0 @@ -408,12 +408,15 @@ install_zettlr() { # Si la instalación fue exitosa, mostrar información adicional if [ $result -eq 0 ]; then - echo -e "\n${head_info}: Información de Zettlr:" - echo -e " - Zettlr es un editor Markdown moderno con enfoque académico" - echo -e " - Incluye características como editor Markdown WYSIWYG, soporte para Zettelkasten" - echo -e " - Integración con Pandoc y LaTeX para exportación de documentos" - echo -e " - Soporta Markdown, Citas, Referencias y más" - echo -e " - Sitio web oficial: https://www.zettlr.com/" + # La información se mostrará después del gauge + INSTALL_SUCCESS=1 + ZETTLR_INFO="Zettlr es un editor Markdown moderno con enfoque académico\n" + ZETTLR_INFO+="- Incluye editor Markdown WYSIWYG y soporte para Zettelkasten\n" + ZETTLR_INFO+="- Integración con Pandoc y LaTeX para exportación de documentos\n" + ZETTLR_INFO+="- Soporte para Markdown, Citas, Referencias y más\n" + ZETTLR_INFO+="- Sitio web oficial: https://www.zettlr.com/" + else + INSTALL_SUCCESS=0 fi return $result @@ -472,57 +475,117 @@ uninstall_zettlr() { return $result } -# Mostrar encabezado -echo -e "\n=== ${head_installing} Zettlr Markdown Editor (${head_version} $ZETTLR_VERSION) ===" +# Mensaje de bienvenida +clear +dialog_error_box "${zl_001}" "${zl_002}" # Verificar si Zettlr ya está instalado ZETTLR_INSTALLED=0 if command -v zettlr &>/dev/null || [ -f /usr/bin/zettlr ] || [ -f /opt/Zettlr/zettlr ] || [ -d "/Applications/Zettlr.app" ]; then ZETTLR_INSTALLED=1 - echo -e "\n${head_info}: Zettlr ya está instalado en el sistema." fi # Determinar acción a realizar if [ $UNINSTALL -eq 1 ]; then # Desinstalar si está instalado if [ $ZETTLR_INSTALLED -eq 1 ]; then - uninstall_zettlr + dialog_yesno "¿${head_delete} Zettlr Markdown Editor?" + if [ $? -eq 0 ]; then + uninstall_zettlr + + if [ $? -eq 0 ]; then + dialog_error_box "${head_success}" "Zettlr ha sido desinstalado correctamente." + else + dialog_error_box "${head_error}" "No se pudo desinstalar Zettlr." + fi + else + dialog_error_box "${head_canceled}" "${head_op_error}" + fi else - echo -e "\n${head_info}: Zettlr no está instalado. Nada que desinstalar." + dialog_error_box "${head_info}" "Zettlr no está instalado. Nada que desinstalar." fi else # Instalar o reinstalar if [ $ZETTLR_INSTALLED -eq 1 ]; then # Preguntar si desea reinstalar - if command -v dialog &>/dev/null; then - dialog_yesno "Zettlr ${head_version} ya está instalado.\n\n¿Desea reinstalarlo?" - if [ $? -eq 0 ]; then - uninstall_zettlr && install_zettlr - fi - else - read -p "Zettlr ${head_version} ya está instalado. ¿Desea reinstalarlo? (s/n): " REINSTALL - if [[ "$REINSTALL" =~ ^[Ss]$ ]]; then + dialog_yesno "Zettlr ${head_version} ya está instalado.\n\n¿Desea reinstalarlo?" + if [ $? -eq 0 ]; then + # Mostrar un progress bar para indicar el avance de la instalación + ( + # Inicializar progreso + echo 0; sleep 1 + echo 20; echo "# ${zl_003}" + sleep 1 + echo 40; echo "# ${zl_004}" + sleep 1 + echo 60; echo "# ${zl_005}" + + # Desinstalar e instalar Zettlr uninstall_zettlr && install_zettlr + INSTALL_RESULT=$? + + # Verificar el resultado de la instalación + if [ $INSTALL_RESULT -eq 0 ]; then + echo 90; echo "# ${zl_006}" + else + echo 90; echo "# ${zl_008}" + fi + sleep 1 + + # Finalizar + echo 100 + sleep 1 + ) | dialog --backtitle "${title}" --title "${apps_title}" --gauge "${zl_010}" 10 70 0 + + # Verificar la versión instalada + if [ $INSTALL_SUCCESS -eq 1 ]; then + dialog_error_box "${npm_014}" "${zl_006}\n\n${ZETTLR_INFO}" + else + dialog_error_box "${head_error}" "${zl_008}" fi fi else # Preguntar si desea instalar - if command -v dialog &>/dev/null; then - dialog_yesno "¿Desea instalar Zettlr Markdown Editor?\n\nEditor Markdown avanzado con soporte para Zettelkasten, LaTeX y Pandoc." - if [ $? -eq 0 ]; then + dialog_yesno "${zl_009}" + if [ $? -eq 0 ]; then + # Mostrar un progress bar para indicar el avance de la instalación + ( + # Inicializar progreso + echo 0; sleep 1 + echo 20; echo "# ${zl_003}" + sleep 1 + echo 40; echo "# ${zl_004}" + sleep 1 + echo 60; echo "# ${zl_005}" + + # Instalar Zettlr install_zettlr + INSTALL_RESULT=$? + + # Verificar el resultado de la instalación + if [ $INSTALL_RESULT -eq 0 ]; then + echo 90; echo "# ${zl_006}" + else + echo 90; echo "# ${zl_008}" + fi + sleep 1 + + # Finalizar + echo 100 + sleep 1 + ) | dialog --backtitle "${title}" --title "${apps_title}" --gauge "${zl_010}" 10 70 0 + + # Verificar la versión instalada + if [ $INSTALL_SUCCESS -eq 1 ]; then + dialog_error_box "${npm_014}" "${zl_006}\n\n${ZETTLR_INFO}" else - echo -e "\n${head_info}: ${head_op_error}" + dialog_error_box "${head_error}" "${zl_008}" fi else - read -p "¿Desea instalar Zettlr Markdown Editor? (s/n): " CONFIRM - if [[ "$CONFIRM" =~ ^[Ss]$ ]]; then - install_zettlr - else - echo -e "\n${head_info}: ${head_op_error}" - fi + dialog_error_box "${head_canceled}" "${head_op_error}" fi fi fi -echo -e "\n=== ${head_success}: ${head_exit} ===" \ No newline at end of file +# Salir +finish \ No newline at end of file