Wikipedia:井戸端/subj/HTMLの構造を壊すことで動作しているテンプレートはどのように修正すべきか
表示
< Wikipedia:井戸端 | subj
![]() |
|
HTMLの構造を壊すことで動作しているテンプレートはどのように修正すべきか
[編集]さらに連投失礼いたします。
一部のページでは、テンプレートが想定したと思われるHTMLの構造を、あえて壊すことで動作しているように見えるページがあります。例えば、UEFAヨーロッパリーグ 2017-18 決勝#試合では{{Footballbox}}を使用していますが、Footballboxでは、「チーム1」引数と「チーム2」引数の両チームを太字で表示します。しかし、「UEFAヨーロッパリーグ 2017-18 決勝#試合」では、勝ったほうのチームを太字で表すために、あえて負けた方のチームに太字の'''
をつけることで、逆に太字を解除しています。簡略化してWikiテキストを示すと以下のようになります。
- テンプレート側:
'''<span>{{{チーム1}}}</span>'''
- テンプレート呼び出し側:
|チーム1= '''負けたチーム'''
- テンプレートの展開:
'''<span>'''負けたチーム'''</span>'''
結果的に、spanタグが途中で切られてしまうため、Lintエラーが発生しています。このようなページのLintエラーはどのように修正すべきでしょうか?--MawaruNeko(会話) 2018年6月26日 (火) 17:06 (UTC)
それは元となる{{Footballbox}}が想定していない使い方をしているからと考えられます。エラー回避をするためには「エラーになるような引数を渡さない」ことが必要です。
- エラー回避そのものは、「元々のテンプレートにおいて、デフォルトで太字で表示することをやめる」か、「別のテンプレートを用意して読み込みを変更する」のいずれかを取ることになるでしょう。前者を取ると、勝ったチーム側を太字表記すればよいだけになる('''[[勝ったチーム]]'''と引数に渡すようにする)のですが、他のテンプレートを読み込んでいるページの修正が必要となります(Botでは勝敗を判定できないので、手作業で変更が必要です)。後者では同じ用途のテンプレートが2本併存することになります。修正の手間がない分、以降において「どちらのテンプレートを使えばいいのか」という疑問を残すことになります。
- まずはプロジェクト:サッカーなどで、テンプレートの使用自体をどうするのかを話し合うのが先決でしょうね。根本的にエラーを意図的に引き起こしてテンプレートを使うべきではありません。「エラー回避」の前に「何故想定されていない(意図したエラーを起こして)テンプレートの使い方をしているのか」のほうを解消するのが先でしょう。結果として「負けチームを太字にしない」ということになれば、「テンプレートの修正で対応するのか」「テンプレートを切り替えて順次置き直すか」をこれもまた、プロジェクトなどで合意を得てから行動したほうが良いでしょう。--アルトクール(会話) 2018年6月26日 (火) 17:38 (UTC)
返信 ありがとうございます。{{Footballbox}}については、プロジェクト‐ノート:サッカー#Footballboxのチーム名の太字についてで議論を提起しました。--MawaruNeko(会話) 2018年6月27日 (水) 16:00 (UTC)