mirror of
https://0xacab.org/sutty/sutty
synced 2024-11-24 11:36:23 +00:00
38 lines
912 B
Ruby
38 lines
912 B
Ruby
# frozen_string_literal: true
|
|
|
|
# Contenido con el editor de Markdown
|
|
#
|
|
# @todo Deprecar
|
|
class MetadataMarkdownContent < MetadataText
|
|
include Metadata::ContentConcern
|
|
|
|
# Renderizar a HTML y sanitizar
|
|
def to_s
|
|
sanitize CommonMarker.render_doc(value, %i[FOOTNOTES SMART],
|
|
%i[table strikethrough autolink]).to_html
|
|
end
|
|
|
|
# @return [String]
|
|
def value
|
|
self[:value] || document_value || default_value
|
|
end
|
|
|
|
# Obtener el contenido desde el documento
|
|
#
|
|
# @return [String]
|
|
def document_value
|
|
document.content
|
|
end
|
|
|
|
private
|
|
|
|
# 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.
|
|
#
|
|
# @param :string [String]
|
|
# @return [String]
|
|
def sanitize(string)
|
|
string.tr("\r", '').unicode_normalize
|
|
end
|
|
end
|