Snippet definition for ogt_regexp.rb
# data-vocabulary `Person` snippet:
module RDF::Linter
{
%r(http://types.ogp.me/ns\#) => "http://ogp.me/ns#",
%r(http://opengraphprotocol.org/types/) => "http://opengraphprotocol.org/schema/",
}.each do |type, prefix|
LINTER_HAML.merge!({
type => {
:identifier => type.to_s,
# Properties to be used in snippet title
:title_props => [
"#{prefix}site_name",
"http://purl.org/dc/terms/title"
],
:nested_props => ["http://purl.org/dc/terms/title"],
:photo_props => ["#{prefix}image"],
:body_props => [
"#{prefix}url",
"#{prefix}date",
],
:description_props => ["http://purl.org/rss/1.0/modules/content/encoded"],
:property_value => %(
- if res = yield(object)
!= res
- elsif predicate == "#{prefix}image"
%img{:property => rel, :src => object.to_s, :alt => ""}
- elsif object.literal? && object.datatype == "http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral"
%div{:property => property, :lang => get_lang(object), :datatype => get_dt_curie(object)}
!= object
- elsif object.literal?
%span{:property => property, :content => get_content(object), :lang => get_lang(object), :datatype => get_dt_curie(object)}= escape_entities(get_value(object))
- else
%span{:property => rel, :resource => get_curie(object)}
),
# Priority of this snippet when multiple are matched. If it's missing, it's assumed to be 99
# When multiple snippets are matched by an object, the one with the highest priority wins.
:priority => 80,
}
})
end
end