MediaWikiリンクを小文字にして、単語の区切り文字としてアンダースコアの代わりにハイフンを使用できますか?
WordPressや他のwikiCMSが行うことの一種。
MediaWikiリンクを小文字にして、単語の区切り文字としてアンダースコアの代わりにハイフンを使用できますか?
WordPressや他のwikiCMSが行うことの一種。
少なくともメインの名前空間内でこれを行う方法があるので、ユーザーが編集したページにはすべて小文字/ダッシュで区切られたURLがあります。
まず、ページをすべて小文字にしてダッシュで区切るように手動で強制します。これに関する最初の問題は、内部リンクにダッシュを含める必要があることです。これにより、内部リンクの標準の平易な言語スタイルが排除され、ほとんど使用できなくなります。
For examples of this see [[making-mediawiki-links-lowercase|making mediawiki links lowercase]].
新しいウィキリンクを作成しても、二重角かっこが追加されることはなくなりました。リンクテキスト全体を書き直す必要があります(オプションで、読みやすくするためにパイプに名前を変更する必要があります)。
しかし、リンクのhrefだけを書き直す方法があります。まず、LocalSettings.phpに2つの変更を加えます。
$wgCapitalLinks = False; # like mentioned above: make MW not capitalize the page titles
$wgHooks['LinkEnd'][] = "seoUrls"; # add a hook to rewrite the links
function seoUrls($dummy, Title $target, array $options, &$html, array &$attribs, &$ret) {
$attribs = str_replace("_", "-", $attribs);
return True;
}
これにより、内部リンクのhrefが書き換えられ、アンダースコアではなくダッシュが使用され、アンカーの残りの部分は変更されません。
次に、CSSを使用して、ユーザーコンテンツを含むページの通常のタイトルを非表示にします(またはテンプレートファイルを変更して削除します)。CSSは次のようになります。
.ns-0.action-view #firstHeading, /* main */
.ns-14.action-view #firstHeading /* categories */
{
display: none
}
編集ビューや特別なページなど、ユーザー定義のコンテンツを含まないページのタイトルを残したい場合があります。名前空間0(メイン)と14(カテゴリ)のみを非表示にする必要があることがわかりました。
最後に、Mediawikiが提供するタイトルの代わりに、ページのコンテンツ自体の上部にh1を追加して、ページにタイトルを付けます。
おそらく、アンダースコアを含むすべてのURLをダッシュに書き直したいと思うでしょう。
RewriteRule ^([^_]*)_([^_]*_.*) $1-$2 [N]
RewriteRule ^([^_]*)_([^_]*)$ /$1-$2 [L,R=301]
MediaWikiにアンダースコアの代わりにダッシュを使用させて空白を示すことができます。wikiHowはどうしますか。ただし、ソースコードを何度も編集する必要があり、通常はお勧めしません。また、バグがないという保証はありません。
この構成値でリンクケース設定を調整できるようです。単語区切り文字については何も見つかりませんでした。幸運を。
ページ名を小文字にするには、Template:Lowercaseを使用します。{{Lowercase}}
任意のページに追加して、表示方法を変更します。
リンクはとにかく小文字で使用できます-リンクの最初の文字は大文字でも小文字でもかまいません-それは常に正しいページにリンクします。