Postscript
この記事は、最終更新日よりおよそ 11 ヶ月経過しています。 公式サイトなどで最新情報を確認してください。(最終更新:2023年8月) |
Extension:Postscript は、全ての※記事の末尾に自動的に文字列(またはスクリプト)を自動的に追加するために自作した、MediaWiki用Extension(拡張機能)。
Extension:HeadScript の末尾版※。意外にも無かった※ので自作した:)。
筆者は Google Adsense 広告ユニットを記事末尾に貼るために使っているが、ナビゲーションメニューなど、フッターではなく本文中の末尾に貼りたい画像等を追加するにも有効。ただしWikiの書式は使えないので※、HTMLで記述する必要がある。
初期設定 Setting
Download
Postscript_20230815.zip (5KB) |
Download and unzip it on your MediaWiki extensions directory.
You can use it freely at your own risk. I license it under the Revised BSD License.
⇒English installation guide is here.
LocalSettings.php
Edit LocalSettings.php file to add below.
LocalSettings.php |
/* Extension:Postscript */
wfLoadExtension( 'Postscript' );
$wgPostscriptText[NS_MAIN] = <<<'START_END_MARKER'
<script>…</script>
START_END_MARKER;
$wgPostscriptText[NS_FILE] = <<<'START_END_MARKER'
<script>…</script>
START_END_MARKER;
- NS_xxx means see: mw:Manual:Namespace constants
- <<<'START_END_MARKER' is heredoc, a PHP syntax.
And check Special:Version on your wiki.
FAQ
追加される場所を知りたい
v1.0.0 (ContentAlterParserOutput) では本文の末尾に追加していたが、v1.0.1 (BeforePageDisplay) 以降では、本文とフッターの間に追加する。
出力イメージ(概略) |
<html>
<head>
<!-- Extension:HeadScript はここに追加される -->
</head>
<body class="mediawiki">
<div id="bodyContent">
<div id="mw-content-text" class="mw-body-content">
<div class="mw-parser-output">
(記事本文)
<!-- v1.0.0 ではここに追加していた -->
<!-- NewPP limit report -->
<!-- Transclusion expansion time report -->
</div>
<!-- Extension:Postscript (v1.0.1) はここに追加する -->
</div>
<div class="printfooter">
</div>
</div>
<div id="sidebar-right">
</div>
<footer id="footer" class="footer">
</footer>
</body>
</html>
- CSSを書いている場合は、DIV.mw-parser-output の内か外かの違いがある。
- 単に位置が知りたい場合は、Parserが最後に添付するコメント(NewPP limit report と Transclusion expansion time report)の前か後かで見ると判りやすいかも。
- #sidebar-right 以降はSkinによって変わるかも。上記はTweekiの例。
変更した理由は、v1.0.0 の処理ではなぜか Extension:Popups が動かなくなったため、試しにHookを変更してみたら、Popupsが動くようになったから。 Popupsを併用しないなら、どちらでも問題ないと思う。たぶん。
強いて言えば、v1.0.0 では parser cache に含まれたが、v1.0.1 では含まれない(都度生成される、変更してもpurgeをする必要がない)違いがある。
History
- 2023.08.15 (v1.0.2)
- 空のページと転送元ページでは動作しないようにした。
- (転送元ページを redirect=no で開いた場合は動作する。)
- 2023.08.02 (v1.0.1)
- なぜか Extension:Popups が動かなくなったため、回避を試行。Hookを変更してみた:ContentAlterParserOutput → BeforePageDisplay
- 2023.08.01 (v1.0.0)
- 初版
Links
- mw:Extension:Postscript
- mw:Extension:HeadScript
- mw:Extension:Header Footer
- mw:Extension:PageNotice
- mw:Manual:Interface/Sitenotice