コンテンツにスキップ

利用者:Pstest/sysoptools.js

お知らせ: 保存した後、ブラウザのキャッシュをクリアしてページを再読み込みする必要があります。

多くの WindowsLinux のブラウザ

  • Ctrl を押しながら F5 を押す。

Mac における Safari

  • Shift を押しながら、更新ボタン をクリックする。

Mac における ChromeFirefox

  • Cmd Shift を押しながら R を押す。

詳細についてはWikipedia:キャッシュを消すをご覧ください。

// sysoptools.js  Ver.3.31
// Date: 2024-07-17
// Contact: Penn Station
// Note: * derivative work of [[User:Muyo/sysoptools.js]] 04:44, 6 July 2010 UTC.
//       * THIS SCRIPT COMES WITH ABSOLUTELY NO WARRANTY.
// <nowiki> DON'T REMOVE THIS LINE TO AVOID SUBST WHILE SAVING.

const BOX_BLUE   = '#ccccff';
const BOX_GREEN  = '#ccffcc';
const BOX_PURPLE = '#ddbbee';
const BOX_YELLOW = '#eeff88';

function insertTagsHtml (left, right, text){
  return '<a onclick="insertTags2(\'' + left + '\', \'' + right + '\', \'\');return false" href="#">' + text +'</a>';
  // Note: insertTags2() defined in [[User:Penn Station/util.js]].
  //       for move/delete/undelete pages in addition to edit page
}

function insertClipboardCopyLink (copytext, text){
  return '<a onclick="navigator.clipboard.writeText(\'' + copytext + '\')">' + text + '</a>';
}

function insertSysoptoolBox (elm, innerhtml, bgcolor = BOX_BLUE) {
// for edit support
  var div_elm = document.createElement('div');

  div_elm.setAttribute('style', 'font-size:smaller; background-color: ' + bgcolor + '; border:1px solid #555599; padding-left: 5px; padding-right: 5px; padding-top: 2px; padding-bottom: 2px; margin-top: 8px; margin-bottom: 8px;');
//  div_elm.setAttribute('style', 'font-size:smaller; background-color: #ccccff; border:1px solid #555599; padding-left: 5px; padding-right: 5px; padding-top: 2px; padding-bottom: 2px; margin-top: 8px; margin-bottom: 8px;');
//  div_elm.setAttribute('style', 'font-size:smaller; background-color: #ccffcc; border:1px solid #559955; padding-left: 5px; padding-right: 5px; padding-top: 2px; padding-bottom: 2px; margin-top: 8px; margin-bottom: 8px;');
  div_elm.innerHTML = innerhtml;
  elm.parentNode.insertBefore(div_elm , elm);
}

