diff options
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.rb | 45 |
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 |