<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>炳的自留地 – </title>
    <link>https://wcbing.top/</link>
    <description>Recent content on 炳的自留地</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh-cn</language>
    <lastBuildDate>Sat, 25 Jan 2025 00:00:00 +0000</lastBuildDate>
    
	  <atom:link href="https://wcbing.top/atom.xml" rel="self" type="application/rss+xml" />
    
    
      
      
    
    
    <item>
      <title>nginx default_server 默认服务器</title>
      <link>https://wcbing.top/blog/nginx-default-server/</link>
      <pubDate>Sat, 25 Jan 2025 00:00:00 +0000</pubDate>
      
      <guid>https://wcbing.top/blog/nginx-default-server/</guid>
      <description>
        
        
        &lt;h2&gt;什么是 default_server&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;什么是-default_server&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e4%bb%80%e4%b9%88%e6%98%af-default_server&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;nginx 可以提供多个虚拟主机。对于发送到同一个物理主机的 Web 请求，最后会根据请求中请求头的“Host”字段（&lt;code&gt;address:port&lt;/code&gt;）返回对应 &lt;code&gt;server_name&lt;/code&gt; 及 &lt;code&gt;port&lt;/code&gt; 中定义的响应内容。而有些请求中“Host”并不在我们定义的一系列虚拟主机中，那么 nginx 就会将其交给请求端口的 default_server 处理。&lt;/p&gt;
&lt;p&gt;那么，谁是 default_server 呢，&lt;a href=&#34;https://nginx.org/en/docs/http/ngx_http_core_module.html#listen&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;官方文档&lt;/a&gt;原文是&lt;/p&gt;
&lt;blockquote&gt;
  &lt;p&gt;The &lt;code&gt;default_server&lt;/code&gt; parameter, if present, will cause the server to become the default server for the specified &lt;code&gt;_address_&lt;/code&gt;:&lt;code&gt;_port_&lt;/code&gt; pair. If none of the directives have the &lt;code&gt;default_server&lt;/code&gt; parameter then the first server with the &lt;code&gt;_address_&lt;/code&gt;:&lt;code&gt;_port_&lt;/code&gt; pair will be the default server for this pair.
&lt;code&gt;default_server&lt;/code&gt;参数（如果存在）将使服务器成为指定&lt;code&gt;地址：端口&lt;/code&gt;对的默认服务器。如果没有一个指令有&lt;code&gt;default_server&lt;/code&gt;参数，那么第一个有&lt;code&gt;地址：端口&lt;/code&gt;对的服务器将是这个对的默认服务器。&lt;/p&gt;

