5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-11-24 11:26:23 +00:00
panel/app/models/metadata_markdown_content.rb
f 915ba0761f
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
feat: usar mixins
2023-10-06 10:53:19 -03:00

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