Wikipedia:井戸端/subj/HTMLの構造を壊すことで動作しているテンプレートはどのように修正すべきか

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)[返信]