|
@@ -13,8 +13,14 @@ module Jekyll
|
|
def initialize(icon_object)
|
|
def initialize(icon_object)
|
|
@icon_object = icon_object
|
|
@icon_object = icon_object
|
|
|
|
|
|
|
|
+ # Class name used in CSS and HTML
|
|
|
|
+ @icon_object['class'] = icon_object['id']
|
|
|
|
+ # Normalize the aliases
|
|
|
|
+ @icon_object['aliases'] ||= []
|
|
|
|
+
|
|
@name = icon_object['name']
|
|
@name = icon_object['name']
|
|
@id = icon_object['id']
|
|
@id = icon_object['id']
|
|
|
|
+ @class = icon_object['class']
|
|
@aliases = icon_object['aliases']
|
|
@aliases = icon_object['aliases']
|
|
@unicode = icon_object['unicode']
|
|
@unicode = icon_object['unicode']
|
|
@created = icon_object['created']
|
|
@created = icon_object['created']
|
|
@@ -56,6 +62,25 @@ module Jekyll
|
|
end
|
|
end
|
|
|
|
|
|
module IconFilters
|
|
module IconFilters
|
|
|
|
+ def expand_aliases(icons)
|
|
|
|
+ expanded = []
|
|
|
|
+
|
|
|
|
+ icons.each { |icon|
|
|
|
|
+ # Remove the aliases since we are expanding them
|
|
|
|
+ expanded << icon.reject{ |k| k == 'aliases'}
|
|
|
|
+
|
|
|
|
+ icon['aliases'].each { |alias_id|
|
|
|
|
+ alias_icon = expanded[-1].dup
|
|
|
|
+ alias_icon['class'] = alias_id
|
|
|
|
+ alias_icon['alias_of'] = icon
|
|
|
|
+
|
|
|
|
+ expanded << alias_icon
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return expanded
|
|
|
|
+ end
|
|
|
|
+
|
|
def category(icons, cat)
|
|
def category(icons, cat)
|
|
icons.select { |icon| icon['categories'].include?(cat) }
|
|
icons.select { |icon| icon['categories'].include?(cat) }
|
|
end
|
|
end
|
|
@@ -63,6 +88,10 @@ module Jekyll
|
|
def version(icons, version)
|
|
def version(icons, version)
|
|
icons.select { |icon| icon['created'] == version }
|
|
icons.select { |icon| icon['created'] == version }
|
|
end
|
|
end
|
|
|
|
+
|
|
|
|
+ def sort_by(icons, sort_key)
|
|
|
|
+ icons.sort_by! { |icon| icon[sort_key] }
|
|
|
|
+ end
|
|
end
|
|
end
|
|
|
|
|
|
Liquid::Template.register_filter(IconFilters)
|
|
Liquid::Template.register_filter(IconFilters)
|