mirror of
https://0xacab.org/sutty/sutty
synced 2024-11-16 05:21:42 +00:00
Merge branch 'preview' into rails
This commit is contained in:
commit
a593ecefdb
3 changed files with 11 additions and 10 deletions
|
@ -261,7 +261,7 @@ GEM
|
|||
jekyll (~> 4)
|
||||
jekyll-ignore-layouts (0.1.2)
|
||||
jekyll (~> 4)
|
||||
jekyll-images (0.3.0)
|
||||
jekyll-images (0.3.2)
|
||||
jekyll (~> 4)
|
||||
ruby-filemagic (~> 0.7)
|
||||
ruby-vips (~> 2)
|
||||
|
|
|
@ -29,7 +29,7 @@ class Post
|
|||
# TODO: Reemplazar cuando leamos el contenido del Document
|
||||
# a demanda?
|
||||
def find_layout(path)
|
||||
IO.foreach(path).lazy.grep(/^layout: /).take(1).first&.split(' ')&.last&.tr('\'', '')&.tr('"', '')&.to_sym
|
||||
File.foreach(path).lazy.grep(/^layout: /).take(1).first&.split(' ')&.last&.tr('\'', '')&.tr('"', '')&.to_sym
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -97,13 +97,14 @@ class Post
|
|||
# Renderizar lo estrictamente necesario y convertir a HTML para
|
||||
# poder reemplazar valores.
|
||||
html = Nokogiri::HTML document.renderer.render_document
|
||||
# Las imágenes se cargan directamente desde el repositorio, porque
|
||||
# Los archivos se cargan directamente desde el repositorio, porque
|
||||
# no son públicas hasta que se publica el artículo.
|
||||
html.css('img').each do |img|
|
||||
next if %r{\Ahttps?://} =~ img.attributes['src']
|
||||
html.css('img,audio,video,iframe').each do |element|
|
||||
src = element.attributes['src']
|
||||
|
||||
img.attributes['src'].value = Rails.application.routes.url_helpers.site_static_file_url(site,
|
||||
file: img.attributes['src'].value)
|
||||
next unless src&.value&.start_with? 'public/'
|
||||
|
||||
src.value = Rails.application.routes.url_helpers.site_static_file_url(site, file: src.value)
|
||||
end
|
||||
|
||||
# Notificar a les usuaries que están viendo una previsualización
|
||||
|
@ -121,7 +122,7 @@ class Post
|
|||
|
||||
# Devuelve una llave para poder guardar el post en una cache
|
||||
def cache_key
|
||||
'posts/' + uuid.value
|
||||
"posts/#{uuid.value}"
|
||||
end
|
||||
|
||||
def cache_version
|
||||
|
@ -131,7 +132,7 @@ class Post
|
|||
# Agregar el timestamp para saber si cambió, siguiendo el módulo
|
||||
# ActiveRecord::Integration
|
||||
def cache_key_with_version
|
||||
cache_key + '-' + cache_version
|
||||
"#{cache_key}-#{cache_version}"
|
||||
end
|
||||
|
||||
# TODO: Convertir a UUID?
|
||||
|
|
|
@ -437,7 +437,7 @@ class Site < ApplicationRecord
|
|||
|
||||
# El directorio donde se almacenan los sitios
|
||||
def self.site_path
|
||||
@site_path ||= ENV.fetch('SITE_PATH', Rails.root.join('_sites'))
|
||||
@site_path ||= File.realpath(ENV.fetch('SITE_PATH', Rails.root.join('_sites')))
|
||||
end
|
||||
|
||||
def self.default
|
||||
|
|
Loading…
Reference in a new issue