2020-05-26 22:26:19 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2020-06-09 14:28:18 +00:00
|
|
|
# Contenido con el editor de Markdown
|
2021-03-03 12:46:02 +00:00
|
|
|
class MetadataMarkdownContent < MetadataText
|
2020-06-25 19:29:14 +00:00
|
|
|
# Renderizar a HTML y sanitizar
|
|
|
|
def to_s
|
|
|
|
sanitize CommonMarker.render_doc(value, %i[FOOTNOTES SMART],
|
|
|
|
%i[table strikethrough autolink]).to_html
|
|
|
|
end
|
|
|
|
|
2021-03-03 12:46:02 +00:00
|
|
|
def value
|
|
|
|
self[:value] || value_from_document || default_value
|
|
|
|
end
|
|
|
|
|
|
|
|
def front_matter?
|
|
|
|
false
|
|
|
|
end
|
|
|
|
|
|
|
|
def value_from_document
|
|
|
|
document.content
|
|
|
|
end
|
|
|
|
|
2020-06-25 19:29:14 +00:00
|
|
|
# XXX: No sanitizamos acá porque se escapan varios símbolos de
|
2020-07-02 14:26:00 +00:00
|
|
|
# markdown y se eliminan autolinks. Mejor es deshabilitar la
|
|
|
|
# generación SAFE de CommonMark en la configuración del sitio.
|
2020-06-25 19:29:14 +00:00
|
|
|
def sanitize(string)
|
2020-08-15 14:58:28 +00:00
|
|
|
string.tr("\r", '')
|
2020-06-09 14:28:18 +00:00
|
|
|
end
|
2020-05-26 22:26:19 +00:00
|
|
|
end
|