summaryrefslogtreecommitdiff
path: root/pyssg.xyz/live/static/fork-awesome/src/doc/_plugins/icon_page_generator.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/icon_page_generator.rb
parentca643e729e585d4077c0e84de97a020d04bf551a (diff)
update pyssg.xyz site files
Diffstat (limited to 'pyssg.xyz/live/static/fork-awesome/src/doc/_plugins/icon_page_generator.rb')
-rw-r--r--pyssg.xyz/live/static/fork-awesome/src/doc/_plugins/icon_page_generator.rb45
1 files changed, 45 insertions, 0 deletions
diff --git a/pyssg.xyz/live/static/fork-awesome/src/doc/_plugins/icon_page_generator.rb b/pyssg.xyz/live/static/fork-awesome/src/doc/_plugins/icon_page_generator.rb
new file mode 100644
index 0000000..0daadf3
--- /dev/null
+++ b/pyssg.xyz/live/static/fork-awesome/src/doc/_plugins/icon_page_generator.rb
@@ -0,0 +1,45 @@
+##
+# Create individual pages for each icon in the FontAwesome set
+
+require 'yaml'
+
+module Jekyll
+
+ class IconPage < Page
+
+ ##
+ # Take a single icon and render a page for it.
+
+ def initialize(site, base, dir, icon)
+ @site = site
+ @base = base
+ @dir = dir
+ @name = "#{icon.id}.html"
+ @icon = icon
+
+ self.process(@name)
+
+ self.read_yaml(File.join(base, site.config['layouts_dir']), site.config['icon_layout'])
+
+ self.data['icon'] = icon
+ self.data['title'] = "fa-#{icon.id}: " + self.data['title_suffix']
+ end
+
+ end
+
+ class IconGenerator < Generator
+
+ ##
+ # Iterate over every described icon in a YAML file and create a page for it
+
+ safe true
+
+ def generate(site)
+ site.icons.each do |icon|
+ site.pages << IconPage.new(site, site.source, site.config['icon_destination'], icon)
+ end
+ end
+
+ end
+
+end