diff --git a/app/models/deploy_local.rb b/app/models/deploy_local.rb index 5ef56dec..8a1f693b 100644 --- a/app/models/deploy_local.rb +++ b/app/models/deploy_local.rb @@ -3,9 +3,9 @@ # Alojamiento local, solo genera el sitio, con lo que no necesita hacer # nada más class DeployLocal < Deploy - store :values, accessors: %i[fqdn destination], coder: JSON + store :values, accessors: %i[destination], coder: JSON - before_create :fqdn!, :destination! + before_create :destination! before_destroy :remove_destination! # Realizamos la construcción del sitio usando Jekyll y un entorno @@ -73,12 +73,8 @@ class DeployLocal < Deploy run "bundle exec jekyll build --destination \"#{escaped_destination}\"" end - def fqdn! - self.fqdn ||= "#{site.name}.#{Site.domain}" - end - def destination! - self.destination ||= File.join(Rails.root, '_deploy', fqdn) + self.destination ||= File.join(Rails.root, '_deploy', site.hostname) end # no debería haber espacios ni caracteres especiales, pero por si diff --git a/app/models/deploy_zip.rb b/app/models/deploy_zip.rb index 7ea96828..19de89e6 100644 --- a/app/models/deploy_zip.rb +++ b/app/models/deploy_zip.rb @@ -6,9 +6,9 @@ require 'zip' # # TODO: Firmar con minisign class DeployZip < Deploy - store :values, accessors: %i[fqdn destination file path], coder: JSON + store :values, accessors: %i[destination file path], coder: JSON - before_create :fqdn!, :destination! + before_create :destination! before_create :file!, :path! # Una vez que el sitio está generado, tomar todos los archivos y @@ -46,18 +46,12 @@ class DeployZip < Deploy private - # Copiamos de DeployLocal para no cargar todos los métodos de - # compilación... - def fqdn! - self.fqdn ||= "#{site.name}.#{Site.domain}" - end - def destination! - self.destination ||= File.join(Rails.root, '_deploy', fqdn) + self.destination ||= File.join(Rails.root, '_deploy', site.hostname) end def file! - self.file ||= "#{fqdn}.zip" + self.file ||= "#{site.hostname}.zip" end def path! diff --git a/app/models/site.rb b/app/models/site.rb index 67b570be..09df0ebe 100644 --- a/app/models/site.rb +++ b/app/models/site.rb @@ -61,10 +61,11 @@ class Site < ApplicationRecord end def hostname - if name.ends_with? '.' - name.gsub(/\.\Z/, '') + sub = name || I18n.t('deploys.deploy_local.ejemplo') + if sub.ends_with? '.' + sub.gsub(/\.\Z/, '') else - "#{name}.#{Site.domain}" + "#{sub}.#{Site.domain}" end end diff --git a/app/views/deploy_mailer/deployed.html.haml b/app/views/deploy_mailer/deployed.html.haml index 66cba36b..e8b2e7af 100644 --- a/app/views/deploy_mailer/deployed.html.haml +++ b/app/views/deploy_mailer/deployed.html.haml @@ -1,6 +1,6 @@ %h1= t('.hi') -= sanitize_markdown t('.explanation', fqdn: @deploy_local.fqdn), += sanitize_markdown t('.explanation', fqdn: @deploy_local.site.hostname), tags: %w[p a strong em] %table diff --git a/app/views/deploy_mailer/deployed.text.haml b/app/views/deploy_mailer/deployed.text.haml index 619d83e1..af39ebe0 100644 --- a/app/views/deploy_mailer/deployed.text.haml +++ b/app/views/deploy_mailer/deployed.text.haml @@ -1,6 +1,6 @@ = "# #{t('.hi')}" \ -= t('.explanation', fqdn: @deploy_local.fqdn) += t('.explanation', fqdn: @deploy_local.site.hostname) \ = Terminal::Table.new do |table| - table << [t('.th.type'), t('.th.status')] diff --git a/app/views/deploys/_deploy_local.haml b/app/views/deploys/_deploy_local.haml index 8c5f34e8..69a6a52e 100644 --- a/app/views/deploys/_deploy_local.haml +++ b/app/views/deploys/_deploy_local.haml @@ -6,9 +6,7 @@ .row .col %h3= t('.title') - - name = site.name || t('.ejemplo') - = sanitize_markdown t('.help', - fqdn: deploy.object.fqdn || "#{name}.#{Site.domain}"), + = sanitize_markdown t('.help', fqdn: deploy.object.site.hostname), tags: %w[p strong em a] = deploy.hidden_field :type diff --git a/app/views/deploys/_deploy_zip.haml b/app/views/deploys/_deploy_zip.haml index 11996b0e..0875b4ab 100644 --- a/app/views/deploys/_deploy_zip.haml +++ b/app/views/deploys/_deploy_zip.haml @@ -16,6 +16,6 @@ -# TODO: secar la generación de URLs - name = site.name || t('.ejemplo') = sanitize_markdown t('.help', - fqdn: deploy.object.fqdn || "#{name}.#{Site.domain}", + fqdn: deploy.object.site.hostname, file: deploy.object.file || "#{name}.zip"), tags: %w[p strong em a] diff --git a/app/views/sites/_form.haml b/app/views/sites/_form.haml index f12588ab..b8e3ec41 100644 --- a/app/views/sites/_form.haml +++ b/app/views/sites/_form.haml @@ -1,7 +1,7 @@ = form_for site, html: { class: form_class(site) } do |f| .form-group %h2= f.label :name - %p.lead= t('.help.name') + %p.lead= sanitize_markdown t('.help.name'), tags: %w[strong] -# El dominio contiene letras y números No puede empezar ni terminar con guiones diff --git a/app/views/sites/index.haml b/app/views/sites/index.haml index 902c4ddd..0cd3562c 100644 --- a/app/views/sites/index.haml +++ b/app/views/sites/index.haml @@ -16,10 +16,12 @@ %td %h2 - if policy(site).show? - = link_to site.name, site_path(site) + = link_to site.title, site_path(site) - else - = site.name + = site.title + %p.lead= site.description %br + = link_to t('.visit'), site.url, class: 'btn' - if current_usuarie.rol_for_site(site).temporal = button_to t('sites.invitations.accept'), site_usuaries_accept_invitation_path(site), diff --git a/config/locales/en.yml b/config/locales/en.yml index 47a0d7db..b9ba6e2c 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -233,6 +233,8 @@ en: index: title: 'Sites' pull: 'Upgrade' + help: 'This is the list of sites you can edit' + visit: 'Visitar el sitio' repository: config: 'Changes in config' actions: 'Actions' diff --git a/config/locales/es.yml b/config/locales/es.yml index 03d8cfcf..434026fc 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -37,27 +37,28 @@ es: es: Castellano en: Inglés seconds: '%{seconds} segundos' - deploy_mailer: - deployed: - subject: "[Sutty] El sitio %{site} ha sido generado" - hi: "¡Hola!" - explanation: | - Este correo es para notificarte que Sutty ha generado tu sitio y - ya está disponible en la dirección . + mailers: + deploy_mailer: + deployed: + subject: "[Sutty] El sitio %{site} ha sido generado" + hi: "¡Hola!" + explanation: | + Este correo es para notificarte que Sutty ha generado tu sitio y + ya está disponible en la dirección . - A continuación encontrarás el detalle de lo que hicimos. - th: - type: Tipo - status: Estado - deploy_local: - title: Generar el sitio - success: ¡Éxito! - error: Hubo un error - deploy_zip: - title: Generar archivo ZIP - success: Disponible para descargar - error: Hubo un error - help: Por cualquier duda, responde este correo para contactarte con nosotres. + A continuación encontrarás el detalle de lo que hicimos. + th: + type: Tipo + status: Estado + deploy_local: + title: Generar el sitio + success: ¡Éxito! + error: Hubo un error + deploy_zip: + title: Generar archivo ZIP + success: Disponible para descargar + error: Hubo un error + help: Por cualquier duda, responde este correo para contactarte con nosotres. activerecord: models: usuarie: Usuarie @@ -237,6 +238,7 @@ es: title: 'Sitios' pull: 'Actualizar' help: 'Este es el listado de sitios que puedes editar' + visit: 'Visitar el sitio' repository: config: 'Cambios en la configuración' actions: 'Acciones' @@ -261,7 +263,7 @@ es: title: Hay errores y no pudimos guardar tus cambios :( help: Por favor, busca los campos marcados como inválidos para resolverlos help: - name: 'El nombre de tu sitio que formará parte de la dirección (ejemplo.sutty.nl). Solo puede contener letras minúsculas, números y guiones.' + name: 'El nombre de tu sitio que formará parte de la dirección (**ejemplo**.sutty.nl). Solo puede contener letras minúsculas, números y guiones.' title: 'El título de tu sitio puede ser lo que quieras.' description: 'La descripción del sitio, que saldrá en buscadores. Entre 50 y 160 caracteres.' design: 'Elegí el diseño que va a tener tu sitio aquí. Podés cambiarlo luego. De tanto en tanto vamos sumando diseños nuevos.'