案内編論文編書籍編雑記編

メディアウィキのスキンのカスタマイズ

メディアウィキの既存のスキンに満足できない場合は、Manual:Gallery of user styles に行って、お気に入りのスキンを探すとよい。ここでは、私のサイト、GeneralSystemics.com日本語版/英語版]で採用しているスキン、GuMaxDD1.1(Drop Down Menu Series)をカスタマイズする方法について書きます。

1. GuMaxDD 概要

このページでは、2009年7月5日にリリースされたGuMaxDD1.1を取り上げます。このスキンを利用するには、GuMaxDD1.1 をダウンロードして、解凍し、skins フォルダ内にある

GuMaxDD.php
GuMaxDD.deps.php
GuMaxDD(フォルダ)

という三つのコンポーネントを、メディアウィキの skins フォルダに入れます。スキンを変える場合、Preferences で変えても、ログインしていないユーザに対しては適用されないので、常にスキンを有効にするには、ローカル設定で、そのスキンを指定します。

サイトの構成の変更は、GuMaxDD.php を開いて行います。CSSを変更するには、以下のディレクトリにある CSS ファイルを変更します。

1.1. スクリーンで閲覧するためのCSS

■ スキンとは無関係に共有されているCSS

../skins/common/shared.css

■ GuMaxDD固有のCSS

../skins/gumaxdd/gumax_main.css

このCSSは、さらに以下のCSSを参照しています。

../skins/gumaxdd/gumax_template.css
../skins/gumaxdd/main.css
../skins/gumaxdd/gumax_droppy.css

この三つのCSSが、スキンをカスタマイズする上での主な対象となります。

1.2. 印刷して閲覧するためのCSS

■ スキンとは無関係に共有されているCSS

../skins/common/commonPrint.css

■ GuMaxDD固有のCSS

../skins/gumaxdd/gumax_print.css

以下、一般に必要と思われるカスタマイズの方法を記します。

2. ページの横幅を変える

サイトの横幅を、620px から 800px の範囲内でリキッドに対応するには、以下のように、gumax_template.css を設定します。

body { margin: 0; padding: 0; width: 100%;}

#gumax-page { margin: 0 auto 0 auto; min-width: 620px; max-width: 800px; }

3. ロゴ画像を取り替える

ロゴ画像を自分のものと入れ替えるには、以下の画像を変えます。

../skins/common/images/wiki.png

ロゴ画像のサイズを変更するには、gumax_template.css の以下の部分を変更します。

#p-logo, #p-logo a, #p-logo a:hover {width: **px; height: **px; }

4. ひまわりのバナーを削除する

ひまわりのバナーを撤去するには、GuMaxDD.php の以下の部分を削除します。

<!-- gumax-article-picture -->
<?php $this->articlePictureBox(); ?>
<!-- end of gumax-article-picture -->
<div id="gumax_menupic_spacer"></div>

5. タイトルを<h1>タグでくくる

SEOの観点からすると、タイトルは、<h1>タグでくくったほうがよい。そのためには、GuMaxDD.php の

<div class="gumax-firstHeading"><?php $this->data['displaytitle']!=""?$this->html('title'):$this->text('title') ?></div>

の部分を

<h1><?php $this->data['displaytitle']!=""?$this->html('title'):$this->text('title') ?></h1>

へと変更します。また、main.css にある h1 を削除した上で、gumax-firstHeading を h1 に変えます。

6. ナビゲーションメニューを変更する

Mediawiki:Sidebar というページ名でアクセスします。例えば、

というURLでアクセスして、このページを、例えば、次のように編集します。

*案内
**http://www.generalsystemics.com/|表紙
**mainpage|メインページ
**特別:被リンクの多いカテゴリ|主要カテゴリー
**currentevents-url|currentevents
**recentchanges-url|recentchanges
**randompage-url|randompage
**helppage|help

