usar la dirección completa del sitio en todos lados
esto abre la puerta a que podamos tener sitios fuera del dominio sutty.nl
This commit is contained in:
parent
fc597a0570
commit
c5e9b003c7
11 changed files with 45 additions and 50 deletions
|
@ -3,9 +3,9 @@
|
||||||
# Alojamiento local, solo genera el sitio, con lo que no necesita hacer
|
# Alojamiento local, solo genera el sitio, con lo que no necesita hacer
|
||||||
# nada más
|
# nada más
|
||||||
class DeployLocal < Deploy
|
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!
|
before_destroy :remove_destination!
|
||||||
|
|
||||||
# Realizamos la construcción del sitio usando Jekyll y un entorno
|
# 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}\""
|
run "bundle exec jekyll build --destination \"#{escaped_destination}\""
|
||||||
end
|
end
|
||||||
|
|
||||||
def fqdn!
|
|
||||||
self.fqdn ||= "#{site.name}.#{Site.domain}"
|
|
||||||
end
|
|
||||||
|
|
||||||
def destination!
|
def destination!
|
||||||
self.destination ||= File.join(Rails.root, '_deploy', fqdn)
|
self.destination ||= File.join(Rails.root, '_deploy', site.hostname)
|
||||||
end
|
end
|
||||||
|
|
||||||
# no debería haber espacios ni caracteres especiales, pero por si
|
# no debería haber espacios ni caracteres especiales, pero por si
|
||||||
|
|
|
@ -6,9 +6,9 @@ require 'zip'
|
||||||
#
|
#
|
||||||
# TODO: Firmar con minisign
|
# TODO: Firmar con minisign
|
||||||
class DeployZip < Deploy
|
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!
|
before_create :file!, :path!
|
||||||
|
|
||||||
# Una vez que el sitio está generado, tomar todos los archivos y
|
# Una vez que el sitio está generado, tomar todos los archivos y
|
||||||
|
@ -46,18 +46,12 @@ class DeployZip < Deploy
|
||||||
|
|
||||||
private
|
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!
|
def destination!
|
||||||
self.destination ||= File.join(Rails.root, '_deploy', fqdn)
|
self.destination ||= File.join(Rails.root, '_deploy', site.hostname)
|
||||||
end
|
end
|
||||||
|
|
||||||
def file!
|
def file!
|
||||||
self.file ||= "#{fqdn}.zip"
|
self.file ||= "#{site.hostname}.zip"
|
||||||
end
|
end
|
||||||
|
|
||||||
def path!
|
def path!
|
||||||
|
|
|
@ -61,10 +61,11 @@ class Site < ApplicationRecord
|
||||||
end
|
end
|
||||||
|
|
||||||
def hostname
|
def hostname
|
||||||
if name.ends_with? '.'
|
sub = name || I18n.t('deploys.deploy_local.ejemplo')
|
||||||
name.gsub(/\.\Z/, '')
|
if sub.ends_with? '.'
|
||||||
|
sub.gsub(/\.\Z/, '')
|
||||||
else
|
else
|
||||||
"#{name}.#{Site.domain}"
|
"#{sub}.#{Site.domain}"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
%h1= t('.hi')
|
%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]
|
tags: %w[p a strong em]
|
||||||
|
|
||||||
%table
|
%table
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
= "# #{t('.hi')}"
|
= "# #{t('.hi')}"
|
||||||
\
|
\
|
||||||
= t('.explanation', fqdn: @deploy_local.fqdn)
|
= t('.explanation', fqdn: @deploy_local.site.hostname)
|
||||||
\
|
\
|
||||||
= Terminal::Table.new do |table|
|
= Terminal::Table.new do |table|
|
||||||
- table << [t('.th.type'), t('.th.status')]
|
- table << [t('.th.type'), t('.th.status')]
|
||||||
|
|
|
@ -6,9 +6,7 @@
|
||||||
.row
|
.row
|
||||||
.col
|
.col
|
||||||
%h3= t('.title')
|
%h3= t('.title')
|
||||||
- name = site.name || t('.ejemplo')
|
= sanitize_markdown t('.help', fqdn: deploy.object.site.hostname),
|
||||||
= sanitize_markdown t('.help',
|
|
||||||
fqdn: deploy.object.fqdn || "#{name}.#{Site.domain}"),
|
|
||||||
tags: %w[p strong em a]
|
tags: %w[p strong em a]
|
||||||
|
|
||||||
= deploy.hidden_field :type
|
= deploy.hidden_field :type
|
||||||
|
|
|
@ -16,6 +16,6 @@
|
||||||
-# TODO: secar la generación de URLs
|
-# TODO: secar la generación de URLs
|
||||||
- name = site.name || t('.ejemplo')
|
- name = site.name || t('.ejemplo')
|
||||||
= sanitize_markdown t('.help',
|
= sanitize_markdown t('.help',
|
||||||
fqdn: deploy.object.fqdn || "#{name}.#{Site.domain}",
|
fqdn: deploy.object.site.hostname,
|
||||||
file: deploy.object.file || "#{name}.zip"),
|
file: deploy.object.file || "#{name}.zip"),
|
||||||
tags: %w[p strong em a]
|
tags: %w[p strong em a]
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
= form_for site, html: { class: form_class(site) } do |f|
|
= form_for site, html: { class: form_class(site) } do |f|
|
||||||
.form-group
|
.form-group
|
||||||
%h2= f.label :name
|
%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
|
El dominio contiene letras y números
|
||||||
No puede empezar ni terminar con guiones
|
No puede empezar ni terminar con guiones
|
||||||
|
|
|
@ -16,10 +16,12 @@
|
||||||
%td
|
%td
|
||||||
%h2
|
%h2
|
||||||
- if policy(site).show?
|
- if policy(site).show?
|
||||||
= link_to site.name, site_path(site)
|
= link_to site.title, site_path(site)
|
||||||
- else
|
- else
|
||||||
= site.name
|
= site.title
|
||||||
|
%p.lead= site.description
|
||||||
%br
|
%br
|
||||||
|
= link_to t('.visit'), site.url, class: 'btn'
|
||||||
- if current_usuarie.rol_for_site(site).temporal
|
- if current_usuarie.rol_for_site(site).temporal
|
||||||
= button_to t('sites.invitations.accept'),
|
= button_to t('sites.invitations.accept'),
|
||||||
site_usuaries_accept_invitation_path(site),
|
site_usuaries_accept_invitation_path(site),
|
||||||
|
|
|
@ -233,6 +233,8 @@ en:
|
||||||
index:
|
index:
|
||||||
title: 'Sites'
|
title: 'Sites'
|
||||||
pull: 'Upgrade'
|
pull: 'Upgrade'
|
||||||
|
help: 'This is the list of sites you can edit'
|
||||||
|
visit: 'Visitar el sitio'
|
||||||
repository:
|
repository:
|
||||||
config: 'Changes in config'
|
config: 'Changes in config'
|
||||||
actions: 'Actions'
|
actions: 'Actions'
|
||||||
|
|
|
@ -37,27 +37,28 @@ es:
|
||||||
es: Castellano
|
es: Castellano
|
||||||
en: Inglés
|
en: Inglés
|
||||||
seconds: '%{seconds} segundos'
|
seconds: '%{seconds} segundos'
|
||||||
deploy_mailer:
|
mailers:
|
||||||
deployed:
|
deploy_mailer:
|
||||||
subject: "[Sutty] El sitio %{site} ha sido generado"
|
deployed:
|
||||||
hi: "¡Hola!"
|
subject: "[Sutty] El sitio %{site} ha sido generado"
|
||||||
explanation: |
|
hi: "¡Hola!"
|
||||||
Este correo es para notificarte que Sutty ha generado tu sitio y
|
explanation: |
|
||||||
ya está disponible en la dirección <https://%{fqdn}>.
|
Este correo es para notificarte que Sutty ha generado tu sitio y
|
||||||
|
ya está disponible en la dirección <https://%{fqdn}>.
|
||||||
|
|
||||||
A continuación encontrarás el detalle de lo que hicimos.
|
A continuación encontrarás el detalle de lo que hicimos.
|
||||||
th:
|
th:
|
||||||
type: Tipo
|
type: Tipo
|
||||||
status: Estado
|
status: Estado
|
||||||
deploy_local:
|
deploy_local:
|
||||||
title: Generar el sitio
|
title: Generar el sitio
|
||||||
success: ¡Éxito!
|
success: ¡Éxito!
|
||||||
error: Hubo un error
|
error: Hubo un error
|
||||||
deploy_zip:
|
deploy_zip:
|
||||||
title: Generar archivo ZIP
|
title: Generar archivo ZIP
|
||||||
success: Disponible para descargar
|
success: Disponible para descargar
|
||||||
error: Hubo un error
|
error: Hubo un error
|
||||||
help: Por cualquier duda, responde este correo para contactarte con nosotres.
|
help: Por cualquier duda, responde este correo para contactarte con nosotres.
|
||||||
activerecord:
|
activerecord:
|
||||||
models:
|
models:
|
||||||
usuarie: Usuarie
|
usuarie: Usuarie
|
||||||
|
@ -237,6 +238,7 @@ es:
|
||||||
title: 'Sitios'
|
title: 'Sitios'
|
||||||
pull: 'Actualizar'
|
pull: 'Actualizar'
|
||||||
help: 'Este es el listado de sitios que puedes editar'
|
help: 'Este es el listado de sitios que puedes editar'
|
||||||
|
visit: 'Visitar el sitio'
|
||||||
repository:
|
repository:
|
||||||
config: 'Cambios en la configuración'
|
config: 'Cambios en la configuración'
|
||||||
actions: 'Acciones'
|
actions: 'Acciones'
|
||||||
|
@ -261,7 +263,7 @@ es:
|
||||||
title: Hay errores y no pudimos guardar tus cambios :(
|
title: Hay errores y no pudimos guardar tus cambios :(
|
||||||
help: Por favor, busca los campos marcados como inválidos para resolverlos
|
help: Por favor, busca los campos marcados como inválidos para resolverlos
|
||||||
help:
|
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.'
|
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.'
|
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.'
|
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.'
|
||||||
|
|
Loading…
Reference in a new issue