module Jekyll::DocFilters
Public Instance Methods
notable(docs)
click to toggle source
# File _plugins/doc_filters.rb, line 6 def notable(docs) return docs.select { |d| d.data.include?('notable') && (d.data['notable'] == true) } end
recent(docs, num=10)
click to toggle source
returns most recently created/updated docs up to the defined 'num'ber. adds a 'weather' data attribute to render on the page.
# File _plugins/doc_filters.rb, line 12 def recent(docs, num=10) return if docs.nil? num = self.to_integer(num) # sort docs by most recently updated recent_docs = docs.sort_by { |d| d.data['updated'] }.reverse[0..(num - 1)] # assign weather attribute: if 'created' and 'updated' happened on the same day, presume creation status. recent_docs.each do |docs| day_created = Time.at(docs.data['created']).to_date day_updated = Time.at(docs.data['updated']).to_date end return recent_docs end
to_integer(num)
click to toggle source
from: github.com/Shopify/liquid/blob/eab13a07d9861a38d993d2749ae25f06ff76426b/lib/liquid/utils.rb#L38
# File _plugins/doc_filters.rb, line 32 def to_integer(num) return num if num.is_a?(Integer) num = num.to_s begin Integer(num) rescue ::ArgumentError raise ArgumentError, "invalid integer" end end
weather(doc)
click to toggle source
# File _plugins/doc_filters.rb, line 25 def weather(doc) day_created = Time.at(doc['created']).to_date day_updated = Time.at(doc['updated']).to_date return day_created === day_updated ? "🌤" : "🌧" end