diff --git a/app/models/metadata_markdown.rb b/app/models/metadata_markdown.rb index bad2b5a..1e8b4fc 100644 --- a/app/models/metadata_markdown.rb +++ b/app/models/metadata_markdown.rb @@ -1,3 +1,17 @@ # frozen_string_literal: true -class MetadataMarkdown < MetadataText; end +# Markdown +class MetadataMarkdown < MetadataText + # Renderizar a HTML y sanitizar + def to_s + sanitize CommonMarker.render_doc(value, %i[FOOTNOTES SMART], + %i[table strikethrough autolink]).to_html + end + + # XXX: No sanitizamos acá porque se escapan varios símbolos de + # markdown y se eliminan autolinks. Mejor es habilitar la generación + # SAFE de CommonMark en la configuración del sitio. + def sanitize(string) + string + end +end diff --git a/app/models/metadata_markdown_content.rb b/app/models/metadata_markdown_content.rb index 890ffff..1cd196c 100644 --- a/app/models/metadata_markdown_content.rb +++ b/app/models/metadata_markdown_content.rb @@ -1,17 +1,8 @@ # frozen_string_literal: true # Contenido con el editor de Markdown -class MetadataMarkdownContent < MetadataContent - # Renderizar a HTML y sanitizar - def to_s - sanitize CommonMarker.render_doc(value, %i[FOOTNOTES SMART], - %i[table strikethrough autolink]).to_html - end - - # XXX: No sanitizamos acá porque se escapan varios símbolos de - # markdown y se eliminan autolinks. Mejor es habilitar la generación - # SAFE de CommonMark en la configuración del sitio. - def sanitize(string) - string +class MetadataMarkdownContent < MetadataMarkdown + def front_matter? + false end end diff --git a/app/views/posts/attribute_ro/_markdown.haml b/app/views/posts/attribute_ro/_markdown.haml new file mode 100644 index 0000000..f2929a1 --- /dev/null +++ b/app/views/posts/attribute_ro/_markdown.haml @@ -0,0 +1,3 @@ +%tr{ id: attribute } + %th= post_label_t(attribute, post: post) + %td{ lang: locale, dir: dir }= metadata.value.to_s.html_safe