Rss Helper

This is a good monkey

当前为 2018-11-20 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Rss Helper
  3. // @version 0.0.1
  4. // @description This is a good monkey
  5. // @author SettingDust
  6. //
  7. // @include http*://*
  8. //
  9. // @require https://cdn.bootcss.com/jquery/3.3.1/jquery.js
  10. //
  11. // @grant GM_addStyle
  12. // @namespace https://greasyfork.org/users/149095
  13. // ==/UserScript==
  14.  
  15. !function(modules) {
  16. var installedModules = {};
  17. function __webpack_require__(moduleId) {
  18. if (installedModules[moduleId]) return installedModules[moduleId].exports;
  19. var module = installedModules[moduleId] = {
  20. i: moduleId,
  21. l: !1,
  22. exports: {}
  23. };
  24. return modules[moduleId].call(module.exports, module, module.exports, __webpack_require__),
  25. module.l = !0, module.exports;
  26. }
  27. __webpack_require__.m = modules, __webpack_require__.c = installedModules, __webpack_require__.d = function(exports, name, getter) {
  28. __webpack_require__.o(exports, name) || Object.defineProperty(exports, name, {
  29. enumerable: !0,
  30. get: getter
  31. });
  32. }, __webpack_require__.r = function(exports) {
  33. "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(exports, Symbol.toStringTag, {
  34. value: "Module"
  35. }), Object.defineProperty(exports, "__esModule", {
  36. value: !0
  37. });
  38. }, __webpack_require__.t = function(value, mode) {
  39. if (1 & mode && (value = __webpack_require__(value)), 8 & mode) return value;
  40. if (4 & mode && "object" == typeof value && value && value.__esModule) return value;
  41. var ns = Object.create(null);
  42. if (__webpack_require__.r(ns), Object.defineProperty(ns, "default", {
  43. enumerable: !0,
  44. value: value
  45. }), 2 & mode && "string" != typeof value) for (var key in value) __webpack_require__.d(ns, key, function(key) {
  46. return value[key];
  47. }.bind(null, key));
  48. return ns;
  49. }, __webpack_require__.n = function(module) {
  50. var getter = module && module.__esModule ? function() {
  51. return module.default;
  52. } : function() {
  53. return module;
  54. };
  55. return __webpack_require__.d(getter, "a", getter), getter;
  56. }, __webpack_require__.o = function(object, property) {
  57. return Object.prototype.hasOwnProperty.call(object, property);
  58. }, __webpack_require__.p = "", __webpack_require__(__webpack_require__.s = 0);
  59. }([ function(module, exports, __webpack_require__) {
  60. const Route = __webpack_require__(1), router = new (__webpack_require__(2))();
  61. router.push(new Route(/yande\.re\/.*/, __webpack_require__(3))), router.push(new Route(/www\.bilibili\.com\/.*/, __webpack_require__(8))),
  62. console.debug("[RSSHelper]", router), router.load(location.href);
  63. }, function(module, exports) {
  64. module.exports = class {
  65. constructor(url, route) {
  66. this._url = url, this._route = route;
  67. }
  68. get url() {
  69. return this._url;
  70. }
  71. get route() {
  72. return this._route;
  73. }
  74. test(link) {
  75. return new RegExp(this.url).test(link);
  76. }
  77. match(link) {
  78. return new RegExp(this.url).exec(link);
  79. }
  80. call(args) {
  81. this.route(args);
  82. }
  83. };
  84. }, function(module, exports) {
  85. module.exports = class {
  86. constructor() {
  87. this._routes = [];
  88. }
  89. push(router) {
  90. this.routes.push(router);
  91. }
  92. get routes() {
  93. return this._routes;
  94. }
  95. load(href) {
  96. this.routes.forEach(route => {
  97. route.test(href) && (console.debug("[RSSHelper]", route.match(href)), route.call(route.match(href)));
  98. });
  99. }
  100. };
  101. }, function(module, exports, __webpack_require__) {
  102. const Route = __webpack_require__(1), router = new (__webpack_require__(2))();
  103. router.push(new Route(/tags=(?:(.*))?/, __webpack_require__(4))), router.push(new Route(/(post)\?(?!tags=.+)/, __webpack_require__(5))),
  104. module.exports = (async args => {
  105. router.load(args), GM_addStyle(__webpack_require__(6).toString());
  106. });
  107. }, function(module, exports) {
  108. const rssElem = $("<a/>");
  109. rssElem.attr("title", "Feed"), rssElem.attr("target", "_blank"), rssElem.text("Feed"),
  110. module.exports = (async args => {
  111. rssElem.attr("href", `https://yande.re/post/piclens?tags=${args[1]}`), $("#post-list > div.sidebar > div:nth-child(1) > form > div").append(rssElem);
  112. });
  113. }, function(module, exports) {
  114. const rssElem = $("<a/>");
  115. rssElem.attr("title", "Feed"), rssElem.attr("target", "_blank"), rssElem.text("Feed"),
  116. module.exports = (async () => {
  117. rssElem.attr("href", "https://yande.re/post/piclens"), $("#post-list > div.sidebar > div:nth-child(1) > form > div").append(rssElem);
  118. });
  119. }, function(module, exports, __webpack_require__) {
  120. (module.exports = __webpack_require__(7)(!1)).push([ module.i, "#post-list>div.sidebar>div:first-child>form>div{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}", "" ]);
  121. }, function(module, exports) {
  122. module.exports = function(useSourceMap) {
  123. var list = [];
  124. return list.toString = function() {
  125. return this.map(function(item) {
  126. var content = function(item, useSourceMap) {
  127. var content = item[1] || "", cssMapping = item[3];
  128. if (!cssMapping) return content;
  129. if (useSourceMap && "function" == typeof btoa) {
  130. var sourceMapping = (sourceMap = cssMapping, "/*# sourceMappingURL=data:application/json;charset=utf-8;base64," + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + " */"), sourceURLs = cssMapping.sources.map(function(source) {
  131. return "/*# sourceURL=" + cssMapping.sourceRoot + source + " */";
  132. });
  133. return [ content ].concat(sourceURLs).concat([ sourceMapping ]).join("\n");
  134. }
  135. var sourceMap;
  136. return [ content ].join("\n");
  137. }(item, useSourceMap);
  138. return item[2] ? "@media " + item[2] + "{" + content + "}" : content;
  139. }).join("");
  140. }, list.i = function(modules, mediaQuery) {
  141. "string" == typeof modules && (modules = [ [ null, modules, "" ] ]);
  142. for (var alreadyImportedModules = {}, i = 0; i < this.length; i++) {
  143. var id = this[i][0];
  144. "number" == typeof id && (alreadyImportedModules[id] = !0);
  145. }
  146. for (i = 0; i < modules.length; i++) {
  147. var item = modules[i];
  148. "number" == typeof item[0] && alreadyImportedModules[item[0]] || (mediaQuery && !item[2] ? item[2] = mediaQuery : mediaQuery && (item[2] = "(" + item[2] + ") and (" + mediaQuery + ")"),
  149. list.push(item));
  150. }
  151. }, list;
  152. };
  153. }, function(module, exports, __webpack_require__) {
  154. const Route = __webpack_require__(1), router = new (__webpack_require__(2))();
  155. router.push(new Route(/video\/av\d+/, __webpack_require__(9))), module.exports = (async args => {
  156. router.load(args), GM_addStyle(__webpack_require__(10).toString()), console.debug("[RSSHelper]", __webpack_require__(10).toString());
  157. });
  158. }, function(module, exports) {
  159. const rssElem = $("<a/>");
  160. rssElem.addClass("btn"), rssElem.addClass("bi-btn"), rssElem.attr("id", "feed"),
  161. rssElem.attr("target", "_blank"), rssElem.text("Feed"), module.exports = (async () => {
  162. let mid = $("#v_upinfo .u-face>a").attr("href").match(/\d+/)[0];
  163. rssElem.attr("href", `https://rsshub.app/bilibili/user/video/${mid}`);
  164. let task = setInterval(() => {
  165. $(".b-cd .cd").length && ($("#v_upinfo .btn").prepend(rssElem), clearInterval(task));
  166. }, 500);
  167. });
  168. }, function(module, exports, __webpack_require__) {
  169. (module.exports = __webpack_require__(7)(!1)).push([ module.i, "#v_upinfo #feed{padding-left:16px;padding-right:16px;margin-left:12px;margin-top:0}", "" ]);
  170. } ]);