Skip to content

Commit 082b60a

Browse files
committed
Move contributors-name-mapping to YAML data file, and inline into relevant HTML files
Because that's more convenient, and because there's not much data in there, so performance / page size is not an issue.
1 parent fd05c75 commit 082b60a

File tree

5 files changed

+145
-126
lines changed

5 files changed

+145
-126
lines changed

_data/contributors-name-mapping.yml

+100
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
abrin: Adam Brin
2+
adamw: Adam Warski
3+
ajaybhat: Ajay Bhat
4+
ajf8: Alan F
5+
alesj: Aleš Justin
6+
alexsnaps: Alex Snaps
7+
alhafoudh: Ahmed Al Hafoudh
8+
altus34: David Avenante
9+
anistor: Adrian Nistor
10+
barreiro: Luis Barreiro
11+
bayerls: Sebastian Bayerl
12+
beikov: Christian Beikov
13+
benson-basis: Benson Margulies
14+
BrentDouglas: Brent Douglas
15+
brmeyer: Brett Meyer
16+
causton81: Chris
17+
civanyp: Christian Ivan
18+
DavideD: Davide D'Alto
19+
davidedisomma: Davide Di Somma
20+
denistiago: Denis Tiago
21+
dernasherbrezon: dernasherbrezon
22+
djydewang:
23+
DMasherov:
24+
dreab8: Andrea Boriero
25+
edalquist: Eric Dalquist
26+
Elmervc: Elmer van Chastelet
27+
emmanuelbernard: Emmanuel Bernard
28+
flibbertigibbet: Kathryn Killebrew
29+
francoisledroff: Francois Le Droff
30+
frekele: Leandro Kersting de Freitas
31+
gavinking: Gavin King
32+
galderz: Galder Zamarreño
33+
gastaldi: George Gastaldi
34+
gbadner: Gail Badner
35+
gfouquet: Grégory Fouquet
36+
golovnin: Andrej Golovnin
37+
gscheibel: Guillaume Scheibel
38+
gsmet: Guillaume Smet
39+
gunnarmorling: Gunnar Morling
40+
gustavonalle: Gustavo Fernandes
41+
hferentschik: Hardy Ferentschik
42+
hholierhoek:
43+
Hilmerc:
44+
jhalliday:
45+
JiriBilek: Jiri Bilek
46+
jmartisk: Jan Martiska
47+
joexner:
48+
jonathanwood: Jonathan Wood
49+
jpav: John Verhaeg
50+
jrnt30: Justin Nauman
51+
julien-may: Julien May
52+
jwillebrands: Jan-Willem Willebrands
53+
kadishmal: Esen Sagynov
54+
kariem: Kariem Hussein
55+
kevinpollet: Kevin Pollet
56+
khalidq: Khalid
57+
koentsje: Koen Aers
58+
lalmeras: Laurent
59+
lordofthejars: Alex Soto
60+
lucamolteni: Luca Molteni
61+
lukasz-antoniak: Lukasz Antoniak
62+
maesenka: Karel Maesen
63+
maniksurtani: Manik Surtani
64+
marko-bekhta: Marko Bekhta
65+
mathpere: Mathieu Perez
66+
mbladel: Marco Belladelli
67+
mbppower: Marcel Barbosa Pinto
68+
michael-simons: Michael Simons
69+
mincong-h: Mincong Huang
70+
mp911de: Mark Paluch
71+
Naros: Chris Cranford
72+
nicolaferraro: Nicola Ferraro
73+
nicolashelleringer: Nicolas Helleringer
74+
ozoli: Oliver Carr
75+
pb00068: Günther Demetz
76+
pemmasanikrishna: Radhakrishna Pemmasani
77+
plentz: Diego Plentz
78+
pmuir: Pete Muir
79+
ppitonak: Pavol Pitonak
80+
rvansa: Radim Vansa
81+
s4ke: Martin Braun
82+
Sanne: Sanne Grinovero
83+
schernolyas: Sergey Chernolyas
84+
scottmarlow: Scott Marlow
85+
sebersole: Steve Ebersole
86+
shahramgoodarzi:
87+
sharathjreddy:
88+
simkam: Martin Simka
89+
slorber: Sébastien Lorber
90+
stliu: Strong Liu (刘少壮)
91+
tonit: Toni Menzel
92+
ttretter: Timo Tretter
93+
valotas: Georgios Valotasios
94+
victor-rds: Victor Rezende dos Santos
95+
vladmihalcea: Vlad Mihalcea
96+
wolfc: Carlo de Wolf
97+
yrodiere: Yoann Rodière
98+
zackurey: Zach Kurey
99+
zbbfufu: Julien Furgerot
100+
Zuchos: Lukasz Zuchowski

