Greasy Fork is available in English.

利用可能なBBCodeのボタンを追加する。 - Minecraft非公式日本ユーザーフォーラム

ボタンには存在していないが利用することができるBBCodeの挿入ボタンを追加します。

// ==UserScript==
// @name        利用可能なBBCodeのボタンを追加する。 - Minecraft非公式日本ユーザーフォーラム
// @namespace   qpwakaba
// @description ボタンには存在していないが利用することができるBBCodeの挿入ボタンを追加します。
// @include     http://forum.minecraftuser.jp/posting.php*
// @include     https://forum.minecraftuser.jp/posting.php*
// @include     http://forum.minecraftuser.jp/ucp.php?i=profile&mode=signature
// @include     https://forum.minecraftuser.jp/ucp.php?i=profile&mode=signature
// @include     http://forum.minecraftuser.jp/ucp.php?i=175
// @include     https://forum.minecraftuser.jp/ucp.php?i=175
// @include     http://forum.minecraftuser.jp/ucp.php?i=pm*
// @include     https://forum.minecraftuser.jp/ucp.php?i=pm*
// @version     1.2
// @grant       none
// @Lisence     CC-BY-NC
// ==/UserScript==
var _window = this.unsafeWindow || window;
(function(window, document) {
  var styleElement = document.createElement("style");
  styleElement.id = "additionalStyle";
  styleElement.innerHTML = ".additionalButtons {display: none !important;}";
  
  var isShown;
  window.showAdditionalButtons = function() {
    styleElement.parentNode.removeChild(styleElement);
    isShown = true;
  };
  window.hideAdditionalButtons = function() {
    document.getElementsByTagName("head")[0].appendChild(styleElement);
    isShown = false;
  };
  window.toggleShowAdditionalButtons = function() {
    if(isShown) {
      hideAdditionalButtons();
    } else {
      showAdditionalButtons();
    }
  };
  hideAdditionalButtons();
  
  var parentId = "format-buttons";
  var parent = document.getElementById(parentId);
  
  var showButton = document.createElement("input");
  showButton.setAttribute("class", "button2");
  showButton.setAttribute("value", "追加ボタンの表示/非表示");
  showButton.setAttribute("onclick", "toggleShowAdditionalButtons()");
  showButton.setAttribute("title", "ユーザースクリプトによって追加されたボタンの表示/非表示を切り替えます。");
  showButton.setAttribute("type", "button");
  parent.appendChild(showButton);
  var addBox = function(id, isFirst) {
    var child = document.createElement("div");
    child.id = id;
    if(isFirst) {
      child.style.marginTop = "3px"
    }
    parent.appendChild(child);
  };
  var addButton = function(parentId, value, open, close, help) {
    var parent = document.getElementById(parentId);
    var button = document.createElement("input");
    button.setAttribute("class", "button2 additionalButtons");
    button.setAttribute("value", value);
    button.setAttribute("onclick", "bbfontstyle('" + open + "', '" + close + "')");
    if(help) {
     button.setAttribute("title", help);
    }
    button.setAttribute("type", "button");
    button.style.marginRight = "4px";
    parent.appendChild(button);
  };
  var addCustomButton = function(parentId, value, onclick, help, style) {
    var parent = document.getElementById(parentId);
    var button = document.createElement("input");
    button.setAttribute("class", "button2 additionalButtons");
    button.setAttribute("value", value);
    button.setAttribute("onclick", onclick);
    if(help) {
     button.setAttribute("title", help);
    }
    button.setAttribute("type", "button");
    button.setAttribute("style", style);
    button.style.marginRight = "4px";
    parent.appendChild(button);
  };
  var id = "additionalButtons";
  addBox(id, true);
    addButton(id, "em", "[em]", "[/em]", "範囲を強調します。");
    addButton(id, "del", "[del]", "[/del]", "範囲に抹消線を引きます。");
    addButton(id, "head", "[head]", "[/head]", "挟んだ文章を見出しのように表示します。");
    addButton(id, "hr", "[hr]", "[/hr]", "水平線を挿入します。");
    addButton(id, "center", "[center]", "[/center]", "範囲をページ中央にセンタリングします。");
    addButton(id, "bg=", "[bg=]", "[/bg]", "範囲を指定した背景色で表示します");
    addButton(id, "bg2=", "[bg2=]", "[/bg2]", "範囲を指定した背景色で表示しますが、横幅は100%固定です。");
    addButton(id, "bg3=", "[bg3=]", "[/bg3]", "bg2内で使用するにはこちらを使用してください。");
    addButton(id, "padding", "[padding]", "[/padding]", "5ピクセルの余白を挿入します。");
    addButton(id, "img2", "[img2 width=]", "[/img2]", "幅を指定して画像を挿入します。単位はピクセルです。");
    addButton(id, "img3", "[img3 width=]", "[/img3]", "幅を指定して画像を挿入します。単位はパーセントです。");
    addButton(id, "table", "[table]", "[/table]", "表を挿入します。これだけでは意味を持たないので\ntr/th/tdと組み合わせてください。");
    addButton(id, "tr", "[tr]", "[/tr]", "行を挿入します。");
    addButton(id, "th", "[th]", "[/th]", "見出しとなるセルを挿入します。");
    addButton(id, "td", "[td]", "[/td]", "通常のセルを挿入します。");
    addButton(id, "field=", "[field=]", "[/field]", "= に続けて見出しを、タグ内に文章を書くことでフィールド表示にできます。");
    addButton(id, "note", "[note]", "[/note]", "ノート風表示になります。背景白で等幅フォントになります。");
    addButton(id, "comment", "[comment]", "[/comment]", "内容をコメントアウトできます。");
    addButton(id, "ruby=", "[ruby=]", "[/ruby]", "ルビ(ふりがな)を入力します。");
    addCustomButton(id, "BBCodeの使い方", "window.open('http://forum.minecraftuser.jp/viewtopic.php?f=4&t=4')", "BBCodeの使い方を開きます。", "font-weight: bold;");
  id = "creativeCommons";
  addBox(id, false);
    addButton(id, "CC-BY (表示)", "[ccby]", "[/ccby]", "クリエイティブ・コモンズ CC-BY 準拠表示を挿入します。");
    addButton(id, "CC-BY-SA (表示-継承)", "[ccsa]", "[/ccsa]", "クリエイティブ・コモンズ CC-BY-SA 準拠表示を挿入します。");
    addButton(id, "CC-BY-ND (表示-改変禁止)", "[ccnd]", "[/ccnd]", "クリエイティブ・コモンズ CC-BY-ND 準拠表示を挿入します。");
    addButton(id, "CC-BY-NC (表示-非営利)", "[ccnc]", "[/ccnc]", "クリエイティブ・コモンズ CC-BY-NC 準拠表示を挿入します。");
    addButton(id, "CC-BY-NC-SA (表示-非営利-継承)", "[ccca]", "[/ccca]", "クリエイティブ・コモンズ CC-BY-NC-SA 準拠表示を挿入します。");
    addButton(id, "CC-BY-NC-ND (表示-非営利-改変禁止)", "[cccd]", "[/cccd]", "クリエイティブ・コモンズ CC-BY-NC-ND 準拠表示を挿入します。");

})(_window, document);