BudouX

提供:きまぐれ手記 Kimagurenote
移動先: 案内検索
当サイトではアフィリエイト広告を掲載しています
English information available at mw:Extension:BudouX

Extension:BudouX は、Google BudouXを組み込むことで、日本語を読みやすい位置で折り返す(改行する)ことができる、MediaWiki用の自作Extension(拡張機能)

本ExtensionではBudouX JavaScript moduleを読み込むことと、本文中に‎<budoux-ja>...‎</budoux-ja>タグを追加する処理をしているだけ。改行位置の調整は Google BudouX で行っている。

Google BudouX も本Extensionも Apache License 2.0 で提供されており、無料で利用できる(ノークレーム・ノーサポート)。

初期設定 Setting

Download

BudouX_20230926.zip (4KB)

Download and unzip it on your MediaWiki extensions directory.

You can use it freely at your own risk. I license it under the Apache License 2.0.

English installation guide is here.

LocalSettings.php

Edit LocalSettings.php file to add below.

LocalSettings.php 
/* Extension:Postscript */
wfLoadExtension( 'BudouX' );
/* select a value suitable for your contents */
$wgBudouXLang = "ja";		// Japanese
$wgBudouXLang = "zh-hans";	// Simplified Chinese
$wgBudouXLang = "zh-hant";	// Traditional Chinese

And check Special:Version on your wiki.

追加設定

両端揃えにしたい

任意。規定では左寄せで表示されるので、BudouX を導入すると右側が空くことになるが、気になる場合は MediaWiki:Common.css を下記のように編集して両端揃えにすると良いかも。

MediaWiki:Common.css 
p, dd {
	text-align: justify;
}

上記は一例。自由に設定できる。

注:MediaWiki 1.32 以降では、CSSを編集するために特殊な権限が必要

特定のページを除外したい

(v1.0.1-) 下記の要領で指定したページを除外できる。省略可。

LocalSettings.php 
$wgBudouXExcludes = [ "Main Page", "メインページ" ];

英字は大文字・小文字を区別する。

特定のタグに適用したい

(v1.0.1-) 下記の要領で指定したタグに適用できる。省略可。

LocalSettings.php 
$wgBudouXTags = [ "p", "dd" ];

半角英小文字で指定すること。 無指定の場合、規定では [ "p", "dd", "li" ] になっている。

制限事項

このExtensionは NS_MAIN または $wgContentNamespaces で指定されている名前空間(カスタム名前空間)でのみ動作する。

また、記事無し(新規作成)、転送元、編集プレビュー、およびExtension:SubTranslateで生成された自動翻訳ページでは動作しない。

<code> との競合

BudouX を適用すると、‎<code>の装飾(背景色など)が適用されなくなる。

CSS擬似要素との競合

これも BudouX の制限事項だが、CSSで指定した :before:after などの擬似要素が働かなくなってしまう。

画像のキャプションには適用されない

本Extensionでは本文中の‎<p>...‎</p>‎<dd>...‎</dd>‎<li>...‎</li>にのみ専用タグを設定しているので、それ以外の箇所(画像のキャプションなど)には本Extensionが適用にならない。

タグ自体は追加できるようにしたが、今のところ、BeforePageDisplayで処理しているので、画像の処理は難しい(画像のキャプションを容易に特定できるタグが無い)。

試しにParserAfterTidyで処理しようとしたところ、Skinなどと競合して表示乱れが発生した経緯もあり、今の形になっている。

カスタム学習モデル

今のところ未対応で、対応予定もない。

拙作のExtension:Postscriptを使ってスクリプトを追加するなど、試してみてほしい。

History

Links

Related articles