Advertisement
Guest User

Untitled

a guest
Apr 24th, 2019
1,324
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
jQuery 2.43 KB | None | 0 0
  1. // ==UserScript==
  2. // @name        AO3: Kudos&Comments/Chapters
  3. // @description Checks FF quality based on kudos and comments. Based on "AO3: Kudos/hits ratio".
  4. // @author      X.
  5. // @version     1.0
  6. // @grant       none
  7. // @require     https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js
  8. // @include     http://archiveofourown.org/*
  9. // @include     https://archiveofourown.org/*
  10. // ==/UserScript==
  11.  
  12. // ~~ SETTINGS ~~ //
  13. // color background depending on percentage: true/false
  14. var colorbg = true;
  15.  
  16. // ratio_red, ratio_green - background colors
  17. var eval_red = '#ffdede';
  18. var eval_green = '#c4eac3';
  19. // ~~ END OF SETTINGS ~~ //
  20.  
  21. // STUFF HAPPENS BELOW //
  22.  
  23. (function($) {
  24.  
  25. storyEval();
  26.  
  27.     function storyEval() {
  28.  
  29.             $('dl.stats').each(function() {
  30.  
  31.                 var hits_value = $(this).find('dd.hits');
  32.                 var kudos_value = $(this).find('dd.kudos');
  33.                 var comments_value = $(this).find('dd.comments');
  34.                 var chapters_value = $(this).find('dd.chapters');
  35.                 chapters_value = chapters_value.text().substr(0, chapters_value.text().indexOf('/'));
  36.  
  37.                 // parse values to int
  38.                 var comments_count = parseInt(comments_value.text());
  39.                 var kudos_count = parseInt(kudos_value.text());
  40.                 var chapters_count = parseInt(chapters_value);
  41.  
  42.                 // let's define a "good" story as one that has 10 comments and 100 kudos per chapter
  43.                 var chapters_kudos = chapters_count * 100;
  44.                 var chapters_comments = chapters_count * 10;
  45.  
  46.                 // checks if a story has more than 100 kudos and 10 comments per chapter
  47.                 var eval = false;
  48.                 var eval_message = '✅ Pass';
  49.  
  50.                 if ((kudos_count >= chapters_kudos) && (comments_count >= chapters_comments)) {
  51.                     eval = true;
  52.                 } else {
  53.                     eval_message = '❌ Fail';
  54.                 }
  55.  
  56.                 // show the results after the hits
  57.                 var eval_label = $('<dt class="kudoscomments"></dt>').text('Eval:');
  58.                 var eval_value = $('<dd class="kudoscomments"></dd>').text(eval_message);
  59.                 hits_value.after('<br>', eval_label, '\n', eval_value);
  60.  
  61.                 // colors the bg depending on the result
  62.                 if (colorbg) {
  63.                     if (eval) {
  64.                         eval_value.css('background-color', eval_green);
  65.                     }
  66.                     else {
  67.                         eval_value.css('background-color', eval_red);
  68.                     }
  69.                 }
  70.             });
  71.         }
  72.  
  73. })(jQuery);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement