mirror of
https://github.com/jaywcjlove/reference.git
synced 2025-06-17 20:51:21 +08:00
feat: add vim.md
regex.md
cheatsheet. 9ff36a3ac3
This commit is contained in:
424
docs/cron.html
424
docs/cron.html
@ -36,7 +36,8 @@
|
||||
}
|
||||
</script><a href="https://github.com/jaywcjlove/reference" class="" target="__blank"><svg viewBox="0 0 16 16" fill="currentColor" height="1em" width="1em"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8z"></path></svg></a></div></div></nav><div class="wrap max-container"><header class="wrap-header h1wrap"><h1 id="cron-备忘清单"><a aria-hidden="true" tabindex="-1" href="#cron-备忘清单"><span class="icon icon-link"></span></a>Cron 备忘清单</h1><div class="wrap-body">
|
||||
<p><a href="https://en.wikipedia.org/wiki/Cron">Cron</a> 最适合安排重复性任务。 可以使用关联的 at 实用程序来完成一次性任务的调度。</p>
|
||||
</div></header><div class="h1wrap-body"><div class="wrap"><div class="wrap-header h2wrap"><h2 id="crontab-格式"><a aria-hidden="true" tabindex="-1" href="#crontab-格式"><span class="icon icon-link"></span></a>Crontab 格式</h2><div class="wrap-body"><!--rehype:body-class=cols-2-->
|
||||
</div></header><div class="h1wrap-body"><div class="wrap"><div class="wrap-header h2wrap"><h2 id="crontab-格式"><a aria-hidden="true" tabindex="-1" href="#crontab-格式"><span class="icon icon-link"></span></a>Crontab 格式</h2><div class="wrap-body">
|
||||
<!--rehype:body-class=cols-2-->
|
||||
</div></div><div class="h2wrap-body cols-2"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="格式"><a aria-hidden="true" tabindex="-1" href="#格式"><span class="icon icon-link"></span></a>格式</h3><div class="wrap-body">
|
||||
<pre><code class="code-highlight"><span class="code-line line-number" line="1">Min Hour Day Mon Weekday
|
||||
</span><span class="code-line line-number" line="2">分钟 小时 天 月 周
|
||||
@ -51,220 +52,223 @@
|
||||
</span><span class="code-line line-number" line="7">└───────────────────── 分钟 (0..59)
|
||||
</span></code></pre>
|
||||
<hr>
|
||||
<table class="show-header ">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>字段</th>
|
||||
<th>范围</th>
|
||||
<th>特殊字符</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>分钟 Minute</td>
|
||||
<td>0 - 59</td>
|
||||
<td>, - * /</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>小时 Hour</td>
|
||||
<td>0 - 23</td>
|
||||
<td>, - * /</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>月份中的某天</td>
|
||||
<td>1 - 31</td>
|
||||
<td>, - * ? / L W</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>月 Month</td>
|
||||
<td>1 - 12</td>
|
||||
<td>, - * /</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>星期几</td>
|
||||
<td>0 - 6</td>
|
||||
<td>, - * ? / L #</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table><!--rehype:className=show-header -->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table class="show-header "><thead><tr><th>字段</th><th>范围</th><th>特殊字符</th></tr></thead><tbody><tr><td>分钟 Minute</td><td>0 - 59</td><td>, - * /</td></tr><tr><td>小时 Hour</td><td>0 - 23</td><td>, - * /</td></tr><tr><td>月份中的某天</td><td>1 - 31</td><td>, - * ? / L W</td></tr><tr><td>月 Month</td><td>1 - 12</td><td>, - * /</td></tr><tr><td>星期几</td><td>0 - 6</td><td>, - * ? / L #</td></tr></tbody></table>
|
||||
<!--rehype:className=show-header -->
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="示例"><a aria-hidden="true" tabindex="-1" href="#示例"><span class="icon icon-link"></span></a>示例</h3><div class="wrap-body">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Example</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>*/15 * * * *</code></td>
|
||||
<td>每 15 分钟</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>0 * * * *</code></td>
|
||||
<td>每隔一小时</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>0 */2 * * *</code></td>
|
||||
<td>每 2 小时</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>15 2 * * *</code></td>
|
||||
<td>每天凌晨 2 点 15 分</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>15 2 * * ?</code></td>
|
||||
<td>每天凌晨 2 点 15 分</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>10 9 * * 5</code></td>
|
||||
<td>每周五上午 9:10</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>0 0 * * 0</code></td>
|
||||
<td>每个星期日的午夜</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>15 2 * * 1L</code></td>
|
||||
<td>每月最后一个星期一凌晨 2 点 15 分</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>15 0 * * 4#2</code></td>
|
||||
<td>每个月的第二个星期四早上 00:15</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>0 0 0 1 * *</code></td>
|
||||
<td>每个月的 1 日(每月)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>0 0 0 1 1 *</code></td>
|
||||
<td>每年 1 月 1 日(每年)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>@reboot</code></td>
|
||||
<td>每次重启 <em>(非标准)</em></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th>Example</th><th>Description</th></tr></thead><tbody><tr><td><code>*/15 * * * *</code></td><td>每 15 分钟</td></tr><tr><td><code>0 * * * *</code></td><td>每隔一小时</td></tr><tr><td><code>0 */2 * * *</code></td><td>每 2 小时</td></tr><tr><td><code>15 2 * * *</code></td><td>每天凌晨 2 点 15 分</td></tr><tr><td><code>15 2 * * ?</code></td><td>每天凌晨 2 点 15 分</td></tr><tr><td><code>10 9 * * 5</code></td><td>每周五上午 9:10</td></tr><tr><td><code>0 0 * * 0</code></td><td>每个星期日的午夜</td></tr><tr><td><code>15 2 * * 1L</code></td><td>每月最后一个星期一凌晨 2 点 15 分</td></tr><tr><td><code>15 0 * * 4#2</code></td><td>每个月的第二个星期四早上 00:15</td></tr><tr><td><code>0 0 0 1 * *</code></td><td>每个月的 1 日(每月)</td></tr><tr><td><code>0 0 0 1 1 *</code></td><td>每年 1 月 1 日(每年)</td></tr><tr><td><code>@reboot</code></td><td>每次重启 <em>(非标准)</em></td></tr></tbody></table>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="特殊字符串"><a aria-hidden="true" tabindex="-1" href="#特殊字符串"><span class="icon icon-link"></span></a>特殊字符串</h3><div class="wrap-body">
|
||||
<table class="show-header ">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>特殊字符串</th>
|
||||
<th>意义</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>@reboot</td>
|
||||
<td>运行一次,在系统启动时 <em>(非标准)</em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>@yearly</td>
|
||||
<td>每年运行一次,“0 0 1 1 *” <em>(非标准)</em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>@annually</td>
|
||||
<td>(与@yearly 相同)<em>(非标准)</em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>@monthly</td>
|
||||
<td>每月运行一次,“0 0 1 * *” <em>(非标准)</em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>@weekly</td>
|
||||
<td>每周运行一次,“0 0 * * 0” <em>(非标准)</em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>@daily</td>
|
||||
<td>每天运行一次,“0 0 * * *” <em>(非标准)</em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>@midnight</td>
|
||||
<td>(与@daily 相同)<em>(非标准)</em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>@hourly</td>
|
||||
<td>每小时运行一次,“0 * * * *” <em>(非标准)</em></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table><!--rehype:className=show-header -->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table class="show-header "><thead><tr><th>特殊字符串</th><th>意义</th></tr></thead><tbody><tr><td>@reboot</td><td>运行一次,在系统启动时 <em>(非标准)</em></td></tr><tr><td>@yearly</td><td>每年运行一次,“0 0 1 1 *” <em>(非标准)</em></td></tr><tr><td>@annually</td><td>(与@yearly 相同)<em>(非标准)</em></td></tr><tr><td>@monthly</td><td>每月运行一次,“0 0 1 * *” <em>(非标准)</em></td></tr><tr><td>@weekly</td><td>每周运行一次,“0 0 * * 0” <em>(非标准)</em></td></tr><tr><td>@daily</td><td>每天运行一次,“0 0 * * *” <em>(非标准)</em></td></tr><tr><td>@midnight</td><td>(与@daily 相同)<em>(非标准)</em></td></tr><tr><td>@hourly</td><td>每小时运行一次,“0 * * * *” <em>(非标准)</em></td></tr></tbody></table>
|
||||
<!--rehype:className=show-header -->
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="crontab-命令"><a aria-hidden="true" tabindex="-1" href="#crontab-命令"><span class="icon icon-link"></span></a>Crontab 命令</h3><div class="wrap-body">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>-</th>
|
||||
<th>-</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>crontab -e</code></td>
|
||||
<td>如果不存在,则编辑或创建一个 crontab 文件。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>crontab -l</code></td>
|
||||
<td>显示 crontab 文件。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>crontab -r</code></td>
|
||||
<td>删除 crontab 文件。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>crontab -v</code></td>
|
||||
<td>显示您上次编辑 crontab 文件的时间。 <em>(非标准)</em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>`echo "@reboot echo hi"</td>
|
||||
<td>crontab`</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="特殊字符"><a aria-hidden="true" tabindex="-1" href="#特殊字符"><span class="icon icon-link"></span></a>特殊字符</h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2-->
|
||||
<table class="show-header ">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>特殊字符</th>
|
||||
<th>说明</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>星号(*)</code></td>
|
||||
<td>匹配字段中的所有值或任何可能的值。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>横杆(-)</code></td>
|
||||
<td>用于定义范围。例如:第 5 个字段(星期几)中的 1-5 每个工作日,即星期一到星期五</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>斜线 (/)</code></td>
|
||||
<td>第一个字段(分钟)/15 表示每十五分钟或范围的增量。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>逗号(,)</code></td>
|
||||
<td>用于分隔项目。例如:第二个字段(小时)中的 2、6、8 在凌晨 2 点、早上 6 点和早上 8 点执行</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>L</code></td>
|
||||
<td>仅允许用于 <code>月份中的某天</code> 或 <code>星期几</code> 字段,<code>星期几</code> 中的 <code>2L</code> 表示每个月的最后一个星期二</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>井号 (#)</code></td>
|
||||
<td>仅允许用于 <code>星期几</code> 字段,后面必须在 1 到 5 的范围内。例如,<code>4#1</code> 表示给定月份的“第一个星期四”。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>问号(?)</code></td>
|
||||
<td>可以代替“*”并允许用于月份和星期几。使用仅限于 cron 表达式中的 <code>月份中的某天</code> 或 <code>星期几</code>。</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table><!--rehype:className=show-header -->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th>-</th><th>-</th></tr></thead><tbody><tr><td><code>crontab -e</code></td><td>如果不存在,则编辑或创建一个 crontab 文件。</td></tr><tr><td><code>crontab -l</code></td><td>显示 crontab 文件。</td></tr><tr><td><code>crontab -r</code></td><td>删除 crontab 文件。</td></tr><tr><td><code>crontab -v</code></td><td>显示您上次编辑 crontab 文件的时间。 <em>(非标准)</em></td></tr><tr><td>`echo "@reboot echo hi"</td><td>crontab`</td></tr></tbody></table>
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="特殊字符"><a aria-hidden="true" tabindex="-1" href="#特殊字符"><span class="icon icon-link"></span></a>特殊字符</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table class="show-header "><thead><tr><th>特殊字符</th><th>说明</th></tr></thead><tbody><tr><td><code>星号(*)</code></td><td>匹配字段中的所有值或任何可能的值。</td></tr><tr><td><code>横杆(-)</code></td><td>用于定义范围。例如:第 5 个字段(星期几)中的 1-5 每个工作日,即星期一到星期五</td></tr><tr><td><code>斜线 (/)</code></td><td>第一个字段(分钟)/15 表示每十五分钟或范围的增量。</td></tr><tr><td><code>逗号(,)</code></td><td>用于分隔项目。例如:第二个字段(小时)中的 2、6、8 在凌晨 2 点、早上 6 点和早上 8 点执行</td></tr><tr><td><code>L</code></td><td>仅允许用于 <code>月份中的某天</code> 或 <code>星期几</code> 字段,<code>星期几</code> 中的 <code>2L</code> 表示每个月的最后一个星期二</td></tr><tr><td><code>井号 (#)</code></td><td>仅允许用于 <code>星期几</code> 字段,后面必须在 1 到 5 的范围内。例如,<code>4#1</code> 表示给定月份的“第一个星期四”。</td></tr><tr><td><code>问号(?)</code></td><td>可以代替“*”并允许用于月份和星期几。使用仅限于 cron 表达式中的 <code>月份中的某天</code> 或 <code>星期几</code>。</td></tr></tbody></table>
|
||||
<!--rehype:className=show-header -->
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="also-see"><a aria-hidden="true" tabindex="-1" href="#also-see"><span class="icon icon-link"></span></a>Also see</h2><div class="wrap-body">
|
||||
<ul>
|
||||
<li><a href="https://devhints.io/cron">Devhints</a> <em>(devhints.io)</em></li>
|
||||
<li><a href="https://crontab-generator.org/">Crontab Generator</a> <em>(crontab-generator.org)</em></li>
|
||||
<li><a href="https://crontab.guru/">Crontab guru</a> <em>(crontab.guru)</em></li>
|
||||
<li><a href="https://devhints.io/cron">Devhints</a> <em>(devhints.io)</em></li>
|
||||
<li><a href="https://crontab-generator.org/">Crontab Generator</a> <em>(crontab-generator.org)</em></li>
|
||||
<li><a href="https://crontab.guru/">Crontab guru</a> <em>(crontab.guru)</em></li>
|
||||
</ul>
|
||||
|
||||
</div></div></div></div></div><footer class="footer-wrap"><footer class="max-container">© 2022 Kenny Wang, All rights reserved.</footer></footer></body>
|
||||
</html>
|
||||
|
519
docs/docker.html
519
docs/docker.html
@ -36,178 +36,180 @@
|
||||
}
|
||||
</script><a href="https://github.com/jaywcjlove/reference" class="" target="__blank"><svg viewBox="0 0 16 16" fill="currentColor" height="1em" width="1em"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8z"></path></svg></a></div></div></nav><div class="wrap max-container"><header class="wrap-header h1wrap"><h1 id="docker-备忘清单"><a aria-hidden="true" tabindex="-1" href="#docker-备忘清单"><span class="icon icon-link"></span></a>Docker 备忘清单</h1><div class="wrap-body">
|
||||
<p>这是 <a href="https://docs.docker.com/get-started/">Docker</a> 的快速参考备忘单。 你可以在这里找到最常见的 Docker 命令。</p>
|
||||
</div></header><div class="h1wrap-body"><div class="wrap"><div class="wrap-header h2wrap"><h2 id="入门"><a aria-hidden="true" tabindex="-1" href="#入门"><span class="icon icon-link"></span></a>入门</h2><div class="wrap-body"><!--rehype:body-class=cols-2-->
|
||||
</div></header><div class="h1wrap-body"><div class="wrap"><div class="wrap-header h2wrap"><h2 id="入门"><a aria-hidden="true" tabindex="-1" href="#入门"><span class="icon icon-link"></span></a>入门</h2><div class="wrap-body">
|
||||
<!--rehype:body-class=cols-2-->
|
||||
</div></div><div class="h2wrap-body cols-2"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="入门-1"><a aria-hidden="true" tabindex="-1" href="#入门-1"><span class="icon icon-link"></span></a>入门</h3><div class="wrap-body">
|
||||
<p>在后台创建和运行容器</p>
|
||||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line line-number" line="1">$ <span class="token function">docker</span> run <span class="token parameter variable">-d</span> <span class="token parameter variable">-p</span> <span class="token number">80</span>:80 docker/getting-started
|
||||
</span></code></pre>
|
||||
<hr>
|
||||
<ul>
|
||||
<li><code>-d</code> - 以分离模式运行容器</li>
|
||||
<li><code>-p 80:80</code> - 将端口 80 映射到容器中的端口 80</li>
|
||||
<li><code>docker/getting-started</code> - 要使用的镜像</li>
|
||||
<li><code>-d</code> - 以分离模式运行容器</li>
|
||||
<li><code>-p 80:80</code> - 将端口 80 映射到容器中的端口 80</li>
|
||||
<li><code>docker/getting-started</code> - 要使用的镜像</li>
|
||||
</ul>
|
||||
<p>在前台创建并运行容器</p>
|
||||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line line-number" line="1">$ <span class="token function">docker</span> run <span class="token parameter variable">-it</span> <span class="token parameter variable">-p</span> <span class="token number">8001</span>:8080 <span class="token parameter variable">--name</span> my-nginx nginx
|
||||
</span></code></pre>
|
||||
<hr>
|
||||
<ul>
|
||||
<li><code>-it</code> - 交互式 bash 模式</li>
|
||||
<li><code>-p 8001:8080</code> - 将 <code>8001</code> 端口映射到容器中的 <code>8080</code> 端口</li>
|
||||
<li><code>--name my-nginx</code> - 指定名称</li>
|
||||
<li><code>nginx</code> - 要使用的镜像</li>
|
||||
<li><code>-it</code> - 交互式 bash 模式</li>
|
||||
<li><code>-p 8001:8080</code> - 将 <code>8001</code> 端口映射到容器中的 <code>8080</code> 端口</li>
|
||||
<li><code>--name my-nginx</code> - 指定名称</li>
|
||||
<li><code>nginx</code> - 要使用的镜像</li>
|
||||
</ul>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="一般命令"><a aria-hidden="true" tabindex="-1" href="#一般命令"><span class="icon icon-link"></span></a>一般命令</h3><div class="wrap-body">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Example</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>docker ps</code></td>
|
||||
<td>列出正在运行的容器</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker ps -a</code></td>
|
||||
<td>列出所有容器</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker ps -s</code></td>
|
||||
<td>列出正在运行的容器 <em>(带 CPU / 内存)</em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker images</code></td>
|
||||
<td>列出所有镜像</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker exec -it <container> bash</code></td>
|
||||
<td>连接到容器</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker logs <container></code></td>
|
||||
<td>显示容器的控制台日志</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker stop <container></code></td>
|
||||
<td>停止容器</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker restart <container></code></td>
|
||||
<td>重启一个容器</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker rm <container></code></td>
|
||||
<td>移除一个容器</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker port <container></code></td>
|
||||
<td>显示容器的端口映射</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker top <container></code></td>
|
||||
<td>列出进程</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker kill <container></code></td>
|
||||
<td>杀死一个容器</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th>Example</th><th>Description</th></tr></thead><tbody><tr><td><code>docker ps</code></td><td>列出正在运行的容器</td></tr><tr><td><code>docker ps -a</code></td><td>列出所有容器</td></tr><tr><td><code>docker ps -s</code></td><td>列出正在运行的容器 <em>(带 CPU / 内存)</em></td></tr><tr><td><code>docker images</code></td><td>列出所有镜像</td></tr><tr><td><code>docker exec -it <container> bash</code></td><td>连接到容器</td></tr><tr><td><code>docker logs <container></code></td><td>显示容器的控制台日志</td></tr><tr><td><code>docker stop <container></code></td><td>停止容器</td></tr><tr><td><code>docker restart <container></code></td><td>重启一个容器</td></tr><tr><td><code>docker rm <container></code></td><td>移除一个容器</td></tr><tr><td><code>docker port <container></code></td><td>显示容器的端口映射</td></tr><tr><td><code>docker top <container></code></td><td>列出进程</td></tr><tr><td><code>docker kill <container></code></td><td>杀死一个容器</td></tr></tbody></table>
|
||||
<p>参数 <code><container></code> 可以是容器 id 或名称</p>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="docker-容器"><a aria-hidden="true" tabindex="-1" href="#docker-容器"><span class="icon icon-link"></span></a>Docker 容器</h2><div class="wrap-body"><!--rehype:body-class=cols-2-->
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="docker-容器"><a aria-hidden="true" tabindex="-1" href="#docker-容器"><span class="icon icon-link"></span></a>Docker 容器</h2><div class="wrap-body">
|
||||
<!--rehype:body-class=cols-2-->
|
||||
</div></div><div class="h2wrap-body cols-2"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="启动和停止"><a aria-hidden="true" tabindex="-1" href="#启动和停止"><span class="icon icon-link"></span></a>启动和停止</h3><div class="wrap-body">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Description</th>
|
||||
<th>Example</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>docker start nginx-server</code></td>
|
||||
<td>开始</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker stop nginx-server</code></td>
|
||||
<td>停止</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker restart nginx-server</code></td>
|
||||
<td>重启</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker pause nginx-server</code></td>
|
||||
<td>暂停</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker unpause nginx-server</code></td>
|
||||
<td>取消暂停</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker wait nginx-server</code></td>
|
||||
<td>阻塞容器</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker kill nginx-server</code></td>
|
||||
<td>发送 SIGKILL</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker attach nginx-server</code></td>
|
||||
<td>连接到现有容器</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th>Description</th><th>Example</th></tr></thead><tbody><tr><td><code>docker start nginx-server</code></td><td>开始</td></tr><tr><td><code>docker stop nginx-server</code></td><td>停止</td></tr><tr><td><code>docker restart nginx-server</code></td><td>重启</td></tr><tr><td><code>docker pause nginx-server</code></td><td>暂停</td></tr><tr><td><code>docker unpause nginx-server</code></td><td>取消暂停</td></tr><tr><td><code>docker wait nginx-server</code></td><td>阻塞容器</td></tr><tr><td><code>docker kill nginx-server</code></td><td>发送 SIGKILL</td></tr><tr><td><code>docker attach nginx-server</code></td><td>连接到现有容器</td></tr></tbody></table>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="说明"><a aria-hidden="true" tabindex="-1" href="#说明"><span class="icon icon-link"></span></a>说明</h3><div class="wrap-body">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Example</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>docker ps</code></td>
|
||||
<td>列出正在运行的容器</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker ps -a</code></td>
|
||||
<td>列出所有容器</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker logs nginx-server</code></td>
|
||||
<td>容器日志</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker inspect nginx-server</code></td>
|
||||
<td>检查容器</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker events nginx-server</code></td>
|
||||
<td>容器事件</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker port nginx-server</code></td>
|
||||
<td>公共端口</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker top nginx-server</code></td>
|
||||
<td>运行进程</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker stats nginx-server</code></td>
|
||||
<td>容器资源使用</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker diff nginx-server</code></td>
|
||||
<td>列出对容器所做的更改</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th>Example</th><th>Description</th></tr></thead><tbody><tr><td><code>docker ps</code></td><td>列出正在运行的容器</td></tr><tr><td><code>docker ps -a</code></td><td>列出所有容器</td></tr><tr><td><code>docker logs nginx-server</code></td><td>容器日志</td></tr><tr><td><code>docker inspect nginx-server</code></td><td>检查容器</td></tr><tr><td><code>docker events nginx-server</code></td><td>容器事件</td></tr><tr><td><code>docker port nginx-server</code></td><td>公共端口</td></tr><tr><td><code>docker top nginx-server</code></td><td>运行进程</td></tr><tr><td><code>docker stats nginx-server</code></td><td>容器资源使用</td></tr><tr><td><code>docker diff nginx-server</code></td><td>列出对容器所做的更改</td></tr></tbody></table>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="创建容器"><a aria-hidden="true" tabindex="-1" href="#创建容器"><span class="icon icon-link"></span></a>创建容器</h3><div class="wrap-body">
|
||||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line line-number" line="1"><span class="token function">docker</span> create <span class="token punctuation">[</span>options<span class="token punctuation">]</span> IMAGE
|
||||
</span><span class="code-line line-number" line="2"> -a, <span class="token parameter variable">--attach</span> <span class="token comment"># 附加标准输出/错误</span>
|
||||
@ -234,54 +236,55 @@
|
||||
<p>更新容器</p>
|
||||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line line-number" line="1"><span class="token function">docker</span> update --cpu-shares <span class="token number">512</span> <span class="token parameter variable">-m</span> 300M nginx-server
|
||||
</span></code></pre>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="docker-镜像"><a aria-hidden="true" tabindex="-1" href="#docker-镜像"><span class="icon icon-link"></span></a>Docker 镜像</h2><div class="wrap-body"><!--rehype:body-class=cols-2-->
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="docker-镜像"><a aria-hidden="true" tabindex="-1" href="#docker-镜像"><span class="icon icon-link"></span></a>Docker 镜像</h2><div class="wrap-body">
|
||||
<!--rehype:body-class=cols-2-->
|
||||
</div></div><div class="h2wrap-body cols-2"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="操控-1"><a aria-hidden="true" tabindex="-1" href="#操控-1"><span class="icon icon-link"></span></a>操控</h3><div class="wrap-body">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th><code>Example</code></th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>docker images</code></td>
|
||||
<td>列出镜像</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker rmi nginx</code></td>
|
||||
<td>删除镜像</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker load < ubuntu.tar.gz</code></td>
|
||||
<td>加载一个 tarred 存储库</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker load --input ubuntu.tar</code></td>
|
||||
<td>加载一个 tarred 存储库</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker save busybox > ubuntu.tar</code></td>
|
||||
<td>将镜像保存到 tar 存档</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker history</code></td>
|
||||
<td>显示镜像的历史</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker commit nginx</code></td>
|
||||
<td>将容器另存为镜像。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker tag nginx eon01/nginx</code></td>
|
||||
<td>标记镜像</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker push eon01/nginx</code></td>
|
||||
<td>推送镜像</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th><code>Example</code></th><th>Description</th></tr></thead><tbody><tr><td><code>docker images</code></td><td>列出镜像</td></tr><tr><td><code>docker rmi nginx</code></td><td>删除镜像</td></tr><tr><td><code>docker load < ubuntu.tar.gz</code></td><td>加载一个 tarred 存储库</td></tr><tr><td><code>docker load --input ubuntu.tar</code></td><td>加载一个 tarred 存储库</td></tr><tr><td><code>docker save busybox > ubuntu.tar</code></td><td>将镜像保存到 tar 存档</td></tr><tr><td><code>docker history</code></td><td>显示镜像的历史</td></tr><tr><td><code>docker commit nginx</code></td><td>将容器另存为镜像。</td></tr><tr><td><code>docker tag nginx eon01/nginx</code></td><td>标记镜像</td></tr><tr><td><code>docker push eon01/nginx</code></td><td>推送镜像</td></tr></tbody></table>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="构建镜像"><a aria-hidden="true" tabindex="-1" href="#构建镜像"><span class="icon icon-link"></span></a>构建镜像</h3><div class="wrap-body">
|
||||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line line-number" line="1">$ <span class="token function">docker</span> build <span class="token builtin class-name">.</span>
|
||||
</span><span class="code-line line-number" line="2">$ <span class="token function">docker</span> build github.com/creack/docker-firefox
|
||||
@ -291,7 +294,8 @@
|
||||
</span><span class="code-line line-number" line="6">$ <span class="token function">docker</span> build <span class="token parameter variable">-f</span> myOtherDockerfile <span class="token builtin class-name">.</span>
|
||||
</span><span class="code-line line-number" line="7">$ <span class="token function">curl</span> example.com/remote/Dockerfile <span class="token operator">|</span> <span class="token function">docker</span> build <span class="token parameter variable">-f</span> - <span class="token builtin class-name">.</span>
|
||||
</span></code></pre>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="docker-网络"><a aria-hidden="true" tabindex="-1" href="#docker-网络"><span class="icon icon-link"></span></a>Docker 网络</h2><div class="wrap-body"><!--rehype:body-class=cols-2-->
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="docker-网络"><a aria-hidden="true" tabindex="-1" href="#docker-网络"><span class="icon icon-link"></span></a>Docker 网络</h2><div class="wrap-body">
|
||||
<!--rehype:body-class=cols-2-->
|
||||
</div></div><div class="h2wrap-body cols-2"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="操作"><a aria-hidden="true" tabindex="-1" href="#操作"><span class="icon icon-link"></span></a>操作</h3><div class="wrap-body">
|
||||
<p>删除网络</p>
|
||||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line line-number" line="1"><span class="token function">docker</span> network <span class="token function">rm</span> MyOverlayNetwork
|
||||
@ -326,35 +330,37 @@
|
||||
</span><span class="code-line line-number" line="12"> --aux-address<span class="token operator">=</span><span class="token string">"my-nas=192.170.1.6"</span> <span class="token punctuation">\</span>
|
||||
</span><span class="code-line line-number" line="13"> MyOverlayNetwork
|
||||
</span></code></pre>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="各种各样的"><a aria-hidden="true" tabindex="-1" href="#各种各样的"><span class="icon icon-link"></span></a>各种各样的</h2><div class="wrap-body"><!--rehype:body-class=cols-2-->
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="各种各样的"><a aria-hidden="true" tabindex="-1" href="#各种各样的"><span class="icon icon-link"></span></a>各种各样的</h2><div class="wrap-body">
|
||||
<!--rehype:body-class=cols-2-->
|
||||
</div></div><div class="h2wrap-body cols-2"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="docker-hub"><a aria-hidden="true" tabindex="-1" href="#docker-hub"><span class="icon icon-link"></span></a>Docker Hub</h3><div class="wrap-body">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Docker 语法</th>
|
||||
<th>说明</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>docker search search_word</code></td>
|
||||
<td>在 docker hub 中搜索镜像。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker pull user/image</code></td>
|
||||
<td>从 docker hub 下载镜像。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker login</code></td>
|
||||
<td>向 docker hub 进行身份验证</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker push user/image</code></td>
|
||||
<td>将镜像上传到 docker hub。</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div></div></div><div class="wrap row-span-3"><div class="wrap-header h3wrap"><h3 id="注册表命令"><a aria-hidden="true" tabindex="-1" href="#注册表命令"><span class="icon icon-link"></span></a>注册表命令</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-3-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th>Docker 语法</th><th>说明</th></tr></thead><tbody><tr><td><code>docker search search_word</code></td><td>在 docker hub 中搜索镜像。</td></tr><tr><td><code>docker pull user/image </code></td><td>从 docker hub 下载镜像。</td></tr><tr><td><code>docker login </code></td><td>向 docker hub 进行身份验证</td></tr><tr><td><code>docker push user/image </code></td><td>将镜像上传到 docker hub。</td></tr></tbody></table>
|
||||
</div></div></div><div class="wrap row-span-3"><div class="wrap-header h3wrap"><h3 id="注册表命令"><a aria-hidden="true" tabindex="-1" href="#注册表命令"><span class="icon icon-link"></span></a>注册表命令</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-3-->
|
||||
<p>登录到注册表</p>
|
||||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line line-number" line="1">$ <span class="token function">docker</span> login
|
||||
</span><span class="code-line line-number" line="2">$ <span class="token function">docker</span> login localhost:8080
|
||||
@ -376,28 +382,28 @@
|
||||
</span><span class="code-line line-number" line="2">$ <span class="token function">docker</span> push eon01/nginx localhost:5000/myadmin/nginx
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="批量清除"><a aria-hidden="true" tabindex="-1" href="#批量清除"><span class="icon icon-link"></span></a>批量清除</h3><div class="wrap-body">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>实例</th>
|
||||
<th>说明</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>docker stop -f $(docker ps -a -q)</code></td>
|
||||
<td>停止所有容器</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker rm -f $(docker ps -a -q)</code></td>
|
||||
<td>删除所有容器</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>docker rmi -f $(docker images -q)</code></td>
|
||||
<td>删除所有图像</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th>实例</th><th>说明</th></tr></thead><tbody><tr><td><code>docker stop -f $(docker ps -a -q)</code></td><td>停止所有容器</td></tr><tr><td><code>docker rm -f $(docker ps -a -q)</code></td><td>删除所有容器</td></tr><tr><td><code>docker rmi -f $(docker images -q)</code></td><td>删除所有图像</td></tr></tbody></table>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="卷-volume"><a aria-hidden="true" tabindex="-1" href="#卷-volume"><span class="icon icon-link"></span></a>卷 volume</h3><div class="wrap-body">
|
||||
<p>检查卷</p>
|
||||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line line-number" line="1">$ <span class="token function">docker</span> volume <span class="token function">ls</span>
|
||||
@ -407,10 +413,9 @@
|
||||
</span></code></pre>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="另见"><a aria-hidden="true" tabindex="-1" href="#另见"><span class="icon icon-link"></span></a>另见</h2><div class="wrap-body">
|
||||
<ul>
|
||||
<li><a href="./dockerfile.html">Dockerfile 备忘清单</a> <em>(github.io)</em></li>
|
||||
<li><a href="https://docs.docker.com/get-started/">Docker 官方入门教程</a> <em>(docker.com)</em></li>
|
||||
<li><a href="https://jaywcjlove.github.io/docker-tutorial">Docker入门学习笔记</a> <em>(github.io)</em></li>
|
||||
<li><a href="./dockerfile.html">Dockerfile 备忘清单</a> <em>(github.io)</em></li>
|
||||
<li><a href="https://docs.docker.com/get-started/">Docker 官方入门教程</a> <em>(docker.com)</em></li>
|
||||
<li><a href="https://jaywcjlove.github.io/docker-tutorial">Docker入门学习笔记</a> <em>(github.io)</em></li>
|
||||
</ul>
|
||||
|
||||
</div></div></div></div></div><footer class="footer-wrap"><footer class="max-container">© 2022 Kenny Wang, All rights reserved.</footer></footer></body>
|
||||
</html>
|
||||
|
@ -40,14 +40,15 @@
|
||||
</div></div><div class="h2wrap-body"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="继承"><a aria-hidden="true" tabindex="-1" href="#继承"><span class="icon icon-link"></span></a>继承</h3><div class="wrap-body">
|
||||
<p>默认 <code>Dockerfile</code> 位于上下文的根目录中。</p>
|
||||
<ul>
|
||||
<li><a href="./docker.html">Docker 备忘清单</a> <em>(github.io)</em></li>
|
||||
<li><a href="./docker.html">Docker 备忘清单</a> <em>(github.io)</em></li>
|
||||
</ul>
|
||||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line line-number" line="1"><span class="token function">docker</span> build <span class="token parameter variable">-f</span> /path/to/a/Dockerfile <span class="token builtin class-name">.</span>
|
||||
</span></code></pre>
|
||||
<p>使用 <code>-f</code> 指向文件系统中任何位置的 <code>Dockerfile</code>。</p>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="继承-1"><a aria-hidden="true" tabindex="-1" href="#继承-1"><span class="icon icon-link"></span></a>继承</h3><div class="wrap-body">
|
||||
<pre class="wrap-text "><code class="language-dockerfile code-highlight"><span class="code-line line-number" line="1"><span class="token instruction"><span class="token keyword">FROM</span> [--platform=<platform>] <image> [AS <name>]</span>
|
||||
</span></code></pre><!--rehype:className=wrap-text -->
|
||||
</span></code></pre>
|
||||
<!--rehype:className=wrap-text -->
|
||||
<p>示例</p>
|
||||
<pre class="language-dockerfile"><code class="language-dockerfile code-highlight"><span class="code-line line-number" line="1"><span class="token instruction"><span class="token keyword">FROM</span> ruby:2.2.2</span>
|
||||
</span><span class="code-line line-number" line="2"><span class="token instruction"><span class="token keyword">FROM</span> golang:1.19-alpine3.16 <span class="token keyword">AS</span> build-env</span>
|
||||
@ -61,7 +62,8 @@
|
||||
<pre class="language-dockerfile"><code class="language-dockerfile code-highlight"><span class="code-line line-number" line="1"><span class="token instruction"><span class="token keyword">ENV</span> MY_NAME=<span class="token string">"John Doe"</span> MY_DOG=Rex\ The\ Dog <span class="token operator">\</span>
|
||||
</span></span><span class="code-line line-number" line="2"><span class="token instruction"> MY_CAT=fluffy</span>
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="初始化"><a aria-hidden="true" tabindex="-1" href="#初始化"><span class="icon icon-link"></span></a>初始化</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-2 -->
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="初始化"><a aria-hidden="true" tabindex="-1" href="#初始化"><span class="icon icon-link"></span></a>初始化</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-2 -->
|
||||
<pre class="language-dockerfile"><code class="language-dockerfile code-highlight"><span class="code-line line-number" line="1"><span class="token instruction"><span class="token keyword">RUN</span> bundle install</span>
|
||||
</span></code></pre>
|
||||
<p><code>WORKDIR</code> 指令为任何 <code>RUN</code>、<code>CMD</code>、<code>ENTRYPOINT</code>、<code>COPY</code> 和 <code>ADD</code> 指令设置工作目录。</p>
|
||||
@ -74,14 +76,16 @@
|
||||
<pre class="wrap-text "><code class="language-dockerfile code-highlight"><span class="code-line line-number" line="1"><span class="token instruction"><span class="token keyword">ADD</span> file.xyz /file.xyz</span>
|
||||
</span><span class="code-line line-number" line="2"><span class="token comment"># 复制</span>
|
||||
</span><span class="code-line line-number" line="3"><span class="token instruction"><span class="token keyword">COPY</span> <span class="token options"><span class="token property">--chown</span><span class="token punctuation">=</span><span class="token string">user:group</span></span> host_file.xyz /path/container_file.xyz</span>
|
||||
</span></code></pre><!--rehype:className=wrap-text -->
|
||||
</span></code></pre>
|
||||
<!--rehype:className=wrap-text -->
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="onbuild"><a aria-hidden="true" tabindex="-1" href="#onbuild"><span class="icon icon-link"></span></a>Onbuild</h3><div class="wrap-body">
|
||||
<pre class="wrap-text "><code class="language-dockerfile code-highlight"><span class="code-line line-number" line="1"><span class="token instruction"><span class="token keyword">ONBUILD</span> <span class="token keyword">RUN</span> bundle install</span>
|
||||
</span><span class="code-line line-number" line="2"><span class="token comment"># 与另一个文件一起使用时</span>
|
||||
</span><span class="code-line line-number" line="3">
|
||||
</span><span class="code-line line-number" line="4"><span class="token instruction"><span class="token keyword">ONBUILD</span> <span class="token keyword">ADD</span> . /app/src</span>
|
||||
</span><span class="code-line line-number" line="5"><span class="token instruction"><span class="token keyword">ONBUILD</span> <span class="token keyword">RUN</span> /usr/local/bin/python-build --dir /app/src</span>
|
||||
</span></code></pre><!--rehype:className=wrap-text -->
|
||||
</span></code></pre>
|
||||
<!--rehype:className=wrap-text -->
|
||||
<p>指令将触发指令添加到镜像中,以便稍后执行,此时镜像用作另一个构建的基础。</p>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="在严格的-shell-中运行命令"><a aria-hidden="true" tabindex="-1" href="#在严格的-shell-中运行命令"><span class="icon icon-link"></span></a>在严格的 shell 中运行命令</h3><div class="wrap-body">
|
||||
<pre class="wrap-text "><code class="language-dockerfile code-highlight"><span class="code-line line-number" line="1"><span class="token instruction"><span class="token keyword">ENV</span> my_var</span>
|
||||
@ -90,38 +94,41 @@
|
||||
</span><span class="code-line line-number" line="4"><span class="token instruction"><span class="token keyword">RUN</span> false # ails 像使用 && 一样构建</span>
|
||||
</span><span class="code-line line-number" line="5"><span class="token instruction"><span class="token keyword">RUN</span> echo <span class="token string">"$myvar"</span> # 由于拼写错误会抛出错误</span>
|
||||
</span><span class="code-line line-number" line="6"><span class="token instruction"><span class="token keyword">RUN</span> true | false # 将脱离管道</span>
|
||||
</span></code></pre><!--rehype:className=wrap-text -->
|
||||
</span></code></pre>
|
||||
<!--rehype:className=wrap-text -->
|
||||
<p>使用 <code>shell</code> 将为 shell 命令打开严格模式。</p>
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="命令-cmd"><a aria-hidden="true" tabindex="-1" href="#命令-cmd"><span class="icon icon-link"></span></a>命令 CMD</h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2-->
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th align="left">:-</th>
|
||||
<th>-</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="left"><code>CMD ["executable","param1","param2"]</code></td>
|
||||
<td>(exec 形式,这是首选形式)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><code>CMD ["param1","param2"]</code></td>
|
||||
<td>(作为 ENTRYPOINT 的默认参数)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><code>CMD command param1 param2</code></td>
|
||||
<td>(shell形式)</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="命令-cmd"><a aria-hidden="true" tabindex="-1" href="#命令-cmd"><span class="icon icon-link"></span></a>命令 CMD</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th align="left">:-</th><th>-</th></tr></thead><tbody><tr><td align="left"><code>CMD ["executable","param1","param2"]</code></td><td>(exec 形式,这是首选形式)</td></tr><tr><td align="left"><code>CMD ["param1","param2"]</code></td><td>(作为 ENTRYPOINT 的默认参数)</td></tr><tr><td align="left"><code>CMD command param1 param2</code></td><td>(shell形式)</td></tr></tbody></table>
|
||||
<pre class="language-dockerfile"><code class="language-dockerfile code-highlight"><span class="code-line line-number" line="1"><span class="token instruction"><span class="token keyword">EXPOSE</span> 5900</span>
|
||||
</span><span class="code-line line-number" line="2"><span class="token instruction"><span class="token keyword">CMD</span> [<span class="token string">"bundle"</span>, <span class="token string">"exec"</span>, <span class="token string">"rails"</span>, <span class="token string">"server"</span>]</span>
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="入口点-entrypoint"><a aria-hidden="true" tabindex="-1" href="#入口点-entrypoint"><span class="icon icon-link"></span></a>入口点 ENTRYPOINT</h3><div class="wrap-body">
|
||||
<pre class="wrap-text "><code class="language-dockerfile code-highlight"><span class="code-line line-number" line="1"><span class="token instruction"><span class="token keyword">ENTRYPOINT</span> [<span class="token string">"executable"</span>, <span class="token string">"param1"</span>, <span class="token string">"param2"</span>]</span>
|
||||
</span><span class="code-line line-number" line="2"><span class="token instruction"><span class="token keyword">ENTRYPOINT</span> command param1 param2</span>
|
||||
</span></code></pre><!--rehype:className=wrap-text -->
|
||||
</span></code></pre>
|
||||
<!--rehype:className=wrap-text -->
|
||||
<p>配置将作为可执行文件运行的容器。</p>
|
||||
<pre class="language-dockerfile"><code class="language-dockerfile code-highlight"><span class="code-line line-number" line="1"><span class="token instruction"><span class="token keyword">ENTRYPOINT</span> exec top -b</span>
|
||||
</span></code></pre>
|
||||
@ -132,7 +139,8 @@
|
||||
<pre class="wrap-text "><code class="language-dockerfile code-highlight"><span class="code-line line-number" line="1"><span class="token instruction"><span class="token keyword">LABEL</span> <span class="token string">"com.example.vendor"</span>=<span class="token string">"ACME Incorporated"</span></span>
|
||||
</span><span class="code-line line-number" line="2"><span class="token instruction"><span class="token keyword">LABEL</span> com.example.label-with-value=<span class="token string">"foo"</span></span>
|
||||
</span><span class="code-line line-number" line="3"><span class="token instruction"><span class="token keyword">LABEL</span> version=<span class="token string">"1.0"</span></span>
|
||||
</span></code></pre><!--rehype:className=wrap-text -->
|
||||
</span></code></pre>
|
||||
<!--rehype:className=wrap-text -->
|
||||
<pre class="language-dockerfile"><code class="language-dockerfile code-highlight"><span class="code-line line-number" line="1"><span class="token instruction"><span class="token keyword">LABEL</span> description=<span class="token string">"本文说明\
|
||||
</span></span></span><span class="code-line line-number" line="2"><span class="token instruction"><span class="token string">标签值可以跨越多行。"</span></span>
|
||||
</span><span class="code-line line-number" line="3"><span class="token instruction"><span class="token keyword">LABEL</span> multi.label1=<span class="token string">"value1"</span> <span class="token operator">\</span>
|
||||
@ -155,85 +163,87 @@
|
||||
</span><span class="code-line line-number" line="4"><span class="token entry string">temp<span class="token operator">?</span></span>
|
||||
</span></code></pre>
|
||||
<hr>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th align="left">:-</th>
|
||||
<th>-</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="left"><code># comment</code></td>
|
||||
<td>忽略</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><code>*/temp*</code></td>
|
||||
<td>在根的任何直接子目录中<br>排除名称以 <code>temp</code> 开头的文件和目录</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><code>*/*/temp*</code></td>
|
||||
<td>从根以下两级的任何子目录中<br>排除以 <code>temp</code> 开头的文件和目录</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><code>temp?</code></td>
|
||||
<td>排除根目录中名称为<br><code>temp</code> 的单字符扩展名的文件和目录</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th align="left">:-</th><th>-</th></tr></thead><tbody><tr><td align="left"><code># comment</code></td><td>忽略</td></tr><tr><td align="left"><code>*/temp*</code></td><td>在根的任何直接子目录中<br>排除名称以 <code>temp</code> 开头的文件和目录</td></tr><tr><td align="left"><code>*/*/temp*</code></td><td>从根以下两级的任何子目录中<br>排除以 <code>temp</code> 开头的文件和目录</td></tr><tr><td align="left"><code>temp?</code></td><td>排除根目录中名称为<br> <code>temp</code> 的单字符扩展名的文件和目录</td></tr></tbody></table>
|
||||
<p>如果此文件存在,排除与其中的模式匹配的文件和目录,有利于避免 <code>ADD</code> 或 <code>COPY</code> 将敏感文件添加到镜像中。匹配是使用 Go 的 <a href="https://golang.org/pkg/path/filepath#Match">filepath.Match</a> 规则完成的。</p>
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="主要命令"><a aria-hidden="true" tabindex="-1" href="#主要命令"><span class="icon icon-link"></span></a>主要命令</h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2 -->
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th align="left">命令</th>
|
||||
<th>说明</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="left"><code>FROM image</code></td>
|
||||
<td>构建的基础镜像</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><del><code>MAINTAINER email</code></del></td>
|
||||
<td>(已弃用)维护者的名字</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><code>COPY [--chown=<user>:<group>] <src>... <dest></code></td>
|
||||
<td>将上下文中的路径复制到位置 <code>dest</code> 的容器中</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><code>ADD [--chown=<user>:<group>] <src>... <dest></code></td>
|
||||
<td>与 <code>COPY</code> 相同,但解压缩存档并接受 http url。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><code>RUN <command></code></td>
|
||||
<td>在容器内运行任意命令。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><code>USER <user>[:<group>]</code></td>
|
||||
<td>设置默认用户名。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><code>WORKDIR /path/to/workdir</code></td>
|
||||
<td>设置默认工作目录。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><code>CMD command param1 param2</code></td>
|
||||
<td>设置默认命令</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><code>ENV <key>=<value> ...</code></td>
|
||||
<td>设置环境变量</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><code>EXPOSE <port> [<port>/<protocol>...]</code></td>
|
||||
<td>运行时侦听指定的网络端口</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="服务静态网站的最小-docker-镜像"><a aria-hidden="true" tabindex="-1" href="#服务静态网站的最小-docker-镜像"><span class="icon icon-link"></span></a>服务静态网站的最小 Docker 镜像</h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2-->
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="主要命令"><a aria-hidden="true" tabindex="-1" href="#主要命令"><span class="icon icon-link"></span></a>主要命令</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2 -->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th align="left">命令</th><th>说明</th></tr></thead><tbody><tr><td align="left"><code>FROM image</code></td><td>构建的基础镜像</td></tr><tr><td align="left"><del><code>MAINTAINER email</code></del></td><td>(已弃用)维护者的名字</td></tr><tr><td align="left"><code>COPY [--chown=<user>:<group>] <src>... <dest></code></td><td>将上下文中的路径复制到位置 <code>dest</code> 的容器中</td></tr><tr><td align="left"><code>ADD [--chown=<user>:<group>] <src>... <dest></code></td><td>与 <code>COPY</code> 相同,但解压缩存档并接受 http url。</td></tr><tr><td align="left"><code>RUN <command></code></td><td>在容器内运行任意命令。</td></tr><tr><td align="left"><code>USER <user>[:<group>]</code></td><td>设置默认用户名。</td></tr><tr><td align="left"><code>WORKDIR /path/to/workdir</code></td><td>设置默认工作目录。</td></tr><tr><td align="left"><code>CMD command param1 param2</code></td><td>设置默认命令</td></tr><tr><td align="left"><code>ENV <key>=<value> ...</code></td><td>设置环境变量</td></tr><tr><td align="left"><code>EXPOSE <port> [<port>/<protocol>...]</code></td><td>运行时侦听指定的网络端口</td></tr></tbody></table>
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="服务静态网站的最小-docker-镜像"><a aria-hidden="true" tabindex="-1" href="#服务静态网站的最小-docker-镜像"><span class="icon icon-link"></span></a>服务静态网站的最小 Docker 镜像</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
<pre class="language-dockerfile"><code class="language-dockerfile code-highlight"><span class="code-line line-number" line="1"><span class="token instruction"><span class="token keyword">FROM</span> lipanski/docker-static-website:latest</span>
|
||||
</span><span class="code-line line-number" line="2"><span class="token comment"># 使用 .dockerignore 文件来控制图像中的内容!</span>
|
||||
</span><span class="code-line line-number" line="3"><span class="token comment"># 复制当前目录内容,到容器中</span>
|
||||
@ -248,10 +258,9 @@
|
||||
<p>缩小镜像过程<a href="https://lipanski.com/posts/smallest-docker-image-static-website">查看原文</a>,镜像 <a href="https://github.com/lipanski/docker-static-website">Dockerfile 源码</a>。</p>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="也可以看看"><a aria-hidden="true" tabindex="-1" href="#也可以看看"><span class="icon icon-link"></span></a>也可以看看</h2><div class="wrap-body">
|
||||
<ul>
|
||||
<li><a href="https://docs.docker.com/engine/reference/builder/">Dockerfile reference</a> <em>(docker.com)</em></li>
|
||||
<li><a href="./docker.html">Docker 备忘清单</a> <em>(github.io)</em></li>
|
||||
<li><a href="https://jaywcjlove.github.io/docker-tutorial">Docker入门学习笔记</a> <em>(github.io)</em></li>
|
||||
<li><a href="https://docs.docker.com/engine/reference/builder/">Dockerfile reference</a> <em>(docker.com)</em></li>
|
||||
<li><a href="./docker.html">Docker 备忘清单</a> <em>(github.io)</em></li>
|
||||
<li><a href="https://jaywcjlove.github.io/docker-tutorial">Docker入门学习笔记</a> <em>(github.io)</em></li>
|
||||
</ul>
|
||||
|
||||
</div></div></div></div></div><footer class="footer-wrap"><footer class="max-container">© 2022 Kenny Wang, All rights reserved.</footer></footer></body>
|
||||
</html>
|
||||
|
6892
docs/emoji.html
6892
docs/emoji.html
File diff suppressed because one or more lines are too long
445
docs/find.html
445
docs/find.html
@ -47,138 +47,140 @@
|
||||
</span></code></pre>
|
||||
<hr>
|
||||
<ul>
|
||||
<li><a href="https://gist.github.com/gr1ev0us/3a9b9d9dbdd38f6379288eb2686fc538">Find 备忘清单</a> <em>(gist.github.com)</em></li>
|
||||
<li><a href="https://gist.github.com/gr1ev0us/3a9b9d9dbdd38f6379288eb2686fc538">Find 备忘清单</a> <em>(gist.github.com)</em></li>
|
||||
</ul>
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="参数示例"><a aria-hidden="true" tabindex="-1" href="#参数示例"><span class="icon icon-link"></span></a>参数示例</h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2-->
|
||||
<table class="show-header">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>参数</th>
|
||||
<th>示例</th>
|
||||
<th>描述</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>-type</code></td>
|
||||
<td>find . -type d</td>
|
||||
<td>仅查找目录</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-name</code></td>
|
||||
<td>find . -type f -name "*.txt"</td>
|
||||
<td>按名称查找文件</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-iname</code></td>
|
||||
<td>find . -type f -iname "hello"</td>
|
||||
<td>按名称查找文件(不区分大小写)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-size</code></td>
|
||||
<td>find . -size +1G</td>
|
||||
<td>查找大于 1G 的文件</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-user</code></td>
|
||||
<td>find . -type d -user jack</td>
|
||||
<td>查找杰克的文件</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-regex</code></td>
|
||||
<td>find /var -regex '.*/tmp/.*[0-9]*.file'</td>
|
||||
<td>将正则表达式与查找一起使用</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-maxdepth</code></td>
|
||||
<td>find . -maxdepth 1 -name "a.txt"</td>
|
||||
<td>在当前目录和子目录中</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-mindepth</code></td>
|
||||
<td>find / -mindepth 3 -maxdepth 5 -name pass</td>
|
||||
<td>在子目录级别 2 和 4 之间</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table><!--rehype:className=show-header-->
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="参数示例"><a aria-hidden="true" tabindex="-1" href="#参数示例"><span class="icon icon-link"></span></a>参数示例</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table class="show-header"><thead><tr><th>参数</th><th>示例</th><th>描述</th></tr></thead><tbody><tr><td><code>-type</code></td><td>find . -type d</td><td>仅查找目录</td></tr><tr><td><code>-name</code></td><td>find . -type f -name "*.txt"</td><td>按名称查找文件</td></tr><tr><td><code>-iname</code></td><td>find . -type f -iname "hello"</td><td>按名称查找文件(不区分大小写)</td></tr><tr><td><code>-size</code></td><td>find . -size +1G</td><td>查找大于 1G 的文件</td></tr><tr><td><code>-user</code></td><td>find . -type d -user jack</td><td>查找杰克的文件</td></tr><tr><td><code>-regex</code></td><td>find /var -regex '.*/tmp/.*[0-9]*.file'</td><td>将正则表达式与查找一起使用</td></tr><tr><td><code>-maxdepth</code></td><td>find . -maxdepth 1 -name "a.txt"</td><td>在当前目录和子目录中</td></tr><tr><td><code>-mindepth</code></td><td>find / -mindepth 3 -maxdepth 5 -name pass</td><td>在子目录级别 2 和 4 之间</td></tr></tbody></table>
|
||||
<!--rehype:className=show-header-->
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="类型"><a aria-hidden="true" tabindex="-1" href="#类型"><span class="icon icon-link"></span></a>类型</h3><div class="wrap-body">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>-type d</code></td>
|
||||
<td>目录</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-type f</code></td>
|
||||
<td>文件</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-type l</code></td>
|
||||
<td>符号链接</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-type b</code></td>
|
||||
<td>缓冲块</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-type c</code></td>
|
||||
<td>无缓冲字符</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-type p</code></td>
|
||||
<td>命名管道</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-type s</code></td>
|
||||
<td>插座</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><code>-type d</code></td><td>目录</td></tr><tr><td><code>-type f</code></td><td>文件</td></tr><tr><td><code>-type l</code></td><td>符号链接</td></tr><tr><td><code>-type b</code></td><td>缓冲块</td></tr><tr><td><code>-type c</code></td><td>无缓冲字符</td></tr><tr><td><code>-type p</code></td><td>命名管道</td></tr><tr><td><code>-type s</code></td><td>插座</td></tr></tbody></table>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="大小"><a aria-hidden="true" tabindex="-1" href="#大小"><span class="icon icon-link"></span></a>大小</h3><div class="wrap-body">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>-size b</code></td>
|
||||
<td>512 字节块(默认)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-size c</code></td>
|
||||
<td>字节</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-size k</code></td>
|
||||
<td>千字节</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-size M</code></td>
|
||||
<td>兆字节</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-size G</code></td>
|
||||
<td>千兆字节</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-size T</code></td>
|
||||
<td>太字节_(仅限 BSD)_</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-size P</code></td>
|
||||
<td>PB <em>(仅 BSD)</em></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><code>-size b</code></td><td>512 字节块(默认)</td></tr><tr><td><code>-size c</code></td><td>字节</td></tr><tr><td><code>-size k</code></td><td>千字节</td></tr><tr><td><code>-size M</code></td><td>兆字节</td></tr><tr><td><code>-size G</code></td><td>千兆字节</td></tr><tr><td><code>-size T</code></td><td>太字节_(仅限 BSD)_</td></tr><tr><td><code>-size P</code></td><td>PB <em>(仅 BSD)</em></td></tr></tbody></table>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="大小--"><a aria-hidden="true" tabindex="-1" href="#大小--"><span class="icon icon-link"></span></a>大小 +/-</h3><div class="wrap-body">
|
||||
<p>查找所有大于 10MB 的文件</p>
|
||||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line line-number" line="1">$ <span class="token function">find</span> / <span class="token parameter variable">-size</span> +10M
|
||||
@ -246,11 +248,13 @@
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="多个文件名"><a aria-hidden="true" tabindex="-1" href="#多个文件名"><span class="icon icon-link"></span></a>多个文件名</h3><div class="wrap-body">
|
||||
<pre class="wrap-text "><code class="language-shell code-highlight"><span class="code-line line-number" line="1">$ <span class="token function">find</span> <span class="token builtin class-name">.</span> <span class="token parameter variable">-type</span> f <span class="token punctuation">\</span><span class="token punctuation">(</span> <span class="token parameter variable">-name</span> <span class="token string">"*.sh"</span> <span class="token parameter variable">-o</span> <span class="token parameter variable">-name</span> <span class="token string">"*.txt"</span> <span class="token punctuation">\</span><span class="token punctuation">)</span>
|
||||
</span></code></pre><!--rehype:className=wrap-text -->
|
||||
</span></code></pre>
|
||||
<!--rehype:className=wrap-text -->
|
||||
<p>查找带有 <code>.sh</code> 和 <code>.txt</code> 扩展名的文件</p>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="多个目录"><a aria-hidden="true" tabindex="-1" href="#多个目录"><span class="icon icon-link"></span></a>多个目录</h3><div class="wrap-body">
|
||||
<pre class="wrap-text "><code class="language-shell code-highlight"><span class="code-line line-number" line="1">$ <span class="token function">find</span> /opt /usr /var <span class="token parameter variable">-name</span> foo.scala <span class="token parameter variable">-type</span> f
|
||||
</span></code></pre><!--rehype:className=wrap-text -->
|
||||
</span></code></pre>
|
||||
<!--rehype:className=wrap-text -->
|
||||
<p>查找具有多个目录的文件</p>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="空的"><a aria-hidden="true" tabindex="-1" href="#空的"><span class="icon icon-link"></span></a>空的</h3><div class="wrap-body">
|
||||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line line-number" line="1">$ <span class="token function">find</span> <span class="token builtin class-name">.</span> <span class="token parameter variable">-type</span> d <span class="token parameter variable">-empty</span>
|
||||
@ -259,94 +263,89 @@
|
||||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line line-number" line="1">$ <span class="token function">find</span> <span class="token builtin class-name">.</span> <span class="token parameter variable">-type</span> f <span class="token parameter variable">-empty</span> <span class="token parameter variable">-delete</span>
|
||||
</span></code></pre>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="查找日期和时间"><a aria-hidden="true" tabindex="-1" href="#查找日期和时间"><span class="icon icon-link"></span></a>查找日期和时间</h2><div class="wrap-body">
|
||||
</div></div><div class="h2wrap-body"><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="方法"><a aria-hidden="true" tabindex="-1" href="#方法"><span class="icon icon-link"></span></a>方法</h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2-->
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Option</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>atime</code></td>
|
||||
<td>访问时间(上次文件
|
||||
<yel>打开</yel>)
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>mtime</code></td>
|
||||
<td>修改时间(上次文件
|
||||
<yel>内容被修改</yel>)
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>ctime</code></td>
|
||||
<td>更改时间(上次文件
|
||||
<yel>inode 已更改</yel>)
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div></div><div class="h2wrap-body"><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="方法"><a aria-hidden="true" tabindex="-1" href="#方法"><span class="icon icon-link"></span></a>方法</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th>Option</th><th>Description</th></tr></thead><tbody><tr><td><code>atime</code></td><td>访问时间(上次文件<yel>打开</yel>)</td></tr><tr><td><code>mtime</code></td><td>修改时间(上次文件<yel>内容被修改</yel>)</td></tr><tr><td><code>ctime</code></td><td>更改时间(上次文件 <yel>inode 已更改</yel>)</td></tr></tbody></table>
|
||||
</div></div><div class="h3wrap-body"><div class="wrap"><div class="wrap-header h4wrap"><h4 id="示例"><a aria-hidden="true" tabindex="-1" href="#示例"><span class="icon icon-link"></span></a>示例</h4><div class="wrap-body">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Option</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>-mtime +0</code></td>
|
||||
<td>24 小时前修改</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-mtime 0</code></td>
|
||||
<td>从现在到 1 天前修改</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-mtime -1</code></td>
|
||||
<td>不到 1 天前修改(与 <code>-mtime 0</code> 相同)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-mtime 1</code></td>
|
||||
<td>24 至 48 小时前修改</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-mtime +1</code></td>
|
||||
<td>超过 48 小时前修改</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-mtime +1w</code></td>
|
||||
<td>上次修改时间超过 1 周前</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-atime 0</code></td>
|
||||
<td>从现在到 24 小时前最后一次访问</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-atime +0</code></td>
|
||||
<td>访问时间超过 24 小时</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-atime 1</code></td>
|
||||
<td>在 24 至 48 小时前访问</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-atime +1</code></td>
|
||||
<td>访问时间超过 48 小时</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-atime -1</code></td>
|
||||
<td>不到 24 小时前访问过(与 <code>-atime 0</code> 相同)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-ctime -6h30m</code></td>
|
||||
<td>文件状态在过去 6 小时 30 分钟内发生变化</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th>Option</th><th>Description</th></tr></thead><tbody><tr><td><code>-mtime +0</code></td><td>24 小时前修改</td></tr><tr><td><code>-mtime 0</code></td><td>从现在到 1 天前修改</td></tr><tr><td><code>-mtime -1</code></td><td>不到 1 天前修改(与 <code>-mtime 0</code> 相同)</td></tr><tr><td><code>-mtime 1</code></td><td>24 至 48 小时前修改</td></tr><tr><td><code>-mtime +1</code></td><td>超过 48 小时前修改</td></tr><tr><td><code>-mtime +1w</code></td><td>上次修改时间超过 1 周前</td></tr><tr><td><code>-atime 0</code></td><td>从现在到 24 小时前最后一次访问</td></tr><tr><td><code>-atime +0</code></td><td>访问时间超过 24 小时</td></tr><tr><td><code>-atime 1</code></td><td>在 24 至 48 小时前访问</td></tr><tr><td><code>-atime +1</code></td><td>访问时间超过 48 小时</td></tr><tr><td><code>-atime -1</code></td><td>不到 24 小时前访问过(与 <code>-atime 0</code> 相同)</td></tr><tr><td><code>-ctime -6h30m</code></td><td>文件状态在过去 6 小时 30 分钟内发生变化</td></tr></tbody></table>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="更多示例"><a aria-hidden="true" tabindex="-1" href="#更多示例"><span class="icon icon-link"></span></a>更多示例</h3><div class="wrap-body">
|
||||
<p>查找最近 50 天修改的文件</p>
|
||||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line line-number" line="1">$ <span class="token function">find</span> / <span class="token parameter variable">-mtime</span> <span class="token number">50</span>
|
||||
@ -366,8 +365,10 @@
|
||||
<p>查找最近 1 小时内访问过的文件</p>
|
||||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line line-number" line="1">$ <span class="token function">find</span> / <span class="token parameter variable">-amin</span> <span class="token parameter variable">-60</span>
|
||||
</span></code></pre>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="查找并"><a aria-hidden="true" tabindex="-1" href="#查找并"><span class="icon icon-link"></span></a>查找并</h2><div class="wrap-body"><!--rehype:body-class=cols-2-->
|
||||
</div></div><div class="h2wrap-body cols-2"><div class="wrap row-span-3"><div class="wrap-header h3wrap"><h3 id="查找和删除"><a aria-hidden="true" tabindex="-1" href="#查找和删除"><span class="icon icon-link"></span></a>查找和删除</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-3-->
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="查找并"><a aria-hidden="true" tabindex="-1" href="#查找并"><span class="icon icon-link"></span></a>查找并</h2><div class="wrap-body">
|
||||
<!--rehype:body-class=cols-2-->
|
||||
</div></div><div class="h2wrap-body cols-2"><div class="wrap row-span-3"><div class="wrap-header h3wrap"><h3 id="查找和删除"><a aria-hidden="true" tabindex="-1" href="#查找和删除"><span class="icon icon-link"></span></a>查找和删除</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-3-->
|
||||
<p>查找并删除多个文件</p>
|
||||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line line-number" line="1">$ <span class="token function">find</span> <span class="token builtin class-name">.</span> <span class="token parameter variable">-type</span> f <span class="token parameter variable">-name</span> <span class="token string">"*.mp3"</span> <span class="token parameter variable">-exec</span> <span class="token function">rm</span> <span class="token parameter variable">-f</span> <span class="token punctuation">{</span><span class="token punctuation">}</span> <span class="token punctuation">\</span><span class="token punctuation">;</span>
|
||||
</span></code></pre>
|
||||
@ -405,7 +406,8 @@
|
||||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line line-number" line="1">$ <span class="token function">find</span> <span class="token builtin class-name">.</span> <span class="token parameter variable">-printf</span> <span class="token string">"%T+<span class="token entity" title="\t">\t</span>%p<span class="token entity" title="\n">\n</span>"</span> <span class="token operator">|</span> <span class="token function">sort</span>
|
||||
</span><span class="code-line line-number" line="2">$ <span class="token function">find</span> <span class="token builtin class-name">.</span> <span class="token parameter variable">-printf</span> <span class="token string">"%T+<span class="token entity" title="\t">\t</span>%p<span class="token entity" title="\n">\n</span>"</span> <span class="token operator">|</span> <span class="token function">sort</span> <span class="token parameter variable">-r</span>
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="查找和-chmod"><a aria-hidden="true" tabindex="-1" href="#查找和-chmod"><span class="icon icon-link"></span></a>查找和 chmod</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-2-->
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="查找和-chmod"><a aria-hidden="true" tabindex="-1" href="#查找和-chmod"><span class="icon icon-link"></span></a>查找和 chmod</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
<p>查找文件并将权限设置为 644。</p>
|
||||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line line-number" line="1">$ <span class="token function">find</span> / <span class="token parameter variable">-type</span> f <span class="token parameter variable">-perm</span> 0777 <span class="token parameter variable">-print</span> <span class="token parameter variable">-exec</span> <span class="token function">chmod</span> <span class="token number">644</span> <span class="token punctuation">{</span><span class="token punctuation">}</span> <span class="token punctuation">\</span><span class="token punctuation">;</span>
|
||||
</span></code></pre>
|
||||
@ -416,6 +418,5 @@
|
||||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line line-number" line="1">$ <span class="token function">find</span> <span class="token builtin class-name">.</span> <span class="token parameter variable">-type</span> f <span class="token parameter variable">-name</span> <span class="token string">"*.java"</span> <span class="token operator">|</span> <span class="token function">xargs</span> <span class="token function">tar</span> cvf myfile.tar
|
||||
</span><span class="code-line line-number" line="2">$ <span class="token function">find</span> <span class="token builtin class-name">.</span> <span class="token parameter variable">-type</span> f <span class="token parameter variable">-name</span> <span class="token string">"*.java"</span> <span class="token operator">|</span> <span class="token function">xargs</span> <span class="token function">tar</span> rvf myfile.tar
|
||||
</span></code></pre>
|
||||
|
||||
</div></div></div></div></div></div></div><footer class="footer-wrap"><footer class="max-container">© 2022 Kenny Wang, All rights reserved.</footer></footer></body>
|
||||
</html>
|
||||
|
@ -47,7 +47,8 @@
|
||||
<p>将存储库克隆到指定目录</p>
|
||||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line line-number" line="1">$ <span class="token function">git</span> clone git_url 指定目录
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="做出改变"><a aria-hidden="true" tabindex="-1" href="#做出改变"><span class="icon icon-link"></span></a>做出改变</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-2-->
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="做出改变"><a aria-hidden="true" tabindex="-1" href="#做出改变"><span class="icon icon-link"></span></a>做出改变</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
<p>在工作目录中<strong>显示</strong>修改后的文件,为您的下一次提交暂存</p>
|
||||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line line-number" line="1">$ <span class="token function">git</span> status
|
||||
</span></code></pre>
|
||||
@ -223,8 +224,10 @@
|
||||
</span></code></pre>
|
||||
<p>打印出很酷的日志可视化</p>
|
||||
<pre class="wrap-text"><code class="language-shell code-highlight"><span class="code-line line-number" line="1">$ <span class="token function">git</span> log <span class="token parameter variable">--pretty</span><span class="token operator">=</span>oneline <span class="token parameter variable">--graph</span> <span class="token parameter variable">--decorate</span> <span class="token parameter variable">--all</span>
|
||||
</span></code></pre><!--rehype:className=wrap-text-->
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="分支"><a aria-hidden="true" tabindex="-1" href="#分支"><span class="icon icon-link"></span></a>分支</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-2-->
|
||||
</span></code></pre>
|
||||
<!--rehype:className=wrap-text-->
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="分支"><a aria-hidden="true" tabindex="-1" href="#分支"><span class="icon icon-link"></span></a>分支</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
<p>列出所有分支及其上游</p>
|
||||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line line-number" line="1">$ <span class="token function">git</span> branch <span class="token parameter variable">-vv</span>
|
||||
</span></code></pre>
|
||||
@ -263,7 +266,8 @@
|
||||
</span><span class="code-line line-number" line="5"><span class="token comment"># 远程有俩相同目录,通过这种方式清除掉,然后提交记录</span>
|
||||
</span><span class="code-line line-number" line="6">$ <span class="token function">git</span> <span class="token function">rm</span> <span class="token parameter variable">-r</span> <span class="token parameter variable">--cached</span> <span class="token operator"><</span>目录/文件<span class="token operator">></span>
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap row-span-4"><div class="wrap-header h3wrap"><h3 id="修改远程-commit-记录"><a aria-hidden="true" tabindex="-1" href="#修改远程-commit-记录"><span class="icon icon-link"></span></a>修改远程 Commit 记录</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-4-->
|
||||
</div></div></div><div class="wrap row-span-4"><div class="wrap-header h3wrap"><h3 id="修改远程-commit-记录"><a aria-hidden="true" tabindex="-1" href="#修改远程-commit-记录"><span class="icon icon-link"></span></a>修改远程 Commit 记录</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-4-->
|
||||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line line-number" line="1">$ <span class="token function">git</span> rebase <span class="token parameter variable">-i</span> HEAD~3
|
||||
</span><span class="code-line line-number" line="2"><span class="token comment"># 表示要修改当前版本的倒数第三次状态</span>
|
||||
</span><span class="code-line line-number" line="3"><span class="token comment"># 将要更改的记录行首单词 pick 改为 edit</span>
|
||||
@ -321,7 +325,8 @@
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="删除已经合并到-master-的分支"><a aria-hidden="true" tabindex="-1" href="#删除已经合并到-master-的分支"><span class="icon icon-link"></span></a>删除已经合并到 master 的分支</h3><div class="wrap-body">
|
||||
<pre class="wrap-text"><code class="language-shell code-highlight"><span class="code-line line-number" line="1">$ <span class="token function">git</span> branch <span class="token parameter variable">--merged</span> master <span class="token operator">|</span> <span class="token function">grep</span> <span class="token parameter variable">-v</span> <span class="token string">'^\*\| master'</span> <span class="token operator">|</span> <span class="token function">xargs</span> <span class="token parameter variable">-n</span> <span class="token number">1</span> <span class="token function">git</span> branch <span class="token parameter variable">-d</span>
|
||||
</span></code></pre><!--rehype:className=wrap-text-->
|
||||
</span></code></pre>
|
||||
<!--rehype:className=wrap-text-->
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="中文乱码的解决方案"><a aria-hidden="true" tabindex="-1" href="#中文乱码的解决方案"><span class="icon icon-link"></span></a>中文乱码的解决方案</h3><div class="wrap-body">
|
||||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line line-number" line="1">$ <span class="token function">git</span> config <span class="token parameter variable">--global</span> core.quotepath <span class="token boolean">false</span>
|
||||
</span></code></pre>
|
||||
@ -331,6 +336,5 @@
|
||||
</span><span class="code-line line-number" line="3"><span class="token comment"># 将 A 分支 <hash-id> 的内容 pick 到 B 分支</span>
|
||||
</span><span class="code-line line-number" line="4">$ <span class="token function">git</span> cherry-pick <span class="token operator"><</span>hash-id<span class="token operator">></span>
|
||||
</span></code></pre>
|
||||
|
||||
</div></div></div></div></div></div></div><footer class="footer-wrap"><footer class="max-container">© 2022 Kenny Wang, All rights reserved.</footer></footer></body>
|
||||
</html>
|
||||
|
5441
docs/html-char.html
5441
docs/html-char.html
File diff suppressed because one or more lines are too long
@ -39,222 +39,224 @@
|
||||
</div></header><div class="h1wrap-body"><div class="wrap"><div class="wrap-header h2wrap"><h2 id="http-状态码"><a aria-hidden="true" tabindex="-1" href="#http-状态码"><span class="icon icon-link"></span></a>HTTP 状态码</h2><div class="wrap-body">
|
||||
</div></div><div class="h2wrap-body"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="means"><a aria-hidden="true" tabindex="-1" href="#means"><span class="icon icon-link"></span></a>Means</h3><div class="wrap-body">
|
||||
<ul>
|
||||
<li><a href="#1xx-information" class="tooltip">1xx: Informational<em class="tooltiptext">这意味着已收到请求并且该过程正在继续。</em></a></li>
|
||||
<li><a href="#2xx-successful" class="tooltip">2xx: Success<em class="tooltiptext">这意味着该操作已成功接收、理解和接受。</em></a></li>
|
||||
<li><a href="#3xx-redirection" class="tooltip">3xx: Redirection<em class="tooltiptext">这意味着必须采取进一步行动才能完成请求。</em></a></li>
|
||||
<li><a href="#4xx-client-error" class="tooltip">4xx: Client Error<em class="tooltiptext">这意味着请求包含不正确的语法或无法完成。</em></a></li>
|
||||
<li><a href="#5xx-server-error" class="tooltip">5xx: Server Error<em class="tooltiptext">这意味着服务器未能满足明显有效的请求。</em></a></li>
|
||||
<li><a href="#1xx-information" class="tooltip">1xx: Informational<em class="tooltiptext">这意味着已收到请求并且该过程正在继续。</em></a></li>
|
||||
<li><a href="#2xx-successful" class="tooltip">2xx: Success<em class="tooltiptext">这意味着该操作已成功接收、理解和接受。</em></a></li>
|
||||
<li><a href="#3xx-redirection" class="tooltip">3xx: Redirection<em class="tooltiptext">这意味着必须采取进一步行动才能完成请求。</em></a></li>
|
||||
<li><a href="#4xx-client-error" class="tooltip">4xx: Client Error<em class="tooltiptext">这意味着请求包含不正确的语法或无法完成。</em></a></li>
|
||||
<li><a href="#5xx-server-error" class="tooltip">5xx: Server Error<em class="tooltiptext">这意味着服务器未能满足明显有效的请求。</em></a></li>
|
||||
</ul>
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="2xx-成功的"><a aria-hidden="true" tabindex="-1" href="#2xx-成功的"><span class="icon icon-link"></span></a>2xx. 成功的</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-2-->
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="2xx-成功的"><a aria-hidden="true" tabindex="-1" href="#2xx-成功的"><span class="icon icon-link"></span></a>2xx. 成功的</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
<ul>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1" class="tooltip">200: OK<em class="tooltiptext">请求没问题。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.3.2" class="tooltip">201: Created<em class="tooltiptext">请求完成,并创建了一个新资源。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.3.3" class="tooltip">202: Accepted<em class="tooltiptext">接受请求进行处理,但处理未完成。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.3.4" class="tooltip">203: Non-Authoritative Information<em class="tooltiptext">实体标头中的信息来自本地或第三方副本,而不是来自原始服务器。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.3.5" class="tooltip">204: No Content<em class="tooltiptext">响应中给出了状态码和标头,但响应中没有实体主体。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.3.6" class="tooltip">205: Reset Content<em class="tooltiptext">浏览器应清除用于此事务的表单以获取其他输入。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7233#section-4.1" class="tooltip">206: Partial Content<em class="tooltiptext">服务器正在返回请求大小的部分数据。 用于响应指定 Range 标头的请求。 服务器必须使用 Content-Range 标头指定响应中包含的范围。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1" class="tooltip">200: OK<em class="tooltiptext">请求没问题。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.3.2" class="tooltip">201: Created<em class="tooltiptext">请求完成,并创建了一个新资源。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.3.3" class="tooltip">202: Accepted<em class="tooltiptext">接受请求进行处理,但处理未完成。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.3.4" class="tooltip">203: Non-Authoritative Information<em class="tooltiptext">实体标头中的信息来自本地或第三方副本,而不是来自原始服务器。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.3.5" class="tooltip">204: No Content<em class="tooltiptext">响应中给出了状态码和标头,但响应中没有实体主体。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.3.6" class="tooltip">205: Reset Content<em class="tooltiptext">浏览器应清除用于此事务的表单以获取其他输入。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7233#section-4.1" class="tooltip">206: Partial Content<em class="tooltiptext">服务器正在返回请求大小的部分数据。 用于响应指定 Range 标头的请求。 服务器必须使用 Content-Range 标头指定响应中包含的范围。</em></a></li>
|
||||
</ul>
|
||||
</div></div></div><div class="wrap row-span-3"><div class="wrap-header h3wrap"><h3 id="4xx-客户端错误"><a aria-hidden="true" tabindex="-1" href="#4xx-客户端错误"><span class="icon icon-link"></span></a>4xx. 客户端错误</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-3-->
|
||||
</div></div></div><div class="wrap row-span-3"><div class="wrap-header h3wrap"><h3 id="4xx-客户端错误"><a aria-hidden="true" tabindex="-1" href="#4xx-客户端错误"><span class="icon icon-link"></span></a>4xx. 客户端错误</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-3-->
|
||||
<ul>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.5.1" class="tooltip">400: Bad Request<em class="tooltiptext">服务器不理解该请求。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7235#section-3.1" class="tooltip">401: Unauthorized<em class="tooltiptext">请求的页面需要用户名和密码。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.5.2" class="tooltip">402: Payment Required<em class="tooltiptext">您还不能使用此代码。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.5.3" class="tooltip">403: Forbidden<em class="tooltiptext">禁止访问请求的页面。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.5.4" class="tooltip">404: Not Found<em class="tooltiptext">服务器找不到请求的页面。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.5.5" class="tooltip">405: Method Not Allowed<em class="tooltiptext">请求中指定的方法是不允许的。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.5.6" class="tooltip">406: Not Acceptable<em class="tooltiptext">服务器只能生成客户端不接受的响应。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7235#section-3.2" class="tooltip">407: Proxy Authentication Required<em class="tooltiptext">您必须先通过代理服务器进行身份验证,然后才能提供此请求。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.5.7" class="tooltip">408: Request Timeout<em class="tooltiptext">请求花费的时间比服务器准备等待的时间长。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.5.8" class="tooltip">409: Conflict<em class="tooltiptext">由于冲突,请求无法完成。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.5.9" class="tooltip">410: Gone<em class="tooltiptext">请求的页面不再可用。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.5.10" class="tooltip">411: Length Required<em class="tooltiptext">“Content-Length”未定义。 没有它,服务器将不会接受请求。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7232#section-4.2" class="tooltip">412: Precondition Failed<em class="tooltiptext">请求中给出的前提条件被服务器评估为 false。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.5.11" class="tooltip">413: Payload Too Large<em class="tooltiptext">服务器不会接受请求,因为请求实体太大。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.5.12" class="tooltip">414: URI Too Long<em class="tooltiptext">服务器不会接受请求,因为 url 太长。 当您将“发布”请求转换为具有长查询信息的“获取”请求时发生。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.5.13" class="tooltip">415: Unsupported Media Type<em class="tooltiptext">服务器不会接受请求,因为不支持媒体类型。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7233#section-4.4" class="tooltip">416: Range Not Satisfiable<em class="tooltiptext">请求的字节范围不可用且超出范围。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.5.14" class="tooltip">417: Expectation Failed<em class="tooltiptext">此服务器无法满足在 Expect 请求标头字段中给出的期望。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.5.15" class="tooltip">426: Upgrade Required<em class="tooltiptext">服务器拒绝使用当前协议执行请求,但在客户端升级到不同协议后可能愿意这样做。</em></a></li>
|
||||
<li><a href="https://datatracker.ietf.org/doc/html/rfc7725#section-3" class="tooltip">451: Unavailable For Legal Reasons<em class="tooltiptext">此状态代码表示服务器拒绝访问资源作为法律要求的结果。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.5.1" class="tooltip">400: Bad Request<em class="tooltiptext">服务器不理解该请求。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7235#section-3.1" class="tooltip">401: Unauthorized<em class="tooltiptext">请求的页面需要用户名和密码。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.5.2" class="tooltip">402: Payment Required<em class="tooltiptext">您还不能使用此代码。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.5.3" class="tooltip">403: Forbidden<em class="tooltiptext">禁止访问请求的页面。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.5.4" class="tooltip">404: Not Found<em class="tooltiptext">服务器找不到请求的页面。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.5.5" class="tooltip">405: Method Not Allowed<em class="tooltiptext">请求中指定的方法是不允许的。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.5.6" class="tooltip">406: Not Acceptable<em class="tooltiptext">服务器只能生成客户端不接受的响应。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7235#section-3.2" class="tooltip">407: Proxy Authentication Required<em class="tooltiptext">您必须先通过代理服务器进行身份验证,然后才能提供此请求。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.5.7" class="tooltip">408: Request Timeout<em class="tooltiptext">请求花费的时间比服务器准备等待的时间长。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.5.8" class="tooltip">409: Conflict<em class="tooltiptext">由于冲突,请求无法完成。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.5.9" class="tooltip">410: Gone<em class="tooltiptext">请求的页面不再可用。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.5.10" class="tooltip">411: Length Required<em class="tooltiptext">“Content-Length”未定义。 没有它,服务器将不会接受请求。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7232#section-4.2" class="tooltip">412: Precondition Failed<em class="tooltiptext">请求中给出的前提条件被服务器评估为 false。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.5.11" class="tooltip">413: Payload Too Large<em class="tooltiptext">服务器不会接受请求,因为请求实体太大。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.5.12" class="tooltip">414: URI Too Long<em class="tooltiptext">服务器不会接受请求,因为 url 太长。 当您将“发布”请求转换为具有长查询信息的“获取”请求时发生。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.5.13" class="tooltip">415: Unsupported Media Type<em class="tooltiptext">服务器不会接受请求,因为不支持媒体类型。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7233#section-4.4" class="tooltip">416: Range Not Satisfiable<em class="tooltiptext">请求的字节范围不可用且超出范围。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.5.14" class="tooltip">417: Expectation Failed<em class="tooltiptext">此服务器无法满足在 Expect 请求标头字段中给出的期望。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.5.15" class="tooltip">426: Upgrade Required<em class="tooltiptext">服务器拒绝使用当前协议执行请求,但在客户端升级到不同协议后可能愿意这样做。</em></a></li>
|
||||
<li><a href="https://datatracker.ietf.org/doc/html/rfc7725#section-3" class="tooltip">451: Unavailable For Legal Reasons<em class="tooltiptext">此状态代码表示服务器拒绝访问资源作为法律要求的结果。</em></a></li>
|
||||
</ul>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="1xx-信息"><a aria-hidden="true" tabindex="-1" href="#1xx-信息"><span class="icon icon-link"></span></a>1xx. 信息</h3><div class="wrap-body">
|
||||
<ul>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.2.1" class="tooltip">100: Continue<em class="tooltiptext">服务器只收到了请求的一部分,但只要没有被拒绝,客户端就应该继续请求。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.2.2" class="tooltip">101: Switching Protocols<em class="tooltiptext">服务器切换协议。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc2518#section-10.1" class="tooltip">102: Processing<em class="tooltiptext">用于通知客户端服务器已接受完整请求但尚未完成的临时响应。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.2.1" class="tooltip">100: Continue<em class="tooltiptext">服务器只收到了请求的一部分,但只要没有被拒绝,客户端就应该继续请求。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.2.2" class="tooltip">101: Switching Protocols<em class="tooltiptext">服务器切换协议。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc2518#section-10.1" class="tooltip">102: Processing<em class="tooltiptext">用于通知客户端服务器已接受完整请求但尚未完成的临时响应。</em></a></li>
|
||||
</ul>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="3xx-重定向"><a aria-hidden="true" tabindex="-1" href="#3xx-重定向"><span class="icon icon-link"></span></a>3xx. 重定向</h3><div class="wrap-body">
|
||||
<ul>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.4.1" class="tooltip">300: Multiple Choices<em class="tooltiptext">一个链接列表。 用户可以选择一个链接并转到该位置。 最多五个地址。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.4.2" class="tooltip">301: Moved Permanently<em class="tooltiptext">请求的页面已移至新的 url 。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.4.3" class="tooltip">302: Found<em class="tooltiptext">请求的页面已临时移动到新的 url 。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.4.4" class="tooltip">303: See Other<em class="tooltiptext">请求的页面可以在不同的 url 下找到。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7232#section-4.1" class="tooltip">304: Not Modified<em class="tooltiptext">这是对 If-Modified-Since 或 If-None-Match 标头的响应代码,其中 URL 自指定日期以来未修改。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.4.5" class="tooltip">305: Use Proxy<em class="tooltiptext">请求的 URL 必须通过 Location 标头中提到的代理访问。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.4.6" class="tooltip">306: Unused<em class="tooltiptext">此代码在以前的版本中使用过。 它不再使用,但代码被保留。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.4.7" class="tooltip">307: Temporary Redirect<em class="tooltiptext">请求的页面已临时移动到新的 url。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.4.1" class="tooltip">300: Multiple Choices<em class="tooltiptext">一个链接列表。 用户可以选择一个链接并转到该位置。 最多五个地址。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.4.2" class="tooltip">301: Moved Permanently<em class="tooltiptext">请求的页面已移至新的 url 。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.4.3" class="tooltip">302: Found<em class="tooltiptext">请求的页面已临时移动到新的 url 。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.4.4" class="tooltip">303: See Other<em class="tooltiptext">请求的页面可以在不同的 url 下找到。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7232#section-4.1" class="tooltip">304: Not Modified<em class="tooltiptext">这是对 If-Modified-Since 或 If-None-Match 标头的响应代码,其中 URL 自指定日期以来未修改。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.4.5" class="tooltip">305: Use Proxy<em class="tooltiptext">请求的 URL 必须通过 Location 标头中提到的代理访问。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.4.6" class="tooltip">306: Unused<em class="tooltiptext">此代码在以前的版本中使用过。 它不再使用,但代码被保留。</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.4.7" class="tooltip">307: Temporary Redirect<em class="tooltiptext">请求的页面已临时移动到新的 url。</em></a></li>
|
||||
</ul>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="5xx-服务器错误"><a aria-hidden="true" tabindex="-1" href="#5xx-服务器错误"><span class="icon icon-link"></span></a>5xx. 服务器错误</h3><div class="wrap-body">
|
||||
<ul>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.6.1" class="tooltip">500: Internal Server Error<em class="tooltiptext">请求未完成。 服务器遇到了意外情况</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.6.2" class="tooltip">501: Not Implemented<em class="tooltiptext">请求未完成。 服务器不支持所需的功能</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.6.3" class="tooltip">502: Bad Gateway<em class="tooltiptext">请求未完成。 服务器收到来自上游服务器的无效响应</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.6.4" class="tooltip">503: Service Unavailable<em class="tooltiptext">请求未完成。 服务器暂时超载或停机</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.6.5" class="tooltip">504: Gateway Timeout<em class="tooltiptext">网关已超时</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.6.6" class="tooltip">505: HTTP Version Not Supported<em class="tooltiptext">服务器不支持“http 协议”版本</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.6.1" class="tooltip">500: Internal Server Error<em class="tooltiptext">请求未完成。 服务器遇到了意外情况</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.6.2" class="tooltip">501: Not Implemented<em class="tooltiptext">请求未完成。 服务器不支持所需的功能</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.6.3" class="tooltip">502: Bad Gateway<em class="tooltiptext">请求未完成。 服务器收到来自上游服务器的无效响应</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.6.4" class="tooltip">503: Service Unavailable<em class="tooltiptext">请求未完成。 服务器暂时超载或停机</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.6.5" class="tooltip">504: Gateway Timeout<em class="tooltiptext">网关已超时</em></a></li>
|
||||
<li><a href="https://tools.ietf.org/html/rfc7231#section-6.6.6" class="tooltip">505: HTTP Version Not Supported<em class="tooltiptext">服务器不支持“http 协议”版本</em></a></li>
|
||||
</ul>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="restful-api"><a aria-hidden="true" tabindex="-1" href="#restful-api"><span class="icon icon-link"></span></a>RESTful API</h3><div class="wrap-body">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>:-</th>
|
||||
<th>-</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>200</code></td>
|
||||
<td>返回成功,GET,DELETE 请求成功。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>204</code></td>
|
||||
<td>无内容,POST 请求成功。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>301</code></td>
|
||||
<td>永久重定向。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>302/307</code></td>
|
||||
<td>临时重定向。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>304</code></td>
|
||||
<td>未修改,自上次请求以来。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>331</code></td>
|
||||
<td>用户名正确,需要密码。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>332</code></td>
|
||||
<td>需要登录帐户。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>400</code></td>
|
||||
<td>错误请求,缺少 API 请求的必需属性。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>401</code></td>
|
||||
<td>未授权,无效凭据进行身份验证将。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>403</code></td>
|
||||
<td>禁地,该请求不被允许。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>404</code></td>
|
||||
<td>未找到,无法访问资源</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>405</code></td>
|
||||
<td>方法不允许,不支持该请求。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>409</code></td>
|
||||
<td>冲突,冲突资源已存在。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>412</code></td>
|
||||
<td>该请求被拒绝。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>422</code></td>
|
||||
<td>无法处理,无法处理该实体。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>429</code></td>
|
||||
<td>请求过多,用户超出了应用速率限制。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>500</code></td>
|
||||
<td>服务器错误,在处理请求时,服务器出现问题。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>530</code></td>
|
||||
<td>未登录。</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="5xx-永久性否定"><a aria-hidden="true" tabindex="-1" href="#5xx-永久性否定"><span class="icon icon-link"></span></a>5xx 永久性否定</h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2-->
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>:-</th>
|
||||
<th>-</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>500</code></td>
|
||||
<td>语法错误,命令无法识别。这可能包括诸如命令行太长之类的错误。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>501</code></td>
|
||||
<td>在参数中有语法错误。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>502</code></td>
|
||||
<td>未执行命令。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>503</code></td>
|
||||
<td>错误的命令序列。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>504</code></td>
|
||||
<td>未执行该参数的命令。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>530</code></td>
|
||||
<td>未登录。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>532</code></td>
|
||||
<td>存储文件需要帐户。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>550</code></td>
|
||||
<td>未执行请求的操作。文件不可用(例如,未找到文件,没有访问权限)。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>551</code></td>
|
||||
<td>请求的操作异常终止:未知的页面类型。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>552</code></td>
|
||||
<td>请求的文件操作异常终止:超出存储分配(对于当前目录或数据集)。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>553</code></td>
|
||||
<td>未执行请求的操作。不允许的文件名。</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th>:-</th><th>-</th></tr></thead><tbody><tr><td><code>200</code></td><td>返回成功,GET,DELETE 请求成功。</td></tr><tr><td><code>204</code></td><td>无内容,POST 请求成功。</td></tr><tr><td><code>301</code></td><td>永久重定向。</td></tr><tr><td><code>302/307</code></td><td>临时重定向。</td></tr><tr><td><code>304</code></td><td>未修改,自上次请求以来。</td></tr><tr><td><code>331</code></td><td>用户名正确,需要密码。</td></tr><tr><td><code>332</code></td><td>需要登录帐户。</td></tr><tr><td><code>400</code></td><td>错误请求,缺少 API 请求的必需属性。</td></tr><tr><td><code>401</code></td><td>未授权,无效凭据进行身份验证将。</td></tr><tr><td><code>403</code></td><td>禁地,该请求不被允许。</td></tr><tr><td><code>404</code></td><td>未找到,无法访问资源</td></tr><tr><td><code>405</code></td><td>方法不允许,不支持该请求。</td></tr><tr><td><code>409</code></td><td>冲突,冲突资源已存在。</td></tr><tr><td><code>412</code></td><td>该请求被拒绝。</td></tr><tr><td><code>422</code></td><td>无法处理,无法处理该实体。</td></tr><tr><td><code>429</code></td><td>请求过多,用户超出了应用速率限制。</td></tr><tr><td><code>500</code></td><td>服务器错误,在处理请求时,服务器出现问题。</td></tr><tr><td><code>530</code></td><td>未登录。</td></tr></tbody></table>
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="5xx-永久性否定"><a aria-hidden="true" tabindex="-1" href="#5xx-永久性否定"><span class="icon icon-link"></span></a>5xx 永久性否定</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th>:-</th><th>-</th></tr></thead><tbody><tr><td><code>500</code></td><td>语法错误,命令无法识别。这可能包括诸如命令行太长之类的错误。</td></tr><tr><td><code>501</code></td><td>在参数中有语法错误。</td></tr><tr><td><code>502</code></td><td>未执行命令。</td></tr><tr><td><code>503</code></td><td>错误的命令序列。</td></tr><tr><td><code>504</code></td><td>未执行该参数的命令。</td></tr><tr><td><code>530</code></td><td>未登录。</td></tr><tr><td><code>532</code></td><td>存储文件需要帐户。</td></tr><tr><td><code>550</code></td><td>未执行请求的操作。文件不可用(例如,未找到文件,没有访问权限)。</td></tr><tr><td><code>551</code></td><td>请求的操作异常终止:未知的页面类型。</td></tr><tr><td><code>552</code></td><td>请求的文件操作异常终止:超出存储分配(对于当前目录或数据集)。</td></tr><tr><td><code>553</code></td><td>未执行请求的操作。不允许的文件名。</td></tr></tbody></table>
|
||||
<p>永久性否定的完成答复,该命令不成功,错误是永久性的。如果客户端重试命令,将再次出现同样的错误。</p>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="另见"><a aria-hidden="true" tabindex="-1" href="#另见"><span class="icon icon-link"></span></a>另见</h2><div class="wrap-body">
|
||||
<ul>
|
||||
<li><a href="https://jaywcjlove.github.io/handbook/other/HTTP-status-codes.html">常见 HTTP/FTP/WebSocket 错误代码大全</a> <em>(github.io)</em></li>
|
||||
<li><a href="https://en.wikipedia.org/wiki/List_of_HTTP_status_codes">HTTP 状态码列表</a> <em>(wikipedia.org)</em></li>
|
||||
<li><a href="https://en.wikipedia.org/wiki/List_of_FTP_server_return_codes">FTP 状态码列表</a> <em>(wikipedia.org)</em></li>
|
||||
<li><a href="https://developer.mozilla.org/zh-CN/docs/Web/API/CloseEvent">MDN CloseEvent</a> <em>(mozilla.org)</em></li>
|
||||
<li><a href="https://en.wikipedia.org/wiki/HTTP_404#Custom_error_pages">HTTP 404</a> <em>(wikipedia.org)</em></li>
|
||||
<li><a href="https://en.wikipedia.org/wiki/List_of_FTP_server_return_codes">List of FTP server return codes</a> <em>(wikipedia.org)</em></li>
|
||||
<li><a href="https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Overview">HTTP概述</a> <em>(mozilla.org)</em></li>
|
||||
<li><a href="http://www.getnetgoing.com/HTTP-403.html">Help for HTTP error 403: “Forbidden”</a> <em>(getnetgoing.com)</em></li>
|
||||
<li><a href="https://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api">实用的 RESTful API 最佳实践</a> <em>(vinaysahni.com)</em></li>
|
||||
<li><a href="https://jaywcjlove.github.io/handbook/other/HTTP-status-codes.html">常见 HTTP/FTP/WebSocket 错误代码大全</a> <em>(github.io)</em></li>
|
||||
<li><a href="https://en.wikipedia.org/wiki/List_of_HTTP_status_codes">HTTP 状态码列表</a> <em>(wikipedia.org)</em></li>
|
||||
<li><a href="https://en.wikipedia.org/wiki/List_of_FTP_server_return_codes">FTP 状态码列表</a> <em>(wikipedia.org)</em></li>
|
||||
<li><a href="https://developer.mozilla.org/zh-CN/docs/Web/API/CloseEvent">MDN CloseEvent</a> <em>(mozilla.org)</em></li>
|
||||
<li><a href="https://en.wikipedia.org/wiki/HTTP_404#Custom_error_pages">HTTP 404</a> <em>(wikipedia.org)</em></li>
|
||||
<li><a href="https://en.wikipedia.org/wiki/List_of_FTP_server_return_codes">List of FTP server return codes</a> <em>(wikipedia.org)</em></li>
|
||||
<li><a href="https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Overview">HTTP概述</a> <em>(mozilla.org)</em></li>
|
||||
<li><a href="http://www.getnetgoing.com/HTTP-403.html">Help for HTTP error 403: “Forbidden”</a> <em>(getnetgoing.com)</em></li>
|
||||
<li><a href="https://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api">实用的 RESTful API 最佳实践</a> <em>(vinaysahni.com)</em></li>
|
||||
</ul>
|
||||
|
||||
</div></div></div></div></div><footer class="footer-wrap"><footer class="max-container">© 2022 Kenny Wang, All rights reserved.</footer></footer></body>
|
||||
</html>
|
||||
|
@ -40,9 +40,9 @@
|
||||
</div></div><div class="h2wrap-body"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="介绍"><a aria-hidden="true" tabindex="-1" href="#介绍"><span class="icon icon-link"></span></a>介绍</h3><div class="wrap-body">
|
||||
<p>JavaScript 是一种轻量级的解释型编程语言。</p>
|
||||
<ul>
|
||||
<li><a href="json.html">JSON 备忘清单</a></li>
|
||||
<li><a href="/regex#regex-in-javascript">JavaScript 中的正则表达式</a></li>
|
||||
<li><a href="./typescript.html">TypeScript 备忘清单</a></li>
|
||||
<li><a href="json.html">JSON 备忘清单</a></li>
|
||||
<li><a href="/regex#regex-in-javascript">JavaScript 中的正则表达式</a></li>
|
||||
<li><a href="./typescript.html">TypeScript 备忘清单</a></li>
|
||||
</ul>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="打印调试"><a aria-hidden="true" tabindex="-1" href="#打印调试"><span class="icon icon-link"></span></a>打印调试</h3><div class="wrap-body">
|
||||
<pre class="language-javascript"><code class="language-javascript code-highlight"><span class="code-line line-number" line="1"><span class="token comment">// => Hello world!</span>
|
||||
@ -121,7 +121,8 @@
|
||||
</span><span class="code-line line-number" line="4"><span class="token comment">// 字符串插值</span>
|
||||
</span><span class="code-line line-number" line="5"><span class="token template-string"><span class="token template-punctuation string">`</span><span class="token string">Tommy is </span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>age<span class="token interpolation-punctuation punctuation">}</span></span><span class="token string"> years old.</span><span class="token template-punctuation string">`</span></span><span class="token punctuation">;</span>
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="字符串-1"><a aria-hidden="true" tabindex="-1" href="#字符串-1"><span class="icon icon-link"></span></a>字符串</h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2-->
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="字符串-1"><a aria-hidden="true" tabindex="-1" href="#字符串-1"><span class="icon icon-link"></span></a>字符串</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
<pre class="language-js"><code class="language-js code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">var</span> abc <span class="token operator">=</span> <span class="token string">"abcdefghijklmnopqrstuvwxyz"</span><span class="token punctuation">;</span>
|
||||
</span><span class="code-line line-number" line="2"><span class="token keyword">var</span> esc <span class="token operator">=</span> <span class="token string">'I don\'t \n know'</span><span class="token punctuation">;</span> <span class="token comment">// \n 换行</span>
|
||||
</span><span class="code-line line-number" line="3"><span class="token keyword">var</span> len <span class="token operator">=</span> abc<span class="token punctuation">.</span><span class="token property-access">length</span><span class="token punctuation">;</span> <span class="token comment">// 字符串长度</span>
|
||||
@ -143,7 +144,8 @@
|
||||
</span><span class="code-line line-number" line="19"><span class="token comment">// 数字转为十六进制 (16)、八进制 (8) 或二进制 (2)</span>
|
||||
</span><span class="code-line line-number" line="20"><span class="token number">128.</span><span class="token method function property-access">toString</span><span class="token punctuation">(</span><span class="token number">16</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="数字-1"><a aria-hidden="true" tabindex="-1" href="#数字-1"><span class="icon icon-link"></span></a>数字</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-2-->
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="数字-1"><a aria-hidden="true" tabindex="-1" href="#数字-1"><span class="icon icon-link"></span></a>数字</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
<pre class="language-js"><code class="language-js code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">var</span> pi <span class="token operator">=</span> <span class="token number">3.141</span><span class="token punctuation">;</span>
|
||||
</span><span class="code-line line-number" line="2">pi<span class="token punctuation">.</span><span class="token method function property-access">toFixed</span><span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 返回 3 </span>
|
||||
</span><span class="code-line line-number" line="3">pi<span class="token punctuation">.</span><span class="token method function property-access">toFixed</span><span class="token punctuation">(</span><span class="token number">2</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 返回 3.14 - 使用金钱</span>
|
||||
@ -192,7 +194,8 @@
|
||||
</span><span class="code-line line-number" line="24"><span class="token comment">// 随机整数,从 1</span>
|
||||
</span><span class="code-line line-number" line="25">Math<span class="token punctuation">.</span><span class="token function">floor</span><span class="token punctuation">(</span>Math<span class="token punctuation">.</span><span class="token function">random</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">*</span> <span class="token number">5</span><span class="token punctuation">)</span> <span class="token operator">+</span> <span class="token number">1</span><span class="token punctuation">;</span>
|
||||
</span></code></pre>
|
||||
</div></div></div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="全局函数"><a aria-hidden="true" tabindex="-1" href="#全局函数"><span class="icon icon-link"></span></a>全局函数</h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2-->
|
||||
</div></div></div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="全局函数"><a aria-hidden="true" tabindex="-1" href="#全局函数"><span class="icon icon-link"></span></a>全局函数</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
<pre class="language-js"><code class="language-js code-highlight"><span class="code-line line-number" line="1"><span class="token comment">// 像脚本代码一样执行字符串</span>
|
||||
</span><span class="code-line line-number" line="2"><span class="token function">eval</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
|
||||
</span><span class="code-line line-number" line="3"><span class="token comment">// 从数字返回字符串</span>
|
||||
@ -219,7 +222,8 @@
|
||||
</span><span class="code-line line-number" line="24"><span class="token function">parseInt</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
|
||||
</span></code></pre>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="javascript-条件"><a aria-hidden="true" tabindex="-1" href="#javascript-条件"><span class="icon icon-link"></span></a>JavaScript 条件</h2><div class="wrap-body">
|
||||
</div></div><div class="h2wrap-body"><div class="wrap row-span-3"><div class="wrap-header h3wrap"><h3 id="操作符"><a aria-hidden="true" tabindex="-1" href="#操作符"><span class="icon icon-link"></span></a>操作符</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-3-->
|
||||
</div></div><div class="h2wrap-body"><div class="wrap row-span-3"><div class="wrap-header h3wrap"><h3 id="操作符"><a aria-hidden="true" tabindex="-1" href="#操作符"><span class="icon icon-link"></span></a>操作符</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-3-->
|
||||
<pre class="language-javascript"><code class="language-javascript code-highlight"><span class="code-line line-number" line="1"><span class="token boolean">true</span> <span class="token operator">||</span> <span class="token boolean">false</span><span class="token punctuation">;</span> <span class="token comment">// true</span>
|
||||
</span><span class="code-line line-number" line="2"><span class="token number">10</span> <span class="token operator">></span> <span class="token number">5</span> <span class="token operator">||</span> <span class="token number">10</span> <span class="token operator">></span> <span class="token number">20</span><span class="token punctuation">;</span> <span class="token comment">// true</span>
|
||||
</span><span class="code-line line-number" line="3"><span class="token boolean">false</span> <span class="token operator">||</span> <span class="token boolean">false</span><span class="token punctuation">;</span> <span class="token comment">// false</span>
|
||||
@ -329,7 +333,8 @@
|
||||
</span><span class="code-line line-number" line="7"> <span class="token keyword control-flow">return</span> <span class="token string">'BOOM!'</span><span class="token punctuation">;</span>
|
||||
</span><span class="code-line line-number" line="8"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="箭头函数-es6"><a aria-hidden="true" tabindex="-1" href="#箭头函数-es6"><span class="icon icon-link"></span></a>箭头函数 (ES6)</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-2-->
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="箭头函数-es6"><a aria-hidden="true" tabindex="-1" href="#箭头函数-es6"><span class="icon icon-link"></span></a>箭头函数 (ES6)</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
</div></div><div class="h3wrap-body"><div class="wrap"><div class="wrap-header h4wrap"><h4 id="有两个参数"><a aria-hidden="true" tabindex="-1" href="#有两个参数"><span class="icon icon-link"></span></a>有两个参数</h4><div class="wrap-body">
|
||||
<pre class="language-javascript"><code class="language-javascript code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">const</span> <span class="token function-variable function">sum</span> <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token parameter">param1<span class="token punctuation">,</span> param2</span><span class="token punctuation">)</span> <span class="token arrow operator">=></span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token keyword control-flow">return</span> param1 <span class="token operator">+</span> param2<span class="token punctuation">;</span>
|
||||
@ -389,7 +394,8 @@
|
||||
</span><span class="code-line line-number" line="3"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="javascript-范围"><a aria-hidden="true" tabindex="-1" href="#javascript-范围"><span class="icon icon-link"></span></a>JavaScript 范围</h2><div class="wrap-body">
|
||||
</div></div><div class="h2wrap-body"><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="范围"><a aria-hidden="true" tabindex="-1" href="#范围"><span class="icon icon-link"></span></a>范围</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-2-->
|
||||
</div></div><div class="h2wrap-body"><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="范围"><a aria-hidden="true" tabindex="-1" href="#范围"><span class="icon icon-link"></span></a>范围</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
<pre class="language-javascript"><code class="language-javascript code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">function</span> <span class="token function">myFunction</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token keyword">var</span> pizzaName <span class="token operator">=</span> <span class="token string">"Margarita"</span><span class="token punctuation">;</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token comment">// 这里的代码可以使用 PizzaName</span>
|
||||
@ -475,47 +481,48 @@
|
||||
</span><span class="code-line line-number" line="4"><span class="token console class-name">console</span><span class="token punctuation">.</span><span class="token method function property-access">log</span><span class="token punctuation">(</span>myArray<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 200</span>
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="可变图表"><a aria-hidden="true" tabindex="-1" href="#可变图表"><span class="icon icon-link"></span></a>可变图表</h3><div class="wrap-body">
|
||||
<table class="show-header">
|
||||
<thead>
|
||||
<tr>
|
||||
<th align="left"></th>
|
||||
<th align="center">添加</th>
|
||||
<th align="center">删除</th>
|
||||
<th align="center">开始</th>
|
||||
<th align="center">结束</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="left"><code>push</code></td>
|
||||
<td align="center">✅</td>
|
||||
<td align="center"></td>
|
||||
<td align="center"></td>
|
||||
<td align="center">✅</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><code>pop</code></td>
|
||||
<td align="center"></td>
|
||||
<td align="center">✅</td>
|
||||
<td align="center"></td>
|
||||
<td align="center">✅</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><code>unshift</code></td>
|
||||
<td align="center">✅</td>
|
||||
<td align="center"></td>
|
||||
<td align="center">✅</td>
|
||||
<td align="center"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><code>shift</code></td>
|
||||
<td align="center"></td>
|
||||
<td align="center">✅</td>
|
||||
<td align="center">✅</td>
|
||||
<td align="center"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table><!--rehype:className=show-header-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table class="show-header"><thead><tr><th align="left"></th><th align="center">添加</th><th align="center">删除</th><th align="center">开始</th><th align="center">结束</th></tr></thead><tbody><tr><td align="left"><code>push</code></td><td align="center">✅</td><td align="center"></td><td align="center"></td><td align="center">✅</td></tr><tr><td align="left"><code>pop</code></td><td align="center"></td><td align="center">✅</td><td align="center"></td><td align="center">✅</td></tr><tr><td align="left"><code>unshift</code></td><td align="center">✅</td><td align="center"></td><td align="center">✅</td><td align="center"></td></tr><tr><td align="left"><code>shift</code></td><td align="center"></td><td align="center">✅</td><td align="center">✅</td><td align="center"></td></tr></tbody></table>
|
||||
<!--rehype:className=show-header-->
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="方法-push"><a aria-hidden="true" tabindex="-1" href="#方法-push"><span class="icon icon-link"></span></a>方法 .push()</h3><div class="wrap-body">
|
||||
<pre class="language-javascript"><code class="language-javascript code-highlight"><span class="code-line line-number" line="1"><span class="token comment">// 添加单个元素:</span>
|
||||
</span><span class="code-line line-number" line="2"><span class="token keyword">const</span> cart <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token string">'apple'</span><span class="token punctuation">,</span> <span class="token string">'orange'</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
|
||||
@ -629,7 +636,8 @@
|
||||
</span><span class="code-line line-number" line="6"><span class="token comment">// => 1</span>
|
||||
</span><span class="code-line line-number" line="7"><span class="token comment">// => 2</span>
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="label-语句"><a aria-hidden="true" tabindex="-1" href="#label-语句"><span class="icon icon-link"></span></a>label 语句</h3><div class="wrap-body"><!--rehype:wrap-class= row-span-2-->
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="label-语句"><a aria-hidden="true" tabindex="-1" href="#label-语句"><span class="icon icon-link"></span></a>label 语句</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class= row-span-2-->
|
||||
<pre class="language-js"><code class="language-js code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">var</span> num <span class="token operator">=</span> <span class="token number">0</span><span class="token punctuation">;</span>
|
||||
</span><span class="code-line line-number" line="2">
|
||||
</span><span class="code-line line-number" line="3"><span class="token literal-property property">outPoint</span><span class="token operator">:</span>
|
||||
@ -654,7 +662,8 @@
|
||||
</span><span class="code-line line-number" line="6"><span class="token comment">// => orange</span>
|
||||
</span><span class="code-line line-number" line="7"><span class="token comment">// => banana</span>
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="for-awaitof"><a aria-hidden="true" tabindex="-1" href="#for-awaitof"><span class="icon icon-link"></span></a>for await...of</h3><div class="wrap-body"><!--rehype:wrap-class= row-span-2-->
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="for-awaitof"><a aria-hidden="true" tabindex="-1" href="#for-awaitof"><span class="icon icon-link"></span></a>for await...of</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class= row-span-2-->
|
||||
<pre class="language-javascript"><code class="language-javascript code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">async</span> <span class="token keyword">function</span><span class="token operator">*</span> <span class="token function">asyncGenerator</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token keyword">var</span> i <span class="token operator">=</span> <span class="token number">0</span><span class="token punctuation">;</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token keyword control-flow">while</span> <span class="token punctuation">(</span>i <span class="token operator"><</span> <span class="token number">3</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
|
||||
@ -681,7 +690,8 @@
|
||||
</span><span class="code-line line-number" line="6"> i<span class="token operator">++</span><span class="token punctuation">;</span>
|
||||
</span><span class="code-line line-number" line="7"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="javascript-迭代器iterators"><a aria-hidden="true" tabindex="-1" href="#javascript-迭代器iterators"><span class="icon icon-link"></span></a>JavaScript 迭代器(Iterators)</h2><div class="wrap-body"><!--rehype:body-class=cols-2-->
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="javascript-迭代器iterators"><a aria-hidden="true" tabindex="-1" href="#javascript-迭代器iterators"><span class="icon icon-link"></span></a>JavaScript 迭代器(Iterators)</h2><div class="wrap-body">
|
||||
<!--rehype:body-class=cols-2-->
|
||||
</div></div><div class="h2wrap-body cols-2"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="分配给变量的函数"><a aria-hidden="true" tabindex="-1" href="#分配给变量的函数"><span class="icon icon-link"></span></a>分配给变量的函数</h3><div class="wrap-body">
|
||||
<pre class="language-javascript"><code class="language-javascript code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">let</span> <span class="token function-variable function">plusFive</span> <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token parameter">number</span><span class="token punctuation">)</span> <span class="token arrow operator">=></span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token keyword control-flow">return</span> number <span class="token operator">+</span> <span class="token number">5</span><span class="token punctuation">;</span>
|
||||
@ -730,7 +740,8 @@
|
||||
</span><span class="code-line line-number" line="3"> <span class="token keyword control-flow">return</span> n <span class="token operator">></span> <span class="token number">5</span><span class="token punctuation">;</span>
|
||||
</span><span class="code-line line-number" line="4"><span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
|
||||
</span></code></pre>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="javascript-对象objects"><a aria-hidden="true" tabindex="-1" href="#javascript-对象objects"><span class="icon icon-link"></span></a>JavaScript 对象(Objects)</h2><div class="wrap-body"><!--rehype:body-class=cols-2-->
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="javascript-对象objects"><a aria-hidden="true" tabindex="-1" href="#javascript-对象objects"><span class="icon icon-link"></span></a>JavaScript 对象(Objects)</h2><div class="wrap-body">
|
||||
<!--rehype:body-class=cols-2-->
|
||||
</div></div><div class="h2wrap-body cols-2"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="访问属性"><a aria-hidden="true" tabindex="-1" href="#访问属性"><span class="icon icon-link"></span></a>访问属性</h3><div class="wrap-body">
|
||||
<pre class="language-javascript"><code class="language-javascript code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">const</span> apple <span class="token operator">=</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token literal-property property">color</span><span class="token operator">:</span> <span class="token string">'Green'</span><span class="token punctuation">,</span>
|
||||
@ -756,7 +767,8 @@
|
||||
</span><span class="code-line line-number" line="3"><span class="token punctuation">}</span><span class="token punctuation">;</span>
|
||||
</span><span class="code-line line-number" line="4"><span class="token console class-name">console</span><span class="token punctuation">.</span><span class="token method function property-access">log</span><span class="token punctuation">(</span>classElection<span class="token punctuation">.</span><span class="token property-access">place</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// undefined</span>
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="可变的"><a aria-hidden="true" tabindex="-1" href="#可变的"><span class="icon icon-link"></span></a>可变的</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-2-->
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="可变的"><a aria-hidden="true" tabindex="-1" href="#可变的"><span class="icon icon-link"></span></a>可变的</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
<pre class="language-javascript"><code class="language-javascript code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">const</span> student <span class="token operator">=</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token literal-property property">name</span><span class="token operator">:</span> <span class="token string">'Sheldon'</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token literal-property property">score</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span>
|
||||
@ -811,7 +823,8 @@
|
||||
</span><span class="code-line line-number" line="11"><span class="token comment">// 通过引用,因此是可变的。</span>
|
||||
</span><span class="code-line line-number" line="12"><span class="token console class-name">console</span><span class="token punctuation">.</span><span class="token method function property-access">log</span><span class="token punctuation">(</span>origObj<span class="token punctuation">.</span><span class="token property-access">color</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="工厂函数"><a aria-hidden="true" tabindex="-1" href="#工厂函数"><span class="icon icon-link"></span></a>工厂函数</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-2-->
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="工厂函数"><a aria-hidden="true" tabindex="-1" href="#工厂函数"><span class="icon icon-link"></span></a>工厂函数</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
<pre class="language-javascript"><code class="language-javascript code-highlight"><span class="code-line line-number" line="1"><span class="token comment">// 一个接受 'name','age' 和 'breed' 的工厂函数,</span>
|
||||
</span><span class="code-line line-number" line="2"><span class="token comment">// 参数返回一个自定义的 dog 对象。</span>
|
||||
</span><span class="code-line line-number" line="3"><span class="token keyword">const</span> <span class="token function-variable function">dogFactory</span> <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token parameter">name<span class="token punctuation">,</span> age<span class="token punctuation">,</span> breed</span><span class="token punctuation">)</span> <span class="token arrow operator">=></span> <span class="token punctuation">{</span>
|
||||
@ -870,7 +883,8 @@
|
||||
</span><span class="code-line line-number" line="13">myCat<span class="token punctuation">.</span><span class="token property-access">name</span> <span class="token operator">=</span> <span class="token string">'Yankee'</span><span class="token punctuation">;</span>
|
||||
</span></code></pre>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="javascript-classes"><a aria-hidden="true" tabindex="-1" href="#javascript-classes"><span class="icon icon-link"></span></a>JavaScript Classes</h2><div class="wrap-body">
|
||||
</div></div><div class="h2wrap-body"><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="静态方法字段"><a aria-hidden="true" tabindex="-1" href="#静态方法字段"><span class="icon icon-link"></span></a>静态方法/字段</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-2-->
|
||||
</div></div><div class="h2wrap-body"><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="静态方法字段"><a aria-hidden="true" tabindex="-1" href="#静态方法字段"><span class="icon icon-link"></span></a>静态方法/字段</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
<pre class="language-javascript"><code class="language-javascript code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">class</span> <span class="token class-name">Dog</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token function">constructor</span><span class="token punctuation">(</span><span class="token parameter">name</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token keyword">this</span><span class="token punctuation">.</span><span class="token property-access">_name</span> <span class="token operator">=</span> name<span class="token punctuation">;</span>
|
||||
@ -961,7 +975,8 @@
|
||||
</span><span class="code-line line-number" line="8"> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line line-number" line="9"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="javascript-modules"><a aria-hidden="true" tabindex="-1" href="#javascript-modules"><span class="icon icon-link"></span></a>JavaScript Modules</h2><div class="wrap-body"><!--rehype:body-class=cols-2-->
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="javascript-modules"><a aria-hidden="true" tabindex="-1" href="#javascript-modules"><span class="icon icon-link"></span></a>JavaScript Modules</h2><div class="wrap-body">
|
||||
<!--rehype:body-class=cols-2-->
|
||||
</div></div><div class="h2wrap-body cols-2"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="export--import"><a aria-hidden="true" tabindex="-1" href="#export--import"><span class="icon icon-link"></span></a>Export / Import</h3><div class="wrap-body">
|
||||
<pre class="language-javascript"><code class="language-javascript code-highlight"><span class="code-line line-number" line="1"><span class="token comment">// myMath.js</span>
|
||||
</span><span class="code-line line-number" line="2"><span class="token comment">// 默认导出 Default export</span>
|
||||
@ -1024,7 +1039,8 @@
|
||||
</span><span class="code-line line-number" line="6"><span class="token console class-name">console</span><span class="token punctuation">.</span><span class="token method function property-access">log</span><span class="token punctuation">(</span>myMath<span class="token punctuation">.</span><span class="token method function property-access">duplicate</span><span class="token punctuation">(</span><span class="token number">5</span><span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token comment">// 10</span>
|
||||
</span></code></pre>
|
||||
</div></div></div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="javascript-promises"><a aria-hidden="true" tabindex="-1" href="#javascript-promises"><span class="icon icon-link"></span></a>JavaScript Promises</h2><div class="wrap-body">
|
||||
</div></div><div class="h2wrap-body"><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="promise"><a aria-hidden="true" tabindex="-1" href="#promise"><span class="icon icon-link"></span></a>Promise</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-2-->
|
||||
</div></div><div class="h2wrap-body"><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="promise"><a aria-hidden="true" tabindex="-1" href="#promise"><span class="icon icon-link"></span></a>Promise</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
<p>创建 promises</p>
|
||||
<pre class="language-javascript"><code class="language-javascript code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">new</span> <span class="token class-name">Promise</span><span class="token punctuation">(</span><span class="token punctuation">(</span><span class="token parameter">resolve<span class="token punctuation">,</span> reject</span><span class="token punctuation">)</span> <span class="token arrow operator">=></span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token keyword control-flow">if</span> <span class="token punctuation">(</span>ok<span class="token punctuation">)</span> <span class="token punctuation">{</span>
|
||||
@ -1102,7 +1118,8 @@
|
||||
</span><span class="code-line line-number" line="13"> <span class="token console class-name">console</span><span class="token punctuation">.</span><span class="token method function property-access">error</span><span class="token punctuation">(</span>err<span class="token punctuation">)</span><span class="token punctuation">;</span>
|
||||
</span><span class="code-line line-number" line="14"><span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="promiseall"><a aria-hidden="true" tabindex="-1" href="#promiseall"><span class="icon icon-link"></span></a>Promise.all()</h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2-->
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="promiseall"><a aria-hidden="true" tabindex="-1" href="#promiseall"><span class="icon icon-link"></span></a>Promise.all()</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
<pre class="language-javascript"><code class="language-javascript code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">const</span> promise1 <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Promise</span><span class="token punctuation">(</span><span class="token punctuation">(</span><span class="token parameter">resolve<span class="token punctuation">,</span> reject</span><span class="token punctuation">)</span> <span class="token arrow operator">=></span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token function">setTimeout</span><span class="token punctuation">(</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token arrow operator">=></span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token function">resolve</span><span class="token punctuation">(</span><span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
|
||||
@ -1135,7 +1152,8 @@
|
||||
</span><span class="code-line line-number" line="14"> <span class="token console class-name">console</span><span class="token punctuation">.</span><span class="token method function property-access">error</span><span class="token punctuation">(</span>err<span class="token punctuation">)</span>
|
||||
</span><span class="code-line line-number" line="15"><span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="避免嵌套的-promise-和-then"><a aria-hidden="true" tabindex="-1" href="#避免嵌套的-promise-和-then"><span class="icon icon-link"></span></a>避免嵌套的 Promise 和 .then()</h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2-->
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="避免嵌套的-promise-和-then"><a aria-hidden="true" tabindex="-1" href="#避免嵌套的-promise-和-then"><span class="icon icon-link"></span></a>避免嵌套的 Promise 和 .then()</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
<pre class="language-javascript"><code class="language-javascript code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">const</span> promise <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Promise</span><span class="token punctuation">(</span><span class="token punctuation">(</span><span class="token parameter">resolve<span class="token punctuation">,</span> reject</span><span class="token punctuation">)</span> <span class="token arrow operator">=></span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token function">setTimeout</span><span class="token punctuation">(</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token arrow operator">=></span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token function">resolve</span><span class="token punctuation">(</span><span class="token string">'*'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
|
||||
@ -1153,8 +1171,10 @@
|
||||
</span><span class="code-line line-number" line="15"><span class="token comment">// 将它们链接在一起</span>
|
||||
</span><span class="code-line line-number" line="16">promise<span class="token punctuation">.</span><span class="token method function property-access">then</span><span class="token punctuation">(</span>twoStars<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token method function property-access">then</span><span class="token punctuation">(</span>oneDot<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token method function property-access">then</span><span class="token punctuation">(</span>print<span class="token punctuation">)</span><span class="token punctuation">;</span>
|
||||
</span></code></pre>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="javascript-async-await"><a aria-hidden="true" tabindex="-1" href="#javascript-async-await"><span class="icon icon-link"></span></a>JavaScript Async-Await</h2><div class="wrap-body"><!--rehype:body-class=cols-2-->
|
||||
</div></div><div class="h2wrap-body cols-2"><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="异步"><a aria-hidden="true" tabindex="-1" href="#异步"><span class="icon icon-link"></span></a>异步</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-2-->
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="javascript-async-await"><a aria-hidden="true" tabindex="-1" href="#javascript-async-await"><span class="icon icon-link"></span></a>JavaScript Async-Await</h2><div class="wrap-body">
|
||||
<!--rehype:body-class=cols-2-->
|
||||
</div></div><div class="h2wrap-body cols-2"><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="异步"><a aria-hidden="true" tabindex="-1" href="#异步"><span class="icon icon-link"></span></a>异步</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
<pre class="language-javascript"><code class="language-javascript code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">function</span> <span class="token function">helloWorld</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token keyword control-flow">return</span> <span class="token keyword">new</span> <span class="token class-name">Promise</span><span class="token punctuation">(</span><span class="token parameter">resolve</span> <span class="token arrow operator">=></span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token function">setTimeout</span><span class="token punctuation">(</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token arrow operator">=></span> <span class="token punctuation">{</span>
|
||||
@ -1251,7 +1271,8 @@
|
||||
</span><span class="code-line line-number" line="6"><span class="token punctuation">}</span><span class="token punctuation">;</span>
|
||||
</span><span class="code-line line-number" line="7">req<span class="token punctuation">.</span><span class="token method function property-access">send</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="post"><a aria-hidden="true" tabindex="-1" href="#post"><span class="icon icon-link"></span></a>POST</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-2-->
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="post"><a aria-hidden="true" tabindex="-1" href="#post"><span class="icon icon-link"></span></a>POST</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
<pre class="language-javascript"><code class="language-javascript code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">const</span> data <span class="token operator">=</span> <span class="token punctuation">{</span> <span class="token literal-property property">weight</span><span class="token operator">:</span> <span class="token string">'1.5 KG'</span> <span class="token punctuation">}</span><span class="token punctuation">;</span>
|
||||
</span><span class="code-line line-number" line="2"><span class="token keyword">const</span> xhr <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">XMLHttpRequest</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
|
||||
</span><span class="code-line line-number" line="3"><span class="token comment">// 初始化一个请求。</span>
|
||||
@ -1269,7 +1290,8 @@
|
||||
</span><span class="code-line line-number" line="15"> <span class="token console class-name">console</span><span class="token punctuation">.</span><span class="token method function property-access">log</span><span class="token punctuation">(</span>xhr<span class="token punctuation">.</span><span class="token property-access">response</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
|
||||
</span><span class="code-line line-number" line="16"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="fetch-api"><a aria-hidden="true" tabindex="-1" href="#fetch-api"><span class="icon icon-link"></span></a>fetch api</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-2-->
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="fetch-api"><a aria-hidden="true" tabindex="-1" href="#fetch-api"><span class="icon icon-link"></span></a>fetch api</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
<pre class="language-javascript"><code class="language-javascript code-highlight"><span class="code-line line-number" line="1"><span class="token function">fetch</span><span class="token punctuation">(</span>url<span class="token punctuation">,</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token literal-property property">method</span><span class="token operator">:</span> <span class="token string">'POST'</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token literal-property property">headers</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
@ -1316,7 +1338,8 @@
|
||||
</span><span class="code-line line-number" line="12"> <span class="token console class-name">console</span><span class="token punctuation">.</span><span class="token method function property-access">log</span><span class="token punctuation">(</span>jsonResponse<span class="token punctuation">)</span><span class="token punctuation">;</span>
|
||||
</span><span class="code-line line-number" line="13"><span class="token punctuation">}</span><span class="token punctuation">)</span>
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="async-await-语法"><a aria-hidden="true" tabindex="-1" href="#async-await-语法"><span class="icon icon-link"></span></a>async await 语法</h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2-->
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="async-await-语法"><a aria-hidden="true" tabindex="-1" href="#async-await-语法"><span class="icon icon-link"></span></a>async await 语法</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
<pre class="language-javascript"><code class="language-javascript code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">const</span> <span class="token function-variable function">getSuggestions</span> <span class="token operator">=</span> <span class="token keyword">async</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token arrow operator">=></span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token keyword">const</span> wordQuery <span class="token operator">=</span> inputField<span class="token punctuation">.</span><span class="token property-access">value</span><span class="token punctuation">;</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token keyword">const</span> endpoint <span class="token operator">=</span> <span class="token template-string"><span class="token template-punctuation string">`</span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>url<span class="token interpolation-punctuation punctuation">}</span></span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>queryParams<span class="token interpolation-punctuation punctuation">}</span></span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>wordQuery<span class="token interpolation-punctuation punctuation">}</span></span><span class="token template-punctuation string">`</span></span><span class="token punctuation">;</span>
|
||||
@ -1331,6 +1354,5 @@
|
||||
</span><span class="code-line line-number" line="12"> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line line-number" line="13"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
|
||||
</div></div></div></div></div></div></div><footer class="footer-wrap"><footer class="max-container">© 2022 Kenny Wang, All rights reserved.</footer></footer></body>
|
||||
</html>
|
||||
|
@ -40,13 +40,14 @@
|
||||
</div></div><div class="h2wrap-body"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="介绍"><a aria-hidden="true" tabindex="-1" href="#介绍"><span class="icon icon-link"></span></a>介绍</h3><div class="wrap-body">
|
||||
<p><a href="https://jestjs.io/">Jest</a> 是一款优雅、简洁的 JavaScript 测试框架。</p>
|
||||
<ul>
|
||||
<li>无需配置,大多数 JS 项目中即装即用,无需配置</li>
|
||||
<li>优秀接口,从 it 到 expect - Jest 将工具包整合在一处。文档齐全、不断维护,非常不错。</li>
|
||||
<li>隔离的,并行进行测试,发挥每一丝算力。</li>
|
||||
<li>快照, 轻松编写持续追踪大型对象的测试,并在测试旁或代码内显示实时快照。</li>
|
||||
<li>代码覆盖, 无需其他操作,您仅需添加 --coverage 参数来生成代码覆盖率报告。</li>
|
||||
<li><code>无需配置</code> 大多数 JS 项目中即装即用,无需配置</li>
|
||||
<li><code>优秀接口</code> 从 <code>it</code> 到 <code>expect</code> - Jest 将工具包整合在一处。文档齐全、不断维护,非常不错。</li>
|
||||
<li><code>隔离的</code> 并行进行测试,发挥每一丝算力。</li>
|
||||
<li><code>快照</code> 轻松编写持续追踪大型对象的测试,并在测试旁或代码内显示实时快照。</li>
|
||||
<li><code>代码覆盖</code> 无需其他操作,您仅需添加 <code>--coverage</code> 参数来生成代码覆盖率报告。</li>
|
||||
</ul>
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="测试结构"><a aria-hidden="true" tabindex="-1" href="#测试结构"><span class="icon icon-link"></span></a>测试结构</h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2-->
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="测试结构"><a aria-hidden="true" tabindex="-1" href="#测试结构"><span class="icon icon-link"></span></a>测试结构</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
<pre class="language-js"><code class="language-js code-highlight"><span class="code-line line-number" line="1"><span class="token function">describe</span><span class="token punctuation">(</span><span class="token string">'makePoniesPink'</span><span class="token punctuation">,</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token arrow operator">=></span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token function">beforeAll</span><span class="token punctuation">(</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token arrow operator">=></span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token comment">/* 在所有测试之前运行 */</span>
|
||||
@ -153,7 +154,8 @@
|
||||
</span><span class="code-line line-number" line="13"> expect<span class="token punctuation">.</span><span class="token method function property-access">anything</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="14"><span class="token punctuation">]</span><span class="token punctuation">)</span>
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="模拟函数"><a aria-hidden="true" tabindex="-1" href="#模拟函数"><span class="icon icon-link"></span></a>模拟函数</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-2-->
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="模拟函数"><a aria-hidden="true" tabindex="-1" href="#模拟函数"><span class="icon icon-link"></span></a>模拟函数</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
<pre class="language-js"><code class="language-js code-highlight"><span class="code-line line-number" line="1"><span class="token comment">// const fn = jest.fn()</span>
|
||||
</span><span class="code-line line-number" line="2"><span class="token comment">// const fn = jest.fn().mockName('Unicorn') -- 命名为 mock, Jest 22+</span>
|
||||
</span><span class="code-line line-number" line="3"><span class="token comment">// 函数被调用</span>
|
||||
@ -185,14 +187,14 @@
|
||||
</span></code></pre>
|
||||
</div></div><div class="h3wrap-body"><div class="wrap"><div class="wrap-header h4wrap"><h4 id="别名"><a aria-hidden="true" tabindex="-1" href="#别名"><span class="icon icon-link"></span></a>别名</h4><div class="wrap-body">
|
||||
<ul>
|
||||
<li><code>toBeCalled</code> → <code>toHaveBeenCalled</code></li>
|
||||
<li><code>toBeCalledWith</code> → <code>toHaveBeenCalledWith</code></li>
|
||||
<li><code>lastCalledWith</code> → <code>toHaveBeenLastCalledWith</code></li>
|
||||
<li><code>nthCalledWith</code> → <code>toHaveBeenNthCalledWith</code></li>
|
||||
<li><code>toReturnTimes</code> → <code>toHaveReturnedTimes</code></li>
|
||||
<li><code>toReturnWith</code> → <code>toHaveReturnedWith</code></li>
|
||||
<li><code>lastReturnedWith</code> → <code>toHaveLastReturnedWith</code></li>
|
||||
<li><code>nthReturnedWith</code> → <code>toHaveNthReturnedWith</code></li>
|
||||
<li><code>toBeCalled</code> → <code>toHaveBeenCalled</code></li>
|
||||
<li><code>toBeCalledWith</code> → <code>toHaveBeenCalledWith</code></li>
|
||||
<li><code>lastCalledWith</code> → <code>toHaveBeenLastCalledWith</code></li>
|
||||
<li><code>nthCalledWith</code> → <code>toHaveBeenNthCalledWith</code></li>
|
||||
<li><code>toReturnTimes</code> → <code>toHaveReturnedTimes</code></li>
|
||||
<li><code>toReturnWith</code> → <code>toHaveReturnedWith</code></li>
|
||||
<li><code>lastReturnedWith</code> → <code>toHaveLastReturnedWith</code></li>
|
||||
<li><code>nthReturnedWith</code> → <code>toHaveNthReturnedWith</code></li>
|
||||
</ul>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="杂项"><a aria-hidden="true" tabindex="-1" href="#杂项"><span class="icon icon-link"></span></a>杂项</h3><div class="wrap-body">
|
||||
<pre class="language-js"><code class="language-js code-highlight"><span class="code-line line-number" line="1"><span class="token comment">// 检查对象是否是类的实例。</span>
|
||||
@ -270,10 +272,11 @@
|
||||
</span></code></pre>
|
||||
</div></div><div class="h3wrap-body"><div class="wrap"><div class="wrap-header h4wrap"><h4 id="别名-1"><a aria-hidden="true" tabindex="-1" href="#别名-1"><span class="icon icon-link"></span></a>别名</h4><div class="wrap-body">
|
||||
<ul>
|
||||
<li><code>toThrowError</code> → <code>toThrow</code></li>
|
||||
<li><code>toThrowError</code> → <code>toThrow</code></li>
|
||||
</ul>
|
||||
</div></div></div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="异步测试"><a aria-hidden="true" tabindex="-1" href="#异步测试"><span class="icon icon-link"></span></a>异步测试</h2><div class="wrap-body">
|
||||
</div></div><div class="h2wrap-body"><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="实例"><a aria-hidden="true" tabindex="-1" href="#实例"><span class="icon icon-link"></span></a>实例</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-2-->
|
||||
</div></div><div class="h2wrap-body"><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="实例"><a aria-hidden="true" tabindex="-1" href="#实例"><span class="icon icon-link"></span></a>实例</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
<p>请参阅 Jest 文档中的 <a href="https://jestjs.io/docs/en/tutorial-async">更多示例</a>。</p>
|
||||
<p>在异步测试中指定一些预期的断言是一个很好的做法,所以如果你的断言根本没有被调用,测试将会失败。</p>
|
||||
<pre class="language-js"><code class="language-js code-highlight"><span class="code-line line-number" line="1"><span class="token function">test</span><span class="token punctuation">(</span><span class="token string">'async test'</span><span class="token punctuation">,</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token arrow operator">=></span> <span class="token punctuation">{</span>
|
||||
@ -296,7 +299,8 @@
|
||||
</span><span class="code-line line-number" line="5"> <span class="token function">expect</span><span class="token punctuation">(</span>result<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token method function property-access">toBe</span><span class="token punctuation">(</span><span class="token boolean">true</span><span class="token punctuation">)</span>
|
||||
</span><span class="code-line line-number" line="6"><span class="token punctuation">}</span><span class="token punctuation">)</span>
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="done-回调"><a aria-hidden="true" tabindex="-1" href="#done-回调"><span class="icon icon-link"></span></a>done() 回调</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-2-->
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="done-回调"><a aria-hidden="true" tabindex="-1" href="#done-回调"><span class="icon icon-link"></span></a>done() 回调</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
<pre class="language-js"><code class="language-js code-highlight"><span class="code-line line-number" line="1"><span class="token function">test</span><span class="token punctuation">(</span><span class="token string">'async test'</span><span class="token punctuation">,</span> <span class="token punctuation">(</span><span class="token parameter">done</span><span class="token punctuation">)</span> <span class="token arrow operator">=></span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> expect<span class="token punctuation">.</span><span class="token method function property-access">assertions</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">)</span>
|
||||
</span><span class="code-line line-number" line="3">
|
||||
@ -313,7 +317,7 @@
|
||||
</span><span class="code-line line-number" line="14"> <span class="token punctuation">}</span><span class="token punctuation">)</span>
|
||||
</span><span class="code-line line-number" line="15"><span class="token punctuation">}</span><span class="token punctuation">)</span>
|
||||
</span></code></pre>
|
||||
<p>将断言包装在 try/catch 块中,否则 Jest 将忽略失败</p>
|
||||
<p>将断言包装在 <code>try/catch</code> 块中,否则 <code>Jest</code> 将忽略失败</p>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="promises"><a aria-hidden="true" tabindex="-1" href="#promises"><span class="icon icon-link"></span></a>Promises</h3><div class="wrap-body">
|
||||
<pre class="language-js"><code class="language-js code-highlight"><span class="code-line line-number" line="1"><span class="token function">test</span><span class="token punctuation">(</span><span class="token string">'async test'</span><span class="token punctuation">,</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token arrow operator">=></span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> expect<span class="token punctuation">.</span><span class="token method function property-access">assertions</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">)</span>
|
||||
@ -323,9 +327,10 @@
|
||||
</span><span class="code-line line-number" line="6"> <span class="token punctuation">}</span><span class="token punctuation">)</span>
|
||||
</span><span class="code-line line-number" line="7"><span class="token punctuation">}</span><span class="token punctuation">)</span>
|
||||
</span></code></pre>
|
||||
<p>从你的测试中 <em>返回</em> 一个 Promise</p>
|
||||
<p>从你的测试中 <em>返回</em> 一个 <code>Promise</code></p>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="模拟"><a aria-hidden="true" tabindex="-1" href="#模拟"><span class="icon icon-link"></span></a>模拟</h2><div class="wrap-body">
|
||||
</div></div><div class="h2wrap-body"><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="模拟函数-1"><a aria-hidden="true" tabindex="-1" href="#模拟函数-1"><span class="icon icon-link"></span></a>模拟函数</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-2-->
|
||||
</div></div><div class="h2wrap-body"><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="模拟函数-1"><a aria-hidden="true" tabindex="-1" href="#模拟函数-1"><span class="icon icon-link"></span></a>模拟函数</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
<pre class="language-js"><code class="language-js code-highlight"><span class="code-line line-number" line="1"><span class="token function">test</span><span class="token punctuation">(</span><span class="token string">'call the callback'</span><span class="token punctuation">,</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token arrow operator">=></span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token keyword">const</span> callback <span class="token operator">=</span> jest<span class="token punctuation">.</span><span class="token method function property-access">fn</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token function">fn</span><span class="token punctuation">(</span>callback<span class="token punctuation">)</span>
|
||||
@ -351,7 +356,8 @@
|
||||
<pre class="language-js"><code class="language-js code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">const</span> callback <span class="token operator">=</span> jest<span class="token punctuation">.</span><span class="token method function property-access">fn</span><span class="token punctuation">(</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token arrow operator">=></span> <span class="token boolean">true</span><span class="token punctuation">)</span>
|
||||
</span></code></pre>
|
||||
<p><a href="https://jestjs.io/docs/en/mock-function-api">模拟函数文档</a></p>
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="返回解析和拒绝值"><a aria-hidden="true" tabindex="-1" href="#返回解析和拒绝值"><span class="icon icon-link"></span></a>返回、解析和拒绝值</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-2-->
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="返回解析和拒绝值"><a aria-hidden="true" tabindex="-1" href="#返回解析和拒绝值"><span class="icon icon-link"></span></a>返回、解析和拒绝值</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
<p>您的模拟可以返回值:</p>
|
||||
<pre class="language-js"><code class="language-js code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">const</span> callback
|
||||
</span><span class="code-line line-number" line="2"> <span class="token operator">=</span> jest<span class="token punctuation">.</span><span class="token method function property-access">fn</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token method function property-access">mockReturnValue</span><span class="token punctuation">(</span><span class="token boolean">true</span><span class="token punctuation">)</span>
|
||||
@ -383,7 +389,7 @@
|
||||
</span></code></pre>
|
||||
<p><a href="https://jestjs.io/docs/en/jest-object#jestmockmodulename-factory-options">jest.mock docs</a></p>
|
||||
<blockquote>
|
||||
<p>注意:当使用 <code>babel-jest</code> 时,对 <code>jest.mock</code> 的调用将自动提升到代码块的顶部。 如果您想明确避免这种行为,请使用 <code>jest.doMock</code>。</p>
|
||||
<p>注意:当使用 <code>babel-jest</code> 时,对 <code>jest.mock</code> 的调用将自动提升到代码块的顶部。 如果您想明确避免这种行为,请使用 <code>jest.doMock</code>。</p>
|
||||
</blockquote>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="使用模拟文件模拟模块"><a aria-hidden="true" tabindex="-1" href="#使用模拟文件模拟模块"><span class="icon icon-link"></span></a>使用模拟文件模拟模块</h3><div class="wrap-body">
|
||||
<p>创建一个类似 <code>__mocks__/lodash/memoize.js</code> 的文件:</p>
|
||||
@ -412,7 +418,8 @@
|
||||
</span><span class="code-line line-number" line="6"> <span class="token punctuation">.</span><span class="token method function property-access">spyOn</span><span class="token punctuation">(</span><span class="token dom variable">location</span><span class="token punctuation">,</span> <span class="token string">'title'</span><span class="token punctuation">,</span> <span class="token string">'set'</span><span class="token punctuation">)</span>
|
||||
</span><span class="code-line line-number" line="7"> <span class="token punctuation">.</span><span class="token method function property-access">mockImplementation</span><span class="token punctuation">(</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token arrow operator">=></span> <span class="token punctuation">{</span><span class="token punctuation">}</span><span class="token punctuation">)</span>
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap row-span-3"><div class="wrap-header h3wrap"><h3 id="定时器模拟"><a aria-hidden="true" tabindex="-1" href="#定时器模拟"><span class="icon icon-link"></span></a>定时器模拟</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-3-->
|
||||
</div></div></div><div class="wrap row-span-3"><div class="wrap-header h3wrap"><h3 id="定时器模拟"><a aria-hidden="true" tabindex="-1" href="#定时器模拟"><span class="icon icon-link"></span></a>定时器模拟</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-3-->
|
||||
<p>为使用本机计时器函数(<code>setTimeout</code>、<code>setInterval</code>、<code>clearTimeout</code>、<code>clearInterval</code>)的代码编写同步测试。</p>
|
||||
<pre class="language-js"><code class="language-js code-highlight"><span class="code-line line-number" line="1"><span class="token comment">// 启用假计时器</span>
|
||||
</span><span class="code-line line-number" line="2">jest<span class="token punctuation">.</span><span class="token method function property-access">useFakeTimers</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
|
||||
@ -450,7 +457,8 @@
|
||||
</span><span class="code-line line-number" line="6"> <span class="token literal-property property">set</span><span class="token operator">:</span> setTitle<span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="7"><span class="token punctuation">}</span><span class="token punctuation">)</span>
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="清除和恢复模拟"><a aria-hidden="true" tabindex="-1" href="#清除和恢复模拟"><span class="icon icon-link"></span></a>清除和恢复模拟</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-2-->
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="清除和恢复模拟"><a aria-hidden="true" tabindex="-1" href="#清除和恢复模拟"><span class="icon icon-link"></span></a>清除和恢复模拟</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
<p>对于一个模拟</p>
|
||||
<pre class="language-js"><code class="language-js code-highlight"><span class="code-line line-number" line="1"><span class="token comment">// 清除模拟使用日期</span>
|
||||
</span><span class="code-line line-number" line="2"><span class="token comment">// (fn.mock.calls、fn.mock.instances)</span>
|
||||
@ -461,7 +469,7 @@
|
||||
</span><span class="code-line line-number" line="7">fn<span class="token punctuation">.</span><span class="token method function property-access">mockRestore</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
|
||||
</span></code></pre>
|
||||
<blockquote>
|
||||
<p>注意:<code>mockRestore</code> 仅适用于由<code>jest.spyOn</code> 创建的模拟。对于所有模拟:</p>
|
||||
<p>注意:<code>mockRestore</code> 仅适用于由<code>jest.spyOn</code> 创建的模拟。对于所有模拟:</p>
|
||||
</blockquote>
|
||||
<pre class="language-js"><code class="language-js code-highlight"><span class="code-line line-number" line="1"><span class="token comment">// 清除所有 mock 的 </span>
|
||||
</span><span class="code-line line-number" line="2"><span class="token comment">// mock.calls、mock.instances、</span>
|
||||
@ -508,8 +516,9 @@
|
||||
</span><span class="code-line line-number" line="6"> <span class="token punctuation">}</span><span class="token punctuation">)</span>
|
||||
</span><span class="code-line line-number" line="7"><span class="token punctuation">}</span><span class="token punctuation">)</span>
|
||||
</span></code></pre>
|
||||
<p><a href="https://jestjs.io/docs/en/api#describeeachtablename-fn-timeout">describe.each() 文档</a>、<a href="https://jestjs.io/docs/en/api#testeachtablename-fn-timeout">test.each() 文档</a>,</p>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="跳过测试"><a aria-hidden="true" tabindex="-1" href="#跳过测试"><span class="icon icon-link"></span></a>跳过测试</h2><div class="wrap-body"><!--rehype:body-class=cols-2-->
|
||||
<p><a href="https://jestjs.io/docs/en/api#describeeachtablename-fn-timeout">describe.each()</a> 文档、<a href="https://jestjs.io/docs/en/api#testeachtablename-fn-timeout">test.each()</a> 文档</p>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="跳过测试"><a aria-hidden="true" tabindex="-1" href="#跳过测试"><span class="icon icon-link"></span></a>跳过测试</h2><div class="wrap-body">
|
||||
<!--rehype:body-class=cols-2-->
|
||||
</div></div><div class="h2wrap-body cols-2"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="不要运行这些测试"><a aria-hidden="true" tabindex="-1" href="#不要运行这些测试"><span class="icon icon-link"></span></a>不要运行这些测试</h3><div class="wrap-body">
|
||||
<pre class="language-js"><code class="language-js code-highlight"><span class="code-line line-number" line="1">describe<span class="token punctuation">.</span><span class="token method function property-access">skip</span><span class="token punctuation">(</span><span class="token string">'makePoniesPink'</span><span class="token spread operator">...</span>
|
||||
</span><span class="code-line line-number" line="2">tests<span class="token punctuation">.</span><span class="token method function property-access">skip</span><span class="token punctuation">(</span><span class="token string">'make each pony pink'</span><span class="token spread operator">...</span>
|
||||
@ -518,7 +527,8 @@
|
||||
<pre class="language-js"><code class="language-js code-highlight"><span class="code-line line-number" line="1">describe<span class="token punctuation">.</span><span class="token method function property-access">only</span><span class="token punctuation">(</span><span class="token string">'makePoniesPink'</span><span class="token spread operator">...</span>
|
||||
</span><span class="code-line line-number" line="2">tests<span class="token punctuation">.</span><span class="token method function property-access">only</span><span class="token punctuation">(</span><span class="token string">'make each pony pink'</span><span class="token spread operator">...</span>
|
||||
</span></code></pre>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="测试有副作用的模块"><a aria-hidden="true" tabindex="-1" href="#测试有副作用的模块"><span class="icon icon-link"></span></a>测试有副作用的模块</h2><div class="wrap-body"><!--rehype:body-class=cols-1-->
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="测试有副作用的模块"><a aria-hidden="true" tabindex="-1" href="#测试有副作用的模块"><span class="icon icon-link"></span></a>测试有副作用的模块</h2><div class="wrap-body">
|
||||
<!--rehype:body-class=cols-1-->
|
||||
</div></div><div class="h2wrap-body cols-1"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="实例-1"><a aria-hidden="true" tabindex="-1" href="#实例-1"><span class="icon icon-link"></span></a>实例</h3><div class="wrap-body">
|
||||
<pre class="language-js"><code class="language-js code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">const</span> modulePath <span class="token operator">=</span> <span class="token string">'../module-to-test'</span>
|
||||
</span><span class="code-line line-number" line="2"><span class="token function">afterEach</span><span class="token punctuation">(</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token arrow operator">=></span> <span class="token punctuation">{</span>
|
||||
@ -535,11 +545,10 @@
|
||||
</span><span class="code-line line-number" line="13"> <span class="token function">expect</span><span class="token punctuation">(</span>fn<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token method function property-access">toThrow</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
|
||||
</span><span class="code-line line-number" line="14"><span class="token punctuation">}</span><span class="token punctuation">)</span>
|
||||
</span></code></pre>
|
||||
<p>Node.js 和 Jest 会缓存你需要的模块。 要测试具有副作用的模块,您需要在测试之间重置模块注册表</p>
|
||||
<p><code>Node.js</code> 和 <code>Jest</code> 会缓存你需要的模块。 要测试具有副作用的模块,您需要在测试之间重置模块注册表</p>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="另见"><a aria-hidden="true" tabindex="-1" href="#另见"><span class="icon icon-link"></span></a>另见</h2><div class="wrap-body">
|
||||
<ul>
|
||||
<li><a href="https://github.com/sapegin/jest-cheat-sheet">Jest cheat sheet</a> <em>(github.com)</em></li>
|
||||
<li><a href="https://github.com/sapegin/jest-cheat-sheet">Jest cheat sheet</a> <em>(github.com)</em></li>
|
||||
</ul>
|
||||
|
||||
</div></div></div></div></div><footer class="footer-wrap"><footer class="max-container">© 2022 Kenny Wang, All rights reserved.</footer></footer></body>
|
||||
</html>
|
||||
|
466
docs/json.html
466
docs/json.html
@ -40,11 +40,11 @@
|
||||
</div></div><div class="h2wrap-body"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="介绍"><a aria-hidden="true" tabindex="-1" href="#介绍"><span class="icon icon-link"></span></a>介绍</h3><div class="wrap-body">
|
||||
<p><a href="https://json.org/">JSON</a> 是一种基于文本的轻量级开放标准,专为人类可读的数据交换而设计。</p>
|
||||
<ul>
|
||||
<li>JSON 代表 JavaScript 对象表示法</li>
|
||||
<li>JSON 易于读写。</li>
|
||||
<li>JSON 是与语言无关的数据交换格式</li>
|
||||
<li>JSON 文件扩展名为 <code>.json</code></li>
|
||||
<li>JSON Internet 媒体类型为 <code>application/json</code></li>
|
||||
<li>JSON 代表 JavaScript 对象表示法</li>
|
||||
<li>JSON 易于读写。</li>
|
||||
<li>JSON 是与语言无关的数据交换格式</li>
|
||||
<li>JSON 文件扩展名为 <code>.json</code></li>
|
||||
<li>JSON Internet 媒体类型为 <code>application/json</code></li>
|
||||
</ul>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="示例"><a aria-hidden="true" tabindex="-1" href="#示例"><span class="icon icon-link"></span></a>示例</h3><div class="wrap-body">
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line line-number" line="1"><span class="token punctuation">{</span>
|
||||
@ -61,91 +61,92 @@
|
||||
</span><span class="code-line line-number" line="12"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="类型"><a aria-hidden="true" tabindex="-1" href="#类型"><span class="icon icon-link"></span></a>类型</h3><div class="wrap-body">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>类型</th>
|
||||
<th>描述</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>Number</code></td>
|
||||
<td>双精度浮点</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>String</code></td>
|
||||
<td>字符系列</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Boolean</code></td>
|
||||
<td>“true”或“false”</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Array</code></td>
|
||||
<td>有序的值序列</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Value</code></td>
|
||||
<td>字符串、数字、布尔值、空值等</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Object</code></td>
|
||||
<td>键/值对的无序集合</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>null</code></td>
|
||||
<td>Null 或 Empty</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div></div></div><div class="wrap" style="grid-row: span 3/span 3;"><div class="wrap-header h3wrap"><h3 id="字符串"><a aria-hidden="true" tabindex="-1" href="#字符串"><span class="icon icon-link"></span></a>字符串</h3><div class="wrap-body"><!--rehype:wrap-style=grid-row: span 3/span 3;-->
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>\"</code></td>
|
||||
<td>双引号 Double quote</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>\\</code></td>
|
||||
<td>反斜杠 Backslash</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>\/</code></td>
|
||||
<td>正斜杠 Forward slash</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>\b</code></td>
|
||||
<td>退格 Backspace</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>\f</code></td>
|
||||
<td>换页 Form feed</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>\n</code></td>
|
||||
<td>换行 Newline</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>\r</code></td>
|
||||
<td>回车 Carriage return</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>\t</code></td>
|
||||
<td>标签 Tab</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>\u</code></td>
|
||||
<td>后跟四个十六进制数字</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th>类型</th><th>描述</th></tr></thead><tbody><tr><td><code>Number</code></td><td>双精度浮点</td></tr><tr><td><code>String</code></td><td>字符系列</td></tr><tr><td><code>Boolean</code></td><td>“true”或“false”</td></tr><tr><td><code>Array</code></td><td>有序的值序列</td></tr><tr><td><code>Value</code></td><td>字符串、数字、布尔值、空值等</td></tr><tr><td><code>Object</code></td><td>键/值对的无序集合</td></tr><tr><td><code>null</code></td><td>Null 或 Empty</td></tr></tbody></table>
|
||||
</div></div></div><div class="wrap" style="grid-row: span 3/span 3;"><div class="wrap-header h3wrap"><h3 id="字符串"><a aria-hidden="true" tabindex="-1" href="#字符串"><span class="icon icon-link"></span></a>字符串</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-style=grid-row: span 3/span 3;-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><code>\"</code></td><td>双引号 Double quote</td></tr><tr><td><code>\\</code></td><td>反斜杠 Backslash</td></tr><tr><td><code>\/</code></td><td>正斜杠 Forward slash</td></tr><tr><td><code>\b</code></td><td>退格 Backspace</td></tr><tr><td><code>\f</code></td><td>换页 Form feed</td></tr><tr><td><code>\n</code></td><td>换行 Newline</td></tr><tr><td><code>\r</code></td><td>回车 Carriage return</td></tr><tr><td><code>\t</code></td><td>标签 Tab</td></tr><tr><td><code>\u</code></td><td>后跟四个十六进制数字</td></tr></tbody></table>
|
||||
</div></div><div class="h3wrap-body"><div class="wrap"><div class="wrap-header h4wrap"><h4 id="示例-1"><a aria-hidden="true" tabindex="-1" href="#示例-1"><span class="icon icon-link"></span></a>示例</h4><div class="wrap-body">
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line line-number" line="1"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"url"</span><span class="token operator">:</span> <span class="token string">"https://quickref.me"</span><span class="token punctuation">,</span>
|
||||
@ -157,29 +158,31 @@
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line line-number" line="1"><span class="token punctuation">{</span> <span class="token property">"foo"</span><span class="token operator">:</span> 'bar' <span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>Have to be delimited by double quotes</p>
|
||||
</div></div></div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="数字"><a aria-hidden="true" tabindex="-1" href="#数字"><span class="icon icon-link"></span></a>数字</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-2-->
|
||||
<table class="show-header ">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>类型</th>
|
||||
<th>说明</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>Integer</code></td>
|
||||
<td>数字 1-9、0 和正数或负数</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Fraction</code></td>
|
||||
<td>0.3、3.9 等分数</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Exponent</code></td>
|
||||
<td>指数,如 e、e+、e-、E、E+、E</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table><!--rehype:className=show-header -->
|
||||
</div></div></div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="数字"><a aria-hidden="true" tabindex="-1" href="#数字"><span class="icon icon-link"></span></a>数字</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table class="show-header "><thead><tr><th>类型</th><th>说明</th></tr></thead><tbody><tr><td><code>Integer</code></td><td>数字 1-9、0 和正数或负数</td></tr><tr><td><code>Fraction</code></td><td>0.3、3.9 等分数</td></tr><tr><td><code>Exponent</code></td><td>指数,如 e、e+、e-、E、E+、E</td></tr></tbody></table>
|
||||
<!--rehype:className=show-header -->
|
||||
</div></div><div class="h3wrap-body"><div class="wrap"><div class="wrap-header h4wrap"><h4 id="示例-2"><a aria-hidden="true" tabindex="-1" href="#示例-2"><span class="icon icon-link"></span></a>示例</h4><div class="wrap-body">
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line line-number" line="1"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"positive"</span> <span class="token operator">:</span> <span class="token number">12</span><span class="token punctuation">,</span>
|
||||
@ -272,37 +275,38 @@
|
||||
</span><span class="code-line line-number" line="8"><span class="token punctuation">}</span><span class="token punctuation">;</span>
|
||||
</span></code></pre>
|
||||
<hr>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>myObject.name</code></td>
|
||||
<td>"Jason"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>myObject["name"]</code></td>
|
||||
<td>"Jason"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>myObject.age</code></td>
|
||||
<td>39</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>myObject.other</code></td>
|
||||
<td>undefined</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>myObject[0]</code></td>
|
||||
<td>undefined</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div></div></div><div class="wrap" style="grid-row: span 2/span 2;"><div class="wrap-header h3wrap"><h3 id="访问嵌套"><a aria-hidden="true" tabindex="-1" href="#访问嵌套"><span class="icon icon-link"></span></a>访问嵌套</h3><div class="wrap-body"><!--rehype:wrap-style=grid-row: span 2/span 2;-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><code>myObject.name</code></td><td>"Jason"</td></tr><tr><td><code>myObject["name"]</code></td><td>"Jason"</td></tr><tr><td><code>myObject.age</code></td><td>39</td></tr><tr><td><code>myObject.other</code></td><td>undefined</td></tr><tr><td><code>myObject[0]</code></td><td>undefined</td></tr></tbody></table>
|
||||
</div></div></div><div class="wrap" style="grid-row: span 2/span 2;"><div class="wrap-header h3wrap"><h3 id="访问嵌套"><a aria-hidden="true" tabindex="-1" href="#访问嵌套"><span class="icon icon-link"></span></a>访问嵌套</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-style=grid-row: span 2/span 2;-->
|
||||
<pre class="language-javascript"><code class="language-javascript code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">let</span> myObject <span class="token operator">=</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token string-property property">"ref"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token string-property property">"name"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
||||
@ -331,37 +335,38 @@
|
||||
</span><span class="code-line line-number" line="26"><span class="token punctuation">}</span><span class="token punctuation">;</span>
|
||||
</span></code></pre>
|
||||
<hr>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>myObject.ref.age</code></td>
|
||||
<td>2</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>myObject["ref"]["age"]</code></td>
|
||||
<td>2</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>myObject.jdoe</code></td>
|
||||
<td>["Jason", "Doe", 39 ...]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>myObject.jsmith[3]</code></td>
|
||||
<td>"F"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>myObject[1]</code></td>
|
||||
<td>undefined</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div></div></div><div class="wrap" style="grid-row: span 2/span 2;"><div class="wrap-header h3wrap"><h3 id="访问对象数组"><a aria-hidden="true" tabindex="-1" href="#访问对象数组"><span class="icon icon-link"></span></a>访问对象数组</h3><div class="wrap-body"><!--rehype:wrap-style=grid-row: span 2/span 2;-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><code>myObject.ref.age</code></td><td>2</td></tr><tr><td><code>myObject["ref"]["age"]</code></td><td>2</td></tr><tr><td><code>myObject.jdoe</code></td><td>["Jason", "Doe", 39 ...]</td></tr><tr><td><code>myObject.jsmith[3]</code></td><td>"F"</td></tr><tr><td><code>myObject[1]</code></td><td>undefined</td></tr></tbody></table>
|
||||
</div></div></div><div class="wrap" style="grid-row: span 2/span 2;"><div class="wrap-header h3wrap"><h3 id="访问对象数组"><a aria-hidden="true" tabindex="-1" href="#访问对象数组"><span class="icon icon-link"></span></a>访问对象数组</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-style=grid-row: span 2/span 2;-->
|
||||
<pre class="language-javascript"><code class="language-javascript code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">let</span> myArray <span class="token operator">=</span> <span class="token punctuation">[</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token string-property property">"name"</span><span class="token operator">:</span> <span class="token string">"Jason"</span><span class="token punctuation">,</span>
|
||||
@ -390,36 +395,36 @@
|
||||
</span><span class="code-line line-number" line="26"><span class="token punctuation">]</span><span class="token punctuation">;</span>
|
||||
</span></code></pre>
|
||||
<hr>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>myArray[0]</code></td>
|
||||
<td><code>{</code>"name": "Jason", ...<code>}</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>myArray[1].name</code></td>
|
||||
<td>"Tom"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>myArray[1][2]</code></td>
|
||||
<td>42</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>myArray[3]</code></td>
|
||||
<td>undefined</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>myArray[3].gender</code></td>
|
||||
<td>TypeError: Cannot read...</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><code>myArray[0]</code></td><td><code>{</code>"name": "Jason", ...<code>}</code></td></tr><tr><td><code>myArray[1].name</code></td><td>"Tom"</td></tr><tr><td><code>myArray[1][2]</code></td><td>42</td></tr><tr><td><code>myArray[3]</code></td><td>undefined</td></tr><tr><td><code>myArray[3].gender</code></td><td>TypeError: Cannot read...</td></tr></tbody></table>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="访问阵列"><a aria-hidden="true" tabindex="-1" href="#访问阵列"><span class="icon icon-link"></span></a>访问阵列</h3><div class="wrap-body">
|
||||
<pre class="language-javascript"><code class="language-javascript code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">let</span> myArray <span class="token operator">=</span> <span class="token punctuation">[</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token string">"Jason"</span><span class="token punctuation">,</span>
|
||||
@ -431,34 +436,33 @@
|
||||
</span><span class="code-line line-number" line="8"><span class="token punctuation">]</span><span class="token punctuation">;</span>
|
||||
</span></code></pre>
|
||||
<hr>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>myArray[1]</code></td>
|
||||
<td>"Doe"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>myArray[5]</code></td>
|
||||
<td>true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>myArray[6]</code></td>
|
||||
<td>undefined</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><code>myArray[1]</code></td><td>"Doe"</td></tr><tr><td><code>myArray[5]</code></td><td>true</td></tr><tr><td><code>myArray[6]</code></td><td>undefined</td></tr></tbody></table>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="另见"><a aria-hidden="true" tabindex="-1" href="#另见"><span class="icon icon-link"></span></a>另见</h2><div class="wrap-body">
|
||||
<ul>
|
||||
<li><a href="https://www.json.org/json-en.html">JSON</a> <em>(json.org)</em></li>
|
||||
<li><a href="http://jsoneditoronline.org/">JSON Editor Online</a> <em>(jsoneditoronline.org)</em></li>
|
||||
<li><a href="https://tableconvert.com/json-to-markdown">Convert JSON Array to Markdown Table, CSV and more</a> <em>(tableconvert.com)</em></li>
|
||||
<li><a href="https://www.json.org/json-en.html">JSON</a> <em>(json.org)</em></li>
|
||||
<li><a href="http://jsoneditoronline.org/">JSON Editor Online</a> <em>(jsoneditoronline.org)</em></li>
|
||||
<li><a href="https://tableconvert.com/json-to-markdown">Convert JSON Array to Markdown Table, CSV and more</a> <em>(tableconvert.com)</em></li>
|
||||
</ul>
|
||||
|
||||
</div></div></div></div></div><footer class="footer-wrap"><footer class="max-container">© 2022 Kenny Wang, All rights reserved.</footer></footer></body>
|
||||
</html>
|
||||
|
@ -59,7 +59,8 @@
|
||||
</span><span class="code-line line-number" line="4"><span class="token blockquote punctuation">> ></span> 嵌套
|
||||
</span><span class="code-line line-number" line="5"><span class="token blockquote punctuation">> ></span> 块引用
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap" style="grid-row: span 2/span 2;"><div class="wrap-header h3wrap"><h3 id="无序列表"><a aria-hidden="true" tabindex="-1" href="#无序列表"><span class="icon icon-link"></span></a>无序列表</h3><div class="wrap-body"><!--rehype:wrap-style=grid-row: span 2/span 2;-->
|
||||
</div></div></div><div class="wrap" style="grid-row: span 2/span 2;"><div class="wrap-header h3wrap"><h3 id="无序列表"><a aria-hidden="true" tabindex="-1" href="#无序列表"><span class="icon icon-link"></span></a>无序列表</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-style=grid-row: span 2/span 2;-->
|
||||
<pre class="language-markdown"><code class="language-markdown code-highlight"><span class="code-line line-number" line="1"><span class="token list punctuation">*</span> Item 1
|
||||
</span><span class="code-line line-number" line="2"><span class="token list punctuation">*</span> Item 2
|
||||
</span><span class="code-line line-number" line="3"> <span class="token list punctuation">*</span> item 3a
|
||||
@ -125,7 +126,8 @@
|
||||
</div></div><div class="h3wrap-body"><div class="wrap"><div class="wrap-header h4wrap"><h4 id="内联代码"><a aria-hidden="true" tabindex="-1" href="#内联代码"><span class="icon icon-link"></span></a>内联代码</h4><div class="wrap-body">
|
||||
<pre class="language-markdown"><code class="language-markdown code-highlight"><span class="code-line line-number" line="1"><span class="token code-snippet code keyword">`Inline code`</span> 周围有反引号
|
||||
</span></code></pre>
|
||||
</div></div></div></div></div><div class="wrap" style="grid-column: span 2/span 2;"><div class="wrap-header h3wrap"><h3 id="表格"><a aria-hidden="true" tabindex="-1" href="#表格"><span class="icon icon-link"></span></a>表格</h3><div class="wrap-body"><!--rehype:wrap-style=grid-column: span 2/span 2;-->
|
||||
</div></div></div></div></div><div class="wrap" style="grid-column: span 2/span 2;"><div class="wrap-header h3wrap"><h3 id="表格"><a aria-hidden="true" tabindex="-1" href="#表格"><span class="icon icon-link"></span></a>表格</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-style=grid-column: span 2/span 2;-->
|
||||
<pre class="language-markdown"><code class="language-markdown code-highlight"><span class="code-line line-number" line="1"><span class="token table"><span class="token table-header-row"><span class="token punctuation">|</span><span class="token table-header important"> 左栏 </span><span class="token punctuation">|</span><span class="token table-header important"> 中间栏 </span><span class="token punctuation">|</span><span class="token table-header important"> 右栏 </span><span class="token punctuation">|</span>
|
||||
</span></span></span><span class="code-line line-number" line="2"><span class="token table"><span class="token table-header-row"></span><span class="token table-line"><span class="token punctuation">|</span><span class="token punctuation">:------------</span><span class="token punctuation">|</span><span class="token punctuation">:-------------:</span><span class="token punctuation">|</span><span class="token punctuation">-------------:</span><span class="token punctuation">|</span>
|
||||
</span></span></span><span class="code-line line-number" line="3"><span class="token table"><span class="token table-line"></span><span class="token table-data-rows"><span class="token punctuation">|</span><span class="token table-data"> 单元格 1 </span><span class="token punctuation">|</span><span class="token table-data"> 居中 </span><span class="token punctuation">|</span><span class="token table-data"> $1600 </span><span class="token punctuation">|</span>
|
||||
@ -138,7 +140,8 @@
|
||||
</span></span></span><span class="code-line line-number" line="4"><span class="token table"><span class="token table-data-rows"><span class="token table-data"> 单元格 2 </span><span class="token punctuation">|</span><span class="token table-data"> 单元格 3 </span><span class="token punctuation">|</span><span class="token table-data"> $12</span>
|
||||
</span></span></span></code></pre>
|
||||
<p>Markdown 表格生成器:<a href="https://tableconvert.com/">tableconvert.com</a></p>
|
||||
</div></div></div><div class="wrap" style="grid-column: span 2/span 2;"><div class="wrap-header h3wrap"><h3 id="图片"><a aria-hidden="true" tabindex="-1" href="#图片"><span class="icon icon-link"></span></a>图片</h3><div class="wrap-body"><!--rehype:wrap-style=grid-column: span 2/span 2;-->
|
||||
</div></div></div><div class="wrap" style="grid-column: span 2/span 2;"><div class="wrap-header h3wrap"><h3 id="图片"><a aria-hidden="true" tabindex="-1" href="#图片"><span class="icon icon-link"></span></a>图片</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-style=grid-column: span 2/span 2;-->
|
||||
<pre class="language-markdown"><code class="language-markdown code-highlight"><span class="code-line line-number" line="1"><span class="token url"><span class="token operator">!</span>[<span class="token content">GitHub Logo</span>](<span class="token url">/images/logo.png</span>)</span>
|
||||
</span><span class="code-line line-number" line="2">
|
||||
</span><span class="code-line line-number" line="3"><span class="token url"><span class="token operator">!</span>[<span class="token content">Alt Text</span>](<span class="token url">url</span>)</span>
|
||||
@ -154,77 +157,76 @@
|
||||
</span><span class="code-line line-number" line="3"><span class="token url-reference url"><span class="token punctuation">[</span><span class="token variable">logo</span><span class="token punctuation">]</span><span class="token punctuation">:</span> /images/logo.png <span class="token string">"Logo Title"</span></span>
|
||||
</span></code></pre>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="反斜杠转义"><a aria-hidden="true" tabindex="-1" href="#反斜杠转义"><span class="icon icon-link"></span></a>反斜杠转义</h3><div class="wrap-body">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>字符</th>
|
||||
<th>转义</th>
|
||||
<th>描述</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>\</td>
|
||||
<td>\\</td>
|
||||
<td>backslash 反斜杠</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>`</td>
|
||||
<td>\`</td>
|
||||
<td>backtick 反引号</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>*</td>
|
||||
<td>\*</td>
|
||||
<td>asterisk 星号</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>_</td>
|
||||
<td>\_</td>
|
||||
<td>underscore 下划线</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{}</td>
|
||||
<td>\{}</td>
|
||||
<td>curly braces 花括号</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>[]</td>
|
||||
<td>\[]</td>
|
||||
<td>square brackets 方括号</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>()</td>
|
||||
<td>\()</td>
|
||||
<td>parentheses 圆括号</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>#</td>
|
||||
<td>\#</td>
|
||||
<td>hash mark 哈希标记</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>+</td>
|
||||
<td>\+</td>
|
||||
<td>plus sign 加号</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>-</td>
|
||||
<td>\-</td>
|
||||
<td>minus sign (hyphen) 减号(连字符)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>.</td>
|
||||
<td>\.</td>
|
||||
<td>dot 点</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>!</td>
|
||||
<td>\!</td>
|
||||
<td>exclamation mark 感叹号</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th>字符</th><th>转义</th><th>描述</th></tr></thead><tbody><tr><td>\</td><td>\\</td><td>backslash 反斜杠</td></tr><tr><td>`</td><td>\`</td><td>backtick 反引号</td></tr><tr><td>*</td><td>\*</td><td>asterisk 星号</td></tr><tr><td>_</td><td>\_</td><td>underscore 下划线</td></tr><tr><td>{}</td><td>\{}</td><td>curly braces 花括号</td></tr><tr><td>[]</td><td>\[]</td><td>square brackets 方括号</td></tr><tr><td>()</td><td>\()</td><td>parentheses 圆括号</td></tr><tr><td>#</td><td>\#</td><td>hash mark 哈希标记</td></tr><tr><td>+</td><td>\+</td><td>plus sign 加号</td></tr><tr><td>-</td><td>\-</td><td>minus sign (hyphen) 减号(连字符)</td></tr><tr><td>.</td><td>\.</td><td>dot 点</td></tr><tr><td>!</td><td>\!</td><td>exclamation mark 感叹号</td></tr></tbody></table>
|
||||
</div></div></div></div></div></div></div><footer class="footer-wrap"><footer class="max-container">© 2022 Kenny Wang, All rights reserved.</footer></footer></body>
|
||||
</html>
|
||||
|
292
docs/npm.html
292
docs/npm.html
@ -38,155 +38,156 @@
|
||||
<p>这个 npm 快速参考备忘单显示了它的常用命令使用清单。</p>
|
||||
</div></header><div class="h1wrap-body"><div class="wrap"><div class="wrap-header h2wrap"><h2 id="常用命令"><a aria-hidden="true" tabindex="-1" href="#常用命令"><span class="icon icon-link"></span></a>常用命令</h2><div class="wrap-body">
|
||||
</div></div><div class="h2wrap-body"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="包管理"><a aria-hidden="true" tabindex="-1" href="#包管理"><span class="icon icon-link"></span></a>包管理</h3><div class="wrap-body">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>命令</th>
|
||||
<th>描述</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>npm i</code></td>
|
||||
<td><code>npm install</code>的别名</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>npm install</code></td>
|
||||
<td>安装 package.json 中的所有内容</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>npm install --production</code></td>
|
||||
<td>安装 package.json 中的所有内容,除了 devDependecies</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>npm install lodash</code></td>
|
||||
<td>安装一个包</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>npm install --save-dev lodash</code></td>
|
||||
<td>安装为 devDependency</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>npm install --save-exact lodash</code></td>
|
||||
<td>准确安装</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th>命令</th><th>描述</th></tr></thead><tbody><tr><td><code>npm i</code></td><td><code>npm install</code>的别名</td></tr><tr><td><code>npm install</code></td><td>安装 package.json 中的所有内容</td></tr><tr><td><code>npm install --production</code></td><td>安装 package.json 中的所有内容,除了 devDependecies</td></tr><tr><td><code>npm install lodash</code></td><td>安装一个包</td></tr><tr><td><code>npm install --save-dev lodash</code></td><td>安装为 devDependency</td></tr><tr><td><code>npm install --save-exact lodash</code></td><td>准确安装</td></tr></tbody></table>
|
||||
<p><code>--save</code> 是 npm@5 的默认值。 以前,使用不带 <code>--save</code> 的 <code>npm install</code> 不会更新 package.json。</p>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="安装名称"><a aria-hidden="true" tabindex="-1" href="#安装名称"><span class="icon icon-link"></span></a>安装名称</h3><div class="wrap-body">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>命令</th>
|
||||
<th>描述</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>npm i sax</code></td>
|
||||
<td>NPM 包</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>npm i sax@latest</code></td>
|
||||
<td>指定标签“最新”</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>npm i sax@3.0.0</code></td>
|
||||
<td>指定版本 <code>3.0.0</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>npm i sax@">=1 <2.0"</code></td>
|
||||
<td>指定版本范围</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>npm i @org/sax</code></td>
|
||||
<td>范围内的 NPM 包</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>npm i user/repo</code></td>
|
||||
<td>GitHub</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>npm i user/repo#master</code></td>
|
||||
<td>GitHub</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>npm i github:user/repo</code></td>
|
||||
<td>GitHub</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>npm i gitlab:user/repo</code></td>
|
||||
<td>GitLab</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>npm i /path/to/repo</code></td>
|
||||
<td>绝对路径</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>npm i ./archive.tgz</code></td>
|
||||
<td>压缩包</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>npm i https://site.com/archive.tgz</code></td>
|
||||
<td>通过 HTTP 压缩包</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th>命令</th><th>描述</th></tr></thead><tbody><tr><td><code>npm i sax</code></td><td>NPM 包</td></tr><tr><td><code>npm i sax@latest</code></td><td>指定标签“最新”</td></tr><tr><td><code>npm i sax@3.0.0</code></td><td>指定版本 <code>3.0.0</code></td></tr><tr><td><code>npm i sax@">=1 <2.0"</code></td><td>指定版本范围</td></tr><tr><td><code>npm i @org/sax</code></td><td>范围内的 NPM 包</td></tr><tr><td><code>npm i user/repo</code></td><td>GitHub</td></tr><tr><td><code>npm i user/repo#master</code></td><td>GitHub</td></tr><tr><td><code>npm i github:user/repo</code></td><td>GitHub</td></tr><tr><td><code>npm i gitlab:user/repo</code></td><td>GitLab</td></tr><tr><td><code>npm i /path/to/repo</code></td><td>绝对路径</td></tr><tr><td><code>npm i ./archive.tgz</code></td><td>压缩包</td></tr><tr><td><code>npm i https://site.com/archive.tgz</code></td><td>通过 HTTP 压缩包</td></tr></tbody></table>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="清单"><a aria-hidden="true" tabindex="-1" href="#清单"><span class="icon icon-link"></span></a>清单</h3><div class="wrap-body">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>命令</th>
|
||||
<th>描述</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>npm list</code></td>
|
||||
<td>列出此软件中所有依赖项的已安装版本</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>npm list -g --depth 0</code></td>
|
||||
<td>列出所有全局安装包的安装版本</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>npm view</code></td>
|
||||
<td>列出此软件中所有依赖项的最新版本</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>npm outdated</code></td>
|
||||
<td>仅列出此软件中已过时的依赖项</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th>命令</th><th>描述</th></tr></thead><tbody><tr><td><code>npm list</code></td><td>列出此软件中所有依赖项的已安装版本</td></tr><tr><td><code>npm list -g --depth 0</code></td><td>列出所有全局安装包的安装版本</td></tr><tr><td><code>npm view</code></td><td>列出此软件中所有依赖项的最新版本</td></tr><tr><td><code>npm outdated</code></td><td>仅列出此软件中已过时的依赖项</td></tr></tbody></table>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="更新"><a aria-hidden="true" tabindex="-1" href="#更新"><span class="icon icon-link"></span></a>更新</h3><div class="wrap-body">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>命令</th>
|
||||
<th>描述</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>npm update</code></td>
|
||||
<td>更新生产包</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>npm update --dev</code></td>
|
||||
<td>更新开发包</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>npm update -g</code></td>
|
||||
<td>更新全局包</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>npm update lodash</code></td>
|
||||
<td>更新 lodash 包</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="杂项功能"><a aria-hidden="true" tabindex="-1" href="#杂项功能"><span class="icon icon-link"></span></a>杂项功能</h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th>命令</th><th>描述</th></tr></thead><tbody><tr><td><code>npm update</code></td><td>更新生产包</td></tr><tr><td><code>npm update --dev</code></td><td>更新开发包</td></tr><tr><td><code>npm update -g</code></td><td>更新全局包</td></tr><tr><td><code>npm update lodash</code></td><td>更新 lodash 包</td></tr></tbody></table>
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="杂项功能"><a aria-hidden="true" tabindex="-1" href="#杂项功能"><span class="icon icon-link"></span></a>杂项功能</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
<p>将某人添加为所有者</p>
|
||||
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line line-number" line="1"><span class="token function">npm</span> owner <span class="token function">add</span> USERNAME PACKAGENAME
|
||||
</span></code></pre>
|
||||
@ -202,6 +203,5 @@
|
||||
<p>检查过时的包</p>
|
||||
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line line-number" line="1"><span class="token function">npm</span> outdated <span class="token punctuation">[</span>PACKAGE<span class="token punctuation">]</span>
|
||||
</span></code></pre>
|
||||
|
||||
</div></div></div></div></div></div></div><footer class="footer-wrap"><footer class="max-container">© 2022 Kenny Wang, All rights reserved.</footer></footer></body>
|
||||
</html>
|
||||
|
@ -40,8 +40,8 @@
|
||||
</div></div><div class="h2wrap-body"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="介绍"><a aria-hidden="true" tabindex="-1" href="#介绍"><span class="icon icon-link"></span></a>介绍</h3><div class="wrap-body">
|
||||
<p>本快速参考备忘清单是您需要了解的关于 package.json 文件中所需内容的全部内容。 它必须是实际的 JSON,而不仅仅是 JavaScript 对象字面量。</p>
|
||||
<ul>
|
||||
<li><a href="https://docs.npmjs.com/files/package.json">npm 文档</a> <em>(npmjs.com)</em></li>
|
||||
<li><a href="https://classic.yarnpkg.com/en/docs/package-json">yarnpkg 文档</a> <em>(yarnpkg.com)</em></li>
|
||||
<li><a href="https://docs.npmjs.com/files/package.json">npm 文档</a> <em>(npmjs.com)</em></li>
|
||||
<li><a href="https://classic.yarnpkg.com/en/docs/package-json">yarnpkg 文档</a> <em>(yarnpkg.com)</em></li>
|
||||
</ul>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="name"><a aria-hidden="true" tabindex="-1" href="#name"><span class="icon icon-link"></span></a><code>name</code></h3><div class="wrap-body">
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line line-number" line="1"><span class="token punctuation">{</span>
|
||||
@ -50,10 +50,10 @@
|
||||
</span></code></pre>
|
||||
<p><strong>规则</strong></p>
|
||||
<ul>
|
||||
<li>必须小于或等于214个字符(包括 <code>@scope/</code> 范围包)</li>
|
||||
<li>不能以点(<code>.</code>)或下划线(<code>_</code>)开头</li>
|
||||
<li>名称中不得包含大写字母</li>
|
||||
<li>必须仅使用URL安全字符</li>
|
||||
<li>必须小于或等于214个字符(包括 <code>@scope/</code> 范围包)</li>
|
||||
<li>不能以点(<code>.</code>)或下划线(<code>_</code>)开头</li>
|
||||
<li>名称中不得包含大写字母</li>
|
||||
<li>必须仅使用URL安全字符</li>
|
||||
</ul>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="version"><a aria-hidden="true" tabindex="-1" href="#version"><span class="icon icon-link"></span></a><code>version</code></h3><div class="wrap-body">
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line line-number" line="1"><span class="token punctuation">{</span>
|
||||
@ -63,14 +63,15 @@
|
||||
<p>包的当前版本,严格遵循 <a href="http://semver.org/lang/zh-CN/">Semantic Versioning 2.0.0</a> 语义化版本规范。</p>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="tips"><a aria-hidden="true" tabindex="-1" href="#tips"><span class="icon icon-link"></span></a>Tips</h3><div class="wrap-body">
|
||||
<ul>
|
||||
<li>不要使用和 <code>Node.js</code> 核心模块相同的名字。</li>
|
||||
<li>不要在名字里包含 <code>js</code> 或者 <code>node</code> 单词。</li>
|
||||
<li>短小精悍,让人看到名字就大概了解包的功能,记住它也会被用在 <code>require()</code> 调用里。</li>
|
||||
<li>保证名字在 <a href="https://www.npmjs.com/">npm registry</a> 里是唯一的。</li>
|
||||
<li>name 和 version 字段一起用于创建唯一ID</li>
|
||||
<li>不要使用和 <code>Node.js</code> 核心模块相同的名字。</li>
|
||||
<li>不要在名字里包含 <code>js</code> 或者 <code>node</code> 单词。</li>
|
||||
<li>短小精悍,让人看到名字就大概了解包的功能,记住它也会被用在 <code>require()</code> 调用里。</li>
|
||||
<li>保证名字在 <a href="https://www.npmjs.com/">npm registry</a> 里是唯一的。</li>
|
||||
<li>name 和 version 字段一起用于创建唯一ID</li>
|
||||
</ul>
|
||||
<p>如果没有 <code>name</code> 和<code>version</code> 字段,您的包将无法安装</p>
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="安装-name-包"><a aria-hidden="true" tabindex="-1" href="#安装-name-包"><span class="icon icon-link"></span></a>安装 <code>name</code> 包</h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2-->
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="安装-name-包"><a aria-hidden="true" tabindex="-1" href="#安装-name-包"><span class="icon icon-link"></span></a>安装 <code>name</code> 包</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
<pre class="language-sh"><code class="language-sh code-highlight"><span class="code-line line-number" line="1"><span class="token function">yarn</span> <span class="token function">add</span> <span class="token punctuation">[</span>包名<span class="token punctuation">]</span>
|
||||
</span><span class="code-line line-number" line="2"><span class="token comment"># or</span>
|
||||
</span><span class="code-line line-number" line="3"><span class="token function">npm</span> <span class="token function">install</span> <span class="token punctuation">[</span>包名<span class="token punctuation">]</span>
|
||||
@ -80,7 +81,8 @@
|
||||
</span></code></pre>
|
||||
<p>npmjs 下载地址</p>
|
||||
<pre class="wrap-text"><code class="language-bash code-highlight"><span class="code-line line-number" line="1">https://registry.npmjs.org/<span class="token punctuation">[</span>包名<span class="token punctuation">]</span>/-/<span class="token punctuation">[</span>包名<span class="token punctuation">]</span>-<span class="token punctuation">[</span>version<span class="token punctuation">]</span>.tgz
|
||||
</span></code></pre><!--rehype:className=wrap-text-->
|
||||
</span></code></pre>
|
||||
<!--rehype:className=wrap-text-->
|
||||
<p>这是您的 <code>包</code> 的名称。 它在URL中使用,作为参数命令行,以及 <code>node_modules</code> 中的目录名。</p>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="信息类字段"><a aria-hidden="true" tabindex="-1" href="#信息类字段"><span class="icon icon-link"></span></a>信息类字段</h2><div class="wrap-body">
|
||||
</div></div><div class="h2wrap-body"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="description"><a aria-hidden="true" tabindex="-1" href="#description"><span class="icon icon-link"></span></a><code>description</code></h3><div class="wrap-body">
|
||||
@ -89,7 +91,8 @@
|
||||
</span><span class="code-line line-number" line="3"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>帮助使用者了解包的功能的字符串,包管理器也会把这个字符串作为搜索关键词。</p>
|
||||
</div></div></div><div class="wrap col-span-2 row-span-2"><div class="wrap-header h3wrap"><h3 id="license"><a aria-hidden="true" tabindex="-1" href="#license"><span class="icon icon-link"></span></a><code>license</code></h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2 row-span-2-->
|
||||
</div></div></div><div class="wrap col-span-2 row-span-2"><div class="wrap-header h3wrap"><h3 id="license"><a aria-hidden="true" tabindex="-1" href="#license"><span class="icon icon-link"></span></a><code>license</code></h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2 row-span-2-->
|
||||
<p>所有包都应该指定许可证,以便让用户了解他们是在什么授权下使用此包,以及此包还有哪些附加限制。</p>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line line-number" line="1"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"license"</span><span class="token operator">:</span> <span class="token string">"MIT"</span><span class="token punctuation">,</span>
|
||||
@ -101,10 +104,10 @@
|
||||
<p>鼓励使用开源 <a href="https://opensource.org/licenses/alphabetical">(OSI-approved)</a> 许可证,除非你有特别的原因不用它。 如果你开发的包是你工作的一部分,最好和公司讨论后再做决定。</p>
|
||||
<p><strong>license字段必须是以下之一:</strong></p>
|
||||
<ul>
|
||||
<li>如果你使用标准的许可证,需要一个有效地 <a href="https://spdx.org/licenses/">SPDX 许可证标识</a>。</li>
|
||||
<li>如果你用多种标准许可证,需要有效的 <a href="https://www.npmjs.com/package/spdx">SPDX 许可证表达式2.0语法表达式</a>。</li>
|
||||
<li>如果你使用非标准的许可证,一个 <code>SEE LICENSE IN <文件名></code> 字符串指向你的包里顶级目录的一个 <文件名>。</li>
|
||||
<li>如果你不想在任何条款下授权其他人使用你的私有或未公开的包,一个 <code>UNLICENSED</code> 字符串。</li>
|
||||
<li>如果你使用标准的许可证,需要一个有效地 <a href="https://spdx.org/licenses/">SPDX 许可证标识</a>。</li>
|
||||
<li>如果你用多种标准许可证,需要有效的 <a href="https://www.npmjs.com/package/spdx">SPDX 许可证表达式2.0语法表达式</a>。</li>
|
||||
<li>如果你使用非标准的许可证,一个 <code>SEE LICENSE IN <文件名></code> 字符串指向你的包里顶级目录的一个 <文件名>。</li>
|
||||
<li>如果你不想在任何条款下授权其他人使用你的私有或未公开的包,一个 <code>UNLICENSED</code> 字符串。</li>
|
||||
</ul>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="keywords"><a aria-hidden="true" tabindex="-1" href="#keywords"><span class="icon icon-link"></span></a><code>keywords</code></h3><div class="wrap-body">
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line line-number" line="1"><span class="token punctuation">{</span>
|
||||
@ -122,7 +125,8 @@
|
||||
</span><span class="code-line line-number" line="3"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>是包的项目主页或者文档首页。</p>
|
||||
</div></div></div><div class="wrap col-span-2 row-span-2"><div class="wrap-header h3wrap"><h3 id="repository"><a aria-hidden="true" tabindex="-1" href="#repository"><span class="icon icon-link"></span></a><code>repository</code></h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2 row-span-2-->
|
||||
</div></div></div><div class="wrap col-span-2 row-span-2"><div class="wrap-header h3wrap"><h3 id="repository"><a aria-hidden="true" tabindex="-1" href="#repository"><span class="icon icon-link"></span></a><code>repository</code></h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2 row-span-2-->
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line line-number" line="1"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"repository"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"git"</span><span class="token punctuation">,</span> <span class="token property">"url"</span><span class="token operator">:</span> <span class="token string">"https://github.com/user/repo.git"</span>
|
||||
@ -153,7 +157,8 @@
|
||||
</span><span class="code-line line-number" line="8"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>作者信息,一个人。</p>
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="contributors"><a aria-hidden="true" tabindex="-1" href="#contributors"><span class="icon icon-link"></span></a><code>contributors</code></h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2-->
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="contributors"><a aria-hidden="true" tabindex="-1" href="#contributors"><span class="icon icon-link"></span></a><code>contributors</code></h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line line-number" line="1"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"contributors"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token punctuation">{</span> <span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"Your Friend"</span><span class="token punctuation">,</span> <span class="token property">"email"</span><span class="token operator">:</span> <span class="token string">"friend@xxx.com"</span><span class="token punctuation">,</span> <span class="token property">"url"</span><span class="token operator">:</span> <span class="token string">"http://friends-xx.com"</span> <span class="token punctuation">}</span>
|
||||
@ -214,20 +219,21 @@
|
||||
</span></code></pre>
|
||||
<p>随着项目一起被安装的可执行文件。</p>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="types"><a aria-hidden="true" tabindex="-1" href="#types"><span class="icon icon-link"></span></a><code>types</code></h3><div class="wrap-body">
|
||||
<p>这是一个只在 <a href="https://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html">TypeScript</a> 中生效的字段,如果您的包有一个 <code>main.js</code> 文件,您还需要在 <code>package.json</code> 文件中指明主声明文件。 将 <code>types</code> 属性设置为指向 <code>bundled</code> 的声明文件。 例如:</p>
|
||||
<p>这是一个只在 <a href="https://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html">TypeScript</a> 中生效的字段,如果您的包有一个 <code>main.js</code> 文件,您还需要在 <code>package.json</code> 文件中指明主声明文件。 将 <code>types</code> 属性设置为指向 <code>bundled</code> 的声明文件。 例如:</p>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line line-number" line="1"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"types"</span><span class="token operator">:</span> <span class="token string">"./lib/main.d.ts"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="3"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>如果您的主声明文件名为 <code>index.d.ts</code> 并且位于包的根目录(<code>index.js</code>旁边),则不需要标记 <code>types</code> 属性,建议这样做。</p>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="打包包字段"><a aria-hidden="true" tabindex="-1" href="#打包包字段"><span class="icon icon-link"></span></a>打包包字段</h2><div class="wrap-body">
|
||||
</div></div><div class="h2wrap-body"><div class="wrap col-span-2 row-span-2"><div class="wrap-header h3wrap"><h3 id="esnext"><a aria-hidden="true" tabindex="-1" href="#esnext"><span class="icon icon-link"></span></a><code>esnext</code></h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2 row-span-2-->
|
||||
</div></div><div class="h2wrap-body"><div class="wrap col-span-2 row-span-2"><div class="wrap-header h3wrap"><h3 id="esnext"><a aria-hidden="true" tabindex="-1" href="#esnext"><span class="icon icon-link"></span></a><code>esnext</code></h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2 row-span-2-->
|
||||
<p>完整的<a href="http://2ality.com/2017/04/transpiling-dependencies-babel.html">提案在这里</a>。 简短说明:</p>
|
||||
<ul>
|
||||
<li><code>esnext</code>:ES模块中使用阶段4功能(或更旧版本)的源代码,未编译。</li>
|
||||
<li><code>main</code>:指向一个CommonJS模块(或UMD模块),其 <code>JavaScript</code> 与 <code>Node.js</code> 当前可以处理的一样现代。</li>
|
||||
<li>大多数 <code>module</code> 用例应该可以通过 <code>esnext</code> 处理。</li>
|
||||
<li><code>browser</code> 可以通过 <code>esnext</code> 的扩展版本来处理</li>
|
||||
<li><code>esnext</code>:ES模块中使用阶段4功能(或更旧版本)的源代码,未编译。</li>
|
||||
<li><code>main</code>:指向一个CommonJS模块(或UMD模块),其 <code>JavaScript</code> 与 <code>Node.js</code> 当前可以处理的一样现代。</li>
|
||||
<li>大多数 <code>module</code> 用例应该可以通过 <code>esnext</code> 处理。</li>
|
||||
<li><code>browser</code> 可以通过 <code>esnext</code> 的扩展版本来处理</li>
|
||||
</ul>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line line-number" line="1"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"main"</span><span class="token operator">:</span> <span class="token string">"main.js"</span><span class="token punctuation">,</span>
|
||||
@ -265,27 +271,28 @@
|
||||
<p>有一些特殊的脚本名称。 如果定义了 <code>preinstall</code> 脚本,它会在包安装前被调用。 出于兼容性考虑,<code>install</code>、<code>postinstall</code> 和 <code>prepublish</code> 脚本会在包完成安装后被调用。</p>
|
||||
<p><code>start</code> 脚本的默认值为 <code>node server.js</code>。</p>
|
||||
<p>参考文档:<a href="https://docs.npmjs.com/files/package.json#default-values">npm docs</a></p>
|
||||
</div></div></div><div class="wrap col-span-2 row-span-2"><div class="wrap-header h3wrap"><h3 id="特定的-scripts"><a aria-hidden="true" tabindex="-1" href="#特定的-scripts"><span class="icon icon-link"></span></a>特定的 <code>scripts</code></h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2 row-span-2-->
|
||||
</div></div></div><div class="wrap col-span-2 row-span-2"><div class="wrap-header h3wrap"><h3 id="特定的-scripts"><a aria-hidden="true" tabindex="-1" href="#特定的-scripts"><span class="icon icon-link"></span></a>特定的 <code>scripts</code></h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2 row-span-2-->
|
||||
<p>对于以下脚本,<code>npm</code> 支持 <code>package.json</code> 文件的 <code>scripts</code> 默认命令字段:</p>
|
||||
<ul>
|
||||
<li><code>prepublish</code>: 在打包并发布包之前运行,以及在没有任何参数的本地 <code>npm</code> 安装之前运行。 (见下文)</li>
|
||||
<li><code>prepare</code>: 在打包和发布包之前运行,在没有任何参数的本地 <code>npm install</code> 上运行,以及安装 git 依赖项时(见下文)。 这是在 <code>preublish</code> 之后运行,但是在 <code>preublishOnly</code> 之前运行。</li>
|
||||
<li><code>prepublishOnly</code>: 在包准备和打包之前运行,仅限于npm发布。 (见下文。)</li>
|
||||
<li><code>prepack</code>: 在打包 <code>tarball</code> 之前运行(在 <code>npm pack</code>,<code>npm publish</code>,以及安装 git 依赖项时)</li>
|
||||
<li><code>postpack</code>: 在生成 <code>tarball</code> 之后运行并移动到其最终目标。</li>
|
||||
<li><code>publish</code>, <code>postpublish</code>: 在包发布后运行。</li>
|
||||
<li><code>preinstall</code>: 在安装软件包之前运行。</li>
|
||||
<li><code>install</code>, <code>postinstall</code>: 安装包后运行。</li>
|
||||
<li><code>preuninstall</code>, <code>uninstall</code>: 在卸载软件包之前运行。</li>
|
||||
<li><code>postuninstall</code>: 在卸载软件包之后运行。</li>
|
||||
<li><code>preversion</code>: 在改变包版本之前运行。</li>
|
||||
<li><code>version</code>: 改变包版本后运行,但提交之前。</li>
|
||||
<li><code>postversion</code>: 改变包版本后运行,然后提交。</li>
|
||||
<li><code>pretest</code>, <code>test</code>, <code>posttest</code>: 由 <code>npm test</code> 命令运行。</li>
|
||||
<li><code>prestop</code>, <code>stop</code>, <code>poststop</code>: 由 <code>npm stop</code> 命令运行。</li>
|
||||
<li><code>prestart</code>, <code>start</code>, <code>poststart</code>: 由 <code>npm start</code> 命令运行。</li>
|
||||
<li><code>prerestart</code>, <code>restart</code>, <code>postrestart</code>: 由 <code>npm restart</code> 命令运行。 注意:如果没有提供重启脚本,<code>npm restart</code> 将运行 <code>stop</code> 和<code>start</code> 脚本。</li>
|
||||
<li><code>preshrinkwrap</code>, <code>shrinkwrap</code>, <code>postshrinkwrap</code>: 由 <code>npm shrinkwrap</code> 命令运行。</li>
|
||||
<li><code>prepublish</code>: 在打包并发布包之前运行,以及在没有任何参数的本地 <code>npm</code> 安装之前运行。 (见下文)</li>
|
||||
<li><code>prepare</code>: 在打包和发布包之前运行,在没有任何参数的本地 <code>npm install</code> 上运行,以及安装 git 依赖项时(见下文)。 这是在 <code>preublish</code> 之后运行,但是在 <code>preublishOnly</code> 之前运行。</li>
|
||||
<li><code>prepublishOnly</code>: 在包准备和打包之前运行,仅限于npm发布。 (见下文。)</li>
|
||||
<li><code>prepack</code>: 在打包 <code>tarball</code> 之前运行(在 <code>npm pack</code>,<code>npm publish</code>,以及安装 git 依赖项时)</li>
|
||||
<li><code>postpack</code>: 在生成 <code>tarball</code> 之后运行并移动到其最终目标。</li>
|
||||
<li><code>publish</code>, <code>postpublish</code>: 在包发布后运行。</li>
|
||||
<li><code>preinstall</code>: 在安装软件包之前运行。</li>
|
||||
<li><code>install</code>, <code>postinstall</code>: 安装包后运行。</li>
|
||||
<li><code>preuninstall</code>, <code>uninstall</code>: 在卸载软件包之前运行。</li>
|
||||
<li><code>postuninstall</code>: 在卸载软件包之后运行。</li>
|
||||
<li><code>preversion</code>: 在改变包版本之前运行。</li>
|
||||
<li><code>version</code>: 改变包版本后运行,但提交之前。</li>
|
||||
<li><code>postversion</code>: 改变包版本后运行,然后提交。</li>
|
||||
<li><code>pretest</code>, <code>test</code>, <code>posttest</code>: 由 <code>npm test</code> 命令运行。</li>
|
||||
<li><code>prestop</code>, <code>stop</code>, <code>poststop</code>: 由 <code>npm stop</code> 命令运行。</li>
|
||||
<li><code>prestart</code>, <code>start</code>, <code>poststart</code>: 由 <code>npm start</code> 命令运行。</li>
|
||||
<li><code>prerestart</code>, <code>restart</code>, <code>postrestart</code>: 由 <code>npm restart</code> 命令运行。 注意:如果没有提供重启脚本,<code>npm restart</code> 将运行 <code>stop</code> 和<code>start</code> 脚本。</li>
|
||||
<li><code>preshrinkwrap</code>, <code>shrinkwrap</code>, <code>postshrinkwrap</code>: 由 <code>npm shrinkwrap</code> 命令运行。</li>
|
||||
</ul>
|
||||
<p>参考文档:<a href="https://docs.npmjs.com/misc/scripts">npm docs</a>.</p>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="config"><a aria-hidden="true" tabindex="-1" href="#config"><span class="icon icon-link"></span></a><code>config</code></h3><div class="wrap-body">
|
||||
@ -305,7 +312,8 @@
|
||||
<p>配置中的键作为环境变量公开给脚本(scripts)。</p>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="依赖描述类字段"><a aria-hidden="true" tabindex="-1" href="#依赖描述类字段"><span class="icon icon-link"></span></a>依赖描述类字段</h2><div class="wrap-body">
|
||||
<p>你的包很可能依赖其他包。你可以在你的 <code>package.json</code> 文件里指定那些依赖。</p>
|
||||
</div></div><div class="h2wrap-body"><div class="wrap col-span-2 row-span-2"><div class="wrap-header h3wrap"><h3 id="dependencies"><a aria-hidden="true" tabindex="-1" href="#dependencies"><span class="icon icon-link"></span></a><code>dependencies</code></h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2 row-span-2-->
|
||||
</div></div><div class="h2wrap-body"><div class="wrap col-span-2 row-span-2"><div class="wrap-header h3wrap"><h3 id="dependencies"><a aria-hidden="true" tabindex="-1" href="#dependencies"><span class="icon icon-link"></span></a><code>dependencies</code></h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2 row-span-2-->
|
||||
<p>这些是你的包的开发版和发布版都需要的依赖。</p>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line line-number" line="1"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"dependencies"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
@ -327,11 +335,10 @@
|
||||
</span><span class="code-line line-number" line="18"> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line line-number" line="19"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>
|
||||
你可以指定一个确切的版本、一个最小的版本 (比如 <code>>=</code>) 或者一个版本范围 (比如 <code>>= ... <</code>)。 包也可以指向本地的一个目录文件夹。
|
||||
参考文档:<a href="https://docs.npmjs.com/cli/v8/configuring-npm/package-json#dependencies">npm docs</a>.
|
||||
</p>
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="workspaces"><a aria-hidden="true" tabindex="-1" href="#workspaces"><span class="icon icon-link"></span></a>workspaces</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-2-->
|
||||
<p>你可以指定一个确切的版本、一个最小的版本 (比如 <code>>=</code>) 或者一个版本范围 (比如 <code>>= ... <</code>)。 包也可以指向本地的一个目录文件夹。
|
||||
参考文档:<a href="https://docs.npmjs.com/cli/v8/configuring-npm/package-json#dependencies">npm docs</a>.</p>
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="workspaces"><a aria-hidden="true" tabindex="-1" href="#workspaces"><span class="icon icon-link"></span></a>workspaces</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line line-number" line="1"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"my-workspaces-powered-project"</span><span class="token punctuation">,</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token property">"workspaces"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
|
||||
@ -362,7 +369,8 @@
|
||||
</span><span class="code-line line-number" line="5"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>这些是只在你的包开发期间需要,但是生产环境不会被安装的包。</p>
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="peerdependencies"><a aria-hidden="true" tabindex="-1" href="#peerdependencies"><span class="icon icon-link"></span></a><code>peerDependencies</code></h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2-->
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="peerdependencies"><a aria-hidden="true" tabindex="-1" href="#peerdependencies"><span class="icon icon-link"></span></a><code>peerDependencies</code></h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line line-number" line="1"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"peerDependencies"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token property">"package-3"</span><span class="token operator">:</span> <span class="token string">"^2.7.18"</span>
|
||||
@ -403,7 +411,8 @@
|
||||
</span></code></pre>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="系统"><a aria-hidden="true" tabindex="-1" href="#系统"><span class="icon icon-link"></span></a>系统</h2><div class="wrap-body">
|
||||
<p>你可以提供和你的包关联的系统级的信息,比如操作系统兼容性之类。</p>
|
||||
</div></div><div class="h2wrap-body"><div class="wrap col-span-2 row-span-2"><div class="wrap-header h3wrap"><h3 id="engines"><a aria-hidden="true" tabindex="-1" href="#engines"><span class="icon icon-link"></span></a><code>engines</code></h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2 row-span-2-->
|
||||
</div></div><div class="h2wrap-body"><div class="wrap col-span-2 row-span-2"><div class="wrap-header h3wrap"><h3 id="engines"><a aria-hidden="true" tabindex="-1" href="#engines"><span class="icon icon-link"></span></a><code>engines</code></h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2 row-span-2-->
|
||||
<p>指定使用你的包客户必须使用的版本,这将检查 <code>process.versions</code> 以及当前 <code>yarn</code> 版本。</p>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line line-number" line="1"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"engines"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
@ -436,7 +445,8 @@
|
||||
</span><span class="code-line line-number" line="3"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>如果你不想你的包发布到包管理器(npm 或者 私有包管理),设置为 <code>true</code>。</p>
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="publishconfig"><a aria-hidden="true" tabindex="-1" href="#publishconfig"><span class="icon icon-link"></span></a><code>publishConfig</code></h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2-->
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="publishconfig"><a aria-hidden="true" tabindex="-1" href="#publishconfig"><span class="icon icon-link"></span></a><code>publishConfig</code></h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
<p>这些配置值将在你的包发布时使用。比如,你可以给包打标签。</p>
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line line-number" line="1"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"publishConfig"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
@ -454,7 +464,8 @@
|
||||
</span><span class="code-line line-number" line="3"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>请注意,如果你的 <code>package.json</code> 包含 <code>"flat": true</code> 并且其它包依赖你的包 (比如你在构建一个库,而不是应用), 其它那些包也需要在它们的 <code>package.json</code> 加上 <code>"flat": true</code>,或者在命令行上用 <code>yarn install --flat</code> 安装。</p>
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="resolutions"><a aria-hidden="true" tabindex="-1" href="#resolutions"><span class="icon icon-link"></span></a><code>resolutions</code></h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2-->
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="resolutions"><a aria-hidden="true" tabindex="-1" href="#resolutions"><span class="icon icon-link"></span></a><code>resolutions</code></h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line line-number" line="1"><span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token property">"resolutions"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token property">"transitive-package-1"</span><span class="token operator">:</span> <span class="token string">"0.0.29"</span><span class="token punctuation">,</span>
|
||||
@ -467,8 +478,7 @@
|
||||
<p>注意,<code>yarn install --flat</code> 命令将会自动在 <code>package.json</code> 文件里加入 <code>resolutions</code> 字段。</p>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="另见"><a aria-hidden="true" tabindex="-1" href="#另见"><span class="icon icon-link"></span></a>另见</h2><div class="wrap-body">
|
||||
<ul>
|
||||
<li><a href="https://jaywcjlove.github.io/package.json">PACKAGE.JSON 中文说明</a> <em>(github.io)</em></li>
|
||||
<li><a href="https://jaywcjlove.github.io/package.json">PACKAGE.JSON 中文说明</a> <em>(github.io)</em></li>
|
||||
</ul>
|
||||
|
||||
</div></div></div></div></div><footer class="footer-wrap"><footer class="max-container">© 2022 Kenny Wang, All rights reserved.</footer></footer></body>
|
||||
</html>
|
||||
|
@ -41,7 +41,8 @@
|
||||
<p>简单的将仓库克隆下来本地调试页面展示。</p>
|
||||
</div></div><div class="h3wrap-body"><div class="wrap"><div class="wrap-header h4wrap"><h4 id="克隆仓库"><a aria-hidden="true" tabindex="-1" href="#克隆仓库"><span class="icon icon-link"></span></a>克隆仓库</h4><div class="wrap-body">
|
||||
<pre class="wrap-text "><code class="language-shell code-highlight"><span class="code-line line-number" line="1"><span class="token function">git</span> clone git@github.com:jaywcjlove/reference.git
|
||||
</span></code></pre><!--rehype:className=wrap-text -->
|
||||
</span></code></pre>
|
||||
<!--rehype:className=wrap-text -->
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h4wrap"><h4 id="安装依赖编译生成-html-页面"><a aria-hidden="true" tabindex="-1" href="#安装依赖编译生成-html-页面"><span class="icon icon-link"></span></a>安装依赖编译生成 HTML 页面</h4><div class="wrap-body">
|
||||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line line-number" line="1"><span class="token function">npm</span> i <span class="token comment"># 安装依赖</span>
|
||||
</span><span class="code-line line-number" line="2"><span class="token function">npm</span> run build <span class="token comment"># 编译输出 HTML</span>
|
||||
@ -55,16 +56,19 @@
|
||||
</span><span class="code-line line-number" line="3">
|
||||
</span><span class="code-line line-number" line="4">卡片 Markdown 内容展示,下面注释语法为文字内容改变样式
|
||||
</span><span class="code-line line-number" line="5"><span class="token comment"><!--rehype:style=color: red;--></span>
|
||||
</span></code></pre><!--rehype:className=wrap-text -->
|
||||
</span></code></pre>
|
||||
<!--rehype:className=wrap-text -->
|
||||
<p>使用 <code>col-span-2</code> 类标识,卡片占 <code>2</code> 列位置</p>
|
||||
</div></div></div><div class="wrap row-span-3"><div class="wrap-header h3wrap"><h3 style="color:black;background-color: #d7a100;" id="注释语法介绍"><a aria-hidden="true" tabindex="-1" href="#注释语法介绍"><span class="icon icon-link"></span></a>注释语法介绍</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-3&style=color:black;background-color: #d7a100;-->
|
||||
</div></div></div><div class="wrap row-span-3"><div class="wrap-header h3wrap"><h3 style="color:black;background-color: #d7a100;" id="注释语法介绍"><a aria-hidden="true" tabindex="-1" href="#注释语法介绍"><span class="icon icon-link"></span></a>注释语法介绍</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-3&style=color:black;background-color: #d7a100;-->
|
||||
<ul>
|
||||
<li>在某个 Markdown 语法下方或者后面,添加 HTML注释</li>
|
||||
<li>以 <code><!--rehype:</code> 开始,<code>--></code> 结束,包裹参数内容</li>
|
||||
<li>内容采用 URL 参数的字符拼接方式</li>
|
||||
<li>在某个 Markdown 语法下方或者后面,添加 HTML注释</li>
|
||||
<li>以 <code><!--rehype:</code> 开始,<code>--></code> 结束,包裹参数内容</li>
|
||||
<li>内容采用 URL 参数的字符拼接方式</li>
|
||||
</ul>
|
||||
</div></div><div class="h3wrap-body"><div class="wrap"><div class="wrap-header h4wrap"><h4 id="语法"><a aria-hidden="true" tabindex="-1" href="#语法"><span class="icon icon-link"></span></a>语法</h4><div class="wrap-body">
|
||||
<p><code><!--rehype:</code> + <code>key=value</code> + <code>&</code> + <code>key=value</code> + <code>--></code><br><code>标识开始</code> + <code>参数</code> + <code>分隔符</code> + <code>参数</code> + <code>标识结束</code></p>
|
||||
<p><code><!--rehype:</code> + <code>key=value</code> + <code>&</code> + <code>key=value</code> + <code>--></code><br>
|
||||
<code>标识开始</code> + <code>参数</code> + <code>分隔符</code> + <code>参数</code> + <code>标识结束</code></p>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h4wrap"><h4 id="示例"><a aria-hidden="true" tabindex="-1" href="#示例"><span class="icon icon-link"></span></a>示例</h4><div class="wrap-body">
|
||||
<pre class="language-markdown"><code class="language-markdown code-highlight"><span class="code-line line-number" line="1"><span class="token title important"><span class="token punctuation">###</span> H2 部分</span>
|
||||
</span><span class="code-line line-number" line="2"><span class="token comment"><!--rehype:body-class=cols-2--></span>
|
||||
@ -75,34 +79,35 @@
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h4wrap"><h4 id="示例三行占位标题红色"><a aria-hidden="true" tabindex="-1" href="#示例三行占位标题红色"><span class="icon icon-link"></span></a>示例,三行占位,标题红色</h4><div class="wrap-body">
|
||||
<pre class="wrap-text "><code class="language-markdown code-highlight"><span class="code-line line-number" line="1"><span class="token title important"><span class="token punctuation">###</span> 标题</span>
|
||||
</span><span class="code-line line-number" line="2"><span class="token comment"><!--rehype:wrap-class=row-span-3&style=color:red;--></span>
|
||||
</span></code></pre><!--rehype:className=wrap-text -->
|
||||
</span></code></pre>
|
||||
<!--rehype:className=wrap-text -->
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h4wrap"><h4 id="参数说明"><a aria-hidden="true" tabindex="-1" href="#参数说明"><span class="icon icon-link"></span></a>参数说明</h4><div class="wrap-body">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>类</th>
|
||||
<th>说明</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>body-style</code></td>
|
||||
<td>包裹所有卡片<code>外壳</code>的样式</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>body-class</code></td>
|
||||
<td>用于卡片栏布局,添加<code>类</code>名</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>wrap-style</code></td>
|
||||
<td>卡片栏添加 CSS 样式</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>wrap-class</code></td>
|
||||
<td>用于卡片占位,添加<code>类</code>名</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th>类</th><th>说明</th></tr></thead><tbody><tr><td><code>body-style</code></td><td>包裹所有卡片<code>外壳</code>的样式</td></tr><tr><td><code>body-class</code></td><td>用于卡片栏布局,添加<code>类</code>名</td></tr><tr><td><code>wrap-style</code></td><td>卡片栏添加 CSS 样式</td></tr><tr><td><code>wrap-class</code></td><td>用于卡片占位,添加<code>类</code>名</td></tr></tbody></table>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="文字颜色"><a aria-hidden="true" tabindex="-1" href="#文字颜色"><span class="icon icon-link"></span></a>文字颜色</h3><div class="wrap-body">
|
||||
<pre class="language-markdown"><code class="language-markdown code-highlight"><span class="code-line line-number" line="1"><span class="token italic"><span class="token punctuation">_</span><span class="token content">我是红色</span><span class="token punctuation">_</span></span><span class="token comment"><!--rehype:style=color: red;--></span>
|
||||
</span><span class="code-line line-number" line="2"><span class="token bold"><span class="token punctuation">**</span><span class="token content">加粗红色</span><span class="token punctuation">**</span></span><span class="token comment"><!--rehype:style=color: red;--></span>
|
||||
@ -111,7 +116,8 @@
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="文字大小"><a aria-hidden="true" tabindex="-1" href="#文字大小"><span class="icon icon-link"></span></a>文字大小</h3><div class="wrap-body">
|
||||
<pre class="wrap-text "><code class="language-markdown code-highlight"><span class="code-line line-number" line="1"><span class="token bold"><span class="token punctuation">**</span><span class="token content">加粗变大红色</span><span class="token punctuation">**</span></span>
|
||||
</span><span class="code-line line-number" line="2"><span class="token comment"><!--rehype:style=color: red;font-size: 18px--></span>
|
||||
</span></code></pre><!--rehype:className=wrap-text -->
|
||||
</span></code></pre>
|
||||
<!--rehype:className=wrap-text -->
|
||||
<p>上面添加注释样式,文字 <em style="color: red;font-size: 18px">加粗变大红色</em><!--rehype:style=color: red;font-size: 18px--> 变<code>红</code>并且<code>大</code>了</p>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="强制换行"><a aria-hidden="true" tabindex="-1" href="#强制换行"><span class="icon icon-link"></span></a>强制换行</h3><div class="wrap-body">
|
||||
<pre class="language-markdown"><code class="language-markdown code-highlight"><span class="code-line line-number" line="1">\```js
|
||||
@ -130,16 +136,89 @@
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="tooltips"><a aria-hidden="true" tabindex="-1" href="#tooltips"><span class="icon icon-link"></span></a>Tooltips</h3><div class="wrap-body">
|
||||
<p><a href="https://github.com/jaywcjlove/reference" class="tooltip">鼠标移动到上面有提示<em class="tooltiptext">Tooltips 的提示内容</em></a></p>
|
||||
<p>添加注释配置 <code><!--rehype:tooltips--></code> 添加一个 Tooltips 提示。</p>
|
||||
</div></div></div><div class="wrap" style="background: #00c69357;"><div class="wrap-header h3wrap"><h3 id="h3-部分卡片背景颜色"><a aria-hidden="true" tabindex="-1" href="#h3-部分卡片背景颜色"><span class="icon icon-link"></span></a>H3 部分(卡片)背景颜色</h3><div class="wrap-body"><!--rehype:wrap-style=background: #00c69357;-->
|
||||
</div></div></div><div class="wrap" style="background: #00c69357;"><div class="wrap-header h3wrap"><h3 id="h3-部分卡片背景颜色"><a aria-hidden="true" tabindex="-1" href="#h3-部分卡片背景颜色"><span class="icon icon-link"></span></a>H3 部分(卡片)背景颜色</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-style=background: #00c69357;-->
|
||||
<pre class="wrap-text "><code class="language-markdown code-highlight"><span class="code-line line-number" line="1"><span class="token title important"><span class="token punctuation">###</span> H3 部分(卡片)背景颜色</span>
|
||||
</span><span class="code-line line-number" line="2"><span class="token comment"><!--rehype:wrap-style=background: #00c69357;--></span>
|
||||
</span></code></pre><!--rehype:className=wrap-text -->
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 style="background:#e91e63;" id="红色标题"><a aria-hidden="true" tabindex="-1" href="#红色标题"><span class="icon icon-link"></span></a>红色标题</h3><div class="wrap-body"><!--rehype:style=background:#e91e63;-->
|
||||
</span></code></pre>
|
||||
<!--rehype:className=wrap-text -->
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 style="background:#e91e63;" id="红色标题"><a aria-hidden="true" tabindex="-1" href="#红色标题"><span class="icon icon-link"></span></a>红色标题</h3><div class="wrap-body">
|
||||
<!--rehype:style=background:#e91e63;-->
|
||||
<pre class="language-markdown"><code class="language-markdown code-highlight"><span class="code-line line-number" line="1"><span class="token title important"><span class="token punctuation">###</span> 红色标题</span>
|
||||
</span><span class="code-line line-number" line="2"><span class="token comment"><!--rehype:style=background:#e91e63;--></span>
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="快捷键样式"><a aria-hidden="true" tabindex="-1" href="#快捷键样式"><span class="icon icon-link"></span></a>快捷键样式</h3><div class="wrap-body">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table class="shortcuts"><thead><tr><th>Key</th><th>value</th></tr></thead><tbody><tr><td><code>快捷键</code></td><td>说明</td></tr><tr><td><code>快捷键</code></td><td>说明</td></tr></tbody></table>
|
||||
<!--rehype:className=shortcuts-->
|
||||
<p>列表添加 <code><!--rehype:className=shortcuts--></code> 样式类,展示快捷键样式。</p>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="内置类样式"><a aria-hidden="true" tabindex="-1" href="#内置类样式"><span class="icon icon-link"></span></a>内置类样式</h3><div class="wrap-body">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table class="shortcuts"><thead><tr><th align="left">:-</th><th>-</th></tr></thead><tbody><tr><td align="left"><code>shortcuts</code></td><td>快捷键样式</td></tr><tr><td align="left"><code>wrap-text</code></td><td>超出换行</td></tr><tr><td align="left"><code>show-header</code></td><td>展示表头</td></tr></tbody></table>
|
||||
<!--rehype:className=shortcuts-->
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="颜色标签"><a aria-hidden="true" tabindex="-1" href="#颜色标签"><span class="icon icon-link"></span></a>颜色标签</h3><div class="wrap-body">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table class="shortcuts"><thead><tr><th align="left">:-</th><th>-</th></tr></thead><tbody><tr><td align="left"><code><yel></code></td><td>黄色</td></tr><tr><td align="left"><code><pur></code></td><td>紫色</td></tr><tr><td align="left"><code><code></code> 或 <code>``</code></td><td>绿色</td></tr></tbody></table>
|
||||
<!--rehype:className=shortcuts-->
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="布局"><a aria-hidden="true" tabindex="-1" href="#布局"><span class="icon icon-link"></span></a>布局</h2><div class="wrap-body">
|
||||
</div></div><div class="h2wrap-body"><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="h2-部分"><a aria-hidden="true" tabindex="-1" href="#h2-部分"><span class="icon icon-link"></span></a>H2 部分</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-2-->
|
||||
</div></div><div class="h2wrap-body"><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="h2-部分"><a aria-hidden="true" tabindex="-1" href="#h2-部分"><span class="icon icon-link"></span></a>H2 部分</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
<pre class="language-markdown"><code class="language-markdown code-highlight"><span class="code-line line-number" line="1"><span class="token title important">H2 部分
|
||||
</span></span><span class="code-line line-number" line="2"><span class="token title important"><span class="token punctuation">---</span></span>
|
||||
</span><span class="code-line line-number" line="3">
|
||||
@ -156,45 +235,48 @@
|
||||
</span><span class="code-line line-number" line="6"><span class="token title important"><span class="token punctuation">###</span> 卡片 3 (H3 部分)</span>
|
||||
</span></code></pre>
|
||||
<p>使用注释配置为 H2 部分 添加 <code>col-span-2</code> 类,将 <del><code>3</code></del> 栏布局变成 <code>2</code> 栏布局。</p>
|
||||
<table class="show-header ">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>类</th>
|
||||
<th>说明</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>cols-1</code></td>
|
||||
<td><code>1</code> 栏卡片布局</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>cols-2</code></td>
|
||||
<td><code>2</code> 栏卡片布局</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>cols-3</code></td>
|
||||
<td><code>3</code> 栏卡片布局</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>cols-4</code></td>
|
||||
<td><code>4</code> 栏卡片布局</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>cols-5</code></td>
|
||||
<td><code>5</code> 栏卡片布局</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table><!--rehype:className=show-header -->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table class="show-header "><thead><tr><th>类</th><th>说明</th></tr></thead><tbody><tr><td><code>cols-1</code></td><td><code>1</code> 栏卡片布局</td></tr><tr><td><code>cols-2</code></td><td><code>2</code> 栏卡片布局</td></tr><tr><td><code>cols-3</code></td><td><code>3</code> 栏卡片布局</td></tr><tr><td><code>cols-4</code></td><td><code>4</code> 栏卡片布局</td></tr><tr><td><code>cols-5</code></td><td><code>5</code> 栏卡片布局</td></tr></tbody></table>
|
||||
<!--rehype:className=show-header -->
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="占位布局-style-写法"><a aria-hidden="true" tabindex="-1" href="#占位布局-style-写法"><span class="icon icon-link"></span></a>占位布局 style 写法</h3><div class="wrap-body">
|
||||
<pre class="wrap-text "><code class="language-markdown code-highlight"><span class="code-line line-number" line="1"><span class="token title important"><span class="token punctuation">###</span> H3 部分</span>
|
||||
</span><span class="code-line line-number" line="2"><span class="token comment"><!--rehype:wrap-style=grid-row: span 2/span 2;--></span>
|
||||
</span></code></pre><!--rehype:className=wrap-text -->
|
||||
</span></code></pre>
|
||||
<!--rehype:className=wrap-text -->
|
||||
<p>放在 <code>### H3 部分</code> 下面的注释配置,与 <code><!--rehype:wrap-class=row-span-2--></code> 相同,设置 2 行占位布局。</p>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="卡片栏布局-style-写法"><a aria-hidden="true" tabindex="-1" href="#卡片栏布局-style-写法"><span class="icon icon-link"></span></a>卡片栏布局 style 写法</h3><div class="wrap-body">
|
||||
<pre class="wrap-text "><code class="language-markdown code-highlight"><span class="code-line line-number" line="1"><span class="token title important"><span class="token punctuation">##</span> H2 部分</span>
|
||||
</span><span class="code-line line-number" line="2"><span class="token comment"><!--rehype:body-style=grid-template-columns: repeat(2,minmax(0,1fr));--></span>
|
||||
</span></code></pre><!--rehype:className=wrap-text -->
|
||||
</span></code></pre>
|
||||
<!--rehype:className=wrap-text -->
|
||||
<p>放在 <code>## H2 部分</code> 下面的注释配置,与 <code><!--rehype:body-class=cols-2--></code> 相同,设置 2 栏布局。</p>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="h3-部分"><a aria-hidden="true" tabindex="-1" href="#h3-部分"><span class="icon icon-link"></span></a>H3 部分</h3><div class="wrap-body">
|
||||
<pre class="language-markdown"><code class="language-markdown code-highlight"><span class="code-line line-number" line="1"><span class="token title important"><span class="token punctuation">###</span> 卡片 1 (H3 部分)</span>
|
||||
@ -203,40 +285,41 @@
|
||||
</span><span class="code-line line-number" line="4"><span class="token comment"><!--rehype:wrap-class=col-span-3--></span>
|
||||
</span><span class="code-line line-number" line="5"><span class="token title important"><span class="token punctuation">###</span> 卡片 3 (H3 部分)</span>
|
||||
</span></code></pre>
|
||||
<table class="show-header ">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>类</th>
|
||||
<th>说明</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>col-span-2</code></td>
|
||||
<td><code>2</code> 列占位</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>col-span-3</code></td>
|
||||
<td><code>3</code> 列占位</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>col-span-4</code></td>
|
||||
<td><code>4</code> 列占位</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>row-span-2</code></td>
|
||||
<td><code>2</code> 行占位</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>row-span-3</code></td>
|
||||
<td><code>3</code> 行占位</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>row-span-4</code></td>
|
||||
<td><code>4</code> 行占位</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table><!--rehype:className=show-header -->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table class="show-header "><thead><tr><th>类</th><th>说明</th></tr></thead><tbody><tr><td><code>col-span-2</code></td><td><code>2</code> 列占位</td></tr><tr><td><code>col-span-3</code></td><td><code>3</code> 列占位</td></tr><tr><td><code>col-span-4</code></td><td><code>4</code> 列占位</td></tr><tr><td><code>row-span-2</code></td><td><code>2</code> 行占位</td></tr><tr><td><code>row-span-3</code></td><td><code>3</code> 行占位</td></tr><tr><td><code>row-span-4</code></td><td><code>4</code> 行占位</td></tr></tbody></table>
|
||||
<!--rehype:className=show-header -->
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="卡片合并行布局-1"><a aria-hidden="true" tabindex="-1" href="#卡片合并行布局-1"><span class="icon icon-link"></span></a>卡片合并行布局 1</h3><div class="wrap-body">
|
||||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line line-number" line="1">╭┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈╮
|
||||
</span><span class="code-line line-number" line="2">┆ H3 Title <span class="token number">1</span> ┆
|
||||
@ -357,7 +440,8 @@
|
||||
</span><span class="code-line line-number" line="6"><span class="token title important"><span class="token punctuation">###</span> Title 5</span>
|
||||
</span></code></pre>
|
||||
<p>在 <code>Title 4</code> 标题添加 <code>col-span-2</code> 占位类</p>
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="卡片列合并布局-8"><a aria-hidden="true" tabindex="-1" href="#卡片列合并布局-8"><span class="icon icon-link"></span></a>卡片列合并布局 8</h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2-->
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="卡片列合并布局-8"><a aria-hidden="true" tabindex="-1" href="#卡片列合并布局-8"><span class="icon icon-link"></span></a>卡片列合并布局 8</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line line-number" line="1">╭┈┈┈┈┈┈┈┈┈╮ ╭┈┈┈╮
|
||||
</span><span class="code-line line-number" line="2">┆ <span class="token number">1</span> ┆ ┆ <span class="token number">2</span> ┆
|
||||
</span><span class="code-line line-number" line="3">┆ ┆ ╰┈┈┈╯
|
||||
@ -381,146 +465,151 @@
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="表格"><a aria-hidden="true" tabindex="-1" href="#表格"><span class="icon icon-link"></span></a>表格</h2><div class="wrap-body">
|
||||
</div></div><div class="h2wrap-body"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="基本表格"><a aria-hidden="true" tabindex="-1" href="#基本表格"><span class="icon icon-link"></span></a>基本表格</h3><div class="wrap-body">
|
||||
</div></div><div class="h3wrap-body"><div class="wrap"><div class="wrap-header h4wrap"><h4 id="date"><a aria-hidden="true" tabindex="-1" href="#date"><span class="icon icon-link"></span></a>Date</h4><div class="wrap-body">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>%m/%d/%Y</code></td>
|
||||
<td>06/05/2013</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>%A, %B %e, %Y</code></td>
|
||||
<td>Sunday, June 5, 2013</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>%b %e %a</code></td>
|
||||
<td>Jun 5 Sun</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><code>%m/%d/%Y</code></td><td>06/05/2013</td></tr><tr><td><code>%A, %B %e, %Y</code></td><td>Sunday, June 5, 2013</td></tr><tr><td><code>%b %e %a</code></td><td>Jun 5 Sun</td></tr></tbody></table>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h4wrap"><h4 id="time"><a aria-hidden="true" tabindex="-1" href="#time"><span class="icon icon-link"></span></a>Time</h4><div class="wrap-body">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>%H:%M</code></td>
|
||||
<td>23:05</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>%I:%M %p</code></td>
|
||||
<td>11:05 PM</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><code>%H:%M</code></td><td>23:05</td></tr><tr><td><code>%I:%M %p</code></td><td>11:05 PM</td></tr></tbody></table>
|
||||
<p>标题为 <code>H4</code> 的基本表格。</p>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="快捷键"><a aria-hidden="true" tabindex="-1" href="#快捷键"><span class="icon icon-link"></span></a>快捷键</h3><div class="wrap-body">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>V</code></td>
|
||||
<td>Vector</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>P</code></td>
|
||||
<td>Pencil</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>T</code></td>
|
||||
<td>Text</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>L</code></td>
|
||||
<td>Line</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>R</code></td>
|
||||
<td>Rectangle</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>O</code></td>
|
||||
<td>Oval</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>U</code></td>
|
||||
<td>Rounded</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><code>V</code></td><td>Vector</td></tr><tr><td><code>P</code></td><td>Pencil</td></tr><tr><td><code>T</code></td><td>Text</td></tr><tr><td><code>L</code></td><td>Line</td></tr><tr><td><code>R</code></td><td>Rectangle</td></tr><tr><td><code>O</code></td><td>Oval</td></tr><tr><td><code>U</code></td><td>Rounded</td></tr></tbody></table>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="展示标题"><a aria-hidden="true" tabindex="-1" href="#展示标题"><span class="icon icon-link"></span></a>展示标题</h3><div class="wrap-body">
|
||||
<table class="show-header">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Prefix</th>
|
||||
<th>Example</th>
|
||||
<th>What</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>//</code></td>
|
||||
<td><code>//hr[@class='edge']</code></td>
|
||||
<td>Anywhere</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>./</code></td>
|
||||
<td><code>./a</code></td>
|
||||
<td>Relative</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>/</code></td>
|
||||
<td><code>/html/body/div</code></td>
|
||||
<td>Root</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table><!--rehype:className=show-header-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table class="show-header"><thead><tr><th>Prefix</th><th>Example</th><th>What</th></tr></thead><tbody><tr><td><code>//</code></td><td><code>//hr[@class='edge']</code></td><td>Anywhere</td></tr><tr><td><code>./</code></td><td><code>./a</code></td><td>Relative</td></tr><tr><td><code>/</code></td><td><code>/html/body/div</code></td><td>Root</td></tr></tbody></table>
|
||||
<!--rehype:className=show-header-->
|
||||
<p><code><!--rehype:className=show-header--></code></p>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="列表"><a aria-hidden="true" tabindex="-1" href="#列表"><span class="icon icon-link"></span></a>列表</h2><div class="wrap-body">
|
||||
</div></div><div class="h2wrap-body"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="一栏默认"><a aria-hidden="true" tabindex="-1" href="#一栏默认"><span class="icon icon-link"></span></a>一栏(默认)</h3><div class="wrap-body">
|
||||
<ul>
|
||||
<li>Item 1</li>
|
||||
<li>Item 2</li>
|
||||
<li>Item 3</li>
|
||||
<li>Item 1</li>
|
||||
<li>Item 2</li>
|
||||
<li>Item 3</li>
|
||||
</ul>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="四列"><a aria-hidden="true" tabindex="-1" href="#四列"><span class="icon icon-link"></span></a>四列</h3><div class="wrap-body">
|
||||
<ul class="cols-4">
|
||||
<li>Item 1</li>
|
||||
<li>Item 2</li>
|
||||
<li>Item 3</li>
|
||||
<li>Item 4</li>
|
||||
<li>Item 5</li>
|
||||
<li>Item 6</li>
|
||||
<li>Item 7</li>
|
||||
<li>Item 8</li>
|
||||
</ul><!--rehype:className=cols-4-->
|
||||
<li>Item 1</li>
|
||||
<li>Item 2</li>
|
||||
<li>Item 3</li>
|
||||
<li>Item 4</li>
|
||||
<li>Item 5</li>
|
||||
<li>Item 6</li>
|
||||
<li>Item 7</li>
|
||||
<li>Item 8</li>
|
||||
</ul>
|
||||
<!--rehype:className=cols-4-->
|
||||
<p><code><!--rehype:className=cols-4--></code></p>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="没有标记"><a aria-hidden="true" tabindex="-1" href="#没有标记"><span class="icon icon-link"></span></a>没有标记</h3><div class="wrap-body">
|
||||
<ul class="cols-3 style-none">
|
||||
<li>Item 1</li>
|
||||
<li>Item 2</li>
|
||||
<li>Item 3</li>
|
||||
<li>Item 4</li>
|
||||
<li>Item 5</li>
|
||||
<li>Item 6</li>
|
||||
</ul><!--rehype:className=cols-3 style-none-->
|
||||
<li>Item 1</li>
|
||||
<li>Item 2</li>
|
||||
<li>Item 3</li>
|
||||
<li>Item 4</li>
|
||||
<li>Item 5</li>
|
||||
<li>Item 6</li>
|
||||
</ul>
|
||||
<!--rehype:className=cols-3 style-none-->
|
||||
<p><code><!--rehype:className=cols-3 style-none--></code></p>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="h2-部分---5列效果展示"><a aria-hidden="true" tabindex="-1" href="#h2-部分---5列效果展示"><span class="icon icon-link"></span></a>H2 部分 - 5列效果展示</h2><div class="wrap-body"><!--rehype:body-class=cols-5-->
|
||||
</div></div><div class="h2wrap-body cols-5"><div class="wrap" style="background:#dba300;"><div class="wrap-header h3wrap"><h3 id="one"><a aria-hidden="true" tabindex="-1" href="#one"><span class="icon icon-link"></span></a>One</h3><div class="wrap-body"><!--rehype:wrap-style=background:#dba300;-->
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="h2-部分---5列效果展示"><a aria-hidden="true" tabindex="-1" href="#h2-部分---5列效果展示"><span class="icon icon-link"></span></a>H2 部分 - 5列效果展示</h2><div class="wrap-body">
|
||||
<!--rehype:body-class=cols-5-->
|
||||
</div></div><div class="h2wrap-body cols-5"><div class="wrap" style="background:#dba300;"><div class="wrap-header h3wrap"><h3 id="one"><a aria-hidden="true" tabindex="-1" href="#one"><span class="icon icon-link"></span></a>One</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-style=background:#dba300;-->
|
||||
<pre><code class="code-highlight"><span class="code-line line-number" line="1">...
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="two"><a aria-hidden="true" tabindex="-1" href="#two"><span class="icon icon-link"></span></a>Two</h3><div class="wrap-body">
|
||||
@ -536,46 +625,52 @@
|
||||
<pre><code class="code-highlight"><span class="code-line line-number" line="1">...
|
||||
</span></code></pre>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="h3-部分---占位效果展示"><a aria-hidden="true" tabindex="-1" href="#h3-部分---占位效果展示"><span class="icon icon-link"></span></a>H3 部分 - 占位效果展示</h2><div class="wrap-body">
|
||||
</div></div><div class="h2wrap-body"><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="row-span-2"><a aria-hidden="true" tabindex="-1" href="#row-span-2"><span class="icon icon-link"></span></a>row-span-2</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-2-->
|
||||
</div></div><div class="h2wrap-body"><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="row-span-2"><a aria-hidden="true" tabindex="-1" href="#row-span-2"><span class="icon icon-link"></span></a>row-span-2</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
<pre><code class="code-highlight"><span class="code-line line-number" line="1">...
|
||||
</span></code></pre>
|
||||
<p><code><!--rehype:wrap-class=row-span-2--></code></p>
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="col-span-2"><a aria-hidden="true" tabindex="-1" href="#col-span-2"><span class="icon icon-link"></span></a>col-span-2</h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2-->
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="col-span-2"><a aria-hidden="true" tabindex="-1" href="#col-span-2"><span class="icon icon-link"></span></a>col-span-2</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
<pre><code class="code-highlight"><span class="code-line line-number" line="1">...
|
||||
</span></code></pre>
|
||||
<p><code><!--rehype:wrap-class=col-span-2--></code></p>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 style="background:#e91e63;" id="红色标题-1"><a aria-hidden="true" tabindex="-1" href="#红色标题-1"><span class="icon icon-link"></span></a>红色标题</h3><div class="wrap-body"><!--rehype:style=background:#e91e63;-->
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 style="background:#e91e63;" id="红色标题-1"><a aria-hidden="true" tabindex="-1" href="#红色标题-1"><span class="icon icon-link"></span></a>红色标题</h3><div class="wrap-body">
|
||||
<!--rehype:style=background:#e91e63;-->
|
||||
<pre><code class="code-highlight"><span class="code-line line-number" line="1">...
|
||||
</span></code></pre>
|
||||
<p><code><!--rehype:style=background:#e91e63;--></code></p>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 style="background:#d7a100;" id="黄色标题"><a aria-hidden="true" tabindex="-1" href="#黄色标题"><span class="icon icon-link"></span></a>黄色标题</h3><div class="wrap-body"><!--rehype:style=background:#d7a100;-->
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 style="background:#d7a100;" id="黄色标题"><a aria-hidden="true" tabindex="-1" href="#黄色标题"><span class="icon icon-link"></span></a>黄色标题</h3><div class="wrap-body">
|
||||
<!--rehype:style=background:#d7a100;-->
|
||||
<pre><code class="code-highlight"><span class="code-line line-number" line="1">...
|
||||
</span></code></pre>
|
||||
<p><code><!--rehype:style=background:#d7a100;--></code></p>
|
||||
</div></div></div><div class="wrap col-span-3"><div class="wrap-header h3wrap"><h3 id="col-span-3"><a aria-hidden="true" tabindex="-1" href="#col-span-3"><span class="icon icon-link"></span></a>col-span-3</h3><div class="wrap-body"><!--rehype:wrap-class=col-span-3-->
|
||||
</div></div></div><div class="wrap col-span-3"><div class="wrap-header h3wrap"><h3 id="col-span-3"><a aria-hidden="true" tabindex="-1" href="#col-span-3"><span class="icon icon-link"></span></a>col-span-3</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-3-->
|
||||
<pre><code class="code-highlight"><span class="code-line line-number" line="1">...
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="卡片子项"><a aria-hidden="true" tabindex="-1" href="#卡片子项"><span class="icon icon-link"></span></a>卡片子项</h3><div class="wrap-body">
|
||||
<p>每个部分可以有以下子项:</p>
|
||||
</div></div><div class="h3wrap-body"><div class="wrap"><div class="wrap-header h4wrap"><h4 id="h4-子标题"><a aria-hidden="true" tabindex="-1" href="#h4-子标题"><span class="icon icon-link"></span></a>H4 子标题</h4><div class="wrap-body">
|
||||
<ul>
|
||||
<li>pre</li>
|
||||
<li>table</li>
|
||||
<li>ul</li>
|
||||
<li>pre</li>
|
||||
<li>table</li>
|
||||
<li>ul</li>
|
||||
</ul>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h4wrap"><h4 id="h4-子标题-1"><a aria-hidden="true" tabindex="-1" href="#h4-子标题-1"><span class="icon icon-link"></span></a>H4 子标题</h4><div class="wrap-body">
|
||||
<ul>
|
||||
<li>pre</li>
|
||||
<li>table</li>
|
||||
<li>ul</li>
|
||||
<li>pre</li>
|
||||
<li>table</li>
|
||||
<li>ul</li>
|
||||
</ul>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="h3-部分-1"><a aria-hidden="true" tabindex="-1" href="#h3-部分-1"><span class="icon icon-link"></span></a>H3 部分</h3><div class="wrap-body">
|
||||
<p>每个盒子(卡片)都是一个 <code>H3</code> 部分。 盒子将包含 <code>H3</code> 自身内的所有东西。</p>
|
||||
<p>这是一个包含段落的基本部分。</p>
|
||||
</div></div></div><div class="wrap" style="background: #1b5064;"><div class="wrap-header h3wrap"><h3 id="h3-部分背景颜色"><a aria-hidden="true" tabindex="-1" href="#h3-部分背景颜色"><span class="icon icon-link"></span></a>H3 部分背景颜色</h3><div class="wrap-body"><!--rehype:wrap-style=background: #1b5064;-->
|
||||
</div></div></div><div class="wrap" style="background: #1b5064;"><div class="wrap-header h3wrap"><h3 id="h3-部分背景颜色"><a aria-hidden="true" tabindex="-1" href="#h3-部分背景颜色"><span class="icon icon-link"></span></a>H3 部分背景颜色</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-style=background: #1b5064;-->
|
||||
<pre class="wrap-text "><code class="language-markdown code-highlight"><span class="code-line line-number" line="1">注释配置:
|
||||
</span><span class="code-line line-number" line="2"><span class="token code-snippet code keyword">`<!--rehype:wrap-style=background: #1b5064;-->`</span>
|
||||
</span></code></pre><!--rehype:className=wrap-text -->
|
||||
|
||||
</span></code></pre>
|
||||
<!--rehype:className=wrap-text -->
|
||||
</div></div></div></div></div></div></div><footer class="footer-wrap"><footer class="max-container">© 2022 Kenny Wang, All rights reserved.</footer></footer></body>
|
||||
</html>
|
||||
|
1729
docs/regex.html
Normal file
1729
docs/regex.html
Normal file
File diff suppressed because it is too large
Load Diff
419
docs/sed.html
419
docs/sed.html
@ -45,43 +45,45 @@
|
||||
</span></code></pre>
|
||||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line line-number" line="1">$ <span class="token builtin class-name">echo</span> <span class="token string">'123abc'</span> <span class="token operator">|</span> <span class="token function">sed</span> <span class="token string">'s/[0-9]+//g'</span>
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="选项示例"><a aria-hidden="true" tabindex="-1" href="#选项示例"><span class="icon icon-link"></span></a>选项示例</h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2-->
|
||||
<table class="show-header">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>参数</th>
|
||||
<th>示例</th>
|
||||
<th>描述</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>-i</code></td>
|
||||
<td>sed -ibak 's/On/Off/' php.ini</td>
|
||||
<td>直接备份和修改输入文件</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-E</code></td>
|
||||
<td>sed -E 's/[0-9]+//g' input-file</td>
|
||||
<td>使用扩展正则表达式</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-n</code></td>
|
||||
<td>sed -n '3 p' config.conf</td>
|
||||
<td>禁止默认图案空间打印</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-f</code></td>
|
||||
<td>sed -f script.sed config.conf</td>
|
||||
<td>执行 sed 脚本文件</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>-e</code></td>
|
||||
<td>sed -e 'command1' -e 'command2' input-file</td>
|
||||
<td>执行多个 sed 命令</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table><!--rehype:className=show-header-->
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="选项示例"><a aria-hidden="true" tabindex="-1" href="#选项示例"><span class="icon icon-link"></span></a>选项示例</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table class="show-header"><thead><tr><th>参数</th><th>示例</th><th>描述</th></tr></thead><tbody><tr><td><code>-i</code></td><td>sed -ibak 's/On/Off/' php.ini</td><td>直接备份和修改输入文件</td></tr><tr><td><code>-E</code></td><td>sed -E 's/[0-9]+//g' input-file</td><td>使用扩展正则表达式</td></tr><tr><td><code>-n</code></td><td>sed -n '3 p' config.conf</td><td>禁止默认图案空间打印</td></tr><tr><td><code>-f</code></td><td>sed -f script.sed config.conf</td><td>执行 sed 脚本文件</td></tr><tr><td><code>-e</code></td><td>sed -e 'command1' -e 'command2' input-file</td><td>执行多个 sed 命令</td></tr></tbody></table>
|
||||
<!--rehype:className=show-header-->
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="多个命令"><a aria-hidden="true" tabindex="-1" href="#多个命令"><span class="icon icon-link"></span></a>多个命令</h3><div class="wrap-body">
|
||||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line line-number" line="1">$ <span class="token builtin class-name">echo</span> <span class="token string">"hello world"</span> <span class="token operator">|</span> <span class="token function">sed</span> <span class="token parameter variable">-e</span> <span class="token string">'s/h/H/g'</span> <span class="token parameter variable">-e</span> <span class="token string">'s/w/W/g'</span>
|
||||
</span><span class="code-line line-number" line="2">Hello World
|
||||
@ -101,181 +103,184 @@
|
||||
</span><span class="code-line line-number" line="4">$ <span class="token function">sed</span> <span class="token string">'s/old/new/g'</span> <span class="token parameter variable">-i.backup</span> file.txt
|
||||
</span></code></pre>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="sed-命令"><a aria-hidden="true" tabindex="-1" href="#sed-命令"><span class="icon icon-link"></span></a>Sed 命令</h2><div class="wrap-body">
|
||||
</div></div><div class="h2wrap-body"><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="命令"><a aria-hidden="true" tabindex="-1" href="#命令"><span class="icon icon-link"></span></a>命令</h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2-->
|
||||
<table class="show-header">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Command</th>
|
||||
<th>Example</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>p</code></td>
|
||||
<td>sed -n '1,4 p' input.txt</td>
|
||||
<td>Print lines 1-4</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>p</code></td>
|
||||
<td>sed -n -e '1,4 p' -e '6,7 p' input.txt</td>
|
||||
<td>Print lines 1-4 and 6-7</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>d</code></td>
|
||||
<td>sed '1,4 d' input.txt</td>
|
||||
<td>Print lines except 1-4</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>w</code></td>
|
||||
<td>sed -n '1,4 w output.txt' input.txt</td>
|
||||
<td>Write pattern space to file</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>a</code></td>
|
||||
<td>sed '2 a new-line' input.txt</td>
|
||||
<td>Append line after</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>i</code></td>
|
||||
<td>sed '2 i new-line' input.txt</td>
|
||||
<td>Insert line before</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table><!--rehype:className=show-header-->
|
||||
</div></div><div class="h2wrap-body"><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="命令"><a aria-hidden="true" tabindex="-1" href="#命令"><span class="icon icon-link"></span></a>命令</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table class="show-header"><thead><tr><th>Command</th><th>Example</th><th>Description</th></tr></thead><tbody><tr><td><code>p</code></td><td>sed -n '1,4 p' input.txt</td><td>Print lines 1-4</td></tr><tr><td><code>p</code></td><td>sed -n -e '1,4 p' -e '6,7 p' input.txt</td><td>Print lines 1-4 and 6-7</td></tr><tr><td><code>d</code></td><td>sed '1,4 d' input.txt</td><td>Print lines except 1-4</td></tr><tr><td><code>w</code></td><td>sed -n '1,4 w output.txt' input.txt</td><td>Write pattern space to file</td></tr><tr><td><code>a</code></td><td>sed '2 a new-line' input.txt</td><td>Append line after</td></tr><tr><td><code>i</code></td><td>sed '2 i new-line' input.txt</td><td>Insert line before</td></tr></tbody></table>
|
||||
<!--rehype:className=show-header-->
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="空间命令"><a aria-hidden="true" tabindex="-1" href="#空间命令"><span class="icon icon-link"></span></a>空间命令</h3><div class="wrap-body">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Command</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>n</code></td>
|
||||
<td>打印模式空间,空模式空间,读取下一行</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>x</code></td>
|
||||
<td>用保持空间交换模式空间</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>h</code></td>
|
||||
<td>复制模式空间以保持空间</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>H</code></td>
|
||||
<td>追加模式空间以保持空间</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>g</code></td>
|
||||
<td>将保持空间复制到模式空间</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>G</code></td>
|
||||
<td>将保持空间附加到模式空间</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th>Command</th><th>Description</th></tr></thead><tbody><tr><td><code>n</code></td><td>打印模式空间,空模式空间,读取下一行</td></tr><tr><td><code>x</code></td><td>用保持空间交换模式空间</td></tr><tr><td><code>h</code></td><td>复制模式空间以保持空间</td></tr><tr><td><code>H</code></td><td>追加模式空间以保持空间</td></tr><tr><td><code>g</code></td><td>将保持空间复制到模式空间</td></tr><tr><td><code>G</code></td><td>将保持空间附加到模式空间</td></tr></tbody></table>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="flags"><a aria-hidden="true" tabindex="-1" href="#flags"><span class="icon icon-link"></span></a>Flags</h3><div class="wrap-body">
|
||||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line line-number" line="1">$ <span class="token function">sed</span> <span class="token string">'s/old/new/[flags]'</span> <span class="token punctuation">[</span>input-file<span class="token punctuation">]</span>
|
||||
</span></code></pre>
|
||||
<hr>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Flag</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>g</code></td>
|
||||
<td>全球替代</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>1,2...</code></td>
|
||||
<td>替换第 n 次出现</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>p</code></td>
|
||||
<td>仅打印替换的行</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>w</code></td>
|
||||
<td>仅将替换的行写入文件</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>I</code></td>
|
||||
<td>搜索时忽略大小写</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>e</code></td>
|
||||
<td>在命令行中替换并执行</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th>Flag</th><th>Description</th></tr></thead><tbody><tr><td><code>g</code></td><td>全球替代</td></tr><tr><td><code>1,2...</code></td><td>替换第 n 次出现</td></tr><tr><td><code>p</code></td><td>仅打印替换的行</td></tr><tr><td><code>w</code></td><td>仅将替换的行写入文件</td></tr><tr><td><code>I</code></td><td>搜索时忽略大小写</td></tr><tr><td><code>e</code></td><td>在命令行中替换并执行</td></tr></tbody></table>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="循环命令"><a aria-hidden="true" tabindex="-1" href="#循环命令"><span class="icon icon-link"></span></a>循环命令</h3><div class="wrap-body">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Command</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>b label</code></td>
|
||||
<td>分支到标签(用于循环)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>t label</code></td>
|
||||
<td>仅在成功替换时分支到标签(用于循环)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>:label</code></td>
|
||||
<td>b 和 t 命令的标签(用于循环)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>N</code></td>
|
||||
<td>将下一行追加到模式空间</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>P</code></td>
|
||||
<td>多行打印第一行</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>D</code></td>
|
||||
<td>删除多行中的第一行</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th>Command</th><th>Description</th></tr></thead><tbody><tr><td><code>b label</code></td><td>分支到标签(用于循环)</td></tr><tr><td><code>t label</code></td><td>仅在成功替换时分支到标签(用于循环)</td></tr><tr><td><code>:label</code></td><td>b 和 t 命令的标签(用于循环)</td></tr><tr><td><code>N</code></td><td>将下一行追加到模式空间</td></tr><tr><td><code>P</code></td><td>多行打印第一行</td></tr><tr><td><code>D</code></td><td>删除多行中的第一行</td></tr></tbody></table>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="杂项标志"><a aria-hidden="true" tabindex="-1" href="#杂项标志"><span class="icon icon-link"></span></a>杂项标志</h3><div class="wrap-body">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Flag</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>/ | ^ @ ! #</code></td>
|
||||
<td>替换分隔符可以是任何字符</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>&</code></td>
|
||||
<td>获取匹配的模式</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>( ) \1 \2 \3</code></td>
|
||||
<td>使用 <code>(</code> 和 <code>)</code> 进行分组。<br>使用 <code>\1</code>、<code>\2</code> 替换来引用组</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th>Flag</th><th>Description</th></tr></thead><tbody><tr><td><code>/ | ^ @ ! #</code></td><td>替换分隔符可以是任何字符</td></tr><tr><td><code>&</code></td><td>获取匹配的模式</td></tr><tr><td><code>( ) \1 \2 \3</code></td><td>使用 <code>(</code> 和 <code>)</code> 进行分组。<br>使用 <code>\1</code>、<code>\2</code> 替换来引用组</td></tr></tbody></table>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="sed-示例"><a aria-hidden="true" tabindex="-1" href="#sed-示例"><span class="icon icon-link"></span></a>Sed 示例</h2><div class="wrap-body">
|
||||
</div></div><div class="h2wrap-body"><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="替换文本"><a aria-hidden="true" tabindex="-1" href="#替换文本"><span class="icon icon-link"></span></a>替换文本</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-2-->
|
||||
</div></div><div class="h2wrap-body"><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="替换文本"><a aria-hidden="true" tabindex="-1" href="#替换文本"><span class="icon icon-link"></span></a>替换文本</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
<p>替换所有出现的字符串</p>
|
||||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line line-number" line="1">$ <span class="token function">sed</span> <span class="token string">'s/old/new/g'</span> file.txt
|
||||
</span></code></pre>
|
||||
@ -317,7 +322,8 @@
|
||||
<p>从第 3 行开始,每 3 行后追加一行</p>
|
||||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line line-number" line="1">$ <span class="token function">sed</span> <span class="token string">'3~3a Some text'</span> file.txt
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="编号"><a aria-hidden="true" tabindex="-1" href="#编号"><span class="icon icon-link"></span></a>编号</h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2-->
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="编号"><a aria-hidden="true" tabindex="-1" href="#编号"><span class="icon icon-link"></span></a>编号</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
<p>文件的数字行(简单的左对齐)</p>
|
||||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line line-number" line="1">$ <span class="token function">sed</span> <span class="token operator">=</span> file.txt <span class="token operator">|</span> <span class="token function">sed</span> <span class="token string">'N;s/\n/\t/'</span>
|
||||
</span></code></pre>
|
||||
@ -380,8 +386,7 @@
|
||||
</span></code></pre>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="另见"><a aria-hidden="true" tabindex="-1" href="#另见"><span class="icon icon-link"></span></a>另见</h2><div class="wrap-body">
|
||||
<ul>
|
||||
<li><a href="https://gist.github.com/ssstonebraker/6140154">sed 备忘单</a> <em>(gist.github.com)</em></li>
|
||||
<li><a href="https://gist.github.com/ssstonebraker/6140154">sed 备忘单</a> <em>(gist.github.com)</em></li>
|
||||
</ul>
|
||||
|
||||
</div></div></div></div></div><footer class="footer-wrap"><footer class="max-container">© 2022 Kenny Wang, All rights reserved.</footer></footer></body>
|
||||
</html>
|
||||
|
397
docs/semver.html
397
docs/semver.html
@ -40,32 +40,32 @@
|
||||
</div></div><div class="h2wrap-body"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="介绍"><a aria-hidden="true" tabindex="-1" href="#介绍"><span class="icon icon-link"></span></a>介绍</h3><div class="wrap-body">
|
||||
<p><a href="http://semver.org/">Semver</a> 是一种语义版本控制规范。</p>
|
||||
<ul>
|
||||
<li><a href="http://semver.org/">语义版本控制规范文档</a> <em>(semver.org)</em></li>
|
||||
<li><a href="https://docs.npmjs.com/cli/v6/using-npm/semver">npm 的语义版本器</a> <em>(npmjs.com)</em></li>
|
||||
<li><a href="http://semver.org/">语义版本控制规范文档</a> <em>(semver.org)</em></li>
|
||||
<li><a href="https://docs.npmjs.com/cli/v6/using-npm/semver">npm 的语义版本器</a> <em>(npmjs.com)</em></li>
|
||||
</ul>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="semver"><a aria-hidden="true" tabindex="-1" href="#semver"><span class="icon icon-link"></span></a>Semver</h3><div class="wrap-body">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>-</th>
|
||||
<th>-</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>主版本号(MAJOR)</code></td>
|
||||
<td>当你做了不兼容的 API 修改</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>次版本号(MINOR)</code></td>
|
||||
<td>当你做了向下兼容的功能性新增</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>修订号(PATCH)</code></td>
|
||||
<td>当你做了向下兼容的问题修正</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th>-</th><th>-</th></tr></thead><tbody><tr><td><code>主版本号(MAJOR)</code></td><td>当你做了不兼容的 API 修改</td></tr><tr><td><code>次版本号(MINOR)</code></td><td>当你做了向下兼容的功能性新增</td></tr><tr><td><code>修订号(PATCH)</code></td><td>当你做了向下兼容的问题修正</td></tr></tbody></table>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="简单范围"><a aria-hidden="true" tabindex="-1" href="#简单范围"><span class="icon icon-link"></span></a>简单范围</h3><div class="wrap-body">
|
||||
<pre><code class="code-highlight"><span class="code-line line-number" line="1"> 1.2.3
|
||||
</span><span class="code-line line-number" line="2"> =1.2.3
|
||||
@ -74,188 +74,195 @@
|
||||
</span><span class="code-line line-number" line="5">>=1.2.3
|
||||
</span></code></pre>
|
||||
<p>请注意,后缀版本(<code>1.2.3-rc1</code>)不匹配。</p>
|
||||
</div></div></div><div class="wrap row-span-3"><div class="wrap-header h3wrap"><h3 id="范围"><a aria-hidden="true" tabindex="-1" href="#范围"><span class="icon icon-link"></span></a>范围</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-3-->
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>范围</th>
|
||||
<th>描述</th>
|
||||
<th>Notes</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>~1.2.3</code></td>
|
||||
<td>是 <code>>=1.2.3 <1.3.0</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>^1.2.3</code></td>
|
||||
<td>是 <code>>=1.2.3 <2.0.0</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>^0.2.3</code></td>
|
||||
<td>是 <code>>=0.2.3 <0.3.0</code></td>
|
||||
<td>(0.x.x 是特殊的)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>^0.0.1</code></td>
|
||||
<td>是 <code>=0.0.1</code></td>
|
||||
<td>(0.0.x 是特殊的)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>^1.2</code></td>
|
||||
<td>是 <code>>=1.2.0 <2.0.0</code></td>
|
||||
<td>(像 ^1.2.0)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>~1.2</code></td>
|
||||
<td>是 <code>>=1.2.0 <1.3.0</code></td>
|
||||
<td>(像 ~1.2.0)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>^1</code></td>
|
||||
<td>是 <code>>=1.0.0 <2.0.0</code></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>~1</code></td>
|
||||
<td>相同的</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>1.x</code></td>
|
||||
<td>相同的</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>1.*</code></td>
|
||||
<td>相同的</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>1</code></td>
|
||||
<td>相同的</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>*</code></td>
|
||||
<td>任何版本</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>x</code></td>
|
||||
<td>相同的</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div></div></div><div class="wrap row-span-3"><div class="wrap-header h3wrap"><h3 id="连字符范围"><a aria-hidden="true" tabindex="-1" href="#连字符范围"><span class="icon icon-link"></span></a>连字符范围</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-3-->
|
||||
<table class="show-header ">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>范围</th>
|
||||
<th>描述</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>1.2.3 - 2.3.4</code></td>
|
||||
<td>是 <code>>=1.2.3 <=2.3.4</code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table><!--rehype:className=show-header -->
|
||||
</div></div></div><div class="wrap row-span-3"><div class="wrap-header h3wrap"><h3 id="范围"><a aria-hidden="true" tabindex="-1" href="#范围"><span class="icon icon-link"></span></a>范围</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-3-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table class="shortcuts"><thead><tr><th>范围</th><th>描述</th><th>Notes</th></tr></thead><tbody><tr><td><code>~1.2.3</code></td><td>是 <code>>=1.2.3 <1.3.0</code></td><td></td></tr><tr><td><code>^1.2.3</code></td><td>是 <code>>=1.2.3 <2.0.0</code></td><td></td></tr><tr><td><code>^0.2.3</code></td><td>是 <code>>=0.2.3 <0.3.0</code></td><td>(0.x.x 是特殊的)</td></tr><tr><td><code>^0.0.1</code></td><td>是 <code>=0.0.1</code></td><td>(0.0.x 是特殊的)</td></tr><tr><td><code>^1.2</code></td><td>是 <code>>=1.2.0 <2.0.0</code></td><td>(像 ^1.2.0)</td></tr><tr><td><code>~1.2</code></td><td>是 <code>>=1.2.0 <1.3.0</code></td><td>(像 ~1.2.0)</td></tr><tr><td><code>^1</code></td><td>是 <code>>=1.0.0 <2.0.0</code></td><td></td></tr><tr><td><code>~1</code></td><td>相同的</td><td></td></tr><tr><td><code>1.x</code></td><td>相同的</td><td></td></tr><tr><td><code>1.*</code></td><td>相同的</td><td></td></tr><tr><td><code>1</code></td><td>相同的</td><td></td></tr><tr><td><code>*</code></td><td>任何版本</td><td></td></tr><tr><td><code>x</code></td><td>相同的</td><td></td></tr></tbody></table>
|
||||
<!--rehype:className=shortcuts-->
|
||||
</div></div></div><div class="wrap row-span-3"><div class="wrap-header h3wrap"><h3 id="连字符范围"><a aria-hidden="true" tabindex="-1" href="#连字符范围"><span class="icon icon-link"></span></a>连字符范围</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-3-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table class="shortcuts show-header"><thead><tr><th>范围</th><th>描述</th></tr></thead><tbody><tr><td><code>1.2.3 - 2.3.4</code></td><td>是 <code>>=1.2.3 <=2.3.4</code></td></tr></tbody></table>
|
||||
<!--rehype:className=shortcuts show-header-->
|
||||
</div></div><div class="h3wrap-body"><div class="wrap"><div class="wrap-header h4wrap"><h4 id="部分向右"><a aria-hidden="true" tabindex="-1" href="#部分向右"><span class="icon icon-link"></span></a>部分向右</h4><div class="wrap-body">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>范围</th>
|
||||
<th>描述</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>1.2.3 - 2.3</code></td>
|
||||
<td>是 <code>>=1.2.3 <2.4.0</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>1.2.3 - 2</code></td>
|
||||
<td>是 <code>>=1.2.3 <3.0.0</code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table class="shortcuts"><thead><tr><th>范围</th><th>描述</th></tr></thead><tbody><tr><td><code>1.2.3 - 2.3</code></td><td>是 <code>>=1.2.3 <2.4.0</code></td></tr><tr><td><code>1.2.3 - 2</code></td><td>是 <code>>=1.2.3 <3.0.0</code></td></tr></tbody></table>
|
||||
<!--rehype:className=shortcuts-->
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h4wrap"><h4 id="部分向左"><a aria-hidden="true" tabindex="-1" href="#部分向左"><span class="icon icon-link"></span></a>部分向左</h4><div class="wrap-body">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>范围</th>
|
||||
<th>描述</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>1.2 - 2.3.0</code></td>
|
||||
<td>是 <code>1.2.0 - 2.3.0</code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table class="shortcuts"><thead><tr><th>范围</th><th>描述</th></tr></thead><tbody><tr><td><code>1.2 - 2.3.0</code></td><td>是 <code>1.2.0 - 2.3.0</code></td></tr></tbody></table>
|
||||
<!--rehype:className=shortcuts-->
|
||||
<p>当右侧为部分(例如,<code>2.3</code>)时,假定缺失的部分为<code>x</code>(例如,<code> 2.3.x</code>)。</p>
|
||||
<p>如果左边是部分的(例如,<code>1.2</code>),则假定缺少的部分为<code>0</code>(例如,<code> 1.2.0</code>)。</p>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="组合范围"><a aria-hidden="true" tabindex="-1" href="#组合范围"><span class="icon icon-link"></span></a>组合范围</h3><div class="wrap-body">
|
||||
<table class="show-header ">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>范围</th>
|
||||
<th>描述</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>>=0.14 <16</code></td>
|
||||
<td>和 (空格分隔)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>0.14.x || 15.x.x</code></td>
|
||||
<td>或 (双竖线分隔)</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table><!--rehype:className=show-header -->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table class="shortcuts show-header"><thead><tr><th>范围</th><th>描述</th></tr></thead><tbody><tr><td><code>>=0.14 <16</code></td><td>和 (空格分隔)</td></tr><tr><td><code>0.14.x || 15.x.x</code></td><td>或 (双竖线分隔)</td></tr></tbody></table>
|
||||
<!--rehype:className=shortcuts show-header-->
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="预发布"><a aria-hidden="true" tabindex="-1" href="#预发布"><span class="icon icon-link"></span></a>预发布</h3><div class="wrap-body">
|
||||
<pre><code class="code-highlight"><span class="code-line line-number" line="1">1.2.3-prerelease+build
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="解释"><a aria-hidden="true" tabindex="-1" href="#解释"><span class="icon icon-link"></span></a>解释</h3><div class="wrap-body">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>范围</th>
|
||||
<th>描述</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>^</code></td>
|
||||
<td>意思是“兼容”</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>~</code></td>
|
||||
<td>意思是“相当接近”</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>0.x.x</code></td>
|
||||
<td>用于“初始开发”</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>1.x.x</code></td>
|
||||
<td>表示定义了公共 API</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table class="shortcuts"><thead><tr><th>范围</th><th>描述</th></tr></thead><tbody><tr><td><code>^</code></td><td>意思是“兼容”</td></tr><tr><td><code>~</code></td><td>意思是“相当接近”</td></tr><tr><td><code>0.x.x</code></td><td>用于“初始开发”</td></tr><tr><td><code>1.x.x</code></td><td>表示定义了公共 API</td></tr></tbody></table>
|
||||
<!--rehype:className=shortcuts-->
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="另见"><a aria-hidden="true" tabindex="-1" href="#另见"><span class="icon icon-link"></span></a>另见</h2><div class="wrap-body">
|
||||
<ul>
|
||||
<li><a href="https://regex101.com/r/vkijKf/1/">语义化版本号验证正则表达式,支持按编号提取的语言</a></li>
|
||||
<li><a href="https://regex101.com/r/Ly7O1x/3/">语义化版本号验证正则表达式,支持按组名称提取的语言</a></li>
|
||||
<li><a href="https://regex101.com/r/vkijKf/1/">语义化版本号验证正则表达式,支持按编号提取的语言</a></li>
|
||||
<li><a href="https://regex101.com/r/Ly7O1x/3/">语义化版本号验证正则表达式,支持按组名称提取的语言</a></li>
|
||||
</ul>
|
||||
|
||||
</div></div></div></div></div><footer class="footer-wrap"><footer class="max-container">© 2022 Kenny Wang, All rights reserved.</footer></footer></body>
|
||||
</html>
|
||||
|
788
docs/sketch.html
788
docs/sketch.html
@ -38,402 +38,410 @@
|
||||
<p>这个 Sketch 快速参考备忘单显示了它的键盘快捷键和命令。</p>
|
||||
</div></header><div class="h1wrap-body"><div class="wrap"><div class="wrap-header h2wrap"><h2 id="快捷键"><a aria-hidden="true" tabindex="-1" href="#快捷键"><span class="icon icon-link"></span></a>快捷键</h2><div class="wrap-body">
|
||||
</div></div><div class="h2wrap-body"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="插入"><a aria-hidden="true" tabindex="-1" href="#插入"><span class="icon icon-link"></span></a>插入</h3><div class="wrap-body">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>快捷键</th>
|
||||
<th>描述</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>a</code></td>
|
||||
<td>(New Artboard) 新画板</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>s</code></td>
|
||||
<td>(Slice) 切片</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>r</code></td>
|
||||
<td>(Rectangle) 长方形</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>d</code></td>
|
||||
<td>(Rounde) 圆形</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>u</code></td>
|
||||
<td>(Rectangle) 长方形</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>o</code></td>
|
||||
<td>(Oval) 椭圆形</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>l</code></td>
|
||||
<td>(Line) 线</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>v</code></td>
|
||||
<td>(Vector Point) 向量点</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>p</code></td>
|
||||
<td>(Pencil) 铅笔</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>t</code></td>
|
||||
<td>(Text) 文本</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="类型"><a aria-hidden="true" tabindex="-1" href="#类型"><span class="icon icon-link"></span></a>类型</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-2-->
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>快捷键</th>
|
||||
<th>类型</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>Cmd + B</code></td>
|
||||
<td>加粗</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Cmd + I</code></td>
|
||||
<td>斜体</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Cmd + U</code></td>
|
||||
<td>下划线</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Alt + Cmd (+) +</code></td>
|
||||
<td>增加字体大小</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Alt + Cmd (+) –</code></td>
|
||||
<td>减小字体大小</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Alt + Control + L</code></td>
|
||||
<td>增加字符间距</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Alt + Control + T</code></td>
|
||||
<td>减少字符间距</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Cmd + T</code></td>
|
||||
<td>更改字体</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Shift + Cmd + O</code></td>
|
||||
<td>将文本转换为轮廓</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Cmd + Shift + {</code></td>
|
||||
<td>左对齐</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Cmd + Shift + \</code></td>
|
||||
<td>居中对齐</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Cmd + Shift + }</code></td>
|
||||
<td>右对齐</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Control + Cmd + Space</code></td>
|
||||
<td>特殊字符</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="画布视图"><a aria-hidden="true" tabindex="-1" href="#画布视图"><span class="icon icon-link"></span></a>画布视图</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-2-->
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>画布视图</th>
|
||||
<th>快捷键</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>Cmd (+) +</code></td>
|
||||
<td>放大</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Cmd (+) -</code></td>
|
||||
<td>缩小</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Cmd + 0</code></td>
|
||||
<td>实际尺寸</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Cmd + 1</code></td>
|
||||
<td>中心帆布</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Cmd + 2</code></td>
|
||||
<td>缩放选择</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Cmd + 3</code></td>
|
||||
<td>中心选择</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>§</code></td>
|
||||
<td>临时缩放到实际大小</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Alt + Tab</code></td>
|
||||
<td>关注第一个输入字段</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Control + R</code></td>
|
||||
<td>切换标尺</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Control + G</code></td>
|
||||
<td>切换网格</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Control + L</code></td>
|
||||
<td>切换图层指南</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Control + P</code></td>
|
||||
<td>切换像素</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Control + H</code></td>
|
||||
<td>切换选择手柄</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Control + X</code></td>
|
||||
<td>切换像素网格</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Space + Drag</code></td>
|
||||
<td>移动画布</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table class="shortcuts"><thead><tr><th>快捷键</th><th>描述</th></tr></thead><tbody><tr><td><code>a</code></td><td>(New Artboard) 新画板</td></tr><tr><td><code>s</code></td><td>(Slice) 切片</td></tr><tr><td><code>r</code></td><td>(Rectangle) 长方形</td></tr><tr><td><code>d</code></td><td>(Rounde) 圆形</td></tr><tr><td><code>u</code></td><td>(Rectangle) 长方形</td></tr><tr><td><code>o</code></td><td>(Oval) 椭圆形</td></tr><tr><td><code>l</code></td><td>(Line) 线</td></tr><tr><td><code>v</code></td><td>(Vector Point) 向量点</td></tr><tr><td><code>p</code></td><td>(Pencil) 铅笔</td></tr><tr><td><code>t</code></td><td>(Text) 文本</td></tr></tbody></table>
|
||||
<!--rehype:className=shortcuts-->
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="类型"><a aria-hidden="true" tabindex="-1" href="#类型"><span class="icon icon-link"></span></a>类型</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table class="shortcuts"><thead><tr><th>快捷键</th><th>类型</th></tr></thead><tbody><tr><td><code>Cmd + B</code></td><td>加粗</td></tr><tr><td><code>Cmd + I</code></td><td>斜体</td></tr><tr><td><code>Cmd + U</code></td><td>下划线</td></tr><tr><td><code>Alt + Cmd (+) +</code></td><td>增加字体大小</td></tr><tr><td><code>Alt + Cmd (+) –</code></td><td>减小字体大小</td></tr><tr><td><code>Alt + Control + L</code></td><td>增加字符间距</td></tr><tr><td><code>Alt + Control + T</code></td><td>减少字符间距</td></tr><tr><td><code>Cmd + T</code></td><td>更改字体</td></tr><tr><td><code>Shift + Cmd + O</code></td><td>将文本转换为轮廓</td></tr><tr><td><code>Cmd + Shift + {</code></td><td>左对齐</td></tr><tr><td><code>Cmd + Shift + \</code></td><td>居中对齐</td></tr><tr><td><code>Cmd + Shift + }</code></td><td>右对齐</td></tr><tr><td><code>Control + Cmd + Space</code></td><td>特殊字符</td></tr></tbody></table>
|
||||
<!--rehype:className=shortcuts-->
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="画布视图"><a aria-hidden="true" tabindex="-1" href="#画布视图"><span class="icon icon-link"></span></a>画布视图</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table class="shortcuts"><thead><tr><th>画布视图</th><th>快捷键</th></tr></thead><tbody><tr><td><code>Cmd (+) +</code></td><td>放大</td></tr><tr><td><code>Cmd (+) -</code></td><td>缩小</td></tr><tr><td><code>Cmd + 0</code></td><td>实际尺寸</td></tr><tr><td><code>Cmd + 1</code></td><td>中心画布</td></tr><tr><td><code>Cmd + 2</code></td><td>缩放选择</td></tr><tr><td><code>Cmd + 3</code></td><td>中心选择</td></tr><tr><td><code>§</code></td><td>临时缩放到实际大小</td></tr><tr><td><code>Alt + Tab</code></td><td>关注第一个输入字段</td></tr><tr><td><code>Control + R</code></td><td>切换标尺</td></tr><tr><td><code>Control + G</code></td><td>切换网格</td></tr><tr><td><code>Control + L</code></td><td>切换图层指南</td></tr><tr><td><code>Control + P</code></td><td>切换像素</td></tr><tr><td><code>Control + H</code></td><td>切换选择手柄</td></tr><tr><td><code>Control + X</code></td><td>切换像素网格</td></tr><tr><td><code>Space + Drag</code></td><td>移动画布</td></tr></tbody></table>
|
||||
<!--rehype:className=shortcuts-->
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="窗口"><a aria-hidden="true" tabindex="-1" href="#窗口"><span class="icon icon-link"></span></a>窗口</h3><div class="wrap-body">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>快捷键</th>
|
||||
<th>Window</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>Cmd + ~</code></td>
|
||||
<td>在文档之间切换</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Alt + Cmd + 1</code></td>
|
||||
<td>切换层列表</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Alt + Cmd + 2</code></td>
|
||||
<td>切换检查器</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Alt + Cmd + 3</code></td>
|
||||
<td>切换图层、检查器</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Alt + Cmd + T</code></td>
|
||||
<td>切换工具栏</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Cmd + .</code></td>
|
||||
<td>演示模式</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Control + Cmd + F</code></td>
|
||||
<td>进入全屏</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table class="shortcuts"><thead><tr><th>快捷键</th><th>Window</th></tr></thead><tbody><tr><td><code>Cmd + ~</code></td><td>在文档之间切换</td></tr><tr><td><code>Alt + Cmd + 1</code></td><td>切换层列表</td></tr><tr><td><code>Alt + Cmd + 2</code></td><td>切换检查器</td></tr><tr><td><code>Alt + Cmd + 3</code></td><td>切换图层、检查器</td></tr><tr><td><code>Alt + Cmd + T</code></td><td>切换工具栏</td></tr><tr><td><code>Cmd + .</code></td><td>演示模式</td></tr><tr><td><code>Control + Cmd + F</code></td><td>进入全屏</td></tr></tbody></table>
|
||||
<!--rehype:className=shortcuts-->
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="编辑形状"><a aria-hidden="true" tabindex="-1" href="#编辑形状"><span class="icon icon-link"></span></a>编辑形状</h3><div class="wrap-body">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>编辑形状</th>
|
||||
<th>快捷键</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>Cmd + Alt</code></td>
|
||||
<td>保留当前选择</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Control + Cmd + M</code></td>
|
||||
<td>用作蒙版跨度<code>(适用于图层和组)</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Alt + Cmd + U</code></td>
|
||||
<td>联盟</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Alt + Cmd + S</code></td>
|
||||
<td>减去</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Alt + Cmd + I</code></td>
|
||||
<td>相交</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Alt + Cmd + X</code></td>
|
||||
<td>区别</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Cmd + Arrows</code></td>
|
||||
<td>更改对象大小</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Shift + Cmd + Arrows</code></td>
|
||||
<td>将单位更改 10</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>1, 2, 3, 4</code></td>
|
||||
<td>更改矢量点样式</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table class="shortcuts"><thead><tr><th>编辑形状</th><th>快捷键</th></tr></thead><tbody><tr><td><code>Cmd + Alt</code></td><td>保留当前选择</td></tr><tr><td><code>Control + Cmd + M</code></td><td>用作蒙版跨度<code>(适用于图层和组)</code></td></tr><tr><td><code>Alt + Cmd + U</code></td><td>联盟</td></tr><tr><td><code>Alt + Cmd + S</code></td><td>减去</td></tr><tr><td><code>Alt + Cmd + I</code></td><td>相交</td></tr><tr><td><code>Alt + Cmd + X</code></td><td>区别</td></tr><tr><td><code>Cmd + Arrows</code></td><td>更改对象大小</td></tr><tr><td><code>Shift + Cmd + Arrows</code></td><td>将单位更改 10</td></tr><tr><td><code>1, 2, 3, 4</code></td><td>更改矢量点样式</td></tr></tbody></table>
|
||||
<!--rehype:className=shortcuts-->
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="编辑图层"><a aria-hidden="true" tabindex="-1" href="#编辑图层"><span class="icon icon-link"></span></a>编辑图层</h3><div class="wrap-body">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>快捷键</th>
|
||||
<th>编辑图层</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>Alt</code></td>
|
||||
<td>显示到其他图层的距离</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Alt + Cmd</code></td>
|
||||
<td>显示到组内其他图层的距离</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Alt + Drag</code></td>
|
||||
<td>复制(用 ⌘D 重复)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Alt + Cmd + C</code></td>
|
||||
<td>复制样式</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Alt + Cmd + V</code></td>
|
||||
<td>粘贴样式</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Control + C</code></td>
|
||||
<td>选色器</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Cmd + T</code></td>
|
||||
<td>转换</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Shift + Cmd + R</code></td>
|
||||
<td>旋转</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>F</code></td>
|
||||
<td>切换填充</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>B</code></td>
|
||||
<td>切换边框</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table class="shortcuts"><thead><tr><th>快捷键</th><th>编辑图层</th></tr></thead><tbody><tr><td><code>Alt</code></td><td>显示到其他图层的距离</td></tr><tr><td><code>Alt + Cmd</code></td><td>显示到组内其他图层的距离</td></tr><tr><td><code>Alt + Drag</code></td><td>复制(用 ⌘D 重复)</td></tr><tr><td><code>Alt + Cmd + C</code></td><td>复制样式</td></tr><tr><td><code>Alt + Cmd + V</code></td><td>粘贴样式</td></tr><tr><td><code>Control + C</code></td><td>选色器</td></tr><tr><td><code>Cmd + T</code></td><td>转换</td></tr><tr><td><code>Shift + Cmd + R</code></td><td>旋转</td></tr><tr><td><code>F</code></td><td>切换填充</td></tr><tr><td><code>B</code></td><td>切换边框</td></tr></tbody></table>
|
||||
<!--rehype:className=shortcuts-->
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="排列图层组和画板"><a aria-hidden="true" tabindex="-1" href="#排列图层组和画板"><span class="icon icon-link"></span></a>排列图层、组和画板</h3><div class="wrap-body">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>排列图层、组和画板</th>
|
||||
<th>快捷键</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>Alt + Cmd + ↑</code></td>
|
||||
<td>向前进</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Control + Alt + Cmd + ↑</code></td>
|
||||
<td>带到前面</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Alt + Cmd + ↓</code></td>
|
||||
<td>向后发送</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Control + Alt + Cmd + ↓</code></td>
|
||||
<td>送回</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Shift + Cmd + H</code></td>
|
||||
<td>隐藏</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Shift + Cmd + L</code></td>
|
||||
<td>锁</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Cmd + R</code></td>
|
||||
<td>改名</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Cmd + G</code></td>
|
||||
<td>图层组</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Shift + Cmd + G</code></td>
|
||||
<td>取消组合图层</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Shift + Tab</code></td>
|
||||
<td>选择上层</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Tab</code></td>
|
||||
<td>选择下面的图层</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Esc</code></td>
|
||||
<td>选择父画板</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Cmd + F</code></td>
|
||||
<td>按名称查找图层</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Fn + ↑</code></td>
|
||||
<td>选择上方页面</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Fn + ↓</code></td>
|
||||
<td>选择下面的页面</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table class="shortcuts"><thead><tr><th>排列图层、组和画板</th><th>快捷键</th></tr></thead><tbody><tr><td><code>Alt + Cmd + ↑</code></td><td>向前进</td></tr><tr><td><code>Control + Alt + Cmd + ↑</code></td><td>带到前面</td></tr><tr><td><code>Alt + Cmd + ↓</code></td><td>向后发送</td></tr><tr><td><code>Control + Alt + Cmd + ↓</code></td><td>送回</td></tr><tr><td><code>Shift + Cmd + H</code></td><td>隐藏</td></tr><tr><td><code>Shift + Cmd + L</code></td><td>锁</td></tr><tr><td><code>Cmd + R</code></td><td>改名</td></tr><tr><td><code>Cmd + G</code></td><td>图层组</td></tr><tr><td><code>Shift + Cmd + G</code></td><td>取消组合图层</td></tr><tr><td><code>Shift + Tab</code></td><td>选择上层</td></tr><tr><td><code>Tab</code></td><td>选择下面的图层</td></tr><tr><td><code>Esc</code></td><td>选择父画板</td></tr><tr><td><code>Cmd + F</code></td><td>按名称查找图层</td></tr><tr><td><code>Fn + ↑</code></td><td>选择上方页面</td></tr><tr><td><code>Fn + ↓</code></td><td>选择下面的页面</td></tr></tbody></table>
|
||||
<!--rehype:className=shortcuts-->
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="另见"><a aria-hidden="true" tabindex="-1" href="#另见"><span class="icon icon-link"></span></a>另见</h2><div class="wrap-body">
|
||||
<ul>
|
||||
<li><a href="https://www.sketch.com/">Sketch 官网</a> <em>(sketch.com)</em></li>
|
||||
<li><a href="https://www.sketch.com/">Sketch 官网</a> <em>(sketch.com)</em></li>
|
||||
</ul>
|
||||
|
||||
</div></div></div></div></div><footer class="footer-wrap"><footer class="max-container">© 2022 Kenny Wang, All rights reserved.</footer></footer></body>
|
||||
</html>
|
||||
|
@ -40,8 +40,8 @@
|
||||
</div></div><div class="h2wrap-body"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="介绍"><a aria-hidden="true" tabindex="-1" href="#介绍"><span class="icon icon-link"></span></a>介绍</h3><div class="wrap-body">
|
||||
<p><a href="https://toml.io/en/">TOML</a> 是一种最小的配置文件格式,由于明显的语义而易于阅读。</p>
|
||||
<ul>
|
||||
<li><a href="https://toml.io/en/latest">Document</a> <em>(toml.io)</em></li>
|
||||
<li><a href="https://learnxinyminutes.com/docs/toml/">Learn X in Y minutes</a> <em>(learnxinyminutes.com)</em></li>
|
||||
<li><a href="https://toml.io/en/latest">Document</a> <em>(toml.io)</em></li>
|
||||
<li><a href="https://learnxinyminutes.com/docs/toml/">Learn X in Y minutes</a> <em>(learnxinyminutes.com)</em></li>
|
||||
</ul>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="示例"><a aria-hidden="true" tabindex="-1" href="#示例"><span class="icon icon-link"></span></a>示例</h3><div class="wrap-body">
|
||||
<pre class="language-toml"><code class="language-toml code-highlight"><span class="code-line line-number" line="1"><span class="token key property">bool</span> <span class="token punctuation">=</span> <span class="token boolean">true</span>
|
||||
@ -99,7 +99,8 @@
|
||||
</span><span class="code-line line-number" line="2"><span class="token key property">array2</span> <span class="token punctuation">=</span> <span class="token punctuation">[</span><span class="token string">"Commas"</span><span class="token punctuation">,</span> <span class="token string">"are"</span><span class="token punctuation">,</span> <span class="token string">"delimiter"</span><span class="token punctuation">]</span>
|
||||
</span><span class="code-line line-number" line="3"><span class="token key property">array3</span> <span class="token punctuation">=</span> <span class="token punctuation">[</span><span class="token number">8001</span><span class="token punctuation">,</span> <span class="token number">8001</span><span class="token punctuation">,</span> <span class="token number">8002</span><span class="token punctuation">]</span>
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="友好数组"><a aria-hidden="true" tabindex="-1" href="#友好数组"><span class="icon icon-link"></span></a>友好数组</h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2-->
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="友好数组"><a aria-hidden="true" tabindex="-1" href="#友好数组"><span class="icon icon-link"></span></a>友好数组</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
<pre class="language-toml"><code class="language-toml code-highlight"><span class="code-line line-number" line="1"><span class="token key property">array1</span> <span class="token punctuation">=</span> <span class="token punctuation">[</span> <span class="token string">"Don't mix"</span><span class="token punctuation">,</span> <span class="token string">"different"</span><span class="token punctuation">,</span> <span class="token string">"types"</span> <span class="token punctuation">]</span>
|
||||
</span><span class="code-line line-number" line="2"><span class="token key property">array2</span> <span class="token punctuation">=</span> <span class="token punctuation">[</span> <span class="token punctuation">[</span> <span class="token number">1.2</span><span class="token punctuation">,</span> <span class="token number">2.4</span> <span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token punctuation">[</span><span class="token string">"all"</span><span class="token punctuation">,</span> <span class="token string">'strings'</span><span class="token punctuation">,</span> <span class="token string">"""are the same"""</span><span class="token punctuation">,</span> <span class="token string">'''type'''</span><span class="token punctuation">]</span> <span class="token punctuation">]</span>
|
||||
</span><span class="code-line line-number" line="3"><span class="token key property">array3</span> <span class="token punctuation">=</span> <span class="token punctuation">[</span>
|
||||
@ -144,7 +145,8 @@
|
||||
</span><span class="code-line line-number" line="3"><span class="token punctuation">[</span><span class="token table class-name">table1.nested_table</span><span class="token punctuation">]</span>
|
||||
</span><span class="code-line line-number" line="4"> <span class="token key property">baz</span> <span class="token punctuation">=</span> <span class="token string">"bat"</span>
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="类数组"><a aria-hidden="true" tabindex="-1" href="#类数组"><span class="icon icon-link"></span></a>类数组</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-2-->
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="类数组"><a aria-hidden="true" tabindex="-1" href="#类数组"><span class="icon icon-link"></span></a>类数组</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
<pre class="language-toml"><code class="language-toml code-highlight"><span class="code-line line-number" line="1"><span class="token punctuation">[</span><span class="token punctuation">[</span><span class="token table class-name">comments</span><span class="token punctuation">]</span><span class="token punctuation">]</span>
|
||||
</span><span class="code-line line-number" line="2"><span class="token key property">author</span> <span class="token punctuation">=</span> <span class="token string">"Nate"</span>
|
||||
</span><span class="code-line line-number" line="3"><span class="token key property">text</span> <span class="token punctuation">=</span> <span class="token string">"Great Article!"</span>
|
||||
@ -200,11 +202,11 @@
|
||||
</span><span class="code-line line-number" line="3"><span class="token punctuation">[</span> <span class="token table class-name">g . h .i</span> <span class="token punctuation">]</span> <span class="token comment"># same as [g.h.i]</span>
|
||||
</span><span class="code-line line-number" line="4"><span class="token punctuation">[</span> <span class="token table class-name">j . "ʞ" .'l'</span> <span class="token punctuation">]</span> <span class="token comment"># same as [j."ʞ".'l']</span>
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="inline-table"><a aria-hidden="true" tabindex="-1" href="#inline-table"><span class="icon icon-link"></span></a>Inline Table</h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2-->
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="inline-table"><a aria-hidden="true" tabindex="-1" href="#inline-table"><span class="icon icon-link"></span></a>Inline Table</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
<pre class="language-toml"><code class="language-toml code-highlight"><span class="code-line line-number" line="1"><span class="token key property">name</span> <span class="token punctuation">=</span> <span class="token punctuation">{</span> <span class="token key property">first</span> <span class="token punctuation">=</span> <span class="token string">"Tom"</span><span class="token punctuation">,</span> <span class="token key property">last</span> <span class="token punctuation">=</span> <span class="token string">"Preston-Werner"</span> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line line-number" line="2"><span class="token key property">point</span> <span class="token punctuation">=</span> <span class="token punctuation">{</span> <span class="token key property">x</span> <span class="token punctuation">=</span> <span class="token number">1</span><span class="token punctuation">,</span> <span class="token key property">y</span> <span class="token punctuation">=</span> <span class="token number">2</span> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line line-number" line="3"><span class="token key property">animal</span> <span class="token punctuation">=</span> <span class="token punctuation">{</span> <span class="token key property">type.name</span> <span class="token punctuation">=</span> <span class="token string">"pug"</span> <span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
|
||||
</div></div></div></div></div></div></div><footer class="footer-wrap"><footer class="max-container">© 2022 Kenny Wang, All rights reserved.</footer></footer></body>
|
||||
</html>
|
||||
|
@ -40,8 +40,8 @@
|
||||
</div></div><div class="h2wrap-body"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="介绍"><a aria-hidden="true" tabindex="-1" href="#介绍"><span class="icon icon-link"></span></a>介绍</h3><div class="wrap-body">
|
||||
<p>TypeScript 是具有类型语法的 JavaScript。Interface 是为了匹配它们的运行时行为而构建的。</p>
|
||||
<ul>
|
||||
<li><a href="./javascript.html">JavaScript 备忘清单</a></li>
|
||||
<li><a href="https://www.typescriptlang.org/">TypeScript 官网</a></li>
|
||||
<li><a href="./javascript.html">JavaScript 备忘清单</a></li>
|
||||
<li><a href="https://www.typescriptlang.org/">TypeScript 官网</a></li>
|
||||
</ul>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="内置类型基元"><a aria-hidden="true" tabindex="-1" href="#内置类型基元"><span class="icon icon-link"></span></a>内置类型基元</h3><div class="wrap-body">
|
||||
<pre class="language-ts"><code class="language-ts code-highlight"><span class="code-line line-number" line="1"><span class="token builtin">any</span><span class="token punctuation">,</span> <span class="token keyword">void</span><span class="token punctuation">,</span>
|
||||
@ -72,7 +72,8 @@
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h4wrap"><h4 id="避免"><a aria-hidden="true" tabindex="-1" href="#避免"><span class="icon icon-link"></span></a>避免</h4><div class="wrap-body">
|
||||
<pre><code class="code-highlight"><span class="code-line line-number" line="1">Object, String, Number, Boolean
|
||||
</span></code></pre>
|
||||
</div></div></div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="通用语法"><a aria-hidden="true" tabindex="-1" href="#通用语法"><span class="icon icon-link"></span></a>通用语法</h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2-->
|
||||
</div></div></div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="通用语法"><a aria-hidden="true" tabindex="-1" href="#通用语法"><span class="icon icon-link"></span></a>通用语法</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
<pre class="language-ts"><code class="language-ts code-highlight"><span class="code-line line-number" line="1"><span class="token comment">/** 可选择从现有接口或类型(Response, HTTPAble)中获取属性 */</span>
|
||||
</span><span class="code-line line-number" line="2"><span class="token keyword">interface</span> <span class="token class-name">JSONResponse</span> <span class="token keyword">extends</span> <span class="token class-name">Response</span><span class="token punctuation">,</span> HTTPAble <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="3"> version<span class="token operator">:</span> <span class="token builtin">number</span><span class="token punctuation">;</span>
|
||||
@ -94,7 +95,8 @@
|
||||
</span><span class="code-line line-number" line="19"> <span class="token keyword">readonly</span> body<span class="token operator">:</span> <span class="token builtin">string</span><span class="token punctuation">;</span>
|
||||
</span><span class="code-line line-number" line="20"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="泛型"><a aria-hidden="true" tabindex="-1" href="#泛型"><span class="icon icon-link"></span></a>泛型</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-2-->
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="泛型"><a aria-hidden="true" tabindex="-1" href="#泛型"><span class="icon icon-link"></span></a>泛型</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
<p>声明一个可以在你的 Interface 中改变的类型</p>
|
||||
<pre class="language-ts"><code class="language-ts code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">interface</span> <span class="token class-name">APICall<span class="token operator"><</span>Response<span class="token operator">></span></span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> data<span class="token operator">:</span> Response
|
||||
@ -151,11 +153,12 @@
|
||||
</span></code></pre>
|
||||
<p>Interface 被合并,多个声明将向类型定义添加新字段。</p>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="type"><a aria-hidden="true" tabindex="-1" href="#type"><span class="icon icon-link"></span></a>Type</h2><div class="wrap-body">
|
||||
</div></div><div class="h2wrap-body"><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="type-vs-interface"><a aria-hidden="true" tabindex="-1" href="#type-vs-interface"><span class="icon icon-link"></span></a>Type vs Interface</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-2-->
|
||||
</div></div><div class="h2wrap-body"><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="type-vs-interface"><a aria-hidden="true" tabindex="-1" href="#type-vs-interface"><span class="icon icon-link"></span></a>Type vs Interface</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
<ul>
|
||||
<li>Interface 只能描述对象形状</li>
|
||||
<li>Interface 可以通过多次声明来扩展</li>
|
||||
<li>在性能关键 Type 中,Interface 比较检查可以更快。</li>
|
||||
<li>Interface 只能描述对象形状</li>
|
||||
<li>Interface 可以通过多次声明来扩展</li>
|
||||
<li>在性能关键 Type 中,Interface 比较检查可以更快。</li>
|
||||
</ul>
|
||||
</div></div><div class="h3wrap-body"><div class="wrap"><div class="wrap-header h4wrap"><h4 id="把类型想象成变量"><a aria-hidden="true" tabindex="-1" href="#把类型想象成变量"><span class="icon icon-link"></span></a>把类型想象成变量</h4><div class="wrap-body">
|
||||
<p>就像您如何在不同范围内创建具有相同名称的变量一样,type 具有相似的语义。</p>
|
||||
@ -197,7 +200,8 @@
|
||||
<pre class="language-ts"><code class="language-ts code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">const</span> data<span class="token operator">:</span> <span class="token keyword">import</span><span class="token punctuation">(</span><span class="token string">"./data"</span><span class="token punctuation">)</span><span class="token punctuation">.</span>data
|
||||
</span></code></pre>
|
||||
<p>这些功能非常适合构建库、描述现有的 JavaScript 代码,您可能会发现在大多数 TypeScript 应用程序中很少使用它们。</p>
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="对象字面量语法"><a aria-hidden="true" tabindex="-1" href="#对象字面量语法"><span class="icon icon-link"></span></a>对象字面量语法</h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2-->
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="对象字面量语法"><a aria-hidden="true" tabindex="-1" href="#对象字面量语法"><span class="icon icon-link"></span></a>对象字面量语法</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
<pre class="language-ts"><code class="language-ts code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">type</span> <span class="token class-name">JSONResponse</span> <span class="token operator">=</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> version<span class="token operator">:</span> <span class="token builtin">number</span><span class="token punctuation">;</span> <span class="token comment">// 字段</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token comment">/** In bytes */</span> <span class="token comment">// 附加文档</span>
|
||||
@ -226,7 +230,8 @@
|
||||
</span><span class="code-line line-number" line="11"><span class="token comment">// void, bio: (nv: string) => void }</span>
|
||||
</span></code></pre>
|
||||
<p>类似于类型系统的映射语句,允许输入类型更改新类型的结构。</p>
|
||||
</div></div></div><div class="wrap col-span-3"><div class="wrap-header h3wrap"><h3 id="模板联合类型"><a aria-hidden="true" tabindex="-1" href="#模板联合类型"><span class="icon icon-link"></span></a>模板联合类型</h3><div class="wrap-body"><!--rehype:wrap-class=col-span-3-->
|
||||
</div></div></div><div class="wrap col-span-3"><div class="wrap-header h3wrap"><h3 id="模板联合类型"><a aria-hidden="true" tabindex="-1" href="#模板联合类型"><span class="icon icon-link"></span></a>模板联合类型</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-3-->
|
||||
<pre class="language-ts"><code class="language-ts code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">type</span> <span class="token class-name">SupportedLangs</span> <span class="token operator">=</span> <span class="token string">"en"</span> <span class="token operator">|</span> <span class="token string">"pt"</span> <span class="token operator">|</span> <span class="token string">"zh"</span><span class="token punctuation">;</span>
|
||||
</span><span class="code-line line-number" line="2"><span class="token keyword">type</span> <span class="token class-name">FooterLocaleIDs</span> <span class="token operator">=</span> <span class="token string">"header"</span> <span class="token operator">|</span> <span class="token string">"footer"</span><span class="token punctuation">;</span>
|
||||
</span><span class="code-line line-number" line="3"><span class="token keyword">type</span> <span class="token class-name">AllLocaleIDs</span> <span class="token operator">=</span> <span class="token template-string"><span class="token template-punctuation string">`</span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>SupportedLangs<span class="token interpolation-punctuation punctuation">}</span></span><span class="token string">_</span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>FooterLocaleIDs<span class="token interpolation-punctuation punctuation">}</span></span><span class="token string">_id</span><span class="token template-punctuation string">`</span></span><span class="token punctuation">;</span>
|
||||
@ -235,7 +240,8 @@
|
||||
</span><span class="code-line line-number" line="6"><span class="token comment">// | "pt_header_id" | "pt_footer_id"</span>
|
||||
</span><span class="code-line line-number" line="7"><span class="token comment">// | "zh_header_id" | "zh_footer_id"</span>
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap col-span-3"><div class="wrap-header h3wrap"><h3 id="条件类型"><a aria-hidden="true" tabindex="-1" href="#条件类型"><span class="icon icon-link"></span></a>条件类型</h3><div class="wrap-body"><!--rehype:wrap-class=col-span-3-->
|
||||
</div></div></div><div class="wrap col-span-3"><div class="wrap-header h3wrap"><h3 id="条件类型"><a aria-hidden="true" tabindex="-1" href="#条件类型"><span class="icon icon-link"></span></a>条件类型</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-3-->
|
||||
<pre class="language-ts"><code class="language-ts code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">type</span> <span class="token class-name">HasFourLegs<span class="token operator"><</span>Animal<span class="token operator">></span></span> <span class="token operator">=</span> Animal <span class="token keyword">extends</span> <span class="token punctuation">{</span> legs<span class="token operator">:</span> <span class="token number">4</span> <span class="token punctuation">}</span> <span class="token operator">?</span> Animal <span class="token operator">:</span> <span class="token builtin">never</span>
|
||||
</span><span class="code-line line-number" line="2"><span class="token keyword">type</span> <span class="token class-name">Animals</span> <span class="token operator">=</span> Bird <span class="token operator">|</span> Dog <span class="token operator">|</span> Ant <span class="token operator">|</span> Wolf<span class="token punctuation">;</span>
|
||||
</span><span class="code-line line-number" line="3"><span class="token keyword">type</span> <span class="token class-name">FourLegs</span> <span class="token operator">=</span> HasFourLegs<span class="token operator"><</span>Animals<span class="token operator">></span>
|
||||
@ -243,7 +249,8 @@
|
||||
</span></code></pre>
|
||||
<p>在类型系统中充当“if 语句”。 通过泛型创建,然后通常用于减少类型联合中的选项数量。</p>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="控制流动分析"><a aria-hidden="true" tabindex="-1" href="#控制流动分析"><span class="icon icon-link"></span></a>控制流动分析</h2><div class="wrap-body">
|
||||
</div></div><div class="h2wrap-body"><div class="wrap row-span-3"><div class="wrap-header h3wrap"><h3 id="if-声明"><a aria-hidden="true" tabindex="-1" href="#if-声明"><span class="icon icon-link"></span></a>If 声明</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-3-->
|
||||
</div></div><div class="h2wrap-body"><div class="wrap row-span-3"><div class="wrap-header h3wrap"><h3 id="if-声明"><a aria-hidden="true" tabindex="-1" href="#if-声明"><span class="icon icon-link"></span></a>If 声明</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-3-->
|
||||
</div></div><div class="h3wrap-body"><div class="wrap"><div class="wrap-header h4wrap"><h4 id="typeof用于原语"><a aria-hidden="true" tabindex="-1" href="#typeof用于原语"><span class="icon icon-link"></span></a>typeof(用于原语)</h4><div class="wrap-body">
|
||||
<pre class="language-ts"><code class="language-ts code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">const</span> input <span class="token operator">=</span> <span class="token function">getUserInput</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
|
||||
</span><span class="code-line line-number" line="2">input <span class="token comment">// string | number</span>
|
||||
@ -276,7 +283,8 @@
|
||||
</span><span class="code-line line-number" line="5"> input <span class="token comment">// number[]</span>
|
||||
</span><span class="code-line line-number" line="6"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
</div></div></div></div></div><div class="wrap row-span-3"><div class="wrap-header h3wrap"><h3 id="任务"><a aria-hidden="true" tabindex="-1" href="#任务"><span class="icon icon-link"></span></a>任务</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-3-->
|
||||
</div></div></div></div></div><div class="wrap row-span-3"><div class="wrap-header h3wrap"><h3 id="任务"><a aria-hidden="true" tabindex="-1" href="#任务"><span class="icon icon-link"></span></a>任务</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-3-->
|
||||
<pre class="language-ts"><code class="language-ts code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">const</span> data1 <span class="token operator">=</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> name<span class="token operator">:</span> <span class="token string">"Zagreus"</span>
|
||||
</span><span class="code-line line-number" line="3"><span class="token punctuation">}</span>
|
||||
@ -334,14 +342,14 @@
|
||||
</span><span class="code-line line-number" line="6"> <span class="token keyword">case</span> <span class="token number">400</span><span class="token operator">:</span> <span class="token keyword">return</span> response<span class="token punctuation">.</span>error
|
||||
</span><span class="code-line line-number" line="7"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="断言函数"><a aria-hidden="true" tabindex="-1" href="#断言函数"><span class="icon icon-link"></span></a>断言函数</h3><div class="wrap-body">
|
||||
</div></div></div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="断言函数"><a aria-hidden="true" tabindex="-1" href="#断言函数"><span class="icon icon-link"></span></a>断言函数</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
<p>描述影响当前范围的 CFA 更改的函数,因为它抛出而不是返回 false。</p>
|
||||
<pre class="language-ts"><code class="language-ts code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">function</span> <span class="token function">assertResponse</span><span class="token punctuation">(</span>obj<span class="token operator">:</span> <span class="token builtin">any</span><span class="token punctuation">)</span><span class="token operator">:</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token keyword">asserts</span> obj <span class="token keyword">is</span> SuccessResponse <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token operator">!</span><span class="token punctuation">(</span>obj <span class="token keyword">instanceof</span> <span class="token class-name">SuccessResponse</span><span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="4"> <span class="token keyword">throw</span> <span class="token keyword">new</span> <span class="token class-name">Error</span><span class="token punctuation">(</span><span class="token string">'Not a success!'</span><span class="token punctuation">)</span>
|
||||
</span><span class="code-line line-number" line="5"> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line line-number" line="6"><span class="token punctuation">}</span>
|
||||
<pre class="language-ts"><code class="language-ts code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">function</span> <span class="token function">assertResponse</span><span class="token punctuation">(</span>obj<span class="token operator">:</span> <span class="token builtin">any</span><span class="token punctuation">)</span><span class="token operator">:</span> <span class="token keyword">asserts</span> obj <span class="token keyword">is</span> SuccessResponse <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token operator">!</span><span class="token punctuation">(</span>obj <span class="token keyword">instanceof</span> <span class="token class-name">SuccessResponse</span><span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token keyword">throw</span> <span class="token keyword">new</span> <span class="token class-name">Error</span><span class="token punctuation">(</span><span class="token string">'Not a success!'</span><span class="token punctuation">)</span>
|
||||
</span><span class="code-line line-number" line="4"> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line line-number" line="5"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
</div></div><div class="h3wrap-body"><div class="wrap"><div class="wrap-header h4wrap"><h4 id="用法-2"><a aria-hidden="true" tabindex="-1" href="#用法-2"><span class="icon icon-link"></span></a>用法</h4><div class="wrap-body">
|
||||
<pre class="language-ts"><code class="language-ts code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">const</span> res <span class="token operator">=</span> <span class="token function">getResponse</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">:</span>
|
||||
@ -394,7 +402,8 @@
|
||||
<p>所以,小心不要这样做:</p>
|
||||
<pre class="language-ts"><code class="language-ts code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">class</span> <span class="token class-name"><span class="token constant">C</span></span> <span class="token keyword">implements</span> <span class="token class-name">Bag</span> <span class="token punctuation">{</span><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
</div></div></div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="通用语法-1"><a aria-hidden="true" tabindex="-1" href="#通用语法-1"><span class="icon icon-link"></span></a>通用语法</h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2-->
|
||||
</div></div></div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="通用语法-1"><a aria-hidden="true" tabindex="-1" href="#通用语法-1"><span class="icon icon-link"></span></a>通用语法</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
<pre class="language-ts"><code class="language-ts code-highlight"><span class="code-line line-number" line="1"><span class="token comment">// 确保类符合一组接口或类型 ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈▶┈┈╮</span>
|
||||
</span><span class="code-line line-number" line="2"><span class="token comment">// 子类这个类 ┈┈┈┈┈┈┈┈↘ ┈┈┈┈┈┈┈┈┈┈┈┈┈┴┈┈┈┈┈┈┈</span>
|
||||
</span><span class="code-line line-number" line="3"><span class="token keyword">class</span> <span class="token class-name">User</span> <span class="token keyword">extends</span> <span class="token class-name">Account</span> <span class="token keyword">implements</span> <span class="token class-name">Updatable</span><span class="token punctuation">,</span> Serializable <span class="token punctuation">{</span>
|
||||
@ -463,7 +472,8 @@
|
||||
</span><span class="code-line line-number" line="7"><span class="token keyword">class</span> <span class="token class-name">Dog</span> <span class="token keyword">extends</span> <span class="token class-name">Animal</span> <span class="token punctuation">{</span> <span class="token function">getName</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token operator">...</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
<p>一个类可以被声明为不可实现,但可以在类型系统中被子类化。 class 成员也可以。</p>
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="装饰器和属性"><a aria-hidden="true" tabindex="-1" href="#装饰器和属性"><span class="icon icon-link"></span></a>装饰器和属性</h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2-->
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="装饰器和属性"><a aria-hidden="true" tabindex="-1" href="#装饰器和属性"><span class="icon icon-link"></span></a>装饰器和属性</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
<pre class="language-ts"><code class="language-ts code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">import</span> <span class="token punctuation">{</span> Syncable<span class="token punctuation">,</span> triggersSync<span class="token punctuation">,</span> preferCache<span class="token punctuation">,</span> required <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">"mylib"</span>
|
||||
</span><span class="code-line line-number" line="2">
|
||||
</span><span class="code-line line-number" line="3"><span class="token decorator"><span class="token at operator">@</span><span class="token function">Syncable</span></span>
|
||||
@ -812,10 +822,10 @@
|
||||
</div></div><div class="h2wrap-body"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="jsx-介绍"><a aria-hidden="true" tabindex="-1" href="#jsx-介绍"><span class="icon icon-link"></span></a>JSX 介绍</h3><div class="wrap-body">
|
||||
<p>JSX 规范是对 ECMAScript 的类似 XML 的语法扩展。</p>
|
||||
<ul>
|
||||
<li>使用 <code>.tsx</code> 扩展名命名您的文件</li>
|
||||
<li>启用 <code>jsx</code> 选项</li>
|
||||
<li>不允许在 <code>.tsx</code> 文件中使用尖括号类型断言。</li>
|
||||
<li><a href="https://facebook.github.io/jsx/">JSX 规范</a></li>
|
||||
<li>使用 <code>.tsx</code> 扩展名命名您的文件</li>
|
||||
<li>启用 <code>jsx</code> 选项</li>
|
||||
<li>不允许在 <code>.tsx</code> 文件中使用尖括号类型断言。</li>
|
||||
<li><a href="https://facebook.github.io/jsx/">JSX 规范</a></li>
|
||||
</ul>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="as-运算符"><a aria-hidden="true" tabindex="-1" href="#as-运算符"><span class="icon icon-link"></span></a>as 运算符</h3><div class="wrap-body">
|
||||
<pre class="language-ts"><code class="language-ts code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">const</span> foo <span class="token operator">=</span> <span class="token operator"><</span>foo<span class="token operator">></span>bar<span class="token punctuation">;</span>
|
||||
@ -847,7 +857,8 @@
|
||||
</span><span class="code-line line-number" line="4"> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line line-number" line="5"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="函数组件"><a aria-hidden="true" tabindex="-1" href="#函数组件"><span class="icon icon-link"></span></a>函数组件</h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2-->
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="函数组件"><a aria-hidden="true" tabindex="-1" href="#函数组件"><span class="icon icon-link"></span></a>函数组件</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
<pre class="language-tsx"><code class="language-tsx code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">interface</span> <span class="token class-name">FooProp</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> name<span class="token operator">:</span> <span class="token builtin">string</span><span class="token punctuation">;</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token constant">X</span><span class="token operator">:</span> <span class="token builtin">number</span><span class="token punctuation">;</span>
|
||||
@ -882,7 +893,8 @@
|
||||
</span><span class="code-line line-number" line="16"> <span class="token comment">// ...</span>
|
||||
</span><span class="code-line line-number" line="17"><span class="token punctuation">}</span>
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="函数子组件"><a aria-hidden="true" tabindex="-1" href="#函数子组件"><span class="icon icon-link"></span></a>函数子组件</h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2-->
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="函数子组件"><a aria-hidden="true" tabindex="-1" href="#函数子组件"><span class="icon icon-link"></span></a>函数子组件</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
<pre class="language-tsx"><code class="language-tsx code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">interface</span> <span class="token class-name">MenuProps</span> <span class="token keyword">extends</span> <span class="token class-name">React</span><span class="token punctuation">.</span><span class="token property-access"><span class="token maybe-class-name">LiHTMLAttributes</span></span><span class="token operator"><</span><span class="token maybe-class-name">HTMLUListElement</span><span class="token operator">></span> <span class="token punctuation">{</span> <span class="token spread operator">...</span> <span class="token punctuation">}</span>
|
||||
</span><span class="code-line line-number" line="2"><span class="token keyword">const</span> <span class="token function-variable function">InternalMenu</span> <span class="token operator">=</span> <span class="token punctuation">(</span>props<span class="token operator">:</span> <span class="token maybe-class-name">MenuProps</span><span class="token punctuation">,</span> ref<span class="token operator">?</span><span class="token operator">:</span> <span class="token maybe-class-name">React</span><span class="token punctuation">.</span><span class="token property-access"><span class="token maybe-class-name">ForwardedRef</span></span><span class="token operator"><</span><span class="token maybe-class-name">HTMLUListElement</span><span class="token operator">></span><span class="token punctuation">)</span> <span class="token arrow operator">=></span> <span class="token punctuation">(</span>
|
||||
</span><span class="code-line line-number" line="3"> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>ul</span> <span class="token spread"><span class="token punctuation">{</span><span class="token spread operator">...</span>props<span class="token punctuation">}</span></span> <span class="token attr-name">ref</span><span class="token script language-javascript"><span class="token script-punctuation punctuation">=</span><span class="token punctuation">{</span>ref<span class="token punctuation">}</span></span> <span class="token punctuation">/></span></span>
|
||||
@ -901,7 +913,8 @@
|
||||
</span><span class="code-line line-number" line="16"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span><span class="token class-name">Menu.Item</span></span> <span class="token punctuation">/></span></span> <span class="token comment">// ✅ ok</span>
|
||||
</span><span class="code-line line-number" line="17"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span><span class="token class-name">Menu.SubMenu</span></span> <span class="token punctuation">/></span></span> <span class="token comment">// ✅ ok</span>
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="有效组件"><a aria-hidden="true" tabindex="-1" href="#有效组件"><span class="icon icon-link"></span></a>有效组件</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-2-->
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="有效组件"><a aria-hidden="true" tabindex="-1" href="#有效组件"><span class="icon icon-link"></span></a>有效组件</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
<pre class="language-tsx"><code class="language-tsx code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">declare</span> <span class="token keyword">namespace</span> <span class="token constant">JSX</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> <span class="token keyword">interface</span> <span class="token class-name">ElementClass</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="3"> render<span class="token operator">:</span> <span class="token builtin">any</span><span class="token punctuation">;</span>
|
||||
@ -925,7 +938,8 @@
|
||||
</span><span class="code-line line-number" line="6"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span><span class="token class-name">NotAValidFactoryFunction</span></span> <span class="token punctuation">/></span></span><span class="token punctuation">;</span> <span class="token comment">// ❌ error</span>
|
||||
</span></code></pre>
|
||||
<p>默认情况下,<code>JSX.ElementClass</code> 是 {},但可以对其进行扩展,以将 <code>JSX</code> 的使用限制为仅限于符合适当接口的类型。</p>
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="类组件"><a aria-hidden="true" tabindex="-1" href="#类组件"><span class="icon icon-link"></span></a>类组件</h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2-->
|
||||
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="类组件"><a aria-hidden="true" tabindex="-1" href="#类组件"><span class="icon icon-link"></span></a>类组件</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
<pre class="language-ts"><code class="language-ts code-highlight"><span class="code-line line-number" line="1"><span class="token keyword">type</span> <span class="token class-name">Props</span> <span class="token operator">=</span> <span class="token punctuation">{</span>
|
||||
</span><span class="code-line line-number" line="2"> header<span class="token operator">:</span> React<span class="token punctuation">.</span>ReactNode<span class="token punctuation">;</span>
|
||||
</span><span class="code-line line-number" line="3"> body<span class="token operator">:</span> React<span class="token punctuation">.</span>ReactNode<span class="token punctuation">;</span>
|
||||
@ -952,6 +966,5 @@
|
||||
</span><span class="code-line line-number" line="5"><span class="token comment">// 使用</span>
|
||||
</span><span class="code-line line-number" line="6"><span class="token keyword">const</span> <span class="token function-variable function">Form</span> <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token arrow operator">=></span> <span class="token operator"><</span><span class="token maybe-class-name">Select</span><span class="token operator"><</span><span class="token builtin">string</span><span class="token operator">></span> items<span class="token operator">=</span><span class="token punctuation">{</span><span class="token punctuation">[</span><span class="token string">'a'</span><span class="token punctuation">,</span> <span class="token string">'b'</span><span class="token punctuation">]</span><span class="token punctuation">}</span> <span class="token operator">/</span><span class="token operator">></span><span class="token punctuation">;</span>
|
||||
</span></code></pre>
|
||||
|
||||
</div></div></div></div></div></div></div><footer class="footer-wrap"><footer class="max-container">© 2022 Kenny Wang, All rights reserved.</footer></footer></body>
|
||||
</html>
|
||||
|
1936
docs/vim.html
Normal file
1936
docs/vim.html
Normal file
File diff suppressed because it is too large
Load Diff
1196
docs/vscode.html
1196
docs/vscode.html
File diff suppressed because it is too large
Load Diff
795
docs/xpath.html
795
docs/xpath.html
@ -40,7 +40,7 @@
|
||||
</div></div><div class="h2wrap-body"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="入门"><a aria-hidden="true" tabindex="-1" href="#入门"><span class="icon icon-link"></span></a>入门</h3><div class="wrap-body">
|
||||
<p>XPath 即为 XML 路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置的计算机语言。</p>
|
||||
<ul>
|
||||
<li><a href="http://www.whitebeam.org/library/guide/TechNotes/xpathtestbed.rhtm">Xpath test bed</a> <em>(whitebeam.org)</em></li>
|
||||
<li><a href="http://www.whitebeam.org/library/guide/TechNotes/xpathtestbed.rhtm">Xpath test bed</a> <em>(whitebeam.org)</em></li>
|
||||
</ul>
|
||||
<p>在 Firefox 或 Chrome 控制台中测试:</p>
|
||||
<pre class="language-js"><code class="language-js code-highlight"><span class="code-line line-number" line="1"><span class="token function">$x</span><span class="token punctuation">(</span><span class="token string">'/html/body'</span><span class="token punctuation">)</span>
|
||||
@ -49,294 +49,303 @@
|
||||
</span><span class="code-line line-number" line="4"><span class="token function">$x</span><span class="token punctuation">(</span><span class="token string">'//a[text()="XPath"]'</span><span class="token punctuation">)</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token method function property-access">click</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="后代选择器"><a aria-hidden="true" tabindex="-1" href="#后代选择器"><span class="icon icon-link"></span></a>后代选择器</h3><div class="wrap-body">
|
||||
<table class="show-header">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Xpath</th>
|
||||
<th>CSS</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>//h1</code></td>
|
||||
<td>h1</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>//div//p</code></td>
|
||||
<td>div p</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>//ul/li</code></td>
|
||||
<td>ul > li</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>//ul/li/a</code></td>
|
||||
<td>ul > li > a</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>//div/*</code></td>
|
||||
<td>div > *</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>/</code></td>
|
||||
<td>:root</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>/html/body</code></td>
|
||||
<td>:root > body</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table><!--rehype:className=show-header-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table class="show-header"><thead><tr><th>Xpath</th><th>CSS</th></tr></thead><tbody><tr><td><code>//h1</code></td><td>h1</td></tr><tr><td><code>//div//p</code></td><td>div p</td></tr><tr><td><code>//ul/li</code></td><td>ul > li</td></tr><tr><td><code>//ul/li/a</code></td><td>ul > li > a</td></tr><tr><td><code>//div/*</code></td><td>div > *</td></tr><tr><td><code>/</code></td><td>:root</td></tr><tr><td><code>/html/body</code></td><td>:root > body</td></tr></tbody></table>
|
||||
<!--rehype:className=show-header-->
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="有序选择器"><a aria-hidden="true" tabindex="-1" href="#有序选择器"><span class="icon icon-link"></span></a>有序选择器</h3><div class="wrap-body">
|
||||
<table class="show-header">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Xpath</th>
|
||||
<th>CSS</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>//ul/li[1]</code></td>
|
||||
<td>ul > li:first-child</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>//ul/li[2]</code></td>
|
||||
<td>ul > li:nth-child(2)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>//ul/li[last()]</code></td>
|
||||
<td>ul > li:last-child</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>//li[@id="id"][1]</code></td>
|
||||
<td>li#id:first-child</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>//a[1]</code></td>
|
||||
<td>a:first-child</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>//a[last()]</code></td>
|
||||
<td>a:last-child</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table><!--rehype:className=show-header-->
|
||||
</div></div></div><div class="wrap col-span-2 row-span-2"><div class="wrap-header h3wrap"><h3 id="属性选择器"><a aria-hidden="true" tabindex="-1" href="#属性选择器"><span class="icon icon-link"></span></a>属性选择器</h3><div class="wrap-body"><!--rehype:wrap-class=col-span-2 row-span-2-->
|
||||
<table class="show-header">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Xpath</th>
|
||||
<th>CSS</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>//*[@id="id"]</code></td>
|
||||
<td>#id</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>//*[@class="class"]</code></td>
|
||||
<td>.class</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>//input[@type="submit"]</code></td>
|
||||
<td>input[type="submit"]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>//a[@id="abc"][@for="xyz"]</code></td>
|
||||
<td>a#abc[for="xyz"]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>//a[@rel]</code></td>
|
||||
<td>a[rel]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>//a[starts-with(@href, '/')]</code></td>
|
||||
<td>a[href^='/']</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>//a[ends-with(@href, '.pdf')]</code></td>
|
||||
<td>a[href$='pdf']</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>//a[contains(@href, '://')]</code></td>
|
||||
<td>a[href*='<code>:</code>//']</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>//a[contains(@rel, 'help')]</code></td>
|
||||
<td>a[rel~='help']</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table><!--rehype:className=show-header-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table class="show-header"><thead><tr><th>Xpath</th><th>CSS</th></tr></thead><tbody><tr><td><code>//ul/li[1]</code></td><td>ul > li:first-child</td></tr><tr><td><code>//ul/li[2]</code></td><td>ul > li:nth-child(2)</td></tr><tr><td><code>//ul/li[last()]</code></td><td>ul > li:last-child</td></tr><tr><td><code>//li[@id="id"][1]</code></td><td>li#id:first-child</td></tr><tr><td><code>//a[1]</code></td><td>a:first-child</td></tr><tr><td><code>//a[last()]</code></td><td>a:last-child</td></tr></tbody></table>
|
||||
<!--rehype:className=show-header-->
|
||||
</div></div></div><div class="wrap col-span-2 row-span-2"><div class="wrap-header h3wrap"><h3 id="属性选择器"><a aria-hidden="true" tabindex="-1" href="#属性选择器"><span class="icon icon-link"></span></a>属性选择器</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=col-span-2 row-span-2-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table class="show-header"><thead><tr><th>Xpath</th><th>CSS</th></tr></thead><tbody><tr><td><code>//*[@id="id"]</code></td><td>#id</td></tr><tr><td><code>//*[@class="class"]</code></td><td>.class</td></tr><tr><td><code>//input[@type="submit"]</code></td><td>input[type="submit"]</td></tr><tr><td><code>//a[@id="abc"][@for="xyz"]</code></td><td>a#abc[for="xyz"]</td></tr><tr><td><code>//a[@rel]</code></td><td>a[rel]</td></tr><tr><td><code>//a[starts-with(@href, '/')]</code></td><td>a[href^='/']</td></tr><tr><td><code>//a[ends-with(@href, '.pdf')]</code></td><td>a[href$='pdf']</td></tr><tr><td><code>//a[contains(@href, '://')]</code></td><td>a[href*='<code>:</code>//']</td></tr><tr><td><code>//a[contains(@rel, 'help')]</code></td><td>a[rel~='help']</td></tr></tbody></table>
|
||||
<!--rehype:className=show-header-->
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="兄弟姐妹选择器"><a aria-hidden="true" tabindex="-1" href="#兄弟姐妹选择器"><span class="icon icon-link"></span></a>兄弟姐妹选择器</h3><div class="wrap-body">
|
||||
<table class="show-header">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Xpath</th>
|
||||
<th>CSS</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>//h1/following-sibling::ul</code></td>
|
||||
<td>h1 ~ ul</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>//h1/following-sibling::ul[1]</code></td>
|
||||
<td>h1 + ul</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>//h1/following-sibling::[@id="id"]</code></td>
|
||||
<td>h1 ~ #id</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table><!--rehype:className=show-header-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table class="show-header"><thead><tr><th>Xpath</th><th>CSS</th></tr></thead><tbody><tr><td><code>//h1/following-sibling::ul</code></td><td>h1 ~ ul</td></tr><tr><td><code>//h1/following-sibling::ul[1]</code></td><td>h1 + ul</td></tr><tr><td><code>//h1/following-sibling::[@id="id"]</code></td><td>h1 ~ #id</td></tr></tbody></table>
|
||||
<!--rehype:className=show-header-->
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="jquery"><a aria-hidden="true" tabindex="-1" href="#jquery"><span class="icon icon-link"></span></a>jQuery</h3><div class="wrap-body">
|
||||
<table class="show-header">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Xpath</th>
|
||||
<th>CSS</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>//ul/li/..</code></td>
|
||||
<td>$('ul > li').parent()</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>//li/ancestor-or-self::section</code></td>
|
||||
<td>$('li').closest('section')</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>//a/@href</code></td>
|
||||
<td>$('a').attr('href')</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>//span/text()</code></td>
|
||||
<td>$('span').text()</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table><!--rehype:className=show-header-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table class="show-header"><thead><tr><th>Xpath</th><th>CSS</th></tr></thead><tbody><tr><td><code>//ul/li/..</code></td><td>$('ul > li').parent()</td></tr><tr><td><code>//li/ancestor-or-self::section</code></td><td>$('li').closest('section')</td></tr><tr><td><code>//a/@href</code></td><td>$('a').attr('href')</td></tr><tr><td><code>//span/text()</code></td><td>$('span').text()</td></tr></tbody></table>
|
||||
<!--rehype:className=show-header-->
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="杂项选择器"><a aria-hidden="true" tabindex="-1" href="#杂项选择器"><span class="icon icon-link"></span></a>杂项选择器</h3><div class="wrap-body">
|
||||
<table class="show-header">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Xpath</th>
|
||||
<th>CSS</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>//h1[not(@id)]</code></td>
|
||||
<td>h1:not([id])</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>//button[text()="Submit"]</code></td>
|
||||
<td>文字匹配</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>//button[contains(text(),"Go")]</code></td>
|
||||
<td>文本包含(子字符串)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>//product[@price > 2.50]</code></td>
|
||||
<td>算术</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>//ul[*]</code></td>
|
||||
<td>有孩子</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>//ul[li]</code></td>
|
||||
<td>有孩子(具体)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>//a[@name or @href]</code></td>
|
||||
<td>或逻辑</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>`//a</td>
|
||||
<td>//div`</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table><!--rehype:className=show-header-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table class="show-header"><thead><tr><th>Xpath</th><th>CSS</th></tr></thead><tbody><tr><td><code>//h1[not(@id)]</code></td><td>h1:not([id])</td></tr><tr><td><code>//button[text()="Submit"]</code></td><td>文字匹配</td></tr><tr><td><code>//button[contains(text(),"Go")]</code></td><td>文本包含(子字符串)</td></tr><tr><td><code>//product[@price > 2.50]</code></td><td>算术</td></tr><tr><td><code>//ul[*]</code></td><td>有孩子</td></tr><tr><td><code>//ul[li]</code></td><td>有孩子(具体)</td></tr><tr><td><code>//a[@name or @href]</code></td><td>或逻辑</td></tr><tr><td>`//a</td><td>//div`</td></tr></tbody></table>
|
||||
<!--rehype:className=show-header-->
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="xpath-表达式"><a aria-hidden="true" tabindex="-1" href="#xpath-表达式"><span class="icon icon-link"></span></a>XPath 表达式</h2><div class="wrap-body">
|
||||
</div></div><div class="h2wrap-body"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="步骤和轴"><a aria-hidden="true" tabindex="-1" href="#步骤和轴"><span class="icon icon-link"></span></a>步骤和轴</h3><div class="wrap-body">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>-</th>
|
||||
<th>-</th>
|
||||
<th>-</th>
|
||||
<th>-</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>//</code></td>
|
||||
<td><code>ul</code></td>
|
||||
<td><code>/</code></td>
|
||||
<td><code>a[@id='link']</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Axis</td>
|
||||
<td>Step</td>
|
||||
<td>Axis</td>
|
||||
<td>Step</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th>-</th><th>-</th><th>-</th><th>-</th></tr></thead><tbody><tr><td><code>//</code></td><td><code>ul</code></td><td><code>/</code></td><td><code>a[@id='link']</code></td></tr><tr><td>Axis</td><td>Step</td><td>Axis</td><td>Step</td></tr></tbody></table>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="前缀"><a aria-hidden="true" tabindex="-1" href="#前缀"><span class="icon icon-link"></span></a>前缀</h3><div class="wrap-body">
|
||||
<table class="show-header">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>前缀</th>
|
||||
<th>例子</th>
|
||||
<th>意思是</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>//</code></td>
|
||||
<td><code>//hr[@class='edge']</code></td>
|
||||
<td>任何地方</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>/</code></td>
|
||||
<td><code>/html/body/div</code></td>
|
||||
<td>根</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>./</code></td>
|
||||
<td><code>./div/p</code></td>
|
||||
<td>相对的</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table><!--rehype:className=show-header-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table class="show-header"><thead><tr><th>前缀</th><th>例子</th><th>意思是</th></tr></thead><tbody><tr><td><code>//</code></td><td><code>//hr[@class='edge']</code></td><td>任何地方</td></tr><tr><td><code>/</code></td><td><code>/html/body/div</code></td><td>根</td></tr><tr><td><code>./</code></td><td><code>./div/p</code></td><td>相对的</td></tr></tbody></table>
|
||||
<!--rehype:className=show-header-->
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="axes"><a aria-hidden="true" tabindex="-1" href="#axes"><span class="icon icon-link"></span></a>Axes</h3><div class="wrap-body">
|
||||
<table class="show-header">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Axis(轴)</th>
|
||||
<th>例子</th>
|
||||
<th>意思是</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>/</code></td>
|
||||
<td><code>//ul/li/a</code></td>
|
||||
<td>孩子</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>//</code></td>
|
||||
<td><code>//[@id="list"]//a</code></td>
|
||||
<td>后裔</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table><!--rehype:className=show-header-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table class="show-header"><thead><tr><th>Axis(轴)</th><th>例子</th><th>意思是</th></tr></thead><tbody><tr><td><code>/</code></td><td><code>//ul/li/a</code></td><td>孩子</td></tr><tr><td><code>//</code></td><td><code>//[@id="list"]//a</code></td><td>后裔</td></tr></tbody></table>
|
||||
<!--rehype:className=show-header-->
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="xpath-predicates谓词"><a aria-hidden="true" tabindex="-1" href="#xpath-predicates谓词"><span class="icon icon-link"></span></a>XPath Predicates(谓词)</h2><div class="wrap-body">
|
||||
</div></div><div class="h2wrap-body"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="predicates谓词"><a aria-hidden="true" tabindex="-1" href="#predicates谓词"><span class="icon icon-link"></span></a>Predicates(谓词)</h3><div class="wrap-body">
|
||||
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line line-number" line="1">//div<span class="token punctuation">[</span>true<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">]</span>
|
||||
@ -380,7 +389,8 @@
|
||||
<pre><code class="code-highlight"><span class="code-line line-number" line="1">//section[.//h1[@id='hi']]
|
||||
</span></code></pre>
|
||||
<p>如果它有一个具有 <code>id='hi'</code> 的 <code><h1></code> 后代,则返回 <code><section></code>。</p>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="xpath-函数"><a aria-hidden="true" tabindex="-1" href="#xpath-函数"><span class="icon icon-link"></span></a>XPath 函数</h2><div class="wrap-body"><!--rehype:body-class=cols-2-->
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="xpath-函数"><a aria-hidden="true" tabindex="-1" href="#xpath-函数"><span class="icon icon-link"></span></a>XPath 函数</h2><div class="wrap-body">
|
||||
<!--rehype:body-class=cols-2-->
|
||||
</div></div><div class="h2wrap-body cols-2"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="节点功能"><a aria-hidden="true" tabindex="-1" href="#节点功能"><span class="icon icon-link"></span></a>节点功能</h3><div class="wrap-body">
|
||||
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line line-number" line="1">name<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment"># //[starts-with(name(), 'h')]</span>
|
||||
</span><span class="code-line line-number" line="2">text<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token comment"># //button[text()="Submit"]</span>
|
||||
@ -412,7 +422,8 @@
|
||||
</span><span class="code-line line-number" line="2">number<span class="token punctuation">(</span><span class="token punctuation">)</span>
|
||||
</span><span class="code-line line-number" line="3">boolean<span class="token punctuation">(</span><span class="token punctuation">)</span>
|
||||
</span></code></pre>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="xpath-axes"><a aria-hidden="true" tabindex="-1" href="#xpath-axes"><span class="icon icon-link"></span></a>XPath Axes</h2><div class="wrap-body"><!--rehype:body-class=cols-2-->
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="xpath-axes"><a aria-hidden="true" tabindex="-1" href="#xpath-axes"><span class="icon icon-link"></span></a>XPath Axes</h2><div class="wrap-body">
|
||||
<!--rehype:body-class=cols-2-->
|
||||
</div></div><div class="h2wrap-body cols-2"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="使用轴"><a aria-hidden="true" tabindex="-1" href="#使用轴"><span class="icon icon-link"></span></a>使用轴</h3><div class="wrap-body">
|
||||
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line line-number" line="1">//ul/li <span class="token comment"># ul > li</span>
|
||||
</span><span class="code-line line-number" line="2">//ul/child::li <span class="token comment"># ul > li (same)</span>
|
||||
@ -421,30 +432,30 @@
|
||||
</span><span class="code-line line-number" line="5">//ul/ancestor-or-self::li <span class="token comment"># $('ul').closest('li')</span>
|
||||
</span></code></pre>
|
||||
<hr>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>//</code></td>
|
||||
<td><code>ul</code></td>
|
||||
<td><code>/child::</code></td>
|
||||
<td><code>li</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Axis</td>
|
||||
<td>Step</td>
|
||||
<td>Axis</td>
|
||||
<td>Step</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th></th><th></th><th></th><th></th></tr></thead><tbody><tr><td><code>//</code></td><td><code>ul</code></td><td><code>/child::</code></td><td><code>li</code></td></tr><tr><td>Axis</td><td>Step</td><td>Axis</td><td>Step</td></tr></tbody></table>
|
||||
<p>表达式的步骤由 <code>/</code> 分隔,通常用于选择子节点。 这并不总是正确的:您可以使用 <code>::</code> 指定不同的“轴”。</p>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="子轴"><a aria-hidden="true" tabindex="-1" href="#子轴"><span class="icon icon-link"></span></a>子轴</h3><div class="wrap-body">
|
||||
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line line-number" line="1"><span class="token comment"># 都一样</span>
|
||||
@ -471,89 +482,92 @@
|
||||
</span><span class="code-line line-number" line="2">//ul//<span class="token punctuation">[</span>last<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">]</span>
|
||||
</span><span class="code-line line-number" line="3">//ul/descendant-or-self::<span class="token punctuation">[</span>last<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">]</span>
|
||||
</span></code></pre>
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="其他轴"><a aria-hidden="true" tabindex="-1" href="#其他轴"><span class="icon icon-link"></span></a>其他轴</h3><div class="wrap-body"><!--rehype:wrap-class=row-span-2-->
|
||||
<table class="show-header">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Axis</th>
|
||||
<th>Abbrev</th>
|
||||
<th>Notes</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>ancestor</code></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>ancestor-or-self</code></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>attribute</code></td>
|
||||
<td><code>@</code></td>
|
||||
<td><code>@href</code> 是 <code>attribute::href</code> 的缩写</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>child</code></td>
|
||||
<td></td>
|
||||
<td><code>div</code> 是 <code>child::div</code> 的缩写</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>descendant</code></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>descendant-or-self</code></td>
|
||||
<td><code>//</code></td>
|
||||
<td><code>//</code> 是 <code>/descendant-or-self::node()/</code>的缩写</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>namespace</code></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>self</code></td>
|
||||
<td><code>.</code></td>
|
||||
<td><code>.</code> 是 <code>self::node()</code> 的缩写</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>parent</code></td>
|
||||
<td><code>..</code></td>
|
||||
<td><code>..</code> 是 <code>parent::node()</code> 的缩写</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>following</code></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>following-sibling</code></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>preceding</code></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>preceding-sibling</code></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table><!--rehype:className=show-header-->
|
||||
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="其他轴"><a aria-hidden="true" tabindex="-1" href="#其他轴"><span class="icon icon-link"></span></a>其他轴</h3><div class="wrap-body">
|
||||
<!--rehype:wrap-class=row-span-2-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<table class="show-header"><thead><tr><th>Axis</th><th>Abbrev</th><th>Notes</th></tr></thead><tbody><tr><td><code>ancestor</code></td><td></td><td></td></tr><tr><td><code>ancestor-or-self</code></td><td></td><td></td></tr><tr><td><code>attribute</code></td><td><code>@</code></td><td><code>@href</code> 是 <code>attribute::href</code> 的缩写</td></tr><tr><td><code>child</code></td><td></td><td><code>div</code> 是 <code>child::div</code> 的缩写</td></tr><tr><td><code>descendant</code></td><td></td><td></td></tr><tr><td><code>descendant-or-self</code></td><td><code>//</code></td><td><code>//</code> 是 <code>/descendant-or-self::node()/</code>的缩写</td></tr><tr><td><code>namespace</code></td><td></td><td></td></tr><tr><td><code>self</code></td><td><code>.</code></td><td><code>.</code> 是 <code>self::node()</code> 的缩写</td></tr><tr><td><code>parent</code></td><td><code>..</code></td><td><code>..</code> 是 <code>parent::node()</code> 的缩写</td></tr><tr><td><code>following</code></td><td></td><td></td></tr><tr><td><code>following-sibling</code></td><td></td><td></td></tr><tr><td><code>preceding</code></td><td></td><td></td></tr><tr><td><code>preceding-sibling</code></td><td></td><td></td></tr></tbody></table>
|
||||
<!--rehype:className=show-header-->
|
||||
<p>您还可以使用其他轴。</p>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="联合"><a aria-hidden="true" tabindex="-1" href="#联合"><span class="icon icon-link"></span></a>联合</h3><div class="wrap-body">
|
||||
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line line-number" line="1">//a <span class="token operator">|</span> //span
|
||||
</span></code></pre>
|
||||
<p>使用 <code>|</code> 连接两个表达式。</p>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="xpath-更多示例"><a aria-hidden="true" tabindex="-1" href="#xpath-更多示例"><span class="icon icon-link"></span></a>XPath 更多示例</h2><div class="wrap-body"><!--rehype:body-class=cols-2-->
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="xpath-更多示例"><a aria-hidden="true" tabindex="-1" href="#xpath-更多示例"><span class="icon icon-link"></span></a>XPath 更多示例</h2><div class="wrap-body">
|
||||
<!--rehype:body-class=cols-2-->
|
||||
</div></div><div class="h2wrap-body cols-2"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="示例"><a aria-hidden="true" tabindex="-1" href="#示例"><span class="icon icon-link"></span></a>示例</h3><div class="wrap-body">
|
||||
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line line-number" line="1">//* <span class="token comment"># 所有元素</span>
|
||||
</span><span class="code-line line-number" line="2">count<span class="token punctuation">(</span>//*<span class="token punctuation">)</span> <span class="token comment"># 计算所有元素</span>
|
||||
@ -568,10 +582,8 @@
|
||||
<p>查找直接包含 <code>h1#section-name</code> 的 <code><section></code></p>
|
||||
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line line-number" line="1">//section<span class="token punctuation">[</span>//h1<span class="token punctuation">[</span>@id<span class="token operator">=</span><span class="token string">'section-name'</span><span class="token punctuation">]</span><span class="token punctuation">]</span>
|
||||
</span></code></pre>
|
||||
<p>
|
||||
查找包含 <code>h1#section-name</code> 的 <code><section></code>。
|
||||
(与上面相同,但使用后代或自我而不是孩子)
|
||||
</p>
|
||||
<p>查找包含 <code>h1#section-name</code> 的 <code><section></code>。
|
||||
(与上面相同,但使用后代或自我而不是孩子)</p>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="最近的"><a aria-hidden="true" tabindex="-1" href="#最近的"><span class="icon icon-link"></span></a>最近的</h3><div class="wrap-body">
|
||||
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line line-number" line="1">./ancestor-or-self::<span class="token punctuation">[</span>@class<span class="token operator">=</span><span class="token string">"box"</span><span class="token punctuation">]</span>
|
||||
</span></code></pre>
|
||||
@ -582,9 +594,8 @@
|
||||
<p>查找 <code><item></code> 并检查其属性</p>
|
||||
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="另见"><a aria-hidden="true" tabindex="-1" href="#另见"><span class="icon icon-link"></span></a>另见</h2><div class="wrap-body">
|
||||
<ul>
|
||||
<li><a href="https://devhints.io/xpath">Devhints</a> <em>(devhints.io)</em></li>
|
||||
<li><a href="http://www.whitebeam.org/library/guide/TechNotes/xpathtestbed.rhtm">Xpath test bed</a> <em>(whitebeam.org)</em></li>
|
||||
<li><a href="https://devhints.io/xpath">Devhints</a> <em>(devhints.io)</em></li>
|
||||
<li><a href="http://www.whitebeam.org/library/guide/TechNotes/xpathtestbed.rhtm">Xpath test bed</a> <em>(whitebeam.org)</em></li>
|
||||
</ul>
|
||||
|
||||
</div></div></div></div></div><footer class="footer-wrap"><footer class="max-container">© 2022 Kenny Wang, All rights reserved.</footer></footer></body>
|
||||
</html>
|
||||
|
82
index.html
82
index.html
@ -38,109 +38,113 @@
|
||||
<p>为开发人员分享快速参考备忘清单(主要是方便自己),在看到 <a href="https://github.com/Randy8080/reference">Reference</a> 快速参考备忘单,感觉非常简单,造轮子使命感突然来了,造个中文版本的,为了方便自己的技术栈查阅,立马撸起来 :)。</p>
|
||||
<p>如果您发现此处的备忘单不合适,您可以通过提交 PR 来修复它或提供更好的备忘清单,只针对【中文】用户。以下是开源天使提供的一些备忘清单和快速参考 :)。</p>
|
||||
</div></header><div class="h1wrap-body"><div class="wrap"><div class="wrap-header h2wrap"><h2 id="编程"><a aria-hidden="true" tabindex="-1" href="#编程"><span class="icon icon-link"></span></a>编程</h2><div class="wrap-body">
|
||||
<p class="home-card">
|
||||
<a href="./docs/docker.html" style="background: rgb(72 143 223/var(\-\-bg\-opacity));"><svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 640 512" height="1em" width="1em">
|
||||
<p class="home-card"><a href="./docs/docker.html" style="background: rgb(72 143 223/var(\-\-bg\-opacity));"><svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 640 512" height="1em" width="1em">
|
||||
<path d="M349.9 236.3h-66.1v-59.4h66.1v59.4zm0-204.3h-66.1v60.7h66.1V32zm78.2 144.8H362v59.4h66.1v-59.4zm-156.3-72.1h-66.1v60.1h66.1v-60.1zm78.1 0h-66.1v60.1h66.1v-60.1zm276.8 100c-14.4-9.7-47.6-13.2-73.1-8.4-3.3-24-16.7-44.9-41.1-63.7l-14-9.3-9.3 14c-18.4 27.8-23.4 73.6-3.7 103.8-8.7 4.7-25.8 11.1-48.4 10.7H2.4c-8.7 50.8 5.8 116.8 44 162.1 37.1 43.9 92.7 66.2 165.4 66.2 157.4 0 273.9-72.5 328.4-204.2 21.4.4 67.6.1 91.3-45.2 1.5-2.5 6.6-13.2 8.5-17.1l-13.3-8.9zm-511.1-27.9h-66v59.4h66.1v-59.4zm78.1 0h-66.1v59.4h66.1v-59.4zm78.1 0h-66.1v59.4h66.1v-59.4zm-78.1-72.1h-66.1v60.1h66.1v-60.1z"></path>
|
||||
</svg>
|
||||
<span>Docker</span></a><!--rehype:style=background: rgb(72 143 223/var(\-\-bg\-opacity));-->
|
||||
<a href="./docs/dockerfile.html" style="background: rgb(0 72 153/var(\-\-bg\-opacity));"><svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 50 50" height="1em" width="1em">
|
||||
<a href="./docs/dockerfile.html" style="background: rgb(0 72 153/var(\-\-bg\-opacity));"><svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 50 50" height="1em" width="1em">
|
||||
<path style="text-indent:0;text-align:start;line-height:normal;text-transform:none;block-progression:tb;-inkscape-font-specification:Sans" d="M20 9v5H10v5H5v5H1.125a1 1 0 0 0-.969.813S0 25.666 0 26.75c0 .687.07 1.433.188 2.188C.13 28.95.051 28.986 0 29h.188a15.52 15.52 0 0 0 2.062 5.563c.005.007-.005.023 0 .03a1 1 0 0 0 .031.063 1 1 0 0 0 .375.594 1 1 0 0 0 .063.031c.307.445.633.89 1 1.313C6.396 39.679 10.737 42 17 42c10.221 0 18.869-4.354 23.75-13h9.094c-1.086-.275-3.42-.64-3.032-2.063-1.292 1.496-3.755 1.684-5.656 1.344.362-.688.717-1.385 1.032-2.125 2.891-.073 4.964-1.004 6.124-2.125 1.268-1.225 1.657-2.593 1.657-2.593a1 1 0 0 0-.344-1.032s-2.527-1.842-6.313-1.218c-1.08-3.537-3.874-5.25-3.874-5.25a1 1 0 0 0-.688-.126 1 1 0 0 0-.438.22s-.668.57-1.218 1.593c-.55 1.024-1.057 2.582-.875 4.594.085.941.382 1.837.812 2.687-.242.148-.383.273-.781.438-.828.342-2.034.656-3.75.656H32v-5h-5V9h-7zm2 2h3v3h-3v-3zm-10 5h3v3h-3v-3zm5 0h3v3h-3v-3zm5 0h3v3h-3v-3zm17.094.219c.742.549 2.085 1.701 2.562 4.218a1 1 0 0 0 1.25.782c2.55-.7 3.93-.125 4.688.312-.145.315-.12.514-.688 1.063-.91.88-2.452 1.766-5.343 1.656a1 1 0 0 0-.97.625 27.36 27.36 0 0 1-1.343 2.813 2.11 2.11 0 0 1-.375-.282c-1.338 1.94-9.113 1.2-9.656-.312-1.677 1.968-6.885 1.968-8.563 0-.543 1.512-8.35 2.252-9.687.312-1.201 1.126-5.932 1.816-7.906-.468.187.688-.297 1.133-.938 1.437A11.462 11.462 0 0 1 2 26.75c0-.431.033-.47.063-.75H32.5c1.969 0 3.446-.377 4.5-.813 1.054-.435 1.803-.969 1.906-1.03a1 1 0 0 0 .25-1.47c-.554-.724-.844-1.627-.937-2.656-.146-1.612.234-2.74.625-3.468.133-.248.139-.195.25-.344zM7 21h3v3H7v-3zm5 0h3v3h-3v-3zm5 0h3v3h-3v-3zm5 0h3v3h-3v-3zm5 0h3v3h-3v-3zM2.25 29H38.5C33.912 36.414 26.29 40 17 40c-5.47 0-9.016-1.854-11.344-4.313 4.438.211 7.875-.968 7.875-.968a1.008 1.008 0 0 0-.25-2 1.005 1.005 0 0 0-.156.031 1 1 0 0 0-.25.063S8.785 34.208 4 33.53A13.95 13.95 0 0 1 2.25 29zM16 31a1 1 0 1 0 1 1 .949.949 0 0 0-.063-.375.443.443 0 0 1-.375.219c-.225 0-.406-.213-.406-.438 0-.15.097-.273.219-.343A1.055 1.055 0 0 0 16 31z"></path>
|
||||
</svg>
|
||||
<span>Dockerfile</span></a><!--rehype:style=background: rgb(0 72 153/var(\-\-bg\-opacity));-->
|
||||
<a href="./docs/javascript.html" style="background: rgb(203 183 31/var(\-\-bg\-opacity));"><svg fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14" height="1em" width="1em">
|
||||
<a href="./docs/javascript.html" style="background: rgb(203 183 31/var(\-\-bg\-opacity));"><svg fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14" height="1em" width="1em">
|
||||
<path d="M1 1h12v12H1V1Zm11.017 9.138c-.087-.547-.444-1.008-1.502-1.437-.367-.172-.777-.292-.898-.57-.046-.165-.053-.255-.023-.352.075-.323.458-.42.757-.33.195.06.375.21.488.45.517-.338.517-.338.878-.563a2.08 2.08 0 0 0-.293-.39c-.315-.352-.734-.532-1.417-.516l-.352.044c-.338.082-.66.263-.855.502-.57.646-.406 1.771.284 2.236.682.51 1.68.622 1.808 1.103.12.584-.435.772-.983.704-.406-.09-.63-.293-.878-.668l-.915.526c.105.24.225.344.405.554.87.879 3.045.834 3.436-.501.014-.046.12-.353.037-.826l.023.034zM7.525 6.515H6.401c0 .97-.004 1.932-.004 2.903 0 .616.031 1.181-.069 1.355-.165.345-.59.301-.783.24-.198-.098-.298-.232-.415-.427-.032-.053-.055-.098-.064-.098l-.912.563c.152.314.375.585.662.758.427.255 1.002.338 1.603.203.392-.114.73-.346.906-.706.255-.465.201-1.035.198-1.673.006-1.027 0-2.054 0-3.09l.002-.028z"></path>
|
||||
</svg>
|
||||
<span>JavaScript</span></a><!--rehype:style=background: rgb(203 183 31/var(\-\-bg\-opacity));-->
|
||||
<a href="./docs/json.html" style="background: rgb(57 59 60/var(\-\-bg\-opacity));"><svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 32 32" height="1em" width="1em">
|
||||
<a href="./docs/json.html" style="background: rgb(57 59 60/var(\-\-bg\-opacity));"><svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 32 32" height="1em" width="1em">
|
||||
<path d="M16.057 31.958a15.416 15.416 0 0 0 1.901-.125 15.825 15.825 0 0 0 4.193-1.151 16.528 16.528 0 0 0 5.057-3.391 15.922 15.922 0 0 0 3.255-4.573c.677-1.458 1.161-3.031 1.359-4.63.198-1.547.182-3.13-.057-4.667a16.195 16.195 0 0 0-1.057-3.719 15.426 15.426 0 0 0-1.141-2.156c-1.557-2.448-3.813-4.417-6.411-5.734A17.13 17.13 0 0 0 20.26.656h-.01c.161.083.323.172.464.266.156.099.318.198.469.302.755.51 1.458 1.099 2.078 1.771 1.417 1.526 2.396 3.401 2.953 5.391.38 1.307.583 2.661.661 4.021.057.99.057 1.99-.063 2.974-.198 1.693-.74 3.344-1.635 4.792a10.012 10.012 0 0 1-2.536 2.781c-1.661 1.234-3.839 1.974-5.917 1.484a5.091 5.091 0 0 1-.995-.344 6.254 6.254 0 0 1-1.042-.599 8.116 8.116 0 0 1-1.656-1.474 8.605 8.605 0 0 1-1.401-2.328 9.76 9.76 0 0 1-.656-3.391c-.042-1.698.297-3.401 1.135-4.891a8.503 8.503 0 0 1 2.219-2.557c.302-.24.62-.443.938-.641l.021-.01a6.976 6.976 0 0 0-1.922-.156 6.564 6.564 0 0 0-1.635.318 7.701 7.701 0 0 0-1.359.599 8.041 8.041 0 0 0-.974.661c-.281.24-.563.479-.823.74-1.495 1.536-2.359 3.573-2.698 5.672-.198 1.302-.198 2.615-.12 3.938.141 1.859.521 3.714 1.26 5.411a11.348 11.348 0 0 0 1.797 2.901 10.868 10.868 0 0 0 4.177 2.974c.901.359 1.859.62 2.818.719.099.021.198.021.276.021zm-3.911-.531a5.861 5.861 0 0 1-.599-.302c-.198-.115-.401-.224-.599-.349a11.13 11.13 0 0 1-2.12-1.698c-1.458-1.516-2.438-3.422-2.995-5.443-.38-1.38-.583-2.802-.661-4.229a16.458 16.458 0 0 1 .063-2.776c.177-1.677.661-3.333 1.5-4.771a9.098 9.098 0 0 1 2.375-2.74 8.147 8.147 0 0 1 2.177-1.198 7.079 7.079 0 0 1 3.417-.359c.443.057.88.156 1.281.297.036 0 .036 0 .057.042.021.021.063.021.083.036.057.026.135.063.219.099.318.161.635.365.938.563a8.408 8.408 0 0 1 2.797 3.333c.557 1.219.818 2.583.839 3.922.021 1.438-.24 2.875-.859 4.193a8.558 8.558 0 0 1-3.516 3.776c.12.042.24.057.359.099.302.057.599.099.917.099 1.958.063 3.859-.88 5.255-2.198.26-.24.5-.5.719-.776.302-.359.583-.719.823-1.099.318-.5.578-1 .818-1.536.302-.719.536-1.458.677-2.219.26-1.339.281-2.698.198-4.036-.177-2.698-.896-5.396-2.453-7.63-.24-.339-.479-.661-.74-.958a13.11 13.11 0 0 0-1.422-1.38A10.994 10.994 0 0 0 19.876.97a12.981 12.981 0 0 0-2.255-.797L17.22.09c-.276-.042-.557-.057-.844-.078a10.636 10.636 0 0 0-1.354.021c-.938.057-1.88.214-2.813.448C7.735 1.637 3.818 4.757 1.735 8.892A15.851 15.851 0 0 0 .177 18.1c.161 1.359.5 2.698 1.036 3.969.307.76.682 1.5 1.104 2.198 1.458 2.38 3.578 4.318 6.01 5.656.917.521 1.88.917 2.875 1.26.302.099.604.198.922.276z"></path>
|
||||
</svg>
|
||||
<span>JSON</span></a><!--rehype:style=background: rgb(57 59 60/var(\-\-bg\-opacity));-->
|
||||
<a href="./docs/toml.html" style="background: rgb(132 132 132/var(\-\-bg\-opacity));"><svg viewBox="0 0 256 256" xmlns="http://www.w3.org/2000/svg" height="1em" width="1em">
|
||||
<a href="./docs/toml.html" style="background: rgb(132 132 132/var(\-\-bg\-opacity));"><svg viewBox="0 0 256 256" xmlns="http://www.w3.org/2000/svg" height="1em" width="1em">
|
||||
<path fill="currentColor" d="M198.472 0v28.764h25.888v198.472h-25.888V256H256V0z"></path>
|
||||
<path fill="currentColor" d="M64.72 83.416v-31.64h126.56v31.64h-47.46v138.067h-31.64V83.416z"></path>
|
||||
<path fill="currentColor" d="M57.528 0v28.764H31.64v198.472h25.888V256H0V0z"></path>
|
||||
</svg>
|
||||
<span>TOML</span></a><!--rehype:style=background: rgb(132 132 132/var(\-\-bg\-opacity));-->
|
||||
<a href="./docs/markdown.html" style="background: rgb(103 61 156/var(\-\-bg\-opacity));"><svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 16 16" height="1em" width="1em">
|
||||
<a href="./docs/markdown.html" style="background: rgb(103 61 156/var(\-\-bg\-opacity));"><svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 16 16" height="1em" width="1em">
|
||||
<path d="M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm11.5 1a.5.5 0 0 0-.5.5v3.793L9.854 8.146a.5.5 0 1 0-.708.708l2 2a.5.5 0 0 0 .708 0l2-2a.5.5 0 0 0-.708-.708L12 9.293V5.5a.5.5 0 0 0-.5-.5zM3.56 7.01h.056l1.428 3.239h.774l1.42-3.24h.056V11h1.073V5.001h-1.2l-1.71 3.894h-.039l-1.71-3.894H2.5V11h1.06V7.01z"></path>
|
||||
</svg><span>Markdown</span></a><!--rehype:style=background: rgb(103 61 156/var(\-\-bg\-opacity));-->
|
||||
<a href="./docs/typescript.html" style="background: rgb(49 120 198/var(\-\-bg\-opacity));"><svg fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14" height="1em" width="1em">
|
||||
<a href="./docs/typescript.html" style="background: rgb(49 120 198/var(\-\-bg\-opacity));"><svg fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14" height="1em" width="1em">
|
||||
<path d="M1 7v6h12V1H1v6zm7.36-.21v.538H6.811v4.922H5.547V7.328H4V6.25h4.36v.54zm3.046-.474c.192.037.408.089.483.117l.127.051v.586c0 .324-.01.586-.02.586-.009 0-.107-.051-.22-.112-.421-.24-1.096-.328-1.509-.207a.894.894 0 0 0-.319.193c-.112.108-.135.173-.135.347 0 .187.023.239.178.384.098.094.464.31.82.487.75.37 1.13.685 1.303 1.074.155.347.16 1.078.01 1.406-.141.31-.45.624-.755.769-.647.305-1.702.333-2.527.06l-.295-.098v-1.303l.234.169c.305.22.699.356 1.111.384.413.029.717-.047.905-.225.117-.107.14-.168.14-.346 0-.343-.196-.52-1.003-.915-.712-.351-.937-.51-1.148-.82-.469-.68-.328-1.72.3-2.194.534-.407 1.42-.557 2.32-.393Z"></path>
|
||||
</svg>
|
||||
<span>TypeScript</span></a><!--rehype:style=background: rgb(49 120 198/var(\-\-bg\-opacity));-->
|
||||
</p><!--rehype:class=home-card-->
|
||||
<span>TypeScript</span></a><!--rehype:style=background: rgb(49 120 198/var(\-\-bg\-opacity));--></p>
|
||||
<!--rehype:class=home-card-->
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="工具包"><a aria-hidden="true" tabindex="-1" href="#工具包"><span class="icon icon-link"></span></a>工具包</h2><div class="wrap-body">
|
||||
<p class="home-card">
|
||||
<a href="./docs/npm.html" style="background: rgb(203 2 0/var(\-\-bg\-opacity));"><svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="currentColor" height="1em" width="1em">
|
||||
<p class="home-card"><a href="./docs/npm.html" style="background: rgb(203 2 0/var(\-\-bg\-opacity));"><svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="currentColor" height="1em" width="1em">
|
||||
<path d="M1.763 0C.786 0 0 .786 0 1.763v20.474C0 23.214.786 24 1.763 24h20.474c.977 0 1.763-.786 1.763-1.763V1.763C24 .786 23.214 0 22.237 0zM5.13 5.323l13.837.019-.009 13.836h-3.464l.01-10.382h-3.456L12.04 19.17H5.113z"></path>
|
||||
</svg>
|
||||
<span>npm</span></a><!--rehype:style=background: rgb(203 2 0/var(\-\-bg\-opacity));-->
|
||||
<a href="./docs/package.json.html" style="background: rgb(132 132 132/var(\-\-bg\-opacity));"><svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" fill="currentColor" height="1em" width="1em">
|
||||
<a href="./docs/package.json.html" style="background: rgb(132 132 132/var(\-\-bg\-opacity));"><svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" fill="currentColor" height="1em" width="1em">
|
||||
<path d="M107.946667 838.4l57.173333 23.893333v-385.28l-103.68 250.026667c-17.493333 43.52 3.413333 93.44 46.506667 111.36z m832-157.866667L728.32 169.813333a85.888 85.888 0 0 0-77.226667-52.48c-11.093333 0-22.613333 1.706667-33.706666 6.4L302.933333 253.866667a85.290667 85.290667 0 0 0-46.08 110.933333l211.626667 510.72a85.248 85.248 0 0 0 110.933333 46.08l314.026667-130.133333a85.077333 85.077333 0 0 0 46.506667-110.933334zM336.213333 373.333333c-23.466667 0-42.666667-19.2-42.666666-42.666666s19.2-42.666667 42.666666-42.666667 42.666667 19.2 42.666667 42.666667-19.2 42.666667-42.666667 42.666666z m-85.333333 469.333334c0 46.933333 38.4 85.333333 85.333333 85.333333h61.866667l-147.2-355.84v270.506667z"></path>
|
||||
</svg><span>package.json</span></a><!--rehype:style=background: rgb(132 132 132/var(\-\-bg\-opacity));-->
|
||||
<a href="./docs/semver.html" style="background: rgb(106 111 141/var(\-\-bg\-opacity));"><svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="currentColor" height="1em" width="1em">
|
||||
<a href="./docs/semver.html" style="background: rgb(106 111 141/var(\-\-bg\-opacity));"><svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="currentColor" height="1em" width="1em">
|
||||
<path d="M.357 9.024A12.07 12.07 0 0 0 2.97 19.867a12.051 12.051 0 0 0 10.38 4.063c7.768-.703 13.086-9.799 9.517-16.8-.416-1.19-2.07-.368-1.903.596.287.7.526 1.421.713 2.155a9.983 9.983 0 0 1-3.926 10.25 9.965 9.965 0 0 1-14.807-3.809A9.984 9.984 0 0 1 4.44 5.448a9.968 9.968 0 0 1 4.85-3.044 9.868 9.868 0 0 1 7.02.631.333.333 0 0 1 .155.429l-3.962 10.62c-.107.81-.69.786-.797 0l-2.38-7.37a1.572 1.572 0 0 0-.773-.988c-1.19-.56-3.093.667-2.379 2.155l3.914 10.441c.524 1.393 1.023 1.834 2.058 1.834s1.535-.44 2.058-1.834L20 3.94a1.036 1.036 0 0 0-.369-1.19C13.1-2.907 2.32.641.357 9.023z"></path>
|
||||
</svg>
|
||||
<span>Semver</span></a><!--rehype:style=background: rgb(106 111 141/var(\-\-bg\-opacity));-->
|
||||
<a href="./docs/sketch.html" style="background: rgb(223 148 0/var(\-\-bg\-opacity));"><svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 512 512" height="1em" width="1em">
|
||||
<a href="./docs/sketch.html" style="background: rgb(223 148 0/var(\-\-bg\-opacity));"><svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 512 512" height="1em" width="1em">
|
||||
<path d="M27.5 162.2 9 187.1h90.5l6.9-130.7-78.9 105.8zM396.3 45.7 267.7 32l135.7 147.2-7.1-133.5zM112.2 218.3l-11.2-22H9.9L234.8 458zm2-31.2h284l-81.5-88.5L256.3 33zm297.3 9.1L277.6 458l224.8-261.7h-90.9zM415.4 69 406 56.4l.9 17.3 6.1 113.4h90.3zM113.5 93.5l-4.6 85.6L244.7 32 116.1 45.7zm287.7 102.7h-290l42.4 82.9L256.3 480l144.9-283.8z"></path>
|
||||
</svg>
|
||||
<span>Sketch</span></a><!--rehype:style=background: rgb(223 148 0/var(\-\-bg\-opacity));-->
|
||||
<a href="./docs/jest.html" style="background: rgb(153 66 91/var(\-\-bg\-opacity));"><svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="currentColor" height="1em" width="1em">
|
||||
<a href="./docs/jest.html" style="background: rgb(153 66 91/var(\-\-bg\-opacity));"><svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="currentColor" height="1em" width="1em">
|
||||
<path d="M22.251 11.82a3.117 3.117 0 0 0-2.328-3.01L22.911 0H8.104L11.1 8.838a3.116 3.116 0 0 0-2.244 2.988 3.12 3.12 0 0 0 1.313 2.536 8.279 8.279 0 0 1-1.084 1.244 8.14 8.14 0 0 1-2.55 1.647c-.834-.563-1.195-1.556-.869-2.446a3.11 3.11 0 0 0-.91-6.08 3.117 3.117 0 0 0-3.113 3.113c0 .848.347 1.626.903 2.182-.048.097-.097.195-.146.299-.465.959-.993 2.043-1.195 3.259-.403 2.432.257 4.384 1.849 5.489A5.093 5.093 0 0 0 5.999 24c1.827 0 3.682-.917 5.475-1.807 1.279-.632 2.599-1.292 3.898-1.612.48-.118.98-.187 1.508-.264 1.07-.153 2.175-.312 3.168-.89a4.482 4.482 0 0 0 2.182-3.091c.174-.994 0-1.994-.444-2.87.298-.48.465-1.042.465-1.647zm-1.355 0c0 .965-.785 1.75-1.75 1.75a1.753 1.753 0 0 1-1.085-3.126l.007-.007c.056-.042.118-.084.18-.125 0 0 .008 0 .008-.007.028-.014.055-.035.083-.05.007 0 .014-.006.021-.006.028-.014.063-.028.097-.042.035-.014.07-.027.098-.041.007 0 .013-.007.02-.007.028-.007.056-.021.084-.028.007 0 .02-.007.028-.007.034-.007.062-.014.097-.02h.007l.104-.022c.007 0 .02 0 .028-.007.028 0 .055-.007.083-.007h.035c.035 0 .07-.007.111-.007h.09c.028 0 .05 0 .077.007h.014c.055.007.111.014.167.028a1.766 1.766 0 0 1 1.396 1.723zM10.043 1.39h10.93l-2.509 7.4c-.104.02-.208.055-.312.09l-2.64-5.385-2.648 5.35c-.104-.034-.216-.055-.327-.076l-2.494-7.38zm4.968 9.825a3.083 3.083 0 0 0-.938-1.668l1.438-2.904 1.452 2.967c-.43.43-.743.98-.868 1.605H15.01zm-3.481-1.098c.034-.007.062-.014.097-.02h.02c.029-.008.056-.008.084-.015h.028c.028 0 .049-.007.076-.007h.271c.028 0 .049.007.07.007.014 0 .02 0 .035.007.027.007.048.007.076.014.007 0 .014 0 .028.007l.097.02h.007c.028.008.056.015.083.029.007 0 .014.007.028.007.021.007.049.014.07.027.007 0 .014.007.02.007.028.014.056.021.084.035h.007a.374.374 0 0 1 .09.049h.007c.028.014.056.034.084.048.007 0 .007.007.013.007.028.014.05.035.077.049l.007.007c.083.062.16.132.236.201l.007.007a1.747 1.747 0 0 1 .48 1.209 1.752 1.752 0 0 1-3.502 0 1.742 1.742 0 0 1 1.32-1.695zm-6.838-.049c.966 0 1.751.786 1.751 1.751s-.785 1.751-1.75 1.751-1.752-.785-1.752-1.75.786-1.752 1.751-1.752zm16.163 6.025a3.07 3.07 0 0 1-1.508 2.133c-.758.438-1.689.577-2.669.716a17.29 17.29 0 0 0-1.64.291c-1.445.355-2.834 1.05-4.182 1.717-1.724.854-3.35 1.66-4.857 1.66a3.645 3.645 0 0 1-2.154-.688c-1.529-1.056-1.453-3.036-1.272-4.12.167-1.015.632-1.966 1.077-2.877.028-.055.049-.104.077-.16.152.056.312.098.479.126-.264 1.473.486 2.994 1.946 3.745l.264.139.284-.104c1.216-.431 2.342-1.133 3.336-2.071a9.334 9.334 0 0 0 1.445-1.716c.16.027.32.034.48.034a3.117 3.117 0 0 0 3.008-2.327h1.167a3.109 3.109 0 0 0 3.01 2.327c.576 0 1.11-.16 1.57-.43.18.52.236 1.063.139 1.605z"></path>
|
||||
</svg>
|
||||
<span>Jest</span></a><!--rehype:style=background: rgb(153 66 91/var(\-\-bg\-opacity));-->
|
||||
<a href="./docs/vscode.html" style="background: rgb(91 163 230/var(\-\-bg\-opacity));"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150" fill="currentColor" height="1em" width="1em">
|
||||
<a href="./docs/regex.html" style="background: rgb(149 36 155/var(\-\-bg\-opacity));"><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 14 14" height="1em" width="1em">
|
||||
<path d="M8.676 5.214a5.533 5.533 0 0 0-.312-1.527c-.253-.729-.379-1.23-.379-1.505 0-.387.09-.68.268-.881A.892.892 0 0 1 8.933 1c.23 0 .43.1.602.301.17.2.256.487.256.858 0 .335-.1.803-.3 1.405a7.515 7.515 0 0 0-.358 1.65c.41-.26.777-.576 1.104-.947.506-.588.88-.952 1.126-1.093.245-.141.494-.212.747-.212.245 0 .45.086.613.257.171.163.257.36.257.59 0 .275-.123.52-.368.736-.246.216-.859.431-1.84.647a8.032 8.032 0 0 0-1.427.435c.387.2.859.353 1.416.457.9.163 1.487.368 1.762.613.282.245.423.513.423.803a.776.776 0 0 1-.256.58.793.793 0 0 1-.58.245c-.223 0-.472-.078-.747-.235-.267-.156-.632-.505-1.092-1.048a5.909 5.909 0 0 0-1.138-1.025c.015.423.1.884.257 1.382.267.877.401 1.476.401 1.795 0 .297-.089.55-.267.758-.179.2-.368.301-.569.301-.275 0-.524-.108-.747-.323-.156-.156-.234-.405-.234-.747 0-.357.085-.784.256-1.282.171-.505.28-.851.324-1.037.044-.193.085-.476.122-.847a6.15 6.15 0 0 0-1.148.97c-.543.61-.951.996-1.226 1.16a1.133 1.133 0 0 1-.602.178.9.9 0 0 1-.647-.257c-.178-.17-.268-.36-.268-.568 0-.186.075-.38.223-.58.157-.208.387-.38.692-.513.2-.09.657-.208 1.37-.357a7.284 7.284 0 0 0 1.35-.423 5.726 5.726 0 0 0-1.438-.469c-.914-.193-1.48-.367-1.695-.524-.334-.245-.502-.542-.502-.891 0-.201.082-.383.246-.547a.812.812 0 0 1 .59-.256c.246 0 .506.078.781.234.275.156.617.472 1.026.948.408.468.825.832 1.248 1.092M2.93 9.18c.54 0 .993.19 1.36.568.367.367.55.814.55 1.342 0 .528-.189.98-.567 1.36-.367.366-.815.55-1.343.55-.527 0-.98-.184-1.359-.55a1.884 1.884 0 0 1-.55-1.36c0-.54.183-.992.55-1.36.379-.367.832-.55 1.36-.55"></path>
|
||||
</svg>
|
||||
<span>RegEx</span></a><!--rehype:style=background: rgb(149 36 155/var(\-\-bg\-opacity));-->
|
||||
<a href="./docs/vscode.html" style="background: rgb(91 163 230/var(\-\-bg\-opacity));"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150" fill="currentColor" height="1em" width="1em">
|
||||
<path d="M111.856 0v128.829L0 112.122 111.856 150l37.289-15.6V17.925l.012-.005-.012-.025V15.6L111.856 0z"></path>
|
||||
<path d="M74.069 21.95 39.807 56.008 19.18 40.386l-8.5 2.854 20.985 20.862-20.985 20.86 8.501 2.857 20.627-15.623 34.26 34.055 20.519-8.767V30.718L74.068 21.95zm-.002 24.3v35.7L50.497 64.1l23.57-17.85z"></path>
|
||||
</svg>
|
||||
<span>VSCode</span></a><!--rehype:style=background: rgb(91 163 230/var(\-\-bg\-opacity));-->
|
||||
<a href="./docs/xpath.html" style="background: rgb(91 163 230/var(\-\-bg\-opacity));"><svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" fill="currentColor" height="1em" width="1em">
|
||||
<a href="./docs/vim.html" style="background: rgb(9 150 8/var(\-\-bg\-opacity));"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill="currentColor" height="1em" width="1em">
|
||||
<path d="M32 15.979h-.036l-5.755-5.755 5.734-5.885V1.948l-.865-.865H20.146l-.88.807v1.396L16.021.036V0L16 .021 15.979 0v.036L14.26 1.755l-.719-.719H2.713l-.849.927v2.51l.818.823h.964v7.078L.037 15.983H.001l.021.016-.021.021h.036l3.609 3.604v8.625l1.208.698h3.094l2.479-2.542 5.552 5.557v.036l.021-.021.021.021v-.036l3.344-3.344h.646a.352.352 0 0 0 .333-.24l.198-.568a.356.356 0 0 0-.052-.323l1.948-1.948-.813 2.615a.352.352 0 0 0 .234.443.242.242 0 0 0 .104.021h2.432a.365.365 0 0 0 .323-.219l.219-.526a.333.333 0 0 0-.005-.271.313.313 0 0 0-.193-.188.45.45 0 0 0-.13-.031h-.099l1.12-3.521h1.641l-1.354 4.292a.359.359 0 0 0 .343.459h2.667a.362.362 0 0 0 .333-.224l.219-.573a.355.355 0 0 0-.334-.474h-.193l1.505-4.901a.347.347 0 0 0-.052-.318l-.5-.672v-.005a.355.355 0 0 0-.281-.141h-1.917a.348.348 0 0 0-.25.109l-.536.589h-.828l-.057-.063 5.927-5.927h.036l-.021-.016zM13.12 28.188l2.104-6.016h-.672l.401-.406h2.208l-2.083 6.078h.833l-.109.344zm4.922-10.027.203.203-.359 1.229-.302.302h-1.292l-.24-.24.417-1.161.38-.333zm-10.589 9.61H5.172l-.354-.198V4.12H3.172l-.135-.13V2.422l.193-.208h9.828l.286.286v1.479l-.193.229h-1.438v11.583L23.458 4.208h-2.781l-.234-.25V2.406l.161-.146h9.984l.177.177v1.427L17.307 17.666h-.557l-.026.005a.41.41 0 0 0-.156.078l-.458.396-.005.005a.407.407 0 0 0-.099.146l-.391 1.109zm19.693-5.266.63-.693h1.776l.417.552-1.688 5.474h.656l-.109.281h-2.375l1.5-4.755h-2.688l-1.438 4.521h.568l-.099.234h-2.141l1.479-4.729h-2.797l-1.417 4.453h.583l-.099.276H17.69l2.021-5.948h-.781l.12-.359h2.198l.693.714h1.208l.656-.734h1.411l.656.714z"></path>
|
||||
</svg>
|
||||
<span>Vim</span></a><!--rehype:style=background: rgb(9 150 8/var(\-\-bg\-opacity));-->
|
||||
<a href="./docs/xpath.html" style="background: rgb(91 163 230/var(\-\-bg\-opacity));"><svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" fill="currentColor" height="1em" width="1em">
|
||||
<path d="M107.946667 838.4l57.173333 23.893333v-385.28l-103.68 250.026667c-17.493333 43.52 3.413333 93.44 46.506667 111.36z m832-157.866667L728.32 169.813333a85.888 85.888 0 0 0-77.226667-52.48c-11.093333 0-22.613333 1.706667-33.706666 6.4L302.933333 253.866667a85.290667 85.290667 0 0 0-46.08 110.933333l211.626667 510.72a85.248 85.248 0 0 0 110.933333 46.08l314.026667-130.133333a85.077333 85.077333 0 0 0 46.506667-110.933334zM336.213333 373.333333c-23.466667 0-42.666667-19.2-42.666666-42.666666s19.2-42.666667 42.666666-42.666667 42.666667 19.2 42.666667 42.666667-19.2 42.666667-42.666667 42.666666z m-85.333333 469.333334c0 46.933333 38.4 85.333333 85.333333 85.333333h61.866667l-147.2-355.84v270.506667z"></path>
|
||||
</svg><span>XPath</span></a><!--rehype:style=background: rgb(91 163 230/var(\-\-bg\-opacity));-->
|
||||
</p><!--rehype:class=home-card-->
|
||||
</svg><span>XPath</span></a><!--rehype:style=background: rgb(91 163 230/var(\-\-bg\-opacity));--></p>
|
||||
<!--rehype:class=home-card-->
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="linux-命令"><a aria-hidden="true" tabindex="-1" href="#linux-命令"><span class="icon icon-link"></span></a>Linux 命令</h2><div class="wrap-body">
|
||||
<p class="home-card">
|
||||
<a href="./docs/cron.html" style="background: rgb(239 68 68/var(\-\-bg\-opacity));"><svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24" height="1em" width="1em">
|
||||
<p class="home-card"><a href="./docs/cron.html" style="background: rgb(239 68 68/var(\-\-bg\-opacity));"><svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24" height="1em" width="1em">
|
||||
<path d="M11 8v5l4.25 2.52.77-1.28-3.52-2.09V8H11zm10 2V3l-2.64 2.64A8.937 8.937 0 0 0 12 3a9 9 0 1 0 9 9h-2c0 3.86-3.14 7-7 7s-7-3.14-7-7 3.14-7 7-7c1.93 0 3.68.79 4.95 2.05L14 10h7z"></path>
|
||||
</svg>
|
||||
<span>Cron</span></a><!--rehype:style=background: rgb(239 68 68/var(\-\-bg\-opacity));-->
|
||||
<a href="./docs/git.html" style="background: rgb(215 89 62/var(\-\-bg\-opacity));"><svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 16 16" height="1em" width="1em">
|
||||
<a href="./docs/git.html" style="background: rgb(215 89 62/var(\-\-bg\-opacity));"><svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 16 16" height="1em" width="1em">
|
||||
<path d="M15.698 7.287 8.712.302a1.03 1.03 0 0 0-1.457 0l-1.45 1.45 1.84 1.84a1.223 1.223 0 0 1 1.55 1.56l1.773 1.774a1.224 1.224 0 0 1 1.267 2.025 1.226 1.226 0 0 1-2.002-1.334L8.58 5.963v4.353a1.226 1.226 0 1 1-1.008-.036V5.887a1.226 1.226 0 0 1-.666-1.608L5.093 2.465l-4.79 4.79a1.03 1.03 0 0 0 0 1.457l6.986 6.986a1.03 1.03 0 0 0 1.457 0l6.953-6.953a1.031 1.031 0 0 0 0-1.457"></path>
|
||||
</svg>
|
||||
<span>Git</span></a><!--rehype:style=background: rgb(215 89 62/var(\-\-bg\-opacity));-->
|
||||
<a href="./docs/find.html" style="background: rgb(16 185 129/var(\-\-bg\-opacity));"><svg viewBox="0 0 1024 1024" fill="currentColor" xmlns="http://www.w3.org/2000/svg" height="1em" width="1em"><path d="M384 554.666667C384 625.493333 441.173333 682.666667 512 682.666667 582.826667 682.666667 640 625.493333 640 554.666667 640 483.84 582.826667 426.666667 512 426.666667 441.173333 426.666667 384 483.84 384 554.666667M853.333333 835.84 853.333333 341.333333 597.333333 85.333333 256 85.333333C209.066667 85.333333 170.666667 123.733333 170.666667 170.666667L170.666667 853.333333C170.666667 900.266667 209.066667 938.666667 256 938.666667L768 938.666667C787.2 938.666667 804.266667 932.266667 818.773333 921.6L629.76 732.586667C595.626667 754.773333 554.666667 768 512 768 394.24 768 298.666667 672.426667 298.666667 554.666667 298.666667 436.906667 394.24 341.333333 512 341.333333 629.76 341.333333 725.333333 436.906667 725.333333 554.666667 725.333333 597.333333 712.106667 638.293333 689.92 672L853.333333 835.84Z"></path>
|
||||
<a href="./docs/find.html" style="background: rgb(16 185 129/var(\-\-bg\-opacity));"><svg viewBox="0 0 1024 1024" fill="currentColor" xmlns="http://www.w3.org/2000/svg" height="1em" width="1em"><path d="M384 554.666667C384 625.493333 441.173333 682.666667 512 682.666667 582.826667 682.666667 640 625.493333 640 554.666667 640 483.84 582.826667 426.666667 512 426.666667 441.173333 426.666667 384 483.84 384 554.666667M853.333333 835.84 853.333333 341.333333 597.333333 85.333333 256 85.333333C209.066667 85.333333 170.666667 123.733333 170.666667 170.666667L170.666667 853.333333C170.666667 900.266667 209.066667 938.666667 256 938.666667L768 938.666667C787.2 938.666667 804.266667 932.266667 818.773333 921.6L629.76 732.586667C595.626667 754.773333 554.666667 768 512 768 394.24 768 298.666667 672.426667 298.666667 554.666667 298.666667 436.906667 394.24 341.333333 512 341.333333 629.76 341.333333 725.333333 436.906667 725.333333 554.666667 725.333333 597.333333 712.106667 638.293333 689.92 672L853.333333 835.84Z"></path>
|
||||
</svg><span>find</span></a><!--rehype:style=background: rgb(16 185 129/var(\-\-bg\-opacity));-->
|
||||
<a href="./docs/sed.html" style="background: rgb(16 185 129/var(\-\-bg\-opacity));"><svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" height="1em" width="1em">
|
||||
<a href="./docs/sed.html" style="background: rgb(16 185 129/var(\-\-bg\-opacity));"><svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" height="1em" width="1em">
|
||||
<path d="M5 3a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h4.22l.212-.845c.013-.052.027-.104.043-.155H5a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v4.232c.32-.137.659-.213 1-.229V5a2 2 0 0 0-2-2H5Zm4.5 11h1.443l1-1H9.5a.5.5 0 0 0 0 1Zm-2-6.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM6.75 11a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm0 3a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM9.5 7a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Zm0 3a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4Zm1.48 5.377 4.83-4.83a1.87 1.87 0 1 1 2.644 2.646l-4.83 4.829a2.197 2.197 0 0 1-1.02.578l-1.498.374a.89.89 0 0 1-1.079-1.078l.375-1.498a2.18 2.18 0 0 1 .578-1.02Z" fill="currentColor"></path>
|
||||
</svg>
|
||||
<span>Sed</span></a><!--rehype:style=background: rgb(16 185 129/var(\-\-bg\-opacity));-->
|
||||
</p><!--rehype:class=home-card-->
|
||||
<span>Sed</span></a><!--rehype:style=background: rgb(16 185 129/var(\-\-bg\-opacity));--></p>
|
||||
<!--rehype:class=home-card-->
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="其它"><a aria-hidden="true" tabindex="-1" href="#其它"><span class="icon icon-link"></span></a>其它</h2><div class="wrap-body">
|
||||
<p class="home-card">
|
||||
<a href="./docs/quickreference.html" style="background: rgb(16 185 129/var(\-\-bg\-opacity));"><svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" height="1em" width="1em">
|
||||
<p class="home-card"><a href="./docs/quickreference.html" style="background: rgb(16 185 129/var(\-\-bg\-opacity));"><svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" height="1em" width="1em">
|
||||
<path opacity=".4" d="m21.66 10.44-.98 4.18c-.84 3.61-2.5 5.07-5.62 4.77-.5-.04-1.04-.13-1.62-.27l-1.68-.4c-4.17-.99-5.46-3.05-4.48-7.23l.98-4.19c.2-.85.44-1.59.74-2.2 1.17-2.42 3.16-3.07 6.5-2.28l1.67.39c4.19.98 5.47 3.05 4.49 7.23Z" fill="currentColor"></path>
|
||||
<path d="M15.06 19.39c-.62.42-1.4.77-2.35 1.08l-1.58.52c-3.97 1.28-6.06.21-7.35-3.76L2.5 13.28c-1.28-3.97-.22-6.07 3.75-7.35l1.58-.52c.41-.13.8-.24 1.17-.31-.3.61-.54 1.35-.74 2.2l-.98 4.19c-.98 4.18.31 6.24 4.48 7.23l1.68.4c.58.14 1.12.23 1.62.27Zm2.43-8.88c-.06 0-.12-.01-.19-.02l-4.85-1.23a.75.75 0 0 1 .37-1.45l4.85 1.23a.748.748 0 0 1-.18 1.47Z" fill="currentColor"></path>
|
||||
<path d="M14.56 13.89c-.06 0-.12-.01-.19-.02l-2.91-.74a.75.75 0 0 1 .37-1.45l2.91.74c.4.1.64.51.54.91-.08.34-.38.56-.72.56Z" fill="currentColor"></path>
|
||||
</svg>
|
||||
<span>Quick Reference</span></a><!--rehype:style=background: rgb(16 185 129/var(\-\-bg\-opacity));-->
|
||||
<a href="./docs/http-status-code.html" style="background: rgb(16 185 129/var(\-\-bg\-opacity));"><svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" fill="currentColor" height="1em" width="1em">
|
||||
<a href="./docs/http-status-code.html" style="background: rgb(16 185 129/var(\-\-bg\-opacity));"><svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" fill="currentColor" height="1em" width="1em">
|
||||
<path d="M107.946667 838.4l57.173333 23.893333v-385.28l-103.68 250.026667c-17.493333 43.52 3.413333 93.44 46.506667 111.36z m832-157.866667L728.32 169.813333a85.888 85.888 0 0 0-77.226667-52.48c-11.093333 0-22.613333 1.706667-33.706666 6.4L302.933333 253.866667a85.290667 85.290667 0 0 0-46.08 110.933333l211.626667 510.72a85.248 85.248 0 0 0 110.933333 46.08l314.026667-130.133333a85.077333 85.077333 0 0 0 46.506667-110.933334zM336.213333 373.333333c-23.466667 0-42.666667-19.2-42.666666-42.666666s19.2-42.666667 42.666666-42.666667 42.666667 19.2 42.666667 42.666667-19.2 42.666667-42.666667 42.666666z m-85.333333 469.333334c0 46.933333 38.4 85.333333 85.333333 85.333333h61.866667l-147.2-355.84v270.506667z"></path>
|
||||
</svg><span>HTTP 状态码</span></a><!--rehype:style=background: rgb(16 185 129/var(\-\-bg\-opacity));-->
|
||||
<a href="./docs/html-char.html" style="background: rgb(16 185 129/var(\-\-bg\-opacity));"><svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" fill="currentColor" height="1em" width="1em">
|
||||
<a href="./docs/html-char.html" style="background: rgb(16 185 129/var(\-\-bg\-opacity));"><svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" fill="currentColor" height="1em" width="1em">
|
||||
<path d="M107.946667 838.4l57.173333 23.893333v-385.28l-103.68 250.026667c-17.493333 43.52 3.413333 93.44 46.506667 111.36z m832-157.866667L728.32 169.813333a85.888 85.888 0 0 0-77.226667-52.48c-11.093333 0-22.613333 1.706667-33.706666 6.4L302.933333 253.866667a85.290667 85.290667 0 0 0-46.08 110.933333l211.626667 510.72a85.248 85.248 0 0 0 110.933333 46.08l314.026667-130.133333a85.077333 85.077333 0 0 0 46.506667-110.933334zM336.213333 373.333333c-23.466667 0-42.666667-19.2-42.666666-42.666666s19.2-42.666667 42.666666-42.666667 42.666667 19.2 42.666667 42.666667-19.2 42.666667-42.666667 42.666666z m-85.333333 469.333334c0 46.933333 38.4 85.333333 85.333333 85.333333h61.866667l-147.2-355.84v270.506667z"></path>
|
||||
</svg><span>HTML 字符实体</span></a><!--rehype:style=background: rgb(16 185 129/var(\-\-bg\-opacity));-->
|
||||
<a href="./docs/emoji.html" style="background: rgb(16 185 129/var(\-\-bg\-opacity));"><svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 16 16" height="1em" width="1em">
|
||||
<a href="./docs/emoji.html" style="background: rgb(16 185 129/var(\-\-bg\-opacity));"><svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 16 16" height="1em" width="1em">
|
||||
<path fill-rule="evenodd" d="M16 8a8 8 0 1 0-2.697 5.99c-.972-.665-1.632-1.356-1.99-2.062-.388-.766-.419-1.561-.075-2.23.496-.97 1.73-1.466 2.762-1.05.65-.262 1.38-.162 1.957.19.028-.275.043-.555.043-.838ZM7 6.5C7 7.328 6.552 8 6 8s-1-.672-1-1.5S5.448 5 6 5s1 .672 1 1.5Zm1.512 3.647c-.347.08-.737.198-1.107.319a.5.5 0 1 1-.31-.95c.38-.125.802-.254 1.192-.343.37-.086.78-.153 1.103-.108.16.022.394.085.561.286.188.226.187.497.131.705a1.894 1.894 0 0 1-.31.593c-.077.107-.168.22-.275.343.107.124.199.24.276.347.142.197.256.397.31.595.055.208.056.479-.132.706-.168.2-.404.262-.563.284-.323.043-.733-.027-1.102-.113a14.87 14.87 0 0 1-1.191-.345.5.5 0 1 1 .31-.95c.371.12.761.24 1.109.321.176.041.325.069.446.084a5.609 5.609 0 0 0-.502-.584.5.5 0 0 1 .002-.695 5.52 5.52 0 0 0 .5-.577 4.465 4.465 0 0 0-.448.082Zm.766-.086-.006-.002c.004 0 .006.002.006.002Zm.002 1.867h-.001l-.005.001a.038.038 0 0 1 .006-.002Zm.157-4.685a.5.5 0 0 1-.874-.486A1.934 1.934 0 0 1 10.25 5.75c.73 0 1.356.412 1.687 1.007a.5.5 0 1 1-.874.486.934.934 0 0 0-.813-.493.934.934 0 0 0-.813.493ZM14 9.828c1.11-1.14 3.884.856 0 3.422-3.884-2.566-1.11-4.562 0-3.421Z"></path>
|
||||
</svg>
|
||||
<span>Emoji</span></a><!--rehype:style=background: rgb(16 185 129/var(\-\-bg\-opacity));-->
|
||||
</p><!--rehype:class=home-card-->
|
||||
</div></div></div><div class="wrap" style="text-align: center;max-width: 650px;margin: 0 auto;padding-top:4rem;"><div class="wrap-header h2wrap"><h2 class="home-title-reset" id="看到缺少什么了吗"><a aria-hidden="true" tabindex="-1" href="#看到缺少什么了吗"><span class="icon icon-link"></span></a>看到缺少什么了吗?</h2><div class="wrap-body"><!--rehype:wrap-style=text-align: center;max-width: 650px;margin: 0 auto;padding-top:4rem;&class=home-title-reset-->
|
||||
<span>Emoji</span></a><!--rehype:style=background: rgb(16 185 129/var(\-\-bg\-opacity));--></p>
|
||||
<!--rehype:class=home-card-->
|
||||
</div></div></div><div class="wrap" style="text-align: center;max-width: 650px;margin: 0 auto;padding-top:4rem;"><div class="wrap-header h2wrap"><h2 class="home-title-reset" id="看到缺少什么了吗"><a aria-hidden="true" tabindex="-1" href="#看到缺少什么了吗"><span class="icon icon-link"></span></a>看到缺少什么了吗?</h2><div class="wrap-body">
|
||||
<!--rehype:wrap-style=text-align: center;max-width: 650px;margin: 0 auto;padding-top:4rem;&class=home-title-reset-->
|
||||
<p>上面的列表没有看到你想要的? 您是否正在寻找一些备忘清单或参考资料,或者您有一些片段备忘清单要分享,这是一个最好的机会!</p>
|
||||
<p style="margin-top:3rem">
|
||||
<a href="https://github.com/jaywcjlove/reference/issues/new?title=%E5%A4%87%E5%BF%98%E6%B8%85%E5%8D%95+%E8%AF%B7%E6%B1%82%3A+&labels=request&template=cheatsheet-request.md&assignee=jaywcjlove" class="home-button" style="margin-top:2rem" target="__blank"><code>请求添加备忘单</code></a><!--rehype:class=home-button&style=margin-top:2rem&target=__blank-->
|
||||
<a href="https://github.com/jaywcjlove/reference/blob/main/CONTRIBUTING.md" class="home-button text-grey" target="__blank"><code>我有一张备忘单</code></a><!--rehype:class=home-button text-grey&target=__blank-->
|
||||
</p><!--rehype:style=margin-top:3rem-->
|
||||
<p style="margin-top:3rem"><a href="https://github.com/jaywcjlove/reference/issues/new?title=%E5%A4%87%E5%BF%98%E6%B8%85%E5%8D%95+%E8%AF%B7%E6%B1%82%3A+&labels=request&template=cheatsheet-request.md&assignee=jaywcjlove" class="home-button" style="margin-top:2rem" target="__blank"><code>请求添加备忘单</code></a><!--rehype:class=home-button&style=margin-top:2rem&target=__blank-->
|
||||
<a href="https://github.com/jaywcjlove/reference/blob/main/CONTRIBUTING.md" class="home-button text-grey" target="__blank"><code>我有一张备忘单</code></a><!--rehype:class=home-button text-grey&target=__blank--></p>
|
||||
<!--rehype:style=margin-top:3rem-->
|
||||
|
||||
</div></div></div></div></div><footer class="footer-wrap"><footer class="max-container">© 2022 Kenny Wang, All rights reserved.</footer></footer></body>
|
||||
</html>
|
||||
|
@ -27,7 +27,7 @@ body {
|
||||
--color-prettylights-syntax-entity-tag: #116329;
|
||||
--color-prettylights-syntax-keyword: #cf222e;
|
||||
--color-prettylights-syntax-string: #0a3069;
|
||||
--color-prettylights-syntax-variable: #953800;
|
||||
--color-prettylights-syntax-variable: #d15104;
|
||||
--color-prettylights-syntax-brackethighlighter-unmatched: #82071e;
|
||||
--color-prettylights-syntax-invalid-illegal-text: #f6f8fa;
|
||||
--color-prettylights-syntax-invalid-illegal-bg: #82071e;
|
||||
@ -136,19 +136,33 @@ ol, ul, menu {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.wrap-body > p > code {
|
||||
yel {
|
||||
color: var(--color-prettylights-syntax-variable);
|
||||
}
|
||||
pur {
|
||||
color: var(--color-prettylights-syntax-entity);
|
||||
}
|
||||
|
||||
.wrap-body > p > code, .wrap-body > ul li > code, .wrap-body tbody td code {
|
||||
--text-opacity: 1;
|
||||
color: rgb(5 150 105/var(--text-opacity));
|
||||
}
|
||||
|
||||
.wrap-body em, .wrap-body sup, .wrap-body sub {
|
||||
color: var(--color-prettylights-syntax-sublimelinter-gutter-mark);
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
text-indent: 0;
|
||||
border-color: inherit;
|
||||
border-collapse: collapse
|
||||
}
|
||||
table td:first-child {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
table td:not(:last-child)>code, table td:not(:last-child)>del>code, ul li > code, kbd {
|
||||
table.shortcuts td:not(:last-child)>code, table.shortcuts td:not(:last-child)>del>code, ul.shortcuts li > code, kbd {
|
||||
background-color: var(--color-neutral-muted);
|
||||
color: var(--color-fg-subtle);
|
||||
box-shadow: 0 0 #0000, 0 0 #0000, 0 0 #0000;
|
||||
@ -570,7 +584,6 @@ body:not(.home) .h2wrap > h2 a::after {
|
||||
|
||||
.h2wrap-body {
|
||||
font-size: 0.925rem;
|
||||
line-height: 1.325rem;
|
||||
grid-template-columns: repeat(3,minmax(0,1fr));
|
||||
flex-direction: column;
|
||||
}
|
||||
@ -690,7 +703,7 @@ body:not(.home) .h2wrap > h2 a::after {
|
||||
color: var(--color-prettylights-syntax-constant);
|
||||
}
|
||||
.token.punctuation {
|
||||
color: var(--color-prettylights-syntax-markup-bold);
|
||||
color: var(--color-prettylights-syntax-markup-ignored-bg);
|
||||
}
|
||||
.code-line .token.deleted {
|
||||
background-color: var(--color-prettylights-syntax-markup-deleted-bg);
|
||||
|
Reference in New Issue
Block a user