summaryrefslogtreecommitdiff
path: root/pyssg.xyz/live/static/fork-awesome/src/doc/_plugins/flatten_icon_filters.rb
diff options
context:
space:
mode:
authorDavid Luevano Alvarado <david@luevano.xyz>2022-12-13 00:11:16 -0600
committerDavid Luevano Alvarado <david@luevano.xyz>2022-12-13 00:11:16 -0600
commitdb4b3736d4f45137a733ce5eb1e50aec968ca1d2 (patch)
treea68b12886c8fbf9952c19a4f3cc7f819a6913bfe /pyssg.xyz/live/static/fork-awesome/src/doc/_plugins/flatten_icon_filters.rb
parentca643e729e585d4077c0e84de97a020d04bf551a (diff)
update pyssg.xyz site files
Diffstat (limited to 'pyssg.xyz/live/static/fork-awesome/src/doc/_plugins/flatten_icon_filters.rb')
-rw-r--r--pyssg.xyz/live/static/fork-awesome/src/doc/_plugins/flatten_icon_filters.rb38
1 files changed, 38 insertions, 0 deletions
diff --git a/pyssg.xyz/live/static/fork-awesome/src/doc/_plugins/flatten_icon_filters.rb b/pyssg.xyz/live/static/fork-awesome/src/doc/_plugins/flatten_icon_filters.rb
new file mode 100644
index 0000000..1e3daff
--- /dev/null
+++ b/pyssg.xyz/live/static/fork-awesome/src/doc/_plugins/flatten_icon_filters.rb
@@ -0,0 +1,38 @@
+##
+# Flattens the icons object to a one-dimensional array of possible search terms.
+
+require 'set'
+
+module Jekyll
+ module FlattenArray
+ def flattenIconFilters(icons)
+ flattened = Set.new
+ icons.each do |icon|
+ toAdd = []
+
+ toAdd.push(icon["class"].downcase) # Add class as a filter value
+
+ # Add any existing aliases as a filter value
+ if not icon["aliases"].nil?
+ icon["aliases"].each do |iconAlias|
+ toAdd.push(iconAlias.downcase)
+ end
+ end
+
+ # Add any existing filters as a filter value
+ if not icon["filter"].nil?
+ icon["filter"].each do |iconFilter|
+ toAdd.push(iconFilter.downcase)
+ end
+ end
+ flattened.merge(toAdd)
+
+ print toAdd if toAdd.include? true
+ print toAdd if toAdd.include? false
+ end
+ return flattened.to_a # .to_a because we can't jsonify a <Set>
+ end
+ end
+end
+
+Liquid::Template.register_filter(Jekyll::FlattenArray)