_ext/data_file_parser.rb

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
require 'fileutils'
2+
require 'json'
3+
4+
module Awestruct
5+
module Extensions
6+
# Parses _data/*.yml files and makes them available under site.* (as a hash) and site.data_json.* (as a JSON string)
7+
# Release info parsing is more complex and handled in release_file_parser.rb instead.
8+
class DataFileParser
9+
10+
def initialize(data_dir="_data")
11+
@data_dir = data_dir
12+
end
13+
14+
def watch(watched_dirs)
15+
watched_dirs << @data_dir
16+
end
17+
18+
def execute(site)
19+
Dir[ "#{site.dir}/#{@data_dir}/*.yml" ].each do |file_name|
20+
data = site.engine.load_yaml( file_name )
21+
site.data_json ||= Hash.new
22+
site.data_json[File.basename(file_name, '.yml')] = data.to_json
23+
end
24+
end
25+
end
26+
end
27+
end

_ext/pipeline.rb

+2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
require 'relative'
66
require 'releases'
77
require 'release_file_parser'
8+
require 'data_file_parser'
89
require 'redirect_creator'
910
require 'directory_listing'
1011
require 'links'
@@ -45,6 +46,7 @@
4546

4647
# register extensions and transformers
4748
extension Awestruct::Extensions::ReleaseFileParser.new
49+
extension Awestruct::Extensions::DataFileParser.new
4850
transformer Awestruct::Extensions::JsMinifier.new
4951
transformer Awestruct::Extensions::CssMinifier.new
5052
transformer Awestruct::Extensions::HtmlMinifier.new

_layouts/community/community-contributors.html.haml

+16-24
Original file line numberDiff line numberDiff line change
@@ -24,30 +24,22 @@ layout: community-standard
2424

2525
:javascript
2626
$(document).ready(function() {
27-
});
28-
29-
30-
:javascript
31-
$(document).ready(function() {
32-
var contributorsNameMapping;
33-
$.getJSON( "/community/contributors/contributors-name-mapping.json", function( data ) {
34-
contributorsNameMapping = data;
35-
$.getJSON( "https://api.github.com/repos/hibernate/#{project_description.github.project}/contributors", function( data ) {
36-
var items = [];
37-
data.forEach( function( contributor ) {
38-
var contributorName = contributorsNameMapping ? (contributorsNameMapping[contributor.login] ? contributorsNameMapping[contributor.login] : contributor.login) : contributor.login;
39-
40-
items.push(
41-
$( '<div class="ui card contributor"/>' )
42-
.append( $( '<div class="image"/>' ).append( $('<img src="' + contributor.avatar_url + '" />' ) ) )
43-
.append( $( '<div class="content" />' ).append( $( '<div class="header" />' ).append( $( '<a href="' + contributor.html_url + '" />' ).text( contributorName ) ) ) )
44-
.append( $( '<div class="extra content" />' ).append( $( '<span class="right floated" />' ).text( contributor.contributions + ' commit' + ( contributor.contributions > 1 ? 's' : '' ) ) ) )
45-
);
46-
});
47-
48-
$( '#contributor-list' ).append( items );
49-
$( '#contributor-loader' ).hide();
50-
$( '#contributor-list' ).fadeIn();
27+
var contributorsNameMapping = #{site.data_json['contributors-name-mapping']}
28+
$.getJSON( "https://api.github.com/repos/hibernate/#{project_description.github.project}/contributors", function( data ) {
29+
var items = [];
30+
data.forEach( function( contributor ) {
31+
var contributorName = contributorsNameMapping[contributor.login] ? contributorsNameMapping[contributor.login] : contributor.login;
32+
33+
items.push(
34+
$( '<div class="ui card contributor"/>' )
35+
.append( $( '<div class="image"/>' ).append( $('<img src="' + contributor.avatar_url + '" />' ) ) )
36+
.append( $( '<div class="content" />' ).append( $( '<div class="header" />' ).append( $( '<a href="' + contributor.html_url + '" />' ).text( contributorName ) ) ) )
37+
.append( $( '<div class="extra content" />' ).append( $( '<span class="right floated" />' ).text( contributor.contributions + ' commit' + ( contributor.contributions > 1 ? 's' : '' ) ) ) )
38+
);
5139
});
40+
41+
$( '#contributor-list' ).append( items );
42+
$( '#contributor-loader' ).hide();
43+
$( '#contributor-list' ).fadeIn();
5244
});
5345
});

community/contributors/contributors-name-mapping.json

-102
This file was deleted.

0 commit comments

Comments
 (0)