Class: Jekyll::SeoTag::JSONLDDrop
- Inherits:
-
Drops::Drop
- Object
- Drops::Drop
- Jekyll::SeoTag::JSONLDDrop
- Extended by:
- Forwardable
- Defined in:
- lib/starter_web/_plugins/seo/j1-seo-tags.rb
Instance Method Summary collapse
- #author ⇒ Object
- #fallback_data ⇒ Object
- #image ⇒ Object
-
#initialize(page_drop) ⇒ JSONLDDrop
constructor
page_drop should be an instance of Jekyll::SeoTag::Drop.
- #publisher ⇒ Object
-
#to_json(state = nil) ⇒ Object
Returns a JSON-encoded object containing the JSON-LD data.
Constructor Details
#initialize(page_drop) ⇒ JSONLDDrop
page_drop should be an instance of Jekyll::SeoTag::Drop
760 761 762 763 |
# File 'lib/starter_web/_plugins/seo/j1-seo-tags.rb', line 760 def initialize(page_drop) @mutations = {} @page_drop = page_drop end |
Instance Method Details
#author ⇒ Object
771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 |
# File 'lib/starter_web/_plugins/seo/j1-seo-tags.rb', line 771 def return unless page_drop.["name"] = page_drop.["type"] return if && !VALID_AUTHOR_TYPES.include?() hash = { "@type" => || "Person", "name" => page_drop.["name"], } = page_drop.["url"] hash["url"] = if hash end |
#fallback_data ⇒ Object
765 766 767 768 769 |
# File 'lib/starter_web/_plugins/seo/j1-seo-tags.rb', line 765 def fallback_data @fallback_data ||= { "@context" => "https://schema.org", } end |
#image ⇒ Object
788 789 790 791 792 793 794 795 796 |
# File 'lib/starter_web/_plugins/seo/j1-seo-tags.rb', line 788 def image return unless page_drop.image return page_drop.image.path if page_drop.image.keys.length == 1 hash = page_drop.image.to_h hash["url"] = hash.delete("path") hash["@type"] = "imageObject" hash end |
#publisher ⇒ Object
798 799 800 801 802 803 804 805 806 807 808 809 810 |
# File 'lib/starter_web/_plugins/seo/j1-seo-tags.rb', line 798 def publisher return unless logo output = { "@type" => "Organization", "logo" => { "@type" => "ImageObject", "url" => logo, }, } output["name"] = page_drop..name if page_drop..name output end |
#to_json(state = nil) ⇒ Object
Returns a JSON-encoded object containing the JSON-LD data. Keys are sorted.
825 826 827 828 829 830 |
# File 'lib/starter_web/_plugins/seo/j1-seo-tags.rb', line 825 def to_json(state = nil) keys.sort.each_with_object({}) do |(key, _), result| v = self[key] result[key] = v unless v.nil? end.to_json(state) end |