kbin copy

Post to kbin

スクリプトをインストールするには、Tampermonkey, GreasemonkeyViolentmonkey のような拡張機能のインストールが必要です。

You will need to install an extension such as Tampermonkey to install this script.

スクリプトをインストールするには、TampermonkeyViolentmonkey のような拡張機能のインストールが必要です。

スクリプトをインストールするには、TampermonkeyUserscripts のような拡張機能のインストールが必要です。

このスクリプトをインストールするには、Tampermonkeyなどの拡張機能をインストールする必要があります。

このスクリプトをインストールするには、ユーザースクリプト管理ツールの拡張機能をインストールする必要があります。

(ユーザースクリプト管理ツールは設定済みなのでインストール!)

このスタイルをインストールするには、Stylusなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus などの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus tなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

(ユーザースタイル管理ツールは設定済みなのでインストール!)

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください
// ==UserScript==
// @name          kbin copy
// @namespace     banana69
// @description   Post to kbin
// @author        you
// @version       0.0.1
// @include       https://old.reddit.com*
// @license       MIT
// ==/UserScript==

/*edit magazine name for static magazine
or leave blank to select from dropdown when posting*/

const magazine = 'YOUR_MAGAZINE_HERE';
const itemsSelector = 'a.title.may-blank';


function insertElementAfter(target, element) {
  if (target.nextSibling) {
    target.parentNode.insertBefore(element, target.nextSibling);
  } else {
    target.parentNode.appendChild(element);
  }
}

function addItemLink(item) {
var prefix;
  var url = item.href;
   var title = item.text;

  const link = document.createElement('a');
  if (magazine == "") {
    prefix = 'https://kbin.social';
} else {
   prefix = 'https://kbin.social/m/';
}
  link.setAttribute('href', prefix + magazine + '/new?url='+url);
  link.innerText = 'KBIN';
  link.className = 'title-copy-link';
  link.style.cssText += 'color:white !important;background-color:#333 !important;border-radius:5px';
  insertElementAfter(item, link);
}

function checkItems(selector) {
  const items = document.querySelectorAll(selector);
  items.forEach((item) => {
         addItemLink(item);
  });
}

checkItems(itemsSelector);