end
end
# sort the result before returning it
- result.sort_by { |a| a['url'] }
+ result.sort_by { |a| [a['sort'], a['url']] }
end
create_menu(input, "", displayurl.sub('/index.html', ''))
module Jekyll
class ReadmePage < Page
- def initialize(site, base, dir, src)
+ def initialize(site, base, dir, src, idx)
@site = site
@base = base
@dir = dir
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['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
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