diff options
Diffstat (limited to '_plugins/ProjectGenerator.rb')
| -rw-r--r-- | _plugins/ProjectGenerator.rb | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/_plugins/ProjectGenerator.rb b/_plugins/ProjectGenerator.rb new file mode 100644 index 0000000..2e57f8e --- /dev/null +++ b/_plugins/ProjectGenerator.rb @@ -0,0 +1,28 @@ +module Jekyll + + class ProjectPage < Page + def initialize(site, base, dir, project) + @site = site + @base = base + @dir = dir + @name = project['name'] + '.html' + + self.process(@name) + self.read_yaml(File.join(base, '_layouts'), 'project.html') + self.data['project_name'] = project['name'] + + self.data['file'] = project['file'] + end + end + + class ProjectGenerator < Generator + safe true + + def generate(site) + dir = site.config['projects_dir'] || 'Projects' + site.config['projects'].each do |project| + site.pages << ProjectPage.new(site, site.source, dir, project) + end + end + end +end |
