このツールの動作
HTML が入り、Markdown が出ます。
<h1>見出し</h1>
<p><strong>太字</strong>と<a href="https://x.dev">リンク</a>。</p>
<ul><li>一</li><li>二</li></ul>
# 見出し
**太字**と[リンク](https://x.dev)。
* 一
* 二
見出しは setext を選ばなければ ATX、箇条書きは - を選ばなければ *、<pre><code class="language-js"> は柵に言語を残します。
表は表のまま
<table><tr><th>名前</th><th>役割</th></tr><tr><td>Ada</td><td>著者</td></tr></table>
| 名前 | 役割 |
| --- | --- |
| Ada | 著者 |
turndown には <table> の規則がありません。このページを書くまで、表はセルが一行ずつ並んだ形で出てきて、そこに格子があったことを示すものは結果のどこにもありませんでした。これは最悪の部類の欠陥です。読む限りは問題なく見えるからです。いまは規則が GFM の表を書きます。<th> の無い表は最初の行を見出しに使います。GFM には見出しの無い表がないからです。
スクリプトは段落ではない
<p>こんにちは</p><script>alert(1)</script>
こんにちは
<script> の中身はブラウザーが実行するコードであって、表示する文章ではありません。それが散文として文書に写し取られていました。<style> は CSS で同じことをしていました。どちらも取り除きます。ページが実際に見せているものはすべて残ります。
パイプ表に入らないもの
GFM の表は一行のセルでできた格子です。次の四つは失われるのではなく平らにされます。
colspanとrowspan。 セルは自分の列を保ち、またがった残りは空になります。rowspanの下の行は一列ぶん左にずれます。- セルの中の表。 GFM に入れ子の表はないので、内側の表はセルの中に一行で書かれ、パイプは退避されます。
- セルの中の段落や箇条書き。 一行にまとめられます。
<caption>。 パイプ表に置き場所がないため、消えるのではなく直前の段落になります。
そのほか、ブロックの順序も文章もリンクも、そのまま通ります。
プライバシー
すべての処理はブラウザ内のJavaScriptだけで完結します。データがアップロードされることはないため、機密情報でも安心して利用でき、オフラインでも動作します。