$.when(mw.loader.using(['mediawiki.util', 'moment']), $.ready).then(function(){
//loading mediawiki.util and moment (Moment.js)
  const wgAction = mw.config.get('wgAction');
  const wgNamespaceNumber = mw.config.get('wgNamespaceNumber');
  const wgCanonicalNamespace = mw.config.get('wgCanonicalNamespace');
  const wgCanonicalSpecialPageName = mw.config.get('wgCanonicalSpecialPageName');
  const wgPageName = mw.config.get('wgPageName');
  const wgRelevantPageName = mw.config.get('wgRelevantPageName');
  const wgPageNameUrlEncoded = mw.util.wikiUrlencode(wgPageName);
  const wgRelevantPageNameUrlEncoded = mw.util.wikiUrlencode(wgRelevantPageName);

  const wpSummaryLabel = document.getElementById("wpSummaryLabel");
  const wpReason = document.getElementById("wpReason");
  const editpage_copywarn = document.getElementById("editpage-copywarn");
  const editButtons =  document.getElementsByClassName("editButtons")[0];
  const wpComment = document.getElementById("wpComment");
  const wpNewTitle = document.getElementById("wpNewTitleNs");

  var html;
  const PIPE = ' <span style="color:#aaaaaa;">|</span> ';
  const SLASH = ' / ';
  const SELDEL_DATE = function(date) {  // 'yyyymmdd' format (string)
    let m_temp = '0' + (date.getMonth() + 1);
    let d_temp = '0' + date.getDate();
    let month  = m_temp.substr(m_temp.length - 2);
    let day    = d_temp.substr(d_temp.length - 2);
    return date.getFullYear() + month + day;
  }(new Date());  // for today
  
  // hiding closed requests and highlighting h3
  if(wgPageName == 'Wikipedia:削除依頼/ログ/7日前' || 
     wgPageName == 'Wikipedia:削除依頼/ログ/先週' ||
     wgPageName == 'Wikipedia:削除依頼/ログ/先々週') {
    mw.util.addCSS( ".xfd-closed {display: none;}  .mw-heading3 {background-color:#ccccff; padding:0px; margin:4px 4px 0px 4px;}" );
  }

  // Edit page (Edit Content and Edit Summary)
  // edit and preview (submit) screens
  if(wgAction == 'edit' || wgAction == 'submit') {  //
    // Part 1: for Edit Content
    if(wgNamespaceNumber == 0 || wgCanonicalNamespace == 'File' || 
       wgCanonicalNamespace == 'Template' || wgCanonicalNamespace == 'Help' || 
       wgCanonicalNamespace == 'Category' || wgCanonicalNamespace == 'Portal') {
      html = '<span style="font-weight:bold;">Tag</span>: ';
      html += insertTagsHtml('{{保護}}', '', '保護') + SLASH;
      html += insertTagsHtml('{{半保護}}', '', '半保護') + SLASH;
      html += insertTagsHtml('{{移動保護}}', '', '移動保護') + SLASH;
      html += insertTagsHtml('{{出典の明記|{{subst:DATE}}}}', '', '出典の明記') + SLASH;
      html += insertTagsHtml('{{参照方法|{{subst:DATE}}}}', '', '参照方法') + SLASH;
      html += insertTagsHtml('{{国際化|{{subst:DATE}}}}', '', '国際化') + SLASH;
      html += insertTagsHtml('{{改名提案|◇新ページ名|t=◇議論場所|{{subst:DATE}}}}', '', '改名提案') + SLASH;
      html += insertTagsHtml('{{翻訳中途|1=[http://en-two.iwiki.icu/w/index.php?&oldid=9999', ' ○○ △△ UTC]|date={{subst:DATE}}}}', '翻訳中途') + SLASH;
      html += insertTagsHtml('{{subst:Sakujo}}', '', 'Sakujo') + SLASH;
      html += insertTagsHtml('{{subst:Sakujo}}{{Copyrights}}', '', 'Sakujo+Copyrights');
      html += '<br /><span style="font-weight:bold;">Markup</span>: ';
      html += insertTagsHtml('#REDIRECT [[', ']]', '#REDIRECT') + SLASH;
      html += insertTagsHtml('{{DEFAULTSORT:', '}}', 'DEFAULTSORT') + SLASH;
      html += insertTagsHtml('{{Reflist}}', '', 'Reflist') + SLASH;
      html += insertTagsHtml('{{Cite web|url=', '|title=|publisher=|date=|accessdate=201--}}', 'Cite web') + PIPE;
      html += insertTagsHtml('{{Cite news|title=', '|author=|url=|newspaper=|page=|publisher=|date=|accessdate=201--}}', 'news') + PIPE;
      html += insertTagsHtml('{{Cite book|author=', '|editor=|title=|pages=|publisher=|date=|isbn=}}', 'book') + PIPE;
      html += insertTagsHtml('{{Cite journal|author=', '|title=|journal=|volume=|issue=|year=|month=|pages=|publisher=|isbn=}}', 'journal') + SLASH;
      html += insertTagsHtml('{{PDFlink|[○○ リンクテキスト]}}', '', 'PDFlink');
      html += '<br /><span style="font-weight:bold;">Text</span>: ';
      html += insertTagsHtml('DEFAULTSORT', '', 'DEFAULTSORT') + SLASH;
      html += insertTagsHtml('File', '', 'File') + SLASH;
      html += insertTagsHtml('thumb', '', 'thumb') + PIPE;
      html += insertTagsHtml('thumb|right|', '', '|+1') + PIPE;
      html += insertTagsHtml('thumb|right|220px|', '', '|+2') + SLASH;
      html += insertTagsHtml('220px', '', '220px') + SLASH;
      html += insertTagsHtml('Category', '', 'Category') + SLASH;
      html += insertTagsHtml('Normdaten', '', 'Normdaten');
    }
    else if(wgCanonicalNamespace == 'Project') {
      html = '<span style="font-weight:bold;">Done (Top)</span>: ';
      html += insertTagsHtml('{{subst:Vfd top|削除}}', '', 'Vfd top-削除') + PIPE;
      html += insertTagsHtml('{{subst:Vfd top|全削除}}', '', '全') + SLASH;
      html += insertTagsHtml('{{subst:Vfd top|存続}}', '', 'Vfd top-存続') + SLASH;
      html += insertTagsHtml('{{subst:Vfd top|即時削除}}', '', 'Vfd top-即時削除') + SLASH;
      html += insertTagsHtml('{{確認待ち}}', '', '確認待ち') + SLASH;
      html += insertTagsHtml('{{確認待ち|タグ}}', '', '確認待ち-タグ') + SLASH;
      html += insertTagsHtml('{{subst:Vfd top|特定版削除}}', '', 'Vfd top-特定版削除') + SLASH;
      html += insertTagsHtml('{{subst:Vfd top|版指定削除}}', '', 'Vfd top-版指定削除') + SLASH;
      html += insertTagsHtml('&lt;div style=&quot;background:#E3F9DF; padding:0 10px; border:1px solid #AAA;&quot;&gt;', '', 'RFD_UFD-div');
      html += '<br /><span style="font-weight:bold;">Done (Bot.)</span>: ';
      html += insertTagsHtml('** {{対処}} 削除しました。--~~~~', '{{subst:Vfd bottom}}', '対処・削除-Vfd bot.') + PIPE;
      html += insertTagsHtml('** {{対処}} 両記事とも削除しました。--~~~~', '{{subst:Vfd bottom}}', '両') + PIPE;
      html += insertTagsHtml('** {{対処}} すべて削除しました。--~~~~', '{{subst:Vfd bottom}}', '全') + SLASH;
      html += insertTagsHtml('** {{終了}} 存続とします。--~~~~', '{{subst:Vfd bottom}}', '対処・存続-Vfd bot.') + SLASH;
      html += insertTagsHtml('** {{対処}} 即時削除しました。--~~~~', '{{subst:Vfd bottom}}', '対処・即時削除-Vfd bot.') + SLASH;
      html += insertTagsHtml('** {{対処}} △△UTC以降の版を[[○○/del ' +  SELDEL_DATE + ']]([[特別:復元/○○/del ' + SELDEL_DATE + '|復元]])にて特定版削除しました。--~~~~', '', '対処・特定版削除') + SLASH;
      html += insertTagsHtml('** {{対処}} △△UTCから△△UTCまでの計△版を[[○○/del ' + SELDEL_DATE + ']]([[特別:復元/○○/del ' + SELDEL_DATE + '|復元]])にて特定版削除しました。--~~~~', '', '対処・特定版削除(中抜き)')  + SLASH;
      html += insertTagsHtml('*** {{確認}} 対処宣言どおり適切に削除されていることを確認しました。--~~~~', '{{subst:Vfd bottom}}', '確認・終了-Vfd bot.') + SLASH;
      html += '<br />';
      html += insertTagsHtml('** {{対処}} △△UTCから△△UTCまでの計△版を版指定削除しました。--~~~~', '', '対処・版指定削除') + PIPE;
      html += insertTagsHtml('** {{対処}} UTCから UTCまでの計△版を版指定削除しました。--~~~~', '', 'モ') + PIPE;
      html += insertTagsHtml('** {{対処}} を版指定削除しました。--~~~~', '', '範') + SLASH;
      html += insertTagsHtml('** {{対処}} 初版:△△UTCから△△UTCまでの計△版を版指定削除しました。--~~~~', '', '対処・版指定削除(初版-)') + PIPE;
      html += insertTagsHtml('** {{対処}} 初版:UTCから UTCまでの計△版を版指定削除しました。--~~~~', '', 'モ') + PIPE;
      html += insertTagsHtml('** {{対処}} 初版:を版指定削除しました。--~~~~', '', '範') + SLASH;
      html += '<br />';
      html += insertTagsHtml('** {{対処}} 移動しました。--~~~~', '', '対処・移動') + SLASH;
// Changing User Name related(now global renamer's work therefore not used.)
//      html += insertTagsHtml('**{{対処}} ご依頼どおり利用者名を「○○」から{{User3|△△}}に変更しました。--~~~~', '', '対処・利用者名変更') + SLASH;
//      html += 'WP:CHU/S: ';
//      html += insertTagsHtml('** [[File:Yes check.svg|16px]] Done I have changed the user name from ○○ to {{User3|△△}} as per request. --~~~~', '', 'Done') + PIPE;
//      html += insertTagsHtml('** [[File:X mark.svg|16px]] Not Done  --~~~~', '', 'Not Done') + PIPE;
//      html += insertTagsHtml('** [[File:Symbol comment vote.svg|16px]] Comment  --~~~~', '', 'Comment') + SLASH;
      html += insertTagsHtml('*** {{対処}} 削除しました。--~~~~', '&lt;/div&gt;', 'RFD_UFD-対処・削除-/div') + PIPE;
      html += insertTagsHtml('*** {{対処}} 両リダイレクトとも削除しました。--~~~~', '&lt;/div&gt;', '両') + PIPE;
      html += insertTagsHtml('*** {{対処}} すべて削除しました。--~~~~', '&lt;/div&gt;', '全') + SLASH;
      html += insertTagsHtml('*** {{終了}} 存続とします。--~~~~', '&lt;/div&gt;', 'RFD_UFD-対処・存続-/div') + SLASH;
      html += insertTagsHtml('<small>追記:~~~~</small>', '', '追記署名small');
      html += '<br /><span style="font-weight:bold;">Add. text</span>: ';
      html += insertTagsHtml('著作権侵害のおそれ として', '', '著作権侵害') + SLASH;
      html += insertTagsHtml('CC-BY-SA違反 として', '', 'CC-BY-SA違反') + SLASH;
      html += insertTagsHtml('百科事典に記載するほどの著名性・特筆性がない記事 として', '', '特筆性') + PIPE;
      html += insertTagsHtml('現時点では百科事典に記載するほどの著名性・特筆性がない記事 として', '', '現');
    }
    else if(wgCanonicalNamespace == 'Talk' || wgCanonicalNamespace == 'Project_talk' || 
            wgCanonicalNamespace == 'File_talk' || wgCanonicalNamespace == 'MediaWiki_talk' || 
            wgCanonicalNamespace == 'Template_talk' || wgCanonicalNamespace == 'Help_talk' || 
            wgCanonicalNamespace == 'Category_talk' || wgCanonicalNamespace == 'Portal‐ノート') {
      html = '<span style="font-weight:bold;">Tag</span>: ';
      html += insertTagsHtml('{{subst:削除済みノート2}}', '', '削除済みノート2') + SLASH;
      html += insertTagsHtml('{{subst:削除済みノート3|', '}}', '削除済みノート3|ページ名') + SLASH;
      html += insertTagsHtml('{{subst:不削除ノート2}}', '', '不削除ノート2') + SLASH;
      html += insertTagsHtml('{{subst:不削除ノート3|', '}}', '不削除ノート3|ページ名') + SLASH;
      html += insertTagsHtml('{{subst:特定版削除済みノート}}', '', '特定版削除済みノート') + SLASH;
      html += insertTagsHtml('{{subst:特定版削除済みノート2|', '}}', '特定版削除済みノート2|ページ名');
      html += '<br /><span style="font-weight:bold;">Done</span>: ';
      html += insertTagsHtml('::{{報告}} [[Wikipedia:移動依頼]]での依頼に基づき、[[○○○]]から[[△△△]]へ移動しました。--~~~~', '', '移動報告') + SLASH;
      html += insertTagsHtml('::{{報告}} [[Wikipedia:移動依頼]]での依頼に基づき、[[○○○]]から[[△△△]]へ移動しました。残骸のリダイレクトが不要な場合は、リンク元確認・修正ののち即時削除依頼([[WP:CSD#リダイレクト3-2]])をお願いいたします。--~~~~', '', '移動報告-WP:CSD#リダイレクト3-2') + SLASH;
      html += insertTagsHtml('::{{報告}} [[Wikipedia:移動依頼]]での依頼に基づき、[[○○○]]から[[△△△]]へ移動しました。残骸のリダイレクトが不要な場合は、リンク元確認・修正ののち[[WP:RFD|リダイレクトの削除依頼]]をお願いいたします。--~~~~', '', '移動報告-WP:RFD');
    }
    else if(wgCanonicalNamespace == 'User') {
      html = '<span style="font-weight:bold;">Tag</span>: ';
      html += insertTagsHtml('{{保護}}', '', '保護') + SLASH;
      html += insertTagsHtml('{{半保護}}', '', '半保護') + SLASH;
      html += insertTagsHtml('{{移動保護}}', '', '移動保護');
    }
    else if(wgCanonicalNamespace == 'User_talk') {
      html += '<span style="font-weight:bold;"><a href="http://ja-two.iwiki.icu/wiki/Wikipedia:Template_%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8%E3%81%AE%E4%B8%80%E8%A6%A7/%E5%88%A9%E7%94%A8%E8%80%85%E2%80%90%E4%BC%9A%E8%A9%B1%E5%90%8D%E5%89%8D%E7%A9%BA%E9%96%93">Template Messages</a></span> - ';
      html = '<span style="font-weight:bold;">Notice</span>: ';
      html += insertTagsHtml('{{subst:Welcome|--~~~~}}', '', 'Welcome') + SLASH;
      html += insertTagsHtml('{{subst:Preview}}--~~~~', '', 'Preview') + SLASH;
      html += insertTagsHtml('{{subst:一括}}--~~~~', '', '一括') + SLASH;
      html += insertTagsHtml('{{subst:スタブ未満作成停止のお願い}}--~~~~', '', 'スタブ未満作成停止のお願い') + SLASH;
      html += insertTagsHtml('{{subst:アカウント作成のお願い}}--~~~~', '', 'アカウント作成のお願い') + SLASH;
      html += insertTagsHtml('{{subst:Sign}}--~~~~', '', 'Sign') + SLASH;
      html += insertTagsHtml('{{subst:翻訳継承}}--~~~~', '', '翻訳継承');
      html += '<br /><span style="font-weight:bold;">Warning (Title)</span>: ';
      html += insertTagsHtml('ご注意', '', 'ご注意') + SLASH;
      html += insertTagsHtml('ブロックのお知らせ', '', 'ブロックのお知らせ') + SLASH;
      html += insertTagsHtml('広告・宣伝はご遠慮ください', '', '広告・宣伝はご遠慮ください');
      html += '&nbsp;&nbsp;<span style="font-weight:bold;">Markup</span>: ';
      html += insertTagsHtml('[{{Fullurl:○○', '|diff=9999&oldid=9999}} 差分]', 'Fullurl') + SLASH;
      html += ' <a href="http://e-words.jp/p/r-ascii.html">HTML文字参照</a>' + ' ';
      html += insertTagsHtml('&amp;#x7b;', '', '{') + ' ';
      html += insertTagsHtml('&amp;#x7d;', '', '}') + ' リンク内で使用';
      html += '<br /><span style="font-weight:bold;">Warning (Msg)</span>: ';
      html += insertTagsHtml('{{subst:Test}}--~~~~', '', 'Test(テスト)') + SLASH;
      html += insertTagsHtml('{{subst:Test2}}--~~~~', '', 'Test2(無意味な文章)') + SLASH;
      html += insertTagsHtml('{{subst:Test2a}}--~~~~', '', 'Test2a(テキスト除去)') + SLASH;
      html += insertTagsHtml('{{subst:Test3}}--~~~~', '', 'Test3(荒らし)') + SLASH;
      html += insertTagsHtml('{{subst:Test4}}--~~~~', '', 'Test4(最後の警告)') + SLASH;
      html += insertTagsHtml('{{subst:Blocked}}--~~~~', '', 'Blocked(ブロック)') + SLASH;
      html += insertTagsHtml('{{subst:Infiniteblocked}}--~~~~', '', 'Infiniteblocked(無期限)') + SLASH;
      html += insertTagsHtml('{{subst:Blocked-ip}}--~~~~', '', 'Blocked-ip(IPブロック)') + SLASH;
      html += insertTagsHtml('{{subst:Sockblock|○○', '}}--~~~~', 'Sockblock(多重アカウント|主アカウント名)') + SLASH;
      html += insertTagsHtml('{{subst:Sockblock-ip}}--~~~~', '', 'Sockblock-ip(ブロック逃れIP)') + SLASH;
      html += insertTagsHtml('{{subst:Spam}}--~~~~', '', 'Spam(宣伝)') + SLASH;
      html += insertTagsHtml('{{subst:Spam|あなたの[[', ']]における編集を拝見いたしました。}}--~~~~', 'Spam(宣伝|記事名)');
    }
    else {
      return;
    }

    insertSysoptoolBox(editform, html);

    // Part 2: for Edit Summary
    // Note: if summary text ends with blank (space), it will be omitted.
    if(wgNamespaceNumber == 0 || wgCanonicalNamespace == 'File' || 
       wgCanonicalNamespace == 'Template' || wgCanonicalNamespace == 'Help' || 
       wgCanonicalNamespace == 'Category' || wgCanonicalNamespace == 'Portal') {
      html = '<span style="font-weight:bold;">Summary</span>: ';
      html += insertTagsHtml('-{{改名提案}}', '', '-改名提案') + SLASH;
      html += insertTagsHtml('-{{subst:Sakujo}}', '', '-subst:Sakujo') + SLASH;
      html += insertTagsHtml('-{{subst:Sakujo}}, -{{Copyrights}}', '', '-subst:Sakujo, -Copyrights') + SLASH;
      html += insertTagsHtml('+{{保護}}', '', '+保護') + SLASH;
      html += insertTagsHtml('+{{半保護}}', '', '+半保護') + SLASH;
      html += insertTagsHtml('+{{移動保護}}', '', '+移動保護') + SLASH;
      html += insertTagsHtml('+{{出典の明記}}', '', '+出典の明記') + SLASH;
      html += insertTagsHtml('+{{参照方法}}', '', '+参照方法') + SLASH;
      html += insertTagsHtml('+{{国際化}}', '', '+国際化') + SLASH;
      html += insertTagsHtml('link fix ', '', 'link fix') + PIPE;
      html += insertTagsHtml('link fix - double PIPE', '', 'double PIPE') + PIPE;
      html += insertTagsHtml('link fix - equal to linktext', '', 'equal to linktext') + SLASH;
      html += insertTagsHtml('[[WP:MOS#見出し]] ', '', 'WP:MOS#見出し') + PIPE;
      html += insertTagsHtml('[[WP:MOS#見出し]] - headline hierarchy', '', 'headline hierarchy') + PIPE;
      html += insertTagsHtml('[[WP:MOS#見出し]] - link', '', 'link') + PIPE;
      html += insertTagsHtml('[[WP:MOS#見出し]] - bold', '', 'bold') + SLASH;
      html += insertTagsHtml('[[WP:MOS#著作物名]] ', '', 'WP:MOS#著作物名') + SLASH;
      html += insertTagsHtml('[[WP:LS#読み仮名]] ', '', 'WP:LS#読み仮名') + SLASH;
      html += insertTagsHtml('[[WP:DATED]] ', '', 'WP:DATED') + PIPE;
      html += insertTagsHtml('-{{CURRENTYEAR}} ', '', '-CY') + PIPE;
      html += insertTagsHtml('-{{CURRENTMONTHNAME}} ', '', '-CM') + PIPE;
      html += insertTagsHtml('-{{CURRENTYEAR-JST}} ', '', '-CYJ') + PIPE;
      html += insertTagsHtml('-{{CURRENTMONTH-JST}} ', '', '-CMJ') + PIPE;
      html += insertTagsHtml('追加時(○○)の年に置換', '', '追加年月置換') + PIPE;
      html += insertTagsHtml('当該部最終更新時(○○)の年に置換', '', '更新年月置換') + SLASH;
      html += insertTagsHtml('[[WP:JPE#波ダッシュ]] ', '', 'WP:JPE#波ダッシュ') + SLASH;
      html += insertTagsHtml('[[WP:GTL]] ', '', 'WP:GTL') + SLASH;
      html += insertTagsHtml('[[H:FN#スタイルと用法]] ', '', 'H:FN#スタイルと用法') + SLASH;
      html += insertTagsHtml('[[WP:EL#掲載すべきでない外部リンク]] ', '', 'WP:EL#掲載すべきでない外部リンク') + SLASH;
      html += insertTagsHtml('minor update', '', 'minor update') + SLASH;
      html += insertTagsHtml('{{Commonscat}} pos', '', '{{Commonscat}} pos');
    }
    else if(wgCanonicalNamespace == 'Project') {
      html = '<span style="font-weight:bold;">Summary</span>: ';
      html += insertTagsHtml('対処・削除', '', '対処・削除') + PIPE;
      html += insertTagsHtml('対処・全削除', '', '全') + SLASH;
      html += insertTagsHtml('対処・存続', '', '対処・存続') + SLASH;
      html += insertTagsHtml('対処・即時削除', '', '対処・即時削除') + SLASH;
      html += insertTagsHtml('対処・特定版削除', '', '対処・特定版削除') + SLASH;
      html += insertTagsHtml('対処・版指定削除', '', '対処・版指定削除') + SLASH;
      html += insertTagsHtml('特定版削除の確認・終了', '', '特定版削除の確認・終了') + SLASH;
      html += insertTagsHtml('版指定削除の確認・終了', '', '版指定削除の確認・終了') + SLASH;
      html += '<br />';
      html += insertTagsHtml('対処 ', '件', '対処*件') + SLASH;
      html += insertTagsHtml('対処・削除 ', '件', '対処・削除*件') + SLASH;
      html += insertTagsHtml('対処・存続 ', '件', '対処・存続*件');
    }
    else if(wgCanonicalNamespace == 'Talk' || wgCanonicalNamespace == 'Project_talk' || 
            wgCanonicalNamespace == 'File_talk' || wgCanonicalNamespace == 'MediaWiki_talk' || 
            wgCanonicalNamespace == 'Template_talk' || wgCanonicalNamespace == 'Help_talk' || 
            wgCanonicalNamespace == 'Category_talk' || wgCanonicalNamespace == 'Portal‐ノート') {
      html = '<span style="font-weight:bold;">Summary</span>: ';
      html += insertTagsHtml('+{{subst:削除済みノート2}}', '', '+削除済みノート2') + SLASH;
      html += insertTagsHtml('+{{subst:削除済みノート3}}', '', '+削除済みノート3') + SLASH;
      html += insertTagsHtml('+{{subst:不削除ノート2}}', '', '+不削除ノート2') + SLASH;
      html += insertTagsHtml('+{{subst:不削除ノート3}}', '', '+不削除ノート3') + SLASH;
      html += insertTagsHtml('+{{subst:特定版削除済みノート}}', '', '+特定版削除済みノート') + SLASH;
      html += insertTagsHtml('+{{subst:特定版削除済みノート2}}', '', '+特定版削除済みノート2') + SLASH;
      html += insertTagsHtml('+削除審議の記録', '', '+削除審議の記録') + SLASH;
      html += '<br />';
      html += insertTagsHtml('移動報告', '', '移動報告') + SLASH;
      html += insertTagsHtml('-{{subst:Sakujo}}', '', '-subst:Sakujo') + SLASH;
      html += insertTagsHtml('-{{subst:Sakujo}}, -{{Copyrights}}', '', '-subst:Sakujo, -Copyrights');
    }
    else if(wgCanonicalNamespace == 'User' || wgCanonicalNamespace == 'User_talk') {
      html = '<span style="font-weight:bold;">Summary</span>: ';
      html += insertTagsHtml('-{{subst:Ufd}}', '', '-subst:Ufd') + SLASH;
      html += insertTagsHtml('-{{subst:Ufd}}, -{{Copyrights}}', '', '-subst:Ufd, -Copyrights');
    }
    else {
      return;
    }
    
    insertSysoptoolBox(wpSummaryLabel, html);
    
    // Part 3: Clipboard Copy Service
    if(wgCanonicalNamespace == 'Project') {
      var PageNameWithBrackets = '[[' + wgPageName + ']] ';
      html = '<span style="font-weight:bold;">Copy</span>: ';
      html += '<span style="font-weight:bold;">' + insertClipboardCopyLink(PageNameWithBrackets, PageNameWithBrackets) + '</span>';
      //html += '<br />';
      html += SLASH;
      html += insertClipboardCopyLink('百科事典に記載するほどの著名性・特筆性がない記事 ' + PageNameWithBrackets, '特筆性') + SLASH;
      html += insertClipboardCopyLink('百科事典的な記事に成長する見込みのないもの ' + PageNameWithBrackets, '成長見込') + SLASH;
      html += insertClipboardCopyLink('広告 ' + PageNameWithBrackets, '広告') + SLASH;
      html += insertClipboardCopyLink('他言語の記事 ' + PageNameWithBrackets, '他言語') + SLASH;
      html += insertClipboardCopyLink('翻訳・日本語に問題のある記事 ' + PageNameWithBrackets, '翻訳問題') + SLASH;
      html += insertClipboardCopyLink('機械翻訳の濫用が疑われる記事 ' + PageNameWithBrackets, '機械翻訳') + SLASH;
      //html += insertClipboardCopyLink('ページ移動の障害 ' + PageNameWithBrackets, '移動障害') + SLASH;
      //html += insertClipboardCopyLink('ページ名に問題がある記事 ' + PageNameWithBrackets, 'ページ名') + SLASH;
      html += insertClipboardCopyLink('重複記事 ' + PageNameWithBrackets, '重複');
      //html += insertClipboardCopyLink('重複記事 ' + PageNameWithBrackets, '重複') + SLASH;
      //html += insertClipboardCopyLink('長期間未使用のカテゴリ ' + PageNameWithBrackets, '長期未使用C') + SLASH;
      //html += insertClipboardCopyLink('過剰なカテゴリ ' + PageNameWithBrackets, '過剰C') + SLASH;
      //html += insertClipboardCopyLink('過剰なテンプレート ' + PageNameWithBrackets, '過剰T');
    }
    else {
      return;
    }
    
    insertSysoptoolBox(editpage_copywarn, html, BOX_YELLOW);
    //insertSysoptoolBox(editButtons.nextSibling, html, BOX_PURPLE);
  }

  // Delete page (Reason)
  if(wgAction == 'delete') {
    if(wgCanonicalNamespace != 'File') {
      html = insertTagsHtml('[[', ']] ', '[[]]') + SLASH;
      html += insertTagsHtml('[[ ', ']] ', '[[ ]]') + SLASH;
      html += insertTagsHtml('広告 [[', ']] ', '広告') + SLASH;
      html += insertTagsHtml('百科事典に記載するほどの著名性・特筆性がない記事 [[', ']] ', '特筆性') + SLASH;
      html += insertTagsHtml('百科事典的な記事に成長する見込みのないもの [[', ']] ', '成長見込') + SLASH;
      html += insertTagsHtml('他言語の記事 [[', ']] ', '他言語') + SLASH;
      html += insertTagsHtml('翻訳・日本語に問題のある記事 [[', ']] ', '翻訳問題') + SLASH;
      html += insertTagsHtml('機械翻訳の濫用が疑われる記事 [[', ']] ', '機械翻訳') + SLASH;
      html += insertTagsHtml('ページ移動の障害 [[', ']] ', '移動障害') + SLASH;
      html += insertTagsHtml('ページ名に問題がある記事 [[', ']] ', 'ページ名') + SLASH;
      html += insertTagsHtml('重複記事 [[', ']] ', '重複') + SLASH;
      html += insertTagsHtml('長期間未使用のカテゴリ [[', ']] ', '長期未使用C') + SLASH;
      html += insertTagsHtml('過剰なカテゴリ [[', ']] ', '過剰C') + SLASH;
      html += insertTagsHtml('過剰なテンプレート [[', ']] ', '過剰T') + SLASH;
      html += insertTagsHtml('のみ', '', 'のみ');
    }
    else {
      html = insertTagsHtml('[[commons:', ']] ', '[[commons:]]') + SLASH;
      html += insertTagsHtml('[[User talk:', ']] ', '[[User talk:]]') + SLASH;
      html += insertTagsHtml('[[WP:FOP]] 条件1 ', '', '[[WP:FOP]] 条件1') + SLASH;
      html += insertTagsHtml('[[WP:FOP]] 条件4 ', '', '[[WP:FOP]] 条件4') + SLASH;
      html += insertTagsHtml('[[', ']] ', '[[]]');
    }

    insertSysoptoolBox(wpReason, html);
  }

  // Move page (New Title and Reason)
  if(wgAction == 'view' && wgCanonicalSpecialPageName == 'Movepage') {
    // Part 1: for New Title
    html = insertTagsHtml('/del ' + SELDEL_DATE, '', '/del ' + SELDEL_DATE);

    insertSysoptoolBox(wpNewTitle, html);

    // Part 2: for Reason
  	html = insertTagsHtml('特定版削除', '', '特定版削除') + SLASH;
    html += insertTagsHtml('ノートでの合意による', '', 'ノートでの合意による') + SLASH;
    html += insertTagsHtml('[[ノート:○○', '|ノート]]での合意による', '[[ノート:○○|ノート]]での合意による') + SLASH;
    html += '<br />';
    html += insertTagsHtml('[[ノート:○○', ']]での合意に基づく[[WP:RM|移動依頼]]による', '[[ノート:○○]]での合意に基づく[[WP:RM|移動依頼]]による');

    insertSysoptoolBox(wpReason, html);
  }

  // Undelete page (Reason)
  if(wgAction == 'view' && wgCanonicalSpecialPageName == 'Undelete') {
    html = insertTagsHtml('当該問題のない版を復元', '', '当該問題のない版を復元') + SLASH;
    html += insertTagsHtml('要約欄記入ミスのため一旦復元', '', '要約欄記入ミス');

    insertSysoptoolBox(wpComment, html);
  }

  // RevisionDelete page (Reason)
  if(wgAction == 'view' && wgCanonicalSpecialPageName == 'Revisiondelete') {
    var list_title = document.getElementById("mw-content-text").getElementsByTagName("strong")[0].textContent;
    var list_count = document.getElementById("mw-content-text").getElementsByTagName("ul")[0].childElementCount;
    var li_elm_first = document.getElementById("mw-content-text").getElementsByTagName("ul")[0].getElementsByTagName("li")[list_count-1];
    var li_elm_last  = document.getElementById("mw-content-text").getElementsByTagName("ul")[0].getElementsByTagName("li")[0];
    // RevisionDelete for history page
    var rev_date1A = li_elm_first.getElementsByTagName("a")[1].textContent;
    var rev_date2A = li_elm_last.getElementsByTagName("a")[1].textContent;
    // RevisionDelete for log page
    var rev_date1B = li_elm_first.childNodes[2].nodeValue.slice(2);
    var rev_date2B = li_elm_last.childNodes[2].nodeValue.slice(2);
    var rev_date1A_Date = new Date(moment(rev_date1A, "YYYY年MM月DD日 (dd) HH:mm").format('YYYY/MM/DD HH:mm'));
    var rev_date1B_Date = new Date(moment(rev_date1B, "YYYY年MM月DD日 (dd) HH:mm").format('YYYY/MM/DD HH:mm'));
    var rev_date2A_Date = new Date(moment(rev_date2A, "YYYY年MM月DD日 (dd) HH:mm").format('YYYY/MM/DD HH:mm'));
    var rev_date2B_Date = new Date(moment(rev_date2B, "YYYY年MM月DD日 (dd) HH:mm").format('YYYY/MM/DD HH:mm'));
    var rev_date1A_DateS = moment(rev_date1A_Date.toLocaleString('ja-JP', {timeZone: 'UTC'}), "YYYY/MM/DD HH:mm").format('YYYY年M月D日 (dd) HH:mm');
    var rev_date1B_DateS = moment(rev_date1B_Date.toLocaleString('ja-JP', {timeZone: 'UTC'}), "YYYY/MM/DD HH:mm").format('YYYY年M月D日 (dd) HH:mm');
    var rev_date2A_DateS = moment(rev_date2A_Date.toLocaleString('ja-JP', {timeZone: 'UTC'}), "YYYY/MM/DD HH:mm").format('YYYY年M月D日 (dd) HH:mm');
    var rev_date2B_DateS = moment(rev_date2B_Date.toLocaleString('ja-JP', {timeZone: 'UTC'}), "YYYY/MM/DD HH:mm").format('YYYY年M月D日 (dd) HH:mm');
    
    html = insertTagsHtml('[[', ']] ', '[[]]') + SLASH;
    html += insertTagsHtml('[[ ', ']] ', '[[ ]]');
    if (list_title != '選択された記録項目:') {   // for history page
      html += '&nbsp;&nbsp;&nbsp;<span style="font-weight:bold;">選択された版の数</span>: ';
    } else {
      html += '&nbsp;&nbsp;&nbsp;<span style="font-weight:bold;">選択された記録項目の数</span>: ';
    }
    html += '<span style="color:#0000dd;">'+ list_count + '</span>';
    html += '&nbsp;&nbsp;&nbsp;<span style="font-size:80%;">';
    html += '※適用失敗した版がある場合、適用された版の数と一致しないので注意 <a href="https://ja-two.iwiki.icu/w/index.php?title=Special:Log&page=' + wgRelevantPageNameUrlEncoded + '">[記録]</a></span>';
    if (list_title != '選択された記録項目:') {   // for history page
      if (list_count >= 2) {
      	let temp_str = rev_date1A_DateS + ' UTCから' + rev_date2A_DateS +' UTCまでの計' + list_count + '版';
        html += '<br /><span style="font-weight:bold;">開始版</span>: <span style="color:#0000dd;">' + rev_date1A + ' JST</span>';
        html += '<br /><span style="font-weight:bold;">終了版</span>: <span style="color:#0000dd;">' + rev_date2A + ' JST</span>';
        html += '<br /><span style="font-weight:bold;">' + insertClipboardCopyLink(temp_str, '範 囲') + '</span>: <span style="font-weight:bold; color:#0000dd;">' + temp_str + '</span>';
        html += '<br /><span style="font-weight:bold;">' + insertClipboardCopyLink('**# [[' + wgRelevantPageName + ']] - ' + temp_str, '範 囲') + '</span>: ' + '**# [[' + wgRelevantPageName + ']] - ' + temp_str;
      } else {
      	let temp_str = rev_date1A_DateS + ' UTCの版';
        html += '<br /><span style="font-weight:bold;">対象版</span>: <span style="font-weight:bold; color:#0000dd;">' + rev_date1A + ' JST</span>';
        html += '<br /><span style="font-weight:bold;">' + insertClipboardCopyLink(temp_str, '範 囲') +'</span>: <span style="font-weight:bold; color:#0000dd;">' + temp_str + '</span>';
        html += '<br /><span style="font-weight:bold;">' + insertClipboardCopyLink('**# [[' + wgRelevantPageName + ']] - ' + temp_str, '範 囲') + '</span>: ' + '**# [[' + wgRelevantPageName + ']] - ' + temp_str;
      }
    } else {  // for log page
      if (list_count >= 2) {
      	let temp_str = rev_date1B_DateS + ' UTCから' + rev_date2B_DateS +' UTCまでの' + list_count + '件の記録項目';
        html += '<br /><span style="font-weight:bold;">開始版</span>: <span style="font-weight:bold; color:#0000dd;">' + rev_date1B + ' JST</span>';
        html += '<br /><span style="font-weight:bold;">終了版</span>: <span style="font-weight:bold; color:#0000dd;">' + rev_date2B + ' JST</span>';
        html += '<br /><span style="font-weight:bold;">' + insertClipboardCopyLink(temp_str, '範 囲') + '</span>: <span style="font-weight:bold; color:#0000dd;">' + temp_str + '</span>';
      } else {
      	let temp_str = rev_date1B_DateS + ' UTCの記録項目';
        html += '<br /><span style="font-weight:bold;">対象版</span>: <span style="font-weight:bold; color:#0000dd;">' + rev_date1B + ' JST</span>';
        html += '<br /><span style="font-weight:bold;">' + insertClipboardCopyLink(temp_str, '範 囲') +'</span>: <span style="font-weight:bold; color:#0000dd;">' + temp_str + '</span>';
      }
    }
    html += '<br /><span style="font-size:80%;">※選択した複数版が非連続の場合、範囲の表記に注意</span>';
    insertSysoptoolBox(wpReason, html);
  }
  
  if(wgAction == 'history') {
    var mw_content_text = document.getElementById("mw-content-text");
    
    html = '<span style="font-weight:bold;">P&G</span>: ' + '['
    html += '<a href="https://ja-two.iwiki.icu/wiki/Wikipedia:削除の方針#E">DEL#E</a>' + SLASH;
    html += '<a href="https://ja-two.iwiki.icu/wiki/Wikipedia:削除の方針#G">DEL#G</a>' + SLASH;
    html += '<a href="https://ja-two.iwiki.icu/wiki/Wikipedia:即時削除の方針">CSD</a>';
    html += '&nbsp;&nbsp;<span style="font-weight:bold;">Tool</span>: ';
    html += '<a href="https://ja-two.iwiki.icu/wiki/Special:WhatLinksHere/' + wgPageNameUrlEncoded + '">リンク元</a>';
    html += '&nbsp;&nbsp;<span style="font-weight:bold;">Action</span>: ';
    html += '<a href="https://ja-two.iwiki.icu/w/index.php?title=' + wgPageNameUrlEncoded + '&action=delete">削除</a>';

    insertSysoptoolBox(mw_content_text, html, BOX_GREEN);
  }

  if(wgAction == 'view' && wgCanonicalSpecialPageName == 'Whatlinkshere') {
    var mw_content_text = document.getElementById("mw-content-text");
    var oo_ui_panelLayout = document.getElementsByClassName("oo-ui-panelLayout")[0];

    oo_ui_panelLayout.setAttribute('style', 'display: none;');

    //var legend = document.getElementsByClassName("legend")[0];
    //oo_ui_panelLayout.setAttribute('class', 'oo-ui-layout oo-ui-labelElement oo-ui-fieldsetLayout mw-collapsibleFieldsetLayout mw-collapsible mw-collapsed');
    ////history: oo-ui-layout oo-ui-labelElement oo-ui-fieldsetLayout mw-collapsibleFieldsetLayout mw-collapsible mw-collapsed
    ////whatlinkshere: oo-ui-layout oo-ui-labelElement oo-ui-fieldsetLayout
    //legend.setAttribute('role', 'button');
    //legend.setAttribute('class', 'oo-ui-fieldsetLayout-header mw-collapsible-toggle');
    ////history: role='button' class='oo-ui-fieldsetLayout-header mw-collapsible-toggle'
    ////whatlinkshere: class='oo-ui-fieldsetLayout-header'

    html = '<span style="font-weight:bold;">P&G</span>: ';
    html += '<a href="https://ja-two.iwiki.icu/wiki/Wikipedia:削除の方針#E">DEL#E</a>' + SLASH;
    html += '<a href="https://ja-two.iwiki.icu/wiki/Wikipedia:削除の方針#G">DEL#G</a>' + SLASH;
    html += '<a href="https://ja-two.iwiki.icu/wiki/Wikipedia:即時削除の方針">CSD</a>';
    html += '&nbsp;&nbsp;<span style="font-weight:bold;">Tool</span>: ';
    html += '<a href="https://ja-two.iwiki.icu/w/index.php?title=' + wgRelevantPageNameUrlEncoded + '&action=history">履歴表示</a>';
    html += '&nbsp;&nbsp;<span style="font-weight:bold;">Action</span>: ';
    html += '<a href="https://ja-two.iwiki.icu/w/index.php?title=' + wgRelevantPageNameUrlEncoded + '&action=delete">削除</a>';

    insertSysoptoolBox(mw_content_text, html, BOX_GREEN);
  }

  if(wgAction == 'view' && wgCanonicalSpecialPageName == 'Log') {
    var mw_input_page = document.getElementById("mw-input-page");
    var target_page_name = mw_input_page.children[0].getAttribute('value');
    var splitted1 = target_page_name.split( ':' )[0]; //Namespace? or Article Name
    var splitted2 = target_page_name.split( ':' )[1]; //Page Name (not article)
    var splitted_count = target_page_name.split( ':' ).length;
    var mw_log_deleterevision_submit= document.getElementById("mw-log-deleterevision-submit");
    
    if(target_page_name != "" 
        && target_page_name.slice( 0, 5 ) != "User:" 
        && target_page_name.slice( 0, 4 ) != "利用者:"){ //More needed for Talk pages (currently does't work)
 
      html = '<span style="font-weight:bold;">Target</span>:「<a href="https://ja-two.iwiki.icu/wiki/' + target_page_name + '">' + target_page_name + '</a>」';
      html += '&nbsp;&nbsp;<span style="font-weight:bold;">Tool</span>: ';
      if (splitted_count == 1) {
        html += '<a href="https://ja-two.iwiki.icu/wiki/Talk:' + target_page_name + '">ノート</a>' + SLASH;
      } else {
        html += '<a href="https://ja-two.iwiki.icu/wiki/:' + splitted1 + ' Talk:' + splitted2 +  '">ノート</a>' + SLASH;
      }
      html += '<a href="https://ja-two.iwiki.icu/w/index.php?title=' + target_page_name + '&action=history">履歴表示</a>';
      
      insertSysoptoolBox(mw_log_deleterevision_submit, html, BOX_GREEN);
    }
  }
});
// </nowiki> DON'T REMOVE THIS LINE TO AVOID SUBST WHILE SAVING.