Help:jastyle

jastyleは、日本語用にウィキスタイルの自動修正を行うスクリプトです。スクリプト本体はMediaWiki:Gadget-jastyle.jsにあります。

対象[編集]

jastyleは、次の名前空間のページを編集するときにだけ動作します。

  • 標準、Category、Template、Portal、Help

未了これらの名前空間で働き、ほかで働かない意図が不明。

導入[編集]

1.アカウント登録・ログイン
jastyleを導入(インストール)するには、アカウント登録していなければなりません。もし、取得していない場合は、ログインページで登録した上で、ログインしてください。
2.スクリプトの追加
次にあなたのサブページである/vector-2022.jsのページに以下の文章を入力します。
mw.loader.load('//ja.wikipedia.org/w/index.php?title=MediaWiki:Gadget-jastyle.js&action=raw&ctype=text/javascript');
  • :「ベクター (2022年版)」(デフォルト)以外の外装(スキン)を使用している場合は、以下のリストから使用しているスキンのページに作成もしくは追記してください。
3.キャッシュの消去
保存後は、使用しているブラウザのキャッシュを消去してください(「個人設定」の下部にある注意に書いてある方法でもキャッシュを消去できます)。
ブラウザのJavaScriptを禁止しない限り、jastyleは機能します。
機能停止したい場合
このスクリプトを削除(アンインストール)したい場合、導入した際に表示された上記の文章を削除した後、キャッシュも消去してください。

機能の無効化[編集]

「disable autostyle」チェックボックスにチェックを入れると、jastyleの機能は働かなくなります。

×このチェックボックスをオンにしても機能を無効化できないとの報告あり。

機能の一覧[編集]

改行[編集]

改行コード CR、CRLF、CRCRLF、CRCR…LF
LFにします。
未了以降の処理を簡便にするための正規化と思われる。

半角・全角の使い分け[編集]

