diff --git a/_plugins/authors.rb b/_plugins/authors.rb
new file mode 100644
index 0000000..d30c85e
--- /dev/null
+++ b/_plugins/authors.rb
@@ -0,0 +1,44 @@
+require 'digest/md5'
+module Jekyll
+
+ class Author
+ attr_accessor :author, :posts
+ def initialize(author, posts)
+ self.author = author
+ self.posts = posts
+ end
+
+ def to_liquid
+ hash = Digest::MD5.hexdigest(self.author['mail'])
+ text = "
#{self.author['name']}"
+ text += "Posts:
"
+ text += ""
+ self.posts.each do |p|
+ text += "- #{p[:title]}
"
+ end
+ text += "
"
+ text
+ end
+ end
+
+ class AuthorsPageGenerator < Generator
+ safe true
+
+ def generate(site)
+ authors = {}
+ site.posts.docs.each do |post|
+ if !authors[post.data["author"]["github"]].nil?
+ authors[post.data["author"]["github"]][:posts] << {:url => post.url, :title => post.data["title"]}
+ else
+ authors[post.data["author"]["github"]] = {:author => post.data["author"], :posts => [{:url => post.url, :title => post.data["title"]}]}
+ end
+ end
+ authors_page = site.pages.detect {|page| page.name == 'authors.html'}
+ authors_page.data['authors'] = []
+ authors.each do |author, post_data|
+ authors_page.data['authors'] << Author.new(post_data[:author], post_data[:posts])
+ end
+ end
+ end
+
+end
diff --git a/_sass/_layout.scss b/_sass/_layout.scss
index 29b5e1c..dceb8ba 100644
--- a/_sass/_layout.scss
+++ b/_sass/_layout.scss
@@ -429,3 +429,5 @@ pre code.hljs {
}
}
}
+
+.gravatar{ width: 100px;}
diff --git a/authors.html b/authors.html
new file mode 100644
index 0000000..e1655ac
--- /dev/null
+++ b/authors.html
@@ -0,0 +1,9 @@
+---
+layout: page
+title: "Autores"
+permalink: /authors/
+---
+ {% for author in page.authors %}
+ {{ author }}
+
+ {% endfor %}