summaryrefslogtreecommitdiff
path: root/_plugins/ProjectGenerator.rb
diff options
context:
space:
mode:
Diffstat (limited to '_plugins/ProjectGenerator.rb')
-rw-r--r--_plugins/ProjectGenerator.rb28
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