&lt;/blockquote&gt;
&lt;p&gt;以 Nginx 官方提供 deb 包和容器镜像为例，其默认会加载 &lt;code&gt;/etc/nginx/conf.d/*.conf&lt;/code&gt; 的配置。&lt;/p&gt;
&lt;blockquote&gt;
  &lt;p&gt;各个发行版可能会自定义路径，如 Debian 是 &lt;code&gt;sites-enabled/*&lt;/code&gt;，Alpine 是 &lt;code&gt;http.d/*.conf&lt;/code&gt;&lt;/p&gt;

&lt;/blockquote&gt;
&lt;p&gt;其中自带一个 &lt;code&gt;default.conf&lt;/code&gt;，主要内容为：&lt;/p&gt;
&lt;div class=&#34;hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code&#34;&gt;

&lt;div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-nginx&#34; data-lang=&#34;nginx&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;server&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kn&#34;&gt;listen&lt;/span&gt;       &lt;span class=&#34;mi&#34;&gt;80&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kn&#34;&gt;server_name&lt;/span&gt;  &lt;span class=&#34;s&#34;&gt;localhost&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kn&#34;&gt;location&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;/&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;kn&#34;&gt;root&lt;/span&gt;   &lt;span class=&#34;s&#34;&gt;/usr/share/nginx/html&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&#34;hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0&#34;&gt;
  &lt;button
    class=&#34;hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50&#34;
    title=&#34;复制代码&#34;
    aria-label=&#34;复制代码&#34;
    data-copied-label=&#34;已复制！&#34;
  &gt;
    &lt;div class=&#34;hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4&#34;&gt;&lt;/div&gt;
&lt;div class=&#34;hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4&#34;&gt;&lt;/div&gt;
  &lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;我的要求&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;我的要求&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e6%88%91%e7%9a%84%e8%a6%81%e6%b1%82&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;我想让其默认无响应，防止那些扫描器扫描。这个其实挺好解决，nginx &lt;a href=&#34;https://nginx.org/en/docs/http/request_processing.html#how_to_prevent_undefined_server_names&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;文档中有提到&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;我稍微改了一下，加了 IPv6，并显式指定 default_server，防止被其他顶替（如 localhost 排在前面）。内容如下：&lt;/p&gt;
&lt;div class=&#34;hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code&#34;&gt;

&lt;div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-nginx&#34; data-lang=&#34;nginx&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;server&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kn&#34;&gt;listen&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;80&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;default_server&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kn&#34;&gt;listen&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;[::]:80&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;default_server&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kn&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;444&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# 不发送任何响应，直接关闭连接
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&#34;hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0&#34;&gt;
  &lt;button
    class=&#34;hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50&#34;
    title=&#34;复制代码&#34;
    aria-label=&#34;复制代码&#34;
    data-copied-label=&#34;已复制！&#34;
  &gt;
    &lt;div class=&#34;hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4&#34;&gt;&lt;/div&gt;
&lt;div class=&#34;hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4&#34;&gt;&lt;/div&gt;
  &lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;HTTP 好说，上面就已经可以，但是 HTTPS 就不一样了。HTTPS 在握手时交换证书会验证域名（SNI），这就导致访问 https://your-ip 可能会暴露你的域名。&lt;/p&gt;
&lt;p&gt;之前有个解决办法是自签一个假证书/无用证书，但是总归不够优雅。这段时间正好看到有人提这件事，nginx 在 1.19.4 中&lt;a href=&#34;https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_reject_handshake&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;加入了 &lt;code&gt;ssl_reject_handshake&lt;/code&gt; 功能&lt;/a&gt;，可以禁用 SSL/TLS 握手，算是有了较好的解决办法。&lt;/p&gt;
&lt;p&gt;最终 &lt;code&gt;default.conf&lt;/code&gt; 中默认服务器配置如下：&lt;/p&gt;
&lt;div class=&#34;hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code&#34;&gt;

&lt;div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-nginx&#34; data-lang=&#34;nginx&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;server&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kn&#34;&gt;listen&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;80&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;default_server&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kn&#34;&gt;listen&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;[::]:80&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;default_server&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kn&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;444&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# 不发送任何响应，直接关闭连接
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# https://nginx.org/en/docs/http/request_processing.html#how_to_prevent_undefined_server_names
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;server&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kn&#34;&gt;listen&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;443&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;ssl&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;default_server&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kn&#34;&gt;listen&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;[::]:443&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;ssl&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;default_server&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kn&#34;&gt;ssl_reject_handshake&lt;/span&gt; &lt;span class=&#34;no&#34;&gt;on&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# 禁用 ssl 握手
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_reject_handshake
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&#34;hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0&#34;&gt;
  &lt;button
    class=&#34;hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50&#34;
    title=&#34;复制代码&#34;
    aria-label=&#34;复制代码&#34;
    data-copied-label=&#34;已复制！&#34;
  &gt;
    &lt;div class=&#34;hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4&#34;&gt;&lt;/div&gt;
&lt;div class=&#34;hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4&#34;&gt;&lt;/div&gt;
  &lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;

      </description>
    </item>
    
    <item>
      <title>自建 APT 软件源</title>
      <link>https://wcbing.top/blog/wcbing-apt-repo/</link>
      <pubDate>Sun, 06 Oct 2024 00:00:00 +0000</pubDate>
      
      <guid>https://wcbing.top/blog/wcbing-apt-repo/</guid>
      <description>
        
        
        &lt;p&gt;向 Debian、Ubuntu 等 Linux 发行版用户分享我自建的软件仓库。里面收集了一些国内常用的软件，使安装和更新更方便。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/wcbing/wcbing-apt-repo&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://github.com/wcbing/wcbing-apt-repo&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;仓库特点&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;仓库特点&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e4%bb%93%e5%ba%93%e7%89%b9%e7%82%b9&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;里面收集了一些国内常用的软件，像腾讯系的QQ、QQ音乐、腾讯会议，还有钉钉、百度网盘、Xmind 等。还有一些官方提供源的，包括 Firefox、Tailscale 以及 Chrome、VS Code、Steam 等（后面这些安装后会自行添加软件源），减少需要手动添加源的次数。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;兼容性强：因为是官方提供的通用 deb 包，所以较新版本的 Debian、Ubuntu 及其衍生版应该都可以正常安装运行。&lt;/li&gt;
&lt;li&gt;下载速度：除了 Github Releases 之外，其他大都是&lt;strong&gt;重定向至软件官网&lt;/strong&gt;，所以下载速度和从软件官网下载一样。&lt;/li&gt;
&lt;li&gt;Github 代理： Releases 文件重定向到了代理网站，如 &lt;a href=&#34;https://ghp.ci/&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;ghproxy&lt;/a&gt;，使国内也有不错的下载速度。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2&gt;F&amp;amp;Q&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;fq&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#fq&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;有些不是星火商店已经收录了吗，为什么不用星火商店？&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;本软件源与星火商店形式有些不同，星火商店必须要安装额外的客户端，而这个是通用的 APT 软件源，你可以通过APT或 GNOME Software、KDE Discover 等任意客户端进行升级。并且相比星火商店还有个&lt;strong&gt;小优势&lt;/strong&gt;是更新快，因为都是自动化的流程，不用人工审核投稿。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;我知道 DebianCN、铜豌豆软件源等，这个有什么优势？&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;确实，这个源和 DebianCN、铜豌豆软件源 等类似。相比两者&lt;strong&gt;优势是&lt;/strong&gt;更新快，都是自动化的流程，不用人工整理。拿 DebianCN 为例，其现收录软件大概30多个（实际可用10个左右），除 Chrome 在更新外，其他最新的更新都距今半年以上，很多都是5、6年前的软件。铜豌豆相比之下要好很多，但也不太及时，并且自打包应用较多，兼容性也较差。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;有什么劣势？&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;劣势&lt;/strong&gt;就是应用较少，现在只有自己常用的软件。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;最后，欢迎大家参与，提交现有repo的地址或为常用程序编写定时检测代码。&lt;/p&gt;
&lt;p&gt;本文同时发布于 &lt;a href=&#34;https://bbs.deepin.org/zh/post/279737&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;deepin&lt;/a&gt;。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>字体重要概念</title>
      <link>https://wcbing.top/blog/font/</link>
      <pubDate>Sat, 06 Jan 2024 00:00:00 +0000</pubDate>
      
      <guid>https://wcbing.top/blog/font/</guid>
      <description>
        
        
        &lt;iframe src=&#34;font-test.html&#34; frameborder=&#34;0&#34; height=40px&gt;&lt;/iframe&gt;
&lt;p&gt;讲讲字体几个重要概念，也不讲那么细，毕竟咱也不是专业的，能让你在下载和使用字体时知道怎么挑就行。&lt;/p&gt;
&lt;p&gt;纯粹的效果对比可使用：&lt;a href=&#34;https://font.yukonga.top/&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;字体字重测试&lt;/a&gt; 或&lt;a href=&#34;https://toufukun.github.io/02hanzi-form-test.html&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;字形测试&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;字型、字体、字族&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;字型字体字族&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e5%ad%97%e5%9e%8b%e5%ad%97%e4%bd%93%e5%ad%97%e6%97%8f&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;很多人会将字体叫为 Font，但 Font 的专业名称应该叫字型。&lt;strong&gt;一种字体（Typeface）有不同字型（Font）&lt;/strong&gt;，一个字体的不同字型之间的差别就是&lt;strong&gt;会有不同的字重和尺码等&lt;/strong&gt;。矢量字型出现后，同一套风格字型已不用制作不同像素字型，只需制作一套即可随意缩放，“字型”与“字体”之间的界限开始模楜。&lt;/p&gt;
&lt;p&gt;有些地方（如网页设计）也会将字体叫做 Font Family（字族）。&lt;/p&gt;
&lt;p&gt;当然我们一般也不用分那么清楚，感兴趣可以看看维基百科上的&lt;a href=&#34;https://zh.wikipedia.org/wiki/%E5%AD%97%E4%BD%93&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;字体&lt;/a&gt;、&lt;a href=&#34;https://zh.wikipedia.org/wiki/%E5%AD%97%E4%BD%93%E5%AE%B6%E6%97%8F&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;字体家族&lt;/a&gt;与&lt;a href=&#34;https://zh.wikipedia.org/wiki/%E5%AD%97%E5%9E%8B&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;字型&lt;/a&gt;。&lt;/p&gt;
&lt;h3&gt;通用字族&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;通用字族&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e9%80%9a%e7%94%a8%e5%ad%97%e6%97%8f&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;字体选择中可以使用“通用字族”（generic font family）指定某一大类的字体，至于选择成哪个则是取决于用户和系统的设定。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://zh.wikipedia.org/wiki/%E5%AD%97%E4%BD%93%E5%AE%B6%E6%97%8F#%E9%80%9A%E7%94%A8%E5%AD%97%E6%97%8F&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;字体家族#通用字族&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://zh.wikipedia.org/wiki/Web%E5%AD%97%E4%BD%93%E6%8E%92%E5%8D%B0#%E9%80%9A%E7%94%A8%E5%AD%97%E4%BD%93%E6%97%8F&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Web字体排印#通用字体族&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;通用字族有Sans-serif（无衬线体，对应中文黑体）、Serif（衬线体，对应中文宋体/明体）、Monospace（等宽字体）、 Cursive（手写体，对应中文楷体等）、Fantasy（另类体）、Fangsong（仿宋体，不在 CSS 规范中）等。&lt;/p&gt;
&lt;p&gt;其中最常用的是 Monospace（等宽字体）、Sans-serif（无衬线体）、Serif（衬线体）。&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;字族设定&lt;/th&gt;
          &lt;th&gt;示例结果（取决于系统设定）&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Sans-serif&lt;br /&gt;无衬线体&lt;br /&gt;黑体（中文）&lt;/td&gt;
          &lt;td&gt;&lt;p style=&#34;font-family: sans-serif;&#34;&gt;ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789&lt;br /&gt; The quick brown fox jumps over the lazy dog.&lt;br /&gt; 1Il 0Oo 我能吞下玻璃而不伤身体。αβγ  عربي  язык &lt;/p&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Serif&lt;br /&gt;衬线体&lt;br /&gt;宋体/明体（中文）&lt;/td&gt;
          &lt;td&gt;&lt;p style=&#34;font-family: serif;&#34;&gt;ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789&lt;br /&gt; The quick brown fox jumps over the lazy dog.&lt;br /&gt; 1Il 0Oo 我能吞下玻璃而不伤身体。αβγ  عربي  язык&lt;/p&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Monospace&lt;br /&gt;等宽字体&lt;/td&gt;
          &lt;td&gt;&lt;p style=&#34;font-family: monospace;&#34;&gt;ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789&lt;br /&gt; The quick brown fox jumps over the lazy dog.&lt;br /&gt; 1Il 0Oo 我能吞下玻璃而不伤身体。αβγ  عربي  язык&lt;/p&gt;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;blockquote&gt;
  &lt;p&gt;等宽字体经常用于编程，所以有个很重要要求，就是得能清楚分辨易混淆的字母数字如 1Il 0Oo&lt;/p&gt;

&lt;/blockquote&gt;
&lt;h2&gt;字重——字的粗细&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;字重字的粗细&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e5%ad%97%e9%87%8d%e5%ad%97%e7%9a%84%e7%b2%97%e7%bb%86&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;如题，字重其实就是字的粗细。&lt;/p&gt;
&lt;p&gt;像常用的思源黑体就有：Thin、Light、DemiLight、Regular、Medium、Bold、Black 共7种字重。其中用的最多/最重要的字重就是 Regular ，有些会叫 Normal 或者其他的，下载字体时没有字重需求的选这一个就可以了。&lt;/p&gt;
&lt;h3&gt;字重标准&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;字重标准&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e5%ad%97%e9%87%8d%e6%a0%87%e5%87%86&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Wikipedia 上提到一种常见字重标准：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p style=&#34;font-weight: 100&#34;&gt;100 - 淡体 Thin ( Hairline )&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p style=&#34;font-weight: 200&#34;&gt;200 - 特细 Extra-light ( ultra-light )&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p style=&#34;font-weight: 300&#34;&gt;300 - 细体 Light&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p style=&#34;font-weight: 350&#34;&gt;350 - 次细 Demi-Light&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p style=&#34;font-weight: 400&#34;&gt;400 - 标准 Regular ( normal / book / plain )&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p style=&#34;font-weight: 500&#34;&gt;500 - 适中 Medium&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p style=&#34;font-weight: 600&#34;&gt;600 - 次粗 Demi-bold / semi-bold&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p style=&#34;font-weight: 700&#34;&gt;700 - 粗体 Bold&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p style=&#34;font-weight: 800&#34;&gt;800 - 特粗 Extra-bold / ( Ultra-bold )&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p style=&#34;font-weight: 900&#34;&gt;900 - 浓体 Black ( Heavy )&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p style=&#34;font-weight: 950&#34;&gt;950 - 特浓 Extra-black ( Ultra-black )&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
  &lt;p&gt;CSS 标准中的9级字重不包括最后一个。&lt;/p&gt;

&lt;/blockquote&gt;
&lt;p&gt;（CSS 标准中）另一种常见字重标准：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p style=&#34;font-weight: lighter;&#34;&gt;lighter：比继承值更细的粗细&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p style=&#34;font-weight: normal;&#34;&gt;normal：字重 400&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p style=&#34;font-weight: bold;&#34;&gt;bold：字重 700&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p style=&#34;font-weight: bolder;&#34;&gt;bolder：比继承值更粗的粗细&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;可变字体&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;可变字体&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e5%8f%af%e5%8f%98%e5%ad%97%e4%bd%93&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;上面我们知道了一个字体会有不同字重的字型，我们下载一个字体时，想体验更完善就要下载不同字重的好几个字体文件，这也太麻烦了。&lt;/p&gt;
&lt;p&gt;不过幸好不是我一个人觉得麻烦，苹果、微软、谷歌和 Adobe 等几个大厂之后又推出了&lt;a href=&#34;https://zh.wikipedia.org/wiki/%E5%8F%AF%E5%8F%98%E5%AD%97%E4%BD%93&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;可变字体（Variable Fonts）&lt;/a&gt;规范。可变字体是字体格式 OpenType 的一种特殊规范，一个可变字体文件可以储存一个设计的多个变体，相当于是一个字体文件包含了无数个字型。&lt;/p&gt;
&lt;blockquote&gt;
  &lt;p&gt;不过我实际使用下来，Linux 下某些程序（像使用 Qt 的 TG）的字重会有问题。&lt;/p&gt;

&lt;/blockquote&gt;
&lt;h2&gt;字体样式——斜体&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;字体样式斜体&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e5%ad%97%e4%bd%93%e6%a0%b7%e5%bc%8f%e6%96%9c%e4%bd%93&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;blockquote&gt;
  &lt;p&gt;&lt;a href=&#34;https://zh.wikipedia.org/wiki/%E6%96%9C%E4%BD%93&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;斜体&lt;/a&gt;是在正常字体样式基础上，通过倾斜字体实现的一种字体样式；可指意大利体或伪斜体。&lt;/p&gt;

&lt;/blockquote&gt;
&lt;p&gt;我们在看到引用、注释等内容时，经常会看到斜体字。这对中文没什么特别的，但是对西文，这却是需要注意的一个点。&lt;/p&gt;
&lt;p&gt;西文中有两种形状倾斜的字体：Oblique type和 Italic type，倾斜后字形也发生的变化的是“意大利体”（Italic Type），而单纯将原字体向右倾斜而没有形变的称为伪斜体（Oblique type）。&lt;/p&gt;
&lt;p&gt;举个例子，下面是我手机上 Firefox 使用的字体，可以看到左边无衬线斜体看起来和正体没有区别，是伪斜体；而右边衬线斜体的小写英文字母样式明显和正体有区别，所以是意大利体。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://wcbing.top/blog/font/Italic.jpg&#34; alt=&#34;image&#34;  loading=&#34;lazy&#34; /&gt;&lt;/p&gt;
&lt;p&gt;有意大利体的字体，其一般会单独提供结尾以“Italic”命名的字体文件，如果你想要更完整的视觉体验可以尝试。&lt;/p&gt;
&lt;h2&gt;下载字体应注意&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;下载字体应注意&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e4%b8%8b%e8%bd%bd%e5%ad%97%e4%bd%93%e5%ba%94%e6%b3%a8%e6%84%8f&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;h3&gt;异体字&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;异体字&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e5%bc%82%e4%bd%93%e5%ad%97&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;异体字就是不同国家/地区都包含但是相互之间写法稍有不同的文字。比如：&lt;/p&gt;
&lt;blockquote&gt;
  &lt;p&gt;样例中前半句来自&lt;a href=&#34;https://catcat.cc/post/2021-03-07/&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;双猫CC&lt;/a&gt;，后半句来自 ArchLinuxCN TG 群友。&lt;/p&gt;

&lt;/blockquote&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;默认&lt;/th&gt;
          &lt;th&gt;&lt;p&gt;遍角次亮采之门，门上插刀、直字拐弯、天上平板、船顶漏雨。&lt;/p&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;中文(大陆) lang=zh-cn&lt;/td&gt;
          &lt;td&gt;&lt;p lang=&#34;zh-cn&#34;&gt;遍角次亮采之门，门上插刀、直字拐弯、天上平板、船顶漏雨。&lt;/p&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;中文(台湾) lang=zh-tw&lt;/td&gt;
          &lt;td&gt;&lt;p lang=&#34;zh-tw&#34;&gt;遍角次亮采之门，门上插刀、直字拐弯、天上平板、船顶漏雨。&lt;/p&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;中文(香港) lang=zh-hk&lt;/td&gt;
          &lt;td&gt;&lt;p lang=&#34;zh-hk&#34;&gt;遍角次亮采之门，门上插刀、直字拐弯、天上平板、船顶漏雨。&lt;/p&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;日文 lang=ja&lt;/td&gt;
          &lt;td&gt;&lt;p lang=&#34;ja&#34;&gt;遍角次亮采之门，门上插刀、直字拐弯、天上平板、船顶漏雨。&lt;/p&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;韩文 lang=ko&lt;/td&gt;
          &lt;td&gt;&lt;p lang=&#34;ko&#34;&gt;遍角次亮采之门，门上插刀、直字拐弯、天上平板、船顶漏雨。&lt;/p&gt;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;如何在不同地区显示正确的字型，有些支持多地区语言的字体都会遇到这种问题。&lt;/p&gt;
&lt;p&gt;我们继续拿思源黑体举例，Source Han Sans（思源黑体）/ Noto Sans CJK 是一个包含了中文（C）、日文（J）、韩文（K）的“CJK”字体，当然中文还可细分为简体中文（SC）、繁体（即台湾正体）中文（TC）、香港繁体中文（HC）。&lt;/p&gt;
&lt;p&gt;其支持的文字中不可避免的会有一些异体字，其默认字形是与日文的字形保持一致的（可能因为首席设计师是日本人）。为了方便使用，它除了不带任何标志的字体外，还有带有 SC、TC、HC、J、K 后缀的字体，每款的默认字形会与该语言所使用的保持一致。&lt;/p&gt;
&lt;blockquote&gt;
  &lt;p&gt;思源黑体/宋体还有按地区划分的字体子集（CN、TW、HK、JP、KR），那个不是完整的 CJK 字体，不在这里讨论范围内。&lt;/p&gt;

&lt;/blockquote&gt;
&lt;h3&gt;字体文件格式&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;字体文件格式&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e5%ad%97%e4%bd%93%e6%96%87%e4%bb%b6%e6%a0%bc%e5%bc%8f&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;现在操作系统中常用的字体类型标准主要有两类，即 TrueType 和 OpenType。&lt;/p&gt;
&lt;blockquote&gt;
  &lt;p&gt;Adobe 使用 PostScript 语言开发了包括 Type1 在内的 PostScript字体。为了对抗其颇高的商业授权，苹果联合微软推出了 TrueType 字体。而后，微软又联合 Adobe 在TrueType 的基础上推出了 OpenType 字体，在 OpenType 类型字体中，可以选择 PostScript 或 TrueType 作为记述方式。&lt;/p&gt;

&lt;/blockquote&gt;
&lt;p&gt;TrueType 字体文件的扩展名是 &lt;code&gt;.ttf&lt;/code&gt;；而对于 OpenType 字体文件，OpenType TT字体扩展名为 &lt;code&gt;.ttf&lt;/code&gt;，OpenType PS字体扩展名为 &lt;code&gt;.otf&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;同时，OpenType 还推出了特殊的“字体集”格式。文件扩展名分别为 &lt;code&gt;.ttc&lt;/code&gt;（TrueType Collection）、&lt;code&gt;.otc&lt;/code&gt;（OpenType Collection），这种“字体集”一个文件内包含了多种字体类型。实际应用中一般用于将不同字体或同一字体的不同语言封装成一个文件，如 Windows 中文版内置的 &lt;code&gt;simsun.ttc&lt;/code&gt; 就包含了（中易）宋体 SimSun 和新宋体 NSimSun 两种字体的 Regular 字型。&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>关于 2FA/MFA</title>
      <link>https://wcbing.top/blog/2fa/</link>
      <pubDate>Sun, 31 Dec 2023 00:00:00 +0000</pubDate>
      
      <guid>https://wcbing.top/blog/2fa/</guid>
      <description>
        
        
        &lt;p&gt;2FA/MFA：双重、多重（因素）验证&lt;/p&gt;
&lt;p&gt;指出于安全原因，登陆账户或进行敏感操作等情况时除了用户名（Username）和密码（Password）外，额外使用其他一种或多种方式进行身份验证。&lt;/p&gt;
&lt;p&gt;常用的附加验证方式有：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;一次性密码、动态密码（OTP）
&lt;ul&gt;
&lt;li&gt;短信验证码（SMS OTP）&lt;/li&gt;
&lt;li&gt;身份验证器（Authenticator OTP）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;通行密钥（Passkey）&lt;/li&gt;
&lt;li&gt;移动端 APP（Mobile APP）*&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
  &lt;p&gt;*即用已登陆账户的设备给其他设备授权，具体授权方法不确定。&lt;/p&gt;

&lt;/blockquote&gt;
&lt;p&gt;下图就是 Github 的 2FA 设置界面。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://wcbing.top/blog/2fa/gihub-2fa.png&#34; alt=&#34;image&#34;  loading=&#34;lazy&#34; /&gt;&lt;/p&gt;
&lt;h2&gt;OTP&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;otp&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#otp&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;OTP 常见算法有&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;HOTP：基于散列消息验证码的一次性密码&lt;/li&gt;
&lt;li&gt;TOTP：基于时间的一次性密码，基于HOTP，广泛应用&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;其具体形式有&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;SMS OTP&lt;/strong&gt;：短信验证码&lt;/li&gt;
&lt;li&gt;Mail OTP：邮箱验证码&lt;/li&gt;
&lt;li&gt;APP OTP：已登陆的设备接收的验证码&lt;br&gt;
这种一般作为短信/邮件验证码的（廉价）替代。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Authenticator OTP&lt;/strong&gt;：常见的一种形式是有效期为 30s 的 6 位验证码，某些人所说 TOTP 专指这种验证码。&lt;br&gt;
Authenticator，身份验证器，“软件令牌”，很多 Authenticator 会与密码管理器组合到一起。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;硬件令牌&lt;/strong&gt;，银行等行业中经常使用&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Passkey&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;passkey&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#passkey&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;具体参见：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://zh.wikipedia.org/zh-cn/%E9%80%9A%E8%A1%8C%E5%AF%86%E9%92%A5&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;通行密钥 - 维基百科&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.passkeys.io/&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;passkey.io&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;严格来说，我觉得用 Passkey 验证不是 MFA，因为仅通过这一种方式你可以直接完成认证，不需要用其他方式。&lt;/p&gt;
&lt;h2&gt;Mobile APP&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;mobile-app&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#mobile-app&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;即用已登陆账户的设备给其他设备授权，具体授权方法不确定。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;有些会像前面提到的，向已登陆的设备发送验证码（OTP），Telegram、微博等会使用。&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
  &lt;p&gt;Telegram 登陆手机版时只需要短信验证码 / 旧设备验证码，所以这个 OTP 不是 2FA。但是其开启 2FA 后需要 验证码 + 密码，这时 OTP 就是 2FA 中的一种方式。&lt;/p&gt;

&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;有些验证时需要在 APP 中输入相应的数字，图中的 Github Mobile、Android 上的 Google Service 等就是。&lt;/li&gt;
&lt;li&gt;有些会内置一个仅用于其账户的 Authenticator 组件，如 Steam 的令牌功能。&lt;/li&gt;
&lt;li&gt;还有就是扫码验证（不是直接扫码登陆），我们经常使用的微信/ QQ 经常使用这种方法验证新的设备。&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
  &lt;p&gt;直接扫码登陆一般用于“高权重”的设备（手机）给“更低权重”的设备（PC、网页版等）“授权”，而不能用于同等级设备。&lt;/p&gt;

&lt;/blockquote&gt;
&lt;img src=&#34;qq-2fa.jpg&#34; width=&#34;360px&#34; /&gt;

      </description>
    </item>
    
    <item>
      <title>Linux桌面杂谈</title>
      <link>https://wcbing.top/blog/linux-desktop/</link>
      <pubDate>Fri, 21 Jul 2023 00:00:00 +0000</pubDate>
      
      <guid>https://wcbing.top/blog/linux-desktop/</guid>
      <description>
        
        
        &lt;p&gt;我对 Linux 桌面的要求就是&lt;strong&gt;一个好看好用的任务栏&lt;/strong&gt;（我两年前的文章就说了，喜欢 Windows 式的单栏，然后任务可以居中），一个还可以的&lt;strong&gt;启动器&lt;/strong&gt;，最好还支持&lt;strong&gt;全局深浅色模式&lt;/strong&gt;切换。&lt;/p&gt;
&lt;blockquote&gt;
  &lt;p&gt;这篇文章中提到的任务栏有两个含义。&lt;br&gt;
狭义上的任务栏是包含任务列表和固定应用的面板；与之对于的状态栏是包括时间、状态图标（可启动快捷设置）以及托盘图标的面板，有些还有全局菜单栏。&lt;br&gt;
但我也会将依据多年使用 Windows 的习惯将包括任务栏、状态栏的二合一面板叫做任务栏。&lt;/p&gt;

&lt;/blockquote&gt;
&lt;h2&gt;任务栏与启动器&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;任务栏与启动器&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e4%bb%bb%e5%8a%a1%e6%a0%8f%e4%b8%8e%e5%90%af%e5%8a%a8%e5%99%a8&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;GNOME是我觉得的linux 桌面中最“精致”的了，遵循了KISS原则，自适应也做的很好；虽然默认很反人类，不装扩展（如托盘、Dash 相关等）根本用不下去。&lt;/li&gt;
&lt;li&gt;KDE（Plasma）是我喜欢的扁平风格，这点好评，但是那乱七八糟的菜单可以说是典型的程序员审美，一股脑的都给你堆上来。都说gnome大额头，但是人家的额头是有功能的，kde的是小，但是没用啊，然后再加上自家应用默认的“菜单栏+主/次工具栏”三层额头，令人窒息。&lt;/li&gt;
&lt;li&gt;DDE 也是很漂亮，但是小bug多；时尚模式布局还可以，但是有一圈边（浮动模式），能取消浮动就好了。&lt;/li&gt;
&lt;li&gt;LXDE、LXQT那启动器垃圾死了，“菜单+列表”找东西很麻烦的。任务栏也是很难用，状态图标大小和任务图标的大小不能分开设置，或者说，任务图标大小不是固定的，调大了很丑。&lt;/li&gt;
&lt;li&gt;Xfce启动器也差不多，不过还好有一个扩展（xfce4-whiskermenu-plugin）。任务栏也是和上面一个德性，而且图标不能“固定”，不过还是有扩展解决（xfce4-dockbarx-plugin）。&lt;br&gt;
但是它还是劝退我了，像Firefox、网易云音乐在Xfce上没有隐藏标题栏的选项（破案了家人们，Firefox是因为&lt;code&gt;XDG_CURRENT_DESKTOP&lt;/code&gt;没设置，多亏了&lt;a href=&#34;https://wiki.archlinux.org/title/Firefox/Tweaks&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;ArchWiki&lt;/a&gt;）。&lt;/li&gt;
&lt;li&gt;Cinnamon、Budgie还有Mate都是基于 GNOME 改的，改的精致感没了，还没有变得很好用。&lt;/li&gt;
&lt;li&gt;Cutefish 还算简洁，但是不喜欢类 macOS 的风格。&lt;/li&gt;
&lt;li&gt;i3之类的窗口管理器就算了，接受不了。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;深浅色模式&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;深浅色模式&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e6%b7%b1%e6%b5%85%e8%89%b2%e6%a8%a1%e5%bc%8f&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;最后说深浅色模式切换&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GNOME、Cutefish（非系统应用疑似不生效） 的快捷开关最方便&lt;/li&gt;
&lt;li&gt;DDE有自动切换，但是不符合习惯时还得进设置改&lt;/li&gt;
&lt;li&gt;KDE是进设置切换（切换主题图标包也就换了，所以只切换颜色）&lt;/li&gt;
&lt;li&gt;Xfce、LXDE、LXQT等没有，只有切换GTK主题。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;但是！Chromium 系浏览器和基于 Electron 框架的软件是根本不管 GNOME、KDE 等的这个深浅色模式的，我只有在Xfce上切换GTK主题才生效过。So, fuc&amp;hellip;&lt;/p&gt;
&lt;blockquote&gt;
  &lt;p&gt;更新：2023年后的某次更新后就可以了，但是 QQ 可能是依赖的 Electron 版本较旧，还是不支持。&lt;br&gt;
再次更新：QQ 2024年初更新的 3.2.5 终于可以了&lt;/p&gt;

&lt;/blockquote&gt;
&lt;h2&gt;我的任务栏布局&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;我的任务栏布局&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e6%88%91%e7%9a%84%e4%bb%bb%e5%8a%a1%e6%a0%8f%e5%b8%83%e5%b1%80&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;再详细说一下我的布局要求及原因。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;类似 Windows 的单栏&lt;br&gt;
主要是习惯吧，不过感觉这样确实比分栏要高效，所有的应用入口（任务列表、托盘图标、通知内容、等）和快捷设置都在一个地方，不需要我看上看下。&lt;br&gt;
举个例子，你要打开听歌软件点击播放，然后发现要调整音量，在然后顺便点击托盘中的 QQ 打开查看消息，这期间你的鼠标可以全部位于下半屏幕。&lt;/li&gt;
&lt;li&gt;任务栏（任务列表）居中&lt;br&gt;
为了好看，对称美学嘛&lt;/li&gt;
&lt;li&gt;部分功能居左&lt;br&gt;
这个要求也是因为对称美学，是上面的两个结合后的产物。你看 Windows11，左边空空的多难看，虽然后来加了天气，但是和右边的一串托盘图标、状态图标、时间、通知相比还是太空了。&lt;/li&gt;
&lt;li&gt;开始/启动器居左&lt;br&gt;
这个优势是便于鼠标盲操，鼠标往左下角一甩就能点到。而在任务列表最左的话还是需要“瞄准”的，尤其任务列表长度随时会变，你不可能形成肌肉记忆。顺便也就符合上面的置左要求。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;其实现在来看，ChromeOS 的布局其实和我想要的是差不多，或者（Deepin V20 上的）DDE 时尚模式去掉那一圈难看空白。&lt;/p&gt;
&lt;p&gt;反正最终我的任务栏变成了这样。管你Gnome、KDE还是Xfce，统统一个味🤣&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://wcbing.top/blog/linux-desktop/gnome.jpg&#34; alt=&#34;image&#34;  loading=&#34;lazy&#34; /&gt;
&lt;img src=&#34;https://wcbing.top/blog/linux-desktop/kde.jpg&#34; alt=&#34;image&#34;  loading=&#34;lazy&#34; /&gt;
&lt;img src=&#34;https://wcbing.top/blog/linux-desktop/xfce.jpg&#34; alt=&#34;image&#34;  loading=&#34;lazy&#34; /&gt;&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>地区语言代码</title>
      <link>https://wcbing.top/blog/region_lang_code/</link>
      <pubDate>Thu, 15 Jun 2023 00:00:00 +0000</pubDate>
      
      <guid>https://wcbing.top/blog/region_lang_code/</guid>
      <description>
        
        
        &lt;h2&gt;&lt;a href=&#34;https://zh.wikipedia.org/wiki/%E5%9C%8B%E5%AE%B6%E5%9C%B0%E5%8D%80%E4%BB%A3%E7%A2%BC&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;国家地区代码&lt;/a&gt;&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;国家地区代码&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e5%9b%bd%e5%ae%b6%e5%9c%b0%e5%8c%ba%e4%bb%a3%e7%a0%81&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;h3&gt;ISO标准国家代码 - &lt;a href=&#34;https://zh.wikipedia.org/wiki/ISO_3166-1&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;ISO 3166&lt;/a&gt;&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;iso标准国家代码---iso-3166&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#iso%e6%a0%87%e5%87%86%e5%9b%bd%e5%ae%b6%e4%bb%a3%e7%a0%81---iso-3166&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;blockquote&gt;
  &lt;p&gt;形如：CN&lt;/p&gt;

&lt;/blockquote&gt;
&lt;p&gt;分为3种，即&lt;a href=&#34;https://zh.wikipedia.org/wiki/ISO_3166-1%E4%BA%8C%E4%BD%8D%E5%AD%97%E6%AF%8D%E4%BB%A3%E7%A0%81&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;二位字母代码&lt;/a&gt;（alpha-2）、&lt;a href=&#34;https://zh.wikipedia.org/wiki/ISO_3166-1%E4%B8%89%E4%BD%8D%E5%AD%97%E6%AF%8D%E4%BB%A3%E7%A0%81&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;三位字母代码&lt;/a&gt;（alpha-3）、&lt;a href=&#34;https://zh.wikipedia.org/wiki/ISO_3166-1%E6%95%B0%E5%AD%97%E4%BB%A3%E7%A0%81&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;数字代码&lt;/a&gt;（numeric）。其中，二位字母代码适用于通常情况，三位字母代码较接近国家名称，而数字代码则适用于非拉丁字母环境中。&lt;/p&gt;
&lt;h3&gt;&lt;a href=&#34;https://zh.wikipedia.org/wiki/%E4%BA%92%E8%81%94%E7%BD%91%E9%A1%B6%E7%BA%A7%E5%9F%9F%E5%88%97%E8%A1%A8#%E5%9B%BD%E5%AE%B6%E6%88%96%E5%9C%B0%E5%8D%80%E9%A0%82%E7%B4%9A%E5%9F%9F&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;国家顶级域&lt;/a&gt;&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;国家顶级域&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e5%9b%bd%e5%ae%b6%e9%a1%b6%e7%ba%a7%e5%9f%9f&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;blockquote&gt;
  &lt;p&gt;形如：.cn&lt;/p&gt;

&lt;/blockquote&gt;
&lt;p&gt;2字母国家代码顶级域的DNS名称。它们遵循ISO 3166-1两字母代码，除了个别一些例外：“.ac”用于阿森松岛、“.eu”用于欧盟或英国选用“.uk”而非“.gb”。&lt;/p&gt;
&lt;h2&gt;&lt;a href=&#34;https://zh.wikipedia.org/wiki/%E8%AA%9E%E8%A8%80%E4%BB%A3%E7%A2%BC&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;语言代码&lt;/a&gt;&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;语言代码&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e8%af%ad%e8%a8%80%e4%bb%a3%e7%a0%81&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;h3&gt;ISO标准语言代码 - &lt;a href=&#34;https://zh.wikipedia.org/wiki/ISO_639-1%E4%BB%A3%E7%A0%81%E8%A1%A8&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;ISO 639&lt;/a&gt;&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;iso标准语言代码---iso-639&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#iso%e6%a0%87%e5%87%86%e8%af%ad%e8%a8%80%e4%bb%a3%e7%a0%81---iso-639&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;blockquote&gt;
  &lt;p&gt;形如：zh、zho&lt;/p&gt;

&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&#34;https://zh.wikipedia.org/wiki/ISO_639&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;ISO 639&lt;/a&gt; 是为语言分类的设计的一套标准代码。每种语言都被分配了两个字母（639-1）或三个字母（639-2 和 639-3）的小写代码。&lt;/p&gt;
&lt;h3&gt;&lt;a href=&#34;https://zh.wikipedia.org/wiki/IETF%E8%AA%9E%E8%A8%80%E6%A8%99%E7%B1%A4&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;IETF语言标签&lt;/a&gt;&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;ietf语言标签&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#ietf%e8%af%ad%e8%a8%80%e6%a0%87%e7%ad%be&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;blockquote&gt;
  &lt;p&gt;形如：zh（中文）、zh-CN（大陆中文）、zh-Hans-CN（大陆简体中文）、yue / zh-yue（粤语）, cmn / zh-cmn（普通话）&lt;/p&gt;

&lt;/blockquote&gt;
&lt;p&gt;IETF语言标签由互联网工程任务组（IETF）的“BCP 47”文档系列定义。现在标准化为RFC 5646（引用了相关的RFC 5645）与RFC 4647，IANA语言子标签登记。使用的各成分来自&lt;a href=&#34;https://zh.wikipedia.org/wiki/ISO_639&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;ISO 639&lt;/a&gt;、&lt;a href=&#34;https://zh.wikipedia.org/wiki/ISO_15924&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;ISO 15924&lt;/a&gt;、&lt;a href=&#34;https://zh.wikipedia.org/wiki/ISO_3166-1&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;ISO 3166-1&lt;/a&gt;以及&lt;a href=&#34;https://zh.wikipedia.org/wiki/UN_M.49&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;UN M.49&lt;/a&gt;。
IETF语言标签的最早版本是1995年3月发布的RFC 1766。使用ISO 639的2字母语言代码，ISO 3166的2字母国家地区代码，允许登记的标签携带variant或书写文字子标签。
2001年1月发布RFC 3066, 使用ISO 639-2的3字母语言代码。
2006年9月发布RFC 4646 (规范的主体)与RFC 4647 (处理匹配行为)。RFC 4646增加了使用ISO 15924 的4字母书写文字代码与UN M.49的3数字地理分区码。
2009年9月发布RFC 5646，引入了3字符码的ISO 639-3与639-5作为语言子标签。&lt;/p&gt;
&lt;h2&gt;语言代码实例&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;语言代码实例&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e8%af%ad%e8%a8%80%e4%bb%a3%e7%a0%81%e5%ae%9e%e4%be%8b&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;h3&gt;Linux Locale&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;linux-locale&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#linux-locale&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;命名规则为：&lt;code&gt;language[_territory[.codeset]][@modifier]&lt;/code&gt;
其中language是&lt;a href=&#34;https://zh.wikipedia.org/wiki/ISO_639-1&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;ISO 639-1&lt;/a&gt;标准中定义的双字母的语言代码，territory是&lt;a href=&#34;https://zh.wikipedia.org/wiki/ISO_3166-1&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;ISO 3166-1&lt;/a&gt;标准中定义的双字母的国家和地区代码，codeset是字符集的名称 (如 UTF-8等)，而 modifier 则是某些 locale 变体的修正符。&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;目前的 Debian 桌面 GUI（图形用户界面）系统通常在 GUI 环境中设置语言环境为 &lt;code&gt;LANG=xx_YY.UTF-8&lt;/code&gt;。这里，&lt;code&gt;xx&lt;/code&gt; 是 &lt;a href=&#34;https://zh.wikipedia.org/wiki/ISO_639-1&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;ISO 639 语言代码&lt;/a&gt; ，&lt;code&gt;YY&lt;/code&gt; 是 &lt;a href=&#34;https://zh.wikipedia.org/wiki/ISO_3166-1&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;ISO 3166 国家地区代码&lt;/a&gt; &lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;h3&gt;Windows 开发&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;windows-开发&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#windows-%e5%bc%80%e5%8f%91&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;语言字符串
Windows 媒体格式 SDK 的多语言支持功能使用符合 RFC 1766 的语言字符串。&lt;sup id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;.NET
类 &lt;a href=&#34;https://learn.microsoft.com/zh-cn/dotnet/api/system.globalization.cultureinfo?view=net-7.0&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;CultureInfo&lt;/a&gt; 根据 RFC 4646 为每个区域性指定唯一名称。 该名称是与语言关联的 ISO 639 双字母或三字母小写区域性代码和与国家或地区关联的 ISO 3166 双字母大写子区域性代码的组合。 此外，对于面向 .NET Framework 4 或更高版本且在 Windows 10 或更高版本下运行的应用，支持对应于有效 BCP-47 语言标记的区域性名称。
基于 RFC 4646 的区域性名称的格式为 &lt;em&gt;&lt;code&gt;languagecode2&lt;/code&gt;&lt;/em&gt;-&lt;em&gt;&lt;code&gt;country/regioncode2&lt;/code&gt;&lt;/em&gt;，其中 &lt;em&gt;&lt;code&gt;languagecode2&lt;/code&gt;&lt;/em&gt; 是双字母语言代码， &lt;em&gt;&lt;code&gt;country/regioncode2&lt;/code&gt;&lt;/em&gt; 是双字母子区域性代码。&lt;sup id=&#34;fnref:4&#34;&gt;&lt;a href=&#34;#fn:4&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;HTML lang 属性&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;html-lang-属性&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#html-lang-%e5%b1%9e%e6%80%a7&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;由 &lt;a href=&#34;https://www.ietf.org/rfc/bcp/bcp47.txt&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;用于定义语言的标签 (BCP47)&lt;/a&gt; IETF 文档定义。&lt;sup id=&#34;fnref:5&#34;&gt;&lt;a href=&#34;#fn:5&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;5&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;BCP 47标准代替了早期使用的RFC 3066 与RFC 1766标准，且信息量远远超过了ISO语言与国家地区标准。您还应该使用IANA语言子标签注册表（IANA Language Subtag Registry）来改善语言标记，而非ISO标准。&lt;sup id=&#34;fnref:6&#34;&gt;&lt;a href=&#34;#fn:6&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;6&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;&lt;a href=&#34;https://zh.wikipedia.org/wiki/%E5%8C%BA%E5%9F%9F%E8%AE%BE%E7%BD%AE&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;区域设置 - 维基百科&lt;/a&gt;&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:2&#34;&gt;
&lt;p&gt;&lt;a href=&#34;https://www.debian.org/doc/manuals/debian-reference/ch08.zh-cn.html&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;第 8 章 国际化和本地化&lt;/a&gt;&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:3&#34;&gt;
&lt;p&gt;&lt;a href=&#34;https://learn.microsoft.com/zh-cn/windows/win32/wmformat/language-strings&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Language Strings - Win32 apps|Microsoft Learn&lt;/a&gt;&amp;#160;&lt;a href=&#34;#fnref:3&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:4&#34;&gt;
&lt;p&gt;&lt;a href=&#34;https://learn.microsoft.com/zh-cn/dotnet/api/system.globalization.cultureinfo&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;CultureInfo 类 (System.Globalization)|Microsoft Learn&lt;/a&gt;&amp;#160;&lt;a href=&#34;#fnref:4&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:5&#34;&gt;
&lt;p&gt;&lt;a href=&#34;https://developer.mozilla.org/zh-CN/docs/Web/HTML/Global_attributes/lang&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;MDN&lt;/a&gt;&amp;#160;&lt;a href=&#34;#fnref:5&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:6&#34;&gt;
&lt;p&gt;&lt;a href=&#34;https://www.w3.org/International/getting-started/language.zh-hans.html&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;W3C&lt;/a&gt;&amp;#160;&lt;a href=&#34;#fnref:6&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
      </description>
    </item>
    
    <item>
      <title>给 TamperMonkey 正名 - “我叫篡改猴”</title>
      <link>https://wcbing.top/blog/tempermonkey/</link>
      <pubDate>Thu, 06 Apr 2023 00:00:00 +0000</pubDate>
      
      <guid>https://wcbing.top/blog/tempermonkey/</guid>
      <description>
        
        
        &lt;p&gt;这也是我的一篇 &lt;a href=&#34;https://zhuanlan.zhihu.com/p/619671247&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;知乎文章&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
  &lt;p&gt;图片是知乎的外链，不会给我挂了吧&lt;/p&gt;

&lt;/blockquote&gt;
&lt;blockquote&gt;
  &lt;p&gt;6.3：昨天在几个新闻上和Appinn频道看到了也就算了，今天在沙雕墙的频道看到了，好丢人&lt;br&gt;
&lt;strong&gt;不许说名字难听&lt;/strong&gt;，不许说不如“窜天猴”，我找了好几个翻译都是这么翻的，奔跑中的奶酪那张图中还有一些文章都是这么叫的，我只是搬运工罢了。&lt;/p&gt;

&lt;/blockquote&gt;
&lt;p&gt;&lt;img src=&#34;https://pic1.zhimg.com/v2-06762e31682fe91a1eecdec6127bd4d0_b.jpg&#34; alt=&#34;image&#34;  loading=&#34;lazy&#34; /&gt;&lt;/p&gt;
&lt;blockquote&gt;
  &lt;p&gt;省流：官网之前一直没中文名，今年不知谁把官网上的“Tampermonkey”翻译为了“油猴”，我才和作者发邮件提出更改的。&lt;/p&gt;
&lt;p&gt;至于这句“有些人也会把篡改猴(Tampermonkey)称作油猴(Greasemonkey)，尽管后者只是一款仅适用于 Firefox 浏览器的浏览器扩展程序。”，虽然邮件里提到了，但是最开始作者并没有加上。可能是有些人觉得 不好听/像盗版 又去找作者讨论了吧。&lt;/p&gt;

&lt;/blockquote&gt;
&lt;hr&gt;
&lt;blockquote&gt;
  &lt;p&gt;水文章罢了。&lt;/p&gt;

&lt;/blockquote&gt;
&lt;p&gt;TamperMonkey 作为大名鼎鼎的脚本管理器，就算没用过也大概率听过吧。没？这个图标总见过吧&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://pic3.zhimg.com/v2-f5cedd382a1be17969a140458f9115d6_b.jpg&#34; alt=&#34;image&#34;  loading=&#34;lazy&#34; /&gt;&lt;/p&gt;
&lt;p&gt;到这有人可能会说了，哦，这个我知道，这是 我同学/某UP主 推荐的宝藏啊，能去广告、刷课等等，叫油猴来着。嗯，恭喜你，答错了&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://pic4.zhimg.com/v2-a002c2e382d58e9385f9bb74b303e9cb_b.jpg&#34; alt=&#34;image&#34;  loading=&#34;lazy&#34; /&gt;&lt;/p&gt;
&lt;p&gt;腾讯翻译&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://pic3.zhimg.com/v2-de63646a71f1b3e3ffe0b384b8e39936_b.jpg&#34; alt=&#34;image&#34;  loading=&#34;lazy&#34; /&gt;&lt;/p&gt;
&lt;p&gt;微软翻译&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://pic4.zhimg.com/v2-7a4de573135b6b5f8366a794d7f23e5f_b.jpg&#34; alt=&#34;image&#34;  loading=&#34;lazy&#34; /&gt;&lt;/p&gt;
&lt;p&gt;图源 奔跑中的奶酪&lt;/p&gt;
&lt;h3&gt;TamperMonkey为什么被叫做“油猴”&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;tampermonkey为什么被叫做油猴&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#tampermonkey%e4%b8%ba%e4%bb%80%e4%b9%88%e8%a2%ab%e5%8f%ab%e5%81%9a%e6%b2%b9%e7%8c%b4&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;很多人把 Userscript 叫做“油猴脚本”，原因上面文章也提到了，因为最早的用户脚本管理器叫油猴（Greasemonkey ），所以很多人叫其“油猴脚本”，这&lt;strong&gt;也能理解&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;不过，Greasemonkey 只支持Firefox，于是就有人做Chrome等上面的移植版，就比如我们要说的 Tampermonkey，它也是其中最有名的。但是问题来了，Tampermonkey 官方一直没有正式中文名称（而油猴、暴力猴等都有“官方认证”的中文名），所有场合出现的都是它的英文名字，这我们这些说中文的日常交流多不方便啊。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://pic1.zhimg.com/v2-01cc99564e8b0abc4e0ca94a9ff5eae0_b.jpg&#34; alt=&#34;image&#34;  loading=&#34;lazy&#34; /&gt;&lt;/p&gt;
&lt;p&gt;Firefox，有油猴和暴力猴为对比&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://pic3.zhimg.com/v2-7995099829b64fdf780f96962417326a_b.jpg&#34; alt=&#34;image&#34;  loading=&#34;lazy&#34; /&gt;&lt;/p&gt;
&lt;p&gt;Edge，有暴力猴为对比&lt;/p&gt;
&lt;p&gt;那么它中文叫什么呢，很多人这时候犯懒了，翻字典是不可能翻的，“当时xxx给我推荐这个，能装脚本来做xxx，他当时说叫什么来着，哦对，油猴脚本！油猴脚本、油猴脚本，那这个东西是用来做这个的，那他一定叫“油猴”吧。”&lt;/p&gt;
&lt;p&gt;当然以上只是个人猜想的一些人（尤其近几年才接触的人）的思路，可能一些“老人”就像 &lt;a href=&#34;https://www.zhihu.com/question/334287319/answer/744468836&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;为什么Tampermonkey被翻译成&amp;quot;油猴&amp;quot;？&lt;/a&gt; 里说的，纯粹是习惯了罢，就像一些人老是说“百度一下”，实际他并不用百度一样。&lt;/p&gt;
&lt;h3&gt;官网名称被改&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;官网名称被改&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e5%ae%98%e7%bd%91%e5%90%8d%e7%a7%b0%e8%a2%ab%e6%94%b9&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;今年2月份，当我重装手机上Firefox时，安装扩展时不小心选了TamperMonkey（为什么说不小心，因为它有个弹窗在手机上关不掉，我没法操作，所以一般都用的暴力猴）。大家都知道它装完之后会弹出官网的欢迎界面，而作者在前几个月更新了官网。在我将要关闭时，我发现了一点异常：Tampermonkey 有中文自称了，还是“油猴”？！&lt;/p&gt;
&lt;p&gt;这……你让Greasemonkey怎么面对，你让Tampermonkey怎么想，“没想到这么多年了，我终究还是个替身( ꒦ິ⌓꒦ີ )”。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://pic2.zhimg.com/v2-96b0d0ca3958b6e3e6242a466ac3a3f9_b.jpg&#34; alt=&#34;image&#34;  loading=&#34;lazy&#34; /&gt;&lt;/p&gt;
&lt;p&gt;我再附上几张历史截图，证明一下，TamperMonkey 官网之前从来没有自称过“油猴”。或者可以从&lt;a href=&#34;https://old.tampermonkey.net/&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Tampermonkey&lt;/a&gt; 的旧备份查看。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://pic1.zhimg.com/v2-ca3469a948b9cc6ba2004758f71d5c68_b.jpg&#34; alt=&#34;image&#34;  loading=&#34;lazy&#34; /&gt;&lt;/p&gt;
&lt;p&gt;2021.2.22 &lt;a href=&#34;https://www.tampermonkey.net/?locale=zh&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://www.tampermonkey.net/?locale=zh&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://pic2.zhimg.com/v2-e365e1297d1e8cd7b35e637f01f5fd29_b.jpg&#34; alt=&#34;image&#34;  loading=&#34;lazy&#34; /&gt;&lt;/p&gt;
&lt;p&gt;2022.8.11 &lt;a href=&#34;https://www.tampermonkey.net/?ext=dhdg&amp;amp;locale=zh&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://www.tampermonkey.net/?ext=dhdg&amp;locale=zh&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
  &lt;p&gt;因为不同语言是通过url传参实现的，所以中文没有什么固定的URL&lt;/p&gt;

&lt;/blockquote&gt;
&lt;p&gt;当时就想提个反馈，但我找遍网站也没有发现反馈位置，只有一个邮箱。Github上 也只有扩展本体及扩展的翻译，没地方提关于网站的issue。&lt;/p&gt;
&lt;p&gt;发邮件，对我来说有点太过正式，我写了两句就懒癌犯了，算了吧。&lt;/p&gt;
&lt;h3&gt;反馈起因及结果&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;反馈起因及结果&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e5%8f%8d%e9%a6%88%e8%b5%b7%e5%9b%a0%e5%8f%8a%e7%bb%93%e6%9e%9c&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;最近某同学要刷智慧树的课，他给我说他一搜排名第一的是 &lt;a href=&#34;https://greasyfork.org/zh-CN/scripts/457151-ocs-%25E7%25BD%2591%25E8%25AF%25BE%25E5%258A%25A9%25E6%2589%258B&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;OCS 网课助手&lt;/a&gt; ，装上后发现提示我推荐的暴力猴不支持，必须用“油猴”。当时我就忍不了了，什么，看不起我“暴力猴”是吧，另外你连名字都打不对，你在教我做事？（狗头&lt;/p&gt;
&lt;p&gt;于是上Github给他拉了分支，改了翻译再提了个PR。&lt;a href=&#34;https://github.com/ocsjs/ocs-docs/pull/4&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://github.com/ocsjs/ocs-docs/pull/4&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;然后，隔了几天（因为回复邮件被Outlook收到垃圾箱了）我发现他回复说官网就叫油猴。得，官网的更新让错误翻译更有理了。于是我又忍不了了，又打开了PR，同时又从草稿箱翻出草稿来给TamperMonkey发了个邮件。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://pic3.zhimg.com/v2-9d184115de07a28eb69788b6e7273e1e_b.jpg&#34; alt=&#34;image&#34;  loading=&#34;lazy&#34; /&gt;&lt;/p&gt;
&lt;p&gt;很快啊，他没给我回复……&lt;/p&gt;
&lt;p&gt;不过4.4忽然收到Github邮件： OCS doc 批准了PR。然后我去官网一看，现在已经改过来了&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://pic1.zhimg.com/v2-d3b01bfedc08a83d76f76c9988611c74_b.jpg&#34; alt=&#34;image&#34;  loading=&#34;lazy&#34; /&gt;&lt;/p&gt;
&lt;p&gt;截图于 2023.4.4&lt;/p&gt;
      </description>
    </item>
    
    <item>
      <title>Markdwon 笔记（样式测试）</title>
      <link>https://wcbing.top/blog/markdown/</link>
      <pubDate>Mon, 25 Jan 2021 00:00:00 +0000</pubDate>
      
      <guid>https://wcbing.top/blog/markdown/</guid>
      <description>
        
        
        &lt;h2&gt;说明&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;说明&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e8%af%b4%e6%98%8e&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;边学边写，所以一边学着后面就顺便将前文格式改了改，把这当作学习笔记了。
现在又变成博客样式测试文章了😁&lt;/p&gt;
&lt;p&gt;因为Markdown没有明确规范，所以这里就只说一些基本用法。&lt;br&gt;
本文在VS code上编写，一些效果默认情况下不能显示（不是基本语法），但在其他的在线编辑器上试过可以显示，已标明。
建议学习时可以多看看英文资料，毕竟中文资料中可能有翻译错误或者加入了作者自己的想法。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;这里面是编辑器内的原形式
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
  &lt;p&gt;这里面是演示效果&lt;/p&gt;

&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2&gt;标题与正文&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;标题与正文&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e6%a0%87%e9%a2%98%e4%b8%8e%e6%ad%a3%e6%96%87&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;h3&gt;换行与换段&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;换行与换段&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e6%8d%a2%e8%a1%8c%e4%b8%8e%e6%8d%a2%e6%ae%b5&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;正文可以直接写。&lt;br&gt;
两个及以上空格再回车表示换行，空一行及以上表示换段。&lt;/p&gt;
&lt;h3&gt;换行&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;换行&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e6%8d%a2%e8%a1%8c&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;使用&lt;code&gt;#&lt;/code&gt;，一级标题为一个&lt;code&gt;#&lt;/code&gt;，二级标题为两个&lt;code&gt;#&lt;/code&gt;，以此类推，可表示 1-6 级标题。&lt;br&gt;
或使用&lt;code&gt;=&lt;/code&gt;和&lt;code&gt;-&lt;/code&gt;并换行标记一级和二级标题（备用方案）。&lt;br&gt;
为了显示效果引用了一下。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;## 一级标题
### 二级标题
#### 三级标题
##### 四级标题
......
这是正文  
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
  &lt;h2&gt;一级标题&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;一级标题&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e4%b8%80%e7%ba%a7%e6%a0%87%e9%a2%98&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;h3&gt;二级标题&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;二级标题&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e4%ba%8c%e7%ba%a7%e6%a0%87%e9%a2%98&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;h4&gt;三级标题&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;三级标题&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e4%b8%89%e7%ba%a7%e6%a0%87%e9%a2%98&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h4&gt;&lt;h5&gt;四级标题&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;四级标题&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e5%9b%9b%e7%ba%a7%e6%a0%87%e9%a2%98&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h5&gt;&lt;p&gt;&amp;hellip;&amp;hellip;&lt;br&gt;
这是正文&lt;/p&gt;

&lt;/blockquote&gt;
&lt;p&gt;另一种：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;一级标题
==
二级标题
--
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;效果如下：&lt;/p&gt;
&lt;blockquote&gt;
  &lt;h1&gt;一级标题&lt;/h1&gt;&lt;h2&gt;二级标题&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;二级标题-1&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e4%ba%8c%e7%ba%a7%e6%a0%87%e9%a2%98-1&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;/blockquote&gt;
&lt;h3&gt;分隔符&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;分隔符&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e5%88%86%e9%9a%94%e7%ac%a6&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;由三个及以上&lt;code&gt;-&lt;/code&gt;/&lt;code&gt;*&lt;/code&gt;/&lt;code&gt;_&lt;/code&gt;构成的单行，其中可有空格&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;---
- - -
***
* * *
___
_ _ _
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
  &lt;hr&gt;
&lt;hr&gt;
&lt;hr&gt;
&lt;hr&gt;
&lt;hr&gt;
&lt;hr&gt;

&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2&gt;字体效果&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;字体效果&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e5%ad%97%e4%bd%93%e6%95%88%e6%9e%9c&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;h3&gt;斜、黑体&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;斜黑体&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e6%96%9c%e9%bb%91%e4%bd%93&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;斜体：在其前后各加一个&lt;code&gt;*&lt;/code&gt;或&lt;code&gt;_&lt;/code&gt;&lt;br&gt;
黑体：在其前后各加两个&lt;code&gt;*&lt;/code&gt;或&lt;code&gt;_&lt;/code&gt;&lt;br&gt;
斜黑体：在其前后各加三个&lt;code&gt;*&lt;/code&gt;或&lt;code&gt;_&lt;/code&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;正常文字  
*斜体*_文字_  
**黑体**__文字__  
***斜黑体***___文字___
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
  &lt;p&gt;正常文字&lt;br&gt;
&lt;em&gt;斜体&lt;/em&gt;&lt;em&gt;文字&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;黑体&lt;/strong&gt;&lt;strong&gt;文字&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;&lt;strong&gt;斜黑体&lt;/strong&gt;&lt;/em&gt;&lt;em&gt;&lt;strong&gt;文字&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;/blockquote&gt;
&lt;p&gt;最好用&lt;code&gt;*&lt;/code&gt;不用&lt;code&gt;_&lt;/code&gt;&lt;br&gt;
也可将斜黑体表示为&lt;code&gt;__*1*__&lt;/code&gt;或&lt;code&gt;**_2_**&lt;/code&gt;(VS code并不支持)：__&lt;em&gt;1&lt;/em&gt;__或**&lt;em&gt;2&lt;/em&gt;**&lt;/p&gt;
&lt;h3&gt;删除线&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;删除线&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e5%88%a0%e9%99%a4%e7%ba%bf&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;在其前后各加&lt;code&gt;~~&lt;/code&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;~~这是删除线测试~~
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;效果如下：&lt;/p&gt;
&lt;p&gt;&lt;del&gt;这是删除线测试&lt;/del&gt;&lt;/p&gt;
&lt;h3&gt;高亮（VS code里无效果）&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;高亮vs-code里无效果&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e9%ab%98%e4%ba%aevs-code%e9%87%8c%e6%97%a0%e6%95%88%e6%9e%9c&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;在其前后各加&lt;code&gt;==&lt;/code&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;==这是高亮==
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;==这是高亮==&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;列表&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;列表&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e5%88%97%e8%a1%a8&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;h3&gt;有序列表&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;有序列表&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e6%9c%89%e5%ba%8f%e5%88%97%e8%a1%a8&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;数字加&lt;code&gt;.&lt;/code&gt;加一个空格&lt;br&gt;
可嵌套，若嵌套在前面加四个空格（一个Tab）&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;1. 一级
    1. 二级
        1. 三级
        2. 三级
   2. 二级
2. 一级
3.一级
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;效果如下：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;一级
&lt;ol&gt;
&lt;li&gt;二级
&lt;ol&gt;
&lt;li&gt;三级&lt;/li&gt;
&lt;li&gt;三级&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;二级&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;一级&lt;/li&gt;
&lt;li&gt;一级&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;数字不必按数字顺序排列，但列表会以数字顺序开始。测试一下&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;1. 测试
    1. 序号不按前面数字而是自动变？
    1. 确实自动啊，估计怕不同级别的序号出现混乱
    1. 那我是不是可以在哪一级就用哪一数字（滑稽）
2. 一级
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;效果如下：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;测试
&lt;ol&gt;
&lt;li&gt;下一级&lt;/li&gt;
&lt;li&gt;序号好像不按前面数字而是自动变&lt;/li&gt;
&lt;li&gt;确实自动啊，估计怕不同级别的序号出现混乱&lt;/li&gt;
&lt;li&gt;那我是不是可以在哪一级就用哪一数字（滑稽）&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;一级&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;无序列表&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;无序列表&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e6%97%a0%e5%ba%8f%e5%88%97%e8%a1%a8&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;code&gt;*&lt;/code&gt;、&lt;code&gt;+&lt;/code&gt;或&lt;code&gt;-&lt;/code&gt;加一个空格&lt;br&gt;
也可以嵌套&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;- 一级
    - 二级
        - 三级
    - 二级
- 一级
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;效果如下：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;一级
&lt;ul&gt;
&lt;li&gt;二级
&lt;ul&gt;
&lt;li&gt;三级&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;二级&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;一级&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;再测试一下&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;- - 直接二级
- 三级
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;效果如下：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;ul&gt;
&lt;li&gt;直接二级
&lt;ul&gt;
&lt;li&gt;三级&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2&gt;区块引用&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;区块引用&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e5%8c%ba%e5%9d%97%e5%bc%95%e7%94%a8&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;在段落开头使用&lt;code&gt;&amp;gt;&lt;/code&gt;,然后加一个空格(非必需，为了防止有些不支持)&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt; 区块引用
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;效果如下：&lt;/p&gt;
&lt;blockquote&gt;
  &lt;p&gt;区块引用&lt;/p&gt;

&lt;/blockquote&gt;
&lt;p&gt;区块引用也可嵌套使用。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt; 1
&amp;gt;&amp;gt; 2  
3
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;效果如下：&lt;/p&gt;
&lt;blockquote&gt;
  &lt;p&gt;1&lt;/p&gt;
&lt;blockquote&gt;
  &lt;p&gt;2&lt;br&gt;
3&lt;/p&gt;

&lt;/blockquote&gt;

&lt;/blockquote&gt;
&lt;p&gt;在正文中引用后，换段效果不继续引用，换行继续引用。&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;代码&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;代码&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e4%bb%a3%e7%a0%81&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;可以保留原格式，效果为阴影背景&lt;/p&gt;
&lt;h3&gt;1)行内代码&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;1行内代码&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#1%e8%a1%8c%e5%86%85%e4%bb%a3%e7%a0%81&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;可以在前后各加一个及以上&lt;code&gt;`&lt;/code&gt;（反引号，Tab键上面的那个）来表示，但是要几个开始几个结束&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;这是`行内代码`演示
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;效果如下：&lt;/p&gt;
&lt;blockquote&gt;
  &lt;p&gt;这是&lt;code&gt;行内代码&lt;/code&gt;演示&lt;/p&gt;

&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;`` ` `` 
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这样就能打出`了，效果如下：&lt;/p&gt;
&lt;blockquote&gt;
  &lt;p&gt;&lt;code&gt;`&lt;/code&gt;&lt;/p&gt;

&lt;/blockquote&gt;
&lt;h3&gt;2)代码区块&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;2代码区块&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#2%e4%bb%a3%e7%a0%81%e5%8c%ba%e5%9d%97&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;可以使用四个空格（一个Tab）&lt;br&gt;
显示效果如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;这就是代码区块，记得要换段
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;也可以在前后各加单独由&lt;code&gt;```&lt;/code&gt;构成的一行表示，其后可指定语言。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;```C
printf(&amp;quot;Hello World!&amp;quot;);
```
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;效果如下：&lt;/p&gt;
&lt;div class=&#34;hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code&#34;&gt;

&lt;div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-C&#34; data-lang=&#34;C&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;printf&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Hello World!&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&#34;hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0&#34;&gt;
  &lt;button
    class=&#34;hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50&#34;
    title=&#34;复制代码&#34;
    aria-label=&#34;复制代码&#34;
    data-copied-label=&#34;已复制！&#34;
  &gt;
    &lt;div class=&#34;hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4&#34;&gt;&lt;/div&gt;
&lt;div class=&#34;hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4&#34;&gt;&lt;/div&gt;
  &lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;行内代码只能显示一行，适合正文插入，区块适合多条语句。我觉得单独一行代码也可用来区块来表示强调。&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;链接&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;链接&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e9%93%be%e6%8e%a5&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;1.形式为&lt;code&gt;[链接名称](链接地址)&lt;/code&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[百度](https://www.baidu.com)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;效果如下：&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.baidu.com&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;百度&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;2.或者使用&lt;code&gt;&amp;lt;链接地址&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;https://www.baidu.com&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;效果如下：&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.baidu.com&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://www.baidu.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;3.或者直接使用链接地址&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;https://www.baidu.com
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;效果如下：&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.baidu.com&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://www.baidu.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;4.参考样式链接&lt;/p&gt;
&lt;p&gt;由两部分组成。第一部分&lt;code&gt;[链接名称][标签]&lt;/code&gt;&lt;br&gt;
第二部分&lt;code&gt;[标签]: 链接地址&lt;/code&gt;&lt;br&gt;
其中第二部分可以放置于其他地方（不能在同一段内。）。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;这是一个[链接][1]

[1]:https://www.baidu.com
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
  &lt;p&gt;这是一个&lt;a href=&#34;https://www.baidu.com&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;链接&lt;/a&gt;&lt;/p&gt;

&lt;/blockquote&gt;
&lt;p&gt;省略写法：&lt;/p&gt;
&lt;div class=&#34;hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code&#34;&gt;

&lt;div&gt;&lt;pre&gt;&lt;code&gt;    这是一个[链接]
 
    [链接]:https://www.baidu.com&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0&#34;&gt;
  &lt;button
    class=&#34;hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50&#34;
    title=&#34;复制代码&#34;
    aria-label=&#34;复制代码&#34;
    data-copied-label=&#34;已复制！&#34;
  &gt;
    &lt;div class=&#34;hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4&#34;&gt;&lt;/div&gt;
&lt;div class=&#34;hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4&#34;&gt;&lt;/div&gt;
  &lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote&gt;
  &lt;p&gt;这是一个&lt;a href=&#34;https://www.baidu.com&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;链接&lt;/a&gt;&lt;/p&gt;

&lt;/blockquote&gt;
&lt;p&gt;5.所以的链接都可以带上格式，如&lt;del&gt;&lt;a href=&#34;https://www.baidu.com&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://www.baidu.com&lt;/a&gt;&lt;/del&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;图片&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;图片&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e5%9b%be%e7%89%87&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;插入图片与链接类似，格式如下：&lt;code&gt;![代替文字](图片的本地地址或URL)&lt;/code&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;![Markdown](https://bkimg.cdn.bcebos.com/pic/d009b3de9c82d158ccbf98bc1b430ed8bc3eb135e42e)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;效果如下：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://bkimg.cdn.bcebos.com/pic/d009b3de9c82d158ccbf98bc1b430ed8bc3eb135e42e&#34; alt=&#34;Markdown&#34;  loading=&#34;lazy&#34; /&gt;&lt;/p&gt;
&lt;p&gt;图片也可以添加链接(就是将链接名称换成图片)&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[![Markdown](https://bkimg.cdn.bcebos.com/pic/d009b3de9c82d158ccbf98bc1b430ed8bc3eb135e42e)](https://baike.baidu.com/item/markdown)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href=&#34;https://baike.baidu.com/item/markdown&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;img src=&#34;https://bkimg.cdn.bcebos.com/pic/d009b3de9c82d158ccbf98bc1b430ed8bc3eb135e42e&#34; alt=&#34;Markdown&#34;  loading=&#34;lazy&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;脚注（VS code里无效果）&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;脚注vs-code里无效果&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e8%84%9a%e6%b3%a8vs-code%e9%87%8c%e6%97%a0%e6%95%88%e6%9e%9c&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;格式：&lt;code&gt;[^要注明的内容]&lt;/code&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;这是要标注的[^内容]  
[^内容]:一个标注
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;效果如下：&lt;/p&gt;
&lt;p&gt;这是要标注的&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;表格&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;表格&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e8%a1%a8%e6%a0%bc&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;使用&lt;code&gt;|&lt;/code&gt;分隔每一行的单元格，用&lt;code&gt;-&lt;/code&gt;分隔表头与数据。&lt;/p&gt;
&lt;p&gt;表格对齐方式：&lt;br&gt;
设置内容和标题栏居右对齐&lt;code&gt;-:&lt;/code&gt;。&lt;br&gt;
设置内容和标题栏居左对齐&lt;code&gt;:-&lt;/code&gt;。&lt;br&gt;
设置内容和标题栏居中对齐&lt;code&gt;:-:&lt;/code&gt;。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;|表头1|表头2|表头3|
|:-:|-:|:-|
|1|2|3|
|1|2|3|
&lt;/code&gt;&lt;/pre&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th style=&#34;text-align: center&#34;&gt;表头1&lt;/th&gt;
          &lt;th style=&#34;text-align: right&#34;&gt;表头2&lt;/th&gt;
          &lt;th style=&#34;text-align: left&#34;&gt;表头3&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: center&#34;&gt;1&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;2&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;3&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: center&#34;&gt;1&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;2&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;3&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2&gt;转义字符&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;转义字符&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e8%bd%ac%e4%b9%89%e5%ad%97%e7%ac%a6&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;特殊符号可以用转义字符显示，及前面加&lt;code&gt;\&lt;/code&gt;。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;**加粗**  
\*\*不加粗\*\*
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;效果如下：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;加粗&lt;/strong&gt;&lt;br&gt;
**不加粗**&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;支持转义的字符：
\   反斜线
`   反引号
*   星号
_   下划线
{}  花括号
[]  方括号
&amp;lt;&amp;gt;  尖括号
()  小括号
##   井字号
+   加号
-   减号
.   英文句点
!   感叹号
|   竖线符号
&lt;/code&gt;&lt;/pre&gt;
&lt;hr&gt;
&lt;h2&gt;LaTex公式&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;latex公式&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#latex%e5%85%ac%e5%bc%8f&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;用&lt;code&gt;$&lt;/code&gt; &lt;code&gt;$&lt;/code&gt;包围的为行内的公式，用&lt;code&gt;$$&lt;/code&gt; &lt;code&gt;$$&lt;/code&gt;包围的为居中的公式块&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$2^{10} = 1024$
$$\sum_{n = 0}^{100} n = (100 + 0) + (99 + 1) + ... +  55 = 55 × 100 + 55 = 5555}$$
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;效果如下：
$2^{10} = 1024$
$$\sum_{n = 0}^{100} n = (100 + 0) + (99 + 1) + &amp;hellip; +  55 = 55 × 100 + 55 = 5555$$&lt;/p&gt;
&lt;p&gt;这个具体语法就不详细介绍了。&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;HTML&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;html&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#html&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;HTML中的标签可以直接在Markdown中使用，举个例子。&lt;/p&gt;
&lt;h3&gt;下划线&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;下划线&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#%e4%b8%8b%e5%88%92%e7%ba%bf&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;此章节的永久链接&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;HTML中的&lt;code&gt;&amp;lt;u&amp;gt;&lt;/code&gt;和&lt;code&gt;&amp;lt;/u&amp;gt;&lt;/code&gt;标签&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;u&amp;gt;这是下划线测试&amp;lt;/u&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;效果如下：&lt;/p&gt;
&lt;p&gt;&lt;u&gt;这是下划线测试&lt;/u&gt;&lt;/p&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;一个标注&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
      </description>
    </item>
    
    <item>
      <title>开源许可证</title>
      <link>https://wcbing.top/blog/license/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://wcbing.top/blog/license/</guid>
      <description>
        
        
        &lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;http://www.ruanyifeng.com/blog/2011/05/how_to_choose_free_software_licenses.html&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;如何选择开源许可证？ - 阮一峰的网络日志&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://choosealicense.com/licenses/&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;choosealicense&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://roriri.one/2019/01/27/weird-open-source-licences/&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;那些有画风毒的开源许可证 | 螺莉莉数据中心&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://open-source-license-chooser.toolsnav.top/zh/&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;开源许可证选择器&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
  </channel>
</rss>
