Extension:NoTitle/ja
From MediaWiki.org
|
NoTitle Release status: beta |
|||
|---|---|---|---|
| 実装 | 拡張構文 | ||
| 説明 | 記事中にマジックワードを記述することで、主タイトル行を非表示にします | ||
| 作者 | Carlo Cabanilla | ||
| 最新バージョン | 1.01 (5/18/2007) | ||
| MediaWiki | 1.9.3および1.13.3で確認 | ||
| ライセンス | No license specified | ||
| ダウンロード | この記事中に拡張機能のプログラムを記載 | ||
|
|||
| 使用法とバージョン一覧を確認してください | |||
NoTitle拡張機能は記事中にマジックワードを記述することにより、主タイトル行を非表示にする機能を実装します。
なお、主タイトルとはスキンPHPファイルで<h1>~</h1>で囲まれた部分で、クラス指定class="firstHeading"が行われているものとします。MediaWikiのデフォルト・スキンであるMonoBookスキンを想定しています。
Contents |
使用法 [edit]
主タイトル(見出しレベルH1)を非表示にしたい任意の記事でマジックワード『__NOTITLE__』を記述します。
拡張機能のソースコード [edit]
次に示すソースコードをnotitle.phpとしてextensionsディレクトリに保存する。
<?php $NoTitle = new NoTitle(); $wgHooks['MagicWordMagicWords'][] = array($NoTitle, 'addMagicWord'); $wgHooks['MagicWordwgVariableIDs'][] = array($NoTitle, 'addMagicWordId'); $wgHooks['LanguageGetMagic'][] = array($NoTitle, 'addMagicWordLanguage'); $wgHooks['ParserAfterStrip'][] = array($NoTitle, 'checkForMagicWord'); $wgHooks['BeforePageDisplay'][] = array($NoTitle, 'hideTitle'); class NoTitle { function NoTitle() {} function addMagicWord(&$magicWords) { $magicWords[] = 'MAG_NOTITLE'; return true; } function addMagicWordId(&$magicWords) { $magicWords[] = MAG_NOTITLE; return true; } function addMagicWordLanguage(&$magicWords, $langCode) { switch($langCode) { default: $magicWords['MAG_NOTITLE'] = array(0, '__NOTITLE__'); } return true; } function checkForMagicWord(&$parser, &$text, &$strip_state) { global $action; $mw = MagicWord::get('MAG_NOTITLE'); if (!in_array($action, array('edit', 'submit')) && $mw->matchAndRemove($text)) { $parser->mOptions->mHideTitle = true; $parser->disableCache(); } return true; } function hideTitle(&$page) { if ($page->parserOptions()->mHideTitle) { $page->mScripts .= '<style>h1.firstHeading { display:none; } </style>'; } return true; } }
オリジナル・プログラムのPHP構文上の矛盾を2箇所修正しています。詳細はノートページに記載しています。
インストール [edit]
LocalSettings.phpのなるべく後ろの方に、次の行を追加する。
require_once("$IP/extensions/notitle.php");
カスタマイゼーション [edit]
Modernスキンで利用する [edit]
Wikimediaに標準でインストールされているModernスキンにおいて<h1 class="firstHeading">~</h1>ではなく、<h1 id="firstHeading">~</h1>となっているため、効果が得られない問題に対処する手法。
ソースコードの中で、スタイルシートを出力する部分を少し改変する。
改変前
$page->mScripts .= '<style>h1.firstHeading { display:none; } </style>';
改変後
$page->mScripts .= '<style>h1.firstHeading, h1#firstHeading { display:none; } </style>';
| 言語: | English • 日本語 |
|---|
