「MediaWiki」の版間の差分

提供:GNU social JP Wiki
63行目: 63行目:
Lockdownを試す。
Lockdownを試す。


* [[mediawikiwiki:Extension:Lockdown|Extension:Lockdown - MediaWiki]]
[https://web.gnusocial.jp/post/2024/02/03/10009/ 機能: MediaWikiでのLockdown拡張を用いた名前空間単位の非公開ページ | GNU social JP Web]」に記した。
* [http://midpurple.jp/sys/21.html Mediawikiのカスタマイズ(11) 特別ページの閲覧制限 - nak on the web system side]
* [https://www.wingfield.gr.jp/archives/4401 Mediawiki に非公開ページを設定 - WINGFIELD since1981]
* [https://riku-cha.blog.jp/archives/51449910.html お茶屋さん、なう。:MediaWikiで特定のページの閲覧制限を設定する]
Gitのmain/masterだと最新のMediaWikiが必要で動作しなかったのでバージョンを指定する ([[mediawikiwiki:Extension_talk:Lockdown|Extension talk:Lockdown - MediaWiki]])。
cd extensions/
git clone --depth 1 <nowiki>https://gerrit.wikimedia.org/r/mediawiki/extensions/Lockdown</nowiki>
cd Lockdown
git config remote.origin.fetch '+refs/heads/*:refs/remotes/origin/*'
BRANCH=REL1_40
git fetch --depth 1 origin $BRANCH
git checkout $BRANCH
今回はMediaWiki v1.39.5に対してREL1_40で動作した。


=== $wgCapitalLinks ===
=== $wgCapitalLinks ===

2024年1月29日 (月) 22:22時点における版

About

MediaWikiはWikipediaで採用されている世界一有名なWikiソフトだ。

GNU social JP WikiもMediaWikiを採用している (告知: 自由な分散SNSのWiki「GNU social JP Wiki」の開始とサービス名の改名 | GNU social JP Web)。

WordPress Wikiの作成方法(徹底解説)」にあるように、WordPressでも似たようなWikiサイトの構築は可能。

Install

Markup

Transclusion

MeidaWikiでは他のページの内容を埋め込むことが可能で、この機能を [Transclusion/参照読み込み](https://www.mediawiki.org/wiki/Transclusion) と呼んでいる。

{{<page name>}} のように、二重波括弧でページ名を指定すると埋め込める。埋め込み元で、埋め込みの許可・禁止ブロックをマークアップで指定することもできる。

参照読み込み可能な特別ページは限定されていて、以下となる。

  • Special:AllPages
  • Special:PrefixIndex
  • Special:NewFiles
  • Special:NewPages
  • Special:RecentChanges
  • Special:RecentChangesLinked.

トップページでの埋め込み表示などで便利なものがある。AllPages/NewPages/RecentChangesあたりが特に便利そうだ。

テンプレート的な使い方などで、駆使できると便利だろう。

HTML

MediaWikiでHTMLの要素をいくつか使用できる。

LocalSetting.phpで$wgRawHtml = true (デフォルトfalse) にすれば、html要素内でHTMLを無制限で使用可能になる。

Setting

Private

特定ページを非公開にすることができる。後日方法を精査する。

全体設定としては以下がある。基本非公開で一部公開の場合に使える。

# Disable reading by anonymous users
$wgGroupPermissions['*']['read'] = false;

# Disable anonymous editing
$wgGroupPermissions['*']['edit'] = false;

# Prevent new user registrations except by sysops
$wgGroupPermissions['*']['createaccount'] = false;

今回は基本公開で一部非公開。

  • ユーザー属性での管理。
  • 名前空間での管理 (LockDown拡張機能)。

Lockdownを試す。

機能: MediaWikiでのLockdown拡張を用いた名前空間単位の非公開ページ | GNU social JP Web」に記した。

$wgCapitalLinks

出典: Manual:$wgCapitalLinks - MediaWiki

MediaWikiはデフォルトでページ名やページURLの先頭1文字目が大文字になる。

$wgCapitalLinks = falseにするとこれを無効にできる。大文字小文字を完全に区別する。例えば、iPhoneなどのように、大文字小文字が重要なことがあるので、falseにしておくのがよいと思う。リンク切れにも影響するので最初の方で設定するとよい。

Analytics

サイトのアクセス分析のためにGoogle Analyticsを設置したい。いくつか拡張機能がある。GA4対応が重要な項目。

公式プラグインを優先したい。

GTag、GoogleTagManager。これらが設置用にみえる。詳細に検討してみる。Google Tag ManagerはAnalyticsを含めて汎用的なことができる。ひとまずよくわからないので、シンプルなGTagを使ってみるとよさそう。

拡張: MediaWikiのGoogle Analytics追跡拡張機能GTag | GNU social JP Web」で設置した。

広告ブロッカー対策

出典: 【PukiWiki編】広告ブロッカーからサイトコンテンツと収益を守る! | SEの良心

MediaWikiでも同様の方法で広告ブロッカー対策を導入できそう。

Adsense

Google Adsense設置用のプラグインがいくつかある。

ShoutWiki AdsかWidgetsで設置する模様。基本はJavaScriptコードの設置。