X-Git-Url: https://git.ralfj.de/web.git/blobdiff_plain/46450d541f39450fbca2bfef9f9a071b97497b6d..33e80d85e602c0771d3403c9740ae7972bef55ae:/_plugins/readmes.rb?ds=inline diff --git a/_plugins/readmes.rb b/_plugins/readmes.rb index 272e849..f702589 100644 --- a/_plugins/readmes.rb +++ b/_plugins/readmes.rb @@ -1,7 +1,7 @@ module Jekyll class ReadmePage < Page - def initialize(site, base, dir, src) + def initialize(site, base, dir, src, idx) @site = site @base = base @dir = dir @@ -12,22 +12,28 @@ module Jekyll 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.data['layout'] = 'page' + self.data['title'] = content[0].match(/^#* ?(.*)\n$/)[1] + slug = self.data['title'].match(/^([^:]*):.*$/) + if slug + self.data['slug'] = slug[1] + end + self.data['sort'] = idx self.content = content[1..content.size].join end end - class CategoryPageGenerator < Generator + class ReadmePageGenerator < Generator safe true def generate(site) readmes = site.config['readmes'] base = readmes['src_base'] dir = readmes['out_base'] + idx = 0 for project in readmes['projects'] - site.pages << ReadmePage.new(site, site.source, File.join(dir, project['name']), File.join(base, project['name'], 'README.md')) + site.pages << ReadmePage.new(site, site.source, File.join(dir, project['name']), File.join(base, project['src'] ? project['src'] : project['name'], 'README.md'), idx) + idx += 1 end end end