mirror of
https://0xacab.org/sutty/sutty
synced 2025-01-19 04:53:38 +00:00
normalizar strings sin romperlas
en castellano no nos afectó pero en árabe rompe el significado
This commit is contained in:
parent
4d6a26d671
commit
eb7d0679bb
7 changed files with 7 additions and 7 deletions
|
@ -19,7 +19,7 @@ module ActiveStorage
|
||||||
# stack.
|
# stack.
|
||||||
def blob_args
|
def blob_args
|
||||||
params.require(:blob).permit(:filename, :byte_size, :checksum, :content_type, metadata: {}).to_h.symbolize_keys.tap do |ba|
|
params.require(:blob).permit(:filename, :byte_size, :checksum, :content_type, metadata: {}).to_h.symbolize_keys.tap do |ba|
|
||||||
ba[:filename] = ba[:filename].unicode_normalize(:nfkc)
|
ba[:filename] = ba[:filename].unicode_normalize
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -11,7 +11,7 @@ module ActionDispatch
|
||||||
# Devolver el nombre de archivo con caracteres unicode
|
# Devolver el nombre de archivo con caracteres unicode
|
||||||
# normalizados
|
# normalizados
|
||||||
def original_filename
|
def original_filename
|
||||||
@original_filename.unicode_normalize(:nfkc)
|
@original_filename.unicode_normalize
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -12,6 +12,6 @@ class MetadataMarkdown < MetadataText
|
||||||
# markdown y se eliminan autolinks. Mejor es habilitar la generación
|
# markdown y se eliminan autolinks. Mejor es habilitar la generación
|
||||||
# SAFE de CommonMark en la configuración del sitio.
|
# SAFE de CommonMark en la configuración del sitio.
|
||||||
def sanitize(string)
|
def sanitize(string)
|
||||||
string.unicode_normalize(:nfkc)
|
string.unicode_normalize
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -25,6 +25,6 @@ class MetadataMarkdownContent < MetadataText
|
||||||
# markdown y se eliminan autolinks. Mejor es deshabilitar la
|
# markdown y se eliminan autolinks. Mejor es deshabilitar la
|
||||||
# generación SAFE de CommonMark en la configuración del sitio.
|
# generación SAFE de CommonMark en la configuración del sitio.
|
||||||
def sanitize(string)
|
def sanitize(string)
|
||||||
string.tr("\r", '').unicode_normalize(:nfkc)
|
string.tr("\r", '').unicode_normalize
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -19,7 +19,7 @@ class MetadataPermalink < MetadataString
|
||||||
# puntos suspensivos, la primera / para que siempre sea relativa y
|
# puntos suspensivos, la primera / para que siempre sea relativa y
|
||||||
# agregamos una / al final si la ruta no tiene extensión.
|
# agregamos una / al final si la ruta no tiene extensión.
|
||||||
def sanitize(value)
|
def sanitize(value)
|
||||||
value = value.strip.unicode_normalize(:nfkc).gsub('..', '/').gsub('./', '').squeeze('/')
|
value = value.strip.unicode_normalize.gsub('..', '/').gsub('./', '').squeeze('/')
|
||||||
value = value[1..-1] if value.start_with? '/'
|
value = value[1..-1] if value.start_with? '/'
|
||||||
value += '/' if File.extname(value).blank?
|
value += '/' if File.extname(value).blank?
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,7 @@ class MetadataString < MetadataTemplate
|
||||||
def sanitize(string)
|
def sanitize(string)
|
||||||
return '' if string.blank?
|
return '' if string.blank?
|
||||||
|
|
||||||
sanitizer.sanitize(string.strip.unicode_normalize(:nfkc),
|
sanitizer.sanitize(string.strip.unicode_normalize,
|
||||||
tags: [],
|
tags: [],
|
||||||
attributes: []).strip.html_safe
|
attributes: []).strip.html_safe
|
||||||
end
|
end
|
||||||
|
|
|
@ -185,7 +185,7 @@ MetadataTemplate = Struct.new(:site, :document, :name, :label, :type,
|
||||||
return string unless string.is_a? String
|
return string unless string.is_a? String
|
||||||
|
|
||||||
sanitizer
|
sanitizer
|
||||||
.sanitize(string.tr("\r", '').unicode_normalize(:nfkc),
|
.sanitize(string.tr("\r", '').unicode_normalize,
|
||||||
tags: allowed_tags,
|
tags: allowed_tags,
|
||||||
attributes: allowed_attributes)
|
attributes: allowed_attributes)
|
||||||
.strip
|
.strip
|
||||||
|
|
Loading…
Reference in a new issue