algunos metadatos son indexables

solo los de texto que no se refieran a otros artículos por ahora
This commit is contained in:
f 2021-05-06 12:33:28 -03:00
parent 655e07cd40
commit 26d186721d
6 changed files with 34 additions and 0 deletions

View file

@ -13,6 +13,14 @@ class MetadataArray < MetadataTemplate
false
end
def indexable?
true
end
def to_s
value.join(', ')
end
private
# TODO: Sanitizar otros valores

View file

@ -19,6 +19,14 @@ class MetadataContent < MetadataTemplate
document.content
end
def indexable?
true
end
def to_s
sanitizer.sanitize value, tags: [], attributes: []
end
private
# Detectar si el contenido estaba en Markdown y pasarlo a HTML

View file

@ -11,6 +11,10 @@ class MetadataDocumentDate < MetadataTemplate
document.date
end
def indexable?
true
end
# El valor puede ser un Date, Time o una String en el formato
# "yyyy-mm-dd"
def value

View file

@ -18,6 +18,10 @@ class MetadataRelatedPosts < MetadataArray
false
end
def indexable?
false
end
private
# Obtiene todos los posts y opcionalmente los filtra

View file

@ -7,6 +7,10 @@ class MetadataString < MetadataTemplate
super || ''
end
def indexable?
true
end
private
# No se permite HTML en las strings

View file

@ -7,6 +7,12 @@
MetadataTemplate = Struct.new(:site, :document, :name, :label, :type,
:value, :help, :required, :errors, :post,
:layout, keyword_init: true) do
# Determina si el campo es indexable
def indexable?
false
end
def inspect
"#<#{self.class} site=#{site.name.inspect} post=#{post.id.inspect} value=#{value.inspect}>"
end