*ページ
**特別:ページ一覧|ページ一覧
**特別:Newestpages|最近製作したページ
**特別:最近更新したページ|最近更新したページ
**特別:人気ページ|最も人気のあるページ
**特別:編集履歴の多いページ|編集履歴の多いページ
**特別:被リンクの多いページ|リンクされているページ
**特別:カテゴリの多いページ|カテゴリの多いページ
**特別:リダイレクトの一覧|リダイレクトの一覧

*画像
**特別:ファイルリスト|画像一覧
**特別:新着ファイル|新しい画像

*ユーザ
**特別:パスワードの変更|パスワードの変更
**特別:個人設定|個人設定
**特別:利用者グループの権限一覧|ユーザの権限
**特別:登録利用者の一覧|ユーザ一覧
**特別:投稿記録|ユーザの投稿記録
**特別:Newmessages|メッセージ
**特別:ブロック一覧|ブロック中一覧

*サイト情報
**特別:統計|サイトの統計
**特別:バージョン情報|ソフトのバージョン情報
**特別:ログ|すべてのログ

*検索
**特別:検索|詳細検索
**特別:外部リンク検索|外部リンクの検索
**特別:MIME検索|MIME検索
**特別:前方一致ページ一覧|前方一致ページ検索
**特別:リンク元|リンク元検索

*言語
**../en/Main_Page|一般システム学英語版
**../de/Hauptseite|一般システム学独語版
**../fr/Accueil|一般システム学仏語版

*ブログ
**http://www.nagaitosiya.com/|永井俊哉ドットコム
**http://www.nagaitosiya.com/a/|永井俊哉ドットコム論文編
**http://www.nagaitosiya.com/b/|永井俊哉ドットコム書籍編
**http://www.nagaitosiya.com/c/|永井俊哉ドットコム雑記編

星が一つの項目は、ナビゲーションバーに表示され、星が二つの項目は、プルダウンメニューに表示されます。GuMaxDD 1.1 では、ナビゲーションバーの項目もクリックできるようになったので、各項目別ごとにページを作らなければならなくなりました。

7. 言語間リンクを設定する。

GuMaxDD1.1 では、「デザイン上の都合で」[GuMax Community Forum:Interwiki links missing]、言語間リンク(interlanguage links)をリストした「他の言語」ボックスが削除されています。多言語サイトを構築していて、言語間リンクが必要な場合には、以下のコードを、GuMaxDD.php に追加します。

<!-- Languages -->
<?php if($this->data['language_urls']) { ?>
<div id="gumax-p-navigation-wrapper">
<div class='gumax-portlet' id='p-navigation'>
<div id="languageshead"><?php echo $this->msg('otherlanguages'); ?></div>
<div id="gumax-p-navigation">
<ul>
<?php for($i=0; $i<count($this->data['language_urls']); $i++) { ?>
<li><a href="<?php echo $this->data['language_urls'][$i]['href']; ?>">
<?php echo $this->data['language_urls'][$i]['text']; ?></a></li>
<?php } ?>
</ul>
</div>
</div>
</div>
<?php } ?>
<!-- end of Languages -->

これを追加して、ページのコンテンツ内に

[[言語コード:リンク先のページの見出し語]]

例えば、

[[en:Main_Page]]

というように書き込めば、「他の言語」ボックスにリンクがリストされます。何も書かなければ、<?php if($this->data['language_urls']) { ?> 内のコードが無効になるので、「他の言語」ボックス自体が表示されません。

なお、「他の言語」ボックスにではなくて、本文中に他の言語の記事へリンクをはりたいときには、

[[:言語コード:リンク先のページの見出し語]]

というようにします。これに関しては、メディアウィキのインターウィキ設定をご覧ください。

[投稿者:Nagai Toshiya|公開日:2009年8月19日|コメント:0個]
ブログ内移動
カテゴリー内移動
コメントする
Sponsored Links
Recommended Books