ドキュメントコメント内の意図しないHTML
ドキュメントコメント内のかぎかっこは、MarkdownによってHTMLとして扱われます。
このルールはDart 3.5から利用可能です。
ルールセット:core、recommended、flutter
詳細
#しないでください HTMLタグまたはリンクを作成する場合を除き、ドキュメントコメント内で山かっこ付きテキスト(<…>
)を使用しないでください。
MarkdownはMarkdownコードの一部としてHTMLタグを許可しているため、たとえば、T<sub>1</sub>
と記述できます。Markdownは許可されるタグを制限せず、出力にタグをそのまま含めます。
Dartdocは、既知の有効なHTMLタグのみを許可し、許可されていないHTMLタグを出力から省略します。許可されるタグとディレクティブのリストについては、以下を参照してください。ドキュメントコメントには、このリストにないHTMLタグを含めないでください。
Markdownでは、たとえば<https://example.com/page.html>
のように、<...>
のみで区切られたURLへの「自動リンク」を作成することもできます。このようなリンクはDartdocでも許可されています。`<...>`で区切られたテキストは、コロンの後に少なくとも2文字のスキームで始まる有効な絶対URL(例:`<mailto:mr_example@example.com>`)である場合、自動リンクです。
その他の`<word...>`または`</word...>`は、おそらく間違いであり、このリントはそれについて警告します。HTMLタグのように見えるもの(つまり、`<`または`</`で始まり、その後に文字が続き、後で対応する`>`があるもの)は、自動リンクでない限り、または*許可された* HTMLタグで始まらない限り、無効なHTMLタグと見なされます。
このような間違いは、たとえば、コードスパンの外側で型引数を持つDartコードを記述する場合に発生する可能性があります。たとえば、`List<int>`型は...`の場合、`<int>`はHTMLタグのように見えます。コードスパンの終了引用符がない場合も同じ効果があります。`List<int>`型は...`も`<int>`をHTMLタグとして扱います。
次のHTMLディレクティブを許可します:HTMLコメント(<!-- text -->
)、処理命令(<?...?>
)、CDATAセクション(<[CDATA...]>
)。`]`の後、または`[`または`(`の前にない`[List<int>]`のようなDartDocリンクを許可し、次の認識されたHTMLタグを許可します:`a`、`abbr`、`address`、`area`、`article`、`aside`、`audio`、`b`、`bdi`、`bdo`、`blockquote`、`br`、`button`、`canvas`、`caption`、`cite`、`code`、`col`、`colgroup`、`data`、`datalist`、`dd`、`del`、`dfn`、`div`、`dl`、`dt`、`em`、`fieldset`、`figcaption`、`figure`、`footer`、`form`、`h1`、`h2`、`h3`、`h4`、`h5`、`h6`、`header`、`hr`、`i`、`iframe`、`img`、`input`、`ins`、`kbd`、`keygen`、`label`、`legend`、`li`、`link`、`main`、`map`、`mark`、`meta`、`meter`、`nav`、`noscript`、`object`、`ol`、`optgroup`、`option`、`output`、`p`、`param`、`pre`、`progress`、`q`、`s`、`samp`、`script`、`section`、`select`、`small`、`source`、`span`、`strong`、`style`、`sub`、`sup`、`table`、`tbody`、`td`、`template`、`textarea`、`tfoot`、`th`、`thead`、`time`、`title`、`tr`、`track`、`u`、`ul`、`var`、`video`、`wbr`。
悪い例
/// The type List<int>.
/// <assignment> -> <variable> = <expression>
良い例
/// The type `List<int>`.
/// The type [List<int>]
/// `<assignment> -> <variable> = <expression>`
/// \<assignment\> -> \<variable\> = \<expression\>`
/// <http://foo.bar.baz>
使用方法
#unintended_html_in_doc_comment
ルールを有効にするには、analysis_options.yaml
ファイルのlinter > rulesの下にunintended_html_in_doc_comment
を追加します
linter:
rules:
- unintended_html_in_doc_comment
特に明記されていない限り、このサイトのドキュメントはDart 3.5.3を反映しています。ページの最終更新日:2024年7月3日。 ソースを表示 または 問題を報告する。