Mediawiki/インターフェイスのカスタマイズ
提供:maruko2 Note.
Mediawiki 関連のページ
|
Mediawiki のインターフェイスをカスタマイズする方法は、次の方法がある。
- Mediawiki 名前空間を編集する方法
- 表示される文字や CSS を編集する事ができる。
- skin ファイルを編集する方法
- skins ディレクトリ内にある php ファイルを直接編集する。(例えば、skins/MonoBook.php を編集する。)
目次 |
MediaWiki 名前空間を編集してインターフェイスをカスタマイズする
ページにページタイトルを表示させないようにする
ページにページタイトルを表示させないようにするには、CSS を利用してページ名を隠すことができる。(バージョン 1.9 以上)
全てのページの <body> タグ には、ページ名ごとの CSS class が設定されている。その CSS class を利用し MediaWiki:Common.css に表示しない設定をする事で、メージタイトルを隠すようにする。
例えば、メーンページの HTML ソースは次のようになっている。
<body class="mediawiki ns-0 ltr page-メインページ">
page-メインページ がメインページ固有の class になるので、MediaWiki:Common.css に次のように書く事で、メインページではページタイトルが表示されなくなる。
body.page-メインページ h1.firstHeading {display:none;} body.page-メインページ #contentSub {display:none;}
この方法はメインページに限らず、どのぺ−ジでもできるはず。 |
skin ファイルを直接編集してインターフェイスをカスタマイズする
上部タブをログインユーザのみに表示するようにする
匿名ユーザに対し、本文(nstab-main)、ノート(talk)のみ表示する。(ソースを表示(viewsource)、履歴(history)を表示しない。)
skins/MonoBook.php を編集する
MediaWiki 1.11.2 の場合
デフォルトでは 121 行目あたり
<?php foreach($this->data['content_actions'] as $key => $tab) { ?>
次のように編集する
<?php foreach($this->data['content_actions'] as $key => $tab) if($this->data['loggedin']==1 or ($this->data['loggedin']==0 and $key == 'nstab-main') or ($this->data['loggedin']==0 and $key == 'talk') //or ($this->data['loggedin']==0 and $key == 'viewsource') //or ($this->data['loggedin']==0 and $key == 'history') ) { ?>
MediaWiki 1.13.2 の場合
<?php foreach($this->data['content_actions'] as $key => $tab) { echo ' <li id="ca-' . Sanitizer::escapeId($key).'"';
<?php foreach($this->data['content_actions'] as $key => $tab) if ($this->data['loggedin']==1 or ($this->data['loggedin']==0 and $key == 'nstab-main') or ($this->data['loggedin']==0 and $key == 'talk') //or ($this->data['loggedin']==0 and $key == 'viewsource') //or ($this->data['loggedin']==0 and $key == 'history') ) { echo ' <li id="ca-' . Sanitizer::escapeId($key).'"';
フッタの表示内容を変える
skins/MonoBook.php を編集する
MediaWiki 1.11.2 では 259 行目あたり
$footerlinks = array( 'lastmod', 'viewcount', 'numberofwatchingusers', 'credits', 'copyright', 'privacy', 'about', 'disclaimer', 'tagline', );
次のように編集する
$footerlinks = array( // 'lastmod', 'viewcount', // 'numberofwatchingusers', 'credits', // 'copyright', // 'privacy', 'about', // 'disclaimer', // 'tagline', );
toolbox を、ログインしないと表示させないようにする
http://meta.wikimedia.org/wiki/Layout_customization
skins/Monobook.php の下記部分を編集する。(2か所)
- 変更前
<div class="portlet" id="p-tb"> <h5><?php $this->msg('toolbox') ?></h5> <div class="pBody"> 省略... wfRunHooks( 'MonoBookTemplateToolboxEnd', array( &$this ) ); ?> </ul> </div> </div> <?php
- 変更後
<div class="portlet" id="p-tb"> <?php if($this->data['loggedin']) { ?> <h5><?php $this->msg('toolbox') ?></h5> <div class="pBody"> 省略... wfRunHooks( 'MonoBookTemplateToolboxEnd', array( &$this ) ); ?> </ul> </div> <?php } ?> </div> <?php