Class: Jekyll::SeoTag::AuthorDrop
- Inherits:
-
Drops::Drop
- Object
- Drops::Drop
- Jekyll::SeoTag::AuthorDrop
- Defined in:
- lib/jekyll-seo-tag/author_drop.rb
Overview
A drop representing the current page’s author
Author name will be pulled from:
-
The page’s ‘author` key
-
The first author in the page’s ‘authors` key
-
The ‘author` key in the site config
If the result from the name search is a string, we’ll also check for additional author metadata in ‘site.data.authors`
Instance Method Summary collapse
-
#initialize(page: nil, site: nil) ⇒ AuthorDrop
constructor
Initialize a new AuthorDrop.
-
#name ⇒ Object
(also: #to_s)
AuthorDrop#to_s should return name, allowing the author drop to safely replace ‘page.author`, if necessary, and remain backwards compatible.
- #twitter ⇒ Object
Constructor Details
#initialize(page: nil, site: nil) ⇒ AuthorDrop
Initialize a new AuthorDrop
page - The page hash (e.g., Page#to_liquid) site - The Jekyll::Drops::SiteDrop
20 21 22 23 24 25 26 |
# File 'lib/jekyll-seo-tag/author_drop.rb', line 20 def initialize(page: nil, site: nil) raise ArgumentError unless page && site @mutations = {} @page = page @site = site end |
Instance Method Details
#name ⇒ Object Also known as: to_s
AuthorDrop#to_s should return name, allowing the author drop to safely replace ‘page.author`, if necessary, and remain backwards compatible
30 31 32 |
# File 'lib/jekyll-seo-tag/author_drop.rb', line 30 def name ["name"] end |
#twitter ⇒ Object
35 36 37 38 39 40 |
# File 'lib/jekyll-seo-tag/author_drop.rb', line 35 def twitter return @twitter if defined? @twitter twitter = ["twitter"] || ["name"] @twitter = twitter.is_a?(String) ? twitter.sub(%r!^@!, "") : nil end |