// ==UserScript== // @name JetBrainsManualJapaneseCustom // @namespace cypher256.JetBrainsManualJapaneseCustom // @version 1.5 // @description JetBrainsマニュアルの日本翻訳版ページと公式を行ったり来たり出来ます(右クリック開く対応) // @author cypher256 (origin mikan-megane) // @match https://www.jetbrains.com/help/* // @match https://pleiades.io/help/* // @run-at document-end // @grant none // @downloadURL none // ==/UserScript== window.addEventListener('load', function() { 'use strict'; var official = location.hostname == 'www.jetbrains.com'; function replaceLink() { return 'https://' + (official ? 'pleiades.io' : 'www.jetbrains.com') + location.href.replace(/^https:..[^\/]+/, ''); } function toggleJapanese(e) { var a = document.getElementById('help_link'); a.href = replaceLink(); e.stopPropagation(); } var wapper = document.createElement('div'); wapper.setAttribute('class', 'group__item'); var link = document.createElement('a'); link.setAttribute('id', 'help_link'); link.setAttribute('href', replaceLink()); link.setAttribute('class', 'dropdown__trigger-value'); link.appendChild(document.createTextNode(official ? '日本語ページへ' : '英語ページへ')); link.addEventListener('click', toggleJapanese, false); link.addEventListener('mousedown', toggleJapanese, false); wapper.appendChild(link); var $links = document.querySelector('.header__links'); if ($links) { $links.insertBefore(wapper, $links.firstChild); } else { var $divider = document.querySelector('.header__divider'); if ($divider) { wapper.style.margin = '0 10px 0 0'; $divider.parentNode.insertBefore(wapper, $divider.nextSibling); } } });