利用者:Yaakiyu.jp/common.js
ナビゲーションに移動
検索に移動
注意: 保存後、変更を確認するにはブラウザーのキャッシュを消去する必要がある場合があります。
- Firefox / Safari: Shift を押しながら 再読み込み をクリックするか、Ctrl-F5 または Ctrl-R を押してください (Mac では ⌘-R)
- Google Chrome: Ctrl-Shift-R を押してください (Mac では ⌘-Shift-R)
- Microsoft Edge: Ctrl を押しながら 最新の情報に更新 をクリックするか、Ctrl-F5 を押してください。
(function() {
var conf = mw.config.get(['wgAction', 'wgPageContentModel']);
if (!['edit', 'submit'].includes(conf.wgAction)) return;
if (['javascript', 'css'].includes(conf.wgPageContentModel)) return;
// --- 1. 公式がビルド済みのリソースを Load.php から直接拝借する ---
// 他の Wiki から持ってくることで、依存関係(Tag等)が解決済みのコードを取得できます
var resourceBase = 'https://www.mediawiki.org/w/load.php?debug=false&lang=ja&modules=';
var modules = [
'ext.CodeMirror.v6', // 本体
'ext.CodeMirror.v6.lib',
'ext.CodeMirror.v6.mode.mediawiki' // Wiki記法定義
].join('|');
// --- 2. スクリプトの読み込み ---
var script = document.createElement('script');
script.src = resourceBase + modules;
script.onload = function() {
var myTextarea = document.getElementById('wpTextbox1');
// Load.php 経由で読み込むと、mw.loader 経由で実行されるため少し待機が必要な場合があります
mw.loader.using( [ 'ext.CodeMirror.v6', 'ext.CodeMirror.v6.mode.mediawiki' ], function (require) {
const CodeMirror = require( 'ext.CodeMirror.v6' );
const { mediawiki } = require( 'ext.CodeMirror.v6.mode.mediawiki' );
const cm = new CodeMirror( myTextarea, mediawiki() );
cm.initialize();
// 見た目の補正
var style = document.createElement('style');
style.innerHTML = '.CodeMirror { border: 1px solid #a2a9b1; min-height: 450px; }';
document.head.appendChild(style);
});
};
document.head.appendChild(script);
})();