sutty/app/models/metadata_markdown_content.rb
f c3a8b2401c estandarizar la forma de obtener el valor de los documentos
teníamos dos métodos que hacían lo mismo y generaban conflictos al
obtener el valor por defecto de los arrays cuando no eran arrays.
2021-06-16 11:35:37 -03:00

30 lines
743 B
Ruby

# frozen_string_literal: true
# Contenido con el editor de Markdown
class MetadataMarkdownContent < MetadataText
# Renderizar a HTML y sanitizar
def to_s
sanitize CommonMarker.render_doc(value, %i[FOOTNOTES SMART],
%i[table strikethrough autolink]).to_html
end
def value
self[:value] || document_value || default_value
end
def front_matter?
false
end
# @return [String]
def document_value
document.content
end
# XXX: No sanitizamos acá porque se escapan varios símbolos de
# 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", '')
end
end