Convert the whole site to use Pelican instead of Jekyll
This commit is contained in:
70
content/failmeter/js/failmeter.js
Normal file
70
content/failmeter/js/failmeter.js
Normal file
@@ -0,0 +1,70 @@
|
||||
var max_points = 0;
|
||||
var points = 0;
|
||||
|
||||
function append_point_values() {
|
||||
$('li[data-points]').each(function() {
|
||||
points = $(this).attr('data-points');
|
||||
$(this).append(' [' + points + ' points of FAIL]');
|
||||
});
|
||||
}
|
||||
|
||||
function calc_max_points() {
|
||||
$('ul:not(.choose-one) > li[data-points]').each(function() {
|
||||
points = $(this).attr('data-points');
|
||||
max_points += +points;
|
||||
});
|
||||
|
||||
$('li:has(ul.choose-one)').each(function() {
|
||||
var this_max = NaN;
|
||||
$(this).children('ul.choose-one').children('li').each(function() {
|
||||
points = +$(this).attr('data-points');
|
||||
|
||||
if (isNaN(this_max) || points > this_max) {
|
||||
this_max = points;
|
||||
}
|
||||
});
|
||||
|
||||
max_points += this_max;
|
||||
});
|
||||
}
|
||||
|
||||
function update_points() {
|
||||
var points = 0;
|
||||
|
||||
$('.active').each(function() {
|
||||
points += +$(this).attr('data-points');
|
||||
});
|
||||
|
||||
if (max_points == 0) {
|
||||
percent = 0;
|
||||
} else {
|
||||
percent = points / max_points * 100;
|
||||
}
|
||||
|
||||
$('#failmeter').attr('aria-valuenow', percent).css('width', percent + '%');
|
||||
$('#points').html(points + '/' + max_points);
|
||||
|
||||
if (percent == 0) {
|
||||
failtext = 'Perfect! All signs point to succes!';
|
||||
type = 'success';
|
||||
} else if (percent < 1.6) {
|
||||
failtext = 'You are probably doing okay, but you could be better.';
|
||||
type = 'success';
|
||||
} else if (percent < 3.8) {
|
||||
failtext = 'Babies cry when your code is downloaded.';
|
||||
type = 'info';
|
||||
} else if (percent < 5.7) {
|
||||
failtext = 'Kittens die when your code is downloaded.';
|
||||
type = 'warning';
|
||||
} else if (percent < 8.2) {
|
||||
failtext = 'HONK HONK. THE FAILBOAT HAS ARRIVED!';
|
||||
type = 'danger';
|
||||
} else {
|
||||
failtext = 'So much fail, your code should have its own reality show.';
|
||||
type = 'danger';
|
||||
}
|
||||
|
||||
$('#failmeter').removeClass('progress-bar-success progress-bar-info progress-bar-warning progress-bar-danger');
|
||||
$('#failmeter').addClass('progress-bar-' + type);
|
||||
$('#failtext').html(failtext);
|
||||
}
|
Reference in New Issue
Block a user