X-Git-Url: https://git.ralfj.de/web.git/blobdiff_plain/bc8bbcf168afb52ec0bdd219122e8b817c361468..46450d541f39450fbca2bfef9f9a071b97497b6d:/_plugins/readmes.rb?ds=inline diff --git a/_plugins/readmes.rb b/_plugins/readmes.rb new file mode 100644 index 0000000..272e849 --- /dev/null +++ b/_plugins/readmes.rb @@ -0,0 +1,35 @@ +module Jekyll + + class ReadmePage < Page + def initialize(site, base, dir, src) + @site = site + @base = base + @dir = dir + @name = 'index.md' + + self.process(@name) + self.data ||= {} + + content = File.read(src, self.merged_file_read_opts({})).each_line.to_a + + self.data['layout'] = 'default' + self.data['title'] = content[0].match(/^# (.*)\n$/)[1] + self.data['slug'] = self.data['title'].match(/^(.*):.*$/)[1] + self.content = content[1..content.size].join + end + end + + class CategoryPageGenerator < Generator + safe true + + def generate(site) + readmes = site.config['readmes'] + base = readmes['src_base'] + dir = readmes['out_base'] + for project in readmes['projects'] + site.pages << ReadmePage.new(site, site.source, File.join(dir, project['name']), File.join(base, project['name'], 'README.md')) + end + end + end + +end