imgur output formatter

Adds fully formatted output containers

当前为 2014-12-01 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name imgur output formatter
  3. // @namespace surrealmoviez.info
  4. // @description Adds fully formatted output containers
  5. // @include http://imgur.com/*
  6. // @include http://www.imgur.com/*
  7. // @include https://imgur.com/*
  8. // @include https://www.imgur.com/*
  9. // @version 0.1.5
  10. // @grant none
  11. // ==/UserScript==
  12.  
  13. function extractUrls() {
  14.  
  15. var imgUrls = [];
  16.  
  17. var html = $('body').html();
  18.  
  19. var startScript = html.indexOf("var imgurShare = new ImgurShare({");
  20. var endScript = html.indexOf("imgurShare.init()", startScript);
  21. var script = html.substring(startScript, endScript);
  22.  
  23. var startRowHashes = script.indexOf("hashes:");
  24. var startHashes = script.indexOf("[{", startRowHashes) + 2;
  25. var endHashes = script.indexOf("}]", startHashes);
  26. var hashesString = script.substring(startHashes, endHashes);
  27. var hashes = hashesString.split("},{");
  28.  
  29. var startRowCdnUrl = script.indexOf("cdnUrl:");
  30. var startCdnUrl = script.indexOf("//", startRowCdnUrl);
  31. var endCdnUrl = script.indexOf(",", startCdnUrl) - 1;
  32. var cdnUrl = "http:" + script.substring(startCdnUrl, endCdnUrl);
  33.  
  34. $.each(hashes, function (i, v) {
  35.  
  36. var startImgID = v.indexOf("hash") + 7;
  37. var endImgID = v.indexOf(",", startImgID) - 1;
  38. var imgID = v.substring(startImgID, endImgID);
  39.  
  40. var startExt = v.indexOf("ext\":") + 6;
  41. var endExt = v.indexOf(",", startExt) - 1;
  42. var ext = v.substring(startExt, endExt);
  43.  
  44. imgUrls.push(cdnUrl + "/" + imgID + ext);
  45. });
  46.  
  47. return imgUrls;
  48. }
  49.  
  50. $(".panel > .social").hide(); // Hide social crap (is duplicated anyway)
  51.  
  52. var imgUrls = extractUrls();
  53. var plainText = imgUrls.join("\n");
  54. var formattedText = '<center><img src="' + imgUrls.join('">\n\n<img src="') + '"></center>';
  55.  
  56. var textareaCss = "cursor:pointer; overflow: auto; height: 100px; background-color: #181817; border: 0 none; border-radius: 4px 4px 4px 4px; color: #ABABA1; font-size: 12px; margin-bottom: 5px; padding: 6px; width: 95%;";
  57. var formattedTextBox = '<h3>Formatted images</h3><textarea style="' + textareaCss + '" wrap="off" onclick="this.select();" title="Click to select">' + formattedText + '</textarea>';
  58. var plainTextBox = '<h3>Unformatted images</h3><textarea style="' + textareaCss + '" wrap="off" onclick="this.select();" title="Click to select">' + plainText + '</textarea>';
  59.  
  60. $(formattedTextBox + plainTextBox).prependTo("#link-codes > div");