Template‐ノート:小文字
出典: フリー百科事典『ウィキペディア(Wikipedia)』
[編集] タイトルの小文字化
英語版にあるような Javascript hack は使えないのでしょうか?MediaWiki:Commonjs を使っているようですが。--fryed-peach 2007年1月11日 (木) 17:35 (UTC)
- 自分もそろそろこういうのを井戸端で提案しようかなと思ったところでした。MediaWiki:Commons.jsにRealTitleBannerのスクリプトを導入して、このテンプレにid指定してあげれば使えますね。-- Lusheeta 2007年1月11日 (木) 17:43 (UTC)
- とりあえず分からない人のために仕組みを書いておきます。MediaWikiの仕様上、頭文字が半角英字を使われている場合強制的に大文字で表記されますが、RealTitileBannerと呼ばれるJavaScirptを用いることでen:iPodのように記事名の頭文字が小文字で表示か可能となります。また、JavaScriptを利用できないブラウザにおいては現状通り「この項目の本来の表記は~」のテンプレートを表示します。
- 個人的にはIPodやIモードなどという表記にはちょっと抵抗がありますし、JavaScriptを用いて本来の表記が行えることは少なくとも美観(?)の向上になるので非常に良いものと思っています。また、この案件についてはウィキペディア全体の問題になると思いますので、Wikipedia:井戸端 (告知)で告知します。-- Lusheeta 2007年1月12日 (金) 02:30 (UTC)
- 基本的に導入には賛成です。どの程度の作業量が発生するのか(Template:小文字の修正だけでよいのか、このテンプレートを使っている記事も修正の必要があるのか)、記事名の先頭を小文字にする以外の影響はないのか、など、不明点も多いので、詳しい方にそのあたりの解説をしていただければと思います。--Tamago915 2007年1月12日 (金) 04:03 (UTC)
- 現行のen:Template:Lowercaseをそのまま移入するならば、引数の数・名称とも日本語版と同じなので、各記事に対する修正は必要ないようです。--cpro 2007年1月12日 (金) 10:39 (UTC)
- 導入に賛成です。これに限らず、en:Template:Navbox genericなどで使われている collapsible(テーブルを折りたためる)なども使いたいんですが、en:MediaWiki:Common.jsをまるごと導入することってできるんでしょうか。--cpro 2007年1月12日 (金) 04:11 (UTC)
en:MediaWiki:Common.jsの最後にある "Technical restrictions" title fix のスクリプトですが、これはen:Template:lowercaseに限らず、en:Category:Wrong title templatesにある名称訂正テンプレ全部に適用されています。日本語版では、Template:記事名の制約にも適用すれば有用になると思います。
で、ソースを読んでみました。以下大雑把な解説。
前提: 以下を全て満たす場合に動作します。
- id="RealTitleBanner" を持つ要素が存在する(通常、テンプレート全体を囲む <div> 要素などに付く)
- id="RealTitle" を持つ要素が存在する(本来の名称を示す部分を <span> で囲み、この id を付ける)
- id="DisableRealTitle" を持つ要素が存在しない
- 真偽値 disableRealTitle が偽である(ユーザスクリプトで無効にするためのスイッチ)
動作:
- id="RealTitle" とした要素の中身を (A) とし、 (A) からHTML要素を除いたプレーンテキストを (B) とする。
- (B) をウィンドウのタイトルバーの表示に反映する。
- (B) の先頭を大文字に・アンダースコアをスペースに変換した文字列と、実際のシステム的な記事名のアンダースコアをスペースに変換した文字列が一致する場合、文書タイトル(最初の <h1> 要素)が書き換わる。
- この際、(A) が "複雑"(sub, sup, small, big 以外のHTML要素がある場合)であれば、タイトルは (B) になり、そうでなければ (A) になる。
- タイトルが書き換わり、さらに (A) が "複雑" でなければ、 id="RealTitleBanner" とした要素(テンプレート全体)を非表示にする。
具体例:
記事名 | RealTitle | タイトル (<h1>) | テンプレート |
---|---|---|---|
IPod | iPod | iPod | 非表示 |
C Sharp | C# | C Sharp | 表示 |
H2O | H<sub>2</sub>O | H2O | 非表示 |
CYNTHIA THE MISSION | CYNTHIA_THE_MISSION | CYNTHIA_THE_MISSION | 非表示 |
ひぐらしのなく頃に | ひぐらしの<span style="color:#f00;">な</span>く頃に | ひぐらしのなく頃に | 表示 |
--cpro 2007年1月12日 (金) 10:39 (UTC)
- 解説ありがとうございます。テンプレートを呼び出している記事のほうは、修正しないでもすみそうです。あと気になるのが、祇園など、正しい名称を画像で表現しているものですが、これは個別に対応するしかなさそうですね。--Tamago915 2007年1月12日 (金) 14:17 (UTC)
- 細かな機能説明ありがとうございます。小文字だけではなくて"Technical restrictions"(技術的制限)という大ジャンル(?)になっているんですね。-- Lusheeta 2007年1月13日 (土) 03:23 (UTC)
詳しい説明ありがとうございます。早速、テンプレートのほうは書き換えてしまっても構いませんか?現在の表示には影響しませんし。とりあえず、該当のコードはUser:Fryed-peach/RealTitleBanner.jsに切り出してみたので、ユーザースクリプトでinclude すれば試せるようになるはずです。--fryed-peach 2007年1月13日 (土) 23:59 (UTC)
- template:小文字とtemplate:記事名の制約にRealTitleBannerのスクリプトを呼び出すための処置をしておきました(template:小文字についてはFryed-peachさんにはお手数をおかけしました)。ユーザースクリプトにUser:Fryed-peach/RealTitleBanner.jsを呼び出す記述をすれば問題なく利用できます。ただし、利用者名前空間の場合、利用者:ではなくUser:から始まっているので、その点が問題かなと思います。User:を利用者:に置換するスクリプトを組み込まなければならないのか、そこらへんはちょっと分かりませんが。-- Lusheeta 2007年1月16日 (火) 20:31 (UTC)
- もうひとつ。Au (携帯電話)などの括弧付きの大半は小文字化されません。(大半としているのはas (歌手)のように括弧があるにも拘わらず小文字になっているため)報告まで。-- Lusheeta 2007年1月16日 (火) 20:39 (UTC)
-
- 括弧つきの記事でh1(見出し)が小文字化されないのは(ブラウザウィンドウのタイトルは小文字化されている)、おそらく title パラメータの使い方によります。auの記事は
title=au
としていて、au (携帯電話) と異なるので置換されません。asのほうはtitle=as (歌手)
としていて、一致するので置換されます。これは内部リンクをする際に、記事の見出しをコピー&ペーストしてリンクできるように、という配慮だと思います。個人的には、このテンプレートを使う際は title パラメータを指定しないほうがいいのかなと思います。--fryed-peach 2007年1月16日 (火) 21:37 (UTC)- そういう仕組みでしたか。勉強になります。RTBの正式運用とともにパラメータは使わない方針でいきましょうか。-- Lusheeta 2007年1月17日 (水) 12:51 (UTC)
- 括弧つきの記事でh1(見出し)が小文字化されないのは(ブラウザウィンドウのタイトルは小文字化されている)、おそらく title パラメータの使い方によります。auの記事は
議論が停滞してしまいましたが、Common.jsについてはどこに問い合わせたらよいのでしょう?--fryed-peach 2007年2月13日 (火) 03:34 (UTC)
- Wikipedia:井戸端 (告知)辺りが適当かと -- あにまの 2007年2月14日 (水) 04:28 (UTC)