全角英数・記号を半角文字に変換
#→#、%→%、@→@、12→12
×「&」が「&」ではなく「&」に変換される。
ただし、以下のものは例外
,.:;?!` ̄|()[]{}=¥
未了一部のみ置き換える意図が不明。
英数字のあとの全角形ピリオド「.」をピリオドと空白「.」に変換
英数字のあとの全角形カンマ「,」をカンマと空白「,」に変換
未了意図が不明(「救済」とコメントにあり)。
半角カナを全角カナに変換
ガ→ガ、ァ→ァ
全角形カンマ「,」(上記の場合を除く)および半角形読点「、」を読点「、」に変換
未了カンマを置き換える意図が不明。
全角形ピリオド「.」(上記の場合を除く)および半角形句点「。」を句点「。」に変換
未了ピリオドを置き換える意図が不明。

いわゆる機種依存文字[編集]

丸付き数字、丸付き文字、カッコ付き文字
半角括弧で囲まれた数字・文字に置き換えます。
①→(1)、⑩→(10)、㊥→(中)、㈹→(代)
未了すべていわゆる半角の括弧としている。
未了置き換えは一部の囲み文字に限られる。
ローマ数字
半角英字のI、V、Xの組み合わせに置き換えます。
Ⅰ→I、Ⅱ→II、Ⅶ→VII、Ⅹ→X
未了大文字のみ、IからXまでのみ置き換える。小文字(ⅰ、ⅹなど)の場合は置き換えないこと、またJIS X 0213およびUnicodeでは12まで収録している[1]が11、12は置き換えないことの意図が不明。
1文字に収められているカタカナ・漢字の単位
全角のカタカナ・漢字に置き換えます。
㌢→センチ、㌦→ドル、㍼→昭和
未了意図が不明。置き換えが一部の組文字に限られる。
1文字に収められている英字の単位
半角英字に置き換えられます。
㎜→mm、㎏→kg
未了WP:JPE#単位「数字と単位の間には、半角スペースを入れます」を考慮していない。

未了上記以外のcompatibility formsを置き換えない意図が不明。

Wiki記法[編集]

4つ以上の「-」だけから成る行、またはそれで始まる行
その部分を、「----」だけの行にします。前に空行があれば詰め、後ろにある空行は1つに(なければ追加)します。
未了空行をこのように整える意図が不明(どちらでもレンダリングに支障はない)。
{{msg:~~}}
{{~~}}に置き換えます。
{{SERVER}}{{localurl:~~}}
{{fullurl:~~}}に置き換えます。
[[CATEGORY:~~]]、[[category:~~]]など(大文字小文字の区別なし)
「C」のみ大文字の[[Category:~~]]に置き換えます。
[[:CATEGORY:~~]]、[[:category:~~]]など(大文字小文字の区別なし)
「C」のみ大文字の[[:Category:~~]]に置き換えます。
未了Categoryのみ置き換える意図が不明。←記事中で必ず使われる要素だから? ただし当プログラムは、標準、Category、Template、Portal、Helpの各名前空間で動作することになっている。
未了この使われ方と似ているものとしては、[[Wikipedia:~~]]、[[Portal:~~]]、[[Template:~~]]があるが、これらは先頭が(例えば)小文字になっていても置き換えられない。
<br>、<br >、<br />など
<br/>に置き換えます。
未了意図が不明。旧式の表記というわけでもないし。
<hr>、<hr >、<hr/>、<hr />など
「----」だけから成る行に置き換えます。前に空行があれば詰め、後ろにある空行は1つに(なければ追加)します。
サイトがjawpである場合
[[w:(言語コード):~~]]
[[:(言語コード):~~]]に置き換えます。
[[w:~~]]
[[:en:~~]]に置き換えます。
未了jawpのみ対応する根拠が不明。

×<nowiki>タグの要素であっても置き換えられる[2]

未了これら以外に修正するべきものや修正すべきでないものがあるのかどうかが不明。

タグ[編集]

<div class="center"> ~ </div>
<div style="text-align:center"> ~ </div>の形式に修正します。
<font> ~ </font>
<span style=" "></span>の形式に修正します。
すべてのタグ
ある正規化を行います。
未了コードを読むより作者に聞いたほうが早いとおもう。
×<nowiki>タグの中のテキストについて考慮されていない(タグらしきものを含んでいれば修正されてしまう)模様。
×HTMLタグが破壊されることがある(たとえばアトリビュートの値が"..."で囲まれていないもの)。
×ウィキマークアップでHTMLタグのように扱われないものでも、<英数字...>の形式の文字列であれば変更されてしまう(たとえば、「<GOGO>」は「<gogo>」になる)。

行頭と行末、空白[編集]

行頭の全角空白
除去します。
行頭の* : #
直後に半角スペースを挿入します。「#」がリダイレクトとして用いられている場合は挿入しません。
*Wikipedia* Wikipedia
×インデントされた表を破壊することが知られている。
連続する半角空白
1つの半角空白にします。ただし、<pre>タグの中では1つにしません。
×フォーマットずみテキスト(行頭に半角空白があるテキスト)でインデントがなくなる[3]
行末の半角空白と全角空白
除去します。ただし、行頭に半角空白がある(フォーマットずみとして表示される)場合および<pre>タグの中では除去しません。
半角空白のみから成る行
行を除去します。ただし、直前の行が行頭に半角空白がある(フォーマットずみとして表示される)場合および<pre>タグの中では除去しません。
×フォーマットずみの最初の行が半角空白のみである場合、その行は除去される。いっぽうで、最後の行が半角空白のみである場合、除去されない。

見出しの統一[編集]

見出しの「=」の内側
半角空白が複数あれば1つずつにします。なければ1つ挿入します。
「関連記事」、「関連事項」、「関連用語」
「関連項目」という見出しに置き換えます。
×「○○関連用語」といった、上記の言葉を含む見出しが破壊される。
「外部へのリンク」、「外部サイト」、「参照リンク」、「参照サイト」、「関連リンク」
「外部リンク」という見出しに置き換えます。
×同上。

未了見出しのテキストのみ変更しており、WP:GTLに沿った節順にしないことの根拠が不明。

interwiki[編集]

文字参照
数値文字参照をUnicodeの文字に置き換えます。
未了文字実体参照は置き換えない。
×置き換え結果が不正な文字でないかどうかのチェックを行わない。
アンダーバー ( _ )
半角空白に置き換えます。

未了interwikiリンクをこのように置き換える意図が不明(どちらでもレンダリングに支障はないし、そもそもinterwiki整備botが処理のついでにやるだろうことを別個にやっている)。

空行[編集]

連続した二行以上の空行
一行だけの空行にします。
見出しの後の空行
全て取り除いて行間を詰めます。
見出しの前の空行
空行が無い場合は、空行を1行挿入します。

未了見出しの前後の空行をこのように揃える意図が不明(どちらでもレンダリングに支障はない)。