5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-05-05 18:17:03 +00:00

normalizar strings sin romperlas

en castellano no nos afectó pero en árabe rompe el significado
This commit is contained in:
f 2022-04-28 10:34:57 -03:00
parent 4d6a26d671
commit eb7d0679bb
7 changed files with 7 additions and 7 deletions

View file

@ -19,7 +19,7 @@ module ActiveStorage
# stack.
def blob_args
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

View file

@ -11,7 +11,7 @@ module ActionDispatch
# Devolver el nombre de archivo con caracteres unicode
# normalizados
def original_filename
@original_filename.unicode_normalize(:nfkc)
@original_filename.unicode_normalize
end
end
end

View file

@ -12,6 +12,6 @@ class MetadataMarkdown < MetadataText
# markdown y se eliminan autolinks. Mejor es habilitar la generación
# SAFE de CommonMark en la configuración del sitio.
def sanitize(string)
string.unicode_normalize(:nfkc)
string.unicode_normalize
end
end

View file

@ -25,6 +25,6 @@ class MetadataMarkdownContent < MetadataText
# markdown y se eliminan autolinks. Mejor es deshabilitar la
# generación SAFE de CommonMark en la configuración del sitio.
def sanitize(string)
string.tr("\r", '').unicode_normalize(:nfkc)
string.tr("\r", '').unicode_normalize
end
end

View file

@ -19,7 +19,7 @@ class MetadataPermalink < MetadataString
# puntos suspensivos, la primera / para que siempre sea relativa y
# agregamos una / al final si la ruta no tiene extensión.
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 += '/' if File.extname(value).blank?

View file

@ -17,7 +17,7 @@ class MetadataString < MetadataTemplate
def sanitize(string)
return '' if string.blank?
sanitizer.sanitize(string.strip.unicode_normalize(:nfkc),
sanitizer.sanitize(string.strip.unicode_normalize,
tags: [],
attributes: []).strip.html_safe
end

View file

@ -185,7 +185,7 @@ MetadataTemplate = Struct.new(:site, :document, :name, :label, :type,
return string unless string.is_a? String
sanitizer
.sanitize(string.tr("\r", '').unicode_normalize(:nfkc),
.sanitize(string.tr("\r", '').unicode_normalize,
tags: allowed_tags,
attributes: allowed_attributes)
.strip