diff --git a/essay/note/4-software/index.html b/essay/note/4-software/index.html index dd79c262..b1530cf1 100644 --- a/essay/note/4-software/index.html +++ b/essay/note/4-software/index.html @@ -2471,14 +2471,14 @@

散装软件包

可集成至开始菜单的 desktop 文件可通过 KDE 的右键新建菜单快速创建。

注意编辑环境变量时不要引入换行符。

VSCodium

-

下载 appimage 文件:https://github.com/VSCodium/vscodium/releases

-

在与 VSCodium*.appimage 同级文件夹中新建 data/extensionsdata/user-data

+

下载文件:https://github.com/VSCodium/vscodium/releases

+

在与 VSCodium*.tar.gz 同级文件夹中新建 data/extensionsdata/user-data

desktop 文件模板:

[Desktop Entry]
 Categories=Development;
 Comment[zh_CN]=
 Comment=
-Exec=/home/poplar/bin/codium/vscodium.appimage --user-data-dir /home/poplar/bin/codium/data/user-data --extensions-dir /home/poplar/bin/codium/data/extensions
+Exec=/home/poplar/bin/codium/codium
 GenericName[zh_CN]=
 GenericName=
 Icon=/home/poplar/bin/codium/data/paulo22s.png
diff --git a/essay/note/8-shell-script/index.html b/essay/note/8-shell-script/index.html
index f1cd6b9a..45f07396 100644
--- a/essay/note/8-shell-script/index.html
+++ b/essay/note/8-shell-script/index.html
@@ -2080,17 +2080,22 @@ 

update-code

#!/bin/sh
 #本脚本用于更新 VScodium
 
-FILE=/home/poplar/Downloads/VSCodium*.appimage
+FILE=/home/poplar/Downloads/VSCodium*.tar.gz
 
 if [ -f $FILE ]; then
-    rm /home/poplar/bin/codium/vscodium.appimage
-    printf 'Remove the old appimage: OK!\n'
-    mv /home/poplar/Downloads/VSCodium*.appimage /home/poplar/Downloads/vscodium.appimage
-    mv /home/poplar/Downloads/vscodium.appimage /home/poplar/bin/codium
-    printf 'Update the appimage: OK!\n'
+    mv /home/poplar/bin/codium/data /home/poplar/bin/data
+    printf 'Back up data: OK!\n'
+    rm -r /home/poplar/bin/codium/*
+    printf 'Remove old exc: OK!\n'
+    tar -xf /home/poplar/Downloads/VSCodium*.tar.gz -C /home/poplar/bin/codium
+    printf 'Software update: OK!\n'
+    mv /home/poplar/bin/data /home/poplar/bin/codium/data
+    printf 'Data restored: OK!\n'
+    rm /home/poplar/Downloads/VSCodium*.tar.gz
+    printf 'Clear tarball: OK!\n'
 
 else
-    printf 'ERROR: Update files no found!\n'
+    printf 'ERROR: Update tarball no found!\n'
 fi
 

iso-m

diff --git a/feed_rss_created.xml b/feed_rss_created.xml index afb0d5f9..b2399eeb 100644 --- a/feed_rss_created.xml +++ b/feed_rss_created.xml @@ -1 +1 @@ - 白杨的文档站本站用于收纳站长的一些杂谈、笔记和博客等内容。https://whiteboard-ui8.pages.dev/Poplar at twilighthttps://github.com/poplar-at-twilight/whiteboardzh Sat, 16 Nov 2024 00:34:20 -0000 Sat, 16 Nov 2024 00:34:20 -0000 1440 MkDocs RSS plugin - v1.15.0 关于本站内容的变更 poplar 博客 <h1 id="_1">关于本站内容的变更</h1><p>本站将不再定期提供特定网站的翻译。</p><p>2021 年 7 月至 2024 年 5 月的译文源文件会在 <a href="https://github.com/poplar-at-twilight/whiteboard-old">whiteboard-old</a> 提供。</p>https://whiteboard-ui8.pages.dev/blog/2024/06/29/%E5%85%B3%E4%BA%8E%E6%9C%AC%E7%AB%99%E5%86%85%E5%AE%B9%E7%9A%84%E5%8F%98%E6%9B%B4/ Sat, 29 Jun 2024 00:00:00 +0000白杨的文档站https://whiteboard-ui8.pages.dev/blog/2024/06/29/%E5%85%B3%E4%BA%8E%E6%9C%AC%E7%AB%99%E5%86%85%E5%AE%B9%E7%9A%84%E5%8F%98%E6%9B%B4/ 你好,世界! poplar 博客 <h1 id="_1">你好,世界!</h1><p><a href="https://squidfunk.github.io/mkdocs-material/">Mkdocs Material</a> 的博客功能总算正式放出了,本站现在已支持 RSS! 🥳</p><ul><li>用于最新创建的页面: <a href="https://whiteboard-ui8.pages.dev/feed_rss_created.xml">https://whiteboard-ui8.pages.dev/feed_rss_created.xml</a></li><li>用于最新更新的页面: <a href="https://whiteboard-ui8.pages.dev/feed_rss_updated.xml">https://whiteboard-ui8.pages.dev/feed_rss_updated.xml</a></li></ul><p>当你使用 RSS 订阅的时候,请阅读<a href="../../../../../archives/rss-refresh/">『给 RSS 爱好者们的一封信』为什么我们应该提高 RSS 刷新间隔?</a>。</p>https://whiteboard-ui8.pages.dev/blog/2023/09/08/%E4%BD%A0%E5%A5%BD%E4%B8%96%E7%95%8C/ Fri, 08 Sep 2023 00:00:00 +0000白杨的文档站https://whiteboard-ui8.pages.dev/blog/2023/09/08/%E4%BD%A0%E5%A5%BD%E4%B8%96%E7%95%8C/ \ No newline at end of file + 白杨的文档站本站用于收纳站长的一些杂谈、笔记和博客等内容。https://whiteboard-ui8.pages.dev/Poplar at twilighthttps://github.com/poplar-at-twilight/whiteboardzh Sun, 17 Nov 2024 01:28:40 -0000 Sun, 17 Nov 2024 01:28:40 -0000 1440 MkDocs RSS plugin - v1.15.0 关于本站内容的变更 poplar 博客 <h1 id="_1">关于本站内容的变更</h1><p>本站将不再定期提供特定网站的翻译。</p><p>2021 年 7 月至 2024 年 5 月的译文源文件会在 <a href="https://github.com/poplar-at-twilight/whiteboard-old">whiteboard-old</a> 提供。</p>https://whiteboard-ui8.pages.dev/blog/2024/06/29/%E5%85%B3%E4%BA%8E%E6%9C%AC%E7%AB%99%E5%86%85%E5%AE%B9%E7%9A%84%E5%8F%98%E6%9B%B4/ Sat, 29 Jun 2024 00:00:00 +0000白杨的文档站https://whiteboard-ui8.pages.dev/blog/2024/06/29/%E5%85%B3%E4%BA%8E%E6%9C%AC%E7%AB%99%E5%86%85%E5%AE%B9%E7%9A%84%E5%8F%98%E6%9B%B4/ 你好,世界! poplar 博客 <h1 id="_1">你好,世界!</h1><p><a href="https://squidfunk.github.io/mkdocs-material/">Mkdocs Material</a> 的博客功能总算正式放出了,本站现在已支持 RSS! 🥳</p><ul><li>用于最新创建的页面: <a href="https://whiteboard-ui8.pages.dev/feed_rss_created.xml">https://whiteboard-ui8.pages.dev/feed_rss_created.xml</a></li><li>用于最新更新的页面: <a href="https://whiteboard-ui8.pages.dev/feed_rss_updated.xml">https://whiteboard-ui8.pages.dev/feed_rss_updated.xml</a></li></ul><p>当你使用 RSS 订阅的时候,请阅读<a href="../../../../../archives/rss-refresh/">『给 RSS 爱好者们的一封信』为什么我们应该提高 RSS 刷新间隔?</a>。</p>https://whiteboard-ui8.pages.dev/blog/2023/09/08/%E4%BD%A0%E5%A5%BD%E4%B8%96%E7%95%8C/ Fri, 08 Sep 2023 00:00:00 +0000白杨的文档站https://whiteboard-ui8.pages.dev/blog/2023/09/08/%E4%BD%A0%E5%A5%BD%E4%B8%96%E7%95%8C/ \ No newline at end of file diff --git a/feed_rss_updated.xml b/feed_rss_updated.xml index 312086d5..e64be45b 100644 --- a/feed_rss_updated.xml +++ b/feed_rss_updated.xml @@ -1 +1 @@ - 白杨的文档站本站用于收纳站长的一些杂谈、笔记和博客等内容。https://whiteboard-ui8.pages.dev/Poplar at twilighthttps://github.com/poplar-at-twilight/whiteboardzh Sat, 16 Nov 2024 00:34:20 -0000 Sat, 16 Nov 2024 00:34:20 -0000 1440 MkDocs RSS plugin - v1.15.0 关于本站内容的变更 poplar 博客 <h1 id="_1">关于本站内容的变更</h1><p>本站将不再定期提供特定网站的翻译。</p><p>2021 年 7 月至 2024 年 5 月的译文源文件会在 <a href="https://github.com/poplar-at-twilight/whiteboard-old">whiteboard-old</a> 提供。</p>https://whiteboard-ui8.pages.dev/blog/2024/06/29/%E5%85%B3%E4%BA%8E%E6%9C%AC%E7%AB%99%E5%86%85%E5%AE%B9%E7%9A%84%E5%8F%98%E6%9B%B4/ Mon, 23 Sep 2024 20:40:57 +0000白杨的文档站https://whiteboard-ui8.pages.dev/blog/2024/06/29/%E5%85%B3%E4%BA%8E%E6%9C%AC%E7%AB%99%E5%86%85%E5%AE%B9%E7%9A%84%E5%8F%98%E6%9B%B4/ 你好,世界! poplar 博客 <h1 id="_1">你好,世界!</h1><p><a href="https://squidfunk.github.io/mkdocs-material/">Mkdocs Material</a> 的博客功能总算正式放出了,本站现在已支持 RSS! 🥳</p><ul><li>用于最新创建的页面: <a href="https://whiteboard-ui8.pages.dev/feed_rss_created.xml">https://whiteboard-ui8.pages.dev/feed_rss_created.xml</a></li><li>用于最新更新的页面: <a href="https://whiteboard-ui8.pages.dev/feed_rss_updated.xml">https://whiteboard-ui8.pages.dev/feed_rss_updated.xml</a></li></ul><p>当你使用 RSS 订阅的时候,请阅读<a href="../../../../../archives/rss-refresh/">『给 RSS 爱好者们的一封信』为什么我们应该提高 RSS 刷新间隔?</a>。</p>https://whiteboard-ui8.pages.dev/blog/2023/09/08/%E4%BD%A0%E5%A5%BD%E4%B8%96%E7%95%8C/ Mon, 23 Sep 2024 20:40:57 +0000白杨的文档站https://whiteboard-ui8.pages.dev/blog/2023/09/08/%E4%BD%A0%E5%A5%BD%E4%B8%96%E7%95%8C/ \ No newline at end of file + 白杨的文档站本站用于收纳站长的一些杂谈、笔记和博客等内容。https://whiteboard-ui8.pages.dev/Poplar at twilighthttps://github.com/poplar-at-twilight/whiteboardzh Sun, 17 Nov 2024 01:28:40 -0000 Sun, 17 Nov 2024 01:28:40 -0000 1440 MkDocs RSS plugin - v1.15.0 关于本站内容的变更 poplar 博客 <h1 id="_1">关于本站内容的变更</h1><p>本站将不再定期提供特定网站的翻译。</p><p>2021 年 7 月至 2024 年 5 月的译文源文件会在 <a href="https://github.com/poplar-at-twilight/whiteboard-old">whiteboard-old</a> 提供。</p>https://whiteboard-ui8.pages.dev/blog/2024/06/29/%E5%85%B3%E4%BA%8E%E6%9C%AC%E7%AB%99%E5%86%85%E5%AE%B9%E7%9A%84%E5%8F%98%E6%9B%B4/ Mon, 23 Sep 2024 20:40:57 +0000白杨的文档站https://whiteboard-ui8.pages.dev/blog/2024/06/29/%E5%85%B3%E4%BA%8E%E6%9C%AC%E7%AB%99%E5%86%85%E5%AE%B9%E7%9A%84%E5%8F%98%E6%9B%B4/ 你好,世界! poplar 博客 <h1 id="_1">你好,世界!</h1><p><a href="https://squidfunk.github.io/mkdocs-material/">Mkdocs Material</a> 的博客功能总算正式放出了,本站现在已支持 RSS! 🥳</p><ul><li>用于最新创建的页面: <a href="https://whiteboard-ui8.pages.dev/feed_rss_created.xml">https://whiteboard-ui8.pages.dev/feed_rss_created.xml</a></li><li>用于最新更新的页面: <a href="https://whiteboard-ui8.pages.dev/feed_rss_updated.xml">https://whiteboard-ui8.pages.dev/feed_rss_updated.xml</a></li></ul><p>当你使用 RSS 订阅的时候,请阅读<a href="../../../../../archives/rss-refresh/">『给 RSS 爱好者们的一封信』为什么我们应该提高 RSS 刷新间隔?</a>。</p>https://whiteboard-ui8.pages.dev/blog/2023/09/08/%E4%BD%A0%E5%A5%BD%E4%B8%96%E7%95%8C/ Mon, 23 Sep 2024 20:40:57 +0000白杨的文档站https://whiteboard-ui8.pages.dev/blog/2023/09/08/%E4%BD%A0%E5%A5%BD%E4%B8%96%E7%95%8C/ \ No newline at end of file diff --git a/search/search_index.json b/search/search_index.json index d8ce23fa..7e68c262 100644 --- a/search/search_index.json +++ b/search/search_index.json @@ -1 +1 @@ -{"config":{"lang":["en"],"separator":"[\\s\\u200b\\u3000\\-\u3001\u3002\uff0c\uff0e\uff1f\uff01\uff1b]+","pipeline":["stemmer"]},"docs":[{"location":"","title":"\u4e00\u4f4d openSUSE \u7528\u6237\u7684\u4e2a\u4eba\u7ad9\u70b9","text":"

source\uff1a\ud83d\udc9d\ud83d\udc9d\ud83d\udc9d by toto, x.com

\u8fd9\u662f\u4e00\u4f4d openSUSE \u7528\u6237\u642d\u5efa\u7684\u4e2a\u4eba\u7f51\u7ad9\uff0c\u4e3b\u8981\u5305\u542b\u4e00\u4e9b\u8bf4\u660e\u6587\u6863\u548c\u5907\u5fd8\u5f55\u3001\u968f\u7b14\u6742\u8c08\u548c\u4e00\u70b9\u6709\u8da3\u7684\u4e1c\u897f\u3002

  • \u5176\u4ed6\uff1aRSS\u3001GitHub Pages \u955c\u50cf\u3001\u6807\u7b7e\u5730\u56fe & \u670b\u53cb\u4eec
  • \u8bb8\u53ef\u8bc1\u6e05\u5355\u8be6\u89c1\u6b64\u5904\u3002\u6b22\u8fce\u63d0\u4ea4 PR \u6216 issue \u4ee5\u534f\u52a9\u6539\u8fdb\u7ad9\u70b9\u5185\u5bb9\u3002See here for a list of licenses. Feel free to submit PR or issue to help improve site content.
  • This work by Poplar.at.twilight is licensed under CC BY-SA 4.0

"},{"location":"about/about-me/","title":"\u5173\u4e8e\u6211","text":"

\u6211\u662f Poplar at twilight (zh-Hans: \u66ae\u5149\u7684\u767d\u6768)\uff0c\u4f60\u53ef\u4ee5\u7b80\u79f0\u6211\u4e3a\u767d\u6768\uff08en: Poplar\uff09\u3002\u6211\u5e38\u7528 openSUSE Tumbleweed\uff0c\u5076\u5c14\u4f1a\u4f7f\u7528 Fedora\u3002

","tags":["\u7ad9\u52a1"]},{"location":"about/about-me/#openpgp","title":"OpenPGP \u516c\u94a5","text":"

\u4f60\u53ef\u4ee5\u5728\u6b64\u5904\u4e0b\u8f7d\u516c\u94a5\u3002

  • PGP \u6307\u7eb9\uff1a2B42 9BB9 098D 7B21 8ECB D4DA F8FA E5B1 001E FE63
","tags":["\u7ad9\u52a1"]},{"location":"about/friends/","title":"\u5173\u4e8e\u53cb\u94fe","text":"

\u5982\u679c\u4f60\u60f3\u51fa\u73b0\u5728\u6b64\u9875\u9762\u4e2d\uff0c\u4f60\u53ef\u4ee5\u5411\u535a\u5ba2\u7684\u6e90\u4ee3\u7801\u4ed3\u5e93\u63d0\u4ea4 PR \u6216\u8005 issue\u3002\u5982\u679c\u4f60\u8981\u5c06\u6211\u7684\u7f51\u7ad9\u6dfb\u52a0\u81f3\u53cb\u94fe\u4e2d\uff0c\u53c2\u8003\u4fe1\u606f\u5982\u4e0b\uff1a

  • \u672c\u7ad9\u70b9\u6807\u9898\uff1a\u767d\u6768\u7684\u6587\u6863\u7ad9
  • \u672c\u4eba\u7684\u79f0\u547c\uff1a\u66ae\u5149\u7684\u767d\u6768
  • GitHub\uff1ahttps://github.com/poplar-at-twilight
  • \u94fe\u63a5: https://whiteboard-ui8.pages.dev/
  • \u5934\u50cf: \u70b9\u6b64\u4e0b\u8f7d
  • \u7b80\u4ecb: \u8d5b\u535a\u9690\u58eb

\u6ce8\u610f

  1. \u5982\u679c\u4f60\u6ca1\u6709\u63d0\u4f9b\u81ea\u6211\u4ecb\u7ecd\u7684\u63cf\u8ff0\uff0c\u90a3\u6211\u5c06\u76f4\u63a5\u5728\u4f7f\u7528\u4f60\u5728\u4f60\u7684\u4e2a\u4eba\u7f51\u7ad9\u7684\u6240\u5199\u7684\u7b80\u4ecb\u8d44\u6599\u3002
  2. \u5982\u679c\u4f60\u6ca1\u6709\u63d0\u4f9b\u5934\u50cf\uff0c\u90a3\u6211\u5c06\u4f9d\u6b21\u67e5\u8be2\u4f60\u7684 Github/Gitlab \u8d26\u6237\u5934\u50cf\u3001TG \u7528\u6237\u5934\u50cf\u548c\u793e\u4ea4\u5a92\u4f53\u5934\u50cf\u3002\u76f4\u5230\u627e\u5230\u53ef\u7528\u975e\u9ed8\u8ba4\u5934\u50cf\u3002

\u8fd9\u91cc\u662f\u670b\u53cb\u4eec\u7684\u535a\u5ba2\u94fe\u63a5\uff1a

\u5934\u50cf \u79f0\u8c13 \u4e2a\u4eba\u535a\u5ba2/\u7ad9\u70b9\u94fe\u63a5 \u81ea\u6211\u7b80\u4ecb ImBearChild https://imbearchild.cyou/ \u559c\u6b22\u732b\u732b\u7684\u6280\u672f\u7231\u597d\u8005\uff0copenSUSE \u4e2d\u6587\u793e\u533a\u65b0\u95fb\u7f51\u7ad9\u7ef4\u62a4\u8005\u4e4b\u4e00\u3002 \u7af9\u6797\u91cc\u6709\u51b0 https://zhul.in/ Fedora \u7528\u6237\uff0c\u4f46\u540c\u65f6\u4e5f\u5728\u7ef4\u62a4\u67d0\u4e9b AUR \u7684\u5305\uff0cdipper \u673a\u578b\u7684 crDroid Official Maintainer\u3002 \u6768\u8559\u82b7 https://qvshuo.art/ \u5982\u679c\u6709\u4eba\u6b3a\u8d1f\u4f60\u5462\uff0c\u5c31\u62a5\u6211\u7684\u540d\u5b57\u3002 Karuboniru https://yanqiyu.info \u5c31\u662f\u4e2a\u5b66\u7269\u7406\u7684\uff0c\u61c2\u4e2a\u5c41\u7684\u8ba1\u7b97\u673a\u3002 \u4e00\u5ea7\u6865\u5728\u6c34\u4e0a https://blog.othing.xyz/ \u6211\u60f3\u51bb\u4f4f--\u6211\u7684\u6240\u89c1\uff0c\u6240\u542c\uff0c\u6240\u60f3\u4ed6\u4eba\u6240\u5199\uff0c\u6240\u521b\u9020\u81ea\u7136\u6240\u53d8\uff0c\u6240\u706d\u51bb\u4f4f\u4e16\u754c\uff0c\u51bb\u4f4f\u65f6\u95f4\uff0c\u51bb\u4f4f\u672c\u5c31\u5b58\u5728\u7684\u4e00\u5207\uff01 Blockcity https://ratizux.github.io/about/ Ratizux by Blockcity. \u4f7f\u7528 Markdown","tags":["\u7ad9\u52a1"]},{"location":"about/license/","title":"\u5173\u4e8e\u8bb8\u53ef\u8bc1 About Licenses","text":"","tags":["\u7ad9\u52a1"]},{"location":"about/license/#basic-components","title":"\u57fa\u7840\u90e8\u4ef6 Basic components","text":"
  • \u5982\u679c\u6ca1\u6709\u7279\u522b\u58f0\u660e\uff0c\u672c\u7ad9\u70b9\u7684\u6240\u6709\u6587\u7ae0\u90fd\u662f\u57fa\u4e8e CC-BY-SA 4.0 \u8fdb\u884c\u5206\u53d1\u6388\u6743\u3002Unless otherwise stated, all articles on this site are distributed under CC-BY-SA 4.0 license.
  • \u642d\u5efa\u6b64\u535a\u5ba2\u6240\u4f7f\u7528\u7684 Mkdocs \u57fa\u4e8e BSD-2-Clause License \u8fdb\u884c\u6388\u6743\u5206\u53d1\u3002The Mkdocs used to build this blog are licensed and distributed under the BSD-2-Clause License.
  • \u642d\u5efa\u6b64\u535a\u5ba2\u6240\u4f7f\u7528\u7684\u4e3b\u9898 mkdocs-material \u57fa\u4e8e MIT License \u8fdb\u884c\u5206\u53d1\u3002The theme mkdocs-material used to build this blog is distributed under the MIT License.
","tags":["\u7ad9\u52a1"]},{"location":"about/license/#others","title":"\u5176\u4ed6 Others","text":"
  • \u5f52\u6863\u5206\u7c7b\u7684\u6587\u6863\u7684\u8bb8\u53ef\u4fe1\u606f\u9700\u8981\u5728\u6587\u672b\u5355\u72ec\u4e00\u4e00\u8bf4\u660e\uff0c\u4e14\u4e0d\u518d\u6b64\u5904\u91cd\u590d\u58f0\u660e\u3002The license information of archived classified documents needs to be stated separately at the end of the article and will not be repeated here.
","tags":["\u7ad9\u52a1"]},{"location":"archives/about/","title":"\u5173\u4e8e","text":"

\u6ce8\u610f

\u9ed8\u8ba4\u4e0d\u6536\u5f55\u5907\u4efd\u7248\u6743\u6240\u6709\u6216\u4e0d\u5141\u8bb8\u4e8c\u6b21\u8f6c\u8f7d\u7684\u5185\u5bb9\u3002

\u6b64\u5206\u7c7b\u7528\u4e8e\u5f52\u6863\u5907\u4efd\u6765\u81ea\u5916\u90e8\u7ad9\u70b9\u7684\u6587\u7ae0/\u6587\u6863/\u6742\u8c08\u7b49\u5185\u5bb9\uff0c\u4ee5\u53ca\u4e00\u4e2a\u5b9e\u7528\u6587\u6863/\u7ad9\u70b9\u7684\u8df3\u8f6c\u94fe\u63a5\u5217\u8868\u3002

"},{"location":"archives/external-index/","title":"\u5916\u7ad9\u94fe\u63a5","text":"

\u4e00\u4e9b\u6709\u7528\u7684\u5916\u90e8\u7ad9\u70b9\u3002

","tags":["qBittorrent","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/external-index/#_2","title":"\u7f51\u7ad9","text":"
  • PCGameWiki \u6e38\u620f\u6982\u89c8\u4fe1\u606f wiki\uff0c\u53ef\u7528\u4e8e\u67e5\u8be2\u5206\u8fa8\u7387\u3001HDR \u652f\u6301\u548c DRM \u4fdd\u62a4\u4fe1\u606f\u7b49\u5185\u5bb9\u3002
  • \u521d\u4e4b\u56fe\u5e93 \u8be5\u56fe\u5e93\u4fdd\u5b58\u4e86\u7409\u7483\u795e\u793e\u7684\u6bcf\u6708\u58c1\u7eb8\u5305\u3002
  • XIU2/TrackersListCollection \u6bcf\u5929\u66f4\u65b0\uff01\u5168\u7f51\u70ed\u95e8 BitTorrent Tracker \u5217\u8868\uff01 \u540c\u65f6\u5305\u542b\u4e86\u5bf9\u4e8e tracker \u548c BT \u7684\u4ecb\u7ecd\u3002
  • \u4e2d\u6587\u535a\u5ba2\u805a\u5408\u8ba2\u9605 \u7531 Save The Web \u642d\u5efa\u7684\u4e2d\u6587\u72ec\u7acb\u535a\u5ba2 RSS \u8ba2\u9605\u3002
  • \u4e2d\u56fd\u79d1\u6280\u5927\u5b66\u6d4b\u901f\u7f51\u7ad9
  • FreeDict Forum \u8bcd\u5178\u7231\u597d\u8005\u4e4b\u5bb6
  • Simplify Your computer Usage \u5b9e\u7528\u7684 Windows \u5c0f\u5de5\u5177
","tags":["qBittorrent","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/external-index/#_3","title":"\u4e2a\u4eba\u535a\u5ba2","text":"
  • \u4f9d\u4e91's Blog
  • Farseerfc \u7684\u5c0f\u7aa9
  • Houge's Madness Blog
","tags":["qBittorrent","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/pandoc%27s-markdwon-spec/","title":"Pandoc\u2019s Markdown spec","text":"
  • \u6e90\u6587\uff1aPandoc\u2019s Markdown
  • \u4f5c\u8005\uff1aJohn MacFarlane
  • \u8bb8\u53ef\u8bc1\uff1aGPL-v2
  • \u8bd1\u8005\uff1a\u66ae\u5149\u7684\u767d\u6768
  • \u66f4\u65b0\u65e5\u671f\uff1a2024-02

\u6ce8\u610f

\u6b64\u6587\u6863\u4ecd\u672a\u7ffb\u8bd1\u5b8c\u3002

Pandoc \u80fd\u89e3\u6790 John Gruber \u7684 Markdown \u8bed\u6cd5\u7684\u4e00\u4e2a\u6269\u5c55\u548c\u8f7b\u5ea6\u4fee\u6539\u7248\u672c\u3002\u672c\u6587\u6863\u89e3\u91ca\u4e86\u8bed\u6cd5\uff0c\u5e76\u6307\u51fa\u4e86\u4e0e\u539f\u59cb Markdown \u7684\u4e0d\u540c\u4e4b\u5904\u3002\u9664\u7279\u522b\u8bf4\u660e\u5916\uff0c\u8fd9\u4e9b\u5dee\u5f02\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528 markdown_strict \u683c\u5f0f\u800c\u4e0d\u662f markdown \u6765\u6291\u5236\u3002\u4f60\u53ef\u4ee5\u542f\u7528\u6216\u7981\u7528\u6269\u5c55\u4ee5\u66f4\u7cbe\u7ec6\u5730\u6307\u5b9a\u884c\u4e3a\u3002\u5b83\u4eec\u5c06\u5728\u540e\u6587\u8be6\u8ff0\u3002\u6b64\u5916\uff0c\u8bf7\u53c2\u9605\u4e0a\u9762\u7684\u6269\u5c55\uff0c\u4e86\u89e3\u4e5f\u9002\u7528\u4e8e\u5176\u4ed6\u683c\u5f0f\u7684\u6269\u5c55\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_1","title":"\u5de5\u4f5c\u51c6\u5219","text":"

Markdown \u65e8\u5728\u6613\u4e8e\u7f16\u5199\uff0c\u66f4\u91cd\u8981\u7684\u662f\u6613\u4e8e\u9605\u8bfb\uff1a

\u4e00\u4e2a Markdown \u683c\u5f0f\u7684\u6587\u6863\u5e94\u5f53\u80fd\u4ee5\u7eaf\u6587\u672c\u7684\u5f62\u5f0f\u53d1\u5e03\uff0c\u800c\u4e0d\u4f1a\u770b\u8d77\u6765\u50cf\u88ab\u6807\u8bb0\u4e86\u6807\u7b7e\u6216\u683c\u5f0f\u8bf4\u660e\u3002 \u2014 John Gruber

\u8fd9\u4e00\u51c6\u5219\u6307\u5bfc\u4e86 pandoc \u5728\u5bfb\u627e\u8868\u683c\u3001\u811a\u6ce8\u548c\u5176\u4ed6\u6269\u5c55\u7684\u8bed\u6cd5\u65b9\u9762\u7684\u51b3\u5b9a\u3002

\u7136\u800c\uff0cpandoc \u7684\u76ee\u6807\u5728\u4e00\u4e2a\u65b9\u9762\u4e0e Markdown \u7684\u6700\u521d\u76ee\u6807\u4e0d\u540c\u3002Markdown \u6700\u521d\u662f\u4e3a HTML \u751f\u6210\u800c\u8bbe\u8ba1\u7684\uff0c\u800c pandoc \u662f\u4e3a\u591a\u79cd\u8f93\u51fa\u683c\u5f0f\u800c\u8bbe\u8ba1\u7684\u3002\u56e0\u6b64\uff0c\u867d\u7136 pandoc \u5141\u8bb8\u5d4c\u5165\u539f\u59cb HTML\uff0c\u4f46\u5b83\u4e0d\u9f13\u52b1\u8fd9\u6837\u505a\uff0c\u800c\u662f\u63d0\u4f9b\u4e86\u5176\u4ed6\u975e HTML \u7684\u65b9\u5f0f\u6765\u8868\u793a\u91cd\u8981\u7684\u6587\u6863\u5143\u7d20\uff0c\u5982\u5b9a\u4e49\u5217\u8868\uff08definition list\uff09\u3001\u8868\u683c\u3001\u6570\u5b66\u548c\u811a\u6ce8\uff08footnote\uff09\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_2","title":"\u6bb5\u843d","text":"

\u6bb5\u843d\uff08paragraph\uff09\u662f\u4e00\u884c\u6216\u591a\u884c\u6587\u672c\uff0c\u540e\u8ddf\u4e00\u4e2a\u6216\u591a\u4e2a\u7a7a\u884c\u3002\u6362\u884c\u7b26\uff08newline\uff09\u88ab\u89c6\u4e3a\u7a7a\u683c\uff0c\u56e0\u6b64\u4f60\u53ef\u4ee5\u6839\u636e\u9700\u8981\u91cd\u6392\u6bb5\u843d\u3002\u5982\u679c\u4f60\u9700\u8981\u786c\u6362\u884c\uff0c\u8bf7\u5728\u884c\u5c3e\u653e\u7f6e\u4e24\u4e2a\u6216\u66f4\u591a\u7a7a\u683c\u3002

  • \u6269\u5c55\uff1aescaped_line_breaks

\u53cd\u659c\u6760\uff08backslash\uff0c\\\uff09\u540e\u8ddf\u6362\u884c\u7b26\u4e5f\u662f\u786c\u6362\u884c\u7b26\uff08hard line break\uff09\u3002\u6ce8\u610f\uff1a\u5728\u591a\u884c\u548c\u7f51\u683c\u8868\u7684\u5355\u5143\u683c\u4e2d\uff0c\u8fd9\u662f\u521b\u5efa\u786c\u6362\u884c\u7b26\u7684\u552f\u4e00\u65b9\u6cd5\uff0c\u56e0\u4e3a\u5355\u5143\u683c\u4e2d\u5c3e\u968f\u7684\u7a7a\u683c\u5c06\u88ab\u5ffd\u7565\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_3","title":"\u6807\u9898","text":"

\u6709\u4e24\u79cd\u7c7b\u578b\u7684\u6807\u9898\uff08Heading\uff09\uff1aSetext \u548c ATX\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#setext","title":"Setext \u5f0f\u6807\u9898","text":"

Setext \u98ce\u683c\u7684\u6807\u9898\u662f\u4e00\u884c\u5e26\u6709\u201c\u4e0b\u5212\u7ebf\u201d\u7684\u6587\u672c\u3002\u8fd9\u4e2a\u201c\u4e0b\u5212\u7ebf\u201d\u7531 = \u6216 - \uff08\u7528\u4e8e\u4e8c\u7ea7\u6807\u9898\uff09\u7b26\u53f7\u6784\u6210

\u4e00\u7ea7\u6807\u9898\n========\n\n\u4e8c\u7ea7\u6807\u9898\n--------\n

\u6807\u9898\u6587\u672c\u53ef\u4ee5\u5305\u542b\u5185\u8054\u683c\u5f0f\uff08inline formatting\uff09\uff0c\u4f8b\u5982\u5f3a\u8c03\uff08\u8bf7\u53c2\u9605\u4e0b\u9762\u7684\u5185\u8054\u683c\u5f0f\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#atx","title":"ATX \u5f0f\u6807\u9898","text":"

ATX \u98ce\u683c\u7684\u6807\u9898\u7531\u4e00\u5230\u516d\u4e2a # \u7b26\u53f7\u548c\u4e00\u884c\u6587\u672c\u7ec4\u6210\uff0c\u6587\u672c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u4efb\u610f\u6570\u91cf\u7684 # \u7b26\u53f7\u3002\u884c\u9996\u7684 # \u6570\u91cf\u4e3a\u6807\u9898\u7ea7\u522b\uff1a

# \u4e00\u7ea7\u6807\u9898\n\n## \u4e8c\u7ea7\u6807\u9898 ###\n

\u4e0e Setext \u5f0f\u6807\u9898\u76f8\u540c\uff0cATX \u5f0f\u6807\u9898\u4e5f\u53ef\u4ee5\u4f7f\u7528\u5185\u8054\u683c\u5f0f\uff1a

### \u5e26\u6709[\u94fe\u63a5](/url)\u548c\u5f3a\u8c03\u7684\u4e09\u7ea7**\u6807\u9898**\n
  • \u6269\u5c55\uff1ablank_before_header

\u539f\u59cb\u7684 Markdown \u8bed\u6cd5\u4e0d\u9700\u8981\u5728\u6807\u9898\u524d\u7a7a\u4e00\u884c\u3002\uff08\u9664\u4e86\u5728\u6587\u6863\u5f00\u5934\u7684\u6807\u9898\u4e4b\u5916\uff0c\uff09Pandoc \u8981\u6c42\u6807\u9898\u524d\u8981\u6709\u7a7a\u884c\u3002\u4e4b\u6240\u4ee5\u6709\u6b64\u8981\u6c42\uff0c\u662f\u56e0\u4e3a # \u5f88\u5bb9\u6613\u610f\u5916\u51fa\u73b0\u5728\u884c\u9996\uff08\u53ef\u80fd\u662f\u901a\u8fc7\u6362\u884c\uff09\u3002\u4f8b\u5982

\u8bf7\u63d2\u5165\u4ee5\u4e0b\u5361\u7247\uff1a\n#4 \u5361\u7247\u3001#9 \u5361\u7247\u3001\u2026\u2026\n
  • \u6269\u5c55\uff1aspace_in_atx_header

\u5982\u4e0a\uff0c\u8bb8\u591a Markdown \u5b9e\u73b0\u4e0d\u9700\u8981 ATX \u6807\u9898\u5f00\u5934\u7684 # \u548c\u6807\u9898\u6587\u672c\u4e4b\u95f4\u6709\u7a7a\u683c\uff0c\u56e0\u6b64 #4 \u5361\u7247 \u4f1a\u88ab\u9519\u8bef\u5730\u89e3\u6790\u4e3a\u6807\u9898\u3002\u4e3a\u6b64\uff0cpandoc \u901a\u8fc7\u6b64\u6269\u5c55\u8981\u6c42\u6807\u9898\u5f00\u5934\u7684 # \u548c\u6807\u9898\u6587\u672c\u4e4b\u95f4\u8981\u6709\u7a7a\u683c\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#identifiers","title":"\u6807\u9898\u6807\u8bc6\u7b26","text":"

\u53e6\u89c1\u4e0a\u6587\u7684 auto_identifiers \u6269\u5c55\u3002

  • \u6269\u5c55\uff1aheader_attributes

\u4f7f\u7528\u6b64\u8bed\u6cd5\uff0c\u4f60\u53ef\u4ee5\u5728\u6807\u9898\u6587\u672c\u7684\u672b\u5c3e\u4e3a\u6807\u9898\u5206\u914d\u5c5e\u6027\u3002

{#identifier .class .class key=value key=value}\n

\u4f8b\u5982\uff0c\u5c06\u6807\u9898\u6807\u8bc6\u7b26\uff08Heading identifier\uff09 foo \u5206\u914d\u7ed9\u4ee5\u4e0b\u5168\u90e8\u6807\u9898\u3002

# \u4e00\u7ea7\u6807\u9898 {#foo}\n\n## \u4e8c\u7ea7\u6807\u9898 ##    {#foo}\n\n\u6f14\u793a\u6587\u672c   {#foo}\n-------\n

\uff08\u6b64\u8bed\u6cd5\u4e0e PHP Markdown Extra \u517c\u5bb9\u3002\uff09

\u8bf7\u6ce8\u610f\uff0c\u5c3d\u7ba1\u6b64\u8bed\u6cd5\u5141\u8bb8\u5206\u914d class\uff08\u7c7b\uff09\u3001key/value\uff08\u952e/\u503c\uff09\u5c5e\u6027\uff0c\u4f46\u7f16\u5199\u5668\uff08writer\uff09\u901a\u5e38\u4e0d\u4f1a\u4f7f\u7528\u6240\u6709\u8fd9\u4e9b\u4fe1\u606f\u3002\u6807\u8bc6\u7b26\uff08identifier\uff09\u3001class\u3001key/value \u5c5e\u6027\u7528\u4e8e HTML \u548c\u57fa\u4e8e HTML \u7684\u683c\u5f0f\uff0c\u4f8b\u5982 EPUB \u548c slidy\u3002\u6807\u8bc6\u7b26\u7528\u4e8e LaTeX\u3001ConTeXt\u3001Textile\u3001Jira markup \u548c AsciiDoc \u7f16\u5199\u5668\u4e2d\u7684\u6807\u7b7e\uff08label\uff09\u548c\u94fe\u63a5\u951a\u70b9\uff08link anchor\uff09\u3002

\u5373\u4f7f\u6307\u5b9a\u4e86 --number-sections\uff0c\u5177\u6709 unnumbered \u7c7b\uff08class\uff09\u5c5e\u6027\u7684\u6807\u9898\u4e5f\u4e0d\u4f1a\u88ab\u7f16\u53f7\u3002\u5c5e\u6027\u4e0a\u4e0b\u6587\u4e2d\u7684\u5355\u4e2a\u8fde\u5b57\u7b26 (-) \u7b49\u6548\u4e8e .unnumbered\uff0c\u66f4\u9002\u5408\u4e8e\u975e\u82f1\u8bed\u6587\u6863\u3002

\u6240\u4ee5\uff0c\u4ee5\u4e0b\u7684\u4e24\u4e2a\u6807\u9898\u662f\u4e00\u6837\u7684\uff1a

# \u6807\u9898 {-}\n\n# \u6807\u9898 {.unnumbered}\n

\u5982\u679c\u9664\u4e86 unnumbered \u4e4b\u5916\u8fd8\u5b58\u5728 unlisted \u7684\u7c7b\uff0c\u5219\u8be5\u6807\u9898\u5c06\u4e0d\u4f1a\u5305\u542b\u5728\u76ee\u5f55\u4e2d\u3002\uff08\u76ee\u524d\u8be5\u529f\u80fd\u4ec5\u9002\u7528\u4e8e\u57fa\u4e8e LaTeX \u548c HTML\u3001PowerPoint \u548c RTF \u7684\u67d0\u4e9b\u683c\u5f0f\uff09

  • \u6269\u5c55\uff1aimplicit_header_references

\u4f7f\u7528\u8be5\u6269\u5c55\uff0cPandoc \u5c31\u4f1a\u4e3a\u6bcf\u4e00\u4e2a\u6807\u9898\u5b9a\u4e49\u4e00\u4e2a\u9690\u5f0f\u6807\u9898\u5f15\u7528\uff08implicit header references\uff09\u3002

\u6240\u4ee5\uff0c\u4e3a\u4e86\u94fe\u63a5\u5230\u4e0b\u9762\u7684\u8fd9\u4e2a\u6807\u9898\uff1a

# Heading identifiers in HTML\n

\u4f60\u53ef\u4ee5\u5199\u6210\u5982\u4e0b\u5f62\u5f0f\uff1a

[Heading identifiers in HTML]\n\n[Heading identifiers in HTML][]\n\n[the section on heading identifiers][heading identifiers in HTML]\n

\u800c\u4e0d\u662f\u660e\u786e\u5730\u7ed9\u51fa\u6807\u8bc6\u7b26\uff1a

[Heading identifiers in HTML](#heading-identifiers-in-html)\n

\u5982\u679c\u6709\u591a\u4e2a\u6807\u9898\u5177\u6709\u76f8\u540c\u7684\u6587\u672c\uff0c\u5219\u76f8\u5e94\u7684\u5f15\u7528\u94fe\u63a5\uff08reference link\uff09\u5c06\u4ec5\u94fe\u63a5\u5230\u7b2c\u4e00\u4e2a\uff0c\u4f60\u5c06\u9700\u8981\u4f7f\u7528\u5982\u4e0a\u6240\u8ff0\u7684\u663e\u5f0f\u94fe\u63a5\u6765\u94fe\u63a5\u5230\u5176\u4ed6\u6807\u9898\u3002

\u4e0e\u5e38\u89c4\u5f15\u7528\u94fe\u63a5\u4e00\u6837\uff0c\u8fd9\u4e9b\u5f15\u7528\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u3002

\u663e\u5f0f\u5f15\u7528\u94fe\u63a5\uff08explicit link reference\uff09\u5b9a\u4e49\u59cb\u7ec8\u4f18\u5148\u4e8e\u9690\u5f0f\u6807\u9898\u5f15\u7528\u3002\u56e0\u6b64\uff0c\u5728\u4ee5\u4e0b\u793a\u4f8b\u4e2d\uff0c\u94fe\u63a5\u5c06\u6307\u5411 bar\uff0c\u800c\u4e0d\u662f #foo\uff1a

# Foo\n\n[foo]: bar\n\nSee [foo]\n
","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_4","title":"\u5757\u5f15\u7528","text":"

Markdown \u4f7f\u7528\u7535\u5b50\u90ae\u4ef6\u60ef\u4f8b\u6765\u5f15\u7528\u6587\u672c\u5757\u3002\u5757\u5f15\u7528\uff08block quotation\uff09\u662f\u4e00\u4e2a\u6216\u591a\u4e2a\u6bb5\u843d\u6216\u5176\u4ed6\u5757\u5143\u7d20\uff08\u5982\u5217\u8868\u6216\u6807\u9898\uff09\uff0c\u6bcf\u884c\u524d\u6709\u4e00\u4e2a > \u5b57\u7b26\u548c\u4e00\u4e2a\u53ef\u9009\u7a7a\u683c\u3002\uff08> \u4e0d\u5fc5\u4ece\u5de6\u4fa7\u8fb9\u8ddd\u5f00\u59cb\uff0c\u4f46\u7f29\u8fdb\u4e0d\u5e94\u8d85\u8fc7\u4e09\u4e2a\u7a7a\u683c\uff09\u3002

> \u8fd9\u662f\u4e00\u4e2a\u5757\u5f15\u7528\u3002\u8fd9\n> \u6bb5\u843d\u6709\u4e24\u884c\u3002\n>\n> 1. \u8fd9\u662f\u5757\u5f15\u7528\u5185\u7684\u5217\u8868\n> 2. \u7b2c\u4e8c\u9879\n

\u4f60\u53ef\u4ee5\u4ec5\u5728\u7b2c\u4e00\u884c\u653e\u7f6e\u4e00\u4e2a > \u5b57\u7b26\uff0c\u5982\uff1a

> \u8fd9\u662f\u4e00\u4e2a\u5757\u5f15\u7528\u3002\u8fd9\n\u6bb5\u843d\u6709\u4e24\u884c\u3002\n\n> 1. \u8fd9\u662f\u5757\u5f15\u7528\u5185\u7684\u5217\u8868\n2. \u7b2c\u4e8c\u9879\n

\u4f60\u53ef\u4ee5\u5d4c\u5957\u5757\u5f15\u7528\uff1a

> \u8fd9\u662f\u4e00\u4e2a\u5757\u5f15\u7528\u3002\n>\n> > \u5757\u5f15\u7528\u4e2d\u7684\u5757\u5f15\u7528\u3002\n

\u5982\u679c > \u5b57\u7b26\u540e\u8ddf\u4e00\u4e2a\u53ef\u9009\u7a7a\u683c\uff0c\u5219\u8be5\u7a7a\u683c\u5c06\u88ab\u89c6\u4e3a\u5757\u5f15\u53f7\u6807\u8bb0\u7684\u4e00\u90e8\u5206\uff0c\u800c\u4e0d\u662f\u5185\u5bb9\u7f29\u8fdb\u7684\u4e00\u90e8\u5206\u3002\u56e0\u6b64\uff0c\u8981\u5c06\u7f29\u8fdb\u4ee3\u7801\u5757\u653e\u5728\u5757\u5f15\u7528\u4e2d\uff0c\u4f60\u9700\u8981\u5728 > \u4e4b\u540e\u518d\u6dfb\u52a0\u4e94\u4e2a\u7a7a\u683c\uff1a

>     \u4ee3\u7801\n
  • \u6269\u5c55\uff1ablank_before_blockquote

\u539f\u59cb\u7684 Markdown \u8bed\u6cd5\u4e0d\u9700\u8981\u5728\u5757\u5f15\u7528\u4e4b\u524d\u6709\u4e00\u4e2a\u7a7a\u884c\u3002\uff08\u9664\u4e86\u5728\u6587\u6863\u5f00\u5934\uff0c\uff09Pandoc \u8981\u6c42\u5757\u5f15\u7528\u524d\u8981\u6709\u4e00\u4e2a\u7a7a\u884c\u3002\u539f\u56e0\u662f > \uff08\u53ef\u80fd\u901a\u8fc7\u6362\u884c\uff09\u5f88\u5bb9\u6613\u610f\u5916\u5730\u7ed3\u675f\u5728\u4e00\u884c\u7684\u5f00\u5934\u3002\u56e0\u6b64\uff0c\u9664\u975e\u4f7f\u7528 markdown_strict \u683c\u5f0f\uff0c\u5426\u5219\u4ee5\u4e0b\u5185\u5bb9\u4e0d\u4f1a\u5728 pandoc \u4e2d\u751f\u6210\u5d4c\u5957\u5757\u5f15\u7528\uff1a

> \u8fd9\u662f\u4e00\u4e2a\u5757\u5f15\u7528\u3002\n>> \u4e0d\u53d1\u751f\u5d4c\u5957\uff0c\u56e0\u4e3a\u9ed8\u8ba4\u60c5\u51b5\u4e0b\u542f\u7528 `blank_before_blockquote`\n
","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#verbatim-code-block","title":"\u9010\u5b57\uff08\u4ee3\u7801\uff09\u5757\uff08Verbatim (code) block\uff09","text":"","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#indented-code-block","title":"\u7f29\u8fdb\u4ee3\u7801\u5757\uff08Indented code block\uff09","text":"

\u7f29\u8fdb\u56db\u4e2a\u7a7a\u683c\uff08\u6216\u4e00\u4e2a\u5236\u8868\u7b26\uff09\u7684\u6587\u672c\u5757\u88ab\u89c6\u4e3a\u9010\u5b57\u6587\u672c\uff08verbatim text\uff09\u3002\u4e5f\u5c31\u662f\u8bf4\uff0c\u7279\u6b8a\u5b57\u7b26\u4e0d\u4f1a\u89e6\u53d1\u7279\u6b8a\u683c\u5f0f\uff0c\u6240\u6709\u7a7a\u683c\u548c\u6362\u884c\u7b26\u90fd\u4f1a\u4fdd\u7559\u3002\u4f8b\u5982\uff1a

    if (a > 3) {\n      moveShip(5 * gravity, DOWN);\n    }\n

\u521d\u59cb\u7f29\u8fdb\uff08\u56db\u4e2a\u7a7a\u683c\u6216\u4e00\u4e2a\u5236\u8868\u7b26\uff09\u4e0d\u88ab\u89c6\u4e3a\u9010\u5b57\u6587\u672c\u7684\u4e00\u90e8\u5206\uff0c\u5e76\u4f1a\u5728\u8f93\u51fa\u4e2d\u88ab\u5220\u9664\u3002

\u6ce8\u610f\uff1a\u9010\u5b57\u6587\u672c\u4e2d\u7684\u7a7a\u884c\u4e0d\u9700\u8981\u4ee5\u56db\u4e2a\u7a7a\u683c\u5f00\u5934\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#fenced_code_blocks","title":"\u56f4\u680f\u4ee3\u7801\u5757","text":"
  • \u6269\u5c55\uff1afenced_code_blocks

\u9664\u4e86\u6807\u51c6\u7f29\u8fdb\u4ee3\u7801\u5757\u4e4b\u5916\uff0cpandoc \u8fd8\u652f\u6301\u56f4\u680f\u4ee3\u7801\u5757\uff08fenced code block\uff09\u3002\u8fd9\u4e9b\u4ee3\u7801\u5757\u4ee5\u4e00\u6392\u4e09\u4e2a\u6216\u66f4\u591a\u4e2a\u6ce2\u6d6a\u53f7\uff08~\uff09\u5f00\u5934\uff0c\u4ee5\u4e00\u6392\u6ce2\u6d6a\u53f7\u7ed3\u675f\uff0c\u7ed3\u675f\u884c\u5fc5\u987b\u81f3\u5c11\u4e0e\u8d77\u59cb\u884c\u4e00\u6837\u957f\u3002\u8fd9\u4e9b\u884c\u4e4b\u95f4\u7684\u6240\u6709\u5185\u5bb9\u90fd\u88ab\u89c6\u4e3a\u4ee3\u7801\uff0c\u4e14\u4e0d\u9700\u8981\u7f29\u8fdb\uff1a

~~~\nif (a > 3) {\n  moveShip(5 * gravity, DOWN);\n}\n~~~\n

\u4e0e\u5e38\u89c4\u4ee3\u7801\u5757\u4e00\u6837\uff0c\u56f4\u680f\u4ee3\u7801\u5757\u5fc5\u987b\u901a\u8fc7\u7a7a\u884c\u4e0e\u5468\u56f4\u7684\u6587\u672c\u5206\u9694\u5f00\u3002

\u5982\u679c\u4ee3\u7801\u672c\u8eab\u5305\u542b\u4e00\u884c\u6ce2\u6d6a\u53f7\u6216\u53cd\u5f15\u53f7\uff0c\u53ea\u9700\u5728\u5f00\u5934\u548c\u7ed3\u5c3e\u4f7f\u7528\u4e00\u6392\u8f83\u957f\u7684\u6ce2\u6d6a\u53f7\u6216\u53cd\u5f15\u53f7\uff1a

~~~~~~~~~\n~~~~\ncode including tildes\n~~~~\n~~~~~~~~~\n
  • \u6269\u5c55\uff1abacktick_code_blocks

\u4e0e fenced_code_blocks \u76f8\u540c\uff0c\u4f46\u4f7f\u7528\u53cd\u5f15\u53f7 (`) \u800c\u4e0d\u662f\u6ce2\u6d6a\u53f7 (~)\u3002

  • \u6269\u5c55\uff1afenced_code_attributes

\u6216\u8005\uff0c\u4f60\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u8bed\u6cd5\u5c06\u5c5e\u6027\u9644\u52a0\u5230\u56f4\u680f\u6216\u53cd\u5f15\u53f7\u4ee3\u7801\u5757\uff1a

~~~ {#mycode .haskell .numberLines startFrom=\"100\"}\nqsort []     = []\nqsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++\n               qsort (filter (>= x) xs)\n~~~\n

\u5982\u4e0a\uff0c\u6807\u8bc6\u7b26\u4e3a mycode\uff0c\u7c7b\u662f haskell \u548c numberLines\uff0c\u6709\u4e00\u4e2a\u503c\u4e3a 100 \u7684 startFrom \u5c5e\u6027\u3002\u67d0\u4e9b\u8f93\u51fa\u683c\u5f0f\u53ef\u4ee5\u4f7f\u7528\u6b64\u4fe1\u606f\u8fdb\u884c\u8bed\u6cd5\u9ad8\u4eae\u663e\u793a\u3002\u76ee\u524d\uff0c\u4f7f\u7528\u6b64\u4fe1\u606f\u7684\u552f\u4e00\u8f93\u51fa\u683c\u5f0f\u662f HTML\u3001LaTeX\u3001Docx\u3001Ms \u548c PowerPoint\u3002\u5982\u679c\u4f60\u7684\u8f93\u51fa\u683c\u5f0f\u548c\u8bed\u8a00\u652f\u6301\u7a81\u51fa\u663e\u793a\uff0c\u5219\u4e0a\u9762\u7684\u4ee3\u7801\u5757\u5c06\u7a81\u51fa\u663e\u793a\uff0c\u5e76\u5e26\u6709\u7f16\u53f7\u884c\u3002\uff08\u8981\u67e5\u770b\u652f\u6301\u54ea\u4e9b\u8bed\u8a00\uff0c\u8bf7\u952e\u5165 pandoc --list-highlight-languages\u3002\uff09\u5426\u5219\uff0c\u4e0a\u9762\u7684\u4ee3\u7801\u5757\u5c06\u5982\u4e0b\u6240\u793a\uff1a

<pre id=\"mycode\" class=\"haskell numberLines\" startFrom=\"100\">\n  <code>\n  ...\n  </code>\n</pre>\n

numberLines\uff08\u6216 number-lines\uff09\u7c7b\u5c06\u5bfc\u81f4\u4ee3\u7801\u5757\u7684\u884c\u88ab\u7f16\u53f7\uff0c\u4ece 1 \u6216 startFrom \u5c5e\u6027\u7684\u503c\u5f00\u59cb\u3002lineAnchors\uff08\u6216 line-anchors\uff09\u7c7b\u5c06\u4f7f\u8fd9\u4e9b\u884c\u6210\u4e3a HTML \u8f93\u51fa\u4e2d\u7684\u53ef\u70b9\u51fb\u951a\u70b9\u3002

\u4f60\u4e5f\u53ef\u4ee5\u4f7f\u7528\u5feb\u6377\u65b9\u5f0f\u6807\u6ce8\u4ee3\u7801\u5757\u7684\u8bed\u8a00\uff0c\u4f8b\u5982\uff1a

```haskell\nqsort [] = []\n```\n

\u5b83\u7b49\u4ef7\u4e8e

``` {.haskell}\nqsort [] = []\n```\n

\u6b64\u5feb\u6377\u65b9\u5f0f\u53ef\u4ee5\u4e0e\u5c5e\u6027\u7ed3\u5408\u4f7f\u7528\uff1a

```haskell {.numberLines}\nqsort [] = []\n```\n

\u5b83\u7b49\u4ef7\u4e8e

``` {.haskell .numberLines}\nqsort [] = []\n```\n

\u5982\u679c fenced_code_attributes \u6269\u5c55\u88ab\u7981\u7528\uff0c\u4f46\u8f93\u5165\u5305\u542b\u4ee3\u7801\u5757\u7684\u7c7b\u5c5e\u6027\uff0c\u5219\u7b2c\u4e00\u4e2a\u7c7b\u5c5e\u6027\u5c06\u5728\u6253\u5f00\u7684\u6805\u680f\u4e4b\u540e\u4f5c\u4e3a\u9010\u5b57\u6587\u672c\u6253\u5370\u3002

\u8981\u9632\u6b62\u6240\u6709\u7a81\u51fa\u663e\u793a\uff0c\u8bf7\u4f7f\u7528 --no-highlight \u6807\u5fd7\u3002\u8981\u8bbe\u7f6e\u7a81\u51fa\u663e\u793a\u6837\u5f0f\uff0c\u8bf7\u4f7f\u7528 --highlight-style\u3002\u6709\u5173\u7a81\u51fa\u663e\u793a\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u4e0b\u9762\u7684\u8bed\u6cd5\u7a81\u51fa\u663e\u793a\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_5","title":"\u7ad6\u7ebf\u5757","text":"
  • \u6269\u5c55\uff1aline_blocks

\u7ad6\u7ebf\u5757\uff08Line block\uff09\u662f\u4e00\u7cfb\u5217\u4ee5\u7ad6\u7ebf\uff08|\uff09\u5f00\u5934\u540e\u8ddf\u7a7a\u683c\u7684\u884c\u3002\u6587\u672c\u7684\u5206\u9694\u5c06\u4fdd\u7559\u5728\u8f93\u51fa\u4e2d\uff0c\u4efb\u4f55\u524d\u5bfc\u7a7a\u683c\u4e5f\u662f\u5982\u6b64\uff1b\u5426\u5219\uff0c\u8fd9\u4e9b\u884c\u5c06\u88ab\u683c\u5f0f\u5316\u4e3a Markdown\u3002\u8fd9\u5bf9\u8bd7\u53e5\u548c\u5730\u5740\u5f88\u6709\u7528\uff1a

| The limerick packs laughs anatomical\n| In space that is quite economical.\n|    But the good ones I've seen\n|    So seldom are clean\n| And the clean ones so seldom are comical\n\n| 200 Main St.\n| Berkeley, CA 94718\n

\u5982\u679c\u9700\u8981\uff0c\u53ef\u4ee5\u786c\u6362\u884c\uff0c\u4f46\u4e0b\u4e00\u884c\u5fc5\u987b\u4ee5\u7a7a\u683c\u5f00\u5934\u3002

| The Right Honorable Most Venerable and Righteous Samuel L.\n  Constable, Jr.\n| 200 Main St.\n| Berkeley, CA 94718\n

\u7ad6\u7ebf\u5757\u7684\u5185\u5bb9\u5141\u8bb8\u5185\u8054\u683c\u5f0f\uff08\u4f8b\u5982\u5f3a\u8c03\uff09\uff0c\u4f46\u4e0d\u5141\u8bb8\u5757\u7ea7\u683c\u5f0f\uff08\u4f8b\u5982\u5757\u5f15\u53f7\u6216\u5217\u8868\uff09\u3002

\u6b64\u8bed\u6cd5\u662f\u4ece reStructuredText \u501f\u7528\u7684\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_6","title":"\u5217\u8868","text":"","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_7","title":"\u9879\u76ee\u5217\u8868","text":"

\u9879\u76ee\u5217\u8868\uff08bullet lists\uff09\u7684\u5217\u8868\u9879\u4ee5\u5217\u8868\u9879\u7b26\u53f7\uff08*\u3001+ \u6216 -\uff09\u5f00\u5934\u3002\u4f8b\u5982\uff1a

* \u5217\u8868\u9879\u4e00\n* \u5217\u8868\u9879\u4e8c\n* \u5217\u8868\u9879\u4e09\n

\u8fd9\u5c06\u4ea7\u751f\u4e00\u4e2a\u201c\u7d27\u51d1\u201d\u5217\u8868\u3002\u5982\u679c\u4f60\u60f3\u8981\u4e00\u4e2a\u201c\u677e\u6563\u201d\u5217\u8868\uff0c\u5176\u4e2d\u6bcf\u4e2a\u5217\u8868\u9879\u90fd\u88ab\u683c\u5f0f\u5316\u4e3a\u4e00\u4e2a\u6bb5\u843d\uff0c\u8bf7\u5728\u5217\u8868\u9879\u4e4b\u95f4\u653e\u7f6e\u7a7a\u683c\uff0c\u5982\uff1a

* \u5217\u8868\u9879\u4e00\n\n* \u5217\u8868\u9879\u4e8c\n\n* \u5217\u8868\u9879\u4e09\n

\u9879\u76ee\u7b26\u53f7\uff08bullet\uff09\u4e0d\u9700\u8981\u4e0e\u5de6\u8fb9\u8ddd\u9f50\u5e73\uff1b\u5b83\u4eec\u53ef\u4ee5\u7f29\u8fdb\u4e00\u4e2a\u3001\u4e24\u4e2a\u6216\u4e09\u4e2a\u7a7a\u683c\u3002\u9879\u76ee\u7b26\u53f7\u540e\u5fc5\u987b\u8ddf\u6709\u7a7a\u683c\u3002

\u5982\u679c\u540e\u7eed\u884c\u4e0e\u7b2c\u4e00\u884c\u9f50\u5e73\uff08\u5728\u9879\u76ee\u7b26\u53f7\u4e4b\u540e\uff09\uff0c\u5217\u8868\u9879\u770b\u8d77\u6765\u6700\u597d\uff0c\u5982\uff1a

* \u8fd9\u662f\u5217\u8868\u7684\n  \u7b2c\u4e00\u4e2a\u5217\u8868\u9879\n* \u8fd9\u662f\u5217\u8868\u7684\u7b2c\u4e8c\u4e2a\u5217\u8868\u9879\n

\u5f53\u7136\u4f60\u4e5f\u53ef\u4ee5\u5199\u6210\uff1a

* \u8fd9\u662f\u5217\u8868\u7684\n\u7b2c\u4e00\u4e2a\u5217\u8868\u9879\n* \u8fd9\u662f\u5217\u8868\u7684\u7b2c\u4e8c\u4e2a\u5217\u8868\u9879\n
","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_8","title":"\u5217\u8868\u9879\u4e2d\u7684\u5757\u5185\u5bb9","text":"

\u4e00\u4e2a\u5217\u8868\u9879\u53ef\u80fd\u5305\u542b\u591a\u4e2a\u6bb5\u843d\u548c\u5176\u4ed6\u5757\u7ea7\u5185\u5bb9\u3002\u4f46\u662f\uff0c\u540e\u7eed\u6bb5\u843d\u4e4b\u524d\u5fc5\u987b\u6709\u4e00\u4e2a\u7a7a\u884c\u5e76\u7f29\u8fdb\u4ee5\u4e0e\u5217\u8868\u9879\u7b26\u53f7\uff08\u5373\u4e0a\u6587\u7684\u9879\u76ee\u7b26\u53f7\uff09\u540e\u7684\u7b2c\u4e00\u4e2a\u975e\u7a7a\u683c\u5185\u5bb9\u5bf9\u9f50\u3002

  * \u7b2c\u4e00\u6bb5\u5185\u5bb9\n\n    \u540e\u7eed\n\n  * \u7b2c\u4e8c\u6bb5\u5185\u5bb9\uff0c\u5e26\u6709\u4e00\u4e2a\n    \u4ee3\u7801\u5757\uff0c\u9700\u8981\u7f29\u8fdb\u516b\u4e2a\u7a7a\u683c\u3002\n\n        { code }\n

\u4f8b\u5916\u60c5\u51b5\uff1a\u5982\u679c\u5217\u8868\u9879\u7b26\u53f7\u540e\u8ddf\u4e00\u4e2a\u7f29\u8fdb\u4ee3\u7801\u5757\uff0c\u5b83\u5fc5\u987b\u5728\u5217\u8868\u9879\u7b26\u53f7\u540e 5 \u4e2a\u7a7a\u683c\u5f00\u59cb\uff0c\u5219\u540e\u7eed\u6bb5\u843d\u5fc5\u987b\u5728\u5217\u8868\u9879\u7b26\u53f7\u7684\u6700\u540e\u4e00\u4e2a\u5b57\u7b26\u540e\u4e24\u5217\u5f00\u59cb\uff1a

*     code\n\n  \u6f14\u793a\u6587\u672c\n

\u5217\u8868\u9879\u53ef\u80fd\u5305\u62ec\u5176\u4ed6\u5217\u8868\u3002\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u5217\u8868\u524d\u7684\u7a7a\u884c\u662f\u53ef\u9009\u7684\u3002\u5d4c\u5957\u5217\u8868\u5fc5\u987b\u7f29\u8fdb\u4ee5\u4e0e\u5305\u542b\u5217\u8868\u9879\u7684\u5217\u8868\u9879\u7b26\u53f7\u4e4b\u540e\u7684\u7b2c\u4e00\u4e2a\u975e\u7a7a\u683c\u5b57\u7b26\u5bf9\u9f50\u3002

* fruits\n  + apples\n    - macintosh\n    - red delicious\n  + pears\n  + peaches\n* vegetables\n  + broccoli\n  + chard\n
","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_9","title":"\u6709\u5e8f\u5217\u8868","text":"

\u6709\u5e8f\u5217\u8868\uff08Ordered list\uff09\u4e0e\u9879\u76ee\u5217\u8868\u5f88\u76f8\u4f3c\uff0c\u4e0d\u540c\u4e4b\u5904\u5728\u4e8e\u6709\u5e8f\u5217\u8868\u4ee5\u8ba1\u6570\u5668\uff08enumerator\uff09\u5f00\u5934\u3002

\u5728\u539f\u59cb Markdown \u4e2d\uff0c\u8ba1\u6570\u5668\u662f\u5341\u8fdb\u5236\u6570\u5b57\uff0c\u540e\u8ddf\u4e00\u4e2a\u53e5\u70b9\u548c\u4e00\u4e2a\u7a7a\u683c\u3002\u6570\u5b57\u672c\u8eab\u88ab\u5ffd\u7565\uff0c\u4ee5\u4e0b\u4e24\u4e2a\u5217\u8868\u662f\u76f8\u540c\u7684\uff1a

1.  one\n2.  two\n3.  three\n
5.  one\n7.  two\n1.  three\n
  • \u6269\u5c55\uff1afancy_lists

\u4e0e\u539f\u59cb\u7684 Markdown \u4e0d\u540c\uff0cpandoc \u5141\u8bb8\u7528\u5927\u5c0f\u5199\u5b57\u6bcd\u3001\u7f57\u9a6c\u6570\u5b57\u548c\u963f\u62c9\u4f2f\u6570\u5b57\u6807\u8bb0\u6709\u5e8f\u5217\u8868\u9879\u3002\u5217\u8868\u9879\u7b26\u53f7\u53ef\u4ee5\u62ec\u5728\u62ec\u53f7\u4e2d\uff0c\u6216\u540e\u8ddf\u4e00\u4e2a\u53f3\u62ec\u53f7\u6216\u53e5\u70b9\uff08.\uff09\u3002\u5b83\u4eec\u5fc5\u987b\u4e0e\u540e\u9762\u7684\u6587\u672c\u5206\u9694\u81f3\u5c11\u4e00\u4e2a\u7a7a\u683c\uff0c\u5e76\u4e14\u5982\u679c\u5217\u8868\u6807\u8bb0\u662f\u5e26\u53e5\u70b9\u7684\u5927\u5199\u5b57\u6bcd\uff0c\u5219\u81f3\u5c11\u5206\u9694\u4e24\u4e2a\u7a7a\u683c1\u3002

fancy_lists \u6269\u5c55\u8fd8\u5141\u8bb8\u5c06 #. \u7528\u4f5c\u6709\u5e8f\u5217\u8868\u7684\u5217\u8868\u9879\u7b26\u53f7\u6765\u4ee3\u66ff\u6570\u5b57\uff1a

#. one\n#. two\n

\u6ce8\u610f\uff1a#. \u6709\u5e8f\u5217\u8868\u6807\u8bb0\u4e0d\u9002\u7528\u4e8e commonmark2\u3002

  • \u6269\u5c55\uff1astartnum

Pandoc \u8fd8\u5173\u6ce8\u6240\u4f7f\u7528\u7684\u5217\u8868\u9879\u7b26\u53f7\u7684\u7c7b\u578b\u548c\u8d77\u59cb\u7f16\u53f7\uff0c\u5e76\u4e14\u5728\u8f93\u51fa\u683c\u5f0f\u4e2d\u5c3d\u53ef\u80fd\u4fdd\u7559\u8fd9\u4e24\u8005\u3002\u5982\u4e0b\uff0c\u751f\u6210\u7684\u8868\u683c\u4e2d\uff0c\u6570\u5b57\u4f1a\u4ece 9 \u5f00\u59cb\u5e76\u540e\u8ddf\u4e00\u4e2a\u62ec\u53f7\uff0c\u5b50\u5217\u8868\u5305\u542b\u5c0f\u5199\u7f57\u9a6c\u6570\u5b57\uff1a

 9)  Ninth\n10)  Tenth\n11)  Eleventh\n       i. subone\n      ii. subtwo\n     iii. subthree\n

\u6bcf\u6b21\u4f7f\u7528\u4e0d\u540c\u7c7b\u578b\u7684\u5217\u8868\u9879\u7b26\u53f7\u65f6\uff0cPandoc \u90fd\u4f1a\u542f\u52a8\u4e00\u4e2a\u65b0\u5217\u8868\u3002\u56e0\u6b64\uff0c\u4ee5\u4e0b\u5c06\u521b\u5efa\u4e09\u4e2a\u5217\u8868\uff1a

(2) Two\n(5) Three\n1.  Four\n*   Five\n

\u5982\u679c\u9700\u8981\u9ed8\u8ba4\u5217\u8868\u9879\u7b26\u53f7\uff0c\u8bf7\u4f7f\u7528 #.\uff1a

#.  one\n#.  two\n#.  three\n
  • \u6269\u5c55\uff1atask_lists

Pandoc \u652f\u6301\u4f7f\u7528 GitHub-Flavored Markdown Spec \u7684\u4efb\u52a1\u5217\u8868\u3002

- [ ] \u672a\u68c0\u67e5\u7684\u9879\u76ee\n- [x] \u5df2\u68c0\u67e5\u7684\u9879\u76ee\n
","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_10","title":"\u5b9a\u4e49\u5217\u8868","text":"
  • \u6269\u5c55\uff1adefinition_lists

Pandoc \u652f\u6301\u4f7f\u7528\u5e26\u6709\u4e00\u4e9b\u6269\u5c55\u7684 PHP Markdown Extra \u8bed\u6cd5\u7684\u5b9a\u4e49\u5217\u8868\uff08Definition list\uff093\u3002

\u672f\u8bed 1\n\n:   \u672f\u8bed 1 \u7684\u5b9a\u4e49\n\n\u5e26\u6709*\u5185\u8054\u6807\u8bb0*\u7684\u672f\u8bed 2\n\n:   \u672f\u8bed 2 \u7684\u5b9a\u4e49\n\n        { \u672f\u8bed 2 \u7684\u5b9a\u4e49\u7684\u4e00\u4e9b\u6f14\u793a\u4ee3\u7801 }\n\n    \u672f\u8bed 2 \u7684\u5b9a\u4e49\u7684\u7b2c\u4e8c\u6bb5\n

\u6bcf\u4e2a\u672f\u8bed\uff08term\uff09\u5fc5\u987b\u5360\u4e00\u884c\uff0c\u53ef\u4ee5\u9009\u62e9\u540e\u8ddf\u4e00\u4e2a\u7a7a\u884c\uff0c\u5e76\u4e14\u5fc5\u987b\u540e\u8ddf\u4e00\u4e2a\u6216\u591a\u4e2a\u5b9a\u4e49\uff08definition\uff09\u3002\u5b9a\u4e49\u4ee5\u5192\u53f7\u6216\u6ce2\u6d6a\u53f7\u5f00\u59cb\uff0c\u53ef\u4ee5\u7f29\u8fdb\u4e00\u4e2a\u6216\u4e24\u4e2a\u7a7a\u683c\u3002

\u4e00\u4e2a\u672f\u8bed\u53ef\u4ee5\u6709\u591a\u4e2a\u5b9a\u4e49\uff0c\u6bcf\u4e2a\u5b9a\u4e49\u53ef\u4ee5\u7531\u4e00\u4e2a\u6216\u591a\u4e2a\u5757\u5143\u7d20\uff08\u6bb5\u843d\u3001\u4ee3\u7801\u5757\u3001\u5217\u8868\u7b49\uff09\u7ec4\u6210\uff0c\u6bcf\u4e2a\u5143\u7d20\u7f29\u8fdb\u56db\u4e2a\u7a7a\u683c\u6216\u4e00\u4e2a\u5236\u8868\u7b26\u3002\u5b9a\u4e49\u7684\u6b63\u6587\uff08\u4e0d\u5305\u62ec\u7b2c\u4e00\u884c\uff09\u5e94\u7f29\u8fdb\u56db\u4e2a\u7a7a\u683c\u3002\u4f46\u662f\uff0c\u4e0e\u5176\u4ed6 Markdown \u5217\u8868\u4e00\u6837\uff0c\u9664\u975e\u5728\u6bb5\u843d\u6216\u5176\u4ed6\u5757\u5143\u7d20\u7684\u5f00\u5934\uff0c\u4f60\u53ef\u4ee5\u7701\u7565\u7f29\u8fdb\uff1a

\u672f\u8bed 1\n\n:   \u7701\u7565\u4e86\u7f29\u8fdb\n\u7684\u5b9a\u4e49\u6587\u672c\u3002\n\n    \u5b9a\u4e49\u6587\u672c\u7684\u7b2c\u4e8c\u6bb5\u3002\n

\u5982\u679c\u4f60\u5728\u5b9a\u4e49\u6587\u672c\u524d\u7559\u51fa\u7a7a\u683c\uff08\u5982\u4e0a\u4f8b\u6240\u793a\uff09\uff0c\u5219\u5b9a\u4e49\u6587\u672c\u5c06\u88ab\u89c6\u4e3a\u4e00\u4e2a\u6bb5\u843d\u3002\u5728\u67d0\u4e9b\u8f93\u51fa\u683c\u5f0f\u4e2d\uff0c\u8fd9\u610f\u5473\u7740\u672f\u8bed\u4e0e\u5b9a\u4e49\u4e4b\u95f4\u7684\u95f4\u8ddd\u66f4\u5927\u3002\u8981\u83b7\u5f97\u66f4\u7d27\u51d1\u7684\u5b9a\u4e49\u5217\u8868\uff0c\u8bf7\u7701\u7565\u5b9a\u4e49\u524d\u7684\u7a7a\u683c\uff0c\u5982\u4e0b\uff1a

\u672f\u8bed 1\n  ~ \u5b9a\u4e49\u6587\u672c 1\n\n\u672f\u8bed 2\n  ~ \u5b9a\u4e49\u6587\u672c 2a\n  ~ \u5b9a\u4e49\u6587\u672c 2b\n

\u6ce8\u610f\uff0c\u5b9a\u4e49\u5217\u8868\u4e2d\u7684\u5217\u8868\u9879\u4e4b\u95f4\u7684\u7a7a\u683c\u662f\u5fc5\u9700\u7684\u3002\uff08compact_definition_lists \u6269\u5c55 \u53ef\u4ee5\u653e\u5bbd\u6b64\u8981\u6c42\uff0c\u4f46\u4e0d\u5141\u8bb8\u7701\u7565\u7f29\u8fdb\u7684\u786c\u6362\u884c\u3002\uff09

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_11","title":"\u7f16\u53f7\u793a\u4f8b\u5217\u8868","text":"
  • \u6269\u5c55\uff1aexample_lists

\u7279\u6b8a\u7684\u5217\u8868\u9879\u7b26\u53f7 @ \u53ef\u7528\u4e8e\u6309\u987a\u5e8f\u7f16\u53f7\u7684\u7f16\u53f7\u793a\u4f8b\u5217\u8868\uff08Numbered example list\uff09\u3002

\u5728\u6574\u4e2a\u6587\u6863\u4e2d\uff0c\u5e26\u6709 @ \u6807\u8bb0\u7684\u7b2c\u4e00\u4e2a\u5217\u8868\u9879\u5c06\u88ab\u7f16\u53f7\u4e3a \u201c1\u201d\uff0c\u4e0b\u4e00\u4e2a\u4e3a \u201c2\u201d\uff0c\u4f9d\u6b64\u7c7b\u63a8\u3002\u7f16\u53f7\u7684\u793a\u4f8b\u4e0d\u9700\u8981\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u5217\u8868\u4e2d\uff1b\u6bcf\u4e2a\u4f7f\u7528 @ \u7684\u65b0\u5217\u8868\u90fd\u5c06\u5360\u636e\u4e0a\u6b21\u505c\u6b62\u7684\u4f4d\u7f6e\u3002\u6240\u4ee5\uff0c\u4f8b\u5982\uff1a

(@)  \u8fd9\u4e2a\u793a\u4f8b\u5c06\u88ab\u7f16\u53f7\u4e3a (1)\u3002\n(@)  \u8fd9\u4e2a\u793a\u4f8b\u5c06\u88ab\u7f16\u53f7\u4e3a (2)\u3002\n\n\u793a\u4f8b\u7684\u8bf4\u660e\n\n(@)  \u8fd9\u4e2a\u793a\u4f8b\u5c06\u88ab\u7f16\u53f7\u4e3a (3).\n

\u4f60\u53ef\u4ee5\u5728\u6587\u6863\u7684\u5176\u4ed6\u5730\u65b9\u6807\u8bb0\u548c\u5f15\u7528\u7f16\u53f7\u793a\u4f8b\uff1a

(@good)  \u8fd9\u662f\u4e00\u4e2a\u793a\u4f8b\n\n\u6b63\u5982 (@good) \u793a\u4f8b\u6240\u8a00\uff0c\u2026\u2026\n

@ \u540e\u8ddf\u7684\u6807\u7b7e\u53ef\u4ee5\u662f\u4efb\u4f55\u5b57\u6bcd\u6570\u5b57\u5b57\u7b26\u3001\u4e0b\u5212\u7ebf\u6216\u8fde\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\u3002

\u6ce8\u610f\uff1a\u793a\u4f8b\u5217\u8868\u4e2d\u7684\u8fde\u7eed\u6bb5\u843d\u5fc5\u987b\u59cb\u7ec8\u7f29\u8fdb\u56db\u4e2a\u7a7a\u683c\uff0c\u65e0\u8bba\u5217\u8868\u9879\u7b26\u53f7\u7684\u957f\u5ea6\u5982\u4f55\u3002\u4e5f\u5c31\u662f\u8bf4\uff0c\u793a\u4f8b\u5217\u8868\u59cb\u7ec8\u8868\u73b0\u5f97\u597d\u50cf\u8bbe\u7f6e\u4e86 four_space_rule \u6269\u5c55\u3002\u8fd9\u662f\u56e0\u4e3a\u793a\u4f8b\u6807\u7b7e\u5f80\u5f80\u5f88\u957f\uff0c\u5e76\u4e14\u5c06\u5185\u5bb9\u7f29\u8fdb\u5230\u6807\u7b7e\u540e\u7684\u7b2c\u4e00\u4e2a\u975e\u7a7a\u683c\u5b57\u7b26\u4f1a\u5f88\u5c34\u5c2c\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_12","title":"\u5217\u8868\u7684\u7ed3\u675f","text":"

\u5982\u679c\u4f60\u60f3\u5728\u5217\u8868\u540e\u653e\u7f6e\u4e00\u4e2a\u7f29\u8fdb\u4ee3\u7801\u5757\u600e\u4e48\u529e\uff1f

-   item one\n-   item two\n\n    { my code block }\n

\u5982\u4e0a\uff0c\u8fd9\u5c31\u9ebb\u70e6\u4e86\uff01\u5728\u8fd9\u91cc\uff0cpandoc\uff08\u50cf\u5176\u4ed6 Markdown \u5b9e\u73b0\u4e00\u6837\uff09\u4f1a\u5c06 { my code block } \u89c6\u4e3a\u7b2c\u4e8c\u9879\u7684\u7b2c\u4e8c\u6bb5\uff0c\u800c\u4e0d\u662f\u4ee3\u7801\u5757\u3002

\u8981\u5728\u7b2c\u4e8c\u9879\u4e4b\u540e\u201c\u622a\u65ad\u201d\u5217\u8868\uff0c\u60a8\u53ef\u4ee5\u63d2\u5165\u4e00\u4e9b\u975e\u7f29\u8fdb\u7684\u5185\u5bb9\uff0c\u4f8b\u5982 HTML \u6ce8\u91ca\uff0c\u8fd9\u4e0d\u4f1a\u4ea7\u751f\u4efb\u4f55\u683c\u5f0f\u7684\u53ef\u89c1\u8f93\u51fa\uff1a

-   item one\n-   item two\n\n<!-- end of list -->\n\n    { my code block }\n

\u5982\u679c\u4f60\u60f3\u8981\u4e24\u4e2a\u8fde\u7eed\u7684\u5217\u8868\u800c\u4e0d\u662f\u4e00\u4e2a\u5927\u5217\u8868\uff0c\u4f60\u53ef\u4ee5\u4f7f\u7528\u76f8\u540c\u7684\u6280\u5de7\uff1a

1.  one\n2.  two\n3.  three\n\n<!-- -->\n\n1.  uno\n2.  dos\n3.  tres\n
","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_13","title":"\u6c34\u5e73\u7ebf","text":"

\u5305\u542b\u4e09\u4e2a\u6216\u66f4\u591a *\u3001- \u6216 _ \u5b57\u7b26\uff08\u53ef\u9009\u5730\u7528\u7a7a\u683c\u5206\u9694\uff09\u7684\u4e00\u884c\u6587\u672c\u884c\u4f1a\u751f\u6210\u4e00\u6761\u6c34\u5e73\u7ebf\uff08horizontal rule\uff09\uff1a

*  *  *  *\n\n---------------\n

\u6211\u4eec\u5f3a\u70c8\u5efa\u8bae\u7528\u7a7a\u884c\u5c06\u6c34\u5e73\u7ebf\u4e0e\u5468\u56f4\u7684\u6587\u672c\u5206\u9694\u5f00\u3002\u5982\u679c\u6c34\u5e73\u7ebf\u540e\u9762\u6ca1\u6709\u7a7a\u884c\uff0cpandoc \u53ef\u80fd\u4f1a\u5c1d\u8bd5\u5c06\u540e\u9762\u7684\u884c\u89e3\u91ca\u4e3a YAML \u5143\u6570\u636e\u5757\u6216\u8868\u683c\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_14","title":"\u8868\u683c","text":"

\u4f60\u53ef\u4ee5\u4f7f\u7528\u56db\u79cd\u8868\u683c\uff08Table\uff09\u3002\u524d\u4e09\u79cd\u9884\u8bbe\u4f7f\u7528\u7b49\u5bbd\u5b57\u4f53\uff0c\u4f8b\u5982 Courier\u3002\u7b2c\u56db\u79cd\u53ef\u4ee5\u4e0e\u6309\u6bd4\u4f8b\u95f4\u9694\u7684\u5b57\u4f53\u4e00\u8d77\u4f7f\u7528\uff0c\u56e0\u4e3a\u5b83\u4e0d\u9700\u8981\u6392\u5217\u5217\u3002

  • \u6269\u5c55\uff1atable_captions

\u4f60\u53ef\u4ee5\u9009\u62e9\u4e3a\u6240\u6709 4 \u79cd\u8868\u683c\u63d0\u4f9b\u8bf4\u660e\uff08caption\uff09\uff08\u5982\u4e0b\u4f8b\u6240\u793a\uff09\u3002

\u8bf4\u660e\u662f\u4ee5\u5b57\u7b26\u4e32 Table:\uff08\u6216 table: \u6216\u53ea\u662f :\uff09\u5f00\u5934\u7684\u6bb5\u843d\uff1b\u4f60\u53ef\u4ee5\u5c06\u5b83\u653e\u7f6e\u5728\u8868\u683c\u4e4b\u524d\u6216\u4e4b\u540e\u3002\u8868\u683c\u8bf4\u660e\u7684\u5b57\u7b26\u4e32\u5728\u8f93\u51fa\u4e2d\u4f1a\u88ab\u5220\u9664\uff0c\u53ea\u4fdd\u7559\u8bf4\u660e\u6587\u672c\u3002

  • \u6269\u5c55\uff1asimple_tables

\u7b80\u5355\u8868\u683c\uff08Simple table\uff09\u5982\u4e0b\u6240\u793a\uff1a

  Right     Left     Center     Default\n-------     ------ ----------   -------\n     12     12        12            12\n    123     123       123          123\n      1     1          1             1\n\nTable:  Demonstration of simple table syntax.\n

\u6807\u9898\u884c\u548c\u8868\u683c\u884c\u5fc5\u987b\u5404\u5360\u4e00\u884c\u3002\u5217\u5bf9\u9f50\u65b9\u5f0f\u7531\u6807\u9898\u6587\u672c\u76f8\u5bf9\u4e8e\u5176\u4e0b\u65b9\u865a\u7ebf\u7684\u4f4d\u7f6e\u786e\u5b9a4\uff1a

  • \u5982\u679c\u865a\u7ebf\u5728\u53f3\u4fa7\u4e0e\u6807\u9898\u6587\u672c\u9f50\u5e73\u4f46\u5728\u5de6\u4fa7\u8d85\u51fa\u5b83\uff0c\u5219\u8be5\u5217\u662f\u53f3\u5bf9\u9f50\u7684\u3002
  • \u5982\u679c\u865a\u7ebf\u5728\u5de6\u4fa7\u4e0e\u6807\u9898\u6587\u672c\u9f50\u5e73\u4f46\u5728\u53f3\u4fa7\u8d85\u51fa\u5b83\uff0c\u5219\u8be5\u5217\u662f\u5de6\u5bf9\u9f50\u7684\u3002
  • \u5982\u679c\u865a\u7ebf\u8d85\u51fa\u6807\u9898\u6587\u672c\u7684\u4e24\u4fa7\uff0c\u5219\u8be5\u5217\u5c45\u4e2d\u3002
  • \u5982\u679c\u865a\u7ebf\u4e0e\u4e24\u4fa7\u7684\u6807\u9898\u6587\u672c\u9f50\u5e73\uff0c\u5219\u4f7f\u7528\u9ed8\u8ba4\u5bf9\u9f50\u65b9\u5f0f\uff08\u5728\u5927\u591a\u6570\u60c5\u51b5\u4e0b\uff0c\u5c06\u4f7f\u7528\u6b64\u5bf9\u9f50\u65b9\u5f0f\uff09\u3002

\u8868\u683c\u5fc5\u987b\u4ee5\u7a7a\u884c\u7ed3\u5c3e\uff0c\u6216\u4e00\u884c\u7834\u6298\u53f7\u540e\u8ddf\u4e00\u4e2a\u7a7a\u884c\u3002

\u53ef\u4ee5\u7701\u7565\u5217\u6807\u9898\u884c\uff0c\u524d\u63d0\u662f\u4f7f\u7528\u865a\u7ebf\u7ed3\u675f\u8868\u683c\u3002\u4f8b\u5982\uff1a

-------     ------ ----------   -------\n     12     12        12             12\n    123     123       123           123\n      1     1          1              1\n-------     ------ ----------   -------\n

\u7701\u7565\u8868\u5934\u884c\u65f6\uff0c\u5217\u5bf9\u9f50\u4ee5\u8868\u4f53\u7b2c\u4e00\u884c\u4e3a\u51c6\u3002\u56e0\u6b64\uff0c\u5728\u4e0a\u8868\u4e2d\uff0c\u5217\u5c06\u5206\u522b\u53f3\u5bf9\u9f50\u3001\u5de6\u5bf9\u9f50\u3001\u5c45\u4e2d\u5bf9\u9f50\u548c\u53f3\u5bf9\u9f50\u3002

  • \u6269\u5c55\uff1amultiline_tables

\u591a\u884c\u8868\u683c\uff08Multiline table\uff09\u5141\u8bb8\u6807\u9898\u548c\u8868\u683c\u884c\u8de8\u8d8a\u591a\u884c\u6587\u672c\uff08\u4f46\u4e0d\u652f\u6301\u8de8\u8d8a\u8868\u683c\u7684\u591a\u5217\u6216\u591a\u884c\u7684\u5355\u5143\u683c\uff09\u3002 \u8fd9\u662f\u4e00\u4e2a\u4f8b\u5b50\uff1a

-------------------------------------------------------------\n Centered   Default           Right Left\n  Header    Aligned         Aligned Aligned\n----------- ------- --------------- -------------------------\n   First    row                12.0 Example of a row that\n                                    spans multiple lines.\n\n  Second    row                 5.0 Here's another one. Note\n                                    the blank line between\n                                    rows.\n-------------------------------------------------------------\n\nTable: Here's the caption. It, too, may span\nmultiple lines.\n

\u8fd9\u4e9b\u8868\u683c\u4e0e\u7b80\u5355\u7684\u8868\u683c\u76f8\u4f3c\uff0c\u4f46\u6709\u4ee5\u4e0b\u533a\u522b\uff1a

  • \u5728\u6807\u9898\u6587\u672c\u4e4b\u524d\uff08\u9664\u975e\u6807\u9898\u884c\u88ab\u7701\u7565\uff09\uff0c\u5b83\u4eec\u5fc5\u987b\u4ee5\u4e00\u884c\u7834\u6298\u53f7\u5f00\u5934\u3002
  • \u5b83\u4eec\u5fc5\u987b\u4ee5\u4e00\u6392\u7834\u6298\u53f7\u7ed3\u5c3e\uff0c\u7136\u540e\u662f\u4e00\u4e2a\u7a7a\u884c\u3002
  • \u884c\u4e4b\u95f4\u5fc5\u987b\u7531\u7a7a\u884c\u5206\u9694\u3002

\u5728\u591a\u884c\u8868\u683c\u4e2d\uff0c\u8868\u683c\u89e3\u6790\u5668\u4f1a\u6ce8\u610f\u5217\u7684\u5bbd\u5ea6\uff0c\u5e76\u4f1a\u5c1d\u8bd5\u5728\u8f93\u51fa\u4e2d\u91cd\u73b0\u8fd9\u4e9b\u76f8\u5bf9\u5bbd\u5ea6\u3002\u56e0\u6b64\uff0c\u5982\u679c\u4f60\u53d1\u73b0\u8f93\u51fa\u4e2d\u7684\u5176\u4e2d\u4e00\u5217\u592a\u7a84\uff0c\u8bf7\u5c1d\u8bd5\u5728 Markdown \u6e90\u7801\u4e2d\u5c06\u5176\u52a0\u5bbd\u3002

----------- ------- --------------- -------------------------\n   First    row                12.0 Example of a row that\n                                    spans multiple lines.\n\n  Second    row                 5.0 Here's another one. Note\n                                    the blank line between\n                                    rows.\n----------- ------- --------------- -------------------------\n\n: Here's a multiline table without a header.\n

\u591a\u884c\u8868\u683c\u53ef\u80fd\u53ea\u6709\u4e00\u884c\uff0c\u4f46\u8be5\u884c\u540e\u9762\u5e94\u8be5\u8ddf\u4e00\u4e2a\u7a7a\u884c\uff08\u7136\u540e\u662f\u8868\u672b\u5c3e\u7684\u7834\u6298\u53f7\u884c\uff09\uff0c\u5426\u5219\u8be5\u8868\u683c\u53ef\u80fd\u88ab\u89e3\u91ca\u4e3a\u4e00\u4e2a\u7b80\u5355\u7684\u8868\u683c\u3002

  • \u6269\u5c55\uff1agrid_tables

\u7f51\u683c\u8868\uff08Grid table\uff09\u5982\u4e0b\u6240\u793a\uff1a

: Sample grid table.\n\n+---------------+---------------+--------------------+\n| Fruit         | Price         | Advantages         |\n+===============+===============+====================+\n| Bananas       | $1.34         | - built-in wrapper |\n|               |               | - bright color     |\n+---------------+---------------+--------------------+\n| Oranges       | $2.10         | - cures scurvy     |\n|               |               | - tasty            |\n+---------------+---------------+--------------------+\n

\u7531 = \u7ec4\u6210\u7684\u884c\u5c06\u8868\u5934\u4e0e\u8868\u4f53\u5206\u5f00\uff0c\u65e0\u8868\u5934\u7684\u8868\u683c\u53ef\u4ee5\u7701\u7565\u8be5\u884c\u3002\u7f51\u683c\u8868\u7684\u5355\u5143\u683c\u53ef\u80fd\u5305\u542b\u4efb\u610f\u5757\u5143\u7d20\uff08\u591a\u4e2a\u6bb5\u843d\u3001\u4ee3\u7801\u5757\u3001\u5217\u8868\u7b49\uff09\u3002

\u5355\u5143\u683c\u53ef\u4ee5\u8de8\u8d8a\u591a\u5217\u6216\u591a\u884c\uff1a

+---------------------+----------+\n| Property            | Earth    |\n+=============+=======+==========+\n|             | min   | -89.2 \u00b0C |\n| Temperature +-------+----------+\n| 1961-1990   | mean  | 14 \u00b0C    |\n|             +-------+----------+\n|             | min   | 56.7 \u00b0C  |\n+-------------+-------+----------+\n

\u8868\u5934\u53ef\u80fd\u5305\u542b\u591a\u884c\uff1a

+---------------------+-----------------------+\n| Location            | Temperature 1961-1990 |\n|                     | in degree Celsius     |\n|                     +-------+-------+-------+\n|                     | min   | mean  | max   |\n+=====================+=======+=======+=======+\n| Antarctica          | -89.2 | N/A   | 19.8  |\n+---------------------+-------+-------+-------+\n| Earth               | -89.2 | 14    | 56.7  |\n+---------------------+-------+-------+-------+\n

\u5bf9\u9f50\u65b9\u5f0f\u53ef\u4ee5\u50cf\u7ba1\u9053\u8868\u4e00\u6837\u6307\u5b9a\uff0c\u65b9\u6cd5\u662f\u5728\u6807\u9898\u540e\u7684\u5206\u9694\u7ebf\u8fb9\u754c\u5904\u653e\u7f6e\u5192\u53f7\uff1a

+---------------+---------------+--------------------+\n| Right         | Left          | Centered           |\n+==============:+:==============+:==================:+\n| Bananas       | $1.34         | built-in wrapper   |\n+---------------+---------------+--------------------+\n

\u5bf9\u4e8e\u65e0\u5934\u8868\uff0c\u5192\u53f7\u6539\u4e3a\u4f4d\u4e8e\u9876\u884c\uff1a

+--------------:+:--------------+:------------------:+\n| Right         | Left          | Centered           |\n+---------------+---------------+--------------------+\n

\u4f60\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528 = \u800c\u4e0d\u662f - \u7684\u5206\u9694\u7ebf\u5c06\u5176\u62ec\u8d77\u6765\u6765\u5b9a\u4e49\u8868\u811a\uff1a

+---------------+---------------+\n| Fruit         | Price         |\n+===============+===============+\n| Bananas       | $1.34         |\n+---------------+---------------+\n| Oranges       | $2.10         |\n+===============+===============+\n| Sum           | $3.44         |\n+===============+===============+\n

\u8868\u811a\u5fc5\u987b\u59cb\u7ec8\u653e\u5728\u8868\u683c\u7684\u6700\u5e95\u90e8\u3002

\u4f60\u53ef\u4ee5\u4f7f\u7528 Emacs \u7684\u8868\u683c\u6a21\u5f0f\uff08M-x table-insert\uff09\u8f7b\u677e\u521b\u5efa\u7f51\u683c\u8868\u3002

  • \u6269\u5c55\uff1apipe_tables

\u7ba1\u9053\u8868\uff08Pipe table\uff09\u5982\u4e0b\u6240\u793a\uff1a

| Right | Left | Default | Center |\n|------:|:-----|---------|:------:|\n|   12  |  12  |    12   |    12  |\n|  123  |  123 |   123   |   123  |\n|    1  |    1 |     1   |     1  |\n\n  : Demonstration of pipe table syntax.\n

\u7ba1\u9053\u8868\u7684\u8bed\u6cd5\u4e0e PHP Markdown Extra \u8868\u683c\u76f8\u540c\u3002\u5f00\u59cb\u548c\u7ed3\u675f\u7ad6\u7ebf\u5b57\u7b26\u662f\u53ef\u9009\u7684\uff0c\u4f46\u6240\u6709\u5217\u4e4b\u95f4\u90fd\u9700\u8981\u7ad6\u7ebf\u3002\u5982\u56fe\u6240\u793a\uff0c\u5192\u53f7\u8868\u793a\u5217\u5bf9\u9f50\u3002\u6807\u9898\u4e0d\u80fd\u7701\u7565\uff0c\u8981\u83b7\u5f97\u4e00\u4e2a\u65e0\u6807\u9898\u7ba1\u9053\u8868\uff0c\u8bf7\u5c06\u6807\u9898\u5355\u5143\u683c\u7559\u7a7a\u3002

\u7531\u4e8e\u7ad6\u7ebf\u8868\u793a\u5217\u8fb9\u754c\uff0c\u5217\u4e0d\u9700\u8981\u5782\u76f4\u5bf9\u9f50\uff0c\u5982\u4e0a\u4f8b\u6240\u793a\u3002\u6240\u4ee5\uff0c\u4ee5\u4e0b\u662f\u4e00\u4e2a\u867d\u7136\u7b80\u7565\u4f46\u5b8c\u5168\u5408\u6cd5\u7684\u7ba1\u9053\u8868\uff1a

fruit| price\n-----|-----:\napple|2.05\npear|1.37\norange|3.09\n

\u7ba1\u9053\u8868\u7684\u5355\u5143\u683c\u4e2d\u4e0d\u80fd\u5305\u542b\u6bb5\u843d\u3001\u5217\u8868\u7b49\u5757\u72b6\u5143\u7d20\uff0c\u4e5f\u4e0d\u80fd\u8de8\u591a\u884c\u3002\u5982\u679c markdown \u6e90\u7801\u7684\u4efb\u4f55\u4e00\u884c\u957f\u4e8e\u5217\u5bbd\uff08\u8bf7\u53c2\u9605 --columns\uff09\uff0c\u90a3\u4e48\u8868\u683c\u5c06\u5360\u636e\u5168\u6587\u5bbd\u5ea6\u5e76\u4e14\u5355\u5143\u683c\u5185\u5bb9\u5c06\u6362\u884c\uff0c\u76f8\u5bf9\u5355\u5143\u683c\u5bbd\u5ea6\u7531\u5206\u9694\u8868\u5934\u548c\u8868\u4f53\u7684\u76f4\u7ebf\u4e2d\u7684\u7834\u6298\u53f7\u6570\u51b3\u5b9a\u3002\uff08\u4f8b\u5982 ---|- \u4f1a\u4f7f\u7b2c\u4e00\u5217\u4e3a\u5168\u6587\u5bbd\u5ea6\u7684 3/4\uff0c\u7b2c\u4e8c\u5217\u4e3a\u5168\u6587\u5bbd\u5ea6\u7684 1/4\u3002\uff09\u53e6\u4e00\u65b9\u9762\uff0c\u5982\u679c\u6ca1\u6709\u884c\u5bbd\u4e8e\u5217\u5bbd\uff0c\u5219\u5355\u5143\u683c\u5185\u5bb9\u4e0d\u4f1a\u6362\u884c\uff0c\u5355\u5143\u683c\u7684\u5927\u5c0f\u5c06\u6839\u636e\u5176\u5185\u5bb9\u8c03\u6574\u3002

\u6ce8\u610f\uff1apandoc \u8fd8\u53ef\u4ee5\u8bc6\u522b\u4ee5\u4e0b\u53ef\u4ee5\u7531 Emacs \u7684 orgtbl-mode \u751f\u6210\u7684\u7ba1\u9053\u8868\uff1a

| One | Two   |\n|-----+-------|\n| my  | table |\n| is  | nice  |\n

\u4e0d\u540c\u4e4b\u5904\u5728\u4e8e\u4f7f\u7528 + \u800c\u4e0d\u662f |\u3002pandoc \u4e0d\u652f\u6301\u5176\u4ed6 orgtbl \u529f\u80fd\u3002\u7279\u522b\u662f\uff0c\u8981\u83b7\u5f97\u975e\u9ed8\u8ba4\u5217\u5bf9\u9f50\uff0c\u4f60\u9700\u8981\u50cf\u4e0a\u9762\u90a3\u6837\u6dfb\u52a0\u5192\u53f7\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_15","title":"\u5143\u6570\u636e\u5757","text":"
  • \u6269\u5c55\uff1apandoc_title_block

\u5982\u679c\u6587\u4ef6\u4ee5\u6807\u9898\u5757\uff08title block\uff09\u5f00\u5934

% \u6807\u9898\n% \u4f5c\u8005\n% \u65e5\u671f\n

\u5b83\u5c06\u88ab\u89e3\u6790\u4e3a\u4e66\u76ee\u4fe1\u606f\uff0c\u800c\u4e0d\u662f\u5e38\u89c4\u6587\u672c\u3002\uff08\u4f8b\u5982\uff0c\u5b83\u5c06\u7528\u4e8e\u72ec\u7acb LaTeX \u6216 HTML \u8f93\u51fa\u7684\u6807\u9898\u3002\uff09\u8be5\u5757\u53ef\u80fd\u4ec5\u5305\u542b\u6807\u9898\u3001\u6807\u9898\u548c\u4f5c\u8005\uff0c\u6216\u6240\u6709\u4e09\u4e2a\u5143\u7d20\u3002\u5982\u679c\u4f60\u60f3\u5305\u62ec\u4e00\u4e2a\u4f5c\u8005\u4f46\u6ca1\u6709\u6807\u9898\uff0c\u6216\u8005\u4e00\u4e2a\u6807\u9898\u548c\u4e00\u4e2a\u65e5\u671f\u4f46\u6ca1\u6709\u4f5c\u8005\uff0c\u4f60\u9700\u8981\u4e00\u4e2a\u7a7a\u884c\uff1a

%\n% \u4f5c\u8005\n\n% \u6807\u9898\n%\n% \u65e5\u671f\n

\u6807\u9898\u53ef\u80fd\u5360\u636e\u591a\u884c\uff0c\u4f46\u7eed\u884c\u5fc5\u987b\u4ee5\u524d\u5bfc\u7a7a\u683c\u5f00\u5934\uff0c\u56e0\u6b64\uff1a

% \u5360\u636e\u591a\n  \u884c\u7684\u6807\u9898\n

\u5982\u679c\u6587\u6863\u6709\u591a\u4e2a\u4f5c\u8005\uff0c\u5219\u4f5c\u8005\u53ef\u4ee5\u653e\u5728\u5355\u72ec\u7684\uff0c\u4ee5\u524d\u5bfc\u7a7a\u683c\u5f00\u5934\u7684\u884c\u4e2d\uff0c\u6216\u7528\u5206\u53f7\u5206\u9694\uff0c\u6216\u4e24\u8005\u517c\u800c\u6709\u4e4b\u3002\u56e0\u6b64\uff0c\u4ee5\u4e0b\u6240\u6709\u5185\u5bb9\u90fd\u662f\u76f8\u540c\u7684\uff1a

% \u4f5c\u80051\n  \u4f5c\u80052\n\n% \u4f5c\u80051; \u4f5c\u80052\n\n% \u4f5c\u80051;\n  \u4f5c\u80052\n

\u65e5\u671f\u5fc5\u987b\u5360\u4e00\u884c\u3002

\u6240\u6709\u4e09\u4e2a\u5143\u6570\u636e\u5b57\u6bb5\u90fd\u53ef\u80fd\u5305\u542b\u6807\u51c6\u5185\u8054\u683c\u5f0f\uff08\u659c\u4f53\u3001\u94fe\u63a5\u3001\u811a\u6ce8\u7b49\uff09\u3002

\u6807\u9898\u5757\u5c06\u59cb\u7ec8\u88ab\u89e3\u6790\uff0c\u4f46\u5b83\u4eec\u53ea\u4f1a\u5728\u9009\u62e9 --standalone\uff08-s\uff09\u9009\u9879\u65f6\u5f71\u54cd\u8f93\u51fa\u3002\u5728 HTML \u8f93\u51fa\u4e2d\uff0c\u6807\u9898\u4f1a\u51fa\u73b0\u4e24\u6b21\uff1a\u7b2c\u4e00\u6b21\u51fa\u73b0\u5728\u6587\u6863\u5934\u90e8\uff0c\u8fd9\u662f\u5c06\u51fa\u73b0\u5728\u6d4f\u89c8\u5668\u7a97\u53e3\u9876\u90e8\u7684\u6807\u9898\uff1b\u53e6\u4e00\u6b21\u51fa\u73b0\u5728\u6587\u6863\u6b63\u6587\u7684\u5f00\u5934\u3002\u6587\u6863\u5934\u4e2d\u7684\u6807\u9898\u53ef\u4ee5\u9644\u52a0\u4e00\u4e2a\u53ef\u9009\u7684\u524d\u7f00\uff08--title-prefix \u6216 -T \u9009\u9879\uff09\u3002\u6b63\u6587\u4e2d\u7684\u6807\u9898\u663e\u793a\u4e3a\u7c7b\u4e3a title \u7684 H1 \u5143\u7d20\uff0c\u56e0\u6b64\u53ef\u4ee5\u4f7f\u7528 CSS \u5c06\u5176\u9690\u85cf\u6216\u91cd\u65b0\u683c\u5f0f\u5316\u3002\u5982\u679c\u4f7f\u7528 -T \u6307\u5b9a\u6807\u9898\u524d\u7f00\u5e76\u4e14\u6587\u6863\u4e2d\u6ca1\u6709\u51fa\u73b0\u6807\u9898\u5757\uff0c\u5219\u6807\u9898\u524d\u7f00\u5c06\u5355\u72ec\u7528\u4f5c HTML \u6807\u9898\u3002

\u624b\u518c\u9875\u7f16\u5199\u8005[^4]\u4ece\u6807\u9898\u884c\u4e2d\u63d0\u53d6\u6807\u9898\u3001\u624b\u518c\u9875\u7ae0\u8282\u53f7\u4ee5\u53ca\u5176\u4ed6\u9875\u7709\u548c\u9875\u811a\u4fe1\u606f\u3002\u6807\u9898\u88ab\u8ba4\u4e3a\u662f\u6807\u9898\u884c\u7684\u7b2c\u4e00\u4e2a\u8bcd\uff0c\u53ef\u4ee5\u9009\u62e9\u4ee5\u62ec\u53f7\u4e2d\u7684\u8282\u53f7\uff08\u4e2a\u4f4d\u6570\uff09\u7ed3\u675f\u3002(\u5728\u6807\u9898\u548c\u62ec\u53f7\u4e4b\u95f4\u4e0d\u5e94\u6709\u7a7a\u683c\u3002)\u4e4b\u540e\u7684\u5185\u5bb9\u88ab\u8ba4\u4e3a\u662f\u989d\u5916\u7684\u9875\u811a\u548c\u9875\u7709\u6587\u672c\u3002\u5e94\u8be5\u7528\u4e00\u4e2a\u7ba1\u9053\u5b57\u7b26\uff08|\uff09\u6765\u5206\u9694\u9875\u811a\u6587\u672c\u548c\u9875\u7709\u6587\u672c\u3002\u4f8b\u5982\uff1a

\u624b\u518c\u9875\uff08man page\uff09\u7f16\u5199\u5668\u4ece\u6807\u9898\u884c\u4e2d\u63d0\u53d6\u6807\u9898\u3001\u624b\u518c\u9875\u7ae0\u8282\u7f16\u53f7\u4ee5\u53ca\u5176\u4ed6\u9875\u7709\u548c\u9875\u811a\u4fe1\u606f\u3002\u6807\u9898\u88ab\u5047\u5b9a\u4e3a\u6807\u9898\u884c\u7684\u7b2c\u4e00\u4e2a\u5355\u8bcd\uff0c\u53ef\u9009\u62e9\u4ee5\u62ec\u53f7\u4e2d\u7684\u7ae0\u8282\u7f16\u53f7\uff08\u4e2a\u4f4d\u6570\uff09\u7ed3\u5c3e\uff08\u6807\u9898\u548c\u62ec\u53f7\u4e4b\u95f4\u4e0d\u80fd\u6709\u7a7a\u683c\uff09\u3002\uff08\u6807\u9898\u548c\u62ec\u53f7\u4e4b\u95f4\u4e0d\u5e94\u6709\u7a7a\u683c\u3002\uff09\u6807\u9898\u4e4b\u540e\u7684\u5185\u5bb9\u88ab\u8ba4\u4e3a\u662f\u9644\u52a0\u7684\u9875\u811a\u548c\u9875\u7709\u6587\u672c\u3002\u5e94\u4f7f\u7528\u5355\u4e2a\u7ba1\u9053\u5b57\u7b26\uff08|\uff09\u5206\u9694\u9875\u811a\u6587\u672c\u548c\u9875\u7709\u6587\u672c\u3002\u56e0\u6b64\uff1a

% PANDOC(1)\n

\u5c06\u4ea7\u751f\u4e00\u4e2a\u6807\u9898\u4e3a PANDOC \u548c\u7b2c 1 \u8282\u7684\u624b\u518c\u9875\u3002

% PANDOC(1) Pandoc User Manuals\n

\u9875\u811a\u4e2d\u8fd8\u5c06\u5305\u542b \u201cPandoc User Manuals\u201d\u3002

% PANDOC(1) Pandoc User Manuals | Version 4.0\n

\u9875\u7709\u4e2d\u8fd8\u5c06\u5305\u542b \u201cVersion 4.0\u201d\u3002

  • \u6269\u5c55\uff1ayaml_metadata_block

YAML \u5143\u6570\u636e\u5757\u662f\u4e00\u4e2a\u6709\u6548\u7684 YAML \u5bf9\u8c61\uff0c\u7531\u9876\u90e8\u7684\u4e00\u884c\u4e09\u4e2a\u8fde\u5b57\u7b26 (---) \u548c\u5e95\u90e8\u7684\u4e00\u884c\u4e09\u4e2a\u8fde\u5b57\u7b26 (---) \u6216\u4e09\u4e2a\u70b9 (...) \u5206\u9694\u3002\u9996\u884c --- \u540e\u9762\u4e0d\u80fd\u8ddf\u7a7a\u884c\u3002YAML \u5143\u6570\u636e\u5757\u53ef\u80fd\u51fa\u73b0\u5728\u6587\u6863\u7684\u4efb\u4f55\u4f4d\u7f6e\uff0c\u4f46\u5982\u679c\u5b83\u4e0d\u5728\u5f00\u5934\uff0c\u5219\u5fc5\u987b\u5728\u5176\u524d\u9762\u52a0\u4e0a\u4e00\u4e2a\u7a7a\u884c\u3002

\u8bf7\u6ce8\u610f\uff0c\u7531\u4e8e pandoc \u5728\u63d0\u4f9b\u591a\u4e2a\u8f93\u5165\u6587\u4ef6\u65f6\u8fde\u63a5\u8f93\u5165\u6587\u4ef6\u7684\u65b9\u5f0f\uff0c\u4f60\u8fd8\u53ef\u4ee5\u5c06\u5143\u6570\u636e\u4fdd\u5b58\u5728\u5355\u72ec\u7684 YAML \u6587\u4ef6\u4e2d\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u53c2\u6570\u4e0e\u4f60\u7684 markdown \u6587\u4ef6\u4e00\u5e76\u4f20\u9012\u7ed9 pandoc\uff1a

pandoc chap1.md chap2.md chap3.md metadata.yaml -s -o book.html\n

\u4f60\u53ea\u9700\u786e\u4fdd YAML \u6587\u4ef6\u4ee5 --- \u5f00\u5934\u5e76\u4ee5 --- \u6216 .... \u7ed3\u5c3e\u3002\u6216\u8005\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528 --metadata-file \u9009\u9879\u3002\u4f46\u4f7f\u7528\u8fd9\u79cd\u65b9\u6cd5\u65f6\uff0c\u4f60\u4e0d\u80fd\u4ece\u4e3b\u8981\u7684 markdown \u8f93\u5165\u6587\u6863\u4e2d\u5f15\u7528\u5185\u5bb9\uff08\u6bd4\u5982\u811a\u6ce8\uff09\u3002

\u5143\u6570\u636e\u5c06\u4ece YAML \u5bf9\u8c61\u7684\u5b57\u6bb5\u4e2d\u83b7\u53d6\uff0c\u5e76\u6dfb\u52a0\u5230\u4efb\u4f55\u73b0\u6709\u7684\u6587\u6863\u5143\u6570\u636e\u4e2d\u3002\u5143\u6570\u636e\u53ef\u4ee5\u5305\u542b\u5217\u8868\u548c\u5bf9\u8c61\uff08\u4efb\u610f\u5d4c\u5957\uff09\uff0c\u4f46\u6240\u6709\u5b57\u7b26\u4e32\u6807\u91cf\u90fd\u5c06\u88ab\u89e3\u91ca\u4e3a Markdown\u3002\u540d\u79f0\u4ee5\u4e0b\u5212\u7ebf\u7ed3\u5c3e\u7684\u5b57\u6bb5\u5c06\u88ab pandoc \u5ffd\u7565\u3002\uff08\u5916\u90e8\u5904\u7406\u5668\u53ef\u80fd\u4f1a\u8d4b\u4e88\u5b83\u4eec\u4e00\u4e2a\u89d2\u8272\u3002\uff09\u5b57\u6bb5\u540d\u79f0\u4e0d\u5f97\u89e3\u91ca\u4e3a YAML \u6570\u5b57\u6216\u5e03\u5c14\u503c\uff08\u56e0\u6b64\uff0c\u4f8b\u5982\uff0cyes\u3001True \u548c 15 \u4e0d\u80fd\u7528\u4f5c\u5b57\u6bb5\u540d\u79f0\uff09\u3002

\u4e00\u4e2a\u6587\u6863\u53ef\u80fd\u5305\u542b\u591a\u4e2a\u5143\u6570\u636e\u5757\u3002\u5982\u679c\u4e24\u4e2a\u5143\u6570\u636e\u5757\u8bd5\u56fe\u8bbe\u7f6e\u76f8\u540c\u7684\u5b57\u6bb5\uff0c\u5219 pandoc \u5c06\u91c7\u7528\u7b2c\u4e8c\u4e2a\u5757\u7684\u503c\u3002

\u6bcf\u4e2a\u5143\u6570\u636e\u5757\u90fd\u4f5c\u4e3a\u72ec\u7acb\u7684 YAML \u6587\u6863\u5728\u5185\u90e8\u5904\u7406\u3002\u4f8b\u5982\uff1a\u8fd9\u610f\u5473\u7740\u5728\u4e00\u4e2a\u5757\u4e2d\u5b9a\u4e49\u7684\u4efb\u4f55 YAML \u951a\u70b9\u4e0d\u80fd\u5728\u53e6\u4e00\u4e2a\u5757\u4e2d\u5f15\u7528\u3002

\u5f53 pandoc \u4e0e -t markdown \u4e00\u8d77\u4f7f\u7528\u6765\u521b\u5efa Markdown \u6587\u6863\u65f6\uff0c\u53ea\u6709\u5728\u4f7f\u7528 -s/--standalone \u9009\u9879\u65f6\u624d\u4f1a\u751f\u6210 YAML \u5143\u6570\u636e\u5757\u3002\u6240\u6709\u5143\u6570\u636e\u5c06\u51fa\u73b0\u5728\u6587\u6863\u5f00\u5934\u7684\u5355\u4e2a\u5757\u4e2d\u3002

\u8bf7\u6ce8\u610f\uff0c\u5fc5\u987b\u9075\u5faa YAML \u8f6c\u4e49\u89c4\u5219\u3002\u56e0\u6b64\uff0c\u5982\u679c\u6807\u9898\u5305\u542b\u5192\u53f7\uff0c\u5219\u5fc5\u987b\u7528\u5f15\u53f7\u5f15\u8d77\u6765\uff0c\u5982\u679c\u5b83\u5305\u542b\u53cd\u659c\u6760\u8f6c\u4e49\uff0c\u5219\u5fc5\u987b\u786e\u4fdd\u5b83\u4e0d\u88ab\u89c6\u4e3a YAML \u8f6c\u4e49\u5e8f\u5217\u3002\u7ba1\u9053\u5b57\u7b26\uff08|\uff09\u53ef\u4ee5\u7528\u6765\u5f00\u59cb\u4e00\u4e2a\u7f29\u8fdb\u7684\u5757\uff0c\u5b83\u5c06\u88ab\u6309\u5b57\u9762\u610f\u601d\u89e3\u91ca\uff0c\u4e0d\u9700\u8981\u8f6c\u4e49\u3002\u5f53\u5b57\u6bb5\u5305\u542b\u7a7a\u884c\u6216\u5757\u7ea7\u683c\u5f0f\u65f6\uff0c\u6b64\u8868\u5355\u662f\u5fc5\u9700\u7684\uff1a

---\ntitle:  'This is the title: it contains a colon'\nauthor:\n- Author One\n- Author Two\nkeywords: [nothing, nothingness]\nabstract: |\n  This is the abstract.\n\n  It consists of two paragraphs.\n...\n

| \u4e4b\u540e\u7684\u6587\u5b57\u5757\u5fc5\u987b\u76f8\u5bf9\u4e8e\u5305\u542b | \u7684\u884c\u7f29\u8fdb\u3002\u5982\u679c\u4e0d\u662f\uff0c\u5219 YAML \u5c06\u65e0\u6548\u5e76\u4e14 pandoc \u4e0d\u4f1a\u5c06\u5176\u89e3\u91ca\u4e3a\u5143\u6570\u636e\u3002\u6709\u5173\u7ba1\u7406 YAML \u7684\u590d\u6742\u89c4\u5219\u7684\u6982\u8ff0\uff0c\u8bf7\u53c2\u9605\u6709\u5173 YAML \u8bed\u6cd5\u7684\u7ef4\u57fa\u767e\u79d1\u8bcd\u6761\u3002

\u6a21\u677f\u53d8\u91cf\u5c06\u4ece\u5143\u6570\u636e\u4e2d\u81ea\u52a8\u8bbe\u7f6e\u3002\u56e0\u6b64\uff0c\u5728\u7f16\u5199 HTML \u65f6\uff0c\u53d8\u91cf abstract \u5c06\u88ab\u8bbe\u7f6e\u4e3a abstract \u5b57\u6bb5\u4e2d Markdown \u7684 HTML \u7b49\u503c\uff1a

<p>This is the abstract.</p>\n<p>It consists of two paragraphs.</p>\n

\u53d8\u91cf\u53ef\u4ee5\u5305\u542b\u4efb\u610f YAML \u7ed3\u6784\uff0c\u4f46\u6a21\u677f\u5fc5\u987b\u5339\u914d\u6b64\u7ed3\u6784\u3002\u9ed8\u8ba4\u6a21\u677f\u4e2d\u7684 author \u53d8\u91cf\u9700\u8981\u4e00\u4e2a\u7b80\u5355\u7684\u5217\u8868\u6216\u5b57\u7b26\u4e32\uff0c\u4f46\u53ef\u4ee5\u66f4\u6539\u4ee5\u652f\u6301\u66f4\u590d\u6742\u7684\u7ed3\u6784\u3002\u4f8b\u5982\uff0c\u5982\u679c\u7ed9\u51fa\u4e86\u4ee5\u4e0b\u7ec4\u5408\uff0c\u5219\u4f1a\u4e3a\u4f5c\u8005\u6dfb\u52a0\u4ece\u5c5e\u5173\u7cfb\uff1a

---\ntitle: The document title\nauthor:\n- name: Author One\n  affiliation: University of Somewhere\n- name: Author Two\n  affiliation: University of Nowhere\n...\n

\u8981\u5728\u4e0a\u9762\u7684\u793a\u4f8b\u4e2d\u4f7f\u7528\u7ed3\u6784\u5316 author\uff0c\u4f60\u9700\u8981\u4e00\u4e2a\u81ea\u5b9a\u4e49\u6a21\u677f\uff1a

$for(author)$\n$if(author.name)$\n$author.name$$if(author.affiliation)$ ($author.affiliation$)$endif$\n$else$\n$author$\n$endif$\n$endfor$\n

\u4f60\u53ef\u4ee5\u4f7f\u7528 header-includes \u6307\u5b9a\u8981\u5305\u542b\u5728\u6587\u6863\u9875\u7709\u4e2d\u7684\u539f\u59cb\u5185\u5bb9\uff1b\u4f46\u662f\uff0c\u4f7f\u7528 raw_attribute \u6269\u5c55\u5c06\u6b64\u5185\u5bb9\u6807\u8bb0\u4e3a\u7279\u5b9a\u8f93\u51fa\u683c\u5f0f\u7684\u539f\u59cb\u4ee3\u7801\u5f88\u91cd\u8981\uff0c\u5426\u5219\u5b83\u5c06\u88ab\u89e3\u91ca\u4e3a markdown\u3002\u4f8b\u5982\uff1a

header-includes:\n- |\n  ```{=latex}\n  \\let\\oldsection\\section\n  \\renewcommand{\\section}[1]{\\clearpage\\oldsection{#1}}\n  ```\n

\u6ce8\u610f\uff1ayaml_metadata_block \u6269\u5c55\u4e0e commonmark \u548c markdown \u517c\u5bb9\uff08\u5728 gfm \u548c commonmark_x \u4e2d\u9ed8\u8ba4\u542f\u7528\uff09\u3002\u4f46\u662f\uff0c\u5728\u8fd9\u4e9b\u683c\u5f0f\u4e2d\uff0c\u4ee5\u4e0b\u9650\u5236\u9002\u7528\uff1a

  • YAML \u5143\u6570\u636e\u5757\u5fc5\u987b\u51fa\u73b0\u5728\u6587\u6863\u7684\u5f00\u5934\uff08\u5e76\u4e14\u53ea\u80fd\u6709\u4e00\u4e2a\uff09\u3002\u5982\u679c\u5c06\u591a\u4e2a\u6587\u4ef6\u4f5c\u4e3a pandoc \u7684\u53c2\u6570\u7ed9\u51fa\uff0c\u5219\u53ea\u6709\u7b2c\u4e00\u4e2a\u53ef\u4ee5\u662f YAML \u5143\u6570\u636e\u5757\u3002
  • YAML \u7ed3\u6784\u7684\u53f6\u8282\u70b9\uff08leaf nodes\uff09\u5f7c\u6b64\u9694\u79bb\u89e3\u6790\uff0c\u5e76\u4e0e\u6587\u6863\u7684\u5176\u4f59\u90e8\u5206\u9694\u79bb\u89e3\u6790\u3002 \u56e0\u6b64\uff0c\u4f8b\u5982\uff0c\u5982\u679c\u94fe\u63a5\u5b9a\u4e49\u4f4d\u4e8e\u6587\u6863\u4e2d\u7684\u5176\u4ed6\u4f4d\u7f6e\uff0c\u5219\u4f60\u4e0d\u80fd\u5728\u8fd9\u4e9b\u4e0a\u4e0b\u6587\u4e2d\u4f7f\u7528\u53c2\u8003\u94fe\u63a5\u3002
","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_16","title":"\u53cd\u659c\u6760\u8f6c\u4e49","text":"
  • \u6269\u5c55\uff1aall_symbols_escapable

\u9664\u4e86\u5728\u4ee3\u7801\u5757\u6216\u5185\u8054\u4ee3\u7801\u4e2d\uff0c\u4efb\u4f55\u4ee5\u53cd\u659c\u6760\u5f00\u5934\u7684\u6807\u70b9\u7b26\u53f7\u6216\u7a7a\u683c\u5b57\u7b26\u90fd\u5c06\u6309\u5b57\u9762\u610f\u601d\u5904\u7406\uff0c\u5373\u4f7f\u5b83\u901a\u5e38\u4f1a\u6307\u793a\u683c\u5f0f\u3002\u4f8b\u5982\uff0c\u5982\u679c\u4e00\u4e2a\u4eba\u5199\uff1a

*\\*hello\\**\n

\u90a3\u4e48\u4f1a\u6e32\u67d3\u4e3a\uff1a

<em>*hello*</em>\n

\u800c\u4e0d\u662f

<strong>hello</strong>\n

\u8fd9\u6761\u89c4\u5219\u6bd4\u539f\u59cb\u7684 Markdown \u89c4\u5219\u66f4\u5bb9\u6613\u8bb0\u4f4f\uff0c\u540e\u8005\u53ea\u5141\u8bb8\u5bf9\u4ee5\u4e0b\u5b57\u7b26\u8fdb\u884c\u53cd\u659c\u6760\u8f6c\u4e49\uff1a

\\`*_{}[]()>#+-.!\n

\uff08\u4f46\u662f\uff0c\u5982\u679c\u4f7f\u7528 markdown_strict \u683c\u5f0f\uff0c\u5219\u5c06\u4f7f\u7528\u539f\u59cb Markdown \u89c4\u5219\u3002\uff09

\u53cd\u659c\u6760\u8f6c\u4e49\u7a7a\u683c\uff08backslash-escaped space\uff09\u88ab\u89e3\u6790\u4e3a\u4e0d\u95f4\u65ad\u7a7a\u683c\u3002\u5728 TeX \u8f93\u51fa\u4e2d\uff0c\u5b83\u5c06\u663e\u793a\u4e3a ~\u3002\u5728 HTML \u548c XML \u8f93\u51fa\u4e2d\uff0c\u5b83\u5c06\u663e\u793a\u4e3a\u4e0d\u95f4\u65ad\u7a7a\u683c unicode \u5b57\u7b26\uff08\u8bf7\u6ce8\u610f\uff0c\u5b83\u5728\u751f\u6210\u7684 HTML \u6e90\u4ee3\u7801\u4e2d\u5b9e\u9645\u4e0a\u770b\u8d77\u6765\u201c\u4e0d\u53ef\u89c1\u201d\uff1b\u4f60\u4ecd\u7136\u53ef\u4ee5\u4f7f\u7528 --ascii \u547d\u4ee4\u884c\u9009\u9879\u4f7f\u5176\u663e\u793a\u4e3a\u4e00\u4e2a\u53ef\u89c1\u7684\u5b9e\u4f53\uff09\u3002

\u53cd\u659c\u6760\u8f6c\u4e49\u7684\u6362\u884c\u7b26\uff08backslash-escaped newline\uff0c\u5373\u51fa\u73b0\u5728\u884c\u5c3e\u7684\u53cd\u659c\u6760\uff09\u88ab\u89e3\u6790\u4e3a\u786c\u6362\u884c\u7b26\u3002\u5b83\u5c06\u5728 TeX \u8f93\u51fa\u4e2d\u663e\u793a\u4e3a \\\\\uff0c\u5728 HTML \u4e2d\u663e\u793a\u4e3a <br />\u3002\u8fd9\u662f Markdown \u7684\u201c\u9690\u5f62\u201d\u65b9\u5f0f5\u7684\u4e00\u4e2a\u5f88\u597d\u7684\u66ff\u4ee3\u65b9\u6cd5\u3002

\u53cd\u659c\u6760\u8f6c\u4e49\uff08Backslash escapes\uff09\u5728\u9010\u5b57\u6587\u672c\u4e2d\u4e0d\u8d77\u4f5c\u7528\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#inline","title":"\u5185\u8054\u683c\u5f0f","text":"","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_17","title":"\u5f3a\u8c03","text":"

\u8981\u5bf9\u6307\u5b9a\u6587\u672c\u8bbe\u7f6e\u659c\u4f53\uff08emphasize\uff09\uff0c\u8bf7\u4f7f\u7528\u5355\u4e2a * \u6216 _ \u5305\u56f4\u5b83\u4eec\uff0c\u5982\uff1a

*\u6f14\u793a\u6587\u672c \u6f14\u793a\u6587\u672c*\n_\u6f14\u793a\u6587\u672c_\n*\u6f14\u793a\u6587\u672c*\n

\u8981\u5bf9\u6307\u5b9a\u6587\u672c\u8bbe\u7f6e\u7c97\u4f53\uff08strong emphasis\uff09\uff0c\u8bf7\u4f7f\u7528\u4e24\u4e2a * \u6216 _ \u5305\u56f4\u5b83\u4eec\uff0c\u5982\uff1a

\u88ab\u7a7a\u683c\u5305\u56f4\u6216\u53cd\u659c\u6760\u8f6c\u4e49\u7684 * \u6216 _ \u5b57\u7b26\u4e0d\u4f1a\u89e6\u53d1\u5f3a\u8c03\uff1a

* \u6f14\u793a\u6587\u672c * \\*\u6f14\u793a\u6587\u672c\\*\n
  • \u6269\u5c55\uff1aintraword_underscores

\u56e0\u4e3a _ \u6709\u65f6\u4f1a\u5728\u5355\u8bcd\u548c\u6807\u8bc6\u7b26\u4e2d\u4f7f\u7528\uff0c\u6240\u4ee5 pandoc \u4e0d\u4f1a\u5c06\u88ab\u5b57\u6bcd\u6570\u5b57\u5b57\u7b26\u5305\u56f4\u7684 _ \u89e3\u91ca\u4e3a\u5f3a\u8c03\u6807\u8bb0\u3002\u5982\u679c\u53ea\u60f3\u5f3a\u8c03\u5355\u8bcd\u7684\u4e00\u90e8\u5206\uff0c\u8bf7\u4f7f\u7528 *\uff1a

feas*ible*, not feas*able*.\n

\u8981\u5bf9\u6307\u5b9a\u6587\u672c\u8bbe\u7f6e\u659c\u4f53\u7c97\u4f53\uff0c\u8bf7\u4f7f\u7528\u4e09\u4e2a * \u6216 _ \u5305\u56f4\u5b83\u4eec\uff0c\u5982\uff1a

***\u6307\u5b9a\u6587\u672c***\n
","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_18","title":"\u5220\u9664\u7ebf","text":"
  • \u6269\u5c55\uff1astrikeout

\u8981\u5bf9\u6307\u5b9a\u7684\u6587\u672c\u8bbe\u7f6e\u5220\u9664\u7ebf\uff0c\u8bf7\u4ee5 ~~ \u4f5c\u4e3a\u6587\u672c\u7684\u5f00\u5934\u548c\u7ed3\u5c3e\u3002\u4f8b\u5982\uff1a

~~\u6307\u5b9a\u7684\u6587\u672c~~\n
","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_19","title":"\u4e0a\u6807\u548c\u4e0b\u6807","text":"
  • \u6269\u5c55\uff1asuperscript, subscript

\u4e0a\u6807\u53ef\u4ee5\u901a\u8fc7\u7528 ^ \u5b57\u7b26\u5305\u56f4\u4e0a\u6807\u6587\u672c\u6765\u7f16\u5199\uff1b\u4e0b\u6807\u53ef\u4ee5\u901a\u8fc7\u7528 ~ \u5b57\u7b26\u5305\u56f4\u4e0b\u6807\u6587\u672c\u6765\u7f16\u5199\u3002\u56e0\u6b64\uff0c\u4f8b\u5982\uff0c

H~2~0 \u662f\u6c34\uff0c2^10^ \u662f 1024\u3002\n

... \u6216 ... \u4e4b\u95f4\u7684\u6587\u672c\u4e0d\u80fd\u5305\u542b\u7a7a\u683c\u6216\u6362\u884c\u7b26\u3002\u5982\u679c\u4e0a\u6807\u6216\u4e0b\u6807\u6587\u672c\u5305\u542b\u7a7a\u683c\uff0c\u5219\u8fd9\u4e9b\u7a7a\u683c\u5fc5\u987b\u7528\u53cd\u659c\u6760\u8f6c\u4e49\u3002\uff08\u8fd9\u662f\u4e3a\u4e86\u9632\u6b62\u5728\u65e5\u5e38\u4f7f\u7528 ~ \u548c ^ \u65f6\u51fa\u73b0\u610f\u5916\u7684\u4e0a\u6807\u548c\u4e0b\u6807\uff0c\u4ee5\u53ca\u4e0e\u811a\u6ce8\u7684\u4e0d\u826f\u4ea4\u4e92\u3002\uff09\u56e0\u6b64\uff0c\u5982\u679c\u4f60\u60f3\u8981\u4e0b\u6807\u4e2d\u5e26\u6709 a cat \u7684\u5b57\u6bcd P\uff0c\u8bf7\u4f7f\u7528 P~a\\ cat~\uff0c\u4e0d\u662f P~a cat~\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_20","title":"\u9010\u5b57\u6587\u672c","text":"

\u8981\u9010\u5b57\u9010\u53e5\u663e\u793a\u4e00\u5c0f\u6bb5\u6587\u672c\uff0c\u8bf7\u5c06\u5176\u653e\u5728\u53cd\u5f15\u53f7\u5185\uff1a

What is the difference between `>>=` and `>>`?\n

\u5982\u679c\u9010\u5b57\u6587\u672c\uff08verbatim text\uff09\u5305\u542b\u53cd\u5f15\u53f7\uff0c\u8bf7\u4f7f\u7528\u53cc\u53cd\u5f15\u53f7\uff1a

Here is a literal backtick `` ` ``.\n

\uff08\u5f00\u59cb\u53cd\u5f15\u53f7\u4e4b\u540e\u548c\u7ed3\u675f\u53cd\u5f15\u53f7\u4e4b\u524d\u7684\u7a7a\u683c\u5c06\u88ab\u5ffd\u7565\u3002\uff09

\u4e00\u822c\u89c4\u5219\u662f\uff0c\u9010\u5b57\u8de8\u5ea6\u4ee5\u4e00\u4e32\u8fde\u7eed\u7684\u53cd\u5f15\u53f7\uff08\u53ef\u9009\u5730\u540e\u8ddf\u4e00\u4e2a\u7a7a\u683c\uff09\u5f00\u59cb\uff0c\u5e76\u4ee5\u4e00\u4e32\u76f8\u540c\u6570\u91cf\u7684\u53cd\u5f15\u53f7\uff08\u53ef\u9009\u5730\u524d\u8ddf\u4e00\u4e2a\u7a7a\u683c\uff09\u7ed3\u675f\u3002

\u8bf7\u6ce8\u610f\uff0c\u53cd\u659c\u6760\u8f6c\u4e49\u7b26\uff08\u5305\u62ec\u5176\u4ed6 Markdown \u7ed3\u6784\uff09\u5728\u9010\u5b57\u4e0a\u4e0b\u6587\u4e2d\u4e0d\u8d77\u4f5c\u7528\uff1a

\u8fd9\u662f\u4e00\u6bb5\u6f14\u793a\u6587\u672c\uff1a`\\*`

  • \u6269\u5c55\uff1binline_code_attributes

\u5c5e\u6027\u53ef\u4ee5\u9644\u52a0\u5230\u9010\u5b57\u6587\u672c\uff0c\u5c31\u50cf\u56f4\u680f\u4ee3\u7801\u5757\u4e00\u6837\uff1a

`<$>`{.haskell}\n
","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_21","title":"\u4e0b\u5212\u7ebf","text":"

\u8981\u5bf9\u6307\u5b9a\u7684\u6587\u672c\u8bbe\u7f6e\u4e0b\u5212\u7ebf\uff0c\u8bf7 underline \u7c7b\u3002\u4f8b\u5982\uff1a

[\u5e26\u6709\u4e0b\u5212\u7ebf\u7684\u6f14\u793a\u6587\u672c]{.underline}\n

\u6216\u8005\uff0c\u6ca1\u6709 bracketed_spans \u6269\u5c55\uff08\u4f46\u6709 native_spans\uff09\uff0c\u4f60\u53ef\u4ee5\uff1a

<span class=\"underline\">\u5e26\u6709\u4e0b\u5212\u7ebf\u7684\u6f14\u793a\u6587\u672c</span>\n

\u8fd9\u5c06\u9002\u7528\u4e8e\u6240\u6709\u652f\u6301\u4e0b\u5212\u7ebf\u7684\u8f93\u51fa\u683c\u5f0f\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_22","title":"\u5c0f\u578b\u5927\u5199\u5b57\u6bcd","text":"

\u8981\u7f16\u5199\u5c0f\u578b\u5927\u5199\u5b57\u6bcd\uff0c\u8bf7\u4f7f\u7528 smallcaps \u7c7b\uff1a

[Small caps]{.smallcaps}\n

\u6216\u8005\uff0c\u6ca1\u6709 bracketed_spans \u6269\u5c55\uff0c\u4f60\u53ef\u4ee5\uff1a

<span class=\"smallcaps\">Small caps</span>\n

\u4e3a\u4e86\u4e0e\u5176\u4ed6 Markdown \u98ce\u683c\u517c\u5bb9\uff0cpandoc \u8fd8\u652f\u6301 CSS\uff1a

<span style=\"font-variant:small-caps;\">Small caps</span>\n

\u8fd9\u5c06\u9002\u7528\u4e8e\u6240\u6709\u652f\u6301\u5c0f\u578b\u5927\u5199\u5b57\u6bcd\u7684\u8f93\u51fa\u683c\u5f0f\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_23","title":"\u9ad8\u4eae\u6587\u672c","text":"

\u8981\u7a81\u51fa\u663e\u793a\uff08Highlighting\uff09\u6587\u672c\uff0c\u8bf7\u4f7f\u7528 mark \u7c7b\uff1a

[\u6807\u8bb0]{.mark}\n

\u6216\u8005\uff0c\u4e0d\u4f7f\u7528 bracketed_spans \u6269\u5c55\uff08\u4f46\u4f7f\u7528 native_spans\uff09\uff1a

<span class=\"mark\">\u6807\u8bb0</span>\n

\u8fd9\u9002\u7528\u4e8e\u6240\u6709\u652f\u6301\u7a81\u51fa\u663e\u793a\u7684\u8f93\u51fa\u683c\u5f0f

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_24","title":"\u6570\u5b66","text":"
  • \u6269\u5c55\uff1atex_math_dollars

\u4e24\u4e2a $ \u5b57\u7b26\u4e4b\u95f4\u7684\u4efb\u4f55\u5185\u5bb9\u90fd\u5c06\u88ab\u89c6\u4e3a TeX \u6570\u5b66\u3002\u5f00\u5934 $ \u7684\u53f3\u8fb9\u5fc5\u987b\u6709\u4e00\u4e2a\u975e\u7a7a\u683c\u5b57\u7b26\uff0c\u800c\u7ed3\u5c3e $ \u7684\u5de6\u8fb9\u5fc5\u987b\u6709\u4e00\u4e2a\u975e\u7a7a\u683c\u5b57\u7b26\uff0c\u5e76\u4e14\u540e\u9762\u4e0d\u80fd\u7d27\u8ddf\u6570\u5b57\u3002\u56e0\u6b64\uff0c$20,000 \u548c $30,000 \u4e0d\u4f1a\u89e3\u6790\u4e3a\u6570\u5b66\u3002\u5982\u679c\u51fa\u4e8e\u67d0\u79cd\u539f\u56e0\u60a8\u9700\u8981\u5c06\u6587\u672c\u5305\u542b\u5728\u6587\u5b57 $ \u5b57\u7b26\u4e2d\uff0c\u8bf7\u5bf9\u5b83\u4eec\u8fdb\u884c\u53cd\u659c\u6760\u8f6c\u4e49\uff0c\u5b83\u4eec\u5c06\u4e0d\u4f1a\u88ab\u89c6\u4e3a\u6570\u5b66\u5b9a\u754c\u7b26\u3002

\u4e3a\u4e86\u663e\u793a\u6570\u5b66\u5185\u5bb9\uff0c\u8bf7\u4f7f\u7528 $$ \u5206\u9694\u7b26\u3002\uff08\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u5b9a\u754c\u7b26\u53ef\u4ee5\u7528\u7a7a\u683c\u4e0e\u516c\u5f0f\u5206\u9694\u5f00\u3002\u4f46\u662f\u5f00\u59cb\u548c\u7ed3\u675f $$ \u5b9a\u754c\u7b26\u4e4b\u95f4\u4e0d\u80fd\u6709\u7a7a\u884c\u3002\uff09

TeX \u6570\u5b66\u5c06\u4ee5\u6240\u6709\u8f93\u51fa\u683c\u5f0f\u6253\u5370\u3002\u5b83\u7684\u5448\u73b0\u65b9\u5f0f\u53d6\u51b3\u4e8e\u8f93\u51fa\u683c\u5f0f\uff1a

  • LaTeX \u5b83\u5c06\u9010\u5b57\u663e\u793a\u5728 \\(...\\)\uff08\u7528\u4e8e\u5185\u8054\u6570\u5b66\uff09\u6216 \\[...\\]\uff08\u7528\u4e8e display math\uff09\u4e2d\u3002
  • Markdown\u3001Emacs Org mode\u3001ConTeXt\u3001ZimWiki \u5b83\u5c06\u9010\u5b57\u9010\u53e5\u5730\u51fa\u73b0\u5728 $...$\uff08\u7528\u4e8e\u5185\u8054\u6570\u5b66\uff09\u6216 $$...$$\uff08\u7528\u4e8e display math\uff09\u4e2d\u3002
  • XWiki \u5b83\u4f1a\u9010\u5b57\u663e\u793a\u5728 {{formula}}..{{/formula}} \u4e2d\u3002
  • reStructuredText \u5b83\u5c06\u4f7f\u7528\u89e3\u91ca\u6587\u672c\u89d2\u8272 :math: \u5448\u73b0\u3002
  • AsciiDoc \u5bf9\u4e8e AsciiDoc \u8f93\u51fa\u683c\u5f0f\uff08-t asciidoc\uff09\uff0c\u5b83\u5c06\u9010\u5b57\u9010\u53e5\u5730\u88ab latexmath:[$...$] \u5305\u56f4\uff08\u7528\u4e8e\u5185\u8054\u6570\u5b66\uff09\u6216\u88ab [latexmath]++++\\[...\\]+++ \u5305\u56f4\uff08\u7528\u4e8e display math\uff09\u3002\u5bf9\u4e8e AsciiDoctor \u8f93\u51fa\u683c\u5f0f\uff08-t asciidoctor\uff09\uff0cLaTeX \u5b9a\u754c\u7b26\uff08$..$ \u548c \\[..\\]\uff09\u88ab\u7701\u7565\u3002
  • Texinfo \u5b83\u5c06\u5728 @math \u547d\u4ee4\u4e2d\u5448\u73b0\u3002
  • roff man\u3001Jira markup \u5b83\u5c06\u5728\u6ca1\u6709 $ \u7684\u60c5\u51b5\u4e0b\u9010\u5b57\u5448\u73b0\u3002
  • MediaWiki\u3001DokuWiki \u5b83\u5c06\u5728 <math> \u6807\u7b7e\u5185\u5448\u73b0\u3002
  • Textile \u5b83\u5c06\u5728 <span class=\"math\"> \u6807\u7b7e\u5185\u5448\u73b0\u3002
  • RTF\u3001OpenDocument \u5982\u679c\u53ef\u80fd\uff0c\u5b83\u5c06\u4f7f\u7528 Unicode \u5b57\u7b26\u5448\u73b0\uff0c\u5426\u5219\u5c06\u9010\u5b57\u663e\u793a\u3002
  • ODT \u5982\u679c\u53ef\u80fd\uff0c\u5b83\u5c06\u4f7f\u7528 MathML \u5448\u73b0\u3002
  • DocBook \u5982\u679c\u4f7f\u7528 --mathml \u6807\u5fd7\uff0c\u5b83\u5c06\u5728 inlineequation \u6216 informalequation \u6807\u8bb0\u4e2d\u4f7f\u7528 MathML \u5448\u73b0\u3002\u5426\u5219\uff0c\u5982\u679c\u53ef\u80fd\uff0c\u5c06\u4f7f\u7528 Unicode \u5b57\u7b26\u5448\u73b0\u3002
  • Docx \u548c PowerPoint \u5b83\u5c06\u4f7f\u7528 OMML \u6570\u5b66\u6807\u8bb0\u5448\u73b0\u3002
  • FictionBook2 \u5982\u679c\u4f7f\u7528 --webtex \u9009\u9879\uff0c\u516c\u5f0f\u5c06\u4f7f\u7528 CodeCogs \u6216\u5176\u4ed6\u517c\u5bb9\u7684\u7f51\u7edc\u670d\u52a1\u5448\u73b0\u4e3a\u56fe\u50cf\uff0c\u4e0b\u8f7d\u5e76\u5d4c\u5165\u7535\u5b50\u4e66\u4e2d\u3002\u5426\u5219\uff0c\u5b83\u4eec\u5c06\u9010\u5b57\u51fa\u73b0\u3002
  • HTML\u3001Slidy\u3001DZSlides\u3001S5\u3001EPUB \u6570\u5b66\u5728 HTML \u4e2d\u7684\u5448\u73b0\u65b9\u5f0f\u5c06\u53d6\u51b3\u4e8e\u6240\u9009\u7684\u547d\u4ee4\u884c\u9009\u9879\u3002\u56e0\u6b64\u8bf7\u53c2\u9605\u4e0a\u9762\u7684 HTML \u4e2d\u7684\u6570\u5b66\u6e32\u67d3\u3002
","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#html","title":"\u539f\u59cb HTML","text":"
  • \u6269\u5c55\uff1araw_html

Markdown \u5141\u8bb8\u60a8\u5728\u6587\u6863\u4e2d\u7684\u4efb\u4f55\u4f4d\u7f6e\u63d2\u5165\u539f\u59cb HTML\uff08\u6216 DocBook\uff09\uff08\u9010\u5b57\u4e0a\u4e0b\u6587\u9664\u5916\uff0c\u5176\u4e2d <\u3001> \u548c & \u6309\u5b57\u9762\u89e3\u91ca\uff09\u3002\uff08\u4ece\u6280\u672f\u4e0a\u8bb2\uff0c\u8fd9\u4e0d\u662f\u4e00\u4e2a\u6269\u5c55\uff0c\u56e0\u4e3a\u6807\u51c6 Markdown \u5141\u8bb8\u5b83\uff0c\u4f46\u5b83\u5df2\u7ecf\u6210\u4e3a\u4e00\u4e2a\u6269\u5c55\uff0c\u4ee5\u4fbf\u5728\u9700\u8981\u65f6\u53ef\u4ee5\u5c06\u5176\u7981\u7528\u3002\uff09

\u539f\u59cb HTML \u5728 HTML\u3001S5\u3001Slidy\u3001Slideous\u3001DZSlides\u3001EPUB\u3001Markdown\u3001CommonMark\u3001Emacs Org \u6a21\u5f0f\u548c Textile \u8f93\u51fa\u4e2d\u901a\u8fc7\uff0c\u5e76\u5728\u5176\u4ed6\u683c\u5f0f\u4e2d\u88ab\u6291\u5236\u3002

\u6709\u5173\u5728 Markdown \u6587\u6863\u4e2d\u5305\u542b\u539f\u59cb HTML \u7684\u66f4\u660e\u786e\u7684\u65b9\u6cd5\uff0c\u8bf7\u53c2\u9605 raw_attribute \u6269\u5c55\u3002

\u5728 CommonMark \u683c\u5f0f\u4e2d\uff0c\u5982\u679c\u542f\u7528\u4e86 raw_html\uff0c\u5219\u4e0a\u6807\u3001\u4e0b\u6807\u3001\u5220\u9664\u7ebf\u548c\u5c0f\u578b\u5927\u5199\u5b57\u6bcd\u5c06\u4ee5 HTML \u8868\u793a\u3002\u5426\u5219\uff0c\u5c06\u4f7f\u7528\u7eaf\u6587\u672c\u56de\u9000\u3002\u8bf7\u6ce8\u610f\uff0c\u5373\u4f7f\u7981\u7528\u4e86 raw_html\uff0c\u5982\u679c\u8868\u683c\u4e0d\u80fd\u4f7f\u7528\u7ba1\u9053\u8bed\u6cd5\uff0c\u5b83\u4eec\u4e5f\u4f1a\u4f7f\u7528 HTML \u8bed\u6cd5\u5448\u73b0\u3002

  • \u6269\u5c55\uff1amarkdown_in_html_blocks

\u539f\u59cb Markdown \u5141\u8bb8\u60a8\u5305\u542b HTML \u201c\u5757\u201d\uff1a\u5bf9\u7b49\u6807\u7b7e\u4e4b\u95f4\u7684 HTML \u5757\uff0c\u8fd9\u4e9b\u6807\u7b7e\u4e0e\u5468\u56f4\u7684\u6587\u672c\u7528\u7a7a\u884c\u5206\u9694\uff0c\u5e76\u5728\u5de6\u8fb9\u8ddd\u5f00\u59cb\u548c\u7ed3\u675f\u3002\u5728\u8fd9\u4e9b\u5757\u4e2d\uff0c\u6240\u6709\u5185\u5bb9\u90fd\u88ab\u89e3\u91ca\u4e3a HTML\uff0c\u800c\u4e0d\u662f Markdown\uff1b\u4f8b\u5982\uff0c* \u5e76\u4e0d\u8868\u793a\u5f3a\u8c03\u3002

\u5f53\u4f7f\u7528 markdown_strict \u683c\u5f0f\u65f6\uff0cPandoc \u7684\u884c\u4e3a\u662f\u8fd9\u6837\u7684\uff1b\u4f46\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0cpandoc \u5c06 HTML \u5757\u6807\u8bb0\u4e4b\u95f4\u7684\u5185\u5bb9\u89e3\u91ca\u4e3a Markdown\u3002\u4f8b\u5982\uff0cpandoc \u5c06\u5982\u4e0b\u5185\u5bb9

<table>\n<tr>\n<td>*one*</td>\n<td>[a link](https://google.com)</td>\n</tr>\n</table>\n

\u8f6c\u6362\u4e3a

<table>\n<tr>\n<td><em>one</em></td>\n<td><a href=\"https://google.com\">a link</a></td>\n</tr>\n</table>\n

\u800c Markdown.pl \u5c06\u6309\u539f\u6837\u4fdd\u7559\u5b83\u3002

\u6b64\u89c4\u5219\u6709\u4e00\u4e2a\u4f8b\u5916\uff1a<script>\u3001<style> \u548c <textarea> \u6807\u7b7e\u4e4b\u95f4\u7684\u6587\u672c\u4e0d\u4f1a\u88ab\u89e3\u91ca\u4e3a Markdown\u3002

\u8fd9\u79cd\u4e0e\u539f\u59cb Markdown \u7684\u80cc\u79bb\u4f7f\u5f97 pandoc \u66f4\u5bb9\u6613\u5730\u5c06 Markdown \u4e0e HTML \u5757\u5143\u7d20\u6df7\u5408\u4f7f\u7528\u3002\u4f8b\u5982\uff0c\u4f60\u53ef\u4ee5\u7528 <div> \u6807\u7b7e\u5305\u56f4\u4e00\u6bb5 Markdown \u6587\u672c\uff0c\u800c\u4e0d\u7528\u62c5\u5fc3\u5b83\u4e0d\u4f1a\u88ab\u89e3\u91ca\u4e3a Markdown\u3002

  • \u6269\u5c55\uff1anative_divs

\u8be5\u6269\u5c55\u7528\u4e8e\u5bf9 <div> \u6807\u7b7e\u5185\u7684\u5185\u5bb9\u4f7f\u7528\u539f\u751f pandoc Div \u5757\u3002\u5728\u5927\u591a\u6570\u60c5\u51b5\u4e0b\uff0c\u8fd9\u5e94\u8be5\u63d0\u4f9b\u4e0e markdown_in_html_blocks \u76f8\u540c\u7684\u8f93\u51fa\uff0c\u4f46\u5b83\u53ef\u4ee5\u66f4\u5bb9\u6613\u5730\u7f16\u5199 pandoc \u8fc7\u6ee4\u5668\u6765\u64cd\u4f5c\u5757\u7ec4\u3002

  • \u6269\u5c55\uff1anative_spans

\u8be5\u6269\u5c55\u7528\u4e8e\u5bf9 <span> \u6807\u7b7e\u5185\u7684\u5185\u5bb9\u4f7f\u7528\u539f\u751f pandoc Span \u5757\u3002\u5728\u5927\u591a\u6570\u60c5\u51b5\u4e0b\uff0c\u8fd9\u5e94\u8be5\u63d0\u4f9b\u4e0e raw_html \u76f8\u540c\u7684\u8f93\u51fa\uff0c\u4f46\u5b83\u4f7f\u7f16\u5199 pandoc \u8fc7\u6ee4\u5668\u6765\u64cd\u4f5c\u5185\u8054\u7ec4\u53d8\u5f97\u66f4\u5bb9\u6613\u3002

  • \u6269\u5c55\uff1araw_tex

\u9664\u4e86\u539f\u59cb HTML \u4e4b\u5916\uff0cpandoc \u8fd8\u5141\u8bb8\u5c06\u539f\u59cb LaTeX\u3001TeX \u548c ConTeXt \u5305\u542b\u5728\u6587\u6863\u4e2d\u3002\u5185\u8054 TeX \u547d\u4ee4\u5c06\u88ab\u4fdd\u7559\u5e76\u539f\u5c01\u4e0d\u52a8\u5730\u4f20\u9012\u7ed9 LaTeX \u548c ConTeXt \u7f16\u5199\u5668\u3002\u56e0\u6b64\uff0c\u4f8b\u5982\uff0c\u4f60\u53ef\u4ee5\u4f7f\u7528 LaTeX \u6765\u5305\u542b BibTeX \u5f15\u7528\uff1a

This result was proved in \\cite{jones.1967}.\n

\u8bf7\u6ce8\u610f\uff0c\u5728 LaTeX \u73af\u5883\u4e2d\uff0c\u4f8b\u5982

\\begin{tabular}{|l|l|}\\hline\nAge & Frequency \\\\ \\hline\n18--25  & 15 \\\\\n26--35  & 33 \\\\\n36--45  & 22 \\\\ \\hline\n\\end{tabular}\n

\u5f00\u59cb\u548c\u7ed3\u675f\u6807\u7b7e\u4e4b\u95f4\u7684\u5185\u5bb9\u5c06\u88ab\u89e3\u91ca\u4e3a\u539f\u59cb LaTeX\uff0c\u800c\u4e0d\u662f Markdown\u3002

\u6709\u5173\u5728 Markdown \u6587\u6863\u4e2d\u5305\u542b\u539f\u59cb TeX \u7684\u66f4\u660e\u786e\u548c\u7075\u6d3b\u7684\u65b9\u6cd5\uff0c\u8bf7\u53c2\u9605 raw_attribute \u6269\u5c55\u3002

\u5728\u9664 Markdown\u3001LaTeX\u3001Emacs Org \u6a21\u5f0f\u548c ConTeXt \u4e4b\u5916\u7684\u8f93\u51fa\u683c\u5f0f\u4e2d\uff0c\u5185\u8054 LaTeX \u4f1a\u88ab\u5ffd\u7565\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_25","title":"\u901a\u7528\u539f\u59cb\u5c5e\u6027","text":"
  • \u6269\u5c55\uff1araw_attribute

\u5177\u6709\u7279\u6b8a\u5c5e\u6027\u7684\u5185\u8054 span \u548c\u56f4\u680f\u4ee3\u7801\u5757\u5c06\u88ab\u89e3\u6790\u4e3a\u5177\u6709\u6307\u5b9a\u683c\u5f0f\u7684\u539f\u59cb\u5185\u5bb9\u3002\u4f8b\u5982\uff0c\u4ee5\u4e0b\u751f\u6210\u4e00\u4e2a\u539f\u59cb\u7684 roff ms \u5757\uff1a

```{=ms}\n.MYMACRO\nblah blah\n```\n

\u4ee5\u4e0b\u5c06\u751f\u6210\u4e00\u4e2a\u539f\u59cb\u7684 html \u5185\u8054\u5143\u7d20\uff1a

This is `<a>html</a>`{=html}\n

\u8fd9\u5bf9\u4e8e\u5c06\u539f\u59cb xml \u63d2\u5165 docx \u6587\u6863\u5f88\u6709\u7528\uff0c\u4f8b\u5982\u5206\u9875\u7b26\uff1a

```{=openxml}\n<w:p>\n  <w:r>\n    <w:br w:type=\"page\"/>\n  </w:r>\n</w:p>\n```\n

\u683c\u5f0f\u540d\u79f0\u5e94\u4e0e\u76ee\u6807\u683c\u5f0f\u540d\u79f0\u76f8\u5339\u914d\uff08\u8bf7\u53c2\u9605\u4e0a\u9762\u7684 -t/--to \u4ee5\u83b7\u53d6\u5217\u8868\uff0c\u6216\u4f7f\u7528 pandoc --list-output-formats\uff09\u3002\u5c06 openxml \u7528\u4e8e docx \u8f93\u51fa\uff0c\u5c06 opendocument \u7528\u4e8e odt \u8f93\u51fa\uff0c\u5c06 html5 \u7528\u4e8e epub3 \u8f93\u51fa\uff0c\u5c06 html4 \u7528\u4e8e epub2 \u8f93\u51fa\uff0c\u5c06 latex\u3001beamer\u3001ms \u6216 html5 \u7528\u4e8e pdf \u8f93\u51fa\uff08\u53d6\u51b3\u4e8e\u4f60\u5bf9 --pdf-engine \u4f7f\u7528\u7684\u662f\u4ec0\u4e48\uff09\u3002

\u6b64\u6269\u5c55\u5047\u5b9a\u76f8\u5173\u7c7b\u578b\u7684\u5185\u8054\u4ee3\u7801\u6216\u56f4\u680f\u4ee3\u7801\u5757\u5df2\u542f\u7528\u3002\u56e0\u6b64\uff0c\u8981\u4f7f\u7528\u5e26\u6709\u53cd\u5f15\u53f7\u4ee3\u7801\u5757\u7684\u539f\u59cb\u5c5e\u6027\uff0c\u5fc5\u987b\u542f\u7528 backtick_code_blocks\u3002

\u539f\u59cb\u5c5e\u6027\u4e0d\u80fd\u4e0e\u5e38\u89c4\u5c5e\u6027\u7ed3\u5408\u4f7f\u7528\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#latex","title":"LaTeX \u5b8f","text":"
  • \u6269\u5c55\uff1alatex_macros

\u542f\u7528\u6b64\u6269\u5c55\u540e\uff0cpandoc \u5c06\u89e3\u6790 LaTeX \u5b8f\u5b9a\u4e49\u5e76\u5c06\u751f\u6210\u7684\u5b8f\u5e94\u7528\u4e8e\u6240\u6709 LaTeX \u6570\u5b66\u548c\u539f\u59cb LaTeX\u3002\u4f8b\u5982\uff0c\u4ee5\u4e0b\u5c06\u9002\u7528\u4e8e\u6240\u6709\u8f93\u51fa\u683c\u5f0f\uff0c\u800c\u4e0d\u4ec5\u4ec5\u662f LaTeX\uff1a

\\newcommand{\\tuple}[1]{\\langle #1 \\rangle}\n\n$\\tuple{a, b, c}$\n

\u8bf7\u6ce8\u610f\uff0c\u5982\u679c LaTeX \u5b8f\u51fa\u73b0\u5728\u6807\u6709 raw_attribute \u6269\u5c55\u7684\u539f\u59cb span \u6216\u5757\u5185\uff0c\u5219 pandoc \u4e0d\u4f1a\u5e94\u7528\u5b83\u4eec\u3002

\u5f53 latex_macros \u88ab\u7981\u7528\u65f6\uff0c\u539f\u59cb LaTeX \u548c\u6570\u5b66\u5c06\u4e0d\u4f1a\u5e94\u7528\u5b8f\u3002\u5f53\u60a8\u4ee5 LaTeX \u6216 PDF \u4e3a\u76ee\u6807\u65f6\uff0c\u8fd9\u901a\u5e38\u662f\u66f4\u597d\u7684\u65b9\u6cd5\u3002

\u4ec5\u5f53\u672a\u542f\u7528 latex_macros \u65f6\uff0cLaTeX \u4e2d\u7684\u5b8f\u5b9a\u4e49\u624d\u4f1a\u4f5c\u4e3a\u539f\u59cb LaTeX \u4f20\u9012\u3002\u65e0\u8bba\u662f\u5426\u542f\u7528 latex_macros\uff0cMarkdown \u6e90\u7801\uff08\u6216\u5176\u4ed6\u5141\u8bb8 raw_tex \u7684\u683c\u5f0f\uff09\u4e2d\u7684\u5b8f\u5b9a\u4e49\u90fd\u5c06\u88ab\u4f20\u9012\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_26","title":"\u94fe\u63a5","text":"

Markdown \u5141\u8bb8\u4ee5\u591a\u79cd\u65b9\u5f0f\u6307\u5b9a\u94fe\u63a5\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_27","title":"\u81ea\u52a8\u94fe\u63a5","text":"

\u5982\u679c\u60a8\u5c06 URL \u6216\u7535\u5b50\u90ae\u4ef6\u5730\u5740\u62ec\u5728\u5c16\u62ec\u53f7\u4e2d\uff0c\u5b83\u5c06\u6210\u4e3a\u4e00\u4e2a\u94fe\u63a5\uff1a

<http://example.com>\n<exmaple@example.com>\n
","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_28","title":"\u5185\u8054\u94fe\u63a5","text":"

\u5185\u8054\u94fe\u63a5\uff08Inline links\uff09\u7531\u65b9\u62ec\u53f7\u4e2d\u7684\u94fe\u63a5\u6587\u672c\u548c\u540e\u8ddf\u5706\u62ec\u53f7\u4e2d\u7684 URL \u7ec4\u6210\u3002\uff08\u6b64\u5916\uff0c\u4f60\u8fd8\u53ef\u4ee5\u5728 URL \u540e\u9762\u9644\u4e0a\u4e00\u4e2a\u7528\u5f15\u53f7\u62ec\u8d77\u6765\u7684\u94fe\u63a5\u6807\u9898\u3002\uff09

\u8fd9\u662f\u4e00\u53e5[\u6f14\u793a](http://example.com \"\u94fe\u63a5\u6807\u9898\")\u6587\u672c\u3002\n

\u62ec\u53f7\u5185\u7684\u90e8\u5206\u548c\u62ec\u53f7\u5185\u7684\u90e8\u5206\u4e4b\u95f4\u4e0d\u80fd\u6709\u7a7a\u683c\u3002\u94fe\u63a5\u6587\u672c\u53ef\u4ee5\u5305\u542b\u683c\u5f0f\uff08\u4f8b\u5982\u5f3a\u8c03\uff09\uff0c\u4f46\u94fe\u63a5\u6807\u9898\u4e0d\u53ef\u4ee5\u3002

\u5185\u8054\u94fe\u63a5\u4e2d\u7684\u7535\u5b50\u90ae\u4ef6\u5730\u5740\u4e0d\u4f1a\u88ab\u81ea\u52a8\u68c0\u6d4b\u5230\uff0c\u56e0\u6b64\u5b83\u4eec\u5fc5\u987b\u4ee5 mailto \u4e3a\u524d\u7f00\uff1a

[\u8bf7\u5199\u4fe1\u7ed9\u6211](mailto:exmaple@example.com)\n
","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_29","title":"\u5f15\u7528\u94fe\u63a5","text":"

\u663e\u5f0f\u5f15\u7528\u94fe\u63a5\uff08Reference links\uff09\u7531\u4e24\u90e8\u5206\u7ec4\u6210\uff0c\u5206\u522b\u662f\uff1a\u94fe\u63a5\u672c\u8eab\u548c\u94fe\u63a5\u5b9a\u4e49\uff1b\u540e\u8005\u53ef\u80fd\u51fa\u73b0\u5728\u6587\u6863\u7684\u5176\u4ed6\u5730\u65b9\uff08\u94fe\u63a5\u4e4b\u524d\u6216\u4e4b\u540e\uff09\u3002

\u94fe\u63a5\u7531\u7b2c\u4e00\u4e2a\u65b9\u62ec\u53f7\u4e2d\u7684\u94fe\u63a5\u6587\u672c\u548c\u7b2c\u4e8c\u4e2a\u65b9\u62ec\u53f7\u4e2d\u7684\u6807\u7b7e\u7ec4\u6210\uff08\u9664\u975e\u542f\u7528\u4e86 spaced_reference_links \u6269\u5c55\uff0c\u5426\u5219\u4e24\u4e2a\u65b9\u62ec\u53f7\u4e4b\u95f4\u4e0d\u80fd\u6709\u7a7a\u683c\uff09\u3002

\u94fe\u63a5\u5b9a\u4e49\u7531\u88ab\u62ec\u53f7\u56f4\u8d77\u6765\u7684\u6807\u7b7e\u3001\u5192\u53f7\u548c\u7a7a\u683c\uff0c\u7136\u540e\u662f URL\uff0c\u4ee5\u53ca\u53ef\u80fd\u5b58\u5728\u7684\uff08\u5728\u7a7a\u683c\u4e4b\u540e\uff09\u7528\u5f15\u53f7\u6216\u62ec\u53f7\u56f4\u8d77\u6765\u7684\u94fe\u63a5\u6807\u9898\u6240\u7ec4\u6210\u3002\u6807\u7b7e\u4e0d\u80fd\u4f5c\u4e3a\u5f15\u7528\uff08citation\uff09\u8fdb\u884c\u89e3\u6790\uff08\u5047\u8bbe\u542f\u7528\u4e86 citations \u6269\u5c55\uff09\uff1a\u5f15\u7528\uff08citations\uff09\u4f18\u5148\u4e8e\u94fe\u63a5\u6807\u7b7e\uff08Reference links' labels\uff09\u3002

\u4ee5\u4e0b\u662f\u4e00\u4efd\u6837\u4f8b\uff1a

[my label 1]: /foo/bar.html  \"My title, optional\"\n[my label 2]: /foo\n[my label 3]: https://fsf.org (The Free Software Foundation)\n[my label 4]: /bar#special  'A title in single quotes'\n

URL \u53ef\u4ee5\u9009\u62e9\u7528\u5c16\u62ec\u53f7\u62ec\u8d77\u6765\uff1a

[my label 5]: <http://foo.bar.baz>\n

\u6807\u9898\u53ef\u80fd\u5728\u4e0b\u4e00\u884c\uff1a

[my label 3]: https://fsf.org\n  \"The Free Software Foundation\"\n

\u8bf7\u6ce8\u610f\uff0c\u94fe\u63a5\u6807\u7b7e\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u3002\u6240\u4ee5\uff0c\u4ee5\u4e0b\u7684\u7528\u6cd5\u4e5f\u662f\u6709\u6548\u7684\uff1a

Here is [my link][FOO]\n\n[Foo]: /bar/baz\n

\u5728\u9690\u5f0f\u5f15\u7528\u94fe\u63a5\u4e2d\uff0c\u7b2c\u4e8c\u5bf9\u62ec\u53f7\u4e3a\u7a7a\uff1a

See [my website][].\n\n[my website]: http://foo.bar.baz\n

\u6ce8\u610f\uff1a\u5728 Markdown.pl \u548c\u5927\u591a\u6570\u5176\u4ed6 Markdown \u5b9e\u73b0\u4e2d\uff0c\u5f15\u7528\u94fe\u63a5\u5b9a\u4e49\u4e0d\u80fd\u51fa\u73b0\u5728\u5d4c\u5957\u7ed3\u6784\u4e2d\uff0c\u4f8b\u5982\u5217\u8868\u9879\u6216\u5757\u5f15\u53f7\u3002Pandoc \u53d6\u6d88\u4e86\u8fd9\u4e2a\u770b\u4f3c\u6b66\u65ad\u7684\u9650\u5236\u3002\u6240\u4ee5\u4ee5\u4e0b\u5185\u5bb9\u5728 pandoc \u4e2d\u53ef\u4ee5\u6b63\u5e38\u5de5\u4f5c\uff0c\u4f46\u5728\u5927\u591a\u6570\u5176\u4ed6\u5b9e\u73b0\u4e2d\u5219\u4e0d\u884c\uff1a

> My block [quote].\n>\n> [quote]: /foo\n
  • \u6269\u5c55\uff1ashortcut_reference_links

\u5728\u5feb\u6377\u5f15\u7528\u94fe\u63a5\u4e2d\uff0c\u7b2c\u4e8c\u5bf9\u62ec\u53f7\u53ef\u4ee5\u5b8c\u5168\u7701\u7565\uff1a

See [my website].\n\n[my website]: http://foo.bar.baz\n
","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_30","title":"\u5185\u90e8\u94fe\u63a5","text":"

\u8981\u94fe\u63a5\u5230\u540c\u4e00\u6587\u6863\u7684\u53e6\u4e00\u90e8\u5206\uff0c\u8bf7\u4f7f\u7528\u81ea\u52a8\u751f\u6210\u7684\u6807\u8bc6\u7b26\uff08\u8bf7\u53c2\u9605\u6807\u9898\u6807\u8bc6\u7b26\uff09\u3002\u4f8b\u5982\uff1a

See the [Introduction](#introduction).\n

\u6216

See the [Introduction].\n\n[Introduction]: #introduction\n

\u76ee\u524d\u652f\u6301 HTML \u683c\u5f0f\uff08\u5305\u62ec HTML \u5e7b\u706f\u7247\u653e\u6620\u548c EPUB\uff09\u3001LaTeX \u548c ConTeXt \u7684\u5185\u90e8\u94fe\u63a5\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_31","title":"\u56fe\u50cf","text":"

\u4e00\u4e2a\u94fe\u63a5\u524d\u9762\u7d27\u8ddf\u7740\u4e00\u4e2a ! \u5c06\u88ab\u89c6\u4e3a\u56fe\u50cf\u3002\u94fe\u63a5\u6587\u672c\u5c06\u7528\u4f5c\u56fe\u50cf\u7684\u66ff\u4ee3\u6587\u672c\uff1a

![image1](example.png \"image tile\")\n\n![image2]\n\n[image2]: example.jpg\n
  • \u6269\u5c55\uff1aimplicit_figures

\u5e26\u6709\u975e\u7a7a\u66ff\u4ee3\u6587\u672c\u7684\u56fe\u50cf\u5728\u6bb5\u843d\u4e2d\u5355\u72ec\u51fa\u73b0\uff0c\u5c06\u5448\u73b0\u4e3a\u5e26\u6709\u6807\u9898\u7684\u56fe\u5f62\u3002\u56fe\u50cf\u7684\u66ff\u4ee3\u6587\u672c\u5c06\u7528\u4f5c\u6807\u9898\u3002

![\u8fd9\u662f\u6807\u9898](/url/of/image.png)\n

\u5982\u4f55\u5448\u73b0\u53d6\u51b3\u4e8e\u8f93\u51fa\u683c\u5f0f\u3002\u67d0\u4e9b\u8f93\u51fa\u683c\u5f0f\uff08\u4f8b\u5982 RTF\uff09\u5c1a\u4e0d\u652f\u6301\u56fe\u5f62\u3002\u5728\u8fd9\u4e9b\u683c\u5f0f\u4e2d\uff0c\u60a8\u53ea\u4f1a\u5728\u6bb5\u843d\u4e2d\u5355\u72ec\u83b7\u5f97\u4e00\u5f20\u6ca1\u6709\u6807\u9898\u7684\u56fe\u7247\u3002

\u5982\u679c\u60a8\u53ea\u60f3\u8981\u4e00\u4e2a\u5e38\u89c4\u7684\u5185\u8054\u56fe\u50cf\uff0c\u53ea\u9700\u786e\u4fdd\u5b83\u4e0d\u662f\u6bb5\u843d\u4e2d\u7684\u552f\u4e00\u5185\u5bb9\u3002\u4e00\u79cd\u65b9\u6cd5\u662f\u5728\u56fe\u50cf\u540e\u63d2\u5165\u4e00\u4e2a\u4e0d\u95f4\u65ad\u7684\u7a7a\u683c\u3002

\u8bf7\u6ce8\u610f\uff0c\u5728 reveal.js \u5e7b\u706f\u7247\u653e\u6620\u4e2d\uff0c\u6bb5\u843d\u4e2d\u5177\u6709 r-stretch \u7c7b\u7684\u56fe\u50cf\u5c06\u586b\u6ee1\u5c4f\u5e55\uff0c\u6807\u9898\u548c\u56fe\u5f62\u6807\u7b7e\u5c06\u88ab\u7701\u7565\u3002

  • \u6269\u5c55\uff1alink_attributes

\u53ef\u4ee5\u5728\u94fe\u63a5\u548c\u56fe\u50cf\u4e0a\u8bbe\u7f6e\u5c5e\u6027\uff1a

An inline ![image](foo.jpg){#id .class width=30 height=20px}\nand a reference ![image][ref] with attributes.\n\n[ref]: foo.jpg \"optional title\" {#id .class key=val key2=\"val 2\"}\n

\uff08\u5f53\u4ec5\u4f7f\u7528 #id \u548c .class \u65f6\uff0c\u6b64\u8bed\u6cd5\u4e0e PHP Markdown Extra \u517c\u5bb9\u3002\uff09

\u5bf9\u4e8e HTML \u548c EPUB\uff0c\u9664\u4e86 width \u548c height\uff08\u4f46\u5305\u62ec srcset \u548c sizes\uff09\u4e4b\u5916\u7684\u6240\u6709\u5df2\u77e5 HTML5 \u5c5e\u6027\u90fd\u6309\u539f\u6837\u4f20\u9012\u3002\u672a\u77e5\u5c5e\u6027\u4f5c\u4e3a\u81ea\u5b9a\u4e49\u5c5e\u6027\u4f20\u9012\uff0c\u5e76\u5e26\u6709\u6570\u636e\u524d\u7f00\u3002\u5176\u4ed6\u8f93\u51fa\u5668\u5ffd\u7565\u4e86\u5176\u8f93\u51fa\u683c\u5f0f\u672a\u7279\u522b\u652f\u6301\u7684\u5c5e\u6027\u3002

pandoc \u4f1a\u5bf9\u56fe\u50cf\u7684 width \u548c height \u5c5e\u6027\u8fdb\u884c\u7279\u6b8a\u5904\u7406\u3002\u5728\u6ca1\u6709\u786e\u5b9a\u5355\u4f4d\u65f6\uff0cpandoc \u5047\u5b9a\u5355\u4f4d\u4e3a pixel\u3002\u4f46\u662f\u4f60\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u4efb\u4f55\u5355\u4f4d\u6807\u8bc6\u7b26\uff1apx\u3001cm\u3001mm\u3001in\u3001inch \u548c %\u3002\u6570\u5b57\u548c\u5355\u4f4d\u4e4b\u95f4\u4e0d\u80fd\u6709\u4efb\u4f55\u7a7a\u683c\u3002\u4f8b\u5982\uff1a

![](file.jpg){ width=50% }\n
  • \u5c3a\u5bf8\u53ef\u4ee5\u8f6c\u6362\u4e3a\u4e0e\u8f93\u51fa\u683c\u5f0f\u517c\u5bb9\u7684\u5f62\u5f0f\uff08\u4f8b\u5982\uff0c\u5728\u5c06 HTML \u8f6c\u6362\u4e3a LaTeX \u65f6\uff0c\u4ee5\u50cf\u7d20\u4e3a\u5355\u4f4d\u7684\u5c3a\u5bf8\u5c06\u8f6c\u6362\u4e3a\u82f1\u5bf8\uff09\u3002\u50cf\u7d20\u548c\u7269\u7406\u6d4b\u91cf\u503c\u4e4b\u95f4\u7684\u8f6c\u6362\u53d7 --dpi \u9009\u9879\u7684\u5f71\u54cd\uff08\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u5047\u5b9a\u4e3a 96dpi\uff0c\u9664\u975e\u56fe\u50cf\u672c\u8eab\u5305\u542b dpi \u4fe1\u606f\uff09\u3002
  • % \u5355\u4f4d\u4e00\u822c\u662f\u76f8\u5bf9\u4e8e\u4e00\u4e9b\u53ef\u7528\u7a7a\u95f4\u7684\u3002\u4f8b\u5982\uff0c\u4e0a\u9762\u7684\u793a\u4f8b\u5c06\u5448\u73b0\u4e3a\u4ee5\u4e0b\u5185\u5bb9\u3002
    • HTML: <img href=\"file.jpg\" style=\"width: 50%;\" />
    • LaTeX: \\includegraphics[width=0.5\\textwidth,height=\\textheight]{file.jpg} \uff08\u5982\u679c\u4f60\u4f7f\u7528\u7684\u662f\u81ea\u5b9a\u4e49\u6a21\u677f\uff0c\u5219\u9700\u8981\u50cf\u5728\u9ed8\u8ba4\u6a21\u677f\u4e2d\u4e00\u6837\u914d\u7f6e graphicx\u3002\uff09
    • ConTeXt\uff1a \\externalfigure[file.jpg][width=0.5\\textwidth]
  • \u67d0\u4e9b\u8f93\u51fa\u683c\u5f0f\u5177\u6709\u7c7b\uff08ConTeXt\uff09\u6216\u552f\u4e00\u6807\u8bc6\u7b26 (LaTeX \\caption) \u6216\u4e24\u8005\u517c\u6709\uff08HTML\uff09\u7684\u6982\u5ff5\u3002
  • \u5f53\u672a\u6307\u5b9a width \u6216 height \u5c5e\u6027\u65f6\uff0cpandoc \u4f1a\u67e5\u770b\u56fe\u50cf\u5206\u8fa8\u7387\u548c\u56fe\u50cf\u6587\u4ef6\u4e2d\u5d4c\u5165\u7684 dpi \u5143\u6570\u636e\u3002
","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#div-span","title":"Div \u548c Span","text":"

\u4f7f\u7528 native_divs \u548c native_spans \u6269\u5c55\uff08\u89c1\u4e0a\u6587\uff09\uff0cHTML \u8bed\u6cd5\u53ef\u4ee5\u7528\u4f5c markdown \u7684\u4e00\u90e8\u5206\uff0c\u4ee5\u5728 pandoc AST\uff08\u4e0e\u539f\u59cb HTML \u76f8\u53cd\uff09\u4e2d\u521b\u5efa\u539f\u751f Div \u548c Span \u5143\u7d20\u3002\u4f46\u662f\uff0c\u8fd8\u6709\u66f4\u597d\u7684\u8bed\u6cd5\u53ef\u7528\uff1a

  • \u6269\u5c55\uff1afenced_divs

pandoc \u5141\u8bb8\u5bf9\u539f\u751f Div \u5757\u4f7f\u7528\u7279\u6b8a\u7684\u56f4\u680f\u8bed\u6cd5\u3002Div \u4ee5\u5305\u542b\u81f3\u5c11\u4e09\u4e2a\u8fde\u7eed\u5192\u53f7\u548c\u4e00\u4e9b\u5c5e\u6027\u7684\u6805\u680f\u5f00\u59cb\u3002\u5c5e\u6027\u540e\u9762\u53ef\u4ee5\u6709\u9009\u62e9\u5730\u8ddf\u53e6\u4e00\u4e32\u8fde\u7eed\u7684\u5192\u53f7\u3002\u5c5e\u6027\u8bed\u6cd5\u4e0e\u56f4\u680f\u4ee3\u7801\u5757\u4e2d\u7684\u5b8c\u5168\u76f8\u540c\uff08\u8bf7\u53c2\u9605\u6269\u5c55\uff1afenced_code_attributes\uff09\u3002\u4e0e\u56f4\u680f\u4ee3\u7801\u5757\u4e00\u6837\uff0c\u53ef\u4ee5\u4f7f\u7528\u5927\u62ec\u53f7\u4e2d\u7684\u5c5e\u6027\u6216\u5355\u4e2a\u672a\u52a0\u62ec\u53f7\u7684\u5355\u8bcd\uff0c\u8fd9\u5c06\u88ab\u89c6\u4e3a\u7c7b\u540d\uff08class name\uff09\u3002Div \u4ee5\u5305\u542b\u81f3\u5c11\u4e09\u4e2a\u8fde\u7eed\u5192\u53f7\u7684\u5b57\u7b26\u4e32\u7684\u53e6\u4e00\u884c\u7ed3\u5c3e\u3002\u88ab\u56f4\u8d77\u6765\u7684 Div \u5e94\u8be5\u7528\u7a7a\u884c\u4e0e\u524d\u540e\u6587\u5206\u5f00\u3002

::::: {#special .sidebar}\nHere is a paragraph.\n\nAnd another.\n:::::\n

\u56f4\u680f div \u53ef\u4ee5\u5d4c\u5957\u3002\u5f00\u59cb\u56f4\u680f\uff08Opening fences\uff09\u4e4b\u6240\u4ee5\u6709\u533a\u522b\uff0c\u662f\u56e0\u4e3a\u5b83\u4eec\u5fc5\u987b\u5177\u6709\u5c5e\u6027\uff1a

::: Warning ::::::\nThis is a warning.\n\n::: Danger\nThis is a warning within a warning.\n:::\n::::::::::::::::::\n

\u6ca1\u6709\u5c5e\u6027\u7684\u6805\u680f\u603b\u662f\u7ed3\u675f\u56f4\u680f\uff08closing fences\uff09\u3002\u4e0e\u56f4\u680f\u4ee3\u7801\u5757\u4e0d\u540c\uff0c\u7ed3\u675f\u56f4\u680f\u4e2d\u7684\u5192\u53f7\u6570\u91cf\u4e0d\u9700\u8981\u4e0e\u5f00\u59cb\u56f4\u680f\u4e2d\u7684\u5192\u53f7\u6570\u91cf\u76f8\u5339\u914d\u3002\u4f46\u662f\uff0c\u4f7f\u7528\u4e0d\u540c\u957f\u5ea6\u7684\u6805\u680f\u5c06\u5d4c\u5957\u7684 div \u4e0e\u5176\u7236\u7ea7\u533a\u5206\u5f00\u6765\u6709\u52a9\u4e8e\u63d0\u9ad8\u6e90\u7801\u7684\u53ef\u8bfb\u6027\u3002

  • \u6269\u5c55\uff1abracketed_spans

\u4e00\u4e2a\u5e26\u62ec\u53f7\u7684\u5185\u8054\u5e8f\u5217\uff0c\u5c31\u50cf\u4eba\u4eec\u7528\u6765\u5f00\u59cb\u4e00\u4e2a\u94fe\u63a5\u4e00\u6837\uff0c\u5982\u679c\u5b83\u540e\u9762\u7d27\u8ddf\u7740\u5c5e\u6027\uff0c\u5c06\u88ab\u89c6\u4e3a\u4e00\u4e2a\u5e26\u6709\u5c5e\u6027\u7684 Span\uff1a

[This is *some text*]{.class key=\"val\"}\n
","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_32","title":"\u811a\u6ce8","text":"
  • \u6269\u5c55\uff1afootnotes

Pandoc \u7684 Markdown \u5141\u8bb8\u4f7f\u7528\u811a\u6ce8\uff08Footnote\uff09\uff0c\u8bed\u6cd5\u5982\u4e0b\uff1a

\u8fd9\u662f\u4e00\u4e2a\u811a\u6ce8\u5f15\u7528[^1]\uff0c\u8fd9\u662f\u53e6\u4e00\u4e2a[^longnote]\u3002\n\n[^1]: \u8fd9\u662f\u811a\u6ce8\u6587\u672c\u3002\n\n[^longnote]: \u8fd9\u662f\u53e6\u4e00\u4e2a\u7531\u591a\u4e2a\u5757\u7ec4\u6210\u7684\u811a\u6ce8\n\n    \u968f\u540e\u7684\u6bb5\u843d\u7f29\u8fdb\u4ee5\u8868\u660e\u5b83\u4eec\u5c5e\u4e8e\u524d\u4e00\u4e2a\u811a\u6ce8\u3002\n\n        { \u7f29\u8fdb\u56db\u4e2a\u7a7a\u683c\u7684\u6e90\u7801 }\n\n    \u53ef\u4ee5\u7f29\u8fdb\u6574\u4e2a\u6bb5\u843d\uff0c\u4e5f\u53ef\u4ee5\u53ea\u7f29\u8fdb\u7b2c\u4e00\u884c\u3002\u8fd9\u6837\uff0c\u591a\u6bb5\u843d\u811a\u6ce8\u5c31\u50cf\u591a\u6bb5\u843d\u5217\u8868\u9879\u4e00\u6837\u5de5\u4f5c\u3002\n\n\u8fd9\u4e00\u6bb5\u6587\u672c\u4e0d\u5c5e\u4e8e\u811a\u6ce8\u7684\u4e00\u90e8\u5206\uff0c\u56e0\u4e3a\u5b83\u6ca1\u6709\u7f29\u8fdb\u3002\n

\u811a\u6ce8\u5f15\u7528\u4e2d\u7684\u6807\u8bc6\u7b26\u4e0d\u80fd\u5305\u542b\u7a7a\u683c\u3001\u5236\u8868\u7b26\u6216\u6362\u884c\u7b26\u3002\u8fd9\u4e9b\u6807\u8bc6\u7b26\u4ec5\u7528\u4e8e\u5c06\u811a\u6ce8\u5f15\u7528\u4e0e\u6ce8\u91ca\u672c\u8eab\u76f8\u5173\u8054\uff1b\u5728\u8f93\u51fa\u4e2d\uff0c\u811a\u6ce8\u5c06\u6309\u987a\u5e8f\u7f16\u53f7\u3002

\u811a\u6ce8\u672c\u8eab\u4e0d\u9700\u8981\u653e\u5728\u6587\u4ef6\u7684\u672b\u5c3e\u3002\u5b83\u4eec\u53ef\u4ee5\u51fa\u73b0\u5728\u9664\u5176\u4ed6\u5757\u5143\u7d20\uff08\u5217\u8868\u3001\u5757\u5f15\u53f7\u3001\u8868\u683c\u7b49\uff09\u4e4b\u5916\u7684\u4efb\u4f55\u5730\u65b9\u3002\u6bcf\u4e2a\u811a\u6ce8\u5e94\u4e0e\u5468\u56f4\u7684\u5185\u5bb9\uff08\u5305\u62ec\u5176\u4ed6\u811a\u6ce8\uff09\u7528\u7a7a\u884c\u5206\u9694\u3002

  • \u6269\u5c55\uff1ainline_notes

\u5185\u8054\u811a\u6ce8\u4e5f\u662f\u5141\u8bb8\u7684\uff08\u5c3d\u7ba1\u4e0e\u5e38\u89c4\u6ce8\u91ca\u4e0d\u540c\uff0c\u5b83\u4eec\u4e0d\u80fd\u5305\u542b\u591a\u4e2a\u6bb5\u843d\uff09\u3002\u8bed\u6cd5\u5982\u4e0b\uff1a

\u8fd9\u662f\u4e00\u6bb5\u6f14\u793a\u6587\u672c[^\u5185\u8054\u811a\u6ce8\u5e76\u4e0d\u590d\u6742\uff0c\u4f60\u53ea\u9700\u8981\u76f4\u63a5\u5728\u62ec\u53f7\u5185\u6807\u660e\u6ce8\u91ca\u6587\u672c\u5373\u53ef\u3002]\n

\u5185\u8054\u811a\u6ce8\u548c\u5e38\u89c4\u811a\u6ce8\u53ef\u4ee5\u81ea\u7531\u6df7\u5408\u4f7f\u7528\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_33","title":"\u5f15\u7528\u8bed\u6cd5","text":"
  • \u6269\u5c55\uff1acitations
","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_34","title":"\u975e\u9ed8\u8ba4\u6269\u5c55","text":"","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#markdown","title":"markdown \u53d8\u4f53","text":"

\u9664\u4e86 pandoc \u7684\u6269\u5c55 Markdown \u4e4b\u5916\uff0cpandoc \u8fd8\u652f\u6301\u4ee5\u4e0b Markdown \u53d8\u4f53\uff1a

  • markdown_phpextra (PHP Markdown Extra)
  • markdown_github (deprecated GitHub-Flavored Markdown)
  • markdown_mmd (MultiMarkdown)
  • markdown_strict (Markdown.pl)
  • commonmark (CommonMark)
  • gfm (Github-Flavored Markdown)
  • commonmark_x (CommonMark with many pandoc extensions)

\u8981\u67e5\u770b\u7ed9\u5b9a\u683c\u5f0f\u652f\u6301\u54ea\u4e9b\u6269\u5c55\uff0c\u54ea\u4e9b\u662f\u9ed8\u8ba4\u542f\u7528\u7684\uff0c\u4f60\u53ef\u4ee5\u4f7f\u7528\u5982\u4e0b\u547d\u4ee4\uff1a

pandoc --list-extensions=FORMAT\n

\u5c06\u5176\u4e2d FORMAT \u66ff\u6362\u4e3a\u5177\u4f53\u683c\u5f0f\u7684\u540d\u79f0\u5373\u53ef\u3002

\u8bf7\u6ce8\u610f\uff0ccommonmark\u3001gfm \u548c commonmark_x \u7684\u6269\u5c55\u5217\u8868\u662f\u76f8\u5bf9\u4e8e\u9ed8\u8ba4 commonmark \u5b9a\u4e49\u7684\u3002\u4f8b\u5982\uff0cbacktick_code_blocks \u4e0d\u4f1a\u4f5c\u4e3a\u6269\u5c55\u51fa\u73b0\uff0c\u56e0\u4e3a\u5b83\u9ed8\u8ba4\u542f\u7528\u4e14\u65e0\u6cd5\u7981\u7528\u3002

  1. \u8fd9\u6761\u89c4\u5219\u7684\u76ee\u7684\u662f\u786e\u4fdd\u6b63\u5e38\u7684\u6bb5\u843d\u4ee5\u4eba\u4eec\u7684\u9996\u5b57\u6bcd\u5f00\u5934\uff0c\u6bd4\u5982

    B. Russell was an English philosopher.

    \u4e0d\u88ab\u89c6\u4e3a\u5217\u8868\u9879\u3002\u4f46\u8fd9\u6761\u89c4\u5219\u4e0d\u4f1a\u963b\u6b62\u8bf8\u5982

    (C) 2007 Joe Smith

    \u514d\u4e8e\u88ab\u89e3\u91ca\u4e3a\u5217\u8868\u9879\u3002\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u53ef\u4ee5\u4f7f\u7528\u53cd\u659c\u6760\u8f6c\u4e49\uff1a

    (C\\) 2007 Joe Smith \u21a9

  2. CommonMark \u21a9

  3. \u6211\u53d7\u5230\u4e86 David Wheeler \u7684\u5efa\u8bae\u7684\u5f71\u54cd\u3002\u00a0\u21a9

  4. \u8fd9\u4e2a\u65b9\u6848\u662f Michel Fortin \u63d0\u51fa\u7684\uff0c\u4ed6\u5728 Markdown \u8ba8\u8bba\u5217\u8868\u4e2d\u63d0\u51fa\u4e86\u8fd9\u4e2a\u65b9\u6848\u3002\u00a0\u21a9

  5. \u6b64\u5904\u6307\u7684\u662f\u4f7f\u7528\u4e00\u884c\u4e2d\u7684\u4e24\u4e2a\u5c3e\u968f\u7a7a\u683c\u6765\u8868\u793a\u786c\u6362\u884c\u7b26\u3002\u00a0\u21a9

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/qbittorrent-confs/","title":"qBittorrent \u53c2\u6570\u8be6\u7ec6\u8bbe\u7f6e\u6559\u7a0b","text":"

\u5173\u4e8e

\u672c\u6587\uff08\u6e90\u7ad9\uff09\u53d1\u5e03\u4e8e 2021-08-18\uff0c\u66f4\u65b0\u4e8e 2022-07-18\u3002 \u672c\u7ad9\u5f52\u6863\u65f6\u95f4\uff1a2022-08-04\u3002\u66f4\u65b0\u65f6\u95f4\uff1a2022-08-04

\u6ce8\u610f

  • \u5168\u6587\u5c06\u4ee5\u76ee\u524d\u7684\u6700\u65b0\u7248 v4.2.1 \u4e3a\u4f8b\uff0c\u8fdb\u884c\u53c2\u6570\u8bbe\u7f6e\uff0c\u8001\u7248\u672c\u67d0\u4e9b\u529f\u80fd\u4e0d\u592a\u4e00\u81f4\uff0c\u8bf7\u77e5\u6089\u3002\u7279\u522b\u9e23\u8c22 \u539f\u521b\u8005\uff1aEvine\uff01
  • \u66f4\u591a\u53c2\u6570\uff0c\u5b98\u65b9\u8bf4\u660e libtorrent \u53c2\u6570\u8bbe\u7f6e\u8bf4\u660e
","tags":["qBittorrent","\u6559\u7a0b","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/qbittorrent-confs/#_1","title":"\u7248\u6743\u4fe1\u606f","text":"
  • \u4f5c\u8005: \u591c\u6cd5\u4e4b\u4e66
  • \u539f\u6587: qBittorrent \u53c2\u6570\u8be6\u7ec6\u8bbe\u7f6e\u6559\u7a0b
  • \u8bb8\u53ef\u8bc1\uff1aCC-NC-BY-SA 4.0
","tags":["qBittorrent","\u6559\u7a0b","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/qbittorrent-confs/#_2","title":"\u884c\u4e3a\u53c2\u6570","text":"","tags":["qBittorrent","\u6559\u7a0b","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/qbittorrent-confs/#_3","title":"\u4e0b\u8f7d\u53c2\u6570","text":"","tags":["qBittorrent","\u6559\u7a0b","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/qbittorrent-confs/#_4","title":"\u8fde\u63a5\u53c2\u6570","text":"","tags":["qBittorrent","\u6559\u7a0b","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/qbittorrent-confs/#_5","title":"\u901f\u5ea6\u53c2\u6570","text":"","tags":["qBittorrent","\u6559\u7a0b","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/qbittorrent-confs/#bt","title":"BT \u53c2\u6570","text":"","tags":["qBittorrent","\u6559\u7a0b","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/qbittorrent-confs/#rss","title":"RSS \u8bbe\u7f6e","text":"","tags":["qBittorrent","\u6559\u7a0b","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/qbittorrent-confs/#web","title":"Web \u53c2\u6570","text":"","tags":["qBittorrent","\u6559\u7a0b","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/qbittorrent-confs/#_6","title":"\u9ad8\u7ea7\u53c2\u6570","text":"","tags":["qBittorrent","\u6559\u7a0b","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/qbittorrent-confs/#_7","title":"\u5173\u4e8e\u78c1\u76d8\u7f13\u5b58\u7684\u8865\u5145\u8bf4\u660e","text":"

\u7ecf\u5e38\u6709\u4eba\u5410\u69fd qB \u7279\u522b\u5403\u5185\u5b58\uff0c\u4e2a\u4eba\u731c\u6d4b\u5e94\u8be5\u662f\u78c1\u76d8\u7f13\u5b58\u8bbe\u7f6e\u4e0d\u6b63\u786e\u5bfc\u81f4\u7684\u3002\u78c1\u76d8\u7f13\u5b58\u8bbe\u7f6e\u8fc7\u5c0f\uff0c\u78c1\u76d8\u7f13\u5b58\u5230\u671f\u95f4\u9694\u8fc7\u957f\uff0c\u5148\u4e0b\u8f7d\u7684\u6587\u4ef6\u5757\u6765\u4e0d\u53ca\u5199\u5165\u786c\u76d8\uff0c\u65b0\u7684\u6587\u4ef6\u5757\u53c8\u5230\u4e86\uff0c\u53ef\u80fd\u5c31\u4f1a\u5bfc\u81f4\u5185\u5b58\u7206\u6389\u751a\u81f3\u78c1\u76d8 I/O \u9519\u8bef\u3002\u4e2a\u4eba\u5efa\u8bae\uff1a\u5728\u8fdb\u884c\u9ad8\u901f\u4e0b\u8f7d\u65f6\uff0c\u9002\u5f53\u5c06\u78c1\u76d8\u7f13\u5b58\u8c03\u9ad8\uff0c\u78c1\u76d8\u7f13\u5b58\u5230\u671f\u95f4\u9694\u8c03\u4f4e\uff08\u4e0b\u8f7d\u65f6\u95f4\u9694\u8d8a\u4f4e\u5199\u5165\u8d8a\u9891\u7e41\uff0c\u81ea\u5df1\u6839\u636e\u7535\u8111\u7684\u8d44\u6e90\u5360\u7528\u60c5\u51b5\u8c03\u6574\u6700\u9002\u5408\u81ea\u5df1\u7684\u503c\uff09\u3002\u5b9e\u5728\u4e0d\u77e5\u9053\u600e\u4e48\u8c03\u7684\uff0c\u5c31\u5e72\u8106\u628a\u78c1\u76d8\u7f13\u5b58\u8bbe\u7f6e\u4e3a -1\uff08\u81ea\u52a8\uff09\u597d\u4e86\uff0c\u8fd8\u4e0d\u884c\uff0c\u5c31\u628a\u78c1\u76d8\u7f13\u5b58\u5230\u671f\u95f4\u9694\u518d\u8c03\u4f4e\u4e00\u4e9b\u3002\u4e3e\u4e00\u4e2a\u4f8b\u5b50\uff0c\u6bd4\u5982\u8bbe\u7f6e 2048MiB \u78c1\u76d8\u7f13\u5b58\u3001300s \u78c1\u76d8\u7f13\u5b58\u5230\u671f\u95f4\u9694\u65f6\uff0c\u5f53\u4e0b\u8f7d\u901f\u5ea6\u4e3a 50MiB/s \u7684\u65f6\u5019\uff0c300s \u7684\u65f6\u95f4\u603b\u5171\u53ef\u4ee5\u4e0b\u8f7d 15000MiB\uff0c\u65e9\u5c31\u8fdc\u8fdc\u8d85\u8fc7 2048MiB \u4e86\uff0c\u4e0d\u7206\u5185\u5b58\u3001\u4e0d I/O \u9519\u8bef\u624d\u602a\u3002\u6240\u4ee5\u5f53\u8fbe\u5230\u8fd9\u4e2a\u4e0b\u8f7d\u901f\u5ea6\u7684\u65f6\u5019\uff0c\u5728\u78c1\u76d8\u7f13\u5b58\u4e0d\u53d8\u7684\u60c5\u51b5\u4e0b\uff0c\u6839\u636e\u7b80\u5355\u7684\u9664\u6cd5\uff08\u78c1\u76d8\u7f13\u5b58\u9664\u4ee5\u4e0b\u8f7d\u901f\u5ea6\uff09\u53ef\u77e5\uff0c\u78c1\u76d8\u7f13\u5b58\u5230\u671f\u95f4\u9694\u5c31\u5e94\u8be5\u8bbe\u7f6e\u523040s\u4ee5\u4e0b\u4e86\u3002

qB \u5728\u6b63\u5e38\u8fd0\u884c\u540e\uff0c\u5176\u5360\u7528\u7684\u5185\u5b58\u4f1a\u6bd4\u4f60\u6240\u8bbe\u7f6e\u7684\u78c1\u76d8\u7f13\u5b58\u591a\u51e0\u767e M\u3002\u6240\u6709\u7684\u53c2\u6570\u6ca1\u6709\u6807\u51c6\u7b54\u6848\uff0c\u4e00\u5207\u90fd\u5f97\u6839\u636e\u4f60\u673a\u5b50\u7684\u672c\u8eab\u5c5e\u6027\u4ee5\u53ca\u5b9e\u9645\u7684\u4f7f\u7528\u573a\u666f\uff08\u6bd4\u5982 CPU \u6027\u80fd\u3001\u5185\u5b58\u5927\u5c0f\u3001\u786c\u76d8\u5199\u5165\u901f\u5ea6\u3001\u4e0b\u8f7d\u901f\u5ea6\u7b49\uff09\u6765\u8bbe\u7f6e\uff0c\u5efa\u8bae\u5927\u5bb6\u591a\u8bd5\u9a8c\u3002

","tags":["qBittorrent","\u6559\u7a0b","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/qbittorrent-confs/#tcputp","title":"\u5173\u4e8eTCP\u3001UTP\u7684\u8865\u5145\u8bf4\u660e","text":"

TCP \u662f Internet \u4e0a\u6700\u5e38\u7528\u7684\u534f\u8bae\uff0c\u662f\u4e00\u79cd\u9762\u5411\u8fde\u63a5\u7684\u3001\u53ef\u9760\u7684\u3001\u57fa\u4e8e\u5b57\u8282\u6d41\u7684\u4f20\u8f93\u5c42\u901a\u4fe1\u534f\u8bae\u3002TCP \u7684\u4f18\u52bf\u5728\u4e8e\u53cc\u5411\u4e92\u52a8\u673a\u5236\u517c\u987e\u6570\u636e\u4f20\u8f93\u7684\u5b8c\u6574\u6027\u3001\u53ef\u63a7\u5236\u6027\u548c\u53ef\u9760\u6027\uff0c\u4f46\u590d\u6742\u7684\u6821\u9a8c\u4e0e\u63a7\u5236\u673a\u5236\u4e5f\u4f7f\u5176\u6ca1\u6709 UDP \u4f20\u8f93\u6548\u7387\u9ad8\u3002

UDP \u534f\u8bae\u4e0e TCP \u534f\u8bae\u4e00\u6837\u7528\u4e8e\u5904\u7406\u6570\u636e\u5305\uff0c\u662f\u4e00\u79cd\u65e0\u8fde\u63a5\u7684\u534f\u8bae\u3002UDP \u7684\u7f3a\u70b9\u662f\u4e0d\u63d0\u4f9b\u6570\u636e\u5305\u5206\u7ec4\u3001\u7ec4\u88c5\u548c\u4e0d\u80fd\u5bf9\u6570\u636e\u5305\u8fdb\u884c\u6392\u5e8f\u7684\u7f3a\u70b9\uff0c\u4e5f\u5c31\u662f\u8bf4\uff0c\u5f53\u62a5\u6587\u53d1\u9001\u4e4b\u540e\uff0c\u662f\u65e0\u6cd5\u5f97\u77e5\u5176\u662f\u5426\u5b89\u5168\u5b8c\u6574\u5230\u8fbe\u7684\u3002UDP \u4f18\u52bf\u5728\u4e8e\u5e26\u5bbd\u5360\u7528\u5c0f\u3001\u4f20\u8f93\u6548\u7387\u548c\u8fde\u63a5\u6210\u529f\u7387\u9ad8\uff0c\u6709\u76ca\u4e8e\u5185\u7f51\u7528\u6237\uff08\u5982\u901a\u8fc7 UDP \u5185\u7f51\u7a7f\u900f UDP Hole Punching \u8fde\u63a5\uff09\uff0c\u4f46 UDP \u4e0e TCP \u534f\u8bae\u76f8\u6bd4\u4e5f\u5b58\u5728\u65e0\u53cd\u5411\u786e\u8ba4\u673a\u5236\u3001\u65e0\u6d41\u91cf\u548c\u5e8f\u5217\u63a7\u5236\u7b49\u5f0a\u7aef\u3002

uTP(Micro Transport Protocol) \u662f\u4e00\u79cd\u6b63\u5728\u6807\u51c6\u5316\u7684\u5f00\u653e\u5f0f BT \u534f\u8bae\uff0c\u4e3b\u8981\u529f\u80fd\u662f\u63d0\u9ad8\u5bbd\u5e26\u4f7f\u7528\u6548\u7387\u3001\u51cf\u5c11\u7f51\u7edc\u95ee\u9898\u3002\u5728\u51cf\u7f13\u7f51\u7edc\u5ef6\u8fdf\u548c\u62e5\u5835\u7684\u540c\u65f6\u6700\u5927\u5316\u7f51\u7edc\u541e\u5410\u91cf\u3001\u514b\u670d\u591a\u6570\u9632\u706b\u5899\u548c NAT \u7684\u963b\u788d\uff0c\u589e\u5f3a\u7f51\u7edc\u7a7f\u900f\u548c\u4f20\u8f93\u6548\u7387\uff0c\u540c\u65f6\u589e\u76ca\u6d41\u91cf\u63a7\u5236\uff0c\u8fd9\u5bf9 BT \u7528\u6237\u548c ISP \u90fd\u662f\u4e92\u5229\u7684\u3002uTP \u867d\u57fa\u4e8e UDP \u534f\u8bae\u4f46\u6709\u6240\u4e0d\u540c\uff0cuTP \u901a\u8fc7\u62e5\u5835\u63a7\u5236\u7b97\u6cd5\uff08Ledbat\uff09\u53ef\u9650\u5236\u5ef6\u65f6\uff0c\u5f53\u5ef6\u65f6\u4e0d\u4e25\u91cd\u65f6\u53ef\u6700\u5927\u9650\u5ea6\u5229\u7528\u5e26\u5bbd\uff0c\u5e76\u80fd\u901a\u8fc7 uTP \u63d0\u4f9b\u7684\u4fe1\u606f\u7528\u4e8e\u9009\u62e9 TCP \u8fde\u63a5\u7684\u4f20\u8f93\u7387\uff0c\u5373\u4f7f\u5728\u4e0d\u4f5c\u9650\u901f\u8bbe\u7f6e\u7684\u60c5\u51b5\u4e0b\uff0c\u4e5f\u80fd\u51cf\u5c11\u7f51\u7edc\u62e5\u5835\u4ea7\u751f\uff0c\u5f53\u7528\u6237\u7aef\u4e4b\u95f4\u90fd\u542f\u7528 uTP \u65f6\uff0c\u53ef\u89c1\u660e\u663e\u7684\u4f20\u8f93\u901f\u7387\u63d0\u5347\u3002\u5185\u7f51\u65e0\u6cd5\u5b9e\u73b0\u7aef\u53e3\u6620\u5c04\u7684\u7528\u6237\u542f\u7528 uTP\uff0c\u53ef\u4ee5\u6539\u5584\u4e0e\u7f51\u5916\u7528\u6237\u7684\u8fde\u63a5\u3002

\u4f7f\u7528 uTP \u8fdb\u884c\u8fde\u63a5\u7684\u7528\u6237\uff0c\u5176\u6807\u5fd7\u5c06\u5305\u542b \u201cP\u201d\u3002

","tags":["qBittorrent","\u6559\u7a0b","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/rss-refresh/","title":"\u300e\u7ed9 RSS \u7231\u597d\u8005\u4eec\u7684\u4e00\u5c01\u4fe1\u300f\u4e3a\u4ec0\u4e48\u6211\u4eec\u5e94\u8be5\u63d0\u9ad8 RSS \u5237\u65b0\u95f4\u9694\uff1f","text":"","tags":["RSS","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/rss-refresh/#_1","title":"\u7248\u6743\u4fe1\u606f","text":"
  • \u4f5c\u8005: \u4e00\u5ea7\u6865\u5728\u6c34\u4e0a
  • \u539f\u6587: \u300e\u7ed9RSS\u7231\u597d\u8005\u4eec\u7684\u4e00\u5c01\u4fe1\u300f\u4e3a\u4ec0\u4e48\u6211\u4eec\u5e94\u8be5\u63d0\u9ad8RSS\u5237\u65b0\u95f4\u9694\uff1f
  • \u8bb8\u53ef\u8bc1\uff1aCC0
  • \u6e90\u7ad9\u6700\u540e\u66f4\u65b0\u65f6\u95f4\uff1a2021-01-02 17:03
  • \u672c\u7ad9\u6536\u5f55\u65f6\u95f4\uff1a2023-03-17

\uff01\uff01\uff01\u6b64\u6587\u7ae0\u4e00\u4e9b\u5b58\u5728\u6096\u8bef\uff0c\u5177\u4f53\u9519\u8bef\u8be6\u60c5\u60c5\u67e5\u770b\u6587\u7ae0\u672b\u5c3e\u70b9\u51fb\u8df3\u8f6c \uff01\uff01\uff01 \u6240\u4ee5\u8fd9\u7bc7\u6587\u7ae0\u8fd8\u6b63\u5728\u5b8c\u5584\u4e2d\u2026\u2026

\u8fd9\u662f\u4e00\u4e2a\u5021\u8bae\uff0c\u5021\u8bae\u5927\u5bb6\u81ea\u89c9\u964d\u4f4e\u5bf9\u4e8e\u535a\u5ba2&\u64ad\u5ba2\u8fd9\u7c7b \u66f4\u65b0\u9891\u7387\u4f4e/\u53ca\u65f6\u6027\u8981\u6c42\u4e0d\u9ad8 feed \u7684\u66f4\u65b0\u9891\u7387\u3002

\u6ce8\uff1a\u5982\u679c\u4f60\u4e0d\u6e05\u695a\u6587\u4e2d rss/atom/feed/\u6e90 \u56db\u4e2a\u8bcd\u7684\u533a\u522b\u548c\u610f\u601d\uff0c\u628a\u5b83\u4eec\u90fd\u5f53 rss \u5c31\u597d\uff0c\u6ca1\u6709\u592a\u5927\u95ee\u9898\uff0c\u6211\u4eec\u65e5\u5e38\u4f7f\u7528\u4e5f\u4f1a\u6df7\u6dc6\u5b83\u4eec\ud83d\ude02

\u4f60\u7684\u9ad8\u9891\u7387\u5237\u65b0\u53ef\u80fd\u6b63\u5728\u7ed9\u4e00\u4e9b\u7f51\u7ad9\u5e26\u6765\u4f24\u5bb3\uff01\uff01

","tags":["RSS","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/rss-refresh/#_2","title":"\u5168\u6587\u7ae0\u548c\u5168\u6587\u8f93\u51fa","text":"

\u6709\u4e9b\u535a\u5ba2\u4f1a\u5c06\u4ed6\u4eec\u7684\u5168\u90e8\u6587\u7ae0\u548c\u5168\u6587\u5185\u5bb9\u8f93\u51fa\u5230 feed \u3002\u4ece rss \u7528\u6237\u7684\u4f53\u9a8c\u548c\u4e92\u8054\u7f51\u5f00\u653e\u7cbe\u795e\u7684\u89d2\u5ea6\u770b\uff0c\u8fd9\u6837\u7684\u65e0\u7591\u662f\u597d\u4e8b:

  • \u4e00\u4e9b\u535a\u5ba2\u7684 feed \u4e0d\u8f93\u51fa\u5168\u6587\uff0c\u54ea\u6015\u53ef\u4ee5\u7528css\u6765\u83b7\u53d6\u5168\u6587\uff0c\u4e5f\u5f88\u9ebb\u70e6\u3002\u201c\u6ca1\u6709\u5168\u6587\u7684 feed \u6ca1\u6709\u7075\u9b42\u201d\u5931\u53bb\u4e86\u5168\u6587\u4f53\u9a8c\uff0crss \u7684\u610f\u4e49\u5c31\u5931\u53bb\u4e86\u4e00\u534a\u3002
  • \u535a\u5ba2\u53ea\u8f93\u51fa\u6700\u8fd1\u7684\u5341\u51e0\u7bc7\u6587\u7ae0\uff0c\u4f46\u6211\u60f3\u770b\u770b\u66f4\u591a\u65e9\u524d\u7684\u6587\u7ae0\uff0c\u53c8\u61d2\u5f97\u4e3b\u52a8\u6253\u5f00\u7f51\u7ad9\u53bb\u7ffb\uff0c\u6211\u53ef\u80fd\u5c31\u6ca1\u673a\u4f1a\u770b\u5230\u4e4b\u524d\u7684\u535a\u6587\u3002\u6bd5\u7adf\u5b83\u4e0d\u8f93\u51fa\u4ee5\u524d\u7684\u6587\u7ae0\uff0c\u6211\u54ea\u6015\u77e5\u9053\u8fd9\u4e2a\u535a\u5ba2\u4ee5\u524d\u7684\u6587\u7ae0\u80af\u5b9a\u4e0d\u5728feed\u91cc\uff0c\u4f46\u6211\u8fde\u8fd9\u4e9b\u6587\u7ae0\u7684\u6807\u9898\u90fd\u4e0d\u77e5\u9053\uff0c\u4e3b\u52a8\u4e0a\u535a\u5ba2 web \u6d4f\u89c8\u7684\u51b2\u52a8\u4e5f\u5c31\u5c11\u4e86\u51e0\u5206\u3002
  • \u4e14\u5f53\u535a\u5ba2\u7f51\u7ad9\u7a81\u7136\u95f4\u6d88\u5931\u5728\u4e92\u8054\u7f51\u65f6(\u6bd4\u5982\u79d1\u5b66\u677e\u9f20\u4f1a\u5173\u7ad9\u3001\u4ee5\u53ca\u5f88\u591a\u4e2a\u4eba\u535a\u5ba2\u4e0d\u6253\u62db\u547c\u5220\u5e93\u8dd1\u8def)\uff0c\u6211\u5e76\u6ca1\u6709\u628a\u5b83\u7684\u5168\u90e8\u6587\u7ae0\u4fdd\u5b58\u5230\u672c\u5730\u3002\u867d\u7136\u90a3\u4e9b\u6587\u7ae0\u6211\u4e0d\u4e00\u5b9a\u770b\uff0c\u4f46\u662f\u6ca1\u6709\u4fdd\u5b58\u4e0b\u6765\u7684\u8bdd\u6211\u4f1a\u6709\u79cd\u50cf\u4e22\u4e86\u4e1c\u897f\u4e00\u6837\u7684\u201c\u635f\u5931\u201d\u611f\u548c\u6de1\u6de1\u7684\u60b2\u4f24\u3002\uff08\u4e3a\u8fd9\u4e9b\u7ad9\u957f R.I.P \u51e0\u79d2\ud83d\ude25\uff09
","tags":["RSS","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/rss-refresh/#_3","title":"\u6e90\u7684\u5927\u5c0f\u5e26\u6765\u7684\u5f71\u54cd","text":"

\u4e0d\u8fc7\u5f80\u5f80\u8fd9\u6837\u7684\u826f\u5fc3 feed \u6e90\u6bd4\u5176\u4ed6\u7684\u53ea\u8f93\u51fa\u6700\u8fd1 5/10/15/20 \u6761\u6587\u7ae0\u7684\u6e90\u7684\u5927\u5c0f\u8981\u5927\u5f88\u591a\uff0c\u7279\u522b\u662f\u5728\u6587\u7ae0\u5f88\u591a\u5f88\u957f\u7684\u60c5\u51b5\u4e0b\u3002

  • inote\uff0c\u4ed6\u7684 feed \u8f93\u51fa\u5168\u90e8\u6587\u7ae0\u548c\u5168\u6587\uff0c\u6709 1.5MB\u3002(update:\u672c\u6587\u53d1\u51fa\u540e\uff0c\u8fd9\u4f4d\u535a\u4e3b\u7684 feed \u4e0d\u518d\u8f93\u51fa\u5168\u90e8\u6587\u7ae0)
  • \u4e00\u5927\u52a0\u8d1d\uff0c\u4ed6\u7684 feed \u8f93\u51fa\u5168\u90e8\u6587\u7ae0\u4f46\u4e0d\u8f93\u51fa\u5168\u6587\uff0c\u6709 0.15MB\uff0c\u5982\u679c\u518d\u8f93\u51fa\u5168\u6587\uff0c\u5927\u5c0f\u53ef\u60f3\u800c\u77e5\u3002
  • \u2026\u2026

\u5bf9\u4e8e\u72ec\u7acb\u64ad\u5ba2\uff0c\u8fd9\u6837\u7684\u60c5\u51b5\u66f4\u666e\u904d\uff0c\u64ad\u5ba2\u4e0d\u53ef\u80fd\u7ed9\u4f60\u53ea\u8f93\u51fa\u6700\u8fd1 15 \u671f\u8fd9\u6837\u6765\u5427\uff0c\u80af\u5b9a\u4f1a\u628a\u4ece\u7b2c\u4e00\u671f\u5f00\u59cb\u7684\u6240\u6709\u8282\u76ee\u90fd\u653e feed \u91cc\u3002

  • \u6d25\u6d25\u4e50\u9053\uff0cfeed \u6709 1.45MB\uff1b
  • \u6545\u4e8b FM\uff0cfeed \u6709 2.49MB\uff1b
  • \u4e00\u5929\u4e16\u754c\uff0cfeed \u6709 0.57MB\uff1b
  • \u2026\u2026

\u8fd9\u91cc\u5199\u7684\u662f\u7ecf\u8fc7 http \u538b\u7f29\u540e\u7684\u5927\u5c0f\uff08\u7f51\u7edc\u5b9e\u9645\u4f20\u8f93\u5927\u5c0f\uff09

","tags":["RSS","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/rss-refresh/#_4","title":"\u6d41\u91cf\u5f88\u8d35","text":"

\u5982\u679c\u4f60\u6bcf 5 \u5206\u949f\u5237\u65b0\u4e00\u6b21 feed \uff0c\u5bf9\u5e94\u7ad9\u70b9\u7684 feed \u5927\u5c0f\u4e3a 500KB\u3002

5 \u5206\u949f\u4e00\u6b21\u5237\u65b0\u4e0d\u6781\u7aef\uff0c\u8fd8\u633a\u666e\u904d\u3002\u5f88\u591a\u4eba\u8bbe\u7f6e\u7684\u5237\u65b0\u9891\u7387\u90fd\u662f\u8f6f\u4ef6\u80fd\u63d0\u4f9b\u591a\u77ed\uff0c\u5c31\u8bbe\u7f6e\u591a\u77ed\uff0c\u800c telegram \u7684 rssbot \u66f4\u662f\u53ea\u80fd 5 \u5206\u949f\u5237\u65b0\u4e00\u6b21\uff0c\u8fd8\u4e0d\u80fd\u6539\ud83e\udd12

\u90a3\u4e48\u4e00\u4e2a\u6708\u4f60\u5c06\u4f7f\u7528 60min \u00d7 24hour \u00d7 30day \u00f7 5min \u00d7 0.5MB = 4.32GB \u7684\u6d41\u91cf\u7528\u4e8e\u5237\u65b0\u8be5 rss\u3002\u4f60\u7528\u6d41\u91cf\u4e0d\u8981\u7d27\uff0c\u4f46\u5982\u679c\u535a\u4e3b\u4f7f\u7528\u4e86\u4ed8\u8d39 CDN \u6765\u4f18\u5316\u7f51\u7ad9\u8bbf\u95ee\u4f53\u9a8c\uff0c\u90a3\u535a\u4e3b\u5c31\u9700\u8981\u4e3a CDN \u652f\u4ed8\u6d41\u91cf\u8d39\u7528\u3002

So\uff0c\u4f60\u9891\u7e41\u7684 rss \u66f4\u65b0\u5e76\u4e0d\u4f1a\u50cf\u9891\u7e41\u8bbf\u95ee web \u90a3\u6837\u7ed9\u7f51\u7ad9\u5e26\u6765\u5927\u91cf pv (\u6d4f\u89c8\u91cf)\uff0c\u8ba9\u535a\u4e3b\u5728\u6d4f\u89c8\u540e\u53f0\u65f6\u6536\u83b7\u5feb\u4e50\u3002

Just like\uff1a(\u8fd9\u4e48\u591a\u6d4f\u89c8\u91cf\uff0c\u5f00\u5fc3\u5f00\u5fc3\ud83d\ude1c\uff1b\u54c7\uff0c\u8fd9\u4e2a\u6765\u81ea\u706b\u661f\u7684\u8bbf\u5ba2\u628a\u6211\u5168\u90e8\u6587\u7ae0\u90fd\u770b\u4e86\uff0c\u5f00\u5fc3\u5f00\u5fc3\ud83d\ude1d\uff09\u3002

\u51b5\u4e14\uff0cRSS \u770b\u6587\u7ae0\uff0c\u9664\u975e\u53bb\u8bc4\u8bba\u7559\u8a00\uff0c\u4f60\u4e0d\u4f1a\u518d\u53bb\u8bbf\u95ee\u535a\u4e3b\u7684\u7f51\u7ad9\u3002

\u8fd9\u5c31\u610f\u5473\u7740\u535a\u4e3b\u7684 CDN \u8d26\u5355\u53ef\u80fd\u5c31\u5f97\u4e3a\u4e86\u4f60\u800c\u6bcf\u6708\u589e\u52a0\u51e0\u5757\u94b1\u7684\u8d39\u7528\u3002\u542c\u4e0a\u53bb\u4e0d\u591a\u5bf9\u5427\uff1f

  • \u4f46\u535a\u4e3b\u672c\u53ef\u4ee5\u7528\u8fd9\u51e0\u5757\u94b1 CDN \u8d39\uff0c\u7528\u5728 web \u7684\u8bbf\u95ee\u4e0a\uff0c\u7ed9\u4e0a\u5343\u4e2a\u8bbf\u5ba2\u66f4\u597d\u7684 web \u4f53\u9a8c\u3002
  • \u8d39\u7528\u662f\u6301\u7eed\u4ea7\u751f\u7684\uff0c\u9664\u975e\u4f60\u4e0d\u518d\u8ba2\u9605\u5bf9\u5e94\u535a\u5ba2\u3002

\u8fd9\u6837\u535a\u4e3b\u5c31\u5728\u4e3a\u4f60\u80fd\u4ec5\u4ec5\u65e9\u51e0\u5341\u5206\u949f\u6536\u5230\u6700\u65b0\u6587\u7ae0\u800c\u88ab\u52a8\u4ed8\u8d39\u3002

\u800c\u5bf9\u4e8e\u72ec\u7acb\u64ad\u5ba2\uff08podcast\uff09\uff0c\u4ed6\u4eec\u7684\u60c5\u51b5\u8fd8\u597d\uff0c\u5982\u679c\u662f\u8ba2\u9605\u91cf\u4e0a\u4e07\u7684\u70ed\u95e8\u64ad\u5ba2\uff0c\u4ed6\u4eec\u7684\u6d41\u91cf\u5927\uff0c\u6240\u4ee5\u53ef\u4ee5\u4e0e CDN \u5382\u5546\u8c08\u62e2\u5230\u51e0\u5206\u94b1\u6bcf GB \u7684 CDN \u6d41\u91cf\u4ef7\u683c\u3002\u4f46\u5e7f\u5927\u4e2d\u5c0f\u578b\u535a\u4e3b\u5c31\u6ca1\u8fd9\u4e48\u5e78\u8fd0\u4e86\uff0c\u535a\u5ba2\u6d41\u91cf\u603b\u91cf\u4e0d\u5927\uff0c\u6839\u672c\u6ca1\u8d44\u683c\u4e0e CDN \u5382\u5546\u8c08\u6761\u4ef6\uff08\u8fd9\u91cc\u8d5e\u626c\u4e00\u4e0b\u53c8\u62cd\u548c\u4e03\u725b\uff0c\u514d\u8d39\u7684\u201c\u8054\u76df\u201d\u8ba1\u5212\u5bf9\u4e8e\u535a\u4e3b\u4eec\u7b97\u662f\u798f\u5229\u4e86\uff09\u3002

\u5982\u679c\u5404\u4f4d rss \u4f7f\u7528\u8005\u5927\u90e8\u5206\u6ca1\u6709\u610f\u8bc6\u5230\u8fd9\u4e2a\u95ee\u9898\uff0c\u53d7\u4f24\u7684\u5c06\u4f1a\u662f\u4f60\u6240\u559c\u6b22\u7684\u535a\u5ba2\u548c\u64ad\u5ba2\u672c\u8eab\u3002

\u5f53\u7136\uff0c\u6211\u77e5\u9053\u5f88\u591a\u535a\u5ba2\u4f7f\u7528\u514d\u8d39\u7684\u65e0\u9650\u6d41\u91cf\u7684 Cloudflare CDN\uff0c\u5bf9\u4e8e\u8fd9\u7c7b\u535a\u5ba2\u7684 feed \u786e\u5b9e\u53ef\u4ee5\u60f3\u600e\u4e48\u66f4\u65b0\u5c31\u600e\u4e48\u66f4\u65b0\u3002\u4f46\u662f CDN \u6709\u7f13\u5b58\u554a\uff0c\u4f60\u4f5c\u4e3a\u7528\u6237\uff0c\u66f4\u65b0\u518d\u9891\u7e41\uff0cCDN \u4e0d\u56de\u6e90\u62c9\u65b0\u7248\u6587\u4ef6\uff0c\u4f60\u4e5f\u6ca1\u6709\u529e\u6cd5\u4e0d\u662f\u3002\ud83d\ude02

","tags":["RSS","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/rss-refresh/#rss","title":"RSS \u9762\u5411\u5185\u5bb9\u800c\u4e0d\u662f\u9762\u5411\u5373\u65f6","text":"

\u8fd9\u6709\u5fc5\u8981\u5417\uff1f\u535a\u4e3b\u6bcf\u4e2a\u6708\u5c31\u4ea7\u51fa\u90a3\u51e0\u7bc7\u6587\u7ae0\uff0c\u65e0\u8bba\u4f60\u662f 1 \u79d2\u5237\u65b0\u4e00\u6b21\uff0c\u8fd8\u662f\u4e00\u5929\u5237\u65b0\u4e00\u6b21\uff0c\u4f60\u4e00\u4e2a\u6708\u5176\u5b9e\u5c31\u53ea\u80fd\u770b\u5230\u8fd9\u4e9b\u4e2a\u535a\u6587\u3002\u66f4\u4e0d\u7528\u8bf4\u7edd\u5927\u591a\u8bf4 rss \u7231\u597d\u8005\u7684\u672a\u8bfb\u8ba1\u6570\u90fd\u4e0a\u767e\u4e0a\u5343\u4e86\u3002

\u867d\u7136\u535a\u5ba2\u662f\u65f6\u95f4\u6d41\u5f0f\u7684 web \u5e73\u53f0\uff0c\u4f46\u662f\u5b83\u4e0d\u662f Twitter\u3001\u5fae\u535a\u8fd9\u6837\u7684\u793e\u4f1a\u6027\u793e\u4ea4\u7f51\u7edc\uff0c\u5b83\u4e0d\u662f\u670b\u53cb\u5708\u6216 QQ \u7a7a\u95f4\u3002 \u4f60\u7528\u4e0a\u4e86 rss \uff0c\u4f46\u4f60\u7684\u5fc3\u6ca1\u6709\u5b8c\u5168\u9759\u4e0b\u6765\uff0c\u8fd8\u5728\u88ab IM\uff08\u5373\u65f6\u901a\u8baf\uff09\u548c\u793e\u4ea4\u7f51\u7edc\u7684\u5373\u65f6\u7406\u5ff5\u6240\u5f71\u54cd\u3002\u6211\u77e5\u9053\u6709\u4eba\u7528 rss \u6765\u770b Twitter\uff0c\u6211\u77e5\u9053\u6709 PubSubHubbub \u6280\u672f\u63d0\u9ad8 rss \u672c\u8eab\u7684\u5373\u65f6\u6027\u548c\u901a\u8fbe\u6027\u3002 \u4f46\u662f\u6211\u60f3\u5f15\u7528\u8fd9\u7bc7\u6587\u7ae0\u7684\u4e00\u6bb5\u8bdd\uff1a

\u201c\u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u6240\u8c13\u7684\u300c\u5b9e\u65f6\u300d\u53ea\u662f\u76f8\u5bf9\u7684\uff0c\u901a\u77e5\u7684\u53d1\u9001\u4e0d\u53ef\u80fd\u5feb\u8fc7 RSS \u670d\u52a1\u6293\u53d6\u5230\u8ba2\u9605\u6e90\u66f4\u65b0\u7684\u65f6\u95f4\uff0c\u800c\u6211\u4eec\u5df2\u7ecf\u77e5\u9053\u540e\u8005\u5f80\u5f80\u5b58\u5728\u4e0d\u53ef\u907f\u514d\u7684\u65f6\u95f4\u5dee\u3002\u56e0\u6b64\uff0c\u5b9e\u65f6\u63a8\u9001\u529f\u80fd\u7684\u4f5c\u7528\u53ea\u662f\u63d0\u9192\u6211\u4eec\u4e0d\u8981\u9519\u8fc7\u5173\u5fc3\u7684\u5185\u5bb9\uff1b\u8981\u771f\u6b63\u505a\u5230\u5206\u949f\u7ea7\u7684\u5148\u77e5\u5148\u89c9\uff0c\u5f53\u4eca\u5a92\u4f53\u751f\u6001\u4e0b\u6050\u6015\u8fd8\u662f\u76f4\u63a5\u7784\u51c6\u793e\u4ea4\u7f51\u7edc\u66f4\u4e3a\u9760\u8c31\u3002\u201d \u2014\u2014 From \u300e2018 \u5e74\u4e3b\u6d41 RSS \u670d\u52a1\u9009\u54ea\u5bb6\uff1fFeedly\u3001Inoreader \u548c NewsBlur \u5168\u9762\u6a2a\u8bc4\u300f by PlatyHsu 2018-05-04

\u5199\u5230\u8fd9\u91cc\u6211\u7a81\u53d1\u5947\u60f3\u3002\u5047\u5982\u4f60\u6bcf\u5929\u4f1a\u6536\u5230\u4e00\u5b9a\u91cf\u7684\u6587\u7ae0\uff0c\u90a3\u4e48\u5ef6\u957f\u5237\u65b0\u95f4\u9694\u65f6\u95f4\u540e\uff0c\u5e73\u5747\u6bcf\u6b21\u5237\u65b0\u5c06\u4e3a\u4f60\u5e26\u6765\u66f4\u591a\u6587\u7ae0\uff0c\u67d0\u79cd\u610f\u4e49\u4e0a\u4f60\u8d5a\u4e86\u3002\u201c\u597d\u5427\uff0c\u6211\u8fd9\u662f \u77ed\u89c6\u635f\u5931\u538c\u6076 \u7684\u53cd\u5411\u4e3e\u4f8b\ud83d\ude17\u201d

\u73b0\u5728\u8fd8\u5728\u5199\u72ec\u7acb Blog \u548c\u5f00 Podcast \uff0c\u54ea\u4e00\u4e2a\u4e0d\u662f\u5174\u8da3\u9a71\u52a8\u5e76\u7528\u7231\u53d1\u7535\uff1fSo\uff0c\u4e3a\u4e86\u66f4\u597d\u7684\u535a\u5ba2/\u535a\u5ba2\u4ee5\u53ca\u6574\u4e2a rss \u751f\u6001\u73af\u5883\u7684\u5065\u5eb7\u53d1\u5c55\uff0c\u5728\u6b64\u5021\u8bae\u5404\u4f4d rss \u540c\u597d \uff1a

  • \u5ef6\u957f rss \u81ea\u52a8\u66f4\u65b0\u65f6\u95f4\uff0c\u6700\u597d 1 \u5c0f\u65f6\u4ee5\u4e0a---\u63a8\u8350\u8bbe\u4e3a 1.5 \u5c0f\u65f6\u3002
  • \u4ec5\u5bf9\u5373\u65f6\u6027\u8981\u6c42\u8f83\u9ad8\u7684\u8d44\u8baf\u6e90\u6216\u8bba\u575b\u6e90\u9002\u5f53\u7f29\u77ed\u5237\u65b0\u95f4\u9694\u3002
  • \u8ba9\u66f4\u591a\u7684 rss \u540c\u597d\u4eec\u4e00\u8d77\u63d0\u9ad8\u5237\u65b0\u95f4\u9694\u3002
  • \u8ba9 rss \u8f6f\u4ef6\u5f00\u53d1\u8005\u4e5f\u77e5\u9053\u6b64\u4e8b\u3002

","tags":["RSS","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/rss-refresh/#_5","title":"\u672c\u4e0d\u5e94\u8be5\u51fa\u73b0\u8fd9\u6837\u7684\u95ee\u9898","text":"","tags":["RSS","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/rss-refresh/#http","title":"http \u7f13\u5b58","text":"

\u4e92\u8054\u7f51\u7684\u8001\u7956\u5b97\u8001\u65e9\u5c31\u60f3\u5230\u4e86\u8fd9\u4e2a\u95ee\u9898\u3002http \u5934\u6709 etag\u3001Last-Modified\u3001Cache-Control \u7b49\u53c2\u6570\u6765\u5b9e\u73b0\u7f13\u5b58\u3002

\u6bd4\u5982 Last-Modified\uff0c\u5b83\u4f1a\u8bb0\u5f55\u6587\u4ef6\u7684\u6700\u540e\u4fee\u6539\u65f6\u95f4\u3002

\u5f53\u4f60\u7b2c\u4e00\u6b21\u901a\u8fc7\u7f51\u7edc\u8bbf\u95ee\u670d\u52a1\u5668\u4e0a\u67d0\u4e2a\u6587\u4ef6\u65f6\uff0c\u670d\u52a1\u5668\u4f1a\u901a\u8fc7\u8fd9\u4e2a http \u5934\u544a\u8bc9\u5ba2\u6237\u7aef\uff1a\u201c\u8fd9\u4e2a\u6587\u4ef6\u6700\u540e\u4fee\u6539\u65f6\u95f4\u662f 2021/03/20-17:55 \u201d \uff0c

\u5f53\u4f60\u4e0b\u6b21\u518d\u8bbf\u95ee\u8fd9\u4e2a\u6587\u4ef6\u65f6\uff0c\u4f60\u4f1a\u544a\u8bc9\u670d\u52a1\u5668\uff1a\u201c\u6211\u4e4b\u524d\u6536\u5230\u7684\u6587\u4ef6\u7684\u6700\u540e\u4fee\u6539\u65f6\u95f4\u662f 2021/03/20-17:55\uff0c\u8bf7\u95ee\u6587\u4ef6\u6709\u6539\u52a8\u5417\uff1f\u6709\u6539\u52a8\u5c31\u628a\u65b0\u6587\u4ef6\u53d1\u7ed9\u6211\uff01\u6ca1\u6709\u5c31\u5431\u6211\u4e00\u58f0\u201d

\u670d\u52a1\u5668\u6536\u5230\u540e\u4f1a\u6bd4\u5bf9\u4fee\u6539\u65f6\u95f4\u662f\u5426\u4e00\u81f4\uff0c\u5982\u679c\u4e00\u81f4\uff0c\u5c31\u4f1a\u544a\u8bc9\u4f60\uff1a\u201c\u6ca1\u6709\u6539\u52a8\uff08304 Not-Modified\uff09\u201d\uff0c\u5c31\u4e0d\u4f1a\u7ed9\u4f60\u518d\u6b21\u53d1\u9001\u76f8\u540c\u7684\u6587\u4ef6\uff0c\u6574\u4e2a\u8fc7\u7a0b\u4e5f\u4ec5\u4ec5\u53ea\u6d88\u8017\u4e0d\u5230 1kb\u3002

\u800c etag\uff0c\u5b83\u7684\u4f5c\u7528\u7684 Last-Modified \u7c7b\u4f3c\uff0c\u4e0d\u8fc7\u5b83\u662f\u57fa\u4e8e\u6587\u4ef6\u5185\u5bb9\u751f\u6210\u7684\u7279\u5f81\u7801\uff0c\u5177\u4f53\u673a\u5236\u4e0d\u7ec6\u8bf4\u4e86\u3002Cache-Control \u4e5f\u4e0d\u7ec6\u8bf4\u4e86\u3002

\u4f46\u662f\u5f88\u591a\u535a\u5ba2\u662f\u57fa\u4e8e PHP \u7684\u52a8\u6001\u535a\u5ba2\uff08\u6bd4\u5982\u672c\u7ad9\u4f7f\u7528\u7684 Typecho\uff09

* \u6b64\u5904\u5f85\u5b8c\u5584

\u5982\u679c\u60f3\u62ff\u5230 Etag\uff0c\u5c31\u5fc5\u987b\u5148\u62ff\u5230\u8981\u8f93\u51fa\u7684\u6570\u636e\uff0c\u6240\u4ee5 Etag \u53ea\u80fd\u51cf\u5c11\u5e26\u5bbd\u7684\u5360\u7528\uff0c\u5e76\u4e0d\u80fd\u964d\u4f4e\u670d\u52a1\u5668\u7684\u6d88\u8017\u3002\u5982\u679c\u662f\u9759\u6001\u9875\u9762\uff0c\u53ef\u4ee5\u5224\u65ad\u6587\u4ef6\u6700\u8fd1\u4e00\u6b21\u7684\u4fee\u6539\u65f6\u95f4\uff08Last-Modified\uff09\uff0c\u83b7\u53d6\u6587\u4ef6\u4e0a\u6b21\u4fee\u6539\u65f6\u95f4\u7684\u6d88\u8017\u6bd4\u62ff\u5230\u6574\u4e2a\u6570\u636e\u7684\u6d88\u8017\u8981\u5c0f\u7684\u591a\u3002\u6240\u4ee5\u5f88\u591a\u65f6\u5019 Etag \u90fd\u662f\u914d\u5408\u8fd9 Last-Modified \u4e00\u8d77\u4f7f\u7528\u7684\u3002

\u5176\u5b9e rss \u6807\u51c6\u5728 xml \u6587\u4ef6\u7684\u5f00\u5934\u6709 lastBuildDate \u548c pubDate \u53c2\u6570\uff0catom \u6807\u51c6\u5728\u5f00\u5934\u6709 updated \u53c2\u6570\u3002\u4f46\u662f\u2026\u2026\u4f3c\u4e4e\u8ba2\u9605\u5668\u4eec\u90fd\u6ca1\u6709\u4ed4\u7ec6\u8ba4\u771f\u5bf9\u5f85\u8fc7\u8fd9\u4e9b\u53c2\u6570\u3002

\u8fd9\u51e0\u4e2a\u53c2\u6570\u5927\u5bb6\u7406\u89e3\u53ef\u80fd\u90fd\u4f1a\u4e0d\u592a\u4e00\u6837\uff0c\u6240\u4ee5\u662f\u8f83\u5c11\u6709\u4ed4\u7ec6\u5bf9\u5f85\u7684\u3002 @about_rss

\u6309\u9053\u7406\u6765\u8bf4\uff0c\u8ba2\u9605\u5668\u5e94\u8be5\u4e00\u8fb9\u4e0b\u8f7d\u4e00\u8fb9\u89e3\u6790\u3002\u800c\u4e0d\u662f\u628a feed \u4e0b\u8f7d\u5230\u672c\u5730\u540e\u518d\u89e3\u6790\u3002\u8fd9\u6837\u53ea\u8981\u8ba2\u9605\u5668\u89e3\u6790\u5230 lastBuildDate/update/pubDate \u65f6\u95f4\u548c\u4e0a\u4e00\u6b21\u66f4\u65b0\u65f6\u76f8\u540c\uff0c\u5c31\u7ec8\u6b62\u4e0b\u8f7d\u3002\u8fd9\u6837\u65e0\u8bba\u591a\u5927\u7684\u6e90\uff0c\u5728\u6e90\u672c\u8eab\u6ca1\u6709\u66f4\u65b0\u7684\u60c5\u51b5\u4e0b\uff0c\u6bcf\u6b21\u5237\u65b0\u90fd\u53ea\u4f1a\u6d88\u8017\u4ec5\u4ec5\u51e0 kb \u7684\u6d41\u91cf\u3002

\u4f46\u73b0\u5728\u8ba2\u9605\u5668\u66f4\u591a\u53ea\u628a\u8fd9\u4e9b\u53c2\u6570\u7528\u5230\u4e86\u51cf\u5c11\u6570\u636e\u5e93\u91cd\u590d\u5199\u5165\uff0c\u63d0\u9ad8\u6570\u636e\u5e93\u6027\u80fd\u4e0a\u53bb\u3002\u800c\u6ca1\u6709\u7528\u5230\u51cf\u5c11\u66f4\u65b0 feed \u65f6\u7684\u6d41\u91cf\u6d88\u8017\u4e0a\u3002\u90fd\u662f\u4e0d\u7ba1\u4e09\u4e03\u4e8c\u5341\u4e00\uff0c\u5148\u628a feed \u4e0b\u5230\u672c\u5730\uff0c\u518d\u5bf9\u4e0b\u4e0b\u6765\u7684 feed \u6587\u4ef6\u8fdb\u884c\u89e3\u6790\u5904\u7406\u3002

* \u6b64\u5904\u5f85\u5b8c\u5584

","tags":["RSS","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/rss-refresh/#rss_1","title":"RSS \u8f6f\u4ef6\u4eec/\u5f00\u53d1\u8005\u5e94\u8be5\u505a\u70b9\u4ec0\u4e48","text":"

\u5f53\u7136\uff0c\u5b9e\u73b0\u8fd9\u6837\u7684\u4f18\u5316\u786e\u5b9e\u76f8\u5bf9\u6bd4\u8f83\u96be\uff0c\u6bd5\u7adf\u8fd9\u6837\u9700\u8981\u628a feed \u4e0b\u8f7d\u5230\u5185\u5b58\u4e2d\u5904\u7406\uff08\u6bd5\u7adf\u9700\u8981\u8fb9\u4e0b\u8f7d\u8fb9\u89e3\u6790\uff09\uff0c\u4f30\u8ba1\u7f51\u4e0a\u8fd8\u627e\u4e0d\u5230\u7528\u4e8e\u5904\u7406\u8fd9\u6837\u529f\u80fd\u7684\u5e93\u3002

\u771f\u8bda\u5e0c\u671b\u5404\u4e2a rss \u8f6f\u4ef6\u5f00\u53d1\u8005\u5728\u8fd9\u65b9\u9762\u4e0b\u4e0b\u529f\u592b\u3002

\u5b9e\u5728\u4e0d\u6d4e\uff0c\u8fd8\u6709\u4e2a\u6700\u7b80\u5355\u7684\u65b9\u6848\uff0c\u4e5f\u662f\u6211\u60f3\u5021\u8bae\u7684\u3002\u5728\u60a8\u5f00\u53d1\u7684 rss \u8f6f\u4ef6\u4e2d\uff0c\u5728\u8c03\u6574\u66f4\u65b0\u9891\u7387\u7684\u9875\u9762\u90a3\u91cc\u8bbe\u7f6e\u4e00\u4e2a\u5bf9\u8bdd\u6846\u3002\u53ea\u8981\u7528\u6237\u4e00\u70b9\u51fb\u5c0f\u4e8e 45\uff5e60 \u5206\u949f\u7684\u5237\u65b0\u95f4\u9694\u7684\u9009\u9879\uff0c\u5c31\u5f39\u51fa\u5bf9\u8bdd\u6846\uff0c\u8fd9\u4e2a\u5bf9\u8bdd\u6846\u9700\u8981 10 \u79d2\u949f\u624d\u80fd\u70b9\u51fb\u201c\u6211\u5df2\u4e86\u89e3\u201d\u3002\u4e0a\u9762\u5199\u6709\uff1a\u201c\u5982\u975e\u7edd\u5bf9\u5fc5\u8981\uff0c\u6211\u4eec\u4e0d\u63a8\u8350\u4f7f\u7528\u66f4\u9ad8\u9891\u7387\u7684\u5237\u65b0\u95f4\u9694\uff0c\u8fd9\u53ef\u80fd\u4f1a\u5bf9\u4f60\u6240\u8ba2\u9605\u7684\u7f51\u7ad9\u9020\u6210\u4e0d\u5fc5\u8981\u7684\u6d41\u91cf\u5f00\u9500\u548c\u538b\u529b\u3002\u201d

* \u6b64\u5904\u5f85\u5b8c\u5584

","tags":["RSS","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/rss-refresh/#_6","title":"\u5bf9\u4e8e\u535a\u4e3b\u7684\u5efa\u8bae","text":"

\u5982\u679c\u4f60\u7684\u535a\u5ba2 CDN \u6d41\u91cf\u5728 feed \u8fd9\u65b9\u9762\u6d88\u8017\u5927\uff0c\u6211\u4e2a\u4eba\u5efa\u8bae\u5148\u53d1\u4e00\u7bc7\u6587\u7ae0\u63d0\u9192\u8ba2\u9605\u8005\u964d\u4f4e\u5237\u65b0\u9891\u7387\u3002\u6216\u901a\u8fc7\u6280\u672f\u624b\u6bb5\uff0c\u6bd4\u5982\u5c06feed\u5355\u72ec\u6258\u7ba1\u5728\u4e00\u4e2a\u4e0d\u7528\u62c5\u5fc3\u6d41\u91cf\u6d88\u8017\u7684\u5730\u65b9\uff08\u6bd4\u5982GitHub\u3001Gitee\u3001coding\u3001Cloudflare Workers\u7b49\uff09\uff0c\u7136\u540e\u5c06 feed \u7684 URL \u91cd\u5b9a\u5411\u8fc7\u53bb\u3002\u5f53\u7136\uff0c\u5728\u8fd9\u4e2a\u8fc7\u7a0b\u4e2d\u518d\u5957\u4e00\u5c42\u514d\u8d39\u7684 CDN \u4e5f\u662f\u53ef\u4ee5\u7684\uff0c\u6bd4\u5982\u7528 jsdeliver+GitHub\u3002\u270c \u5982\u679c\u4f60\u53ea\u662f\u62c5\u5fc3\u9891\u7e41\u7684\u6293\u53d6\u5bf9\u670d\u52a1\u5668\u9020\u6210\u538b\u529b\uff0c\u53ef\u4ee5\u8003\u8651\u7ed9\u535a\u5ba2\u6216\u53ea\u9488\u5bf9 feed \u52a0\u4e0a Redis \u4e4b\u7c7b\u7684\u5185\u5b58\u7f13\u5b58\u3002

* \u6b64\u5904\u5f85\u5b8c\u5584

","tags":["RSS","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/rss-refresh/#the-end","title":"The End","text":"

\u6211\u77e5\u9053\u5927\u90e8\u5206\u4eba\u8bbe\u7f6e\u8f83\u77ed\u66f4\u65b0\u95f4\u9694\u65f6\u6ca1\u6709\u8003\u8651\u5230\u8fd9\u4e00\u70b9\uff0c\u4e5f\u8bb8\u672c\u6587\u90e8\u5206\u7528\u8bcd\u8f83\u6fc0\u8fdb\uff0c\u4f46\u8fd9\u662f\u4e00\u4e2a\u201c\u5982\u679c\u4eba\u4eba\u90fd\u4e86\u89e3\u4e86\uff0c\u90a3\u4e48\u95ee\u9898\u5c31\u4e0d\u518d\u5b58\u5728\u201d\u7684\u95ee\u9898\u3002

\ud83d\udcaa\ud83d\udcaa

","tags":["RSS","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/rss-refresh/#ending","title":"Others\uff06Update","text":"

\u611f\u8c22 @about_rss \u5bf9\u4e8e\u672c\u6587\u7684\u5e2e\u52a9\u3002\u63a8\u8350\u770b\u770b\u4ed6\u7684 Telgram \u9891\u9053 All About RSS\uff0c\u91cc\u9762\u90fd\u662f\u5173\u4e8e rss \u7684\u4f18\u79c0\u5185\u5bb9\uff01

\u66f4\u6b63\uff1a

2021-01-02 Update:\uff08\u5199\u5f97\u592a\u5feb\uff0c\u6587\u7ae0\u6709\u5f88\u591a\u95ee\u9898\uff0c\u611f\u8c22\u4ee5\u4e0b\u7f51\u53cb\u6307\u6b63\uff09 \uff20AA: \u6211\u8bb0\u5f97 Google reader \u4f1a\u6839\u636e\u6587\u7ae0\u9891\u7387\u81ea\u9002\u5e94\u5237\u65b0\u9891\u7387\u7684\uff0c\u5176\u4ed6\u7684\u9605\u8bfb\u5668\u5e94\u8be5\u4e5f\u4f1a \u53e6\u5916\u5c31\u7b97\u5237\u65b0\u4e5f\u53ef\u4ee5\u5229\u7528\u4e0a http \u7f13\u5b58\uff0c\u5e76\u4e0d\u4f1a\u6bcf\u6b21\u90fd\u8fd4\u56de\u5b8c\u6574\u5185\u5bb9 \u5982\u679c\u6ca1\u66f4\u65b0\u53ea\u4f1a\u8fd4\u56de 304 not modified

\uff20BB: \u800c\u4e14\u4e5f\u6ca1\u8003\u8651\u538b\u7f29 \u6545\u4e8b FM \u7684 feed \u538b\u7f29\u4e4b\u540e 323kB

\uff20AA: \u5982\u679c\u7528\u7684\u662f\u901a\u7528\u7684 http client \u5e94\u8be5\u90fd\u652f\u6301 cache\uff0c\u6211\u89c9\u5f97\u9664\u975e\u5199\u9519\u4e86\uff0c\u8981\u4e0d\u7136\u90fd\u5e94\u8be5\u80fd\u60f3\u5230\u542f\u7528 cache \u5427\ud83d\ude05 \u55ef\uff0c\u4f46\u662f\u4e0d\u77e5\u9053 CDN \u6d41\u91cf\u4f1a\u4e0d\u4f1a\u6309\u538b\u7f29\u4e4b\u540e\u7b97 \uff20CC: CDN \u4f1a

\uff20DD: \u4f5c\u8005\u6ca1\u7406\u89e3 http \u534f\u8bae\u6709\u4e2a etag \u5b57\u6bb5\uff0c\u4e0d\u9700\u8981\u5168\u90e8\u62c9\u53d6\u5185\u5bb9\u4e5f\u80fd\u77e5\u9053 feed \u662f\u5426\u66f4\u65b0\u3002 \u5426\u5219\u6211\u65e9\u5c31\u7834\u4ea7\u4e86\u3002 \u53e6\u5916 cdn \u8d39\u7528\u901a\u5e38\u662f\u53ef\u4ee5\u8c08\u7684\uff0c\u50cf\u6211\u4eec\u8fd9\u79cd\u6d41\u91cf\u6bd4\u8f83\u5927\u7684\u5ba2\u6237\uff0c\u57fa\u672c\u53ef\u4ee5\u8c08\u5230\u51e0\u5206\u94b1\u6bcf\u4e2aGB\u7684\u4f4e\u4ef7\u3002 \u53e6\u5916\uff0c\u50cf\u662f\u82f9\u679c\u64ad\u5ba2\u8fd9\u7c7b\u6bd4\u8f83\u5065\u5168\u7684\u7cfb\u7edf\uff0c\u901a\u5e38\u4f1a\u6709\u4e00\u4e2a bot \u53bb\u68c0\u67e5\u5e76\u62c9\u53d6\u8282\u76ee\u7684\u6700\u65b0\u66f4\u65b0\uff0c\u800c\u8fd9\u4e2a\u62c9\u53d6\u662f\u91c7\u7528 range \u5b57\u6bb5\u9650\u5236\u62c9\u53d6\u7684\u5b57\u8282\u6570\u7684\uff0c\u4ed6\u4eec\u53ea\u6bd4\u8f83\u6bcf\u4e2a xml \u6587\u4ef6\u7684\u524d\u90e8\u67d0\u4e2a\u957f\u5ea6\u7684\u5185\u5bb9\u662f\u5426\u66f4\u65b0\uff0c\u5e76\u5c06\u66f4\u65b0\u901a\u77e5\u7ed9\u5ba2\u6237\u7aef\u62c9\u53d6\uff0c\u800c\u4e0d\u662f\u7531\u6bcf\u4e2a\u5ba2\u6237\u7aef\u5b9a\u65f6\u5404\u81ea\u53d1\u8d77\u8bf7\u6c42\uff0c\u4e0d\u7136\u4ee5\u6211\u4eec\u7528\u6237\u7684\u4f53\u91cf\uff0c\u4e5f\u65e9\u5c31\u88ab\u62c9\u6b7b\u4e86\u3002overcast \u751a\u81f3\u5c0f\u5b87\u5b99\u7b49\u5ba2\u6237\u7aef\u901a\u5e38\u90fd\u6709\u7c7b\u4f3c\u7684\u673a\u5236\u3002

\u6240\u4ee5\u5927\u5bb6\u5c3d\u53ef\u4ee5\u6309\u9ed8\u8ba4\u503c\u6765\uff0c\u6211\u4eec\u6491\u5f97\u4f4f\uff0c\u4e92\u8054\u7f51\u7684\u8001\u7956\u5b97\u4eec\u65e9\u5c31\u60f3\u5230\u8fd9\u4e9b\u95ee\u9898\u4e86\uff0c\u54c8\u54c8\u54c8\u54c8\u3002

CC: emmmmm\uff0c\u6211\u521a\u521a\u770b\u4e86\u4e0b gofeed \u597d\u50cf\u6ca1\u6709\u505a\u5224\u65ad\uff08 \u6216\u8bb8\u6709\u7a7a\u53bb\u63d0\u4e2a pr

\u6211\uff1a \u201c\u6839\u636e\u6587\u7ae0\u9891\u7387\u81ea\u52a8\u8c03\u6574\u5237\u65b0\u9891\u7387\u7684\u9605\u8bfb\u5668\u8fd8\u662f\u5c11\u6570\uff0c\u5927\u591a\u90fd\u662f ino\uff0cfeedly \u8fd9\u6837\u7684\u5546\u4e1a\u5316\u7684\u670d\u52a1\u5668\u7aef\u7684 rss \u8ba2\u9605\u5668\u624d\u5177\u5907\u7684\u529f\u80fd\uff0c\u5176\u5b9e\u4e4b\u524d\u662f\u6709\u60f3\u5230\u8fd9\u70b9\uff0c\u4f46\u5fd8\u5199\u4e86\ud83d\ude02\u201d\uff08\u5982\u679c\u6211\u6ca1\u8bb0\u9519\uff0cttrss \u548c freshrss \u5e94\u8be5\u90fd\u6ca1\u6709\u8fd9\u6837\u7684\u529f\u80fd\uff09 \u201chttp \u7f13\u5b58\u548c\u538b\u7f29\uff0c\u6211\u9057\u6f0f\u4e86\u8fd9\u4e24\u70b9\u3002\u53d1\u8fd9\u7bc7\u6587\u7ae0\u4e22\u4eba\u663e\u773c\u4e86\ud83d\ude25\uff0c\u6211\u8fc7\u5ea6\u770b\u91cd\u4e8e rss \u8f6f\u4ef6\u5bf9\u4e8efeed\u6587\u4ef6\u672c\u8eab\u7684\u5904\u7406\u4e0a\u4e86\uff0c\u5374\u5fd8\u8bb0\u8003\u8651\u6700\u57fa\u7840\u7684 http\u201d\u4f46\u56de\u8fc7\u5934\u6765\u770b\uff0c\u5f88\u591a PHP \u52a8\u6001\u535a\u5ba2\u7a0b\u5e8f\u662f\u5373\u65f6\u751f\u6210\u7684 RSS\uff0c\u5e76\u4e0d\u662f\u771f\u6b63\u653e\u4e3b\u673a\u4e0a\u7684 xml \u6587\u4ef6\uff0c\u6240\u4ee5\u6ca1\u6709\u4efb\u4f55 http cache control\u3002\u201cCDN \u53ef\u4ee5\u8c08\u5230\u51e0\u5206\u94b1 GB \u7684\u4ef7\u683c\uff0c\u8fd9\u4e2a\u6211\u77e5\u9053\uff0c\u4f46\u662f\u7531\u4e8e\u8fd9\u7bc7\u6587\u7ae0\u4e00\u5f00\u59cb\u6211\u7684\u4e3b\u9898\u662f\u9762\u5411\u90a3\u4e9b\u6d4f\u89c8\u4e0d\u5927\u7684\u5c0f\u535a\u5ba2\u6765\u8bb2\u7684\uff0c\u4e2d\u9014\u624d\u60f3\u8d77\u6765\u2018\u597d\u50cf\u64ad\u5ba2\u5728 rss \u65b9\u9762\u7684\u6d88\u8017\u5e94\u8be5\u666e\u904d\u5f88\u5927\u2019\uff0c\u6240\u4ee5\u4e5f\u5fd8\u4e86\u5728\u6587\u7ae0\u4e2d\u8bf4\u201d \u201c\u6240\u4ee5\uff0c\u6211\u4eec\u5e94\u8be5\u66f4\u6ce8\u91cd\u8ba9\u8f6f\u4ef6\u5f00\u53d1\u8005\u6765\u5b8c\u5584\u8fd9\u4e2a\u95ee\u9898\uff0c\u800c\u4e0d\u662f\u4ec5\u5728\u7528\u6237\u5c42\u9762\u4e0a\u547c\u5401\u5f3a\u8c03\u5927\u5bb6\u964d\u4f4e\u66f4\u65b0\u9891\u7387\u4e4b\u7c7b\u7684\u201d

\u6b22\u8fce\u8f6c\u8f7d\uff0c\u65e0\u9700\u7533\u8bf7\uff0c\u53ef\u884d\u751f\uff0c\u4e0d\u5f3a\u6c42\u7f72\u540d\u3002

By yzqzss|\u4e00\u5ea7\u6865\u5728\u6c34\u4e0a \u8d77\u8349\u4e8e 2021-01-01 \u53d1\u5e03\u4e8e 2021-01-02

","tags":["RSS","\u7ad9\u5916\u6587\u6863"]},{"location":"blog/2024/06/29/%E5%85%B3%E4%BA%8E%E6%9C%AC%E7%AB%99%E5%86%85%E5%AE%B9%E7%9A%84%E5%8F%98%E6%9B%B4/","title":"\u5173\u4e8e\u672c\u7ad9\u5185\u5bb9\u7684\u53d8\u66f4","text":"

\u672c\u7ad9\u5c06\u4e0d\u518d\u5b9a\u671f\u63d0\u4f9b\u7279\u5b9a\u7f51\u7ad9\u7684\u7ffb\u8bd1\u3002

2021 \u5e74 7 \u6708\u81f3 2024 \u5e74 5 \u6708\u7684\u8bd1\u6587\u6e90\u6587\u4ef6\u4f1a\u5728 whiteboard-old \u63d0\u4f9b\u3002

"},{"location":"blog/2023/09/08/%E4%BD%A0%E5%A5%BD%E4%B8%96%E7%95%8C/","title":"\u4f60\u597d\uff0c\u4e16\u754c\uff01","text":"

Mkdocs Material \u7684\u535a\u5ba2\u529f\u80fd\u603b\u7b97\u6b63\u5f0f\u653e\u51fa\u4e86\uff0c\u672c\u7ad9\u73b0\u5728\u5df2\u652f\u6301 RSS\uff01 \ud83e\udd73

  • \u7528\u4e8e\u6700\u65b0\u521b\u5efa\u7684\u9875\u9762\uff1a https://whiteboard-ui8.pages.dev/feed_rss_created.xml
  • \u7528\u4e8e\u6700\u65b0\u66f4\u65b0\u7684\u9875\u9762\uff1a https://whiteboard-ui8.pages.dev/feed_rss_updated.xml

\u5f53\u4f60\u4f7f\u7528 RSS \u8ba2\u9605\u7684\u65f6\u5019\uff0c\u8bf7\u9605\u8bfb\u300e\u7ed9 RSS \u7231\u597d\u8005\u4eec\u7684\u4e00\u5c01\u4fe1\u300f\u4e3a\u4ec0\u4e48\u6211\u4eec\u5e94\u8be5\u63d0\u9ad8 RSS \u5237\u65b0\u95f4\u9694\uff1f\u3002

"},{"location":"essay/about/","title":"\u5173\u4e8e","text":"

\u7ad9\u5185\u6742\u8c08\u4e3b\u8981\u5305\u542b\u4e86\uff1a

  • \u6742\u8c08\uff1a\u4e2a\u4eba\u5e38\u7528\u7684\u4e00\u4e9b\u914d\u7f6e\u6587\u4ef6\u4ee5\u53ca\u641e\u673a\u5907\u5fd8\u5f55\uff1b
  • openSUSE \u5b89\u88c5\u914d\u7f6e\uff1aopenSUSE Tumbleweed \u5b89\u88c5\u5907\u5fd8\u5f55\uff1b
  • Linux \u8d44\u6599\u5e93\uff1a\u6536\u7eb3\u4e00\u4e9b\u53c2\u8003\u8d44\u6599\uff0c\u7701\u53bb\u5728\u591a\u4e2a\u7ad9\u70b9\u95f4\u8df3\u8f6c\u7684\u65f6\u95f4\u3002

\u5173\u8054\u5185\u5bb9\uff1a

  • openSUSE \u4e2d\u6587\u65b0\u95fb\u7ad9
  • whiteboard-old\uff1a\u8be5\u4ed3\u5e93\u7528\u4e8e\u5f52\u6863 whiteboard \u4e0d\u518d\u6536\u7eb3\u7684\u8bd1\u6587\u6587\u6863\u3002
  • openSUSE \u4e2d\u6587\u7ef4\u57fa\uff1a
    • Aua0880\uff08\u5df2\u505c\u7528\u7684\u65e7\u8d26\u6237\uff09
    • White-poplar
"},{"location":"essay/linux/0-about/","title":"\u5173\u4e8e","text":"

\u8be5\u90e8\u5206\u7684\u5185\u5bb9\u4e3b\u8981\u662f\u4f5c\u4e3a\u4e00\u4e2a\u53ef\u79bb\u7ebf\u4f7f\u7528\u7684\u53c2\u8003\u8d44\u6599\u5e93\uff0c\u4ee5\u7701\u7565\u5728\u4e0d\u540c\u7684\u7f51\u7ad9\u95f4\u8df3\u8dc3\u7684\u65f6\u95f4\u3002

"},{"location":"essay/linux/0-misc-of-unit/","title":"\u6df7\u4e71\u7684\u8ba1\u91cf\u5355\u4f4d","text":"

\u4f4d\u5143\uff08bit\uff0c\u53c8\u79f0\uff1a\u6bd4\u7279\uff09\u662f\u4fe1\u606f\u8d44\u8baf\u6700\u5c0f\u7684\u5355\u4f4d\u3002\u4f4d\u5143\u7ec4\uff08Byte\uff0c\u53c8\u79f0\u4e3a\uff1a\u5b57\u8282\uff09\uff0c\u4e00\u4e2a\u4f4d\u5143\u7ec4\u7b49\u4e8e 8 \u4f4d\u5143\u3002

  • \u4f4d\u5143\u7684\u5355\u4f4d\u662f\uff1ab
  • \u4f4d\u5143\u7ec4\u7684\u5355\u4f4d\u662f\uff1aB

\u4e0a\u8ff0\u4e24\u4e2a\u5355\u4f4d\u4f7f\u7528\u7684\u56fd\u9645\u5355\u4f4d\u5236\u8bcd\u5934\u6709\u4e24\u79cd\uff1a

  • \u5341\u8fdb\u5236\uff1a\u5982 KB
  • \u4e8c\u8fdb\u5236\uff1a\u5728\u8bcd\u5934\u4e0e\u5355\u4f4d\u4e4b\u95f4\u65b0\u589e\u4e00\u4e2a i\uff0c\u5982 KiB
","tags":["\u8d44\u6599\u5e93","Linux","shell"]},{"location":"essay/linux/0-misc-of-unit/#_2","title":"\u5bf9\u7167\u8868","text":"\u503c \u516c\u5236/\u5341\u8fdb\u5236 \u503c IEC/\u4e8c\u8fdb\u5236 1000B = 1kB kilobyte 1024B = 1KiB kibibyte 10002B = 1MB megabyte 10242B = 1MiB mebibyte 10003B = 1GB gigabyte 10243B = 1GiB gibibyte 10004B = 1TB terabyte 10244B = 1TiB tebibyte 10005B = 1PB petabyte 10245B = 1PiB pebibyte 10006B = 1EB exabyte 10246B = 1EiB exbibyte 10007B = 1ZB zettabyte 10247B = 1ZiB zebibyte 10008B = 1YB yottabyte 10248B = 1YiB yobibyte 10009B = 1RB ronnabyte 10249B - 100010B = 1QB quettabyte 102410B -
  • \u6765\u6e90\uff1aMultiple-byte units
","tags":["\u8d44\u6599\u5e93","Linux","shell"]},{"location":"essay/linux/0-misc-of-unit/#_3","title":"\u5e38\u89c1\u4f7f\u7528\u573a\u666f","text":"
  • \u5341\u8fdb\u5236\uff1a
    • \u786c\u76d8/\u5185\u5b58\u5236\u9020\u5546\u6807\u6ce8\u7684\u786c\u76d8/\u5185\u5b58\u6761\u5bb9\u91cf
  • \u4e8c\u8fdb\u5236\uff1a
    • Linux \u7cfb\u7edf\u7684\u5185\u5b58/\u5b58\u50a8\u7a7a\u95f4\u8ba1\u7b97
  • \u4f4d\u5143\uff1a
    • \u7f51\u7edc\u5e26\u5bbd
","tags":["\u8d44\u6599\u5e93","Linux","shell"]},{"location":"essay/linux/0-misc-of-unit/#_4","title":"\u90e8\u5206\u547d\u4ee4","text":"

\u4f7f\u7528 ls \u547d\u4ee4\u5217\u51fa\u6587\u4ef6\u5927\u5c0f\u65f6\uff0c\u53ef\u4ee5\u4f7f\u7528 --block-size= \u7684 flag \u6307\u5b9a\u663e\u793a\u7684\u5927\u5c0f\uff0c\u5982\uff1a

poplar@c004-h1:~/Downloads/ISO> ll openSUSE-Tumbleweed-DVD-x86_64-Snapshot20241001-Media.iso\n-rw-r--r-- 1 root root 4594860032 10\u6708 3\u65e5 09:24 openSUSE-Tumbleweed-DVD-x86_64-Snapshot20241001-Media.iso\npoplar@c004-h1:~/Downloads/ISO> ll openSUSE-Tumbleweed-DVD-x86_64-Snapshot20241001-Media.iso --block-size=MiB\n-rw-r--r-- 1 root root 4382MiB 10\u6708 3\u65e5 09:24 openSUSE-Tumbleweed-DVD-x86_64-Snapshot20241001-Media.iso\n

\u8be6\u89c1 man ls\u3002

\u53c8\u5982 free -m \u7684\u542b\u4e49\u5c31\u662f\u4ee5 mebibyte \u663e\u793a\u5f53\u524d\u7684\u5185\u5b58\u4fe1\u606f\uff1a

poplar@c004-h1:~> sudo free -m\n[sudo] root \u7684\u5bc6\u7801\uff1a\n               total        used        free      shared  buff/cache   available\n\u5185\u5b58\uff1a         15201        6875        2356         335        6634        8325\n\u4ea4\u6362\uff1a          8191        1757        6434\npoplar@c004-h1:~> sudo free --mega\n               total        used        free      shared  buff/cache   available\n\u5185\u5b58\uff1a         15939        7203        2476         351        6956        8736\n\u4ea4\u6362\uff1a          8589        1842        6747\n

\u8be6\u89c1 free --help\u3002

","tags":["\u8d44\u6599\u5e93","Linux","shell"]},{"location":"essay/linux/1-check-sys-info/","title":"\u68c0\u67e5\u7cfb\u7edf\u4fe1\u606f","text":"

\u8981\u5217\u51fa CPU \u8bbe\u5907\u4fe1\u606f\uff0c\u53ef\u4f7f\u7528 lscpu\u3002

\u8981\u5217\u51fa\u5f53\u524d\u7cfb\u7edf\u7684\u5757\u8bbe\u5907\u4fe1\u606f\uff0c\u53ef\u4f7f\u7528 lsblk\uff0c\u53ef\u9644\u52a0 --fs\u3002

\u8981\u5217\u51fa USB \u8bbe\u5907\u4fe1\u606f\uff0c\u53ef\u4f7f\u7528 lsusb\u3002

\u8981\u5217\u51fa PCI \u8bbe\u5907\u4fe1\u606f\uff0c\u53ef\u4f7f\u7528 lspci\u3002

\u8981\u5217\u51fa RAM \u4fe1\u606f\uff0c\u53ef\u4f7f\u7528 free -m\u3002

","tags":["\u8d44\u6599\u5e93","Linux","shell"]},{"location":"essay/linux/1-check-sys-info/#dmidecode","title":"dmidecode","text":"

dmidecode \u8fd0\u884c\u65f6\u9700\u8981 root \u6743\u9650\uff0c\u53ef\u7528\u4e8e\u8bfb\u53d6\u7cfb\u7edf\u7684\u786c\u4ef6\u4fe1\u606f\uff0c\u4f8b\u5982\u5185\u5b58\u6761\u7684\u9891\u7387\u3002

\u4f7f\u7528 sudo dmidecode -t \u67e5\u8be2\u53ef\u5217\u51fa\u7684\u786c\u4ef6\u4fe1\u606f\u3002

","tags":["\u8d44\u6599\u5e93","Linux","shell"]},{"location":"essay/linux/1-check-sys-info/#hwinfo","title":"hwinfo","text":"

hwinfo \u4e0e dmidecode\uff0c\u4f7f\u7528 sudo hwinfo --help \u5217\u51fa\u53ef\u67e5\u8be2\u7684\u4fe1\u606f\u3002

","tags":["\u8d44\u6599\u5e93","Linux","shell"]},{"location":"essay/linux/1-fs-and-permission/","title":"\u6587\u4ef6\u7cfb\u7edf\u3001\u6587\u4ef6\u6240\u6709\u6743\u53ca\u6587\u4ef6\u6743\u9650","text":"

\u6240\u6709\u4e1c\u897f\u90fd\u662f\u6587\u4ef6\uff0c\u5305\u62ec\u6587\u4ef6\u5939\u4e5f\u662f\u6587\u4ef6\u7684\u4e00\u79cd\u3002

","tags":["\u8d44\u6599\u5e93","Linux","\u6587\u4ef6\u7cfb\u7edf"]},{"location":"essay/linux/1-fs-and-permission/#_2","title":"\u6587\u4ef6\u7cfb\u7edf","text":"

Linux \u7684\u6587\u4ef6\u7cfb\u7edf\u6811\u5982\u4e0b\uff1a

poplar@c004-h1:~> tree / -L 1\n/\n\u251c\u2500\u2500 bin -> usr/bin\n\u251c\u2500\u2500 boot\n\u251c\u2500\u2500 dev\n\u251c\u2500\u2500 etc\n\u251c\u2500\u2500 home\n\u251c\u2500\u2500 lib -> usr/lib\n\u251c\u2500\u2500 lib64 -> usr/lib64\n\u251c\u2500\u2500 mnt\n\u251c\u2500\u2500 opt\n\u251c\u2500\u2500 proc\n\u251c\u2500\u2500 root\n\u251c\u2500\u2500 run\n\u251c\u2500\u2500 sbin -> usr/sbin\n\u251c\u2500\u2500 srv\n\u251c\u2500\u2500 sys\n\u251c\u2500\u2500 tmp\n\u251c\u2500\u2500 usr\n\u2514\u2500\u2500 var\n\n19 directories, 0 files\n

\u6839\u76ee\u5f55\u4e0b\uff0c\u5e38\u89c1\u7684\u6587\u4ef6\u5939\u7684\u7528\u90141\uff1a

  • /bin\uff1a\u5b58\u653e\u5e38\u7528\u7684 Linux \u7528\u6237\u547d\u4ee4\uff0c\u5982 ls\u3001date\u3001chmod \u7b49\u3002
  • /boot\uff1a\u5b58\u653e\u53ef\u5f15\u5bfc Linux \u5185\u6838\u3001\u521d\u59cb\u5316 RAM \u78c1\u76d8\u548c\u5f15\u5bfc\u52a0\u8f7d\u5668\u914d\u7f6e\u6587\u4ef6\uff08GRUB\uff09
  • /dev\uff1a\u5b58\u653e\u4ee3\u8868\u7cfb\u7edf\u8bbe\u5907\u8bbf\u95ee\u70b9\u7684\u6587\u4ef6\u3002\u4f8b\u5982\u7ec8\u7aef\u8bbe\u5907\uff08tty*\uff09\u3001\u786c\u76d8\uff08hd* \u6216 sd*\uff09\u3001RAM\uff08ram*\uff09\u548c CD-ROM\uff08cd*\uff09\u7b49\u3002\u7528\u6237\u53ef\u4ee5\u901a\u8fc7\u8fd9\u4e9b\u8bbe\u5907\u6587\u4ef6\u76f4\u63a5\u8bbf\u95ee\u8bbe\u5907\u3002
  • /etc\uff1a\u5b58\u653e\u7ba1\u7406\u914d\u7f6e\u6587\u4ef6\uff0c\u5927\u591a\u6570\u662f\u53ef\u7f16\u8f91\u7684\u7eaf\u6587\u672c\u6587\u4ef6\u3002
  • /home\uff1a\u666e\u901a\u7528\u6237\u7684\u4e3b\u76ee\u5f55\u3002
  • /media\uff1a\u4e3a\u81ea\u52a8\u6302\u8f7d\u7684\u8bbe\u5907\uff08\u7279\u522b\u662f\u53ef\u79fb\u9664\u7684\u8bbe\u5907\uff0c\u5982\u79fb\u52a8\u786c\u76d8\uff09\u63d0\u4f9b\u4e00\u4e2a\u6807\u51c6\u6302\u8f7d\u70b9\u3002\u5728 openSUSE \u4e0a\uff0c\u8fd9\u4e2a\u4f4d\u7f6e\u9ed8\u8ba4\u5728 /run/media/$USER/\u3002\u5982\u679c\u8be5\u8bbe\u5907\u6709\u5377\u6807\uff0c\u5219\u6587\u4ef6\u5939\u7684\u540d\u79f0\u5c31\u662f\u5377\u6807\u3002
  • /lib\uff1a\u5b58\u653e /bin \u548c /sbin \u4e2d\u7684\u5e94\u7528\u7a0b\u5e8f\u542f\u52a8\u7cfb\u7edf\u65f6\u6240\u9700\u7684\u5171\u4eab\u5e93\u3002
  • /mnt\uff1a\u5728\u88ab /media \u53d6\u4ee3\u524d\uff0c\u662f\u4e00\u4e2a\u5e38\u7528\u7684\u8bbe\u5907\u6302\u8f7d\u70b9\u3002
  • /misc\uff1a\u6709\u65f6\u7528\u4e8e\u6839\u636e\u8bf7\u6c42\u81ea\u52a8\u6302\u8f7d\u6587\u4ef6\u7cfb\u7edf\u7684\u76ee\u5f55\u3002
  • /opt\uff1a\u5b58\u653e\u9644\u52a0\u5e94\u7528\u8f6f\u4ef6\uff08\u4e00\u822c\u662f\u7528\u6237\u81ea\u884c\u5b89\u88c5\u7684\u8f6f\u4ef6\uff09\u3002
  • /proc\uff1a\u5b58\u653e\u6709\u5173\u7cfb\u7edf\u8d44\u6e90\u7684\u4fe1\u606f\u3002
  • /root\uff1aroot \u7528\u6237\u7684\u4e3b\u76ee\u5f55\u3002
  • /sbin\uff1a\u5b58\u653e\u7ba1\u7406\u547d\u4ee4\u548c\u5b88\u62a4\u8fdb\u7a0b\u3002
  • /sys\uff1a\u5b58\u653e\u8c03\u6574\u5757\u5b58\u50a8\u548c\u7ba1\u7406 cgroup \u7b49\u53c2\u6570\u3002
  • /tmp:\u5b58\u653e\u5e94\u7528\u4f7f\u7528\u7684\u4e34\u65f6\u6587\u4ef6
  • /usr\uff1a'Unix System Resource' \u7684\u7f29\u5199\uff0c\u5b58\u653e\u7528\u6237\u6587\u6863\u3001\u6e38\u620f\u3001\u56fe\u5f62\u6587\u4ef6\uff08X11\uff09\u3001\u5e93\u6587\u4ef6\uff08lib\uff09\u4ee5\u53ca\u5176\u4ed6\u5927\u91cf\u5728\u7cfb\u7edf\u542f\u52a8\u65f6\u4e0d\u662f\u5fc5\u987b\u7684\u547d\u4ee4\u548c\u6587\u4ef6\u3002/usr \u7528\u4e8e\u5b58\u653e\u5b89\u88c5\u540e\u4e0d\u4f1a\u66f4\u6539\u7684\u6587\u4ef6\uff08\u7406\u8bba\u4e0a\uff0c/usr \u53ef\u4ee5\u53ea\u8bfb\u65b9\u5f0f\u6302\u8f7d\uff09\u3002
  • /var\uff1a\u5b58\u653e\u5404\u79cd\u5e94\u7528\u4f7f\u7528\u7684\u6570\u636e\u3002/var \u5e38\u7528\u4e8e\u5b58\u653e\u7ecf\u5e38\u53d8\u66f4\u7684\u6587\u4ef6\u3002
","tags":["\u8d44\u6599\u5e93","Linux","\u6587\u4ef6\u7cfb\u7edf"]},{"location":"essay/linux/1-fs-and-permission/#xfs-btrfs","title":"XFS \u4e0e Btrfs","text":"

XFS \u4e0e Btrfs \u90fd\u662f openSUSE \u9ed8\u8ba4\u63a8\u8350\u4f7f\u7528\u7684\u6587\u4ef6\u7cfb\u7edf\u3002openSUSE \u63a8\u8350\u7528\u6237\u6570\u636e\u76ee\u5f55\u4f7f\u7528 XFS\uff0c\u64cd\u4f5c\u7cfb\u7edf\u76ee\u5f55\u4f7f\u7528 Btrfs\u3002

Btrfs \u548c XFS \u4ee3\u8868\u4e86\u6ee1\u8db3 Linux \u6587\u4ef6\u7cfb\u7edf\u9700\u6c42\u7684\u6210\u719f\u4e14\u4e92\u8865\u7684\u9009\u9879\u3002Btrfs \u63d0\u4f9b\u73b0\u4ee3\u7684\u5199\u65f6\u590d\u5236\u529f\u80fd\uff0c\u4f8b\u5982\u7b80\u5355\u7684\u5feb\u7167\u548c\u538b\u7f29\u4ee5\u53ca\u7075\u6d3b\u7684\u5b58\u50a8\u589e\u957f\u3002 XFS \u4e13\u6ce8\u4e8e\u4e3a\u8d85\u5927\u5bb9\u91cf\u63d0\u4f9b\u575a\u5982\u78d0\u77f3\u7684\u7a33\u5b9a\u6027\u548c\u5de8\u5927\u7684\u53ef\u6269\u5c55\u6027\uff0c\u5e76\u5177\u6709\u6301\u7eed\u7684\u9ad8\u541e\u5410\u91cf\u3002 \u8be6\u7ec6\u5bf9\u6bd4\u53e6\u89c1\uff1aBtrfs vs XFS: An In-Depth Comparison of Linux File Systems

","tags":["\u8d44\u6599\u5e93","Linux","\u6587\u4ef6\u7cfb\u7edf"]},{"location":"essay/linux/1-fs-and-permission/#_3","title":"\u6587\u4ef6\u6240\u6709\u6743\u4e0e\u6587\u4ef6\u6743\u9650","text":"

\u4e00\u4e2a\u6587\u4ef6\u9762\u5411\u4e09\u79cd\u8bbf\u95ee\u8005\uff0c

  • \u6587\u4ef6\u6240\u6709\u8005\uff08author\uff0cu\uff09
  • \u6587\u4ef6\u6240\u6709\u8005\u6240\u5728\u7ec4\u7684\u5176\u4ed6\u7528\u6237\uff08group\uff0cg\uff09
  • \u5176\u4ed6\u4eba\uff08others\uff0co\uff09

\u6709\u4e09\u79cd\u6743\u9650\uff1a

  • \u53ef\u8bfb\uff08Read, r=4\uff09
  • \u53ef\u5199\uff08Write, w=2\uff09
  • \u53ef\u6267\u884c\uff08Execute, x=1\uff09
","tags":["\u8d44\u6599\u5e93","Linux","\u6587\u4ef6\u7cfb\u7edf"]},{"location":"essay/linux/1-fs-and-permission/#chmod","title":"chmod","text":"

\u4e00\u4e2a\u5178\u578b\u7684\u6587\u4ef6\u53ca\u6587\u4ef6\u5939\u5e94\u5f53\u5177\u6709\u5982\u4e0b\u7684\u6743\u9650\u8bbe\u7f6e\uff1a

poplar@c004-h1:~/1> l\n\u603b\u8ba1 0\ndrwxr-xr-x  1 poplar poplar  12  9\u670824\u65e5 13:22 ./\ndrwx--x---+ 1 poplar poplar 556  9\u670824\u65e5 13:22 ../\ndrwxr-xr-x  1 poplar poplar   0  9\u670824\u65e5 13:22 2/\n-rw-r--r--  1 poplar poplar   0  9\u670824\u65e5 13:22 2.txt\n

\u7b2c\u4e00\u884c\u8868\u793a\u5f53\u524d\u7684\u6587\u4ef6\u5939\uff0c\u7b2c\u4e8c\u884c\u8868\u793a\u7236\u7ea7\u6587\u4ef6\u5939\uff0c\u7b2c\u4e09\u548c\u7b2c\u56db\u884c\u5206\u522b\u662f\u5b50\u6587\u4ef6\u5939\u548c\u5b50\u6587\u4ef6\u3002

-rw-r--r-- \u5171\u6709\u5341\u4e2a\u5b57\u7b26\uff0c\u7b2c\u4e00\u4f4d\u5b57\u7b26\u8868\u793a\u6587\u4ef6\u7684\u6027\u8d28\uff08\u6587\u4ef6/\u6587\u4ef6\u5939/\u7b26\u53f7\u94fe\u63a5\uff09\uff0c\u7136\u540e\u662f\u4e09\u4e2a\u5b57\u7b26\u4e00\u7ec4\uff0c\u4f9d\u6b21\u8868\u793a\u6587\u4ef6\u6240\u6709\u8005\u3001\u6587\u4ef6\u6240\u6709\u8005\u6240\u5728\u7ec4\u7684\u5176\u4ed6\u7528\u6237\u548c\u5176\u4ed6\u7528\u6237\u5bf9\u8fd9\u4e2a\u6587\u4ef6\u7684\u6743\u9650\u3002

chmod \u547d\u4ee4\u53ef\u4ee5\u4f7f\u7528\u6570\u5b57\u6216\u5b57\u6bcd\u7ec4\u5408\u66f4\u6539\u6587\u4ef6\u6743\u9650\u3002

\u4f7f\u7528\u6570\u5b57\u7ec4\u5408\u65f6\uff0c\u53c2\u8003\u4e0a\u6587\uff0c\u5bf9\u5e94\u7684\u6743\u9650\u7ec4\u5408\u5bf9\u5e94\u7684\u6570\u503c\uff0c\u4f8b\u5982\uff1a

poplar@c004-h1:~/1> chmod 777 2.txt; ll\n\u603b\u8ba1 0\ndrwxr-xr-x 1 poplar poplar 0  9\u670824\u65e5 13:22 2\n-rwxrwxrwx 1 poplar poplar 0  9\u670824\u65e5 13:22 2.txt\n

\u4f7f\u7528\u5b57\u6bcd\u7ec4\u5408\u65f6\uff0c\u4f7f\u7528 \u5b57\u6bcd + \u52a0\u51cf\u7b26\u53f7 + \u6743\u9650 \u7684\u5f62\u5f0f\u3002

\u9488\u5bf9\u6240\u6709\u7528\u6237\u65f6\uff0c\u4f7f\u7528 a\uff08all\uff09\uff0c\u6216\u8005\u7701\u7565\u5b57\u6bcd\u3002\u6dfb\u52a0\u6743\u9650\u4f7f\u7528\u52a0\u53f7\uff0c\u5220\u9664\u6743\u9650\u4f7f\u7528\u51cf\u53f7\u3002

\u4e24\u8fb9\u7684\u5b57\u6bcd\u53ef\u4ee5\u591a\u4e2a\uff08\u540c\u65f6\u6307\u5b9a\u591a\u4e2a\u5bf9\u8c61\uff09\uff0c\u4f8b\u5982\uff1a

poplar@c004-h1:~/1> chmod go-wx 2.txt; ll\n\u603b\u8ba1 0\ndrwxr-xr-x 1 poplar poplar 0  9\u670824\u65e5 13:22 2\n-rwxr--r-- 1 poplar poplar 0  9\u670824\u65e5 13:22 2.txt\n

\u4f7f\u7528 -R \u6807\u5fd7\u6216\u8005 * \u53ef\u4ee5\u5c06\u64cd\u4f5c\u9012\u5f52\u5730\uff08recursively\uff09\u5e94\u7528\u5230\u8be5\u6587\u4ef6\u5939\u7684\u6240\u6709\u6587\u4ef6\uff08\u5305\u62ec\u5b50\u6587\u4ef6\u548c\u5b50\u6587\u4ef6\u5939\uff09\u3002

","tags":["\u8d44\u6599\u5e93","Linux","\u6587\u4ef6\u7cfb\u7edf"]},{"location":"essay/linux/1-fs-and-permission/#_4","title":"\u6587\u4ef6\u5939\u7684\u53ef\u6267\u884c\u6743\u9650","text":"

\u6587\u4ef6\u5939\u5e94\u5f53\u9ed8\u8ba4\u5177\u6709\u53ef\u6267\u884c\u6743\u9650\uff08drwxr-xr-x\uff09\u3002\u6587\u4ef6\u76ee\u5f55\u5177\u6709\u7684\u53ef\u6267\u884c\u6743\u9650\u5141\u8bb8\u7528\u6237\u8bbf\u95ee\u76ee\u5f55\u5185\u7684\u9879\u76ee\uff0c\u5373\u4f7f\u7528\u6237\u65e0\u6cd5\u5217\u51fa\u76ee\u5f55\u5185\u5bb92\u3002

poplar@c004-h1:~/1> ll\n\u603b\u8ba1 0\ndrwxr-xr-x 1 poplar poplar 0  9\u670824\u65e5 13:22 2\n-rw-r--r-- 1 poplar poplar 0  9\u670824\u65e5 13:22 2.txt\npoplar@c004-h1:~/1> mv 2.txt 2\npoplar@c004-h1:~/1> chmod -x *; l 2\nls: \u65e0\u6cd5\u8bbf\u95ee '2/.': \u6743\u9650\u4e0d\u591f\nls: \u65e0\u6cd5\u8bbf\u95ee '2/..': \u6743\u9650\u4e0d\u591f\nls: \u65e0\u6cd5\u8bbf\u95ee '2/2.txt': \u6743\u9650\u4e0d\u591f\n\u603b\u8ba1 0\nd????????? ? ? ? ?              ? ./\nd????????? ? ? ? ?              ? ../\n-????????? ? ? ? ?              ? 2.txt\n
","tags":["\u8d44\u6599\u5e93","Linux","\u6587\u4ef6\u7cfb\u7edf"]},{"location":"essay/linux/1-fs-and-permission/#chown","title":"chown","text":"

$ chown \u7528\u6237\u540d:\u7528\u6237\u7ec4 /\u6587\u4ef6\u8def\u5f84

  1. \u53c2\u8003\u300aLinux Bible, 10th Edition\u300bPart II: Becoming a Linux Power User - Moving Around the Filesystem\uff0c\u7b2c 94\uff0c95 \u9875\u00a0\u21a9

  2. \u53c2\u8003 Why must a folder be executable? \u21a9

","tags":["\u8d44\u6599\u5e93","Linux","\u6587\u4ef6\u7cfb\u7edf"]},{"location":"essay/linux/1-gpg-and-sig-files/","title":"*.gpg\u3001*.sig \u548c *.asc \u6587\u4ef6\u7684\u533a\u522b","text":"

\u7b7e\u540d\uff08signature\uff09\u53ef\u4ee5\u9a8c\u8bc1\u6587\u4ef6\u7684\u5b8c\u6574\u6027\uff0c\u5bc6\u94a5\u5bf9\uff08keypair\uff09\u4e2d\u7684\u79c1\u94a5\uff08private keypair\uff09\u7528\u4e8e\u751f\u6210\u7b7e\u540d\uff0c\u516c\u94a5\uff08public keypair\uff09\u7528\u4e8e\u9a8c\u8bc1\u7b7e\u540d\u3002

\u4e09\u79cd\u6587\u4ef6\u90fd\u662f gpg2 \u751f\u6210\u7684\u7b7e\u540d\u6587\u4ef6\u3002

  • *.gpg \u548c *.sig \u90fd\u662f\u4e8c\u8fdb\u5236\u6587\u4ef6\uff0c*.asc \u662f\u7eaf\u6587\u672c\u6587\u4ef6\u3002
  • \u751f\u6210\u547d\u4ee4\uff1a
    • gpg -s \u6216 gpg --sign \u2192 *.gpg
    • gpg -b \u6216 --detach-sign \u2192 *.sig
    • gpg --clear-sign \u2192 *.asc
  • *.gpg \u662f\u4e8c\u8fdb\u5236\u7684 GPG \u516c\u94a5\u6587\u4ef61\uff0c\u542b\u6709\u88ab\u7b7e\u540d\u6587\u4ef6\u7684\u4e00\u4efd\u538b\u7f29\u7684\u62f7\u8d1d
  • *.sig \u662f\u4e8c\u8fdb\u5236\u7684 GPG \u7b7e\u540d\u6587\u6863\u6587\u4ef62\uff0c\u53ef\u542b\u6709\u88ab\u7b7e\u540d\u7684\u6587\u4ef6
  • *.asc \u662f\u53ef\u542b\u6709\u5c01\u88c5\u6587\u6863\u7684 ASCII \u52a0\u5bc6\u7b7e\u540d\uff0c\u7eaf\u6587\u672c\u683c\u5f0f\u3002

\u4e00\u4e2a\u64cd\u4f5c\u5b9e\u4f8b3\uff08\u7b7e\u540d\uff0c\u52a0\u5bc6\uff0c\u89e3\u5bc6\uff0c\u63d0\u53d6\u6587\u4ef6\uff09\uff1a

poplar@c004-h1:~/Downloads/Aria2> ll\n\u603b\u8ba1 91348KiB\n-rw-r--r-- 1 poplar poplar 91346KiB  9\u670824\u65e5 15:39 vm.iso\npoplar@c004-h1:~/Downloads/Aria2> gpg -s vm.iso\npoplar@c004-h1:~/Downloads/Aria2> gpg -b vm.iso\npoplar@c004-h1:~/Downloads/Aria2> gpg --clear-sign vm.iso\ngpg: \u8f93\u5165\u884c\u957f\u5ea6\u8d85\u8fc7 19995 \u5b57\u7b26\npoplar@c004-h1:~/Downloads/Aria2> sha256sum vm.iso > vm.iso.sha256\npoplar@c004-h1:~/Downloads/Aria2> gpg --clear-sign vm.iso.sha256\npoplar@c004-h1:~/Downloads/Aria2> ll\n\u603b\u8ba1 262924KiB\n-rw-r--r-- 1 poplar poplar 91346KiB  9\u670824\u65e5 15:39 vm.iso\n-rw-r--r-- 1 poplar poplar 90179KiB 10\u6708 7\u65e5 14:50 vm.iso.asc\n-rw-r--r-- 1 poplar poplar 81383KiB 10\u6708 7\u65e5 14:50 vm.iso.gpg\n-rw-r--r-- 1 poplar poplar     1KiB 10\u6708 7\u65e5 14:51 vm.iso.sha256\n-rw-r--r-- 1 poplar poplar     1KiB 10\u6708 7\u65e5 14:51 vm.iso.sha256.asc\n-rw-r--r-- 1 poplar poplar     1KiB 10\u6708 7\u65e5 14:50 vm.iso.sig\npoplar@c004-h1:~/Downloads/Aria2> cat vm.iso.sha256.asc\n-----BEGIN PGP SIGNED MESSAGE-----\nHash: SHA512\n\n7716911111580decfb84ec983f10b1beec1a6d6b18ee31f236495703005dcd4d  vm.iso\n-----BEGIN PGP SIGNATURE-----\n\niHUEARYKAB0WIQQrQpu5CY17IY7L1Nr4+uWxAB7+YwUCZwOFBwAKCRD4+uWxAB7+\nY6SfAP4+aYK5q04517RUW61RLDvWOnroXa56qhp+q4k6Ug9k4AEAzJEHVyvFExOn\n2eQkaVVIXRvIc+CjCUyljSNFLQrOOwI=\n=nLki\n-----END PGP SIGNATURE-----\npoplar@c004-h1:~/Downloads/Aria2> mv vm.iso vms.iso\npoplar@c004-h1:~/Downloads/Aria2> ll\n\u603b\u8ba1 262924KiB\n-rw-r--r-- 1 poplar poplar 90179KiB 10\u6708 7\u65e5 14:50 vm.iso.asc\n-rw-r--r-- 1 poplar poplar 81383KiB 10\u6708 7\u65e5 14:50 vm.iso.gpg\n-rw-r--r-- 1 poplar poplar     1KiB 10\u6708 7\u65e5 14:51 vm.iso.sha256\n-rw-r--r-- 1 poplar poplar     1KiB 10\u6708 7\u65e5 14:51 vm.iso.sha256.asc\n-rw-r--r-- 1 poplar poplar     1KiB 10\u6708 7\u65e5 14:50 vm.iso.sig\n-rw-r--r-- 1 poplar poplar 91346KiB  9\u670824\u65e5 15:39 vms.iso\npoplar@c004-h1:~/Downloads/Aria2> gpg --output vm.iso --decrypt vm.iso.gpg\ngpg: \u7b7e\u540d\u5efa\u7acb\u4e8e 2024\u5e7410\u670807\u65e5 \u661f\u671f\u4e00 14\u65f650\u520631\u79d2 CST\ngpg:               \u4f7f\u7528 EDDSA \u5bc6\u94a5 2B429BB9098D7B218ECBD4DAF8FAE5B1001EFE63\ngpg: \u5b8c\u597d\u7684\u7b7e\u540d\uff0c\u6765\u81ea\u4e8e \u201cWhite Poplar <poplar.cubic@gmail.com>\u201d [\u7edd\u5bf9]\npoplar@c004-h1:~/Downloads/Aria2> ll\n\u603b\u8ba1 354272KiB\n-rw------- 1 poplar poplar 91346KiB 10\u6708 7\u65e5 14:53 vm.iso\n-rw-r--r-- 1 poplar poplar 90179KiB 10\u6708 7\u65e5 14:50 vm.iso.asc\n-rw-r--r-- 1 poplar poplar 81383KiB 10\u6708 7\u65e5 14:50 vm.iso.gpg\n-rw-r--r-- 1 poplar poplar     1KiB 10\u6708 7\u65e5 14:51 vm.iso.sha256\n-rw-r--r-- 1 poplar poplar     1KiB 10\u6708 7\u65e5 14:51 vm.iso.sha256.asc\n-rw-r--r-- 1 poplar poplar     1KiB 10\u6708 7\u65e5 14:50 vm.iso.sig\n-rw-r--r-- 1 poplar poplar 91346KiB  9\u670824\u65e5 15:39 vms.iso\npoplar@c004-h1:~/Downloads/Aria2> gpg --output vm.iso2.sig --sign vm.iso\npoplar@c004-h1:~/Downloads/Aria2> ll\n\u603b\u8ba1 435656KiB\n-rw------- 1 poplar poplar 91346KiB 10\u6708 7\u65e5 14:53 vm.iso\n-rw-r--r-- 1 poplar poplar 81383KiB 10\u6708 7\u65e5 14:55 vm.iso2.sig\n-rw-r--r-- 1 poplar poplar 90179KiB 10\u6708 7\u65e5 14:50 vm.iso.asc\n-rw-r--r-- 1 poplar poplar 81383KiB 10\u6708 7\u65e5 14:50 vm.iso.gpg\n-rw-r--r-- 1 poplar poplar     1KiB 10\u6708 7\u65e5 14:51 vm.iso.sha256\n-rw-r--r-- 1 poplar poplar     1KiB 10\u6708 7\u65e5 14:51 vm.iso.sha256.asc\n-rw-r--r-- 1 poplar poplar     1KiB 10\u6708 7\u65e5 14:50 vm.iso.sig\n-rw-r--r-- 1 poplar poplar 91346KiB  9\u670824\u65e5 15:39 vms.iso\npoplar@c004-h1:~/Downloads/Aria2> ll\n\u603b\u8ba1 90180KiB\n-rw-r--r-- 1 poplar poplar 90179KiB 10\u6708 7\u65e5 14:50 vm.iso.asc\npoplar@c004-h1:~/Downloads/Aria2> gpg --output vm.iso --decrypt vm.iso.asc\ngpg: \u7b7e\u540d\u5efa\u7acb\u4e8e 2024\u5e7410\u670807\u65e5 \u661f\u671f\u4e00 14\u65f650\u520658\u79d2 CST\ngpg:               \u4f7f\u7528 EDDSA \u5bc6\u94a5 2B429BB9098D7B218ECBD4DAF8FAE5B1001EFE63\ngpg: \u5b8c\u597d\u7684\u7b7e\u540d\uff0c\u6765\u81ea\u4e8e \u201cWhite Poplar <poplar.cubic@gmail.com>\u201d [\u7edd\u5bf9]\npoplar@c004-h1:~/Downloads/Aria2> ll\n\u603b\u8ba1 180300KiB\n-rw------- 1 poplar poplar 90120KiB 10\u6708 7\u65e5 15:01 vm.iso\n-rw-r--r-- 1 poplar poplar 90179KiB 10\u6708 7\u65e5 14:50 vm.iso.asc\n
  1. GNU Privacy Guard public keyring file\u00a0\u21a9

  2. GPG signed document file\u00a0\u21a9

  3. \u53c2\u8003 Making and verifying signatures \u21a9

","tags":["\u8d44\u6599\u5e93","Linux","GPG"]},{"location":"essay/linux/1-kvm/","title":"KVM \u5907\u5fd8\u5f55","text":"","tags":["\u8d44\u6599\u5e93","Linux","KVM","Windows"]},{"location":"essay/linux/1-kvm/#_1","title":"\u5b89\u88c5","text":"

\u5b89\u88c5\u8f6f\u4ef6\u5305\uff1a

sudo zypper install -t pattern kvm_server kvm_tools\n

\u52a0\u5165\u7528\u6237\u7ec4\uff1a

sudo usermod -aG libvirt $USER\n

\u6ce8\u9500\u91cd\u65b0\u767b\u5f55\u3002

\u6ce8\u610f\uff0c\u4e0d\u8981\u4f7f\u7528\u9ed8\u8ba4\u7684\u5b58\u50a8\u6c60\u3002

","tags":["\u8d44\u6599\u5e93","Linux","KVM","Windows"]},{"location":"essay/linux/1-kvm/#_2","title":"\u4e3b\u5bbf\u673a\u6587\u4ef6\u5171\u4eab","text":"","tags":["\u8d44\u6599\u5e93","Linux","KVM","Windows"]},{"location":"essay/linux/1-kvm/#windows","title":"Windows","text":"

\u9996\u5148\uff0c\u5728\u865a\u62df\u673a\u5b89\u88c5\u5b8c\u6bd5\u540e\uff0c\u5728\u865a\u62df\u673a\u5173\u673a\u7684\u60c5\u51b5\u4e0b\uff0c\u6253\u5f00\u865a\u62df\u673a\u7684\u8be6\u60c5\u9875\uff0c\u70b9\u51fb \u5185\u5b58\uff0c\u52fe\u9009 Enable shared memory\u3002

\u7136\u540e\uff0c\u70b9\u51fb\u5de6\u4e0b\u89d2\u7684 \u6dfb\u52a0\u65b0\u786c\u4ef6\uff0c\u9009\u62e9 \u6587\u4ef6\u7cfb\u7edf\uff0c\u9a71\u52a8\u7a0b\u5e8f\u4fdd\u6301\u9ed8\u8ba4\uff08\u5373 virtiofs\uff09\uff0c\u5c06 \u6e90\u8def\u5f84 \u4fee\u6539\u4e3a\u8981\u4e0e\u865a\u62df\u673a\u5171\u4eab\u7684\u6587\u4ef6\u5939\u8def\u5f84\uff0c\u5c06 \u76ee\u6807\u8def\u5f84 \u547d\u540d\u4e3a\u7ed9\u5b9a\u7684\u540d\u79f0\uff0c\u4f8b\u5982 sharing-folder\uff0c\u7136\u540e\u70b9\u51fb \u5b8c\u6210\u3002

\u7136\u540e\u4e0b\u8f7d\u4e24\u4e2a\u9a71\u52a8\u6587\u4ef6\uff1a

  • \u6700\u65b0\u7248\u7684 winFSP
  • \u6700\u65b0\u7a33\u5b9a\u7248\u7684 virtio-win-guest-tools.exe

\u5c06\u4e0b\u8f7d\u7684\u6587\u4ef6\u6253\u5305\u6210 ISO \u6587\u4ef6\uff0c\u4f5c\u4e3a\u4e00\u4e2a SATA CDROM \u5b58\u50a8\u8bbe\u5907\u6dfb\u52a0\u5230\u865a\u62df\u673a\u4e2d\u3002

mkisofs -o \u6587\u4ef6\u540d.iso /\u6587/\u4ef6/\u8def/\u5f84\n

\u9996\u5148\u5b89\u88c5 WinFSP Core\uff0c\u7136\u540e\u5b89\u88c5 virtio-win-guest-tools.exe\uff08virtiofs\uff09

\u5b89\u88c5\u5b8c\u6bd5\u540e\uff0c\u6309\u4e0b Win + R \u952e\u5524\u51fa CMD\uff0c\u8f93\u5165 services.msc\uff0c\u7136\u540e\u627e\u5230\u5e76\u542f\u52a8 VirtIO-FS Service\u3002

","tags":["\u8d44\u6599\u5e93","Linux","KVM","Windows"]},{"location":"essay/linux/1-kvm/#linux","title":"Linux","text":"

\u53c2\u8003\u4e0a\u6587\u914d\u7f6e\u597d\u865a\u62df\u673a\u540e\uff0c\u542f\u52a8\u865a\u62df\u673a\uff0c\u786e\u8ba4 virtiofsd \u5df2\u5b89\u88c5\u3002

\u7136\u540e\u8fd0\u884c\uff1a

mount -t virtiofs mount_tag /mnt/mount/path\n

mount_tag \u662f\u4e0a\u6587\u4e2d\u8bbe\u5b9a\u7684 \u76ee\u6807\u8def\u5f84\uff0c/mnt/mount/path \u5219\u662f\u8981\u6302\u8f7d virtiofs \u7684\u8def\u5f84\uff0c\u4f8b\u5982\uff1a

sudo mount -t virtiofs sharing-folder /mnt #\u5c06 sharing-folder \u6587\u4ef6\u5939\u6302\u8f7d\u5230 /mnt\n
","tags":["\u8d44\u6599\u5e93","Linux","KVM","Windows"]},{"location":"essay/linux/1-kvm/#3d","title":"3D \u56fe\u5f62\u52a0\u901f","text":"

\u9996\u5148\u5173\u95ed\u865a\u62df\u673a\uff0c\u7136\u540e\u5c06\u865a\u62df\u673a\u7684 \u663e\u793a\u534f\u8bae Spice \u7684 \u76d1\u542c\u7c7b\u578b \u4fee\u6539\u4e3a \u65e0\uff0c\u7136\u540e\u52fe\u9009\u4e0b\u65b9\u7684 OpenGL\u3002

\u6700\u540e\u4fee\u6539 \u663e\u5361\uff0c\u5c06\u7c7b\u578b\u66f4\u6362\u4e3a Virtio\uff0c\u5e76\u52fe\u9009 3D \u52a0\u901f\u3002

\u542f\u52a8\u865a\u62df\u673a\u5373\u53ef\u3002

\u6ce8\u610f\uff0c\u5982\u679c\u72ec\u663e\u4e0d\u80fd\u7a33\u5b9a\u6e32\u67d3\uff0c\u5219\u4f7f\u7528\u6838\u663e\u8fdb\u884c 3D \u52a0\u901f\u6e32\u67d3\u3002

","tags":["\u8d44\u6599\u5e93","Linux","KVM","Windows"]},{"location":"essay/linux/1-kvm/#_3","title":"\u5e38\u89c1\u95ee\u9898","text":"","tags":["\u8d44\u6599\u5e93","Linux","KVM","Windows"]},{"location":"essay/linux/1-kvm/#_4","title":"\u6258\u76d8\u56fe\u6807","text":"

\u6258\u76d8\u56fe\u6807\u53ef\u4ee5\u6e05\u6670\u5730\u663e\u793a KVM \u662f\u5426\u6b63\u5728\u8fd0\u884c\u3002

\u8981\u542f\u7528\u6258\u76d8\u56fe\u6807\uff0c\u9700\u8981\u5148\u6253\u5f00\u865a\u62df\u673a\u7cfb\u7edf\u7ba1\u7406\u5668\uff0c\u70b9\u51fb\u83dc\u5355\u680f\u7684 \u7f16\u8f91 > Preferences\uff0c\u52fe\u9009 \u542f\u7528\u7cfb\u7edf\u6258\u76d8\u56fe\u6807\u3002

","tags":["\u8d44\u6599\u5e93","Linux","KVM","Windows"]},{"location":"essay/linux/1-kvm/#_5","title":"\u9f20\u6807\u6355\u83b7","text":"

\u8981\u505c\u6b62\u9f20\u6807\u6355\u83b7\u81f3\u865a\u62df\u673a\uff0c\u6309\u4e0b\u5de6 Ctrl + \u5de6 Alt \u952e\u5373\u53ef\u3002

","tags":["\u8d44\u6599\u5e93","Linux","KVM","Windows"]},{"location":"essay/linux/1-kvm/#_6","title":"\u865a\u62df\u673a\u5168\u5c4f\u663e\u793a","text":"

\u865a\u62df\u673a\u5207\u6362\u81f3\u5168\u5c4f\u7684\u6309\u94ae\u5728\u53f3\u4e0a\u65b9\uff0c\u5207\u6362\u81f3\u5168\u5c4f\u540e\uff0c\u5982\u679c\u8981\u9000\u51fa\u5168\u5c4f\uff0c\u8bf7\u5c06\u9f20\u6807\u79fb\u52a8\u81f3\u5c4f\u5e55\u6b63\u4e0a\u65b9\uff0c\u4f1a\u51fa\u73b0\u4e00\u4e2a\u9000\u51fa\u6309\u94ae\u3002

","tags":["\u8d44\u6599\u5e93","Linux","KVM","Windows"]},{"location":"essay/linux/1-kvm/#windows_1","title":"Windows \u865a\u62df\u673a\u5206\u8fa8\u7387\u65e0\u6cd5\u8c03\u8282","text":"

\u8bf7\u5b89\u88c5 virtio-win-guest-tools.exe

","tags":["\u8d44\u6599\u5e93","Linux","KVM","Windows"]},{"location":"essay/linux/bash/0-about/","title":"\u5173\u4e8e","text":"

\u8be5\u90e8\u5206\u662f Bash Reference Manual \u7684\u7b14\u8bb0\u3002

"},{"location":"essay/linux/bash/2-definitions/","title":"\u5b9a\u4e49","text":"
  • blank\uff1a \u7a7a\u683c\u6216\u5236\u8868\u7b26\uff08tab character\uff09\uff1b
  • builtin\uff1a \u5185\u5efa\u4e8e Bash shell \u7684\u547d\u4ee4\uff1b
  • control operator\uff1a \u7528\u4e8e\u6267\u884c\u63a7\u5236\u529f\u80fd\u7684\u6807\u8bb0\uff08token\uff09\uff0c\u5305\u62ec\u6362\u884c\u7b26\uff08newline\uff09\u4ee5\u53ca ||\u3001&&\u3001&\u3001;\u3001;;\u3001;&\u3001;;&\u3001|\u3001|&\u3001( \u548c )\u3002
  • exit status\uff1a \u547d\u4ee4\u8fd4\u56de\u7ed9\u8c03\u7528\u8005\uff08caller\uff09\u7684\u503c\u3002\u8be5\u503c\u9650\u5236\u4e3a 8 \u4f4d\uff0c\u56e0\u6b64\u6700\u5927\u503c\u4e3a 255\u3002
  • field\uff1a \u4e00\u79cd\u6587\u672c\u5355\u5143\uff0c\u662f shell \u6269\u5c55\u4e4b\u4e00\u7684\u7ed3\u679c\u3002\u6269\u5c55\u540e\uff0c\u6267\u884c\u547d\u4ee4\u65f6\uff0c\u7ed3\u679c\u5b57\u6bb5\uff08resulting fields\uff09\u5c06\u7528\u4f5c\u547d\u4ee4\u540d\u79f0\u548c\u53c2\u6570\u3002
  • filename\uff1a \u7528\u4e8e\u6807\u8bc6\u6587\u4ef6\u7684\u5b57\u7b26\u4e32\uff08string\uff09
  • job\uff1a \u7531\u7ba1\u9053\uff08pipeline\uff09\u53ca\u5176\u6d3e\u751f\u7684\u6240\u6709\u8fdb\u7a0b\u7ec4\u6210\u7684\u4e00\u7ec4\u8fdb\u7a0b\uff0c\u5b83\u4eec\u90fd\u4f4d\u4e8e\u540c\u4e00\u8fdb\u7a0b\u7ec4\u4e2d\u3002
  • job control\uff1a \u4e00\u79cd\u8ba9\u7528\u6237\u53ef\u4ee5\u6709\u9009\u62e9\u5730\u505c\u6b62\uff08\u6302\u8d77\uff09\u548c\u91cd\u65b0\u542f\u52a8\uff08\u6062\u590d\uff09\u8fdb\u7a0b\u7684\u6267\u884c\u7684\u4e00\u79cd\u673a\u5236\u3002
  • metacharacter\uff1a \u4e00\u79cd\u5f53\u4e0d\u88ab\u5f15\u7528\uff08quote\uff09\u65f6\uff0c\u53ef\u7528\u4e8e\u5206\u9694\u5355\u8bcd\u7684\u5b57\u7b26\u3002\u5143\u5b57\u7b26\u6709\uff1a \u7a7a\u683c\uff08space\uff09\u3001tab\u3001\u6362\u884c\u7b26\uff08newline\uff09\uff0c\u4ee5\u53ca\uff1a |\u3001&\u3001;\u3001(\u3001)\u3001< \u548c >\u3002
  • name\uff1a \u4ec5\u7531\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e0b\u5212\u7ebf\uff08_\uff09\u7ec4\u6210\uff0c\u4e14\u4ee5\u5b57\u6bcd\u6216\u4e0b\u5212\u7ebf\u5f00\u5934\u7684\u5355\u8bcd\u3002name \u5e38\u7528\u4e8e shell \u53d8\u91cf\u548c\u51fd\u6570\u540d\uff0c\u4e5f\u88ab\u6210\u4e3a\u6807\u8bc6\u7b26\uff08identifier\uff09\u3002
  • operator\uff1a \u4e00\u822c\u6307 control operator \u6216 redirection operator\u3002\u64cd\u4f5c\u7b26\u81f3\u5c11\u5305\u542b\u4e00\u4e2a\u672a\u88ab\u5f15\u7528\u7684\u5143\u5b57\u7b26\u3002
  • process group\uff1a \u4e00\u4e2a\u5305\u542b\u5177\u6709\u76f8\u540c\u8fdb\u7a0b\u7ec4 ID \u7684\u76f8\u5173\u8fdb\u7a0b\u7684\u96c6\u5408\u3002
  • process group ID\uff1a \u4ee3\u8868 process group \u5728\u5176\u751f\u547d\u5468\u671f\u5185\u7684\u552f\u4e00\u6807\u8bc6\u7b26\u3002
  • reserved word\uff1a \u5bf9 shell \u6709\u7279\u6b8a\u610f\u4e49\uff0c\u4fdd\u7559\u7ed9 shell \u4f7f\u7528\u7684\u5355\u8bcd\u3002\u5982 for \u548c while\u3002
  • return status\uff1a exit status \u7684\u540c\u4e49\u8bcd\u3002
  • signal\uff1a \u4e00\u79cd\u5185\u6838\u5411\u8fdb\u7a0b\u901a\u77e5\u7cfb\u7edf\u4e2d\u53d1\u751f\u7684\u4e8b\u4ef6\u7684\u673a\u5236\u3002
  • special builtin\uff1a \u88ab POSIX \u6807\u51c6\u5f52\u7c7b\u4e3a\u7279\u6b8a\u547d\u4ee4\u7684 shell \u5185\u7f6e\u547d\u4ee4\u3002
  • token\uff1a \u88ab shell \u89c6\u4e3a\u5355\u4e2a\u5355\u5143\u7684\u5b57\u7b26\u5e8f\u5217\u3002\u5b83\u53ef\u4ee5\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u4e5f\u53ef\u4ee5\u662f\u4e00\u4e2a\u64cd\u4f5c\u7b26\u3002
  • word\uff1a \u88ab shell \u89c6\u4e3a\u4e00\u4e2a\u5355\u5143\u7684\u5b57\u7b26\u5e8f\u5217\u3002\u5355\u8bcd\u4e0d\u5f97\u5305\u542b\u672a\u52a0\u5f15\u53f7\u7684\u5143\u5b57\u7b26\u3002
","tags":["\u8d44\u6599\u5e93","Linux","Bash"]},{"location":"essay/linux/bash/3.1-syntax/","title":"Shell \u8bed\u6cd5","text":"","tags":["\u8d44\u6599\u5e93","Linux","Bash"]},{"location":"essay/linux/bash/3.1-syntax/#_1","title":"\u5de5\u4f5c\u6d41\u7a0b\u7b80\u8ff0","text":"

\u4ee5\u4e0b\u662f shell \u8bfb\u53d6\u548c\u6267\u884c\u547d\u4ee4\u7684\u64cd\u4f5c\uff1a

  1. shell \u4ece\u6587\u4ef6\uff08shell \u811a\u672c\uff09\u3001\u4f5c\u4e3a\u53c2\u6570\u7684\u5b57\u7b26\u4e32\u6216\u7528\u6237\u7684\u7ec8\u7aef\u8bfb\u53d6\u8f93\u5165\u3002
  2. \u6839\u636e\u5f15\u7528\u89c4\u5219\uff0c\u5c06\u8f93\u5165\u62c6\u5206\u6210\u5355\u8bcd\u548c\u64cd\u4f5c\u7b26\u3002\u4f7f\u7528\u5143\u5b57\u7b26\u5206\u9694\u8fd9\u4e9b\u6807\u8bb0\u3002\u6269\u5c55\u522b\u540d\u3002
  3. \u5c06\u6807\u8bb0\u89e3\u6790\u4e3a\u7b80\u5355\u547d\u4ee4\u548c\u590d\u5408\u547d\u4ee4\u3002
  4. \u6267\u884c\u5404\u79cd shell \u6269\u5c55\uff0c\u5c06\u6269\u5c55\u7684\u6807\u8bb0\u5206\u89e3\u4e3a\u6587\u4ef6\u540d\u5217\u8868\u4ee5\u53ca\u547d\u4ee4\u548c\u53c2\u6570\u3002
  5. \u6267\u884c\u4efb\u4f55\u5fc5\u8981\u7684\u91cd\u5b9a\u5411\u5e76\u4ece\u53c2\u6570\u5217\u8868\u4e2d\u5220\u9664\u91cd\u5b9a\u5411\u64cd\u4f5c\u7b26\u53ca\u5176\u64cd\u4f5c\u6570\uff08operands\uff09\u3002
  6. \u6267\u884c\u547d\u4ee4\u3002
  7. \uff08\u53ef\u9009\uff09\u7b49\u5f85\u547d\u4ee4\u5b8c\u6210\u5e76\u6536\u96c6\u5176\u9000\u51fa\u72b6\u6001\u3002
","tags":["\u8d44\u6599\u5e93","Linux","Bash"]},{"location":"essay/linux/bash/3.1-syntax/#_2","title":"\u5f15\u7528","text":"","tags":["\u8d44\u6599\u5e93","Linux","Bash"]},{"location":"essay/main/adjust-win11-for-popurse/","title":"Windows 11 \u5b89\u88c5\u4e0e\u914d\u7f6e","text":"

\u6ce8\u610f

  • \u672c\u6587\u6700\u540e\u66f4\u65b0\u4e8e 2024 \u5e74 8 \u6708 29 \u65e5\uff1b
  • \u672c\u6587\u9002\u7528\u4e8e Windows 11 23H2\uff1b
  • \u672c\u6587\u4f18\u5148\u4f7f\u7528\u4fbf\u643a\u8f6f\u4ef6\uff1b
  • \u672c\u6587\u4e0d\u5177\u6709\u666e\u9002\u6027\u3002
","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#_1","title":"\u6d41\u7a0b\u6982\u89c8","text":"
  1. \u4e0b\u8f7d ISO \u6587\u4ef6\uff1b
  2. \u4f7f\u7528 ventoy \u5b89\u88c5\u7cfb\u7edf\uff1b
  3. \u7b49\u5f85 Windows Update \u66f4\u65b0\u5b8c\u6bd5\uff1b\u914d\u7f6e Windows \u7cfb\u7edf\u8bbe\u7f6e\uff0c\u5b89\u88c5\u57fa\u672c\u7684\u8fd0\u884c\u5e93\uff1b
  4. \u518d\u6b21\u68c0\u67e5\u662f\u5426\u6709\u66f4\u65b0\uff1b
  5. \u5b89\u88c5\u663e\u5361\u9a71\u52a8\uff1b
  6. \u5378\u8f7d\u65e0\u7528\u8f6f\u4ef6\uff1b
  7. \u5b89\u88c5\u8f6f\u4ef6\uff1b
  8. \u4fbf\u643a\u8f6f\u4ef6\u5217\u8868\u3002
","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#1-iso","title":"1\u3001\u83b7\u53d6 ISO \u6587\u4ef6","text":"

\u4ece\u4e0b\u8f7d Windows 11 \u9875\u9762\u83b7\u53d6 Windows 11 \u5b89\u88c5\u52a9\u624b\u3002\u4f7f\u7528\u8fd9\u4e2a\u52a9\u624b\u4ec5\u4e0b\u8f7d Windows.iso \u800c\u4e0d\u76f4\u63a5\u523b\u5165\u5230 U \u76d8\u3002

","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#2-ventoy","title":"2\u3001\u4f7f\u7528 ventoy \u5b89\u88c5\u7cfb\u7edf","text":"

\u4f7f\u7528 Ventoy \u5c06 U \u76d8\u6216\u53ef\u79fb\u52a8\u8bbe\u5907\u8f6c\u6362\u4e3a\u4e00\u4e2a\u53ef\u542f\u52a8\u7684\u5b89\u88c5\u4ecb\u8d28\u3002

\u4f7f\u7528 VentoyPlugson.exe \u914d\u7f6e\u8bbe\u5907\uff0c\u5728 \u5168\u5c40\u63a7\u5236\u63d2\u4ef6 \u4e2d\uff0c\u5728 \u6307\u5b9a\u641c\u7d22\u76ee\u5f55 \u4e2d\u8bbe\u7f6e ISO \u6587\u4ef6\u5b58\u653e\u7684\u6587\u4ef6\u5939\u3002

\u5f00\u673a\u65f6\u8fde\u6309 Esc \u8fdb\u5165 BIOS\uff0c\u4ece BIOS \u542f\u52a8 U \u76d8\u3002\u5b89\u88c5\u7cfb\u7edf\u65f6\uff1a

  • \u65ad\u5f00\u7f51\u7edc
  • \u4f7f\u7528\u672c\u5730\u8d26\u6237
  • \u4e0d\u8bbe\u7f6e\u5bc6\u7801
  • \u62d2\u7edd\u6240\u6709\u7684\u5fae\u8f6f\u670d\u52a1
","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#31","title":"3.1\u3001\u66f4\u65b0\u7cfb\u7edf","text":"

\u5728\u7cfb\u7edf\u8bbe\u7f6e\u4e2d\uff0c\u91cd\u547d\u540d\u6b64\u7535\u8111\u3002\u8fde\u63a5 WiFi\uff0c\u7136\u540e\u91cd\u542f\u7cfb\u7edf\u3002

\u542f\u52a8 Windows update\uff0c\u6b64\u65f6\u5e76\u4e0d\u5efa\u8bae\u5378\u8f7d\u4efb\u4f55\u8f6f\u4ef6\u3002

Windows \u548c Officee \u6fc0\u6d3b\u89c1\u6ca7\u6c34\u7684 KMS \u670d\u52a1\u3002

","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#32-windows","title":"3.2\u3001\u914d\u7f6e Windows \u7cfb\u7edf\u8bbe\u7f6e","text":"","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#dism","title":"\u4f7f\u7528 Dism++ \u8c03\u6574\u7cfb\u7edf","text":"

\u5728\u542f\u52a8 Dism++ \u540e\uff0c\u70b9\u51fb\u5de6\u680f\u7684\u7cfb\u7edf\u4f18\u5316\uff0c\u7136\u540e\uff1a

  1. \u5728 \u5f00\u59cb\u83dc\u5355\u53ca Windows \u4f53\u9a8c \u4e2d\uff0c\u5c06\u9664\u4e86 \u767b\u5f55\u754c\u9762\u9ed8\u8ba4\u6253\u5f00\u5c0f\u952e\u76d8 \u548c \u5173\u95ed Onedrive \u4ee5\u5916\u7684\u9009\u9879\u5168\u90e8\u5f00\u542f\uff1b\u6ce8\u610f\u6bcf\u6b21\u7f16\u8f91\u90fd\u9700\u8981\u91cd\u542f\u4e00\u6b21 explorer.exe\uff1b
  2. \u5728 Explorer \u4e2d\uff0c\u6253\u5f00
    • \u6253\u5f00\u8d44\u6e90\u7ba1\u7406\u5668\u65f6\u663e\u793a\u6b64\u7535\u8111
    • \u663e\u793a\u6240\u6709\u6587\u4ef6\u6269\u5c55\u540d
    • \u521b\u5efa\u5feb\u6377\u65b9\u5f0f\u65f6\u4e0d\u6dfb\u52a0\u201c\u5feb\u6377\u65b9\u5f0f\u201d\u6587\u5b57
    • \u6b64\u7535\u8111\u4e2d\u89c6\u9891\u3001\u7167\u7247\u3001\u6587\u6863\u3001\u4e0b\u8f7d\u3001\u97f3\u624b\u3001\u5353\u9762\u30013D \u5bf9\u8c61\u4e03\u4e2a\u6587\u4ef6\u5939
    • \u5feb\u901f\u8bbf\u95ee\u4e0d\u663e\u793a\u5e38\u7528\u6587\u4ef6\u5939
    • \u5feb\u901f\u8bbf\u95ee\u4e0d\u663e\u793a\u6700\u8fd1\u4f7f\u7528\u7684\u6587\u4ef6
    • \u7981\u7528Win11\u52a0\u5165\u7684\u65b0\u53f3\u952e\u83dc\u5355\uff0c\u9ed8\u8ba4\u663e\u793a\u66f4\u591a\u7684\u9009\u9879
  3. \u5728 \u684c\u9762\u56fe\u6807\u7ba1\u7406\u4e2d \u9690\u85cf\u5168\u90e8\u7684\u56fe\u6807
  4. \u5728 \u8d44\u6e90\u7ba1\u7406\u5668\u5bfc\u822a\u7a97\u53e3\u56fe\u6807\u7ba1\u7406 \u4e2d\uff0c\u6253\u5f00
    • \u9690\u85cf\u8d44\u6e90\u7ba1\u7406\u5668\u5bfc\u822a\u7a97\u53e3\u4e2d\u7684\u5e93
    • \u9690\u85cf\u8d44\u6e90\u7ba1\u7406\u5668\u5bfc\u822a\u7a97\u53e3\u4e2d\u7684\u6536\u85cf\u5939
  5. \u5728 \u5fae\u8f6f\u62fc\u97f3\u8f93\u5165\u6cd5 \u4e2d\uff0c\u6253\u5f00
    • \u5fae\u8f6f\u62fc\u97f3\u9ed8\u8ba4\u4e3a\u82f1\u8bed\u8f93\u5165
","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#windows","title":"Windows \u8bbe\u7f6e","text":"","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#_2","title":"\u7cfb\u7edf","text":"
  • \u901a\u77e5\uff1a\u5728 \u5176\u4ed6\u8bbe\u7f6e \u4e2d\uff0c\u53d6\u6d88\u52fe\u9009
    • \u66f4\u65b0\u4ee5\u53ca\u767b\u5f55\u540e\u663e\u793a Windows \u6b22\u8fce\u4f53\u9a8c\u4ee5\u663e\u793a\u65b0\u589e\u529f\u80fd\u548c\u5efa\u8bae\u5185\u5bb9
    • \u5efa\u8bae\u6211\u5982\u4f55\u5145\u5206\u5229\u7528 Windows \u5e76\u5b8c\u6210\u8bbe\u7f6e\u6b64\u8bbe\u5907
    • \u5f53\u6211\u4f7f\u7528 Windows \u65f6\u83b7\u53d6\u63d0\u793a\u548c\u5efa\u8bae
  • \u7535\u6e90\u548c\u7535\u6c60\uff1a \u5c4f\u5e55\u548c\u7761\u7720 \u8bbe\u7f6e\u4e3a\u9ed8\u8ba4\u8bbe\u7f6e1\u3002
  • \u50a8\u5b58\uff1a \u5b58\u50a8\u611f\u77e5 \u5e94\u5f53\u662f\u81ea\u52a8\u5f00\u542f\u7684\u3002\u6253\u5f00 \u4f18\u5316\u9a71\u52a8\u5668 \u6574\u7406\u78c1\u76d8\u788e\u7247\u3002
  • \u5c31\u8fd1\u5171\u4eab\uff1a \u5173\u95ed\u6b64\u529f\u80fd
  • \u526a\u8d34\u677f\uff1a \u6253\u5f00 \u526a\u8d34\u677f\u5386\u53f2\u8bb0\u5f55
  • \u7cfb\u7edf\u4fe1\u606f\uff1a
    • \u5728 \u9ad8\u7ea7\u7cfb\u7edf\u8bbe\u7f6e \u2192 \u9ad8\u7ea7 \u2192 \u73af\u5883\u53d8\u91cf \u2192 Path \u4e2d\uff0c\u70b9\u51fb \u7f16\u8f91\uff0c\u63d2\u5165\u73af\u5883\u53d8\u91cf\u3002
D:\\software\\lib\nD:\\software\\lib\\git\nD:\\software\\lib\\git\\cmd\nD:\\software\\lib\\python\nD:\\software\\lib\\python\\Scripts\n
","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#_3","title":"\u84dd\u7259\u548c\u5176\u4ed6\u8bbe\u5907","text":"
  • \u89e6\u6478\u677f\uff1a \u5c06 \u4e09\u6307\u624b\u52bf \u7684\u70b9\u51fb\u52a8\u4f5c\uff0c\u4fee\u6539\u4e3a \u9f20\u6807\u4e2d\u952e
","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#_4","title":"\u4e2a\u6027\u5316","text":"
  • \u80cc\u666f\uff1a \u5c06 \u4e2a\u6027\u5316\u8bbe\u7f6e\u80cc\u666f \u4fee\u6539\u4e3a \u5e7b\u706f\u7247\u653e\u6620\uff0c\u6253\u5f00 \u5728\u4f7f\u7528\u7535\u6c60\u4f9b\u7535\u65f6\u4ecd\u5141\u8bb8\u8fd0\u884c\u5e7b\u706f\u7247\u653e\u6620
  • \u989c\u8272\uff1a \u8bbe\u7f6e\u4e3a \u94a2\u84dd\u8272
  • \u9501\u5c4f\u754c\u9762\uff1a \u4e2a\u6027\u5316\u9501\u5c4f\u754c\u9762 \u4fee\u6539\u4e3a \u56fe\u7247 \u53d6\u6d88\u52fe\u9009 \u5728\u9501\u5c4f\u754c\u9762\u4e0a\u83b7\u53d6\u82b1\u7d6e\u3001\u63d0\u793a\u3001\u6280\u5de7\u7b49
  • \u5f00\u59cb\uff1a
    • \u5e03\u5c40 \u9009\u62e9\u4e3a \u66f4\u591a\u56fa\u5b9a\u9879
    • \u5173\u95ed \u5e03\u5c40 \u4e0b\u65b9\u6240\u6709\u7684\u9009\u9879
    • \u5728 \u6587\u4ef6\u5939 \u4e2d\uff0c\u53ea\u6253\u5f00 \u8bbe\u7f6e
  • \u4efb\u52a1\u680f\uff1a
    • \u5728 \u4efb\u52a1\u680f\u9879 \u548c \u7cfb\u7edf\u6258\u76d8\u56fe\u6807 \u4e2d\u5173\u95ed\u6216\u9690\u85cf\u5168\u90e8\u9009\u9879\uff0c\u9664\u4e86 \u4efb\u52a1\u89c6\u56fe
    • \u5728 \u5176\u4ed6\u7cfb\u7edf\u6258\u76d8\u56fe\u6807 \u4e2d\uff0c\u9009\u62e9\u6027\u5f00\u542f\u6240\u9700\u5e94\u7528\u56fe\u6807\u3002
    • \u5728 \u4efb\u52a1\u680f\u884c\u4e3a \u4e2d\uff0c\u52fe\u9009 \u5355\u51fb\u4efb\u52a1\u680f\u53f3\u4e0b\u89d2\u4ee5\u663e\u793a\u684c\u9762
  • \u8bbe\u5907\u4f7f\u7528\u60c5\u51b5\uff1a \u5173\u95ed\u5168\u90e8\u9009\u9879
","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#_5","title":"\u8d26\u6237","text":"

\u5728 \u767b\u9646\u9009\u9879 \u4e2d\uff0c\u8bbe\u7f6e\u5bc6\u7801\u548c\u5934\u50cf\u3002

","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#_6","title":"\u65f6\u95f4\u548c\u8bed\u8a00","text":"

\u5728 \u8bed\u8a00\u548c\u533a\u57df \u4e2d\uff0c\u4fee\u6539 \u533a\u57df\u683c\u5f0f\u3002

\u4fee\u6539 \u5fae\u8f6f\u62fc\u97f3\u8f93\u5165\u6cd5\uff1a

  • \u5728 \u6309\u952e \u4e2d\uff0c\u53d6\u6d88\u52fe\u9009 Shift
  • \u5728 \u8bcd\u5e93\u548c\u81ea\u5b66\u4e60 \u4e2d\uff0c\u542f\u7528\u5168\u90e8\u7684\u4e13\u4e1a\u8bcd\u5178
","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#_7","title":"\u8f85\u52a9\u529f\u80fd","text":"
  • \u952e\u76d8\uff1a \u5173\u95ed\u4e0e\u7c98\u6ede\u952e\u3001\u8fc7\u6ee4\u952e\u548c\u5207\u6362\u952e\u76f8\u5173\u7684\u5168\u90e8\u9009\u9879
","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#_8","title":"\u9690\u79c1\u548c\u5b89\u5168\u6027","text":"
  • \u5728 \u5e38\u89c4 \u4e2d\uff0c\u5173\u95ed\u5168\u90e8\u9009\u9879
  • \u5728 \u8bca\u65ad\u548c\u53cd\u9988 \u4e2d\uff0c\u5c06\u53cd\u9988\u9891\u7387\u8c03\u6210 \u4ece\u4e0d\u3002
  • \u5728 \u6d3b\u52a8\u5386\u53f2\u8bb0\u5f55 \u4e2d\uff0c\u5173\u95ed\u6d3b\u52a8\u5386\u53f2\u8bb0\u5f55
  • \u5728 \u641c\u7d22\u6743\u9650 \u4e2d\uff0c\u5173\u95ed\u6240\u6709\u9009\u9879
  • \u5728 \u641c\u7d22 Windows \u4e2d\uff0c\u6253\u5f00 \u7f16\u5236\u7d22\u5f15\u65f6\u9075\u4ece\u7535\u6e90\u8bbe\u7f6e
","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#windows_1","title":"Windows \u66f4\u65b0\uff1a","text":"

\u5728 \u9ad8\u7ea7\u9009\u9879 \u4e2d\uff0c\u5173\u95ed \u4f20\u9012\u4f18\u5316\u3002

","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#33","title":"3.3\u3001\u5b89\u88c5\u57fa\u672c\u7684\u8fd0\u884c\u5e93","text":"
  1. \u5b89\u88c5 Microsoft Visual C++ 2015-2022 Redistributable \u548c Chrome\u3002
  2. \u542f\u52a8\u4e0b\u5217\u8f6f\u4ef6\uff0c\u5c06\u5176\u96c6\u6210\u5230\u6587\u4ef6\u8d44\u6e90\u7ba1\u7406\u5668\u4e2d\u6216\u5173\u8054\u6587\u4ef6\u683c\u5f0f\uff1a
    • 7-zip\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
  3. \u542f\u52a8 v2rayN \u5e76\u8bbe\u7f6e\u5f00\u673a\u542f\u52a8\u3002

\u4f7f\u7528 ContextMenuManager \u7f16\u8f91\u9f20\u6807\u53f3\u952e\u83dc\u5355\uff0c\u542f\u7528 \u5176\u4ed6\u89c4\u5219 \u4e2d\u7684 \u65b0\u5efa\u6587\u4ef6\u5939\u3001\u91cd\u542f\u8d44\u6e90\u7ba1\u7406\u5668 \u548c \u590d\u5236\u8def\u5f84\u3002

","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#4","title":"4\u3001\u518d\u6b21\u68c0\u67e5\u662f\u5426\u6709\u66f4\u65b0","text":"

\u5728\u66f4\u65b0\u5b8c\u91cd\u542f\u7cfb\u7edf\u540e\uff0c\u91cd\u65b0\u68c0\u67e5\u4e00\u4e0b Windows update \u662f\u5426\u6709\u53ef\u7528\u66f4\u65b0\u3002

","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#5","title":"5\u3001\u5b89\u88c5\u663e\u5361\u9a71\u52a8","text":"

\u4e0b\u8f7d AMD Software\uff08AMD Software \u65e7\u7248\u672c\uff09\u5e76\u5b89\u88c5\u3002

\u5b8c\u6210\u540e\u8c03\u6574\u97f3\u91cf\u548c\u5c4f\u5e55\u4eae\u5ea6\u3002

\u5bf9\u4e8e AMD \u9a71\u52a8\u7684\u8bbe\u7f6e\uff0c\u5728 \u6e38\u620f \u2192 \u663e\u5361 \u4e2d\uff0c\u63a8\u8350\u9009\u62e9 \u81ea\u5b9a\u4e49 \u65b9\u6848\u3002\u5e76\u53ea\u5f00\u542f\uff1a

  • Radeon\u2122 Anti-Lag
  • Radeon\u2122 \u589e\u5f3a\u540c\u6b65\uff08\u4ec5\u5bf9\u72ec\u663e\u6709\u6548\uff09

\u5728 \u6e38\u620f \u2192 \u663e\u793a\u5668 \u4e2d\uff0c

  • \u5173\u95ed Vari-Bright
  • \u6253\u5f00\u81ea\u5b9a\u4e49\u989c\u8272\uff0c\u5c06\u8272\u6e29\u8c03\u6574\u5230 6900

\u5728 \u7cfb\u7edf \u2192 \u5c4f\u5e55 \u2192 \u663e\u793a\u5361 \u4e2d\uff0c\u6dfb\u52a0\u9700\u8981\u4f7f\u7528\u663e\u5361\u7684\u5e94\u7528\u3002

\u6309 Alt + R \u542f\u52a8 AMD Software \u9762\u677f\u3002

","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#6","title":"6\u3001\u5378\u8f7d\u65e0\u7528\u8f6f\u4ef6","text":"

\u4f7f\u7528 Geek Uninstaller \u6e05\u7406\u7cfb\u7edf\u7684 UWP \u8f6f\u4ef6\uff08\u5305\u62ec OneDrive\uff09\uff0c\u4ec5\u4fdd\u7559\uff08\u542b\u5382\u5546\u9a71\u52a8\uff09\uff1a

\u7136\u540e\u4f7f\u7528\u5fae\u8f6f\u5546\u5e97\u66f4\u65b0 UWP \u5e94\u7528\u3002\u66f4\u65b0\u8fc7\u7a0b\u4e2d\uff0c\u5df2\u5220\u9664\u7684\u5e94\u7528\u53ef\u80fd\u4f1a\u88ab\u91cd\u65b0\u5b89\u88c5\u56de\u6765\u3002

\u4f7f\u7528\u5f3a\u5236\u5220\u9664\u5378\u8f7d\u65e0\u6cd5\u5378\u8f7d\u7684 Edge \u548c webview2 \uff0c\u5e76\u4f7f\u7528 Edge Blocker \u7981\u6b62\u7cfb\u7edf\u518d\u6b21\u5b89\u88c5 edge\u3002

","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#7","title":"7\u3001\u5b89\u88c5\u8f6f\u4ef6","text":"

\u6ce8\u610f

\u5b89\u88c5\u540e\u4f1a\u4ea7\u751f\u5927\u91cf\u5c0f\u6587\u4ef6\u7684\u5e94\u7528\u9ed8\u8ba4\u4e0d\u4ee5\u4fbf\u643a\u6a21\u5f0f\u8fdb\u884c\u90e8\u7f72\u3002

\u4f7f\u7528 Office Tool Plus \u5b89\u88c5 Microsoft Office\uff0c\u5e76\u5378\u8f7d Office 2021 \u7a0d\u540e\u81ea\u52a8\u5b89\u88c5\u7684\u4e00\u4e2a\u5e94\u7528\u3002

\u5b89\u88c5\uff1a

  • Auto Night Mode
  • Bandiview
  • GIMP
  • gpg4win
    • \u5b89\u88c5\u65f6\u53ea\u9700\u8981 Kleopatra \u548c GpgEX \u5373\u53ef\u3002
  • steam
    • \u5173\u95ed\u5f00\u673a\u542f\u52a8
    • \u4fee\u6539\u9ed8\u8ba4\u5e93
    • \u4fee\u6539\u9ed8\u8ba4\u542f\u52a8\u65f6\u663e\u793a\u7684\u9875\u9762
    • \u4fee\u6539\u4e0b\u8f7d\u670d\u52a1\u5668
    • \u4fee\u6539\u6309\u4e0b\u63a7\u5236\u5668\u6309\u94ae\u65f6\u7684\u64cd\u4f5c
  • VirtualBox
  • VLC

\u65e0\u7ebf\u4e0e\u84dd\u7259\u9a71\u52a8\uff1a

  • Intel\u00ae Wi-Fi 6E AX210
","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#8","title":"8\u3001\u4fbf\u643a\u8f6f\u4ef6\u5217\u8868","text":"

\u6ce8\u610f

\u4ee5\u4e0b\u662f\u4ee5\u4fbf\u643a\u6a21\u5f0f\u6216\u7c7b\u4f3c\u72b6\u6001\u4f7f\u7528\u7684\u8f6f\u4ef6\u3002

D:\\software\\portable

  • 7-zip\uff08\u672c\u8d28\u662f\u4e2a\u4fbf\u643a\u8f6f\u4ef6\uff0c\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\u4ee5\u4fbf\u4e8e\u91cd\u65b0\u6ce8\u5165 shell\uff09 \u6253\u5f00 \u5de5\u5177 \u2192 \u9009\u9879\uff1a
    • \u5728 7-Zip \u9875\u9762\uff0c\u53d6\u6d88\u52fe\u9009 \u5c42\u53e0\u53f3\u952e\u83dc\u5355\u3001\u538b\u7f29\u5e76\u90ae\u5bc4\u3001\u538b\u7f29<\u6863\u6848>.7z\u5e76\u90ae\u5bc4 \u548c \u538b\u7f29<\u6863\u6848>.zip\u5e76\u90ae\u5bc4\uff1b
    • \u5728 \u663e\u793a \u9875\u9762\uff0c\u52fe\u9009 \u663e\u793a \u231c...\u231f \u9879\u3001\u663e\u793a\u771f\u5b9e\u56fe\u6807\u3001\u6574\u884c\u9009\u62e9\u3001\u663e\u793a\u7f51\u683c\u7ebf\u3001\u5355\u51fb\u6253\u5f00\u9879\u76ee\u3002
  • aria2 \u53e6\u89c1\uff1a\u5b89\u88c5\u4e0e\u4f7f\u7528 aria2
  • benchmark-toolkit
    • CPU-Z\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
    • CrystalDiskMark\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
    • Furmark\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
    • HWiNFO\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
  • ContextMenuManager\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
  • Dism++\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
  • Everything\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
  • FreeFileSync\uff08\u672c\u8d28\u662f\u4e2a\u4fbf\u643a\u8f6f\u4ef6\uff09 \u4ec5\u540c\u6b65 git \u4ed3\u5e93\u7684\u538b\u7f29\u5305\u6587\u4ef6
  • GoldenDict-ng
    • \u9700\u8981\u5728 GoldenDict.exe \u6240\u5728\u76ee\u5f55\u65b0\u5efa\u4e00\u4e2a\u540d\u4e3a portable \u7684\u6587\u4ef6\u5939
    • \u4fbf\u643a\u6a21\u5f0f\u4e0b\uff0c\u8bcd\u5178\u6587\u4ef6\u53ea\u80fd\u653e\u7f6e\u5728 content \u6587\u4ef6\u5939\u4e2d
  • KeePassXC
  • music-toolkit:
    • Foobox
      • foobar2000 Asion \u6c49\u5316\u7248\uff08\u5173\u8054\u683c\u5f0f\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
    • MusicTag \u5b89\u88c5\u5305\u89e3\u538b\u5bc6\u7801\uff1awww.coolapk.com
    • spek
  • Notepad3\uff08\u672c\u8d28\u662f\u4e2a\u4fbf\u643a\u8f6f\u4ef6\uff09
  • sordum toolkit
    • EdgeBlock\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
    • W11ClassicMenu\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
    • win update blocker\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
  • sysinternals
    • Autoruns64\uff08\u9700\u8981\u7ba1\u7406\u5668\u6743\u9650\uff09
    • procexp64\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
    • RaMMap\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
    • tcpview64\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
  • Telegram
  • v2rayN\uff08TUN \u6a21\u5f0f\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
  • VSCode \u9700\u8981\u5728\u5e94\u7528\u76ee\u5f55\u4e2d\u65b0\u5efa\u4e00\u4e2a data \u6587\u4ef6\u5939\u3002
  • aegisub
  • AMD CleanUp Utility\uff08\u4f1a\u76f4\u63a5\u542f\u52a8\u5230\u5b89\u5168\u6a21\u5f0f\uff09
  • AntiDupl.NET
  • BOOTICEx64\uff08\u5df2\u505c\u66f4\uff09
  • Calibre Portable
  • DiskGenius\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
  • draw.io
  • Geek Uninstaller\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
  • KMS-Cangshui.net.bat\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
  • Office Tool Plus
  • Rufus\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
  • SpaceSniffer\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
  • Umi-OCR_Paddle
  • ventoy\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
  • WinMemoryCleaner\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09

D:\\software\\lib

  • git
    • \u9700\u8981\u5c06\u5b83\u6dfb\u52a0\u81f3\u73af\u5883\u53d8\u91cf\u4e2d\uff0c\u8be6\u89c1\u4e0a\u6587\u3002
    • \u914d\u7f6e\u6587\u4ef6\uff08C:\\Users\\Poplar.gitconfig\uff09\uff1a
      [user]\n    name = Poplar at twilight\n    email = poplar.cubic@gmail.com\n[http]\n    proxy = http://127.0.0.1:7890\n
  • python \u53e6\u89c1 \u5d4c\u5165\u5f0f python\uff08Windows\uff09
  • pandoc

D:\\software\\installed

  • qBittorrent-Enhanced-Edition
    • \u8be6\u89c1\uff1aqBittorrent \u914d\u7f6e\u5907\u5fd8\u5f55
  • PeerBanHelper
  1. \u6211\u7684\u8bbe\u5907\u5728\u7761\u7720\u72b6\u6001\u4e0b\u4e0d\u4f1a\u65ad\u5f00\u7f51\u7edc\u94fe\u63a5\uff0c\u6240\u4ee5\u6b64\u8bbe\u7f6e\u53ea\u9700\u8981\u9075\u5faa Windows \u7684\u8282\u80fd\u5efa\u8bae\u5373\u53ef\u3002\u00a0\u21a9

","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/ainme/","title":"\u5f71\u89c6&\u756a\u5267\u8bb0\u5f55\u5355","text":"\u7b26\u53f7 \u540d\u79f0 \u8bf4\u660e A \u7279\u522b\u63a8\u8350 \u4e2a\u4eba\u89c9\u5f97\u503c\u5f97\u5411\u9605\u8bfb\u6b64\u6587\u7684\u4eba\u63a8\u8350\u7684\u7c7b\u522b B \u63a8\u8350 \u4e2a\u4eba\u89c2\u770b\u4f53\u9a8c\u6ee1\u610f\u7684\u7c7b\u522b C \u4e00\u822c \u4e2a\u4eba\u89c2\u770b\u4f53\u9a8c\u4e00\u822c\u7684\u7c7b\u522b D \u4e0d\u63a8\u8350 \u4e2a\u4eba\u89c2\u770b\u4f53\u9a8c\u4e0d\u6ee1\u610f\u7684\u7c7b\u522b X \u672a\u5b9a\u4e49 \u56e0\u4e3a\u6ca1\u6709\u770b\u61c2\uff0c\u6240\u4ee5\u65e0\u6cd5\u5f52\u7c7b S \u5b63\u5ea6 \u5f71\u89c6\u5267\u96c6\u6216\u52a8\u753b\u756a\u5267\u7684\u5b63\u5ea6 TV TV \u7248 \u5728\u7535\u89c6\u53f0\u4e0a\u653e\u9001\u7684\u52a8\u753b\u7248\u672c OVA \u539f\u521b\u89c6\u9891\u52a8\u753b \u6620\u50cf\u7279\u5178\u3001\u756a\u5916\u5267\u96c6\u7b49\u975e\u4e3b\u7ebf\u5185\u5bb9 M \u7535\u5f71 \u7535\u5f71\u3001\u52a8\u753b\u7535\u5f71\u6216\u5267\u573a\u7248\u52a8\u753b + \u52a0\u53f7 \u8868\u793a\u201c\u548c\u201d ~ \u6ce2\u6d6a\u53f7 \u8868\u793a\u201c\u81f3\u201d

\u8bf4\u660e

  1. \u672c\u6587\u57fa\u4e8e\u4e2a\u4eba\u4e3b\u89c2\u4f53\u9a8c\u8fdb\u884c\u63a8\u8350\uff1b
  2. \u62ec\u53f7\u5185\u4e3a\u756a\u5267\u540d\u79f0\u7684\u65e5\u6587\u539f\u6587\u3001\u65e5\u8bed\u7f57\u9a6c\u5b57\u6216\u82f1\u6587\u539f\u540d\uff1b
  3. \u7b26\u53f7\u540e\u7d27\u8ddf\u7684\u6570\u5b57\u8868\u793a\u5176\u53d1\u5e03\u6b21\u5e8f\uff0c\u4f8b\u5982 S2 \u8868\u793a\u7b2c\u4e8c\u5b63\u3002
  4. \u6ca1\u6709\u7279\u522b\u6ce8\u660e\u5b63\u5ea6\u65f6\uff0c\u9ed8\u8ba4\u4e3a\u7b2c\u4e00\u5b63\u6216\u7b2c\u4e00\u90e8\u3002
","tags":["\u6742\u8c08","\u52a8\u6f2b","\u7535\u5f71"]},{"location":"essay/main/ainme/#_2","title":"\u52a8\u753b","text":"","tags":["\u6742\u8c08","\u52a8\u6f2b","\u7535\u5f71"]},{"location":"essay/main/ainme/#a","title":"A \u7c7b","text":"
  • \u65e5\u5e38\uff08Nichijou\uff09
  • \u523a\u5ba2\u4e94\u516d\u4e03 S1~S3
  • \u5de5\u4f5c\u7ec6\u80de Black\uff08\u306f\u305f\u3089\u304f\u7d30\u80de Black\uff09
  • \u7f57\u5c0f\u9ed1\u6218\u8bb0 S1~S2 + M
  • \u7075\u80fd\u767e\u5206\u767e\uff08\u30e2\u30d6\u30b5\u30a4\u30b3100\uff09 S1~S2
  • \u5c0f\u9b54\u5973\u5b66\u56ed\uff08Little Witch Academia\uff09TV + OVA + M
  • \u6765\u81ea\u6df1\u6e0a\uff08MADE IN ABYSS\uff09 S1
  • \u9b54\u672f\u5feb\u6597\uff08\u307e\u3058\u3063\u304f\u5feb\u6597\uff09
  • \u522b\u5bf9\u6620\u50cf\u7814\u51fa\u624b!\uff08\u6620\u50cf\u7814\u306b\u306f\u624b\u3092\u51fa\u3059\u306a\uff01\uff09
  • \u6210\u9f99\u5386\u9669\u8bb0
  • \u745e\u514b\u548c\u83ab\u8482 S1~S3
  • \u7c73\u8001\u9f20\uff08\u521d\u4ee3\uff09
  • \u6d77\u7ef5\u5b9d\u5b9d S1~S4
  • \u732b\u548c\u8001\u9f20
  • \u6447\u66f3\u9732\u8425\u25b3\uff08\u3086\u308b\u30ad\u30e3\u30f3\u25b3\uff09 S1~S2 + OVA + M
  • 0 \u53f7\u5bbf\u820d
  • \u5927\u7406\u5bfa\u65e5\u5fd7 S1~S2
  • \u65b0\u4e16\u7eaa\u798f\u97f3\u6218\u58eb\uff08Neon Genesis Evangelion\uff09TV \u7248
  • EVA \u65b0\u5267\u573a\u7248 1\uff08EVANGELION: 1.0 YOU ARE (NOT) ALONE.\uff09
  • \u98de\u51fa\u4e2a\u672a\u6765 S1~S7
  • RWBY S1~S2
  • \u767d\u7bb1\uff08SHIROBAKO\uff09 TV + OVA
  • \u51b0\u83d3\uff08Hyouka: Classic Literature Club series\uff09
  • SSSS.GRIDMAN
  • \u5947\u5de7\u8ba1\u7a0b\u8f66\uff08Odd Taxi\uff09
  • \u54e5\u65af\u62c9 \u5947\u5f02\u70b9\uff08Godzilla Singular Point\uff09
  • \u8d5b\u9a6c\u5a18 Pretty Derby\uff08Uma Musume Pretty Derby\uff09 S2
  • \u67d0\u79d1\u5b66\u7684\u8d85\u7535\u78c1\u70ae\uff08\u3068\u3042\u308b\u79d1\u5b66\u306e\u8d85\u96fb\u78c1\u7832\uff09S1
  • \u7269\u8bed\u7cfb\u52171\uff08Monogatari Series\uff09
  • \u9b54\u6cd5\u5c11\u5973\u5c0f\u5706\uff08Puella Magi Madoka Magica\uff09TV + M1~M3
  • \u5929\u5143\u7a81\u7834 \u7ea2\u83b2\u87ba\u5ca9\uff08\u5929\u5143\u7a81\u7834\u30b0\u30ec\u30f3\u30e9\u30ac\u30f3\uff09
  • \u65a9\u670d\u5c11\u5973\uff08Kill la Kill\uff09
  • \u4e52\u4e53\uff08Ping Pong The Animation v2\uff09
  • \u8d5b\u535a\u670b\u514b\uff1a\u8fb9\u7f18\u884c\u8005\uff08Cyberpunk: Edgerunners\uff09
  • Gon \u7684\u65f1\u736d S1~S3 + OVA
  • \u6e38\u620f\u4e09\u4eba\u5a18\uff08\u3042\u305d\u3073\u3042\u305d\u3070\u305b\uff09
  • \u7537\u5b50\u9ad8\u6821\u751f\u7684\u65e5\u5e38\uff08\u7537\u5b50\u9ad8\u6821\u751f\u306e\u65e5\u5e38\uff09
  • \u9c81\u90a6\u4e09\u4e16~\u540d\u4e3a\u5cf0\u4e0d\u4e8c\u5b50\u7684\u5973\u4eba~\uff08Lupin the Third Mine Fujiko to Iu Onna\uff09
  • \u661f\u9645\u725b\u4ed4\uff08Cowboy Bebop\uff09
  • \u56db\u53e0\u534a\u795e\u8bdd\u5927\u7cfb\uff08The Tatami Galaxy\uff09
  • \u56db\u53e0\u534a\u65f6\u5149\u673a\u5e03\u9c81\u65af\uff08Yojouhan Time Machine Blues\uff09
  • \u6625\u5bb5\u82e6\u77ed\uff0c\u5c11\u5973\u524d\u8fdb\u5427\uff01\uff08Yoru wa Mijikashi Aruke yo Otome\uff09
  • \u846c\u9001\u7684\u8299\u8389\u83b2\uff08\u846c\u9001\u306e\u30d5\u30ea\u30fc\u30ec\u30f3\uff09
  • \u4e3a\u7f8e\u597d\u7684\u4e16\u754c\u732e\u4e0a\u795d\u798f\uff08KonoSuba: God's Blessing on This Wonderful World!\uff09 S1~S3 + M
  • \u6708\u520a\u5c11\u5973\u91ce\u5d0e\u541b\uff08\u6708\u520a\u5c11\u5973\u91ce\u5d0e\u304f\u3093\uff09
","tags":["\u6742\u8c08","\u52a8\u6f2b","\u7535\u5f71"]},{"location":"essay/main/ainme/#b","title":"B \u7c7b","text":"
  • \u6bd4\u7ffc\u4e4b\u543b\uff08Darling in the Franxx\uff09
  • \u5f02\u79cd\u65cf\u98ce\u4fd7\u5a18\u8bc4\u9274\u6307\u5357\uff08\u7570\u7a2e\u65cf\u30ec\u30d3\u30e5\u30a2\u30fc\u30ba\uff09
  • \u73c8\u767e\u7483\u7684\u5815\u843d\uff08Gabriel Dropout\uff09
  • \u52a8\u7269\u65b0\u4e16\u7eaa\uff08BNA: Brand New Animal\uff09
  • \u5de8\u5175\u957f\u57ce\u4f20
  • \u5973\u5b50\u9ad8\u4e2d\u751f\u7684\u865a\u5ea6\u65e5\u5e38\uff08\u5973\u5b50\u9ad8\u751f\u306e\u7121\u99c4\u3065\u304b\u3044\uff09
  • \u614e\u91cd\u52c7\u8005\uff5e\u8fd9\u4e2a\u52c7\u8005\u660e\u660e\u8d85\u5f3a\u5374\u8fc7\u5206\u614e\u91cd\uff5e\uff08\u614e\u91cd\u52c7\u8005\uff5e\u3053\u306e\u52c7\u8005\u304c\u4ffaTUEEE\u304f\u305b\u306b\u614e\u91cd\u3059\u304e\u308b\uff5e\uff09
  • \u8f89\u591c\u5927\u5c0f\u59d0\u60f3\u8ba9\u6211\u544a\u767d\uff08Kaguya-sama: Love Is War\uff09 S1~S2
  • \u975e\u6d32\u7684\u52a8\u7269\u4e0a\u73ed\u65cf\uff08\u30a2\u30d5\u30ea\u30ab\u306e\u30b5\u30e9\u30ea\u30fc\u30de\u30f3\uff09
  • \u5c0f\u6797\u5bb6\u7684\u9f99\u5973\u4ec6\uff08Miss Kobayashi's Dragon Maid\uff09 S1
  • \u8bf7\u5403\u5c0f\u7ea2\u8c46\u5427 S1~S4
  • \u76d1\u72f1\u5b66\u56ed\uff08\u76e3\u7344\u5b66\u5712\uff09
  • \u6ca1\u6709\u9ec4\u6bb5\u5b50\u5b58\u5728\u7684\u65e0\u804a\u4e16\u754c\uff08\u4e0b\u30cd\u30bf\u3068\u3044\u3046\u6982\u5ff5\u304c\u5b58\u5728\u3057\u306a\u3044\u9000\u5c48\u306a\u4e16\u754c\uff09
  • \u604b\u7231\u7814\u7a76\u6240\uff08\u604b\u611b\u30e9\u30dc\uff09
  • \u745e\u514b\u548c\u83ab\u8482 S4~S6
  • \u5341\u4e07\u5206\u51b7\u7b11\u8bdd S1~S3 + M1~M2
  • \u4e00\u62f3\u8d85\u4eba\uff08One-Punch Man\uff09 S1~S2
  • EVA \u65b0\u5267\u573a\u7248 4\uff08Evangelion - 3.0+1.01 Thrice Upon a Time\uff09
  • \u82f1\u96c4\u8054\u76df\uff1a\u5965\u672f\uff08Arcane: League of Legends\uff09
  • RWBY S3
  • \u66f4\u8863\u4eba\u5076\u5760\u5165\u7231\u6cb3\uff08\u305d\u306e\u7740\u305b\u66ff\u3048\u4eba\u5f62\u306f\u604b\u3092\u3059\u308b\uff09
  • \u78a7\u84dd\u4e4b\u6d77
  • \u4e07\u5723\u8857
  • \u54b8\u9c7c\u54e5
  • \u8f7b\u97f3\u5c11\u5973\uff08K-ON!\uff09 S1~S2
  • \u52a8\u7269\u72c2\u60f3\u66f2\uff08Beastar\uff09 S1~S2
  • \u8857\u89d2\u9b54\u65cf\uff08\u307e\u3061\u30ab\u30c9\u307e\u305e\u304f\uff09S1~S2
  • \u5b64\u72ec\u6447\u6eda\uff08Bocchi the rock\uff09
  • \u7518\u57ce\u5149\u8f89\u6e38\u4e50\u56ed\uff08\u7518\u57ce\u30d6\u30ea\u30ea\u30a2\u30f3\u30c8\u30d1\u30fc\u30af\uff09
  • \u5f02\u4e16\u754c\u8205\u8205\uff08\u7570\u4e16\u754c\u304a\u3058\u3055\u3093\uff09
","tags":["\u6742\u8c08","\u52a8\u6f2b","\u7535\u5f71"]},{"location":"essay/main/ainme/#c","title":"C \u7c7b","text":"
  • \u975e\u4eba\u54c9
  • \u57c3\u7f57\u8292\u963f\u8001\u5e08\uff08Eromanga Sensei\uff09TV + OVA
  • \u7b28\u5973\u5b69\uff08\u30a2\u30db\u30ac\u30fc\u30eb\uff09
  • \u57c3\u53ca\u795e\u660e\u4eec\u7684\u65e5\u5e38\uff08\u3068\u30fc\u3068\u3064\u306b\u30a8\u30b8\u30d7\u30c8\u795e\uff09
  • \u5e72\u7269\u59b9\u5c0f\u57cb\uff08\u5e72\u7269\u59b9\uff01\u3046\u307e\u308b\u3061\u3083\u3093\uff09
  • \u6211\u4e0d\u662f\u8bf4\u4e86\u80fd\u529b\u8981\u5e73\u5747\u503c\u4e48\uff01\uff08\u79c1\u3001\u80fd\u529b\u306f\u5e73\u5747\u5024\u3067\u3063\u3066\u8a00\u3063\u305f\u3088\u306d\uff01\uff09
  • \u4e0d\u6b63\u7ecf\u7684\u9b54\u6cd5\u8bb2\u5e08\u4e0e\u7981\u5fcc\u6559\u5178\uff08\u30ed\u30af\u3067\u306a\u3057\u9b54\u8853\u8b1b\u5e2b\u3068\u7981\u5fcc\u6559\u5178\uff09 S1
  • \u5728\u4e0b\u5742\u672c\uff0c\u6709\u4f55\u8d35\u5e72\uff08\u5742\u672c\u3067\u3059\u304c\uff1f\uff09
  • EVA \u65b0\u5267\u573a\u7248 2\uff08EVANGELION: 2.0 YOU CAN (NOT) ADVANCE.\uff09
  • \u6c49\u5316\u65e5\u8bb0 S1~S2
  • \u8f6c\u751f\u6076\u5f79\u53ea\u597d\u62d4\u9664\u7834\u706d\u65d7\u6807\uff08\u4e59\u5973\u30b2\u30fc\u30e0\u306e\u7834\u6ec5\u30d5\u30e9\u30b0\u3057\u304b\u306a\u3044\u60aa\u5f79\u4ee4\u5b22\u306b\u8ee2\u751f\u3057\u3066\u3057\u307e\u3063\u305f\u2026\uff09 S1
  • Endro!
  • \u4e9a\u4eba\u9171\u6709\u8bdd\u8981\u8bf4\uff08\u4e9c\u4eba\u3061\u3083\u3093\u306f\u8a9e\u308a\u305f\u3044\uff09
  • \u5165\u95f4\u540c\u5b66\u5165\u9b54\u4e86\uff08\u9b54\u5165\u308a\u307e\u3057\u305f\uff01\u5165\u9593\u304f\u3093\uff09 S1
  • \u65d7\u626c!\u517d\u9053\uff08\u65d7\u63da\uff01\u3051\u3082\u306e\u307f\u3061\uff09
  • \u8fd9\u4e2a\u7f8e\u672f\u793e\u5927\u6709\u95ee\u9898!\uff08\u3053\u306e\u7f8e\u8853\u90e8\u306b\u306f\u554f\u984c\u304c\u3042\u308b\uff01\uff09
  • \u9ed8\u7ed8\u5973\u9ad8\uff08\u5973\u5b50\u304b\u3046\u751f\uff09
  • \u9910\u684c\u4e0a\u7684\u4e16\u8bf4\u65b0\u8bed S1~S2
  • \u6210\u7fa4\u9010\u961f!\u897f\u987f\u5b66\u56ed\uff08\u7fa4\u308c\u306a\u305b\uff01\u30b7\u30fc\u30c8\u30f3\u5b66\u5712\uff09
  • \u5173\u4e8e\u6211\u8f6c\u751f\u53d8\u6210\u53f2\u83b1\u59c6\u8fd9\u6863\u4e8b\uff08\u8ee2\u751f\u3057\u305f\u3089\u30b9\u30e9\u30a4\u30e0\u3060\u3063\u305f\u4ef6\uff09 S1
  • \u9f50\u6728\u6960\u96c4\u7684\u707e\u96be\uff08The Disastrous Life of Saiki K.\uff09 S1
  • \u7b28\u62d9\u4e4b\u6781\u7684\u4e0a\u91ce\uff08\u4e0a\u91ce\u3055\u3093\u306f\u4e0d\u5668\u7528\uff09
  • Goku \u5348\u591c\u4e4b\u773c\uff08MIDNIGHT EYE \u30b4\u30af\u30a6\uff09 OVA
  • RWBY S4
  • \u4e71\u9a6c1/2 TV + OVA
  • \u7269\u8bed\u7cfb\u5217 \u5916\u4f20\u5b63&\u602a\u7269\u5b63\uff08\u3008\u7269\u8a9e\u3009\u30b7\u30ea\u30fc\u30ba \u30aa\u30d5&\u30e2\u30f3\u30b9\u30bf\u30fc\u30b7\u30fc\u30ba\u30f3\uff09
","tags":["\u6742\u8c08","\u52a8\u6f2b","\u7535\u5f71"]},{"location":"essay/main/ainme/#x","title":"X \u7c7b","text":"
  • \u6f02\u6d41\u5c11\u5e74\uff08Sonny Boy\uff09
  • \u9f99\u4e0e\u864e\uff08TIGER\u00d7DRAGON!\uff09
  • \u5728\u76db\u590f\u7b49\u5f85\uff08\u3042\u306e\u590f\u3067\u5f85\u3063\u3066\u308b\uff09 TV + OVA
  • \u672a\u95fb\u82b1\u540d\uff08Anohana: The Flower We Saw That Day\uff09
  • EVA \u5267\u573a\u7248 \u771f\u5fc3\u4e3a\u4f60\uff08The End of Evangelion\uff09
","tags":["\u6742\u8c08","\u52a8\u6f2b","\u7535\u5f71"]},{"location":"essay/main/ainme/#d","title":"D \u7c7b","text":"
  • \u732b\u5a18\u4e50\u56ed\uff08NEKOPARA\uff09
  • \u6211\u7684\u670b\u53cb\u5f88\u5c11\uff08\u50d5\u306f\u53cb\u9054\u304c\u5c11\u306a\u3044\uff09S1
  • \u5582\uff0c\u770b\u89c1\u8033\u6735\u5566\uff08\u307b\u3089\u3001\u8033\u304c\u307f\u3048\u3066\u308b\u3088\uff01\uff09 S1
  • \u4ed9\u738b\u7684\u65e5\u5e38\u751f\u6d3b
  • \u5173\u4e8e\u5b8c\u5168\u542c\u4e0d\u61c2\u8001\u516c\u5728\u8bf4\u4ec0\u4e48\u7684\u4e8b S1~S2
  • EVA \u65b0\u5267\u573a\u7248 3 \uff08EVANGELION: 3.0 YOU CAN (NOT) REDO.\uff09
  • \u5c0f\u6797\u5bb6\u7684\u9f99\u5973\u4ec6 S
  • \u6211\u7684\u670b\u53cb\u5f88\u5c11 S2
  • Overflow
  • \u6deb\u4e71\u7684\u9752\u9171\u4e0d\u80fd\u5b66\u4e60
  • \u8d24\u60e0\u5e7c\u59bb\u4ed9\u72d0\u5c0f\u59d0
  • \u4eba\u9a6c\u5c11\u5973\u7684\u70e6\u607c
  • \u516c\u4e3b\u8fde\u63a5! Re:Dive
  • \u65e0\u5f69\u9650\u7684\u602a\u7075\u4e16\u754c
  • \u8d24\u8005\u4e4b\u5b59
  • \u5173\u4e8e\u6211\u8f6c\u751f\u53d8\u6210\u53f2\u83b1\u59c6\u8fd9\u6863\u4e8b S2
","tags":["\u6742\u8c08","\u52a8\u6f2b","\u7535\u5f71"]},{"location":"essay/main/ainme/#_3","title":"\u5f71\u89c6\u5267\u96c6","text":"","tags":["\u6742\u8c08","\u52a8\u6f2b","\u7535\u5f71"]},{"location":"essay/main/ainme/#a_1","title":"A \u7c7b","text":"
  • \u5973\u5b50\u8b66\u5bdf\u7684\u9006\u88ad\uff08\u30cf\u30b3\u30c5\u30e1 \uff5e\u305f\u305f\u304b\u3046\uff01\u4ea4\u756a\u5973\u5b50\uff5e\uff09
  • \u65b0\u00b7\u5965\u7279\u66fc\uff08\u30b7\u30f3\u30fb\u30a6\u30eb\u30c8\u30e9\u30de\u30f3\uff09
  • \u6d41\u6d6a\u5730\u7403 M1~M2
  • \u6b63\u4e49\u8054\u76df\u00b7\u5bfc\u6f14\u526a\u8f91\u7248\uff08Zack Snyder's Justice League\uff09
  • \u963f\u7518\u6b63\u4f20\uff08Forrest Gump\uff09
  • \u8ba9\u5b50\u5f39\u98de
  • \u529f\u592b
  • \u7ea2\u8fa3\u6912\uff08\u30d1\u30d7\u30ea\u30ab\uff09
  • \u5343\u5e74\u5973\u4f18\uff08\u5343\u5e74\u5973\u512a\uff09
  • \u4e1c\u4eac\u6559\u7236\uff08\u6771\u4eac\u30b4\u30c3\u30c9\u30d5\u30a1\u30fc\u30b6\u30fc\u30ba\uff09
  • \u5510\u4f2f\u864e\u70b9\u79cb\u9999
  • \u76d7\u68a6\u7a7a\u95f4\uff08Inception\uff09
  • \u5965\u672c\u6d77\u9ed8\uff08Oppenheimer\uff09
  • \u732b\u9f20\u6e38\u620f\uff08Catch Me If You Can\uff09
  • \u767d\u65e5\u68a6\u60f3\u5bb6\uff08The Secret Life of Walter Mitty\uff09
","tags":["\u6742\u8c08","\u52a8\u6f2b","\u7535\u5f71"]},{"location":"essay/main/ainme/#b_1","title":"B \u7c7b","text":"
  • \u51b0\u96ea\u5947\u7f18\uff08Frozen\uff09 M1
  • \u602a\u517d\u5927\u5b66\uff08Monsters University\uff09
  • \u602a\u517d\u7535\u529b\u516c\u53f8\uff08Monsters, Inc.\uff09
  • \u673a\u5668\u4eba\u603b\u52a8\u5458\uff08WALL\u00b7E\uff09
  • \u75af\u72c2\u52a8\u7269\u57ce\uff08Zootopia\uff09
  • \u963f\u51e1\u8fbe\uff08Avatar\uff09
  • \u8d85\u80fd\u9646\u6218\u961f\uff08Big Hero 6\uff09
  • \u5934\u53f7\u73a9\u5bb6\uff08Ready Player One\uff09
  • \u65e0\u654c\u7834\u574f\u738b\uff08Wreck-It Ralph\uff09 M1~M2
  • \u706b\u661f\u6551\u63f4\uff08The Martian\uff09
  • \u661f\u9645\u7a7f\u8d8a\uff08Interstellar\uff09
  • \u8718\u86db\u4fa0\uff1a\u7eb5\u6a2a\u5b87\u5b99\uff08Spider-Man: Across the Spider-Verse\uff09
","tags":["\u6742\u8c08","\u52a8\u6f2b","\u7535\u5f71"]},{"location":"essay/main/ainme/#c_1","title":"C \u7c7b","text":"","tags":["\u6742\u8c08","\u52a8\u6f2b","\u7535\u5f71"]},{"location":"essay/main/ainme/#x_1","title":"X \u7c7b","text":"
  • \u672a\u9ebb\u7684\u90e8\u5c4b\uff08Perfect Blue\uff09
  • \u4f60\u60f3\u6d3b\u51fa\u600e\u6837\u7684\u4eba\u751f\uff08\u541b\u305f\u3061\u306f\u3069\u3046\u751f\u304d\u308b\u304b\uff09
","tags":["\u6742\u8c08","\u52a8\u6f2b","\u7535\u5f71"]},{"location":"essay/main/ainme/#d_1","title":"D \u7c7b","text":"
  • \u51b0\u96ea\u5947\u7f18\uff08Frozen\uff09 M2
  1. \u4ec5\u5305\u542b 1st season\u30012nd season \u548c Final season \u4e09\u4e2a\u5b63\u5ea6\u7684\u52a8\u753b\u3002\u00a0\u21a9

","tags":["\u6742\u8c08","\u52a8\u6f2b","\u7535\u5f71"]},{"location":"essay/main/aria2/","title":"\u5b89\u88c5\u4e0e\u4f7f\u7528 aria2","text":"","tags":["\u6742\u8c08","aria2","Linux"]},{"location":"essay/main/aria2/#_1","title":"\u5b89\u88c5","text":"
sudo zypper in aria2\n
","tags":["\u6742\u8c08","aria2","Linux"]},{"location":"essay/main/aria2/#_2","title":"\u6587\u4ef6\u76ee\u5f55","text":"

\u5728 ~/bin/aria2 \u76ee\u5f55\u4e0b\u65b0\u5efa\u6587\u672c\u6587\u6863\uff1a

poplar@c004-h1:~> tree ~/bin/aria2\n/home/poplar/bin/aria2\n\u251c\u2500\u2500 aria2.conf\n\u251c\u2500\u2500 aria2.log\n\u251c\u2500\u2500 aria2.service\n\u251c\u2500\u2500 aria2.session\n\u2514\u2500\u2500 index.html\n\n1 directory, 5 files\n
","tags":["\u6742\u8c08","aria2","Linux"]},{"location":"essay/main/aria2/#aria2conf","title":"aria2.conf","text":"
# \u6587\u4ef6\u7684\u4fdd\u5b58\u8def\u5f84(\u53ef\u4f7f\u7528\u7edd\u5bf9\u8def\u5f84\u6216\u76f8\u5bf9\u8def\u5f84), \u9ed8\u8ba4: \u5f53\u524d\u542f\u52a8\u4f4d\u7f6e\ndir=/home/poplar/Downloads/Aria2\n\n# \u65e5\u5fd7\u6587\u4ef6\u4fdd\u5b58\u76ee\u5f55\nlog=/home/poplar/bin/aria2/aria2.log\n\n# \u542f\u7528\u78c1\u76d8\u7f13\u5b58, 0 \u4e3a\u7981\u7528\u7f13\u5b58, \u9700 1.16 \u4ee5\u4e0a\u7248\u672c, \u9ed8\u8ba4:16M\ndisk-cache=50M\n\n# \u6587\u4ef6\u9884\u5206\u914d\u65b9\u5f0f, \u80fd\u6709\u6548\u964d\u4f4e\u78c1\u76d8\u788e\u7247, \u9ed8\u8ba4: prealloc\n# \u9884\u5206\u914d\u6240\u9700\u65f6\u95f4: none < falloc ? trunc < prealloc\n# falloc \u548c trunc \u5219\u9700\u8981\u6587\u4ef6\u7cfb\u7edf\u548c\u5185\u6838\u652f\u6301,\n# NTFS \u5efa\u8bae\u4f7f\u7528 falloc, EXT3/4 \u5efa\u8bae trunc, MAC \u4e0b\u9700\u8981\u6ce8\u91ca\u6b64\u9879\n#file-allocation=falloc\n\n# \u65ad\u70b9\u7eed\u4f20\ncontinue=true\n\n\n## \u4e0b\u8f7d\u8fde\u63a5\u76f8\u5173 ##\n\n# \u6700\u5927\u540c\u65f6\u4e0b\u8f7d\u4efb\u52a1\u6570, \u8fd0\u884c\u65f6\u53ef\u4fee\u6539, \u9ed8\u8ba4:5\n#max-concurrent-downloads=5\n\n# \u540c\u4e00\u670d\u52a1\u5668\u8fde\u63a5\u6570, \u6dfb\u52a0\u65f6\u53ef\u6307\u5b9a, \u9ed8\u8ba4:1\nmax-connection-per-server=16\n\n# \u6700\u5c0f\u6587\u4ef6\u5206\u7247\u5927\u5c0f, \u6dfb\u52a0\u65f6\u53ef\u6307\u5b9a, \u53d6\u503c\u8303\u56f41M -1024M, \u9ed8\u8ba4:20M\n# \u5047\u5b9a size=10M, \u6587\u4ef6\u4e3a 20MiB \u5219\u4f7f\u7528\u4e24\u4e2a\u6765\u6e90\u4e0b\u8f7d; \u6587\u4ef6\u4e3a 15MiB \u5219\u4f7f\u7528\u4e00\u4e2a\u6765\u6e90\u4e0b\u8f7d\nmin-split-size=20M\n\n# \u5355\u4e2a\u4efb\u52a1\u6700\u5927\u7ebf\u7a0b\u6570, \u6dfb\u52a0\u65f6\u53ef\u6307\u5b9a, \u9ed8\u8ba4:5\nsplit=32\n\n# \u6574\u4f53\u4e0b\u8f7d\u901f\u5ea6\u9650\u5236, \u8fd0\u884c\u65f6\u53ef\u4fee\u6539, \u9ed8\u8ba4:0\n#max-overall-download-limit=0\n\n# \u5355\u4e2a\u4efb\u52a1\u4e0b\u8f7d\u901f\u5ea6\u9650\u5236, \u9ed8\u8ba4:0\n#max-download-limit=0\n\n# \u6574\u4f53\u4e0a\u4f20\u901f\u5ea6\u9650\u5236, \u8fd0\u884c\u65f6\u53ef\u4fee\u6539, \u9ed8\u8ba4:0\n#max-overall-upload-limit=0\n\n# \u5355\u4e2a\u4efb\u52a1\u4e0a\u4f20\u901f\u5ea6\u9650\u5236, \u9ed8\u8ba4:0\n#max-upload-limit=0\n\n# \u7981\u7528IPv6, \u9ed8\u8ba4:false\n#disable-ipv6=true\n\n# \u8fde\u63a5\u8d85\u65f6\u65f6\u95f4, \u9ed8\u8ba4:60\n#timeout=60\n\n# \u6700\u5927\u91cd\u8bd5\u6b21\u6570, \u8bbe\u7f6e\u4e3a 0 \u8868\u793a\u4e0d\u9650\u5236\u91cd\u8bd5\u6b21\u6570, \u9ed8\u8ba4:5\n#max-tries=5\n\n# \u8bbe\u7f6e\u91cd\u8bd5\u7b49\u5f85\u7684\u79d2\u6570, \u9ed8\u8ba4:0\n#retry-wait=0\n\n\n## \u8fdb\u5ea6\u4fdd\u5b58\u76f8\u5173 ##\n\n# \u4ece\u4f1a\u8bdd\u6587\u4ef6\u4e2d\u8bfb\u53d6\u4e0b\u8f7d\u4efb\u52a1\ninput-file=/home/poplar/bin/aria2/aria2.session\n\n# \u5728 aria2 \u9000\u51fa\u65f6\u4fdd\u5b58`\u9519\u8bef/\u672a\u5b8c\u6210`\u7684\u4e0b\u8f7d\u4efb\u52a1\u5230\u4f1a\u8bdd\u6587\u4ef6\nsave-session=/home/poplar/bin/aria2/aria2.session\n\n# \u5b9a\u65f6\u4fdd\u5b58\u4f1a\u8bdd, 0 \u4e3a\u9000\u51fa\u65f6\u624d\u4fdd\u5b58, \u9700 1.16.1 \u4ee5\u4e0a\u7248\u672c, \u9ed8\u8ba4:0\nsave-session-interval=120\n\n\n## RPC\u76f8\u5173\u8bbe\u7f6e ##\n\n# \u542f\u7528 RPC, \u9ed8\u8ba4:false\nenable-rpc=true\n\n# \u5141\u8bb8\u6240\u6709\u6765\u6e90, \u9ed8\u8ba4:false\nrpc-allow-origin-all=true\n\n# \u5141\u8bb8\u975e\u5916\u90e8\u8bbf\u95ee, \u9ed8\u8ba4:false\n#rpc-listen-all=true\n\n# \u4e8b\u4ef6\u8f6e\u8be2\u65b9\u5f0f, \u53d6\u503c:[epoll, kqueue, port, poll, select], \u4e0d\u540c\u7cfb\u7edf\u9ed8\u8ba4\u503c\u4e0d\u540c\n#event-poll=select\n\n# RPC\u76d1\u542c\u7aef\u53e3, \u7aef\u53e3\u88ab\u5360\u7528\u65f6\u53ef\u4ee5\u4fee\u6539, \u9ed8\u8ba4:6800\n#rpc-listen-port=6800\n\n# \u8bbe\u7f6e\u7684 RPC \u6388\u6743\u4ee4\u724c, v1.18.4 \u65b0\u589e\u529f\u80fd, \u53d6\u4ee3 --rpc-user \u548c --rpc-passwd \u9009\u9879\nrpc-secret=poplar\n\n# \u662f\u5426\u542f\u7528 RPC \u670d\u52a1\u7684 SSL/TLS \u52a0\u5bc6,\n# \u542f\u7528\u52a0\u5bc6\u540e RPC \u670d\u52a1\u9700\u8981\u4f7f\u7528 https \u6216\u8005 wss \u534f\u8bae\u8fde\u63a5\n#rpc-secure=true\n\n# \u5728 RPC \u670d\u52a1\u4e2d\u542f\u7528 SSL/TLS \u52a0\u5bc6\u65f6\u7684\u8bc1\u4e66\u6587\u4ef6,\n# \u4f7f\u7528 PEM \u683c\u5f0f\u65f6\uff0c\u60a8\u5fc5\u987b\u901a\u8fc7 --rpc-private-key \u6307\u5b9a\u79c1\u94a5\n#rpc-certificate=/path/to/certificate.pem\n\n# \u5728 RPC \u670d\u52a1\u4e2d\u542f\u7528 SSL/TLS \u52a0\u5bc6\u65f6\u7684\u79c1\u94a5\u6587\u4ef6\n#rpc-private-key=/path/to/certificate.key\n
","tags":["\u6742\u8c08","aria2","Linux"]},{"location":"essay/main/aria2/#aria2service","title":"aria2.service","text":"

\u8bbe\u7f6e\u4f7f\u7528 systemd \u542f\u52a8 aria2 \u7684\u670d\u52a1\u6587\u4ef6 aria2.service\uff1a

[Unit]\nDescription=Start aria2 daemon\n\n[Service]\nExecStart=/usr/bin/aria2c --conf-path=/home/poplar/bin/aria2/aria2.conf\nType=simple\nWorkingDirectory=/home/poplar/bin/aria2\n\n[Install]\nWantedBy=default.target\n
","tags":["\u6742\u8c08","aria2","Linux"]},{"location":"essay/main/aria2/#indexhtml","title":"index.html","text":"
  • \u4e0b\u8f7d\u5730\u5740\uff1ahttps://github.com/mayswind/AriaNg/releases
","tags":["\u6742\u8c08","aria2","Linux"]},{"location":"essay/main/aria2/#_3","title":"\u542f\u52a8\u670d\u52a1","text":"

\u4f7f\u7528 ~/bin/command/aria2-m \u542f\u52a8\u670d\u52a1\uff1a

#!/bin/sh\n#\u672c\u811a\u672c\u7528\u4e8e\u7ef4\u62a4 aria2 \u53ca\u9a8c\u8bc1\u548c\u5f52\u6863 ISO \u6587\u4ef6\n\nexport ISO_DL_DIR=/home/poplar/Downloads/Aria2\nexport ISO_DIR=/home/poplar/Downloads/ISO\nexport ARIA2_DIR=/home/poplar/bin/aria2\n#\u8bbe\u5b9a\u76ee\u5f55\nSERVICES_FILE=/home/poplar/bin/aria2/aria2.service\nOPENSUSE_DVD=/home/poplar/Downloads/Aria2/openSUSE-Tumbleweed-DVD-x86_64-Current.iso\nOPENSUSE_DVD_OLD=/home/poplar/Downloads/ISO/openSUSE-Tumbleweed-DVD-x86_64-Current.iso\nOPENSUSE_LIVE_ISO=/home/poplar/Downloads/Aria2/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso\nOPENSUSE_LIVE_ISO_OLD=/home/poplar/Downloads/ISO/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso\n\nwhile true; do\n\n    printf -- '-%0.s' {1..100} && echo\n    printf 'You can use the aria2 & ISO files maintenance script for:\\n\\n'\n    printf 'R - Register Aria2 service\\n'\n    printf 'C - Clean up aria2 logs\\n'\n    printf 'V - Verify openSUSE ISO files\\n'\n    printf '1 - Download openSUSE DVD files\\n'\n    printf '2 - Download openSUSE KDE LiveISO files\\n'\n    printf 'Q - End script\\n\\n'\n    printf '==> '\n    read answer\n\n    if [ \"$answer\" = \"R\" ] || [ \"$answer\" = \"r\" ]; then\n    #\u6ce8\u518c\u670d\u52a1\n        printf 'Start registering systemd service...\\n'\n        mkdir -p ~/.config/systemd/user\n        if [ -f $SERVICES_FILE ]; then\n            cp $SERVICES_FILE ~/.config/systemd/user\n            systemctl daemon-reload --user\n            printf 'Service file loaded: OK!\\n'\n            systemctl enable --now --user aria2\n            printf 'Service status: Running.\\n'\n        else\n            printf 'ERROR: Service file not found!\\n'\n        fi\n\n    elif [ \"$answer\" = \"C\" ] || [ \"$answer\" = \"c\" ]; then\n    #\u6e05\u7406\u65e5\u5fd7\n        ls -lh $ARIA2_DIR/aria2.log\n        systemctl status aria2 --user | grep \"Active\"\n        systemctl stop aria2 --user\n        rm $ARIA2_DIR/aria2.log; touch $ARIA2_DIR/aria2.log\n        printf 'Cleaning up logs: OK!\\n'\n        systemctl restart aria2 --user\n        systemctl status aria2 --user | grep \"Active\"\n        ls -lh $ARIA2_DIR/aria2.log\n\n    elif [ \"$answer\" = \"V\" ] || [ \"$answer\" = \"v\" ]; then\n    #\u6821\u9a8c ISO \u6587\u4ef6\n        cd $ISO_DL_DIR\n        if [ -f $OPENSUSE_DVD ]; then\n            gpg --verify openSUSE-Tumbleweed-DVD-x86_64-Current.iso.sha256.asc\n            cat openSUSE-Tumbleweed-DVD-x86_64-Current.iso.sha256 | sed 's/openSUSE-Tumbleweed-DVD-x86_64-Snapshot\\(........\\)-Media.iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso/' > temp.sha256\n            sha256sum -c temp.sha256\n            rm temp.sha256\n            if [ -f $OPENSUSE_DVD_OLD ]; then\n                printf 'Found the old DVD ISO file.'\n                rm $ISO_DIR/openSUSE-Tumbleweed-DVD*.*\n                mv $ISO_DL_DIR/openSUSE-Tumbleweed-DVD*.* $ISO_DIR\n                printf 'Update DVD ISO files: OK!\\n'\n            else\n                printf 'No found the old DVD ISO file.\\n'\n                mv $ISO_DL_DIR/openSUSE-Tumbleweed-DVD*.* $ISO_DIR\n                printf 'Update DVD ISO files: OK!\\n'\n            fi\n        else\n            printf 'No found the new DVD ISO files\\n'\n        fi\n        printf -- '-%0.s' {1..100} && echo\n        if [ -f $OPENSUSE_LIVE_ISO ]; then\n            gpg --verify openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso.sha256.asc\n            cat openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso.sha256 | sed 's/openSUSE-Tumbleweed-KDE-Live-x86_64-Snapshot\\(........\\)-Media.iso/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso/' > temp.sha256\n            sha256sum -c temp.sha256\n            rm temp.sha256\n            if [ -f $OPENSUSE_LIVE_ISO_OLD ]; then\n                printf 'Found the old Live ISO file.'\n                rm $ISO_DIR/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.*\n                mv $ISO_DL_DIR/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.* $ISO_DIR\n                printf 'Update Live ISO files: OK!\\n'\n            else\n                printf 'No found the old Live ISO file.\\n'\n                mv $ISO_DL_DIR/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.* $ISO_DIR\n                printf 'Update Live ISO files: OK!\\n'\n            fi\n        else\n            printf 'No found the new Live ISO files\\n'\n        fi\n\n    elif [ $answer = 1 ]; then\n        aria2c -d $ISO_DL_DIR -s 16 https://mirror.sjtu.edu.cn/opensuse/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso\n        aria2c -d $ISO_DL_DIR -s 16 https://mirror.sjtu.edu.cn/opensuse/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso.sha256\n        aria2c -d $ISO_DL_DIR -s 16 https://mirror.sjtu.edu.cn/opensuse/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso.sha256.asc\n\n    elif [ $answer = 2 ]; then\n        aria2c -d $ISO_DL_DIR -s 16 https://mirror.sjtu.edu.cn/opensuse/tumbleweed/iso/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso\n        aria2c -d $ISO_DL_DIR -s 16 https://mirror.sjtu.edu.cn/opensuse/tumbleweed/iso/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso.sha256\n        aria2c -d $ISO_DL_DIR -s 16 https://mirror.sjtu.edu.cn/opensuse/tumbleweed/iso/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso.sha256.asc\n\n    elif [ \"$answer\" = \"Q\" ] || [ \"$answer\" = \"q\" ]; then\n        exit\n\n    else\n    #\u91cd\u65b0\u5f00\u59cb\u5faa\u73af\n        printf 'ERROR: Invalid input!\\n'\n        continue\n\n    fi\ndone\n
","tags":["\u6742\u8c08","aria2","Linux"]},{"location":"essay/main/aria2/#_4","title":"\u8865\u5145\u8bf4\u660e","text":"
  • \u914d\u7f6e\u4e0d\u5305\u542b BT \u4e0b\u8f7d\u529f\u80fd\uff0c\u76f8\u5173\u53e6\u89c1 qBittorrent \u914d\u7f6e\u5907\u5fd8\u5f55\u3002
  • aria2 \u53ea\u6709\u5728\u5de5\u4f5c\u65f6\u624d\u4f1a\u8bfb\u5199\u65e5\u5fd7\u3002\u4e0b\u8f7d\u5b8c\u6587\u4ef6\u540e\uff0c\u8bb0\u5f97\u8981\u6e05\u7406\u4e00\u4e0b\u65e5\u5fd7\u6587\u4ef6\u3002
","tags":["\u6742\u8c08","aria2","Linux"]},{"location":"essay/main/aria2/#_5","title":"\u53c2\u8003\u8d44\u6599","text":"
  • Aria2+AriaNG \u914d\u7f6e\u6307\u5357\uff08Win10 \u7bc7\uff09
","tags":["\u6742\u8c08","aria2","Linux"]},{"location":"essay/main/graphs-setup/","title":"\u6e38\u620f\u753b\u9762\u8bbe\u7f6e\u53c2\u8003","text":"
  • \u8d44\u6599\u6765\u6e90\uff1a\u6e38\u620f\u753b\u8d28\u8bbe\u7f6e\u6559\u7a0b
  • \u6750\u8d28\u7eb9\u7406\uff1a
    • \u6750\u8d28\uff1a\u5bf9\u89c2\u611f\u5f71\u54cd\u5f88\u5927\uff0c\u51e0\u4e4e\u4e0d\u5403\u6027\u80fd\uff0c\u5403\u663e\u5b58\uff0c\u5efa\u8bae\u5f00\u9ad8
    • \u7eb9\u7406\uff1a\u540c\u4e0a
    • \u5404\u5411\u5f02\u6027\u8fc7\u6ee4\uff1a\u4fdd\u8bc1\u7eb9\u7406\u6b63\u786e\u663e\u793a\uff0c\u4e0d\u5403\u6027\u80fd\uff0c\u5efa\u8bae\u5f00\u9ad8
  • \u5149\u7167\u548c\u9634\u5f71\uff1a
    • \u5149\u7ebf\uff1a\u53cd\u5c04\u3001\u6298\u5c04\u3001\u6563\u5c04\u3001\u955c\u9762\u3001\u5149\u7ebf\u8ffd\u8e2a\uff1a\u5f88\u5403\u6027\u80fd\uff0c\u5bf9\u89c2\u611f\u5f71\u54cd\u5c0f\uff0c\u5c5e\u9526\u4e0a\u6dfb\u82b1
    • \u9634\u5f71\uff1a\u9634\u5f71\u8d28\u91cf\u3001\u73af\u5883\u5149\u906e\u853d\u7b49\uff1a\u5bf9\u6027\u80fd\u5f71\u54cd\u9002\u4e2d\uff0c\u6709\u548c\u6ca1\u6709\u662f\u4e24\u4e2a\u6e38\u620f\uff0c\u5f00\u6700\u9ad8\u6027\u4ef7\u6bd4\u4f4e
    • \u4f53\u79ef\uff1a\u4f53\u79ef\u4e91\u3001\u4f53\u79ef\u96fe\u3001\u4f53\u79ef\u5149\uff1a\u5bf9\u6027\u80fd\u5f71\u54cd\u5f88\u5927\uff0c\u770b\u98ce\u666f\u53ef\u4ee5\u5f00
  • \u6a21\u578b\u89c6\u8ddd\uff1a
    • \u7ec6\u8282\u5c42\u6b21\uff1a\u8ba9\u8fdc\u5904\u7684\u7269\u4f53\u66f4\u6e05\u6670\uff0c\u5bf9\u6027\u80fd\u5f71\u54cd\u4e2d\u7b49\u3002\u4e00\u822c\u60c5\u51b5\u4e0b\u5efa\u8bae\u5f00\u4e2d\uff0c\u770b\u98ce\u666f\u5f00\u9ad8
    • \u53ef\u89c6\u8ddd\u79bb\uff1a\u540c\u4e0a
    • \u66f2\u9762\u7ec6\u5206\uff1a\u5bf9\u6027\u80fd\u5f71\u54cd\u9002\u4e2d\uff0c\u5bf9\u89c2\u611f\u51e0\u4e4e\u6ca1\u6709\u5f71\u54cd\uff0c\u4e0d\u5efa\u8bae\u5f00
  • \u8349\u5730\u690d\u88ab\uff1a
    • \u8349\u5730\u690d\u88ab\u5bc6\u5ea6\uff1a\u5bf9\u89c2\u611f\u5f71\u54cd\u8f83\u5927\uff0c\u5bf9\u6027\u80fd\u5f71\u54cd\u4e2d\u7b49\uff0c\u770b\u98ce\u666f\u53ef\u4ee5\u5f00\u6700\u9ad8
  • \u7269\u7406\u7c7b\uff1a
    • \u6c34\u7269\u7406\uff1a\u5bf9\u6027\u80fd\u5f71\u54cd\u975e\u5e38\u5927\uff0c\u5bf9\u89c2\u611f\u5f71\u54cd\u8f83\u5c0f\uff0c\u73a9\u6c34\u53ef\u4ee5\u5f00\u9ad8
  • \u7c92\u5b50\u7279\u6548\uff1a
    • \u7c92\u5b50\u8d28\u91cf\uff1a\u5bf9\u6027\u80fd\u5f71\u54cd\u4e2d\u7b49\u3001\u5bf9\u89c2\u611f\u5f71\u54cd\u8f83\u5927\uff0c\u6839\u636e\u5177\u4f53\u60c5\u51b5\u9009\u62e9
    • \u7279\u6548\u8d28\u91cf\uff1a\u540c\u4e0a
  • \u6297\u952f\u9f7f\uff1a
    • TAA\uff08\u65f6\u95f4\u6297\u952f\u9f7f\uff09\uff1a\u63a8\u8350\u5927\u90e8\u5206\u73a9\u5bb6\uff0c\u4e0d\u5403\u6027\u80fd\uff0c\u6297\u952f\u9f7f\u548c\u6297\u95ea\u70c1\u4f18\u79c0\uff0c\u4f4e\u5206\u8fa8\u7387\u4f1a\u7cca
    • MSAA\uff08\u591a\u91cd\u91c7\u6837\u6297\u952f\u9f7f\uff09\uff1a\u63a8\u8350\u7ed9\u9ad8\u914d\u73a9\u5bb6\uff0c\u5f88\u5403\u6027\u80fd\uff0c\u6297\u952f\u9f7f\u6548\u679c\u597d\uff0c\u4e0d\u7cca
    • FXAA\uff08\u5feb\u901f\u8fd1\u4f3c\u6297\u952f\u9f7f\uff09\uff1a\u63a8\u8350\u7ed9\u4f4e\u914d\u73a9\u5bb6\uff0c\u4e0d\u5403\u6027\u80fd\uff0c\u6297\u952f\u9f7f\u6548\u679c\u4e00\u822c\uff0c\u4f1a\u6a21\u7cca
    • SMAA\uff08\u589e\u5f3a\u578b\u5b50\u50cf\u7d20\u5f62\u6001\u5b66\u6297\u952f\u9f7f\uff09\uff1a\u63a8\u8350\u7ed9\u5927\u90e8\u5206\u73a9\u5bb6\uff0c\u5bf9\u6027\u80fd\u7a0d\u6709\u5f71\u54cd\uff0c\u6297\u952f\u9f7f\u6548\u679c\u8f83\u597d\uff0c\u4e0d\u7cca
  • \u540e\u671f\u6ee4\u955c\uff1a
    • \u52a8\u6001\u6a21\u7cca\uff1a\u5bf9\u6027\u80fd\u8981\u6c42\u4f4e\uff0c\u4ec5\u5efa\u8bae\u4f4e\u4e8e 30 \u5e27\u7684\u73a9\u5bb6\u5f00\u542f
    • \u666f\u6df1\u3001\u70ab\u5149\u3001\u9ad8\u5149\u7b49\uff1a\u51e0\u4e4e\u4e0d\u5403\u6027\u80fd\uff0c\u770b\u4e2a\u4eba\u559c\u597d\u5f00\u542f
","tags":["\u6742\u8c08","\u663e\u5361"]},{"location":"essay/main/md-epub/","title":"\u4f7f\u7528 Pandoc \u5236\u4f5c\u7b80\u6613\u7684 Epub \u7535\u5b50\u4e66","text":"

\u672c\u6587\u4e3b\u8981\u8bb0\u5f55\u5982\u4f55\u4f7f\u7528 pandoc \u5236\u4f5c\u4e00\u4e2a\u7b80\u6613\u7684\u7535\u5b50\u4e66\u6587\u4ef6\u3002

\u5bf9\u4e8e\u4e13\u4e1a\u5316\u7684\u7535\u5b50\u4e66\u5236\u4f5c\uff0c\u63a8\u8350\u9605\u8bfb\u8d64\u9713\u7f16\u8457\u7684\u300aePub\u6307\u5357\u2014\u2014\u4ece\u5165\u95e8\u5230\u653e\u5f03\u300b

\u7248\u6743\u58f0\u660e \u3000\u3000\u672c\u4e66\u7684\u5185\u5bb9\u662f\u4f5c\u8005\u591a\u5e74\u5236\u4f5c ePub \u7535\u5b50\u4e66\u7684\u7ecf\u9a8c\uff0c\u5728\u5199\u4e66\u4e4b\u9645\uff0c\u5f15\u7528\u4e86\u7f51\u7edc\u4e0a\u516c\u5f00\u7684\u8d44\u6599\u6587\u6863\u3002\u672c\u7740\u4e92\u8054\u7f51\u5171\u4eab\u7cbe\u795e\uff0c\u73b0\u514d\u8d39\u516c\u4e4b\u4e8e\u7f51\u7edc\uff0c\u8bf7\u4e0d\u8981\u628a\u672c\u4e66\u7528\u4e8e\u5546\u4e1a\uff0c\u8c22\u8c22\uff01 \u3000\u3000\u5173\u4e8e\u672c\u4e66\u7684\u66f4\u65b0\u7248\u672c\u53ef\u53d1\u9001\u90ae\u4ef6\u81f3 1620279970@qq.com \u7d22\u8981\u6216\u6dfb\u52a0 QQ \u83b7\u53d6\u3002

","tags":["\u6742\u8c08","Pandoc","markdown","Epub","\u6559\u7a0b"]},{"location":"essay/main/md-epub/#_1","title":"\u51c6\u5907","text":"

\u4ee5\u4e0b\u662f\u9700\u8981\u51c6\u5907\u548c\u63a8\u8350\u51c6\u5907\u7684\u5de5\u5177\u96c6\uff1a

  1. pandoc \u662f\u4e00\u4e2a\u529f\u80fd\u4e30\u5bcc\uff0c\u652f\u6301\u8bb8\u591a\u6587\u4ef6\u683c\u5f0f\u7684\u6587\u4ef6\u8f6c\u6362\u5668\uff0c\u5b83\u53ef\u4ee5\u5c06\u8c03\u5236\u8fc7\u7684 markdown \u6587\u4ef6\u8f6c\u6362\u4e3a epub \u6587\u4ef6\u3002

  2. calibre \u662f\u4e00\u4e2a\u7535\u5b50\u56fe\u4e66\u7ba1\u7406\u8f6f\u4ef6\uff0c\u53ef\u4ee5\u7528\u6765\u9605\u8bfb\u3001\u7ba1\u7406\u548c\u7f16\u8f91\u7535\u5b50\u4e66\u6587\u4ef6\uff0c\u672c\u6587\u4e2d\u5c06\u4f7f\u7528\u5b83\u7f16\u8f91\u7535\u5b50\u4e66\u7684\u5143\u4fe1\u606f\u3002

  3. opencc \u662f\u4e00\u4e2a\u7528\u4e8e\u7b80\u7e41\u6587\u5b57\u8f6c\u6362\u7684\u547d\u4ee4\u884c\u5de5\u5177\uff0c\u53ef\u4ee5\u65b9\u4fbf\u5730\u5c06\u7e41\u4f53\u4e2d\u6587\u6587\u672c\u8f6c\u6362\u4e3a\u7b80\u4f53\u4e2d\u6587\u6587\u672c\u3002

  4. Visual Studio Code\uff08\u7b80\u79f0\uff1avscode\uff09\u662f\u7531\u5fae\u8f6f\u5f00\u53d1\u7684\u6e90\u4ee3\u7801\u7f16\u8f91\u5668\uff0c\u5b83\u7684\u7f16\u8f91\u5668\u529f\u80fd\u5f88\u4e30\u5bcc\uff0c\u7ed3\u5408\u6269\u5c55\u63d2\u4ef6\u53ef\u4ee5\u5b8c\u6210\u66f4\u591a\u7684\u4efb\u52a1\uff0c\u672c\u6587\u4e2d\uff0c\u5c06\u4f7f\u7528 vscode \u7f16\u8f91 markdown \u6587\u4ef6\u3002

  5. markdown \u662f\u4e00\u79cd\u57fa\u4e8e\u7eaf\u6587\u672c\u6587\u4ef6\u7684\u6807\u8bb0\u8bed\u8a00\u89c4\u8303\uff0c\u53ef\u4ee5\u7b80\u5355\u7684\u8bed\u6cd5\u7ed3\u6784\u751f\u6210\u7b80\u6d01\u7684\u6392\u7248\u6548\u679c\u3002

","tags":["\u6742\u8c08","Pandoc","markdown","Epub","\u6559\u7a0b"]},{"location":"essay/main/md-epub/#_2","title":"\u5b89\u88c5\u5de5\u5177","text":"","tags":["\u6742\u8c08","Pandoc","markdown","Epub","\u6559\u7a0b"]},{"location":"essay/main/md-epub/#pandoc","title":"pandoc","text":"

\u4f60\u53ef\u4ee5\u76f4\u63a5\u524d\u5f80 pandoc \u5b98\u7f51\u4e0b\u8f7d\u5b89\u88c5\u5305\u6587\u4ef6\uff0c\u6216\u8005\u6253\u5f00\u7ec8\u7aef\u8fd0\u884c\uff1a

winget install JohnMacFarlane.Pandoc  #\u5bf9\u4e8e Windows \u7528\u6237\nzypper install pandoc                 #\u5bf9\u4e8e openSUSE \u7528\u6237\n
  • winget \u662f\u5fae\u8f6f\u63a8\u51fa\u7684\u8f6f\u4ef6\u5305\u7ba1\u7406\u5668\uff0c\u4f7f\u7528\u5b83\u5b89\u88c5\u8f6f\u4ef6\u65f6\u8bb0\u5f97\u5728\u4ee3\u7406\u8f6f\u4ef6\u5185\u5f00\u542f\u7cfb\u7edf\u4ee3\u7406\u3002
","tags":["\u6742\u8c08","Pandoc","markdown","Epub","\u6559\u7a0b"]},{"location":"essay/main/md-epub/#calibre","title":"calibre","text":"

\u4f60\u53ef\u4ee5\u524d\u5f80 calibre \u7684\u5b98\u7f51\u4e0b\u8f7d\u5b89\u88c5\u5305\u6216\u8fd0\u884c\uff1a

winget install calibre.calibre  #\u5bf9\u4e8e Windows \u7528\u6237\nzypper in calibre               #\u5bf9\u4e8e openSUSE \u7528\u6237\n
","tags":["\u6742\u8c08","Pandoc","markdown","Epub","\u6559\u7a0b"]},{"location":"essay/main/md-epub/#opencc","title":"OpenCC","text":"

\u4f60\u53ef\u4ee5\u524d\u5f80 opencc \u7684\u5f00\u53d1\u8005\u4ed3\u5e93\u4e0b\u8f7d\u53ef\u6267\u884c\u6587\u4ef6\u5305\u6216\u8fd0\u884c\uff1a

zypper in opencc  #\u5bf9\u4e8e openSUSE \u7528\u6237\n

\u53e6\u89c1\u4f7f\u7528 OpenCC \u8fdb\u884c\u7b80\u7e41\u4e2d\u6587\u8f6c\u6362\u3002

","tags":["\u6742\u8c08","Pandoc","markdown","Epub","\u6559\u7a0b"]},{"location":"essay/main/md-epub/#vscode","title":"vscode","text":"

\u4f60\u53ef\u4ee5\u524d\u5f80 vscode \u7684\u5f00\u53d1\u8005\u4ed3\u5e93\u4e0b\u8f7d\u53ef\u6267\u884c\u6587\u4ef6\u5305\u6216\u8fd0\u884c\uff1a

winget install Microsoft.VisualStudioCode      #\u5bf9\u4e8e Windows \u7528\u6237\nflatpak install flathub com.visualstudio.code  #\u5bf9\u4e8e Linux \u7528\u6237\n
  • \u6709\u7528\u7684\u6269\u5c55\uff1a
    • Chinese (Simplified) (\u7b80\u4f53\u4e2d\u6587) Language Pack for Visual Studio Code \u4e3a vscode \u7684\u7528\u6237\u754c\u9762\u63d0\u4f9b\u4e2d\u6587\u8bed\u8a00\u652f\u6301\u3002
    • Epub Reader \u4e3a vscode \u63d0\u4f9b\u9884\u89c8 epub \u6587\u4ef6\u7684\u80fd\u529b
    • Pandoc Markdown Preview \u4e3a vscode \u63d0\u4f9b\u4ee5 pandoc's markdown \u89c4\u8303\u9884\u89c8 markdown \u7684\u80fd\u529b
","tags":["\u6742\u8c08","Pandoc","markdown","Epub","\u6559\u7a0b"]},{"location":"essay/main/md-epub/#_3","title":"\u5236\u4f5c\u7535\u5b50\u4e66","text":"

\u603b\u7684\u6765\u8bf4\uff1a

  1. \u5148\u7f16\u5199\u4e00\u4efd\u7b26\u5408 pandoc's markdown \u89c4\u8303\u7684 markdown \u6e90\u6587\u4ef6\uff1b
  2. \u518d\u4f7f\u7528 pandoc \u5c06 markdown \u8f6c\u6362\u4e3a epub \u6587\u4ef6\uff1b
  3. \u6700\u540e\u4f7f\u7528 calibre \u8865\u9f50\u7535\u5b50\u4e66\u5143\u4fe1\u606f\u3002
","tags":["\u6742\u8c08","Pandoc","markdown","Epub","\u6559\u7a0b"]},{"location":"essay/main/md-epub/#markdown","title":"\u7f16\u5199 markdown","text":"

\u4f60\u53ef\u4ee5\u5148\u9605\u8bfb Markdwon \u4e2d\u6587\u5feb\u901f\u5165\u95e8\u6307\u5357\u5feb\u901f\u4e86\u89e3 markdown \u7684\u57fa\u672c\u8bed\u6cd5\u89c4\u5219\u3002\u7136\u540e\u518d\u9605\u8bfb pandoc's markdown \u4e86\u89e3 pandoc \u6240\u652f\u6301\u7684 markdown \u8bed\u6cd5\u89c4\u8303\u3002\u6700\u540e\u518d\u5f00\u59cb\u7f16\u5199\u7b26\u5408 pandoc \u89c4\u8303\u7684 markdown \u6e90\u6587\u4ef6\u3002

\u4e2a\u4eba\u5efa\u8bae\uff1a

  1. \u4e66\u5199\u65f6 markdown \u5c3d\u91cf\u907f\u514d\u540c\u65f6\u4f7f\u7528\u591a\u4e2a\u4e00\u7ea7\u6807\u9898\uff08\u4e66\u540d\u5df2\u7ecf\u9ed8\u8ba4\u4f5c\u4e3a\u4e00\u7ea7\u6807\u9898\u4e86\uff09\uff1b
  2. pandoc \u7684 markdown \u89c4\u8303\u63d0\u4f9b\u4e86\u76f8\u8f83\u4e8e markdown \u539f\u7248\u4e0d\u5177\u6709\u7684\u8bb8\u591a\u6269\u5c55\u7279\u6027\uff08\u5982\u6587\u672c\u9ad8\u4eae\u3001\u4e0a\u4e0b\u6807\u6587\u4ef6\u3001\u5236\u8868\u7b49\uff09\uff1b
  3. \u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u8f6c\u6362\u6587\u4ef6\u65f6\uff0cPandoc \u53ea\u80fd\u8bc6\u522b\u5230\u7b2c\u4e09\u7ea7\u6807\u9898\uff08###\uff09\uff0c\u66f4\u5c0f\u4e00\u7ea7\u7684\u6807\u9898\uff08####\uff09\u65e0\u6cd5\u88ab\u6b63\u786e\u8bc6\u522b\u5e76\u5f55\u5165\u76ee\u5f55\uff1b
  4. \u9047\u5230 markdown \u65e0\u6cd5\u89e3\u51b3\u7684\u6392\u7248\u95ee\u9898\uff0c\u53ef\u4ee5\u5bfb\u6c42\u4f7f\u7528 HTML \u548c CSS \u89e3\u51b3\u95ee\u9898\uff1b
  5. \u5982\u679c\u4f60\u5728\u67d0\u5904\u4f7f\u7528\u4e86 html \u6807\u8bb0\uff0c\u4f46 epub \u751f\u6210\u54c1\u6ca1\u6709\u5b9e\u73b0\u4f60\u9884\u671f\u7684\u6548\u679c\uff0c\u4f60\u53ef\u80fd\u9700\u8981\u5c06\u6b64\u5904\u7684\u6240\u6709\u6807\u8bb0\u7b26\u53f7\u90fd\u4fee\u6539\u4e3a html \u6807\u8bb0\uff0c\u4f8b\u5982\uff1a<center><strong><color-blue>\u4f7f\u7528\u4e86\u81ea\u5b9a\u4e49\u6837\u5f0f\u7684\u84dd\u8272\u6587\u672c</color-blue></strong></center>\uff1b
  6. \u4f7f\u7528 html \u548c CSS \u8bed\u6cd5\u65f6\uff0c\u8bf7\u6ce8\u610f\u9075\u5b88\u5b83\u4eec\u7684\u89c4\u8303\u3002
  7. Epub Reader \u5728\u9884\u89c8\u6587\u4ef6\u7684\u540c\u65f6\u53ef\u4ee5\u68c0\u6d4b\u7535\u5b50\u4e66\u4e2d\u5b58\u5728\u7684\u95ee\u9898\uff08\u4f8b\u5982\u6709\u672a\u95ed\u5408\u7684 html \u6807\u7b7e\u6216\u5185\u90e8\u9519\u8bef\uff09\uff1b
  8. \u4e0d\u8981\u4f7f\u7528 calibre \u9884\u89c8\u6d4b\u8bd5\u6587\u4ef6\uff0c\u5b83\u53ef\u4ee5\u5c06\u539f\u672c\u5b58\u5728\u95ee\u9898\u6216\u7f3a\u9677\u7684\u7535\u5b50\u4e66\u6309\u7167\u4f60\u9884\u60f3\u7684\u65b9\u5f0f\u8fdb\u884c\u6e32\u67d3\u4ece\u800c\u5bfc\u81f4\u4f60\u5ffd\u7565\u4e86\u67d0\u4e9b\u6f5c\u5728\u95ee\u9898\uff1b
  9. \u8981\u4f7f\u7528\u6587\u672c\u6bb5\u843d\u9996\u884c\u7f29\u8fdb\uff0c\u4f60\u53ef\u4ee5\u5728\u6587\u672c\u524d\u63d2\u5165\u4e24\u4e2a\u5168\u89d2\u7a7a\u683c\uff08Unicode\uff1aU+3000\uff09\uff1b\u8981\u63d2\u5165\u6b64\u7b26\u53f7\uff0c\u8bf7\u5c06\u8f93\u5165\u6cd5\u5207\u6362\u81f3\u5168\u89d2\u8f93\u5165\u72b6\u6001\uff0c\u7136\u540e\u6309\u4e0b\u7a7a\u683c\u952e\u5373\u53ef\uff1b
  10. markdown \u672c\u8eab\u6ca1\u6709\u4e13\u95e8\u4e3a\u4e2d\u6587\u4f18\u5316\u8fc7\u6e32\u67d3\u65b9\u5f0f\uff0c\u4f60\u9700\u8981\u4ed4\u7ec6\u9605\u8bfb\u89c4\u8303\u6587\u6863\uff0c\u4ee5\u4e86\u89e3\u54ea\u4e9b\u9ed8\u8ba4\u6e32\u67d3\u65b9\u5f0f\u53ef\u80fd\u4f1a\u5f71\u54cd\u6392\u7248\u6548\u679c\uff1b
  11. \u82e5\u5206\u6bb5\u65f6\u4e0d\u5e0c\u671b\u4f7f\u7528\u7a7a\u683c\u5206\u6bb5\uff0c\u8bf7\u4f7f\u7528 <br />
  12. \u6b63\u5219\u8868\u8fbe\u5f0f\u5bf9\u4e8e\u6279\u91cf\u5904\u7406\u6587\u672c\u5f88\u6709\u5e2e\u52a9\uff1b
  13. \u63a8\u8350\u9605\u8bfb\u300a\u4e2d\u6587\u6587\u6848\u6392\u7248\u6307\u5317\u300b\uff1b
  14. markdown \u6587\u4ef6\u7684\u7f16\u7801\u5fc5\u987b\u4e3a UTF-8\u3002
","tags":["\u6742\u8c08","Pandoc","markdown","Epub","\u6559\u7a0b"]},{"location":"essay/main/md-epub/#vscode_1","title":"vscode","text":"

vscode \u7684\u7528\u6237\u624b\u518c\u8be6\u89c1\u6b64\u5904\u3002

","tags":["\u6742\u8c08","Pandoc","markdown","Epub","\u6559\u7a0b"]},{"location":"essay/main/md-epub/#_4","title":"\u6807\u6ce8\u5143\u4fe1\u606f","text":"

\u4f60\u9700\u8981\u5728 markdown \u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u6807\u6ce8\u4e00\u4e0b\u6587\u6863\u7684\u5143\u6570\u636e\uff08\u4ee5 % \u5f00\u5934\uff09\uff0c\u4f8b\u5982\uff1a

% \u4e66\u540d\n% \u4f5c\u8005\n\n# \u4e00\u7ea7\u6807\u9898\n\n\u4ee5\u4e0b\u662f\u6b63\u6587\u6587\u672c\n

\u4f60\u4e5f\u53ef\u4ee5\u6807\u6ce8\u591a\u4e2a\u4f5c\u8005\uff0c\u4f8b\u5982\uff1a

% \u4e66\u540d\n% \u4f5c\u80051\n  \u4f5c\u80052\n  \u4f5c\u80053\n

calibre \u53ef\u4ee5\u4fee\u6539\u7535\u5b50\u4e66\u7684\u5143\u6570\u636e\u6216\u7535\u5b50\u4e66\u672c\u8eab\uff0c\u6240\u4ee5\u4ee5\u4e0a\u7684\u5143\u6570\u636e\u5df2\u7ecf\u591f\u7528\u4e86\u3002\u82e5\u4f60\u5bf9 pandoc \u5b9a\u4e49\u7684\u5143\u6570\u636e\u6807\u6ce8\u89c4\u8303\u611f\u5174\u8da3\uff0c\u8bf7\u9605\u8bfb\uff1aEpub Metadata\u3002

","tags":["\u6742\u8c08","Pandoc","markdown","Epub","\u6559\u7a0b"]},{"location":"essay/main/md-epub/#_5","title":"\u8f6c\u6362\u6587\u4ef6","text":"

\u5728 markdown \u6587\u4ef6\u6240\u5728\u7684\u6587\u4ef6\u5939\u4e2d\u6253\u5361\u7ec8\u7aef\u6a21\u62df\u5668\u6216\u865a\u62df\u63a7\u5236\u53f0\uff0c\u8c03\u7528 pandoc \u5c06\u76ee\u6807\u6587\u4ef6\uff08\u5982 example.md\uff09\u8f6c\u6362\u4e3a epub \u7535\u5b50\u4e66\uff0c\u5e76\u4fdd\u5b58\u81f3\u76f8\u540c\u76ee\u5f55\u4e0b\uff0c\u4f8b\u5982\uff1a

pandoc example.md -o example.epub\n

\u5f53\u6587\u4ef6\u540d\u5b58\u5728\u7a7a\u683c\u6216\u5176\u4ed6\u5b57\u7b26\u65f6\uff0c\u4f60\u53ef\u4ee5\u4f7f\u7528\u53cc\u5f15\u53f7\u5c06\u6587\u4ef6\u540d\u5305\u88f9\u8d77\u6765\uff0c\u4f8b\u5982\uff1a

pandoc \"\u793a\u4f8b\u6587\u4ef6 - \u793a\u4f8b\u4f5c\u8005~testing.md\" -o \u6d4b\u8bd5.epub\n
","tags":["\u6742\u8c08","Pandoc","markdown","Epub","\u6559\u7a0b"]},{"location":"essay/main/md-epub/#epub","title":"\u591a\u6587\u4ef6\u8f6c\u6362\u4e3a EPUB \u6587\u6863","text":"

\u5bf9\u4e8e\u5185\u5bb9\u91cf\u5de8\u5927\u7684\u6587\u6863\uff0c\u4f60\u53ef\u4ee5\u5c06\u5176\u88c1\u526a\u6210\u591a\u4e2a markdown \u6587\u6863\u3002\u540c\u65f6\u5e94\u6ce8\u610f\u6807\u9898\u5c42\u6b21\u7684\u5212\u5206\u3002

\u6700\u540e\uff0c\u4f7f\u7528\u5982\u4e0b\u7684\u547d\u4ee4\u751f\u6210\u4e00\u672c\u7535\u5b50\u4e66\u3002

pandoc -o example.epub chapter01.md chapter02.md chapter03.md\n

\u5982\u6b64\u7c7b\u63a8\uff0c\u8f93\u5165\u6587\u4ef6\u540d\u65f6\u5e94\u4fdd\u6301\u6587\u4ef6\u903b\u8f91\u4e0a\u7684\u5148\u540e\u987a\u5e8f\u3002

","tags":["\u6742\u8c08","Pandoc","markdown","Epub","\u6559\u7a0b"]},{"location":"essay/main/md-epub/#_6","title":"\u5de5\u7a0b\u793a\u4f8b","text":"

\u8bf4\u660e

\u4ee5\u4e0b\u662f\u5c06\u591a\u4e2a md \u6587\u6863\u8f6c\u6362\u4e3a\u5355\u4e2a EPUB \u7684\u5de5\u7a0b\u793a\u4f8b\u3002

\u73b0\u6709\u5982\u4e0b\u7684\u5de5\u7a0b\u6587\u4ef6\uff1a

PS D:\\.R\\\u5c0f\u8bf4\\factory\\epub-build> ls\n\n\n    \u76ee\u5f55: D:\\.R\\\u5c0f\u8bf4\\factory\\epub-build\n\n\nMode                 LastWriteTime         Length Name\n----                 -------------         ------ ----\n-a----      2022.12.12  \u4e0a\u5348 11:36            187 part01.md\n-a----      2022.12.12  \u4e0a\u5348 11:36            112 part02.md\n-a----      2022.12.12  \u4e0a\u5348 11:37            187 part03.md\n-a----      2022.12.12  \u4e0a\u5348 11:37            187 part04.md\n

\u6bcf\u4e2a\u6587\u4ef6\u7684\u5185\u5bb9\u5982\u4e0b\uff1a

part01.mdpart02.mdpart03.mdpart04.md
% \u6d4b\u8bd5\u7535\u5b50\u4e66\n% \u6d4b\u8bd5\u5458\n\n# \u4e66\u540d\n\n## \u4e66\u7c4d\u4fe1\u606f\n\n\u4ee5\u4e0b\u662f\u4e66\u7c4d\u7684\u4ecb\u7ecd\u4e0e\u63cf\u8ff0\n\n---\n\n## \u7b2c\u4e00\u90e8\n\n\u7b2c\u4e00\u90e8\u7684\u63cf\u8ff0\n\n### \u7b2c\u4e00\u7ae0\n\n\u6b63\u6587\u7684\u7b2c\u4e00\u7ae0\n\n### \u7b2c\u4e8c\u7ae0\n\n\u6b63\u6587\u7684\u7b2c\u4e8c\u7ae0\n
## \u7b2c\u4e8c\u90e8\n\n\u7b2c\u4e8c\u90e8\u7684\u63cf\u8ff0\n\n### \u7b2c\u4e00\u7ae0\n\n\u6b63\u6587\u7684\u7b2c\u4e00\u7ae0\n\n### \u7b2c\u4e8c\u7ae0\n\n\u6b63\u6587\u7684\u7b2c\u4e8c\u7ae0\n
# \u5916\u4f20\n\n## \u4e66\u7c4d\u4fe1\u606f\n\n\u4ee5\u4e0b\u662f\u4e66\u7c4d\u7684\u4ecb\u7ecd\u4e0e\u63cf\u8ff0\n\n---\n\n## \u7b2c\u4e00\u90e8\n\n\u7b2c\u4e00\u90e8\u7684\u63cf\u8ff0\n\n### \u7b2c\u4e00\u7ae0\n\n\u6b63\u6587\u7684\u7b2c\u4e00\u7ae0\n\n### \u7b2c\u4e8c\u7ae0\n\n\u6b63\u6587\u7684\u7b2c\u4e8c\u7ae0\n
# \u524d\u4f20\n\n## \u4e66\u7c4d\u4fe1\u606f\n\n\u4ee5\u4e0b\u662f\u4e66\u7c4d\u7684\u4ecb\u7ecd\u4e0e\u63cf\u8ff0\n\n---\n\n## \u7b2c\u4e00\u90e8\n\n\u7b2c\u4e00\u90e8\u7684\u63cf\u8ff0\n\n### \u7b2c\u4e00\u7ae0\n\n\u6b63\u6587\u7684\u7b2c\u4e00\u7ae0\n\n### \u7b2c\u4e8c\u7ae0\n\n\u6b63\u6587\u7684\u7b2c\u4e8c\u7ae0\n

\u751f\u6210\u7535\u5b50\u4e66\uff1a

pandoc -o test.epub part01.md part02.md part03.md part04.md\n

\u5b9e\u9a8c\u6210\u54c1\u793a\u610f\u56fe\u5982\u4e0b\uff1a

","tags":["\u6742\u8c08","Pandoc","markdown","Epub","\u6559\u7a0b"]},{"location":"essay/main/opencc/","title":"\u4f7f\u7528 OpenCC \u8fdb\u884c\u7b80\u7e41\u4e2d\u6587\u8f6c\u6362","text":"

\u5f00\u653e\u4e2d\u6587\u8f6c\u6362\uff08OpenCC\uff0c\u5f00\u653e\u4e2d\u6587\u8f6c\u6362\uff09\u662f\u4e00\u4e2a\u5f00\u6e90\u9879\u76ee\uff0c\u7528\u4e8e\u7e41\u4f53\u4e2d\u6587\u3001\u7b80\u4f53\u4e2d\u6587\u548c\u65e5\u6587\u6c49\u5b57\uff08Shinjitai\uff09\u4e4b\u95f4\u7684\u8f6c\u6362\u3002\u652f\u6301\u4e2d\u56fd\u5927\u9646\u3001\u53f0\u6e7e\u548c\u9999\u6e2f\u4e4b\u95f4\u7684\u5b57\u7b26\u7ea7\u548c\u77ed\u8bed\u7ea7\u8f6c\u6362\u3001\u5b57\u7b26\u53d8\u4f53\u8f6c\u6362\u548c\u5730\u533a\u6210\u8bed\u3002\u8fd9\u4e0d\u662f\u666e\u901a\u8bdd\u548c\u7ca4\u8bed\u7b49\u4e4b\u95f4\u7684\u7ffb\u8bd1\u5de5\u5177\u3002

","tags":["\u6742\u8c08","openCC"]},{"location":"essay/main/opencc/#_1","title":"\u5b89\u88c5","text":"

\u5728 Tumbleweed \u4e0a\u5b89\u88c5 OpenCC

sudo zypper in opencc -y\n
","tags":["\u6742\u8c08","openCC"]},{"location":"essay/main/opencc/#_2","title":"\u4f7f\u7528","text":"

\u793a\u4f8b\uff1a

bh@c004-h1:~> ls && cat \u7e41\u4f53\u4e2d\u6587.txt\n\u7e41\u4f53\u4e2d\u6587.txt  \u516c\u5171  \u6a21\u677f  \u89c6\u9891  \u56fe\u7247  \u6587\u6863  \u4e0b\u8f7d  \u97f3\u4e50  \u684c\u9762  Applications  BT-Network\nOpenCC \u662f\u4e00\u500b\u958b\u6e90\u9805\u76ee\uff0c\u7528\u65bc\u7e41\u9ad4\u4e2d\u6587\u3001\u7c21\u9ad4\u4e2d\u6587\u548c\u65e5\u6587\u6f22\u5b57\uff08Shinjitai\uff09\u4e4b\u9593\u7684\u8f49\u63db\u3002\u652f\u6301\u4e2d\u570b\u5927\u9678\u3001\u81fa\u7063\u548c\u9999\u6e2f\u4e4b\u9593\u7684\u5b57\u7b26\u7d1a\u548c\u77ed\u8a9e\u7d1a\u8f49\u63db\u3001\u5b57\u7b26\u8b8a\u9ad4\u8f49\u63db\u548c\u5730\u5340\u6210\u8a9e\u3002\u9019\u4e0d\u662f\u666e\u901a\u8a71\u548c\u7cb5\u8a9e\u7b49\u4e4b\u9593\u7684\u7ffb\u8b6f\u5de5\u5177\u3002\nbh@c004-h1:~> opencc -i \u7e41\u4f53\u4e2d\u6587.txt -c t2s -o \u7b80\u4f53\u4e2d\u6587.txt\nbh@c004-h1:~> cat \u7b80\u4f53\u4e2d\u6587.txt\nOpenCC \u662f\u4e00\u4e2a\u5f00\u6e90\u9879\u76ee\uff0c\u7528\u4e8e\u7e41\u4f53\u4e2d\u6587\u3001\u7b80\u4f53\u4e2d\u6587\u548c\u65e5\u6587\u6c49\u5b57\uff08Shinjitai\uff09\u4e4b\u95f4\u7684\u8f6c\u6362\u3002\u652f\u6301\u4e2d\u56fd\u5927\u9646\u3001\u53f0\u6e7e\u548c\u9999\u6e2f\u4e4b\u95f4\u7684\u5b57\u7b26\u7ea7\u548c\u77ed\u8bed\u7ea7\u8f6c\u6362\u3001\u5b57\u7b26\u53d8\u4f53\u8f6c\u6362\u548c\u5730\u533a\u6210\u8bed\u3002\u8fd9\u4e0d\u662f\u666e\u901a\u8bdd\u548c\u7ca4\u8bed\u7b49\u4e4b\u95f4\u7684\u7ffb\u8bd1\u5de5\u5177\u3002\n

\u5728\u5982\u4e0a\u7684\u793a\u4f8b\u4e2d\uff0c\u6211\u5c06\u7e41\u4f53\u4e2d\u6587\u6587\u672c\u5199\u5165\u5230\u540d\u4e3a \u7e41\u4f53\u4e2d\u6587.txt \u7684\u6587\u4ef6\u4e2d\uff0c\u7136\u540e\u4f7f\u7528 opencc \u8bfb\u53d6\u8be5\u6587\u4ef6\uff0c\u5e76\u8bfb\u53d6\u914d\u7f6e\u6587\u4ef6 t2s \u8fdb\u884c\u8f6c\u6362\uff0c\u518d\u8f93\u51fa\u4e00\u4e2a\u540d\u4e3a \u7b80\u4f53\u4e2d\u6587.txt \u7684\u6587\u4ef6\u3002

","tags":["\u6742\u8c08","openCC"]},{"location":"essay/main/opencc/#_3","title":"\u914d\u7f6e\u6587\u4ef6","text":"

\u6709\u5173 opencc \u53ef\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u5982\u4e0b\uff1a

\u540d\u79f0 \u7528\u9014 s2t.json \u7b80\u4f53\u5230\u7e41\u4f53 t2s.json \u7e41\u4f53\u5230\u7b80\u4f53 s2tw.json \u7b80\u4f53\u5230\u53f0\u6e7e\u6b63\u4f53 tw2s.json \u53f0\u6e7e\u6b63\u4f53\u5230\u7b80\u4f53 s2hk.json \u7b80\u4f53\u5230\u9999\u6e2f\u7e41\u4f53 hk2s.json \u9999\u6e2f\u7e41\u4f53\u5230\u7b80\u4f53 s2twp.json \u7b80\u4f53\u5230\u7e41\u4f53\uff08\u53f0\u6e7e\u6b63\u4f53\u6807\u51c6\uff09\u5e76\u8f6c\u6362\u4e3a\u53f0\u6e7e\u5e38\u7528\u8bcd\u6c47 tw2sp.json \u7e41\u4f53\uff08\u53f0\u6e7e\u6b63\u4f53\u6807\u51c6\uff09\u5230\u7b80\u4f53\u5e76\u8f6c\u6362\u4e3a\u4e2d\u56fd\u5927\u9646\u5e38\u7528\u8bcd\u6c47 t2tw.json \u7e41\u4f53\uff08OpenCC \u6807\u51c6\uff09\u5230\u53f0\u6e7e\u6b63\u4f53 hk2t.json \u9999\u6e2f\u7e41\u4f53\u5230\u7e41\u4f53\uff08OpenCC \u6807\u51c6\uff09 t2hk.json \u7e41\u4f53\uff08OpenCC \u6807\u51c6\uff09\u5230\u9999\u6e2f\u7e41\u4f53 t2jp.json \u7e41\u4f53\uff08OpenCC \u6807\u51c6\uff0c\u65e7\u5b57\u4f53\uff09\u5230\u65e5\u6587\u65b0\u5b57\u4f53 jp2t.json \u65e5\u6587\u65b0\u5b57\u4f53\u5230\u7e41\u4f53\uff08OpenCC \u6807\u51c6\uff0c\u65e7\u5b57\u4f53\uff09 tw2t.json \u53f0\u6e7e\u6b63\u4f53\u5230\u7e41\u4f53\uff08OpenCC \u6807\u51c6\uff09","tags":["\u6742\u8c08","openCC"]},{"location":"essay/main/play-minecraft/","title":"\u5728 openSUSE \u4e0a\u6e38\u73a9 Minecraft","text":"","tags":["\u6742\u8c08","Minecraft","openSUSE"]},{"location":"essay/main/play-minecraft/#_1","title":"\u51c6\u5907","text":"

\u4f7f\u7528\u7684\u542f\u52a8\u5668\u662f MultiMC \u53d1\u5e03\u7684 Binary Tarball (64-bit) \u7248\u672c\uff0c\u5c06\u6587\u4ef6\u89e3\u538b\u81f3 ~/bin/mc\u3002

","tags":["\u6742\u8c08","Minecraft","openSUSE"]},{"location":"essay/main/play-minecraft/#jdk","title":"JDK","text":"

openSUSE \u9ed8\u8ba4\u5b89\u88c5\u7684 LibreOffice \u4f1a\u4f9d\u8d56 OpenJDK 21\u3002\u4e00\u822c\u4e0d\u9700\u8981\u5b89\u88c5\u989d\u5916\u7684 JDK\u3002

","tags":["\u6742\u8c08","Minecraft","openSUSE"]},{"location":"essay/main/play-minecraft/#desktop","title":"desktop \u6587\u4ef6","text":"

\u4f7f\u7528 DRI_PRIME=1 \u53d8\u91cf\u8ba9 Minecraft \u5728 GPU \u4e0b\u8fd0\u884c\u3002

[Desktop Entry]\nComment[zh_CN]=Minecraft launcher\nCategories=Game\nComment=Minecraft launcher\nExec=env DRI_PRIME=1 /home/poplar/bin/mc/MultiMC\nGenericName[zh_CN]=MultiMC\nGenericName=MultiMC\nIcon=minecraft\nMimeType=\nName[zh_CN]=MultiMC\nName=MultiMC\nPath=/home/poplar/bin/mc\nStartupNotify=true\nTerminal=false\nTerminalOptions=\nType=Application\nX-KDE-SubstituteUID=false\nX-KDE-Username=\n
","tags":["\u6742\u8c08","Minecraft","openSUSE"]},{"location":"essay/main/play-minecraft/#_2","title":"\u542f\u52a8\u5668\u914d\u7f6e","text":"
  • \u8bed\u8a00\uff1a\u7b80\u4f53\u4e2d\u6587
  • JDK\uff1a
    • Java \u8def\u5f84\uff1a\u4f7f\u7528\u7cfb\u7edf\u7684 JDK
    • \u6700\u5927\u5185\u5b58\u5206\u914d\u5927\u5c0f\uff1a4096MiB
  • Minecraft\uff1a\u5c06\u7a97\u53e3\u5927\u5c0f\u8c03\u6574\u4e3a 1920x1080
  • \u4ee3\u7406\u670d\u52a1\u5668\uff1a
    • HTTP
    • 127.0.0.1:7890
  • \u8d26\u6237\uff1aMicrosoft \u8d26\u6237
","tags":["\u6742\u8c08","Minecraft","openSUSE"]},{"location":"essay/main/play-minecraft/#_3","title":"\u5b89\u88c5\u6e38\u620f","text":"

MultiMC \u4ee5\u5b9e\u4f8b\uff08instance\uff09\u4e3a\u5355\u4f4d\u7ba1\u7406 Minecraft \u6e38\u620f\u672c\u4f53\u3002\u9ed8\u8ba4\u5b89\u88c5\u7684\u7248\u672c\u662f 1.20.6\u3002

\u6e38\u620f\u672c\u4f53\u5b58\u653e\u5728 ~/bin/mc/instances/<\u7248\u672c\u540d\u79f0>/.minecraft \u4e2d\u3002

","tags":["\u6742\u8c08","Minecraft","openSUSE"]},{"location":"essay/main/play-minecraft/#mod","title":"mod","text":"
  • Fabric
  • Fabric API
  • Iris Shader
  • Sodium
  • Lithium
  • Journeymap
","tags":["\u6742\u8c08","Minecraft","openSUSE"]},{"location":"essay/main/play-minecraft/#_4","title":"\u5149\u5f71\u5305","text":"

\u9ed8\u8ba4\u9009\u62e9\uff1aComplementary Shaders - Reimagined

","tags":["\u6742\u8c08","Minecraft","openSUSE"]},{"location":"essay/main/play-minecraft/#_5","title":"\u5916\u90e8\u94fe\u63a5","text":"

\u4e00\u4e9b\u6709\u7528\u7684\u5916\u90e8\u94fe\u63a5\uff1a

  • MC \u767e\u79d1
  • MCBBS
  • Minecraft - Curseforge
  • Minecraft Wiki
  • Minecraft Data Packs | Planet Minecraft Community
","tags":["\u6742\u8c08","Minecraft","openSUSE"]},{"location":"essay/main/python-embed/","title":"\u5d4c\u5165\u5f0f python","text":"

\u9996\u5148\uff0c\u4ece https://www.python.org/downloads/windows/ \u4e0b\u8f7d python \u7684 Windows embeddable package\u3002

\u7136\u540e\u5c06\u4e0b\u8f7d\u7684\u538b\u7f29\u5305\uff08\u5982 python-3.12.5-embed-amd64.zip\uff09\u89e3\u538b\u5230\u67d0\u4e2a\u6587\u4ef6\u5939\uff0c\u5982 D:\\software\\lib\\python\u3002

","tags":["\u6742\u8c08","python","Windows"]},{"location":"essay/main/python-embed/#pip","title":"\u5b89\u88c5 pip","text":"

\u4e0b\u8f7d get-pip-py \u5230\u76f8\u540c\u7684\u6587\u4ef6\u5939\u3002

\u7136\u540e\u7f16\u8f91\u6b64\u6587\u4ef6\u5939\u4e2d\u7684 python312._pth\uff0c\u5c06\u5176\u4fee\u6539\u4e3a\uff1a

python312.zip\n.\n\n# Uncomment to run site.main() automatically\nimport site\n

\u5728\u7ec8\u7aef\u4e2d\u5b89\u88c5 pip\uff1a

D:\\software\\lib\\python\\python.exe get-pip.py\n
","tags":["\u6742\u8c08","python","Windows"]},{"location":"essay/main/python-embed/#path","title":"\u7f16\u8f91 PATH","text":"

\u5728 Windows \u7684\u9ad8\u7ea7\u7cfb\u7edf\u8bbe\u7f6e\u4e2d\uff0c\u5411 PATH \u53d8\u91cf\u6dfb\u52a0

  • D:\\software\\lib\\python\\Scripts
  • D:\\software\\lib\\python

\u7136\u540e\u5c31\u80fd\u5728 vscode \u4e2d\u8c03\u7528 pip \u4e86:

PS D:\\myfiles\\misc\\git\\whiteboard> pip --version\npip 24.2 from D:\\software\\lib\\python\\Lib\\site-packages\\pip (python 3.12)\n
","tags":["\u6742\u8c08","python","Windows"]},{"location":"essay/main/python-embed/#_1","title":"\u53c2\u8003","text":"
  • codemee - Windows \u4e0b\u88fd\u4f5c\u53ef\u651c\u5f0f Python \u7684\u65b9\u6cd5
","tags":["\u6742\u8c08","python","Windows"]},{"location":"essay/main/qbittorrent-conf/","title":"qBittorrent & PeerBanHelper \u914d\u7f6e\u5907\u5fd8\u5f55","text":"

\u8bf4\u660e

  • \u8fd9\u662f\u6211\u4e2a\u4eba\u4f7f\u7528\u7684 qBittorrent \u914d\u7f6e\u3002
    • \u76f8\u5173\uff1aqBittorrent \u53c2\u6570\u8be6\u7ec6\u8bbe\u7f6e\u6559\u7a0b
  • \u672c\u6587\u901a\u8fc7 systemctl --user \u8fdb\u884c\u7ba1\u7406\u670d\u52a1\uff1b\u53e6\u89c1 Systemd/User - Archlinux wiki\u3002
","tags":["\u6742\u8c08","qBittorrent","PeerBanHelper"]},{"location":"essay/main/qbittorrent-conf/#_1","title":"\u5b89\u88c5","text":"
sudo zypper in qbittorrent\n
","tags":["\u6742\u8c08","qBittorrent","PeerBanHelper"]},{"location":"essay/main/qbittorrent-conf/#_2","title":"\u5f00\u673a\u542f\u52a8","text":"

\u5728 KDE \u7684\u7cfb\u7edf\u8bbe\u7f6e\u4e2d\uff0c\u628a qbittorrent \u6dfb\u52a0\u81f3\u5f00\u673a\u542f\u52a8\u7684\u5217\u8868\u4e2d\u3002

","tags":["\u6742\u8c08","qBittorrent","PeerBanHelper"]},{"location":"essay/main/qbittorrent-conf/#_3","title":"\u76f8\u5173\u6587\u4ef6","text":"

\u914d\u7f6e\u6587\u4ef6\uff1a

  • ~/.config/qBittorrent
  • ~/.local/share/qBittorrent

\u4e0b\u8f7d\u7684\u6587\u4ef6\uff1a

poplar@c004-h1:~> tree /home/bt/network -L 1\n/home/bt/network\n\u251c\u2500\u2500 downloads1\n\u251c\u2500\u2500 downloads2\n\u251c\u2500\u2500 misc\n\u251c\u2500\u2500 torrents1\n\u2514\u2500\u2500 torrents2\n\n6 directories, 0 files\n
","tags":["\u6742\u8c08","qBittorrent","PeerBanHelper"]},{"location":"essay/main/qbittorrent-conf/#_4","title":"\u7528\u6237\u754c\u9762","text":"
  • \u5728\u83dc\u5355\u680f\u7684 \u89c6\u56fe \u2192 \u65e5\u5fd7 \u4e2d\uff0c\u52fe\u9009\u5168\u90e8\u7c7b\u578b\u7684\u65e5\u5fd7\u4fe1\u606f\u3002
  • \u8c03\u6574\u5217\uff1a
    • \u540d\u79f0
    • \u9009\u5b9a\u5927\u5c0f
    • \u8fdb\u5ea6
    • \u72b6\u6001
    • \u505a\u79cd\u6570
    • \u7528\u6237
    • \u4e0b\u8f7d\u901f\u5ea6
    • \u4e0a\u4f20\u901f\u5ea6
    • \u5269\u4f59\u65f6\u95f4
    • \u6bd4\u7387
    • \u6807\u7b7e
    • \u672c\u6b21\u4f1a\u8bdd\u4e0a\u4f20
    • \u6700\u8fd1\u6d3b\u52a8
  • \u5206\u7c7b\uff1a
    • \u5b8c\u6574\u4e0b\u8f7d\uff1a/home/bt/network/downloads1\uff08\u9ed8\u8ba4\u5206\u7c7b\uff09
    • \u975e\u5b8c\u6574\u4e0b\u8f7d\uff1a/home/bt/network/downloads2
    • \u975e\u5206\u7c7b\uff1a/home/bt/network/misc
  • \u6807\u7b7e\uff1a
    • 1 \u7c7b\uff08\u957f\u671f\u505a\u79cd\uff09
    • 2 \u7c7b\uff08\u77ed\u671f\u505a\u79cd\uff09
    • 3 \u7c7b\uff08\u4e34\u65f6\u4e0b\u8f7d\uff09
    • \u7535\u5f71
    • \u52a8\u753b
    • \u5176\u4ed6
    • \u7279\u5178
    • \u672a\u8bfb
    • \u65b0\u756a
    • \u97f3\u4e50
    • OVA
","tags":["\u6742\u8c08","qBittorrent","PeerBanHelper"]},{"location":"essay/main/qbittorrent-conf/#_5","title":"\u8f6f\u4ef6\u8bbe\u7f6e","text":"

\u5728\u9ed8\u8ba4\u914d\u7f6e\u7684\u57fa\u7840\u4e0a

","tags":["\u6742\u8c08","qBittorrent","PeerBanHelper"]},{"location":"essay/main/qbittorrent-conf/#_6","title":"\u884c\u4e3a","text":"

\u4fee\u6539\uff1a

  • \u542f\u52a8\u65f6\u7a97\u53e3\uff1a\u9690\u85cf
  • \u5728\u901a\u77e5\u533a\u57df\u663e\u793a qBittorrent
    • \u6700\u5c0f\u5316 qBittorrent \u5230\u901a\u77e5\u533a\u57df
    • \u5173\u95ed qBittorrent \u5230\u901a\u77e5\u533a\u57df
  • \u6258\u76d8\u56fe\u8868\u6837\u5f0f\uff1a\u5355\u8272\uff08\u6df1\u8272\u4e3b\u9898\uff09
","tags":["\u6742\u8c08","qBittorrent","PeerBanHelper"]},{"location":"essay/main/qbittorrent-conf/#_7","title":"\u4e0b\u8f7d","text":"

\u4fee\u6539\uff1a

  • \u4e3a\u6240\u6709\u6587\u4ef6\u9884\u5206\u914d\u78c1\u76d8\u7a7a\u95f4
  • \u9ed8\u8ba4 Torrent \u7ba1\u7406\u6a21\u5f0f\uff1a\u81ea\u52a8
  • \u9ed8\u8ba4\u4fdd\u5b58\u4f4d\u7f6e\uff1a/home/bt/network/misc
","tags":["\u6742\u8c08","qBittorrent","PeerBanHelper"]},{"location":"essay/main/qbittorrent-conf/#_8","title":"\u8fde\u63a5","text":"

\u4fee\u6539\uff1a

  • \u7aef\u53e3\uff1a\u5927\u4e8e 10000 \u7684\u4efb\u610f\u7aef\u53e3
  • \u5168\u5c40\u6700\u5927\u8fde\u63a5\u6570\uff1a800
  • \u6bcf\u4e2a torrent \u6700\u5927\u8fde\u63a5\u6570\uff1a200

\u4e0d\u4f7f\u7528\uff1a

  • \u4f7f\u7528\u6211\u7684\u8def\u7531\u5668 UPnP / NAT-PMP \u7aef\u53e3\u8f6c\u53d1\uff08\u5728\u8def\u7531\u5668\u4e0a\u53e6\u5916\u8bbe\u7f6e\u7aef\u53e3\u8f6c\u53d1\uff09
  • \u5168\u5c40\u4e0a\u4f20\u7a97\u53e3\u9650\u5236
  • \u6bcf\u4e2a torrent \u4e0a\u4f20\u7a97\u53e3\u9650\u5236
","tags":["\u6742\u8c08","qBittorrent","PeerBanHelper"]},{"location":"essay/main/qbittorrent-conf/#_9","title":"\u901f\u5ea6","text":"

\u4fee\u6539\uff1a

  • \u5bf9 \u00b5TP \u534f\u8bae\u8fdb\u884c\u901f\u5ea6\u9650\u5236
  • \u5bf9\u4f20\u9001\u603b\u5f00\u9500\u8fdb\u884c\u901f\u5ea6\u9650\u5236
  • \u5bf9\u672c\u5730\u7f51\u7edc\u7528\u6237\u8fdb\u884c\u901f\u5ea6\u9650\u5236
","tags":["\u6742\u8c08","qBittorrent","PeerBanHelper"]},{"location":"essay/main/qbittorrent-conf/#bittorret","title":"BitTorret","text":"

\u4fee\u6539\uff1a

  • \u81ea\u52a8\u9644\u52a0\u8fd9\u4e9b tracker \u5230\u65b0\u4e0b\u8f7d
    • https://trackerslist.com
","tags":["\u6742\u8c08","qBittorrent","PeerBanHelper"]},{"location":"essay/main/qbittorrent-conf/#webui","title":"WebUI","text":"

\u4fee\u6539\uff1a

  • Web \u7528\u6237\u754c\u9762\uff08\u8fdc\u7a0b\u63a7\u5236\uff09
  • \u5bf9\u672c\u5730\u4e3b\u673a\u4e0a\u7684\u5ba2\u6237\u7aef\u8df3\u8fc7\u8eab\u4efd\u9a8c\u8bc1
","tags":["\u6742\u8c08","qBittorrent","PeerBanHelper"]},{"location":"essay/main/qbittorrent-conf/#_10","title":"\u9ad8\u7ea7","text":"

\u4fee\u6539\uff1a

  • \u7f51\u7edc\u63a5\u53e3\uff1awlp6s0\uff08\u65e0\u7ebf\u7f51\u5361\uff09
  • \u4fdd\u5b58\u6062\u590d\u6570\u636e\u7684\u95f4\u9694\uff1a60 \u5206\u949f
  • \u5f02\u6b65 I/O \u7ebf\u7a0b\u6570\uff1a64\uff08AMD 7840H\uff09
  • \u6587\u4ef6\u6c60\u5927\u5c0f\uff1a400
  • \u6821\u9a8c\u65f6\u5185\u5b58\u4f7f\u7528\u6269\u589e\u91cf\uff1a256 MiB
  • \u5408\u5e76\u8bfb\u5199
  • \u53d1\u9001\u5206\u5757\u4e0a\u4f20\u5efa\u8bae
  • \u7981\u6b62\u8fde\u63a5\u5230\u7279\u6743\u7aef\u53e3\u4e0a\u7684 peer
","tags":["\u6742\u8c08","qBittorrent","PeerBanHelper"]},{"location":"essay/main/qbittorrent-conf/#peerbanhelper","title":"\u90e8\u7f72 Peerbanhelper","text":"

\u83b7\u53d6 PeerBanHelper.jar \u548c libraries.tar.gz\uff1a

  • \u4e0b\u8f7d\u5730\u5740\uff1ahttps://github.com/Ghost-chu/PeerBanHelper
  • \u6587\u6863\uff1ahttps://pbh-btn.github.io/pbh-docs/
poplar@c004-h1:~> tree ~/bin/pbh -L 1\n/home/poplar/bin/pbh\n\u251c\u2500\u2500 data\n\u251c\u2500\u2500 key.txt\n\u251c\u2500\u2500 latest.log -> /home/poplar/bin/pbh/data/logs/latest.log\n\u251c\u2500\u2500 libraries\n\u251c\u2500\u2500 pbh.service\n\u251c\u2500\u2500 PeerBanHelper.jar\n\u251c\u2500\u2500 qb-nox.service\n\u2514\u2500\u2500 test-start.sh\n\n3 directories, 6 files\n

test-start.sh\uff1a

#!/bin/sh\n#\u6d4b\u8bd5\u542f\u52a8\njava -Xmx512M -XX:+UseG1GC -XX:+UseStringDeduplication -XX:+ShrinkHeapInSteps -jar PeerBanHelper.jar nogui\n

pbh.service\uff1a

[Unit]\nDescription=Start PeerBanHelper Service\n\n[Service]\nExecStart=/usr/bin/java -jar -Xmx512M -XX:+UseG1GC -XX:+UseStringDeduplication -XX:+ShrinkHeapInSteps PeerBanHelper.jar nogui\nType=simple\nWorkingDirectory=/home/poplar/bin/pbh/\n\n[Install]\nWantedBy=default.target\n
","tags":["\u6742\u8c08","qBittorrent","PeerBanHelper"]},{"location":"essay/main/qbittorrent-conf/#_11","title":"\u914d\u7f6e\u6587\u4ef6","text":"

\u4f7f\u7528 test-start.sh \u542f\u52a8\u670d\u52a1\uff0c\u5728 http://127.0.0.1:8080 \u751f\u6210 token \u5e76\u6dfb\u52a0 qBittorrent \u4e0b\u8f7d\u5668\u3002\u7136\u540e\u5173\u95ed\u811a\u672c\u3002

\u4fee\u6539 ~/bin/pbh/data/config/config.yml\uff1a

  • language\uff1a\u6539\u4e3a zh_CN
  • btn\uff1a\u6539\u4e3a true\uff0c\u5e76\u586b\u5165 app-id \u548c app-secret
  • ip-database\uff1a\u586b\u5165\u7533\u8bf7\u7684 account-id \u548c license-key
  • proxy\uff1a\u5c06 setting: 0 \u6539\u4e3a setting: 2\uff0c\u5e76\u68c0\u67e5\u670d\u52a1\u5668\u5730\u5740\u548c\u7aef\u53e3\u662f\u5426\u6b63\u786e\u3002

\u7136\u540e\u4f7f\u7528 pbh \u6ce8\u518c\u5e76\u91cd\u8f7d PeerBanHelper \u670d\u52a1\u3002

","tags":["\u6742\u8c08","qBittorrent","PeerBanHelper"]},{"location":"essay/main/qbittorrent-conf/#_12","title":"\u96c6\u6210\u7ba1\u7406\u811a\u672c","text":"

\u7528\u4e8e\u7ba1\u7406 PeerBanHelper \u7684\u811a\u672c pbh\uff1a

#!/bin/sh\n#\u672c\u811a\u672c\u7528\u4e8e Peerbanhelper \u7684\u65e5\u5e38\u7ef4\u62a4\n\nexport PBH_DIR=/home/poplar/bin/pbh\n#PeerBanHelper jar \u6587\u4ef6\u7684\u4e3b\u76ee\u5f55\nexport PBH_DIR_U=/home/poplar/Downloads\n#PeerBanHelper jar \u65b0\u7248\u672c\u6587\u4ef6\u7684\u9ed8\u8ba4\u5b58\u653e\u8def\u5f84\n\nLOG_FILE=/home/poplar/bin/pbh/data/logs/*.log.gz\n\nwhile true; do\n    printf -- '-%0.s' {1..100} && echo\n    printf 'You can use the PeerBanHelper maintenance script for:\\n\\n'\n    printf 'A - Set up systemd services\\n'\n    printf 'B - Start systemd service\\n'\n    printf 'C - Stop systemd service\\n\\n'\n    printf 'D - Update PeerBanHelper\\n'\n    printf 'E - Degrade PeerBanHelper\\n'\n    printf 'F - Delete unused jar and logs\\n'\n    printf 'G - Read logs of PeerBanHelper\\n\\n'\n    printf 'H - Clear terminal output\\n'\n    printf 'Q - Quit\\n\\n'\n    printf '==> '\n    read answer\n\n    if [ \"$answer\" = \"A\" ] || [ \"$answer\" = \"a\" ]; then\n    #\u6ce8\u518c\u670d\u52a1\n        mkdir -p ~/.config/systemd/user\n        if [ -f $PBH_DIR/pbh.service ]; then\n            printf 'Found pbh.service file.\\n'\n            cp $PBH_DIR/pbh.service ~/.config/systemd/user\n            systemctl daemon-reload --user\n            systemctl enable --user pbh\n            systemctl status --user pbh | grep \"Loaded\"\n            #\u6ce8\u518c PeerBanHelper\n        else\n            printf 'ERROR: pbh.service not found!\\n'\n        fi\n\n    elif [ \"$answer\" = \"B\" ] || [ \"$answer\" = \"b\" ]; then\n    #\u542f\u52a8\u670d\u52a1\n        systemctl start --user pbh\n        systemctl status --user pbh | grep \"Active\"\n\n    elif [ \"$answer\" = \"C\" ] || [ \"$answer\" = \"c\" ]; then\n    #\u5173\u95ed\u670d\u52a1\n        systemctl stop --user pbh\n        systemctl status --user pbh | grep \"Active\"\n\n    elif [ \"$answer\" = \"D\" ] || [ \"$answer\" = \"d\" ]; then\n    #\u66f4\u65b0 Peerbanhelper\n        systemctl stop --user pbh\n        systemctl status --user pbh | grep \"Active\"\n        #\u670d\u52a1\u4e2d\u6b62\n        if [ -f $PBH_DIR_U/PeerBanHelper*.zip ]; then\n            cd $PBH_DIR_U\n            7z x PeerBanHelper*.zip\n            rm -r $PBH_DIR/libraries\n            printf 'Delete old libraries: OK!\\n'\n            mv $PBH_DIR_U/PeerBanHelper/libraries $PBH_DIR\n            printf 'Update libraries: OK!\\n'\n            #\u66f4\u65b0\u5e93\n            mv -f $PBH_DIR/PeerBanHelper.jar $PBH_DIR/PeerBanHelper.jar.old\n            printf 'Backup files: OK!\\n'\n            mv $PBH_DIR_U/PeerBanHelper/PeerBanHelper.jar $PBH_DIR\n            printf 'Update files: OK!\\n'\n            #\u66f4\u65b0 jar \u6587\u4ef6\n            systemctl restart --user pbh\n            systemctl status --user pbh | grep \"Active\"\n            rm -r $PBH_DIR_U/PeerBanHelper\n        else\n            printf 'ERROR: PeerBanHelper*.zip not found!\\n'\n        fi\n\n    elif [ \"$answer\" = \"E\" ] || [ \"$answer\" = \"e\" ]; then\n    #\u964d\u7ea7\u66f4\u65b0 Peerbanhelper\n        if [ -f $PBH_DIR/PeerBanHelper.jar.old ]; then\n            systemctl stop --user pbh\n            systemctl status --user pbh | grep \"Active\"\n            #\u670d\u52a1\u4e2d\u6b62\n            mv -f $PBH_DIR/PeerBanHelper.jar $PBH_DIR/PeerBanHelper.jar.error\n            mv -f $PBH_DIR/PeerBanHelper.jar.old $PBH_DIR/PeerBanHelper.jar\n            printf 'Downgrade: OK!\\n'\n            #\u66f4\u6362\u65e7\u7248\u6587\u4ef6\n            systemctl restart --user pbh\n            systemctl status --user pbh | grep \"Active\"\n        else\n            printf 'ERROR: PeerBanHelper.jar.old not found!\\n'\n        fi\n\n    elif [ \"$answer\" = \"F\" ] || [ \"$answer\" = \"f\" ]; then\n    #\u5220\u9664\u6709\u95ee\u9898\u7684\u65e7\u7248\u6587\u4ef6\u548c\u65e5\u5fd7\n        printf 'Start deleting files...\\n'\n        rm $PBH_DIR/data/logs/*.log.gz\n        printf 'Remove archive logs: OK!\\n'\n        if [ -f $PBH_DIR/PeerBanHelper.jar.error ]; then\n        #\u5220\u9664 PeerBanHelper.jar.error\n            rm $PBH_DIR/PeerBanHelper.jar.error\n            printf 'Remove PeerBanHelper.jar.error: OK!\\n'\n        else\n            printf 'ERROR: PeerBanHelper.jar.error not found!\\n'\n        fi\n\n    elif [ \"$answer\" = \"G\" ] || [ \"$answer\" = \"g\" ]; then\n    #\u8bfb\u53d6 Peerbanhelper \u65e5\u5fd7\n        tail -n 30 $PBH_DIR/data/logs/latest.log\n        #\u8bfb\u53d6\u6700\u65b0\u7684 30 \u6761\u65e5\u5fd7\n        #\u4e5f\u53ef\u4ee5\u4f7f\u7528\uff1a\n        #journalctl --user -u pbh\n\n    elif [ \"$answer\" = \"H\" ] || [ \"$answer\" = \"h\" ]; then\n    #\u6e05\u7406\u5e76\u9000\u51fa\n        clear\n\n    elif [ \"$answer\" = \"Q\" ] || [ \"$answer\" = \"q\" ]; then\n    #\u9000\u51fa\n        echo \"The script task has ended.\"\n        exit\n\n    else\n    #\u91cd\u65b0\u5f00\u59cb\u5faa\u73af\n        echo \"ERROR: Invalid input!\"\n        continue\n\n    fi\n\ndone\n
","tags":["\u6742\u8c08","qBittorrent","PeerBanHelper"]},{"location":"essay/note/0-about/","title":"\u5173\u4e8e","text":"

\u8be5\u4efd\u7b14\u8bb0\u7684\u4e3b\u8981\u5185\u5bb9\u662f\u8bb0\u5f55 openSUSE Tumbleweed \u7684\u5b89\u88c5\u4e0e\u914d\u7f6e\u4fe1\u606f\u3002

  • \u7cfb\u7edf\u4fe1\u606f
Operating System: openSUSE Tumbleweed 20241105\nKDE Plasma Version: 6.2.2\nKDE Frameworks Version: 6.7.0\nQt Version: 6.8.0\nKernel Version: 6.11.6-2-default (64-bit)\nGraphics Platform: Wayland\nProcessors: 16 \u00d7 AMD Ryzen 7 7840H w/ Radeon 780M Graphics\nMemory: 14.8 GiB of RAM\nGraphics Processor: AMD Radeon 780M\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/1-preparation/","title":"\u51c6\u5907\u5de5\u4f5c","text":"","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/1-preparation/#iso","title":"\u4e0b\u8f7d\u3001\u6821\u9a8c ISO \u6587\u4ef6","text":"

\u4f7f\u7528 iso-m \u547d\u4ee4\u4e0b\u8f7d\u548c\u6821\u9a8c\u6587\u4ef6\u3002

\u8be5\u547d\u4ee4\u8be6\u89c1 Shell \u811a\u672c\u4e0e\u914d\u7f6e\u6587\u4ef6\u3002

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/1-preparation/#opensuse","title":"openSUSE \u9879\u76ee\u7684\u516c\u94a5","text":"
wget https://download.opensuse.org/tumbleweed/repo/oss/gpg-pubkey-29b700a4-62b07e22.asc\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/1-preparation/#iso_1","title":"\u70e7\u5f55 ISO \u6587\u4ef6","text":"

\u4f7f\u7528 ventoy \u521b\u5efa\u53ef\u542f\u52a8\u5b89\u88c5\u4ecb\u8d28\uff0c\u542f\u52a8\u6a21\u5f0f\u4e3a\u6b63\u5e38\u542f\u52a8\u3002

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/1-preparation/#_2","title":"\u5207\u6362\u5f15\u5bfc\u542f\u52a8\u9879","text":"

\u5173\u673a\u540e\uff0c\u6309\u4e0b\u5f00\u673a\u952e\uff0c\u540c\u65f6\u6309 Esc \u8fdb\u5165 BIOS \u754c\u9762\uff0c\u5207\u6362\u542f\u52a8\u9879\u3002

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/1-preparation/#_3","title":"\u5907\u4efd\u6587\u4ef6","text":"

\u4f7f\u7528 LiveCD \u73af\u5883\u5c06\u65e7\u7528\u6237\u6587\u4ef6\u5939 poplar \u91cd\u547d\u540d poplar.old\u3002

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/2-installation/","title":"\u5b89\u88c5\u7cfb\u7edf","text":"

\u5982\u679c\u51fa\u73b0 CJK \u5b57\u7b26\u4e71\u7801\uff0c\u5219\u8bed\u8a00\u9009\u62e9 en_US\u3002\u6216\u8005\u6309 E \u7f16\u8f91 grub \u6761\u76ee\uff0c\u5728 linux \u6240\u5728\u884c\u7684\u672b\u5c3e\u6dfb\u52a0 lang=zh_CN\uff0c\u518d\u6309 Ctrl + X \u91cd\u65b0\u5f15\u5bfc\u542f\u52a8 YaST2\u3002

\u6ce8\u610f\uff1a

  • \u4e0d\u4fee\u6539\u51c6\u5907\u5b89\u88c5\u7684\u8f6f\u4ef6\u5305\u7ec4\u5408
  • \u65b0\u5efa\u5e10\u6237\u65f6\uff0c\u53d6\u6d88\u52fe\u9009\u81ea\u52a8\u767b\u5f55
  • \u5b89\u88c5\u65f6\uff0c\u53ef\u4ee5\u5c06 YaST2 \u7684\u4e3b\u9898\u5207\u6362\u4e3a\u6df1\u8272
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/2-installation/#_2","title":"\u5206\u533a\u8868","text":"\u5206\u533a\u540d\u79f0 \u6302\u8f7d\u70b9 \u5206\u533a\u5927\u5c0f \u6587\u4ef6\u7cfb\u7edf\u7c7b\u578b root / \u865a\u62df\u673a\uff1a16GiB \u53ca\u4ee5\u4e0a\u7269\u7406\u673a\uff1a40GiB \u6216\u4ee5\u4e0a btrfs efi /boot/efi/ \u4e0d\u5171\u7528 ESP\uff1a100MiB\u5171\u7528 ESP\uff1a256MiB fat32 \u6216 vfat swap swap \u53c2\u8003\u4e0b\u6587 swap swapfile /home/swap \u8be6\u89c1 \u5728 btrfs \u6587\u4ef6\u7cfb\u7edf\u4e0a\u4f7f\u7528 swapfile \u540c\u5de6 home /home \u4f9d\u7167\u5b9e\u9645\u60c5\u51b5\u800c\u5b9a xfs\uff08\u5bf9\u4e8e HDD \u800c\u8a00\uff09\u3001btrfs\uff08\u5bf9\u4e8e SSD \u800c\u8a00\uff09

swapfile/SWAP \u5206\u533a\u53c2\u8003\u5927\u5c0f\u5982\u4e0b\u6240\u793a1\uff1a

\u7cfb\u7edf\u7269\u7406\u5185\u5b58\uff08RAM\uff09\u5927\u5c0f \u63a8\u8350\u7684 swap \u5206\u533a\u5927\u5c0f \u63a8\u8350\u7684 swap \u5206\u533a\u5927\u5c0f\uff08\u5982\u679c\u9700\u8981\u4f11\u7720\uff09 \u2a7d 2 GiB RAM \u7684\u4e24\u500d RAM \u7684\u4e09\u500d > 2 GiB \u2013 8 GiB \u548c RAM \u76f8\u540c RAM \u7684\u4e24\u500d > 8 GiB \u2013 64 GiB \u81f3\u5c11 4GiB RAM \u7684 1.5 \u500d > 64GiB \u81f3\u5c11 4GiB \u4e0d\u63a8\u8350\u4f11\u7720

\u6ce8\u610f\uff0c\u7b2c\u4e8c\u5757\u786c\u76d8\u5e94\u5f53\u6302\u8f7d\u5230 /home \u76ee\u5f55\u4e0b\u3002

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/2-installation/#_3","title":"\u6837\u4f8b","text":"
poplar@c004-h1:~> lsblk\nNAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS\nnvme1n1     259:0    0 953.9G  0 disk \n\u251c\u2500nvme1n1p1 259:1    0   256M  0 part /boot/efi\n\u251c\u2500nvme1n1p2 259:2    0    40G  0 part /var\n\u2502                                     /usr/local\n\u2502                                     /root\n\u2502                                     /srv\n\u2502                                     /opt\n\u2502                                     /boot/grub2/x86_64-efi\n\u2502                                     /boot/grub2/i386-pc\n\u2502                                     /.snapshots\n\u2502                                     /\n\u2514\u2500nvme1n1p3 259:3    0 913.6G  0 part /home\nnvme0n1     259:4    0   1.8T  0 disk \n\u2514\u2500nvme0n1p1 259:5    0   1.8T  0 part /home/bt\npoplar@c004-h1:~> sudo swapon -s\nFilename                                Type            Size            Used            Priority\n/home/swap/swapfile                     file            4194300         873340          -2\n
  1. \u53c2\u8003 14.2. Recommended system swap space - redhat documentation \u21a9

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/3-first-boot/","title":"\u521d\u6b21\u542f\u52a8","text":"","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/3-first-boot/#_2","title":"\u5207\u6362\u9ed8\u8ba4\u4f1a\u8bdd","text":"

\u70b9\u51fb\u5de6\u4e0b\u89d2\u7684\u6309\u94ae\uff0c\u5c06 KDE \u9ed8\u8ba4\u4f1a\u8bdd\u4ece X11 \u4fee\u6539\u4e3a wayland\u3002

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/3-first-boot/#_3","title":"\u624b\u52a8\u521b\u5efa\u7528\u6237","text":"

\u5982\u679c\u51fa\u73b0\u9700\u8981\u624b\u52a8\u521b\u5efa\u7528\u6237\u65f6\uff0c\u82e5\u8981\u4f7f\u7528\u6237\u540d\u4e0e\u7528\u6237\u6240\u5c5e\u9ed8\u8ba4\u7ec4\u7ec4\u540d\u76f8\u540c\uff0c\u9700\u8981\u5148\u521b\u5efa\u65b0\u7684\u7528\u6237\u7ec4\u3002

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/3-first-boot/#_4","title":"\u8bbe\u7f6e\u4e3b\u673a\u540d","text":"

sudo hostnamectl set-hostname --pretty \"White-Poplar's Laptop\"\n
sudo hostnamectl set-hostname --static c004-h1\n

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/3-first-boot/#packagekit-discover","title":"\u5220\u9664 Packagekit \u548c Discover","text":"
sudo zypper rm -u PackageKit discover6; sudo zypper al discover6 PackageKit\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/3-first-boot/#_5","title":"\u5220\u9664\u8f6f\u4ef6\u6e90\uff0c\u66f4\u65b0\u7cfb\u7edf","text":"

\u5220\u9664\u591a\u4f59\u7684 repo-openh264 \u8f6f\u4ef6\u6e90\u548c ISO \u8f6f\u4ef6\u6e90\u3002

\u66f4\u65b0\u7cfb\u7edf\uff1a

sudo zypper ref; sudo zypper dup\n

\u8865\u9f50\u7f3a\u5931\u7684\u8f6f\u4ef6\u5305\uff1a

sudo zypper inr\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/3-first-boot/#_6","title":"\u591a\u5a92\u4f53\u64ad\u653e\u5668","text":"

\u6dfb\u52a0 Packman \u6e90\uff08\u8be6\u89c1 bashrc\uff09\uff1a

add-packman\n

\u66f4\u65b0\u5e76\u5b89\u88c5\u591a\u5a92\u4f53\u64ad\u653e\u5668\uff1a

sudo zypper refresh\n
update-packman\n
sudo zypper in mpv ffmpeg-7\n

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/3-first-boot/#_7","title":"\u97f3\u91cf\u63a7\u5236\u6545\u969c","text":"

\u5982\u679c\u64ad\u653e\u5668\u97f3\u91cf\u5927\u5c0f\u4e0e\u7cfb\u7edf\u8bbe\u7f6e\u7684\u97f3\u91cf\u503c\u4e0d\u5448\u7ebf\u6027\u53d8\u5316\uff0c\u5219\u4f7f\u7528 alsamixer \u5c06 Base Speaker \u7684\u503c\u964d\u5230 0\u3002

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/3-first-boot/#_8","title":"\u66f4\u6362\u8bed\u8a00\uff08\u53ef\u9009\u64cd\u4f5c\uff09","text":"

\u5728 YaST Language \u5c06\u9996\u9009\u8bed\u8a00\u4fee\u6539\u4e3a\u7b80\u4f53\u4e2d\u6587\uff0c\u540c\u65f6\u9009\u62e9\u82f1\u6587\u4f5c\u4e3a\u7b2c\u4e8c\u8bed\u8a00\u3002

\u7136\u540e\u5c06 KDE \u8bbe\u7f6e\u4e2d\u7684\u533a\u57df\u548c\u8bed\u8a00\u66f4\u6539\u4e3a\u4e2d\u6587\u3002

\u7b49\u5f85\u66f4\u65b0\u5b8c\u6210\uff0c\u91cd\u542f\u7cfb\u7edf\u3002

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/3-first-boot/#amd-gpu","title":"AMD GPU","text":"

\u4ee5\u6838\u663e\u8fd0\u884c\u5e94\u7528\u7684\u73af\u5883\u53d8\u91cf\uff1a

DRI_PRIME=0\n

\u4ee5\u72ec\u663e\u8fd0\u884c\u7a0b\u5e8f\u7684\u73af\u5883\u53d8\u91cf\uff1a

DRI_PRIME=1\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/","title":"\u8f6f\u4ef6\u5305","text":"","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#_2","title":"\u4ee3\u7406\u8f6f\u4ef6","text":"
  • v2rayN: https://github.com/2dust/v2rayN/releases
  • nekoray: https://github.com/MatsuriDayo/nekoray/releases

steam \u4f1a\u81ea\u52a8\u8bfb\u53d6\u7cfb\u7edf\u4ee3\u7406\u8bbe\u7f6e\u3002

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#flatpak","title":"Flatpak","text":"

\u5b89\u88c5\uff1a

sudo zypper in flatpak\n

\u6dfb\u52a0\u8fdc\u7a0b\u4ed3\u5e93\uff1a

set-proxy; flatpak remote-add --if-not-exists --user flathub https://dl.flathub.org/repo/flathub.flatpakrepo\n

\u52a0\u5165 Flatpak \u7528\u6237\u7ec4

sudo usermod -aG flatpak $USER\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#flatpak_1","title":"\u5b89\u88c5 Flatpak \u5e94\u7528","text":"
flatpakx install com.github.qarmin.czkawka\nflatpakx install com.github.tchx84.Flatseal\nflatpakx install com.github.johnfactotum.Foliate\nflatpakx install io.github.xiaoyifang.goldendict_ng\nflatpakx install com.dec05eba.gpu_screen_recorder\nflatpakx install com.github.dynobo.normcap\nflatpakx install org.telegram.desktop\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#_3","title":"\u6e05\u7406\u6570\u636e","text":"

\u6e05\u7406\u4e0d\u518d\u9700\u8981\u7684\u5e93\uff1a

flatpak uninstall --unused\n

\u5378\u8f7d\u65f6\u4e00\u5e76\u6e05\u7406\u5e94\u7528\u6570\u636e\uff1a

flatpak uninstall <package id> --delete-data\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#czkawka","title":"czkawka","text":"

\u5bf9\u6bd4\u91cd\u590d\u6587\u4ef6\u65f6\uff0c\u53ea\u9700\u8981\u6dfb\u52a0\u4e00\u4e2a\u6587\u4ef6\u5939\u5c31\u884c\u4e86\uff08\u4e0d\u9700\u8981\u8bbe\u7f6e\u4e3a\u53c2\u8003\u6587\u4ef6\u5939\uff09\u3002

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#fcitx5-wayland","title":"fcitx5 \u76ae\u80a4\u6ca1\u6709\u6b63\u786e\u663e\u793a\uff08Wayland \u4f1a\u8bdd\uff09","text":"

\u5173\u95ed\u6240\u6709 flatpak \u5e94\u7528\uff0c\u7136\u540e\u8fd0\u884c\uff1a

flatpak override --env=QT_IM_MODULE= --user\nflatpak override --env=GTK_IM_MODULE= --user\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#gtk","title":"\u5e94\u7528 GTK \u4e3b\u9898\u4e0e\u5f53\u524d\u7cfb\u7edf\u4e3b\u9898\u4e0d\u5339\u914d","text":"

\u4f7f\u7528 Flatseal \u7f16\u8f91\u5e94\u7528\uff0c\u4f7f\u5176\u80fd\u8bbf\u95ee\u4e3b\u9898\u6587\u4ef6\u5939\uff08/usr/share/themes\uff09\uff0c\u7136\u540e\u4e3a\u8be5\u5e94\u7528\u8bbe\u7f6e\u5982\u4e0b\u73af\u5883\u53d8\u91cf\uff1a

GTK_THEME=Adwaita-dark\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#_4","title":"\u5220\u9664\u8f6f\u4ef6\u5305","text":"

\u5220\u9664\u5e76\u9501\u5b9a\uff1a

poplar@c004-h1:~> zypper ll\n\n#  | Name                   | Type    | Repository | Comment\n---+------------------------+---------+------------+--------\n1  | MozillaFirefox         | package | \uff08\u4efb\u610f\uff09   | \n2  | PackageKit             | package | \uff08\u4efb\u610f\uff09   | \n3  | discover6              | package | \uff08\u4efb\u610f\uff09   | \n4  | fcitx                  | package | \uff08\u4efb\u610f\uff09   | \n5  | ibus                   | package | \uff08\u4efb\u610f\uff09   | \n6  | kcalc                  | package | \uff08\u4efb\u610f\uff09   | \n7  | kmousetool             | package | \uff08\u4efb\u610f\uff09   | \n8  | kompare                | package | \uff08\u4efb\u610f\uff09   | \n9  | konversation           | package | \uff08\u4efb\u610f\uff09   | \n10 | kuiviewer              | package | \uff08\u4efb\u610f\uff09   | \n11 | opensuse-welcome       | package | \uff08\u4efb\u610f\uff09   | \n12 | patterns-games-games   | package | \uff08\u4efb\u610f\uff09   | \n13 | patterns-kde-kde_games | package | \uff08\u4efb\u610f\uff09   | \n14 | patterns-kde-kde_pim   | package | \uff08\u4efb\u610f\uff09   | \n15 | skanlite               | package | \uff08\u4efb\u610f\uff09   | \n16 | spectacle              | package | \uff08\u4efb\u610f\uff09   | \n17 | vlc                    | package | \uff08\u4efb\u610f\uff09   |\n

\u5feb\u6377\u547d\u4ee4\uff1a

sudo zypper rm -u MozillaFirefox fcitx ibus kcalc kmousetool kompare konversation kuiviewer opensuse-welcome patterns-games-games patterns-kde-kde_games patterns-kde-kde_pim skanlite spectacle vlc\n
sudo zypper al MozillaFirefox fcitx ibus kcalc kmousetool kompare konversation kuiviewer opensuse-welcome patterns-games-games patterns-kde-kde_games patterns-kde-kde_pim skanlite spectacle vlc\n

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#_5","title":"\u5b89\u88c5\u57fa\u672c\u5de5\u5177","text":"
  • chromium
  • keepassxc
  • proxychains-ng
  • git-core

\u5feb\u6377\u547d\u4ee4\uff1a

sudo zypper in chromium chromium-ffmpeg-extra chromium-plugin-widevinecdm keepassxc proxychains-ng git-core \n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#_6","title":"\u5b89\u88c5\u8f6f\u4ef6\u5305","text":"
  • aria2
  • audacious
  • amdgpu_top
  • crow-translate
  • fcitx5
  • filelight
  • flameshot
  • google-noto-sans-mono-fonts
  • gimp
  • goverlay
  • kfind
  • kleopatra
  • qbittorrent
  • steam

\u5feb\u6377\u547d\u4ee4\uff1a

sudo zypper in aria2 audacious amdgpu_top crow-translate crow-translate-lang fcitx5 filelight flameshot google-noto-sans-mono-fonts gimp goverlay kfind kleopatra qbittorrent\n
sudo zypper in steam\n

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#steam","title":"steam","text":"

\u5982\u679c\u65e0\u6cd5\u6b63\u5e38\u7f29\u653e\uff0c\u5219\u8bbe\u7f6e\u53d8\u91cf\uff1a

STEAM_FORCE_DESKTOPUI_SCALING=1.5\n

steam \u4f1a\u9ed8\u8ba4\u4f18\u5148\u8fd0\u884c\u6e38\u620f\u7684 Linux \u539f\u751f\u7248\u672c\u3002\u5982\u679c\u51fa\u73b0\u6027\u80fd\u95ee\u9898\uff0c\u8bf7\u5f3a\u5236\u4f7f\u7528 steam proton \u517c\u5bb9\u5de5\u5177\u3002

\u5982\u679c\u5b58\u5728\u8fde\u63a5\u6027\u95ee\u9898\uff0c\u5219\u4f7f\u7528 steam-proxy \u547d\u4ee4\u3002

\u914d\u7f6e\uff1a

  • \u5173\u95ed\u7740\u8272\u5668\u7f13\u5b58
  • \u66f4\u6539\u4e0b\u8f7d\u670d\u52a1\u5668
  • \u66f4\u6539\u9ed8\u8ba4\u5e93\u4f4d\u7f6e
  • \u66f4\u6539\u9ed8\u8ba4\u6253\u5f00\u7684\u9875\u9762
  • \u66f4\u6539\u9ed8\u8ba4\u754c\u9762\u8bed\u8a00
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#kvm","title":"KVM","text":"

\u5b89\u88c5\u8f6f\u4ef6\u5305\uff1a

sudo zypper install -t pattern kvm_server kvm_tools\n

\u52a0\u5165\u7528\u6237\u7ec4\uff1a

sudo usermod -aG libvirt $USER\n

\u6ce8\u9500\u91cd\u65b0\u767b\u5f55\u3002

\u6ce8\u610f\uff0c\u4e0d\u8981\u4f7f\u7528\u9ed8\u8ba4\u7684\u5b58\u50a8\u6c60\u3002\u5173\u4e8e\u4e0e\u865a\u62df\u673a\u5171\u4eab\u6587\u4ef6\uff0c\u8be6\u89c1\u6b64\u5904\u3002

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#mpv","title":"mpv","text":"

\u53e6\u89c1\uff1ahttps://github.com/tomasklaen/uosc

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#fcitx5","title":"Fcitx5","text":"

Fcitx5 \u7684\u81ea\u5b9a\u4e49\u8bcd\u5e93\u6587\u4ef6\uff08*.dict\uff09\uff1a

  • felixonmars/fcitx5-pinyin-zhwiki
  • wuhgit/CustomPinyinDictionary

\u8bcd\u5e93\u6587\u4ef6\u5939\uff1a~/.local/share/fcitx5/pinyin/dictionaries/

Fcitx5 \u76ae\u80a4\uff1a

git clone https://github.com/tonyfettes/fcitx5-nord.git\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#flameshot","title":"flameshot","text":"

\u6253\u5f00 KDE \u7684\u5feb\u6377\u952e\u8bbe\u7f6e\uff0c\u6dfb\u52a0 flameshot\uff0c\u7136\u540e\u5c06\u622a\u56fe\u7684\u5feb\u6377\u952e\u7ed1\u5b9a\u5230 PrtSc\u3002

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#_7","title":"\u6563\u88c5\u8f6f\u4ef6\u5305","text":"

\u53ef\u96c6\u6210\u81f3\u5f00\u59cb\u83dc\u5355\u7684 desktop \u6587\u4ef6\u53ef\u901a\u8fc7 KDE \u7684\u53f3\u952e\u65b0\u5efa\u83dc\u5355\u5feb\u901f\u521b\u5efa\u3002

\u6ce8\u610f\u7f16\u8f91\u73af\u5883\u53d8\u91cf\u65f6\u4e0d\u8981\u5f15\u5165\u6362\u884c\u7b26\u3002

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#vscodium","title":"VSCodium","text":"

\u4e0b\u8f7d appimage \u6587\u4ef6\uff1ahttps://github.com/VSCodium/vscodium/releases

\u5728\u4e0e VSCodium*.appimage \u540c\u7ea7\u6587\u4ef6\u5939\u4e2d\u65b0\u5efa data/extensions \u548c data/user-data\u3002

desktop \u6587\u4ef6\u6a21\u677f\uff1a

[Desktop Entry]\nCategories=Development;\nComment[zh_CN]=\nComment=\nExec=/home/poplar/bin/codium/vscodium.appimage --user-data-dir /home/poplar/bin/codium/data/user-data --extensions-dir /home/poplar/bin/codium/data/extensions\nGenericName[zh_CN]=\nGenericName=\nIcon=/home/poplar/bin/codium/data/paulo22s.png\nMimeType=\nName[zh_CN]=VSCodium\nName=VSCodium\nPath=/home/poplar/bin/codium\nStartupNotify=false\nTerminal=false\nTerminalOptions=\nType=Application\nX-KDE-SubstituteUID=false\nX-KDE-Username=\n

Logo \u6587\u4ef6\u53ef\u4ece VSCodium/icons \u4ed3\u5e93\u4e0b\u8f7d\u83b7\u5f97\u3002

\u5b57\u4f53\u8bbe\u7f6e\uff1a

'Noto Sans Mono', 'Noto Sans SC', monospace\n

\u5e38\u7528\u6269\u5c55\u5217\u8868\uff1a

  • MS-CEINTL.vscode-language-pack-zh-hans
  • GitHub.vscode-pull-request-github
  • GitHub.github-vscode-theme
  • shd101wyy.markdown-preview-enhanced
  • PKief.material-icon-theme
  • alefragnani.project-manager
  • ms-python.python
  • AaaaronZhou.vscode-auto-light-dark-theme

\u56fe\u6807\u53e6\u89c1\uff1a https://github.com/VSCodium/icons

\u66f4\u65b0\u811a\u672c update-code \u53e6\u89c1 shell-script\u3002

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#pandoc","title":"pandoc","text":"

\u4e0b\u8f7d\uff1ahttps://github.com/jgm/pandoc/releases/

\u5c06\u4e0b\u8f7d\u597d\u7684 pandoc \u89e3\u538b\u81f3 ~/bin/pandoc\u3002\u7b26\u53f7\u8fde\u63a5\u53ef\u4ee5\u653e\u7f6e\u5230 ~/bin/command \u4e2d\uff0c\u4fdd\u6301\u76ee\u5f55\u7684\u6574\u6d01\u3002

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#freefilesync","title":"FreeFileSync","text":"

\u4e0b\u8f7d\uff1ahttps://freefilesync.org/download.php

\u5b89\u88c5\u65f6\uff0c\u4fee\u6539\u5b89\u88c5\u7684\u7528\u6237\u8303\u56f4\uff08\u4ec5\u5b89\u88c5\u81f3\u5f53\u524d\u7528\u6237\uff09\u3001\u8def\u5f84\uff08\u81f3 ~/bin/FreeFileSync\uff09\u3002

\u7136\u540e\u5b89\u88c5\u7f3a\u5931\u7684\u4f9d\u8d56\uff1a

sudo zypper install libgthread-2_0-0\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#drawio","title":"draw.io","text":"

\u4e0b\u8f7d\uff1ahttps://github.com/jgraph/drawio-desktop/releases

appimage \u6587\u4ef6\u5b58\u653e\u81f3 ~/bin/appimages

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/5-kde/","title":"KDE \u76f8\u5173","text":"","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/5-kde/#_1","title":"\u6742\u9879","text":"","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/5-kde/#tty","title":"TTY","text":"

openSUSE \u7684\u56fe\u5f62\u754c\u9762\u5728 TTY3\u3002

\u6309\u4e0b Ctrl + Alt + F1 ~ F9 \u5728\u4e0d\u540c\u7684 TTY \u4e2d\u5207\u6362\u3002

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/5-kde/#_2","title":"\u542f\u52a8\u52a8\u753b","text":"

\u8981\u5173\u95ed\u5e94\u7528\u7684\u542f\u52a8\u52a8\u753b\uff0c\u53ef\u4ee5\u5728 desktop \u6587\u4ef6\u4e2d\u65b0\u589e\uff1aStartupNotify=false\uff0c\u6216\u5728 \u7f16\u8f91\u5e94\u7528\u7a0b\u5e8f > \u5e94\u7528\u7a0b\u5e8f > \u9ad8\u7ea7\u9009\u9879\uff0c\u5173\u95ed \u542f\u7528\u542f\u52a8\u7279\u6548\u3002

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/5-kde/#_3","title":"\u56fe\u6807\u4e3b\u9898","text":"
  • Qogir-cursors-theme
  • Tela-icon-theme
    • \u4f4d\u7f6e\uff1a~/.local/share/icons
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/5-kde/#_4","title":"\u67d0\u4e9b\u5feb\u6377\u952e","text":"
  • \u6740\u6b7b\u7a97\u53e3\uff1aSuper + Ctrl + Esc
  • \u5207\u6362\u7a97\u53e3\uff1aAlt + Tab
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/5-kde/#_5","title":"\u4ee5\u592a\u7f51","text":"

\u65b0\u5efa\u6709\u7ebf\u4ee5\u592a\u7f51\u8fde\u63a5\u65f6\uff0c\u9700\u8981\u5728 \u4ec5\u9650\u4f7f\u7528\u6b64\u8bbe\u5907 \u4e2d\u6307\u5b9a\u8bbe\u5907\uff08enp5s0\uff09\u3002

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/5-kde/#kde_1","title":"KDE \u8bbe\u7f6e","text":"

\u9f20\u6807\u548c\u89e6\u6478\u677f > \u89e6\u6478\u677f\uff1a

  • \u53cd\u5411\u6eda\u52a8\uff08\u81ea\u7136\u6eda\u52a8\uff09

\u952e\u76d8 > \u952e\u76d8\uff1a

  • NumLock \u5728 Plasma \u542f\u7528\u65f6\u7684\u72b6\u6001\uff1a\u6253\u5f00

\u952e\u76d8 > \u865a\u62df\u952e\u76d8\uff1a

  • Fcitx 5

\u58f0\u97f3\uff1a

  • \u9759\u97f3\u9ea6\u514b\u98ce

\u663e\u793a\u548c\u76d1\u89c6\u5668\uff1a

  • \u7f29\u653e\u7387\uff1a150%

\u989c\u8272\u548c\u4e3b\u9898\uff0c\u4fee\u6539\uff1a

  • \u56fe\u6807
  • \u5149\u6807
  • \u6b22\u8fce\u5c4f\u5e55
  • \u767b\u5f55\u5c4f\u5e55

\u58c1\u7eb8\uff1a

  • \u5e7b\u706f\u7247

\u5e38\u89c4\u884c\u4e3a\uff1a

  • \u5355\u51fb\u6587\u4ef6\u6216\u8005\u6587\u4ef6\u5939\u65f6\uff1a\u6253\u5f00

\u9501\u5c4f\uff1a

  • \u81ea\u52a8\u9501\u5b9a\u5c4f\u5e55\uff1a15 \u5206\u949f
  • \u5916\u89c2

\u7528\u6237\u53cd\u9988\uff1a

  • \u7b2c\u56db\u6863

\u65e5\u671f\u548c\u65f6\u95f4\uff1a

  • \u81ea\u52a8\u8bbe\u7f6e\u65e5\u671f\u548c\u65f6\u95f4

\u7535\u6e90\u7ba1\u7406\uff1a

  • \u4ea4\u6d41\u4f9b\u7535\uff1a
  • \u4e0d\u6d3b\u52a8\u4e00\u6bb5\u65f6\u95f4\u540e\uff1a\u65e0\u64cd\u4f5c
  • \u6309\u4e0b\u7535\u6e90\u952e\u65f6\uff1a\u5173\u95ed\u5c4f\u5e55
  • \u5408\u4e0a\u7b14\u8bb0\u672c\u76d6\u65f6\uff1a\u9501\u5c4f
  • \u7535\u6c60\u4f9b\u7535\uff1a
  • \u4e0d\u6d3b\u52a8\u4e00\u6bb5\u65f6\u95f4\u540e\uff1a\u7761\u7720 | 30\u5206\u949f
  • \u6309\u4e0b\u7535\u6e90\u952e\u65f6\uff1a\u606f\u5c4f
  • \u5408\u4e0a\u7b14\u8bb0\u672c\u76d6\u65f6\uff1a\u9501\u5c4f

\u7528\u6237\uff1a

  • \u66f4\u6362\u5934\u50cf

\u81ea\u52a8\u542f\u52a8\uff1a

  • qBittorrent
  • telegram
  • nekoray

\u4f1a\u8bdd > \u684c\u9762\u4f1a\u8bdd\uff1a

  • \u4f4d\u7f6e\uff1a\u5c06\u9ed8\u8ba4\u672a\u77e5\u91cd\u5b9a\u5411\u5230\u5f53\u524d\u6587\u4ef6\u5939
  • \u767b\u5f55\u65f6\u81ea\u52a8\u542f\u52a8\u5e94\u7528\u7a0b\u5e8f\uff1a\u542f\u52a8\u4e3a\u7a7a\u4f1a\u8bdd
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/6-fonts/","title":"\u7528\u6237\u5b57\u4f53","text":"","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/6-fonts/#windows","title":"Windows \u5b57\u4f53\u5305","text":"

\u4e0b\u8f7d\u5730\u5740\uff1aWindows 11 font list

poplar@c004-h1:~/.local/share/fonts> tree\n.\n\u2514\u2500\u2500 win11-fonts-partial\n    \u251c\u2500\u2500 arial\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 arialbd.ttf\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 arialbi.ttf\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 ariali.ttf\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 ARIALNBI.TTF\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 ARIALNB.TTF\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 ARIALNI.TTF\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 ARIALN.TTF\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 arial.ttf\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 ariblk.ttf\n    \u251c\u2500\u2500 jhengHei\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 msjhbd.ttc\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 msjhl.ttc\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 msjh.ttc\n    \u251c\u2500\u2500 times-new-roman\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 timesbd.ttf\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 timesbi.ttf\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 timesi.ttf\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 times.ttf\n    \u251c\u2500\u2500 yahei\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 msyhbd.ttc\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 msyhl.ttc\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 msyh.ttc\n    \u2514\u2500\u2500 zh-sc\n        \u251c\u2500\u2500 Dengb.ttf\n        \u251c\u2500\u2500 Dengl.ttf\n        \u251c\u2500\u2500 Deng.ttf\n        \u251c\u2500\u2500 simfang.ttf\n        \u251c\u2500\u2500 simhei.ttf\n        \u251c\u2500\u2500 simkai.ttf\n        \u251c\u2500\u2500 simsunb.ttf\n        \u2514\u2500\u2500 simsun.ttc\n\n7 directories, 27 files\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/7-re-install/","title":"\u91cd\u88c5","text":"
poplar@c004-h1:~> id\nuid=1000(poplar) gid=1000(poplar) \u7ec4=1000(poplar),108(libvirt),476(flatpak)\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/7-re-install/#_2","title":"\u6587\u4ef6\u5907\u4efd\u6e05\u5355","text":"

\u6ce8\u610f\uff0cGPG \u5bc6\u94a5\u94fe\u9700\u8981\u624b\u52a8\u91cd\u65b0\u5bfc\u5165\u3002

/home/poplar/bin\n/home/poplar/Desktop\n/home/poplar/Documents\n/home/poplar/Downloads\n/home/poplar/Misc\n/home/poplar/Others\n/home/poplar/Pictures\n\n/home/poplar/.config/audacious\n/home/poplar/.config/chromium\n/home/poplar/.config/crow-translate\n/home/poplar/.config/fcitx\n/home/poplar/.config/fcitx5\n/home/poplar/.config/flameshot\n/home/poplar/.config/keepassxc\n/home/poplar/.config/MangoHud\n/home/poplar/.config/mpv\n/home/poplar/.config/pip\n/home/poplar/.config/qBittorrent\n\n/home/poplar/.local/share/applications\n/home/poplar/.local/share/fcitx5\n/home/poplar/.local/share/fonts\n/home/poplar/.local/share/icons\n/home/poplar/.local/share/konsole\n/home/poplar/.local/share/qBittorrent\n/home/poplar/.local/share/Steam\n\n/home/poplar/.steam\n/home/poplar/.var\n\n/home/poplar/.bashrc\n/home/poplar/.gitconfig\n/home/poplar/.steampath\n/home/poplar/.steampid\n\n/home/bt\n/home/swap\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/8-shell-script/","title":"Shell \u811a\u672c\u4e0e\u914d\u7f6e\u6587\u4ef6","text":"

shell \u811a\u672c\u4e00\u822c\u653e\u7f6e\u5728 ~/bin/command

  • \u5728\u5176\u4ed6\u6587\u4ef6\u4e2d\u5df2\u63d0\u53ca\u7684 shell \u811a\u672c\u4e0d\u4f1a\u5728\u6b64\u5904\u5217\u51fa\u3002
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/8-shell-script/#update-code","title":"update-code","text":"
#!/bin/sh\n#\u672c\u811a\u672c\u7528\u4e8e\u66f4\u65b0 VScodium\n\nFILE=/home/poplar/Downloads/VSCodium*.appimage\n\nif [ -f $FILE ]; then\n    rm /home/poplar/bin/codium/vscodium.appimage\n    printf 'Remove the old appimage: OK!\\n'\n    mv /home/poplar/Downloads/VSCodium*.appimage /home/poplar/Downloads/vscodium.appimage\n    mv /home/poplar/Downloads/vscodium.appimage /home/poplar/bin/codium\n    printf 'Update the appimage: OK!\\n'\n\nelse\n    printf 'ERROR: Update files no found!\\n'\nfi\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/8-shell-script/#iso-m","title":"iso-m","text":"
#!/bin/sh\n#\u672c\u811a\u672c\u7528\u4e8e\u4e0b\u8f7d\u3001\u6821\u9a8c\u548c\u5f52\u6863 openSUSE Tumbleweed ISO \u6587\u4ef6\n\nexport ISO_DIR=/home/poplar/Downloads/ISO\nexport ISO_DIR_DL=/home/poplar/Downloads/Aria2\n#\u6587\u4ef6\u76ee\u5f55\n\nDVD_NEW=/home/poplar/Downloads/Aria2/openSUSE-Tumbleweed-DVD-x86_64-Current.iso\nLIVE_NEW=/home/poplar/Downloads/Aria2/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso\nDVD_OLD=/home/poplar/Downloads/ISO/openSUSE-Tumbleweed-DVD-x86_64-Current.iso\nLIVE_OLD=/home/poplar/Downloads/ISO/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso\n#\u8981\u68c0\u6d4b\u7684 ISO \u6587\u4ef6\n\nwhile true; do\n\n    printf -- '-%0.s' {1..100} && echo\n    printf 'You can use the ISO files maintenance script for:\\n\\n'\n    printf '1 - Download openSUSE DVD ISO files\\n'\n    printf '2 - Download openSUSE KDE Live ISO files\\n'\n    printf 'V - Verify New ISO files.\\n'\n    printf 'C - Check old ISO files.\\n'\n    printf 'U - Update ISO files\\n'\n    printf 'Q - End task.\\n\\n'\n    printf '==> '\n    read answer\n\n    #\u4e0b\u8f7d ISO \u6587\u4ef6\n    if [ $answer = 1 ]; then\n        aria2c -d $ISO_DIR_DL -s 16 https://mirror.sjtu.edu.cn/opensuse/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso\n        aria2c -d $ISO_DIR_DL -s 16 https://mirror.sjtu.edu.cn/opensuse/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso.sha256\n        aria2c -d $ISO_DIR_DL -s 16 https://mirror.sjtu.edu.cn/opensuse/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso.sha256.asc\n    elif [ $answer = 2 ]; then\n        aria2c -d $ISO_DIR_DL -s 16 https://mirror.sjtu.edu.cn/opensuse/tumbleweed/iso/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso\n        aria2c -d $ISO_DIR_DL -s 16 https://mirror.sjtu.edu.cn/opensuse/tumbleweed/iso/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso.sha256\n        aria2c -d $ISO_DIR_DL -s 16 https://mirror.sjtu.edu.cn/opensuse/tumbleweed/iso/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso.sha256.asc\n\n    elif [ \"$answer\" = \"V\" ] || [ \"$answer\" = \"v\" ]; then\n    #\u6821\u9a8c\u65b0\u4e0b\u8f7d\u7684 ISO \u6587\u4ef6\n        cd $ISO_DIR_DL\n        if [ -f $DVD_NEW ]; then\n            gpg --verify openSUSE-Tumbleweed-DVD-x86_64-Current.iso.sha256.asc\n            cat openSUSE-Tumbleweed-DVD-x86_64-Current.iso.sha256 | sed 's/openSUSE-Tumbleweed-DVD-x86_64-Snapshot\\(........\\)-Media.iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso/' > temp.sha256\n            sha256sum -c temp.sha256\n            rm temp.sha256\n        else\n            printf 'ERROR: No found new DVD ISO files!\\n'\n        fi\n        printf -- '-%0.s' {1..100} && echo\n        if [ -f $LIVE_NEW ]; then\n            gpg --verify openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso.sha256.asc\n            cat openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso.sha256 | sed 's/openSUSE-Tumbleweed-KDE-Live-x86_64-Snapshot\\(........\\)-Media.iso/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso/' > temp.sha256\n            sha256sum -c temp.sha256\n            rm temp.sha256\n        else\n            printf 'ERROR: No found new Live ISO files!\\n'\n        fi\n\n    elif [ \"$answer\" = \"C\" ] || [ \"$answer\" = \"c\" ]; then\n    #\u6821\u9a8c\u65e7\u7248 ISO \u6587\u4ef6\n        cd $ISO_DIR\n        if [ -f $DVD_OLD ]; then\n            gpg --verify openSUSE-Tumbleweed-DVD-x86_64-Current.iso.sha256.asc\n            cat openSUSE-Tumbleweed-DVD-x86_64-Current.iso.sha256 | sed 's/openSUSE-Tumbleweed-DVD-x86_64-Snapshot\\(........\\)-Media.iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso/' > temp.sha256\n            sha256sum -c temp.sha256\n            rm temp.sha256\n        else\n            printf 'ERROR: No found old DVD ISO files!\\n'\n        fi\n        printf -- '-%0.s' {1..100} && echo\n        if [ -f $LIVE_OLD ]; then\n            gpg --verify openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso.sha256.asc\n            cat openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso.sha256 | sed 's/openSUSE-Tumbleweed-KDE-Live-x86_64-Snapshot\\(........\\)-Media.iso/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso/' > temp.sha256\n            sha256sum -c temp.sha256\n            rm temp.sha256\n        else\n            printf 'ERROR: No found old Live ISO files!\\n'\n        fi\n\n    elif [ \"$answer\" = \"U\" ] || [ \"$answer\" = \"u\" ]; then\n    #\u66f4\u65b0 ISO \u6587\u4ef6\n        if [ -f $DVD_NEW ]; then\n            printf 'Found the new DVD ISO files: OK!\\n'\n            if [ -f $DVD_OLD ]; then\n                rm $ISO_DIR/openSUSE-Tumbleweed-DVD*.*\n                printf 'Delete the old DVD ISO files: OK!\\n'\n            else\n                printf 'ERROR: No found the old DVD ISO files!\\n'\n            fi\n            mv $ISO_DIR_DL/openSUSE-Tumbleweed-DVD*.* $ISO_DIR\n            printf 'Update the DVD ISO files: OK!\\n'\n        else\n            printf 'ERROR: No found the new DVD ISO files!\\n'\n        fi\n        if [ -f $LIVE_NEW ]; then\n            printf 'Found the new Live ISO files: OK!\\n'\n            if [ -f $LIVE_OLD ]; then\n                rm $ISO_DIR/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.*\n                printf 'Delete the old Live ISO files: OK!\\n'\n            else\n                printf 'ERROR: No found the old Live ISO files!\\n'\n            fi\n            mv $ISO_DIR_DL/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.* $ISO_DIR\n            printf 'Update the Live ISO files: OK!\\n'\n        else\n            printf 'ERROR: No found the new Live ISO files!\\n'\n        fi\n\n    elif [ \"$answer\" = \"Q\" ] || [ \"$answer\" = \"q\" ]; then\n        exit\n\n    else\n        printf 'ERROR: Invalid input!\\n'\n        continue\n\n    fi\ndone\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/8-shell-script/#_1","title":"\u914d\u7f6e\u6587\u4ef6","text":"","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/8-shell-script/#git","title":"git","text":"

\u5728 ~/.gitconfig \u4e2d\uff0c\u5199\u5165\uff1a

[user]\n    name = Poplar at twilight\n    email = poplar.cubic@gmail.com\n[http]\n    proxy = http://127.0.0.1:7890\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/8-shell-script/#proxychains-ng","title":"proxychains-ng","text":"

/etc/proxychains.conf\uff1a

quiet_mode\nhttp 127.0.0.1 7890\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/8-shell-script/#python","title":"python","text":"

\u8bbe\u7f6e\u4ee3\u7406\uff08~/.config/pip/pip.conf\uff09\uff1a

[global]\nproxy=http://localhost:7890\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/8-shell-script/#bashrc","title":"bashrc","text":"

~/.bashrc\uff1a

alias ls=\"ls --block-size=KiB --color=auto\"\n#\u4ee5 KiB \u4e3a\u5355\u4f4d\u663e\u793a\u6587\u4ef6\u5927\u5c0f\n\nunset GTK_IM_MODULE\nunset QT_IM_MODULE\n#\u9488\u5bf9 wayland \u4f1a\u8bdd\u7684 Fcitx5 \u73af\u5883\u53d8\u91cf\n\nexport PATH=/home/poplar/.local/bin:/home/poplar/bin:/home/poplar/bin/command:/usr/local/bin:/usr/bin:/bin\n#\u81ea\u5b9a\u4e49 $PATH \u8def\u5f84\n\nexport EDITOR=nano\n#\u5c06\u9ed8\u8ba4\u6587\u672c\u7f16\u8f91\u5668\u6307\u5b9a\u4e3a nano\n\nalias sha256sum-dir=\"find . -type f -exec sha256sum {} \\; > ../checksum.sha256; mv ../checksum.sha256 .; echo 'Complete calculation!'\"\n#\u81ea\u52a8\u8ba1\u7b97\u5f53\u524d\u6587\u4ef6\u5939\u5185\u7684\u5168\u90e8\u6587\u4ef6\u7684\u54c8\u5e0c\uff0c\u5e76\u5c06\u7ed3\u679c\u5199\u5165 sha256 \u6587\u4ef6\n\nalias git-repo-clean=\"git remote prune origin && git repack && git prune-packed && git reflog expire --expire=1.month.ago && git gc --aggressive\"\n#\u6e05\u7406\u5e76\u538b\u7f29 git \u4ed3\u5e93\n\nalias set-proxy=\"export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7890\"\nalias unset-proxy=\"unset http_proxy; unset https_proxy; unset all_proxy\"\n#\u73af\u5883\u53d8\u91cf\u5f00\u5173\n\nalias sudo=\"sudo \"\n#\u5bf9 sudo \u540e\u7684\u5b57\u7b26\u542f\u7528\u522b\u540d\n\nalias pyc=\"proxychains4\"\n#\u66f4\u77ed\u7684\u522b\u540d\n\n#alias dnfx=\"proxychains4 dnf\"\n#alias zypper=\"proxychains4 zypper\"\n#\u5bf9 zypper/dnf \u4f7f\u7528\u4ee3\u7406\n\nalias flatpakx=\"proxychains4 flatpak --user\"\n#\u5bf9 flatpak \u4f7f\u7528\u4ee3\u7406\uff0c\u5e76\u589e\u52a0 --user \u6807\u7b7e\n\nalias pings=\"ping mirror.sjtu.edu.cn -c 6; ping bing.com -c 6; ping 1.1.1.1 -c 6\"\n#\u6d4b\u8bd5\u7f51\u7edc\u8fde\u901a\u6027\n\nalias update=\"sudo zypper ref; sudo zypper lu; flatpakx update\"\n#\u5237\u65b0\u8f6f\u4ef6\u6e90\u5e76\u5217\u51fa\u53ef\u7528\u7684\u66f4\u65b0\n\nalias venv-setup=\"python3 -m venv venv\"\nalias venv=\"source venv/bin/activate\"\n#\u542f\u52a8 python \u5bb9\u5668\u73af\u5883\n\nalias steam-proxy=\"set-proxy; env STEAM_FORCE_DESKTOPUI_SCALING=1.5 steam\"\n#\u8bbe\u7f6e\u4ee3\u7406\uff0c\u5e76\u542f\u52a8 steam\uff081440p\uff09\n\nalias packman-update=\"sudo zypper dup --from packman --allow-vendor-change\"\nalias packman-add=\"sudo zypper ar -cfp 90 https://mirrors.ustc.edu.cn/packman/suse/openSUSE_Tumbleweed/ packman\"\n#packman \u76f8\u5173\u7684\u547d\u4ee4\n\nalias apu-top=\"amdgpu_top --dark --apu\"\nalias gpu-top=\"amdgpu_top --dark --single\"\n#amdgpu_top \u5feb\u6377\u547d\u4ee4\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/8-shell-script/#mangohud-goverlay","title":"mangohud & Goverlay","text":"

\u5bf9\u4e8e steam \u6e38\u620f\uff0c\u4f7f\u7528 mangohud %command%\u3002\u4f7f\u7528\u8bf4\u660e\u8be6\u89c1\uff1aman mangohud

\u6ce8\u610f\uff1a

  1. \u4e0d\u8981\u5728\u6e38\u620f\u542f\u52a8\u65f6\u8ba9 mangohud \u8bfb\u53d6\u6e38\u620f\u7684\u5e73\u5747\u5e27\u548c 1% low \u5e27
  2. \u4f7f\u7528 Goverlay \u65f6\uff0c\u5982\u679c\u6709\u6309\u94ae\u88ab\u906e\u6321\uff0c\u53ef\u4ee5\u628a\u663e\u793a\u5668\u7f29\u653e\u6bd4\u4f8b\u4ece 150% \u8c03\u6574\u4e3a 100%

  3. /home/poplar/.config/MangoHud/MangoHud.conf\uff1a

################### File Generated by Goverlay ###################\nlegacy_layout=false\n\nhorizontal\nbackground_alpha=0.6\nround_corners=0\nbackground_alpha=0.6\nbackground_color=000000\n\nfont_size=24\ntext_color=FFFFFF\nposition=top-left\n\npci_dev=0:03:00.0\ntable_columns=3\ngpu_text=GPU\ngpu_stats\ngpu_load_change\ngpu_load_value=50,90\ngpu_load_color=FFFFFF,FFAA7F,CC0000\ngpu_temp\ngpu_power\ngpu_color=2E9762\ncpu_text=CPU\ncpu_stats\n\ncpu_load_change\ncpu_load_value=50,90\ncpu_load_color=FFFFFF,FFAA7F,CC0000\ncpu_temp\ncpu_color=2E97CB\nswap\nvram\nvram_color=AD64C1\nram\nram_color=C26693\nbattery\nbattery_color=00FF00\nfps\ngpu_name\nvulkan_driver\nframe_timing\nframetime_color=00FF00\nfps_limit_method=late\ntoggle_fps_limit=Shift_L+F1\n\nfps_limit=0\n#offset=0\n\n\n\n\n\ntime#\n\n\noutput_folder=/home/poplar\nlog_duration=30\nautostart_log=0\nlog_interval=100\ntoggle_logging=Shift_L+F2\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/9-swapfile-on-btrfs/","title":"\u5728 btrfs \u6587\u4ef6\u7cfb\u7edf\u4e0a\u4f7f\u7528 swapfile","text":"

\u6839\u636e Swapfile - BTRFS documentation\uff0c\u5148\u5728 /home \u4e0b\u65b0\u5efa\u4e00\u4e2a swap \u6587\u4ef6\u5939\u3002

\u521b\u5efa swapfile\uff1a

sudo btrfs filesystem mkswapfile --size 4G /home/swap/swapfile\n

\u7136\u540e\u542f\u7528 swapfile\uff1a

sudo swapon /home/swap/swapfile\n

\u67e5\u770b\u6b63\u5728\u4f7f\u7528\u7684 swapfile\uff1a

sudo swapon -s\n

\u5173\u95ed\u7279\u5b9a\u7684 swapfile\uff1a

sudo swapoff /home/swap/swapfile\n

\u5c06 swapfile \u6dfb\u52a0\u5230 /etc/fstab\uff1a

/home/swap/swapfile                        none                    swap   defaults                      0  0\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"blog/archive/2024/","title":"2024","text":""},{"location":"blog/archive/2023/","title":"2023","text":""},{"location":"blog/category/%E5%8D%9A%E5%AE%A2/","title":"\u535a\u5ba2","text":""},{"location":"tags/","title":"\u6807\u7b7e\u5bfc\u822a","text":""},{"location":"tags/#bash","title":"Bash","text":"
  • \u5b9a\u4e49
  • Shell \u8bed\u6cd5
"},{"location":"tags/#epub","title":"Epub","text":"
  • \u4f7f\u7528 Pandoc \u5236\u4f5c\u7b80\u6613\u7684 Epub \u7535\u5b50\u4e66
"},{"location":"tags/#gpg","title":"GPG","text":"
  • .gpg\u3001.sig \u548c *.asc \u6587\u4ef6\u7684\u533a\u522b
"},{"location":"tags/#kvm","title":"KVM","text":"
  • KVM \u5907\u5fd8\u5f55
"},{"location":"tags/#linux","title":"Linux","text":"
  • \u6df7\u4e71\u7684\u8ba1\u91cf\u5355\u4f4d
  • \u68c0\u67e5\u7cfb\u7edf\u4fe1\u606f
  • \u6587\u4ef6\u7cfb\u7edf\u3001\u6587\u4ef6\u6240\u6709\u6743\u53ca\u6587\u4ef6\u6743\u9650
  • .gpg\u3001.sig \u548c *.asc \u6587\u4ef6\u7684\u533a\u522b
  • KVM \u5907\u5fd8\u5f55
  • \u5b9a\u4e49
  • Shell \u8bed\u6cd5
  • \u5b89\u88c5\u4e0e\u4f7f\u7528 aria2
  • \u5173\u4e8e
  • \u51c6\u5907\u5de5\u4f5c
  • \u5b89\u88c5\u7cfb\u7edf
  • \u521d\u6b21\u542f\u52a8
  • \u8f6f\u4ef6\u5305
  • KDE \u76f8\u5173
  • \u7528\u6237\u5b57\u4f53
  • \u91cd\u88c5
  • Shell \u811a\u672c\u4e0e\u914d\u7f6e\u6587\u4ef6
  • \u5728 btrfs \u6587\u4ef6\u7cfb\u7edf\u4e0a\u4f7f\u7528 swapfile
"},{"location":"tags/#minecraft","title":"Minecraft","text":"
  • \u5728 openSUSE \u4e0a\u6e38\u73a9 Minecraft
"},{"location":"tags/#pandoc","title":"Pandoc","text":"
  • Pandoc\u2019s Markdown spec
  • \u4f7f\u7528 Pandoc \u5236\u4f5c\u7b80\u6613\u7684 Epub \u7535\u5b50\u4e66
"},{"location":"tags/#peerbanhelper","title":"PeerBanHelper","text":"
  • qBittorrent & PeerBanHelper \u914d\u7f6e\u5907\u5fd8\u5f55
"},{"location":"tags/#rss","title":"RSS","text":"
  • \u300e\u7ed9 RSS \u7231\u597d\u8005\u4eec\u7684\u4e00\u5c01\u4fe1\u300f\u4e3a\u4ec0\u4e48\u6211\u4eec\u5e94\u8be5\u63d0\u9ad8 RSS \u5237\u65b0\u95f4\u9694\uff1f
"},{"location":"tags/#windows","title":"Windows","text":"
  • KVM \u5907\u5fd8\u5f55
  • Windows 11 \u5b89\u88c5\u4e0e\u914d\u7f6e
  • \u5d4c\u5165\u5f0f python
"},{"location":"tags/#aria2","title":"aria2","text":"
  • \u5b89\u88c5\u4e0e\u4f7f\u7528 aria2
"},{"location":"tags/#markdown","title":"markdown","text":"
  • \u4f7f\u7528 Pandoc \u5236\u4f5c\u7b80\u6613\u7684 Epub \u7535\u5b50\u4e66
"},{"location":"tags/#opencc","title":"openCC","text":"
  • \u4f7f\u7528 OpenCC \u8fdb\u884c\u7b80\u7e41\u4e2d\u6587\u8f6c\u6362
"},{"location":"tags/#opensuse","title":"openSUSE","text":"
  • \u5728 openSUSE \u4e0a\u6e38\u73a9 Minecraft
"},{"location":"tags/#python","title":"python","text":"
  • \u5d4c\u5165\u5f0f python
"},{"location":"tags/#qbittorrent","title":"qBittorrent","text":"
  • \u5916\u7ad9\u94fe\u63a5
  • qBittorrent \u53c2\u6570\u8be6\u7ec6\u8bbe\u7f6e\u6559\u7a0b
  • qBittorrent & PeerBanHelper \u914d\u7f6e\u5907\u5fd8\u5f55
"},{"location":"tags/#shell","title":"shell","text":"
  • \u6df7\u4e71\u7684\u8ba1\u91cf\u5355\u4f4d
  • \u68c0\u67e5\u7cfb\u7edf\u4fe1\u606f
"},{"location":"tags/#_2","title":"\u52a8\u6f2b","text":"
  • \u5f71\u89c6&\u756a\u5267\u8bb0\u5f55\u5355
"},{"location":"tags/#_3","title":"\u6559\u7a0b","text":"
  • qBittorrent \u53c2\u6570\u8be6\u7ec6\u8bbe\u7f6e\u6559\u7a0b
  • \u4f7f\u7528 Pandoc \u5236\u4f5c\u7b80\u6613\u7684 Epub \u7535\u5b50\u4e66
"},{"location":"tags/#_4","title":"\u6587\u4ef6\u7cfb\u7edf","text":"
  • \u6587\u4ef6\u7cfb\u7edf\u3001\u6587\u4ef6\u6240\u6709\u6743\u53ca\u6587\u4ef6\u6743\u9650
"},{"location":"tags/#_5","title":"\u663e\u5361","text":"
  • \u6e38\u620f\u753b\u9762\u8bbe\u7f6e\u53c2\u8003
"},{"location":"tags/#_6","title":"\u6742\u8c08","text":"
  • Pandoc\u2019s Markdown spec
  • Windows 11 \u5b89\u88c5\u4e0e\u914d\u7f6e
  • \u5f71\u89c6&\u756a\u5267\u8bb0\u5f55\u5355
  • \u5b89\u88c5\u4e0e\u4f7f\u7528 aria2
  • \u6e38\u620f\u753b\u9762\u8bbe\u7f6e\u53c2\u8003
  • \u4f7f\u7528 Pandoc \u5236\u4f5c\u7b80\u6613\u7684 Epub \u7535\u5b50\u4e66
  • \u4f7f\u7528 OpenCC \u8fdb\u884c\u7b80\u7e41\u4e2d\u6587\u8f6c\u6362
  • \u5728 openSUSE \u4e0a\u6e38\u73a9 Minecraft
  • \u5d4c\u5165\u5f0f python
  • qBittorrent & PeerBanHelper \u914d\u7f6e\u5907\u5fd8\u5f55
"},{"location":"tags/#_7","title":"\u7535\u5f71","text":"
  • \u5f71\u89c6&\u756a\u5267\u8bb0\u5f55\u5355
"},{"location":"tags/#_8","title":"\u7ad9\u52a1","text":"
  • \u5173\u4e8e\u6211
  • \u5173\u4e8e\u53cb\u94fe
  • \u5173\u4e8e\u8bb8\u53ef\u8bc1 About Licenses
"},{"location":"tags/#_9","title":"\u7ad9\u5916\u6587\u6863","text":"
  • \u5916\u7ad9\u94fe\u63a5
  • qBittorrent \u53c2\u6570\u8be6\u7ec6\u8bbe\u7f6e\u6559\u7a0b
  • \u300e\u7ed9 RSS \u7231\u597d\u8005\u4eec\u7684\u4e00\u5c01\u4fe1\u300f\u4e3a\u4ec0\u4e48\u6211\u4eec\u5e94\u8be5\u63d0\u9ad8 RSS \u5237\u65b0\u95f4\u9694\uff1f
"},{"location":"tags/#_10","title":"\u7b14\u8bb0","text":"
  • Pandoc\u2019s Markdown spec
  • \u5173\u4e8e
  • \u51c6\u5907\u5de5\u4f5c
  • \u5b89\u88c5\u7cfb\u7edf
  • \u521d\u6b21\u542f\u52a8
  • \u8f6f\u4ef6\u5305
  • KDE \u76f8\u5173
  • \u7528\u6237\u5b57\u4f53
  • \u91cd\u88c5
  • Shell \u811a\u672c\u4e0e\u914d\u7f6e\u6587\u4ef6
  • \u5728 btrfs \u6587\u4ef6\u7cfb\u7edf\u4e0a\u4f7f\u7528 swapfile
"},{"location":"tags/#_11","title":"\u8d44\u6599\u5e93","text":"
  • \u6df7\u4e71\u7684\u8ba1\u91cf\u5355\u4f4d
  • \u68c0\u67e5\u7cfb\u7edf\u4fe1\u606f
  • \u6587\u4ef6\u7cfb\u7edf\u3001\u6587\u4ef6\u6240\u6709\u6743\u53ca\u6587\u4ef6\u6743\u9650
  • .gpg\u3001.sig \u548c *.asc \u6587\u4ef6\u7684\u533a\u522b
  • KVM \u5907\u5fd8\u5f55
  • \u5b9a\u4e49
  • Shell \u8bed\u6cd5
"}]} \ No newline at end of file +{"config":{"lang":["en"],"separator":"[\\s\\u200b\\u3000\\-\u3001\u3002\uff0c\uff0e\uff1f\uff01\uff1b]+","pipeline":["stemmer"]},"docs":[{"location":"","title":"\u4e00\u4f4d openSUSE \u7528\u6237\u7684\u4e2a\u4eba\u7ad9\u70b9","text":"

source\uff1a\ud83d\udc9d\ud83d\udc9d\ud83d\udc9d by toto, x.com

\u8fd9\u662f\u4e00\u4f4d openSUSE \u7528\u6237\u642d\u5efa\u7684\u4e2a\u4eba\u7f51\u7ad9\uff0c\u4e3b\u8981\u5305\u542b\u4e00\u4e9b\u8bf4\u660e\u6587\u6863\u548c\u5907\u5fd8\u5f55\u3001\u968f\u7b14\u6742\u8c08\u548c\u4e00\u70b9\u6709\u8da3\u7684\u4e1c\u897f\u3002

  • \u5176\u4ed6\uff1aRSS\u3001GitHub Pages \u955c\u50cf\u3001\u6807\u7b7e\u5730\u56fe & \u670b\u53cb\u4eec
  • \u8bb8\u53ef\u8bc1\u6e05\u5355\u8be6\u89c1\u6b64\u5904\u3002\u6b22\u8fce\u63d0\u4ea4 PR \u6216 issue \u4ee5\u534f\u52a9\u6539\u8fdb\u7ad9\u70b9\u5185\u5bb9\u3002See here for a list of licenses. Feel free to submit PR or issue to help improve site content.
  • This work by Poplar.at.twilight is licensed under CC BY-SA 4.0

"},{"location":"about/about-me/","title":"\u5173\u4e8e\u6211","text":"

\u6211\u662f Poplar at twilight (zh-Hans: \u66ae\u5149\u7684\u767d\u6768)\uff0c\u4f60\u53ef\u4ee5\u7b80\u79f0\u6211\u4e3a\u767d\u6768\uff08en: Poplar\uff09\u3002\u6211\u5e38\u7528 openSUSE Tumbleweed\uff0c\u5076\u5c14\u4f1a\u4f7f\u7528 Fedora\u3002

","tags":["\u7ad9\u52a1"]},{"location":"about/about-me/#openpgp","title":"OpenPGP \u516c\u94a5","text":"

\u4f60\u53ef\u4ee5\u5728\u6b64\u5904\u4e0b\u8f7d\u516c\u94a5\u3002

  • PGP \u6307\u7eb9\uff1a2B42 9BB9 098D 7B21 8ECB D4DA F8FA E5B1 001E FE63
","tags":["\u7ad9\u52a1"]},{"location":"about/friends/","title":"\u5173\u4e8e\u53cb\u94fe","text":"

\u5982\u679c\u4f60\u60f3\u51fa\u73b0\u5728\u6b64\u9875\u9762\u4e2d\uff0c\u4f60\u53ef\u4ee5\u5411\u535a\u5ba2\u7684\u6e90\u4ee3\u7801\u4ed3\u5e93\u63d0\u4ea4 PR \u6216\u8005 issue\u3002\u5982\u679c\u4f60\u8981\u5c06\u6211\u7684\u7f51\u7ad9\u6dfb\u52a0\u81f3\u53cb\u94fe\u4e2d\uff0c\u53c2\u8003\u4fe1\u606f\u5982\u4e0b\uff1a

  • \u672c\u7ad9\u70b9\u6807\u9898\uff1a\u767d\u6768\u7684\u6587\u6863\u7ad9
  • \u672c\u4eba\u7684\u79f0\u547c\uff1a\u66ae\u5149\u7684\u767d\u6768
  • GitHub\uff1ahttps://github.com/poplar-at-twilight
  • \u94fe\u63a5: https://whiteboard-ui8.pages.dev/
  • \u5934\u50cf: \u70b9\u6b64\u4e0b\u8f7d
  • \u7b80\u4ecb: \u8d5b\u535a\u9690\u58eb

\u6ce8\u610f

  1. \u5982\u679c\u4f60\u6ca1\u6709\u63d0\u4f9b\u81ea\u6211\u4ecb\u7ecd\u7684\u63cf\u8ff0\uff0c\u90a3\u6211\u5c06\u76f4\u63a5\u5728\u4f7f\u7528\u4f60\u5728\u4f60\u7684\u4e2a\u4eba\u7f51\u7ad9\u7684\u6240\u5199\u7684\u7b80\u4ecb\u8d44\u6599\u3002
  2. \u5982\u679c\u4f60\u6ca1\u6709\u63d0\u4f9b\u5934\u50cf\uff0c\u90a3\u6211\u5c06\u4f9d\u6b21\u67e5\u8be2\u4f60\u7684 Github/Gitlab \u8d26\u6237\u5934\u50cf\u3001TG \u7528\u6237\u5934\u50cf\u548c\u793e\u4ea4\u5a92\u4f53\u5934\u50cf\u3002\u76f4\u5230\u627e\u5230\u53ef\u7528\u975e\u9ed8\u8ba4\u5934\u50cf\u3002

\u8fd9\u91cc\u662f\u670b\u53cb\u4eec\u7684\u535a\u5ba2\u94fe\u63a5\uff1a

\u5934\u50cf \u79f0\u8c13 \u4e2a\u4eba\u535a\u5ba2/\u7ad9\u70b9\u94fe\u63a5 \u81ea\u6211\u7b80\u4ecb ImBearChild https://imbearchild.cyou/ \u559c\u6b22\u732b\u732b\u7684\u6280\u672f\u7231\u597d\u8005\uff0copenSUSE \u4e2d\u6587\u793e\u533a\u65b0\u95fb\u7f51\u7ad9\u7ef4\u62a4\u8005\u4e4b\u4e00\u3002 \u7af9\u6797\u91cc\u6709\u51b0 https://zhul.in/ Fedora \u7528\u6237\uff0c\u4f46\u540c\u65f6\u4e5f\u5728\u7ef4\u62a4\u67d0\u4e9b AUR \u7684\u5305\uff0cdipper \u673a\u578b\u7684 crDroid Official Maintainer\u3002 \u6768\u8559\u82b7 https://qvshuo.art/ \u5982\u679c\u6709\u4eba\u6b3a\u8d1f\u4f60\u5462\uff0c\u5c31\u62a5\u6211\u7684\u540d\u5b57\u3002 Karuboniru https://yanqiyu.info \u5c31\u662f\u4e2a\u5b66\u7269\u7406\u7684\uff0c\u61c2\u4e2a\u5c41\u7684\u8ba1\u7b97\u673a\u3002 \u4e00\u5ea7\u6865\u5728\u6c34\u4e0a https://blog.othing.xyz/ \u6211\u60f3\u51bb\u4f4f--\u6211\u7684\u6240\u89c1\uff0c\u6240\u542c\uff0c\u6240\u60f3\u4ed6\u4eba\u6240\u5199\uff0c\u6240\u521b\u9020\u81ea\u7136\u6240\u53d8\uff0c\u6240\u706d\u51bb\u4f4f\u4e16\u754c\uff0c\u51bb\u4f4f\u65f6\u95f4\uff0c\u51bb\u4f4f\u672c\u5c31\u5b58\u5728\u7684\u4e00\u5207\uff01 Blockcity https://ratizux.github.io/about/ Ratizux by Blockcity. \u4f7f\u7528 Markdown","tags":["\u7ad9\u52a1"]},{"location":"about/license/","title":"\u5173\u4e8e\u8bb8\u53ef\u8bc1 About Licenses","text":"","tags":["\u7ad9\u52a1"]},{"location":"about/license/#basic-components","title":"\u57fa\u7840\u90e8\u4ef6 Basic components","text":"
  • \u5982\u679c\u6ca1\u6709\u7279\u522b\u58f0\u660e\uff0c\u672c\u7ad9\u70b9\u7684\u6240\u6709\u6587\u7ae0\u90fd\u662f\u57fa\u4e8e CC-BY-SA 4.0 \u8fdb\u884c\u5206\u53d1\u6388\u6743\u3002Unless otherwise stated, all articles on this site are distributed under CC-BY-SA 4.0 license.
  • \u642d\u5efa\u6b64\u535a\u5ba2\u6240\u4f7f\u7528\u7684 Mkdocs \u57fa\u4e8e BSD-2-Clause License \u8fdb\u884c\u6388\u6743\u5206\u53d1\u3002The Mkdocs used to build this blog are licensed and distributed under the BSD-2-Clause License.
  • \u642d\u5efa\u6b64\u535a\u5ba2\u6240\u4f7f\u7528\u7684\u4e3b\u9898 mkdocs-material \u57fa\u4e8e MIT License \u8fdb\u884c\u5206\u53d1\u3002The theme mkdocs-material used to build this blog is distributed under the MIT License.
","tags":["\u7ad9\u52a1"]},{"location":"about/license/#others","title":"\u5176\u4ed6 Others","text":"
  • \u5f52\u6863\u5206\u7c7b\u7684\u6587\u6863\u7684\u8bb8\u53ef\u4fe1\u606f\u9700\u8981\u5728\u6587\u672b\u5355\u72ec\u4e00\u4e00\u8bf4\u660e\uff0c\u4e14\u4e0d\u518d\u6b64\u5904\u91cd\u590d\u58f0\u660e\u3002The license information of archived classified documents needs to be stated separately at the end of the article and will not be repeated here.
","tags":["\u7ad9\u52a1"]},{"location":"archives/about/","title":"\u5173\u4e8e","text":"

\u6ce8\u610f

\u9ed8\u8ba4\u4e0d\u6536\u5f55\u5907\u4efd\u7248\u6743\u6240\u6709\u6216\u4e0d\u5141\u8bb8\u4e8c\u6b21\u8f6c\u8f7d\u7684\u5185\u5bb9\u3002

\u6b64\u5206\u7c7b\u7528\u4e8e\u5f52\u6863\u5907\u4efd\u6765\u81ea\u5916\u90e8\u7ad9\u70b9\u7684\u6587\u7ae0/\u6587\u6863/\u6742\u8c08\u7b49\u5185\u5bb9\uff0c\u4ee5\u53ca\u4e00\u4e2a\u5b9e\u7528\u6587\u6863/\u7ad9\u70b9\u7684\u8df3\u8f6c\u94fe\u63a5\u5217\u8868\u3002

"},{"location":"archives/external-index/","title":"\u5916\u7ad9\u94fe\u63a5","text":"

\u4e00\u4e9b\u6709\u7528\u7684\u5916\u90e8\u7ad9\u70b9\u3002

","tags":["qBittorrent","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/external-index/#_2","title":"\u7f51\u7ad9","text":"
  • PCGameWiki \u6e38\u620f\u6982\u89c8\u4fe1\u606f wiki\uff0c\u53ef\u7528\u4e8e\u67e5\u8be2\u5206\u8fa8\u7387\u3001HDR \u652f\u6301\u548c DRM \u4fdd\u62a4\u4fe1\u606f\u7b49\u5185\u5bb9\u3002
  • \u521d\u4e4b\u56fe\u5e93 \u8be5\u56fe\u5e93\u4fdd\u5b58\u4e86\u7409\u7483\u795e\u793e\u7684\u6bcf\u6708\u58c1\u7eb8\u5305\u3002
  • XIU2/TrackersListCollection \u6bcf\u5929\u66f4\u65b0\uff01\u5168\u7f51\u70ed\u95e8 BitTorrent Tracker \u5217\u8868\uff01 \u540c\u65f6\u5305\u542b\u4e86\u5bf9\u4e8e tracker \u548c BT \u7684\u4ecb\u7ecd\u3002
  • \u4e2d\u6587\u535a\u5ba2\u805a\u5408\u8ba2\u9605 \u7531 Save The Web \u642d\u5efa\u7684\u4e2d\u6587\u72ec\u7acb\u535a\u5ba2 RSS \u8ba2\u9605\u3002
  • \u4e2d\u56fd\u79d1\u6280\u5927\u5b66\u6d4b\u901f\u7f51\u7ad9
  • FreeDict Forum \u8bcd\u5178\u7231\u597d\u8005\u4e4b\u5bb6
  • Simplify Your computer Usage \u5b9e\u7528\u7684 Windows \u5c0f\u5de5\u5177
","tags":["qBittorrent","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/external-index/#_3","title":"\u4e2a\u4eba\u535a\u5ba2","text":"
  • \u4f9d\u4e91's Blog
  • Farseerfc \u7684\u5c0f\u7aa9
  • Houge's Madness Blog
","tags":["qBittorrent","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/pandoc%27s-markdwon-spec/","title":"Pandoc\u2019s Markdown spec","text":"
  • \u6e90\u6587\uff1aPandoc\u2019s Markdown
  • \u4f5c\u8005\uff1aJohn MacFarlane
  • \u8bb8\u53ef\u8bc1\uff1aGPL-v2
  • \u8bd1\u8005\uff1a\u66ae\u5149\u7684\u767d\u6768
  • \u66f4\u65b0\u65e5\u671f\uff1a2024-02

\u6ce8\u610f

\u6b64\u6587\u6863\u4ecd\u672a\u7ffb\u8bd1\u5b8c\u3002

Pandoc \u80fd\u89e3\u6790 John Gruber \u7684 Markdown \u8bed\u6cd5\u7684\u4e00\u4e2a\u6269\u5c55\u548c\u8f7b\u5ea6\u4fee\u6539\u7248\u672c\u3002\u672c\u6587\u6863\u89e3\u91ca\u4e86\u8bed\u6cd5\uff0c\u5e76\u6307\u51fa\u4e86\u4e0e\u539f\u59cb Markdown \u7684\u4e0d\u540c\u4e4b\u5904\u3002\u9664\u7279\u522b\u8bf4\u660e\u5916\uff0c\u8fd9\u4e9b\u5dee\u5f02\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528 markdown_strict \u683c\u5f0f\u800c\u4e0d\u662f markdown \u6765\u6291\u5236\u3002\u4f60\u53ef\u4ee5\u542f\u7528\u6216\u7981\u7528\u6269\u5c55\u4ee5\u66f4\u7cbe\u7ec6\u5730\u6307\u5b9a\u884c\u4e3a\u3002\u5b83\u4eec\u5c06\u5728\u540e\u6587\u8be6\u8ff0\u3002\u6b64\u5916\uff0c\u8bf7\u53c2\u9605\u4e0a\u9762\u7684\u6269\u5c55\uff0c\u4e86\u89e3\u4e5f\u9002\u7528\u4e8e\u5176\u4ed6\u683c\u5f0f\u7684\u6269\u5c55\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_1","title":"\u5de5\u4f5c\u51c6\u5219","text":"

Markdown \u65e8\u5728\u6613\u4e8e\u7f16\u5199\uff0c\u66f4\u91cd\u8981\u7684\u662f\u6613\u4e8e\u9605\u8bfb\uff1a

\u4e00\u4e2a Markdown \u683c\u5f0f\u7684\u6587\u6863\u5e94\u5f53\u80fd\u4ee5\u7eaf\u6587\u672c\u7684\u5f62\u5f0f\u53d1\u5e03\uff0c\u800c\u4e0d\u4f1a\u770b\u8d77\u6765\u50cf\u88ab\u6807\u8bb0\u4e86\u6807\u7b7e\u6216\u683c\u5f0f\u8bf4\u660e\u3002 \u2014 John Gruber

\u8fd9\u4e00\u51c6\u5219\u6307\u5bfc\u4e86 pandoc \u5728\u5bfb\u627e\u8868\u683c\u3001\u811a\u6ce8\u548c\u5176\u4ed6\u6269\u5c55\u7684\u8bed\u6cd5\u65b9\u9762\u7684\u51b3\u5b9a\u3002

\u7136\u800c\uff0cpandoc \u7684\u76ee\u6807\u5728\u4e00\u4e2a\u65b9\u9762\u4e0e Markdown \u7684\u6700\u521d\u76ee\u6807\u4e0d\u540c\u3002Markdown \u6700\u521d\u662f\u4e3a HTML \u751f\u6210\u800c\u8bbe\u8ba1\u7684\uff0c\u800c pandoc \u662f\u4e3a\u591a\u79cd\u8f93\u51fa\u683c\u5f0f\u800c\u8bbe\u8ba1\u7684\u3002\u56e0\u6b64\uff0c\u867d\u7136 pandoc \u5141\u8bb8\u5d4c\u5165\u539f\u59cb HTML\uff0c\u4f46\u5b83\u4e0d\u9f13\u52b1\u8fd9\u6837\u505a\uff0c\u800c\u662f\u63d0\u4f9b\u4e86\u5176\u4ed6\u975e HTML \u7684\u65b9\u5f0f\u6765\u8868\u793a\u91cd\u8981\u7684\u6587\u6863\u5143\u7d20\uff0c\u5982\u5b9a\u4e49\u5217\u8868\uff08definition list\uff09\u3001\u8868\u683c\u3001\u6570\u5b66\u548c\u811a\u6ce8\uff08footnote\uff09\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_2","title":"\u6bb5\u843d","text":"

\u6bb5\u843d\uff08paragraph\uff09\u662f\u4e00\u884c\u6216\u591a\u884c\u6587\u672c\uff0c\u540e\u8ddf\u4e00\u4e2a\u6216\u591a\u4e2a\u7a7a\u884c\u3002\u6362\u884c\u7b26\uff08newline\uff09\u88ab\u89c6\u4e3a\u7a7a\u683c\uff0c\u56e0\u6b64\u4f60\u53ef\u4ee5\u6839\u636e\u9700\u8981\u91cd\u6392\u6bb5\u843d\u3002\u5982\u679c\u4f60\u9700\u8981\u786c\u6362\u884c\uff0c\u8bf7\u5728\u884c\u5c3e\u653e\u7f6e\u4e24\u4e2a\u6216\u66f4\u591a\u7a7a\u683c\u3002

  • \u6269\u5c55\uff1aescaped_line_breaks

\u53cd\u659c\u6760\uff08backslash\uff0c\\\uff09\u540e\u8ddf\u6362\u884c\u7b26\u4e5f\u662f\u786c\u6362\u884c\u7b26\uff08hard line break\uff09\u3002\u6ce8\u610f\uff1a\u5728\u591a\u884c\u548c\u7f51\u683c\u8868\u7684\u5355\u5143\u683c\u4e2d\uff0c\u8fd9\u662f\u521b\u5efa\u786c\u6362\u884c\u7b26\u7684\u552f\u4e00\u65b9\u6cd5\uff0c\u56e0\u4e3a\u5355\u5143\u683c\u4e2d\u5c3e\u968f\u7684\u7a7a\u683c\u5c06\u88ab\u5ffd\u7565\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_3","title":"\u6807\u9898","text":"

\u6709\u4e24\u79cd\u7c7b\u578b\u7684\u6807\u9898\uff08Heading\uff09\uff1aSetext \u548c ATX\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#setext","title":"Setext \u5f0f\u6807\u9898","text":"

Setext \u98ce\u683c\u7684\u6807\u9898\u662f\u4e00\u884c\u5e26\u6709\u201c\u4e0b\u5212\u7ebf\u201d\u7684\u6587\u672c\u3002\u8fd9\u4e2a\u201c\u4e0b\u5212\u7ebf\u201d\u7531 = \u6216 - \uff08\u7528\u4e8e\u4e8c\u7ea7\u6807\u9898\uff09\u7b26\u53f7\u6784\u6210

\u4e00\u7ea7\u6807\u9898\n========\n\n\u4e8c\u7ea7\u6807\u9898\n--------\n

\u6807\u9898\u6587\u672c\u53ef\u4ee5\u5305\u542b\u5185\u8054\u683c\u5f0f\uff08inline formatting\uff09\uff0c\u4f8b\u5982\u5f3a\u8c03\uff08\u8bf7\u53c2\u9605\u4e0b\u9762\u7684\u5185\u8054\u683c\u5f0f\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#atx","title":"ATX \u5f0f\u6807\u9898","text":"

ATX \u98ce\u683c\u7684\u6807\u9898\u7531\u4e00\u5230\u516d\u4e2a # \u7b26\u53f7\u548c\u4e00\u884c\u6587\u672c\u7ec4\u6210\uff0c\u6587\u672c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u4efb\u610f\u6570\u91cf\u7684 # \u7b26\u53f7\u3002\u884c\u9996\u7684 # \u6570\u91cf\u4e3a\u6807\u9898\u7ea7\u522b\uff1a

# \u4e00\u7ea7\u6807\u9898\n\n## \u4e8c\u7ea7\u6807\u9898 ###\n

\u4e0e Setext \u5f0f\u6807\u9898\u76f8\u540c\uff0cATX \u5f0f\u6807\u9898\u4e5f\u53ef\u4ee5\u4f7f\u7528\u5185\u8054\u683c\u5f0f\uff1a

### \u5e26\u6709[\u94fe\u63a5](/url)\u548c\u5f3a\u8c03\u7684\u4e09\u7ea7**\u6807\u9898**\n
  • \u6269\u5c55\uff1ablank_before_header

\u539f\u59cb\u7684 Markdown \u8bed\u6cd5\u4e0d\u9700\u8981\u5728\u6807\u9898\u524d\u7a7a\u4e00\u884c\u3002\uff08\u9664\u4e86\u5728\u6587\u6863\u5f00\u5934\u7684\u6807\u9898\u4e4b\u5916\uff0c\uff09Pandoc \u8981\u6c42\u6807\u9898\u524d\u8981\u6709\u7a7a\u884c\u3002\u4e4b\u6240\u4ee5\u6709\u6b64\u8981\u6c42\uff0c\u662f\u56e0\u4e3a # \u5f88\u5bb9\u6613\u610f\u5916\u51fa\u73b0\u5728\u884c\u9996\uff08\u53ef\u80fd\u662f\u901a\u8fc7\u6362\u884c\uff09\u3002\u4f8b\u5982

\u8bf7\u63d2\u5165\u4ee5\u4e0b\u5361\u7247\uff1a\n#4 \u5361\u7247\u3001#9 \u5361\u7247\u3001\u2026\u2026\n
  • \u6269\u5c55\uff1aspace_in_atx_header

\u5982\u4e0a\uff0c\u8bb8\u591a Markdown \u5b9e\u73b0\u4e0d\u9700\u8981 ATX \u6807\u9898\u5f00\u5934\u7684 # \u548c\u6807\u9898\u6587\u672c\u4e4b\u95f4\u6709\u7a7a\u683c\uff0c\u56e0\u6b64 #4 \u5361\u7247 \u4f1a\u88ab\u9519\u8bef\u5730\u89e3\u6790\u4e3a\u6807\u9898\u3002\u4e3a\u6b64\uff0cpandoc \u901a\u8fc7\u6b64\u6269\u5c55\u8981\u6c42\u6807\u9898\u5f00\u5934\u7684 # \u548c\u6807\u9898\u6587\u672c\u4e4b\u95f4\u8981\u6709\u7a7a\u683c\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#identifiers","title":"\u6807\u9898\u6807\u8bc6\u7b26","text":"

\u53e6\u89c1\u4e0a\u6587\u7684 auto_identifiers \u6269\u5c55\u3002

  • \u6269\u5c55\uff1aheader_attributes

\u4f7f\u7528\u6b64\u8bed\u6cd5\uff0c\u4f60\u53ef\u4ee5\u5728\u6807\u9898\u6587\u672c\u7684\u672b\u5c3e\u4e3a\u6807\u9898\u5206\u914d\u5c5e\u6027\u3002

{#identifier .class .class key=value key=value}\n

\u4f8b\u5982\uff0c\u5c06\u6807\u9898\u6807\u8bc6\u7b26\uff08Heading identifier\uff09 foo \u5206\u914d\u7ed9\u4ee5\u4e0b\u5168\u90e8\u6807\u9898\u3002

# \u4e00\u7ea7\u6807\u9898 {#foo}\n\n## \u4e8c\u7ea7\u6807\u9898 ##    {#foo}\n\n\u6f14\u793a\u6587\u672c   {#foo}\n-------\n

\uff08\u6b64\u8bed\u6cd5\u4e0e PHP Markdown Extra \u517c\u5bb9\u3002\uff09

\u8bf7\u6ce8\u610f\uff0c\u5c3d\u7ba1\u6b64\u8bed\u6cd5\u5141\u8bb8\u5206\u914d class\uff08\u7c7b\uff09\u3001key/value\uff08\u952e/\u503c\uff09\u5c5e\u6027\uff0c\u4f46\u7f16\u5199\u5668\uff08writer\uff09\u901a\u5e38\u4e0d\u4f1a\u4f7f\u7528\u6240\u6709\u8fd9\u4e9b\u4fe1\u606f\u3002\u6807\u8bc6\u7b26\uff08identifier\uff09\u3001class\u3001key/value \u5c5e\u6027\u7528\u4e8e HTML \u548c\u57fa\u4e8e HTML \u7684\u683c\u5f0f\uff0c\u4f8b\u5982 EPUB \u548c slidy\u3002\u6807\u8bc6\u7b26\u7528\u4e8e LaTeX\u3001ConTeXt\u3001Textile\u3001Jira markup \u548c AsciiDoc \u7f16\u5199\u5668\u4e2d\u7684\u6807\u7b7e\uff08label\uff09\u548c\u94fe\u63a5\u951a\u70b9\uff08link anchor\uff09\u3002

\u5373\u4f7f\u6307\u5b9a\u4e86 --number-sections\uff0c\u5177\u6709 unnumbered \u7c7b\uff08class\uff09\u5c5e\u6027\u7684\u6807\u9898\u4e5f\u4e0d\u4f1a\u88ab\u7f16\u53f7\u3002\u5c5e\u6027\u4e0a\u4e0b\u6587\u4e2d\u7684\u5355\u4e2a\u8fde\u5b57\u7b26 (-) \u7b49\u6548\u4e8e .unnumbered\uff0c\u66f4\u9002\u5408\u4e8e\u975e\u82f1\u8bed\u6587\u6863\u3002

\u6240\u4ee5\uff0c\u4ee5\u4e0b\u7684\u4e24\u4e2a\u6807\u9898\u662f\u4e00\u6837\u7684\uff1a

# \u6807\u9898 {-}\n\n# \u6807\u9898 {.unnumbered}\n

\u5982\u679c\u9664\u4e86 unnumbered \u4e4b\u5916\u8fd8\u5b58\u5728 unlisted \u7684\u7c7b\uff0c\u5219\u8be5\u6807\u9898\u5c06\u4e0d\u4f1a\u5305\u542b\u5728\u76ee\u5f55\u4e2d\u3002\uff08\u76ee\u524d\u8be5\u529f\u80fd\u4ec5\u9002\u7528\u4e8e\u57fa\u4e8e LaTeX \u548c HTML\u3001PowerPoint \u548c RTF \u7684\u67d0\u4e9b\u683c\u5f0f\uff09

  • \u6269\u5c55\uff1aimplicit_header_references

\u4f7f\u7528\u8be5\u6269\u5c55\uff0cPandoc \u5c31\u4f1a\u4e3a\u6bcf\u4e00\u4e2a\u6807\u9898\u5b9a\u4e49\u4e00\u4e2a\u9690\u5f0f\u6807\u9898\u5f15\u7528\uff08implicit header references\uff09\u3002

\u6240\u4ee5\uff0c\u4e3a\u4e86\u94fe\u63a5\u5230\u4e0b\u9762\u7684\u8fd9\u4e2a\u6807\u9898\uff1a

# Heading identifiers in HTML\n

\u4f60\u53ef\u4ee5\u5199\u6210\u5982\u4e0b\u5f62\u5f0f\uff1a

[Heading identifiers in HTML]\n\n[Heading identifiers in HTML][]\n\n[the section on heading identifiers][heading identifiers in HTML]\n

\u800c\u4e0d\u662f\u660e\u786e\u5730\u7ed9\u51fa\u6807\u8bc6\u7b26\uff1a

[Heading identifiers in HTML](#heading-identifiers-in-html)\n

\u5982\u679c\u6709\u591a\u4e2a\u6807\u9898\u5177\u6709\u76f8\u540c\u7684\u6587\u672c\uff0c\u5219\u76f8\u5e94\u7684\u5f15\u7528\u94fe\u63a5\uff08reference link\uff09\u5c06\u4ec5\u94fe\u63a5\u5230\u7b2c\u4e00\u4e2a\uff0c\u4f60\u5c06\u9700\u8981\u4f7f\u7528\u5982\u4e0a\u6240\u8ff0\u7684\u663e\u5f0f\u94fe\u63a5\u6765\u94fe\u63a5\u5230\u5176\u4ed6\u6807\u9898\u3002

\u4e0e\u5e38\u89c4\u5f15\u7528\u94fe\u63a5\u4e00\u6837\uff0c\u8fd9\u4e9b\u5f15\u7528\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u3002

\u663e\u5f0f\u5f15\u7528\u94fe\u63a5\uff08explicit link reference\uff09\u5b9a\u4e49\u59cb\u7ec8\u4f18\u5148\u4e8e\u9690\u5f0f\u6807\u9898\u5f15\u7528\u3002\u56e0\u6b64\uff0c\u5728\u4ee5\u4e0b\u793a\u4f8b\u4e2d\uff0c\u94fe\u63a5\u5c06\u6307\u5411 bar\uff0c\u800c\u4e0d\u662f #foo\uff1a

# Foo\n\n[foo]: bar\n\nSee [foo]\n
","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_4","title":"\u5757\u5f15\u7528","text":"

Markdown \u4f7f\u7528\u7535\u5b50\u90ae\u4ef6\u60ef\u4f8b\u6765\u5f15\u7528\u6587\u672c\u5757\u3002\u5757\u5f15\u7528\uff08block quotation\uff09\u662f\u4e00\u4e2a\u6216\u591a\u4e2a\u6bb5\u843d\u6216\u5176\u4ed6\u5757\u5143\u7d20\uff08\u5982\u5217\u8868\u6216\u6807\u9898\uff09\uff0c\u6bcf\u884c\u524d\u6709\u4e00\u4e2a > \u5b57\u7b26\u548c\u4e00\u4e2a\u53ef\u9009\u7a7a\u683c\u3002\uff08> \u4e0d\u5fc5\u4ece\u5de6\u4fa7\u8fb9\u8ddd\u5f00\u59cb\uff0c\u4f46\u7f29\u8fdb\u4e0d\u5e94\u8d85\u8fc7\u4e09\u4e2a\u7a7a\u683c\uff09\u3002

> \u8fd9\u662f\u4e00\u4e2a\u5757\u5f15\u7528\u3002\u8fd9\n> \u6bb5\u843d\u6709\u4e24\u884c\u3002\n>\n> 1. \u8fd9\u662f\u5757\u5f15\u7528\u5185\u7684\u5217\u8868\n> 2. \u7b2c\u4e8c\u9879\n

\u4f60\u53ef\u4ee5\u4ec5\u5728\u7b2c\u4e00\u884c\u653e\u7f6e\u4e00\u4e2a > \u5b57\u7b26\uff0c\u5982\uff1a

> \u8fd9\u662f\u4e00\u4e2a\u5757\u5f15\u7528\u3002\u8fd9\n\u6bb5\u843d\u6709\u4e24\u884c\u3002\n\n> 1. \u8fd9\u662f\u5757\u5f15\u7528\u5185\u7684\u5217\u8868\n2. \u7b2c\u4e8c\u9879\n

\u4f60\u53ef\u4ee5\u5d4c\u5957\u5757\u5f15\u7528\uff1a

> \u8fd9\u662f\u4e00\u4e2a\u5757\u5f15\u7528\u3002\n>\n> > \u5757\u5f15\u7528\u4e2d\u7684\u5757\u5f15\u7528\u3002\n

\u5982\u679c > \u5b57\u7b26\u540e\u8ddf\u4e00\u4e2a\u53ef\u9009\u7a7a\u683c\uff0c\u5219\u8be5\u7a7a\u683c\u5c06\u88ab\u89c6\u4e3a\u5757\u5f15\u53f7\u6807\u8bb0\u7684\u4e00\u90e8\u5206\uff0c\u800c\u4e0d\u662f\u5185\u5bb9\u7f29\u8fdb\u7684\u4e00\u90e8\u5206\u3002\u56e0\u6b64\uff0c\u8981\u5c06\u7f29\u8fdb\u4ee3\u7801\u5757\u653e\u5728\u5757\u5f15\u7528\u4e2d\uff0c\u4f60\u9700\u8981\u5728 > \u4e4b\u540e\u518d\u6dfb\u52a0\u4e94\u4e2a\u7a7a\u683c\uff1a

>     \u4ee3\u7801\n
  • \u6269\u5c55\uff1ablank_before_blockquote

\u539f\u59cb\u7684 Markdown \u8bed\u6cd5\u4e0d\u9700\u8981\u5728\u5757\u5f15\u7528\u4e4b\u524d\u6709\u4e00\u4e2a\u7a7a\u884c\u3002\uff08\u9664\u4e86\u5728\u6587\u6863\u5f00\u5934\uff0c\uff09Pandoc \u8981\u6c42\u5757\u5f15\u7528\u524d\u8981\u6709\u4e00\u4e2a\u7a7a\u884c\u3002\u539f\u56e0\u662f > \uff08\u53ef\u80fd\u901a\u8fc7\u6362\u884c\uff09\u5f88\u5bb9\u6613\u610f\u5916\u5730\u7ed3\u675f\u5728\u4e00\u884c\u7684\u5f00\u5934\u3002\u56e0\u6b64\uff0c\u9664\u975e\u4f7f\u7528 markdown_strict \u683c\u5f0f\uff0c\u5426\u5219\u4ee5\u4e0b\u5185\u5bb9\u4e0d\u4f1a\u5728 pandoc \u4e2d\u751f\u6210\u5d4c\u5957\u5757\u5f15\u7528\uff1a

> \u8fd9\u662f\u4e00\u4e2a\u5757\u5f15\u7528\u3002\n>> \u4e0d\u53d1\u751f\u5d4c\u5957\uff0c\u56e0\u4e3a\u9ed8\u8ba4\u60c5\u51b5\u4e0b\u542f\u7528 `blank_before_blockquote`\n
","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#verbatim-code-block","title":"\u9010\u5b57\uff08\u4ee3\u7801\uff09\u5757\uff08Verbatim (code) block\uff09","text":"","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#indented-code-block","title":"\u7f29\u8fdb\u4ee3\u7801\u5757\uff08Indented code block\uff09","text":"

\u7f29\u8fdb\u56db\u4e2a\u7a7a\u683c\uff08\u6216\u4e00\u4e2a\u5236\u8868\u7b26\uff09\u7684\u6587\u672c\u5757\u88ab\u89c6\u4e3a\u9010\u5b57\u6587\u672c\uff08verbatim text\uff09\u3002\u4e5f\u5c31\u662f\u8bf4\uff0c\u7279\u6b8a\u5b57\u7b26\u4e0d\u4f1a\u89e6\u53d1\u7279\u6b8a\u683c\u5f0f\uff0c\u6240\u6709\u7a7a\u683c\u548c\u6362\u884c\u7b26\u90fd\u4f1a\u4fdd\u7559\u3002\u4f8b\u5982\uff1a

    if (a > 3) {\n      moveShip(5 * gravity, DOWN);\n    }\n

\u521d\u59cb\u7f29\u8fdb\uff08\u56db\u4e2a\u7a7a\u683c\u6216\u4e00\u4e2a\u5236\u8868\u7b26\uff09\u4e0d\u88ab\u89c6\u4e3a\u9010\u5b57\u6587\u672c\u7684\u4e00\u90e8\u5206\uff0c\u5e76\u4f1a\u5728\u8f93\u51fa\u4e2d\u88ab\u5220\u9664\u3002

\u6ce8\u610f\uff1a\u9010\u5b57\u6587\u672c\u4e2d\u7684\u7a7a\u884c\u4e0d\u9700\u8981\u4ee5\u56db\u4e2a\u7a7a\u683c\u5f00\u5934\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#fenced_code_blocks","title":"\u56f4\u680f\u4ee3\u7801\u5757","text":"
  • \u6269\u5c55\uff1afenced_code_blocks

\u9664\u4e86\u6807\u51c6\u7f29\u8fdb\u4ee3\u7801\u5757\u4e4b\u5916\uff0cpandoc \u8fd8\u652f\u6301\u56f4\u680f\u4ee3\u7801\u5757\uff08fenced code block\uff09\u3002\u8fd9\u4e9b\u4ee3\u7801\u5757\u4ee5\u4e00\u6392\u4e09\u4e2a\u6216\u66f4\u591a\u4e2a\u6ce2\u6d6a\u53f7\uff08~\uff09\u5f00\u5934\uff0c\u4ee5\u4e00\u6392\u6ce2\u6d6a\u53f7\u7ed3\u675f\uff0c\u7ed3\u675f\u884c\u5fc5\u987b\u81f3\u5c11\u4e0e\u8d77\u59cb\u884c\u4e00\u6837\u957f\u3002\u8fd9\u4e9b\u884c\u4e4b\u95f4\u7684\u6240\u6709\u5185\u5bb9\u90fd\u88ab\u89c6\u4e3a\u4ee3\u7801\uff0c\u4e14\u4e0d\u9700\u8981\u7f29\u8fdb\uff1a

~~~\nif (a > 3) {\n  moveShip(5 * gravity, DOWN);\n}\n~~~\n

\u4e0e\u5e38\u89c4\u4ee3\u7801\u5757\u4e00\u6837\uff0c\u56f4\u680f\u4ee3\u7801\u5757\u5fc5\u987b\u901a\u8fc7\u7a7a\u884c\u4e0e\u5468\u56f4\u7684\u6587\u672c\u5206\u9694\u5f00\u3002

\u5982\u679c\u4ee3\u7801\u672c\u8eab\u5305\u542b\u4e00\u884c\u6ce2\u6d6a\u53f7\u6216\u53cd\u5f15\u53f7\uff0c\u53ea\u9700\u5728\u5f00\u5934\u548c\u7ed3\u5c3e\u4f7f\u7528\u4e00\u6392\u8f83\u957f\u7684\u6ce2\u6d6a\u53f7\u6216\u53cd\u5f15\u53f7\uff1a

~~~~~~~~~\n~~~~\ncode including tildes\n~~~~\n~~~~~~~~~\n
  • \u6269\u5c55\uff1abacktick_code_blocks

\u4e0e fenced_code_blocks \u76f8\u540c\uff0c\u4f46\u4f7f\u7528\u53cd\u5f15\u53f7 (`) \u800c\u4e0d\u662f\u6ce2\u6d6a\u53f7 (~)\u3002

  • \u6269\u5c55\uff1afenced_code_attributes

\u6216\u8005\uff0c\u4f60\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u8bed\u6cd5\u5c06\u5c5e\u6027\u9644\u52a0\u5230\u56f4\u680f\u6216\u53cd\u5f15\u53f7\u4ee3\u7801\u5757\uff1a

~~~ {#mycode .haskell .numberLines startFrom=\"100\"}\nqsort []     = []\nqsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++\n               qsort (filter (>= x) xs)\n~~~\n

\u5982\u4e0a\uff0c\u6807\u8bc6\u7b26\u4e3a mycode\uff0c\u7c7b\u662f haskell \u548c numberLines\uff0c\u6709\u4e00\u4e2a\u503c\u4e3a 100 \u7684 startFrom \u5c5e\u6027\u3002\u67d0\u4e9b\u8f93\u51fa\u683c\u5f0f\u53ef\u4ee5\u4f7f\u7528\u6b64\u4fe1\u606f\u8fdb\u884c\u8bed\u6cd5\u9ad8\u4eae\u663e\u793a\u3002\u76ee\u524d\uff0c\u4f7f\u7528\u6b64\u4fe1\u606f\u7684\u552f\u4e00\u8f93\u51fa\u683c\u5f0f\u662f HTML\u3001LaTeX\u3001Docx\u3001Ms \u548c PowerPoint\u3002\u5982\u679c\u4f60\u7684\u8f93\u51fa\u683c\u5f0f\u548c\u8bed\u8a00\u652f\u6301\u7a81\u51fa\u663e\u793a\uff0c\u5219\u4e0a\u9762\u7684\u4ee3\u7801\u5757\u5c06\u7a81\u51fa\u663e\u793a\uff0c\u5e76\u5e26\u6709\u7f16\u53f7\u884c\u3002\uff08\u8981\u67e5\u770b\u652f\u6301\u54ea\u4e9b\u8bed\u8a00\uff0c\u8bf7\u952e\u5165 pandoc --list-highlight-languages\u3002\uff09\u5426\u5219\uff0c\u4e0a\u9762\u7684\u4ee3\u7801\u5757\u5c06\u5982\u4e0b\u6240\u793a\uff1a

<pre id=\"mycode\" class=\"haskell numberLines\" startFrom=\"100\">\n  <code>\n  ...\n  </code>\n</pre>\n

numberLines\uff08\u6216 number-lines\uff09\u7c7b\u5c06\u5bfc\u81f4\u4ee3\u7801\u5757\u7684\u884c\u88ab\u7f16\u53f7\uff0c\u4ece 1 \u6216 startFrom \u5c5e\u6027\u7684\u503c\u5f00\u59cb\u3002lineAnchors\uff08\u6216 line-anchors\uff09\u7c7b\u5c06\u4f7f\u8fd9\u4e9b\u884c\u6210\u4e3a HTML \u8f93\u51fa\u4e2d\u7684\u53ef\u70b9\u51fb\u951a\u70b9\u3002

\u4f60\u4e5f\u53ef\u4ee5\u4f7f\u7528\u5feb\u6377\u65b9\u5f0f\u6807\u6ce8\u4ee3\u7801\u5757\u7684\u8bed\u8a00\uff0c\u4f8b\u5982\uff1a

```haskell\nqsort [] = []\n```\n

\u5b83\u7b49\u4ef7\u4e8e

``` {.haskell}\nqsort [] = []\n```\n

\u6b64\u5feb\u6377\u65b9\u5f0f\u53ef\u4ee5\u4e0e\u5c5e\u6027\u7ed3\u5408\u4f7f\u7528\uff1a

```haskell {.numberLines}\nqsort [] = []\n```\n

\u5b83\u7b49\u4ef7\u4e8e

``` {.haskell .numberLines}\nqsort [] = []\n```\n

\u5982\u679c fenced_code_attributes \u6269\u5c55\u88ab\u7981\u7528\uff0c\u4f46\u8f93\u5165\u5305\u542b\u4ee3\u7801\u5757\u7684\u7c7b\u5c5e\u6027\uff0c\u5219\u7b2c\u4e00\u4e2a\u7c7b\u5c5e\u6027\u5c06\u5728\u6253\u5f00\u7684\u6805\u680f\u4e4b\u540e\u4f5c\u4e3a\u9010\u5b57\u6587\u672c\u6253\u5370\u3002

\u8981\u9632\u6b62\u6240\u6709\u7a81\u51fa\u663e\u793a\uff0c\u8bf7\u4f7f\u7528 --no-highlight \u6807\u5fd7\u3002\u8981\u8bbe\u7f6e\u7a81\u51fa\u663e\u793a\u6837\u5f0f\uff0c\u8bf7\u4f7f\u7528 --highlight-style\u3002\u6709\u5173\u7a81\u51fa\u663e\u793a\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u4e0b\u9762\u7684\u8bed\u6cd5\u7a81\u51fa\u663e\u793a\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_5","title":"\u7ad6\u7ebf\u5757","text":"
  • \u6269\u5c55\uff1aline_blocks

\u7ad6\u7ebf\u5757\uff08Line block\uff09\u662f\u4e00\u7cfb\u5217\u4ee5\u7ad6\u7ebf\uff08|\uff09\u5f00\u5934\u540e\u8ddf\u7a7a\u683c\u7684\u884c\u3002\u6587\u672c\u7684\u5206\u9694\u5c06\u4fdd\u7559\u5728\u8f93\u51fa\u4e2d\uff0c\u4efb\u4f55\u524d\u5bfc\u7a7a\u683c\u4e5f\u662f\u5982\u6b64\uff1b\u5426\u5219\uff0c\u8fd9\u4e9b\u884c\u5c06\u88ab\u683c\u5f0f\u5316\u4e3a Markdown\u3002\u8fd9\u5bf9\u8bd7\u53e5\u548c\u5730\u5740\u5f88\u6709\u7528\uff1a

| The limerick packs laughs anatomical\n| In space that is quite economical.\n|    But the good ones I've seen\n|    So seldom are clean\n| And the clean ones so seldom are comical\n\n| 200 Main St.\n| Berkeley, CA 94718\n

\u5982\u679c\u9700\u8981\uff0c\u53ef\u4ee5\u786c\u6362\u884c\uff0c\u4f46\u4e0b\u4e00\u884c\u5fc5\u987b\u4ee5\u7a7a\u683c\u5f00\u5934\u3002

| The Right Honorable Most Venerable and Righteous Samuel L.\n  Constable, Jr.\n| 200 Main St.\n| Berkeley, CA 94718\n

\u7ad6\u7ebf\u5757\u7684\u5185\u5bb9\u5141\u8bb8\u5185\u8054\u683c\u5f0f\uff08\u4f8b\u5982\u5f3a\u8c03\uff09\uff0c\u4f46\u4e0d\u5141\u8bb8\u5757\u7ea7\u683c\u5f0f\uff08\u4f8b\u5982\u5757\u5f15\u53f7\u6216\u5217\u8868\uff09\u3002

\u6b64\u8bed\u6cd5\u662f\u4ece reStructuredText \u501f\u7528\u7684\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_6","title":"\u5217\u8868","text":"","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_7","title":"\u9879\u76ee\u5217\u8868","text":"

\u9879\u76ee\u5217\u8868\uff08bullet lists\uff09\u7684\u5217\u8868\u9879\u4ee5\u5217\u8868\u9879\u7b26\u53f7\uff08*\u3001+ \u6216 -\uff09\u5f00\u5934\u3002\u4f8b\u5982\uff1a

* \u5217\u8868\u9879\u4e00\n* \u5217\u8868\u9879\u4e8c\n* \u5217\u8868\u9879\u4e09\n

\u8fd9\u5c06\u4ea7\u751f\u4e00\u4e2a\u201c\u7d27\u51d1\u201d\u5217\u8868\u3002\u5982\u679c\u4f60\u60f3\u8981\u4e00\u4e2a\u201c\u677e\u6563\u201d\u5217\u8868\uff0c\u5176\u4e2d\u6bcf\u4e2a\u5217\u8868\u9879\u90fd\u88ab\u683c\u5f0f\u5316\u4e3a\u4e00\u4e2a\u6bb5\u843d\uff0c\u8bf7\u5728\u5217\u8868\u9879\u4e4b\u95f4\u653e\u7f6e\u7a7a\u683c\uff0c\u5982\uff1a

* \u5217\u8868\u9879\u4e00\n\n* \u5217\u8868\u9879\u4e8c\n\n* \u5217\u8868\u9879\u4e09\n

\u9879\u76ee\u7b26\u53f7\uff08bullet\uff09\u4e0d\u9700\u8981\u4e0e\u5de6\u8fb9\u8ddd\u9f50\u5e73\uff1b\u5b83\u4eec\u53ef\u4ee5\u7f29\u8fdb\u4e00\u4e2a\u3001\u4e24\u4e2a\u6216\u4e09\u4e2a\u7a7a\u683c\u3002\u9879\u76ee\u7b26\u53f7\u540e\u5fc5\u987b\u8ddf\u6709\u7a7a\u683c\u3002

\u5982\u679c\u540e\u7eed\u884c\u4e0e\u7b2c\u4e00\u884c\u9f50\u5e73\uff08\u5728\u9879\u76ee\u7b26\u53f7\u4e4b\u540e\uff09\uff0c\u5217\u8868\u9879\u770b\u8d77\u6765\u6700\u597d\uff0c\u5982\uff1a

* \u8fd9\u662f\u5217\u8868\u7684\n  \u7b2c\u4e00\u4e2a\u5217\u8868\u9879\n* \u8fd9\u662f\u5217\u8868\u7684\u7b2c\u4e8c\u4e2a\u5217\u8868\u9879\n

\u5f53\u7136\u4f60\u4e5f\u53ef\u4ee5\u5199\u6210\uff1a

* \u8fd9\u662f\u5217\u8868\u7684\n\u7b2c\u4e00\u4e2a\u5217\u8868\u9879\n* \u8fd9\u662f\u5217\u8868\u7684\u7b2c\u4e8c\u4e2a\u5217\u8868\u9879\n
","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_8","title":"\u5217\u8868\u9879\u4e2d\u7684\u5757\u5185\u5bb9","text":"

\u4e00\u4e2a\u5217\u8868\u9879\u53ef\u80fd\u5305\u542b\u591a\u4e2a\u6bb5\u843d\u548c\u5176\u4ed6\u5757\u7ea7\u5185\u5bb9\u3002\u4f46\u662f\uff0c\u540e\u7eed\u6bb5\u843d\u4e4b\u524d\u5fc5\u987b\u6709\u4e00\u4e2a\u7a7a\u884c\u5e76\u7f29\u8fdb\u4ee5\u4e0e\u5217\u8868\u9879\u7b26\u53f7\uff08\u5373\u4e0a\u6587\u7684\u9879\u76ee\u7b26\u53f7\uff09\u540e\u7684\u7b2c\u4e00\u4e2a\u975e\u7a7a\u683c\u5185\u5bb9\u5bf9\u9f50\u3002

  * \u7b2c\u4e00\u6bb5\u5185\u5bb9\n\n    \u540e\u7eed\n\n  * \u7b2c\u4e8c\u6bb5\u5185\u5bb9\uff0c\u5e26\u6709\u4e00\u4e2a\n    \u4ee3\u7801\u5757\uff0c\u9700\u8981\u7f29\u8fdb\u516b\u4e2a\u7a7a\u683c\u3002\n\n        { code }\n

\u4f8b\u5916\u60c5\u51b5\uff1a\u5982\u679c\u5217\u8868\u9879\u7b26\u53f7\u540e\u8ddf\u4e00\u4e2a\u7f29\u8fdb\u4ee3\u7801\u5757\uff0c\u5b83\u5fc5\u987b\u5728\u5217\u8868\u9879\u7b26\u53f7\u540e 5 \u4e2a\u7a7a\u683c\u5f00\u59cb\uff0c\u5219\u540e\u7eed\u6bb5\u843d\u5fc5\u987b\u5728\u5217\u8868\u9879\u7b26\u53f7\u7684\u6700\u540e\u4e00\u4e2a\u5b57\u7b26\u540e\u4e24\u5217\u5f00\u59cb\uff1a

*     code\n\n  \u6f14\u793a\u6587\u672c\n

\u5217\u8868\u9879\u53ef\u80fd\u5305\u62ec\u5176\u4ed6\u5217\u8868\u3002\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u5217\u8868\u524d\u7684\u7a7a\u884c\u662f\u53ef\u9009\u7684\u3002\u5d4c\u5957\u5217\u8868\u5fc5\u987b\u7f29\u8fdb\u4ee5\u4e0e\u5305\u542b\u5217\u8868\u9879\u7684\u5217\u8868\u9879\u7b26\u53f7\u4e4b\u540e\u7684\u7b2c\u4e00\u4e2a\u975e\u7a7a\u683c\u5b57\u7b26\u5bf9\u9f50\u3002

* fruits\n  + apples\n    - macintosh\n    - red delicious\n  + pears\n  + peaches\n* vegetables\n  + broccoli\n  + chard\n
","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_9","title":"\u6709\u5e8f\u5217\u8868","text":"

\u6709\u5e8f\u5217\u8868\uff08Ordered list\uff09\u4e0e\u9879\u76ee\u5217\u8868\u5f88\u76f8\u4f3c\uff0c\u4e0d\u540c\u4e4b\u5904\u5728\u4e8e\u6709\u5e8f\u5217\u8868\u4ee5\u8ba1\u6570\u5668\uff08enumerator\uff09\u5f00\u5934\u3002

\u5728\u539f\u59cb Markdown \u4e2d\uff0c\u8ba1\u6570\u5668\u662f\u5341\u8fdb\u5236\u6570\u5b57\uff0c\u540e\u8ddf\u4e00\u4e2a\u53e5\u70b9\u548c\u4e00\u4e2a\u7a7a\u683c\u3002\u6570\u5b57\u672c\u8eab\u88ab\u5ffd\u7565\uff0c\u4ee5\u4e0b\u4e24\u4e2a\u5217\u8868\u662f\u76f8\u540c\u7684\uff1a

1.  one\n2.  two\n3.  three\n
5.  one\n7.  two\n1.  three\n
  • \u6269\u5c55\uff1afancy_lists

\u4e0e\u539f\u59cb\u7684 Markdown \u4e0d\u540c\uff0cpandoc \u5141\u8bb8\u7528\u5927\u5c0f\u5199\u5b57\u6bcd\u3001\u7f57\u9a6c\u6570\u5b57\u548c\u963f\u62c9\u4f2f\u6570\u5b57\u6807\u8bb0\u6709\u5e8f\u5217\u8868\u9879\u3002\u5217\u8868\u9879\u7b26\u53f7\u53ef\u4ee5\u62ec\u5728\u62ec\u53f7\u4e2d\uff0c\u6216\u540e\u8ddf\u4e00\u4e2a\u53f3\u62ec\u53f7\u6216\u53e5\u70b9\uff08.\uff09\u3002\u5b83\u4eec\u5fc5\u987b\u4e0e\u540e\u9762\u7684\u6587\u672c\u5206\u9694\u81f3\u5c11\u4e00\u4e2a\u7a7a\u683c\uff0c\u5e76\u4e14\u5982\u679c\u5217\u8868\u6807\u8bb0\u662f\u5e26\u53e5\u70b9\u7684\u5927\u5199\u5b57\u6bcd\uff0c\u5219\u81f3\u5c11\u5206\u9694\u4e24\u4e2a\u7a7a\u683c1\u3002

fancy_lists \u6269\u5c55\u8fd8\u5141\u8bb8\u5c06 #. \u7528\u4f5c\u6709\u5e8f\u5217\u8868\u7684\u5217\u8868\u9879\u7b26\u53f7\u6765\u4ee3\u66ff\u6570\u5b57\uff1a

#. one\n#. two\n

\u6ce8\u610f\uff1a#. \u6709\u5e8f\u5217\u8868\u6807\u8bb0\u4e0d\u9002\u7528\u4e8e commonmark2\u3002

  • \u6269\u5c55\uff1astartnum

Pandoc \u8fd8\u5173\u6ce8\u6240\u4f7f\u7528\u7684\u5217\u8868\u9879\u7b26\u53f7\u7684\u7c7b\u578b\u548c\u8d77\u59cb\u7f16\u53f7\uff0c\u5e76\u4e14\u5728\u8f93\u51fa\u683c\u5f0f\u4e2d\u5c3d\u53ef\u80fd\u4fdd\u7559\u8fd9\u4e24\u8005\u3002\u5982\u4e0b\uff0c\u751f\u6210\u7684\u8868\u683c\u4e2d\uff0c\u6570\u5b57\u4f1a\u4ece 9 \u5f00\u59cb\u5e76\u540e\u8ddf\u4e00\u4e2a\u62ec\u53f7\uff0c\u5b50\u5217\u8868\u5305\u542b\u5c0f\u5199\u7f57\u9a6c\u6570\u5b57\uff1a

 9)  Ninth\n10)  Tenth\n11)  Eleventh\n       i. subone\n      ii. subtwo\n     iii. subthree\n

\u6bcf\u6b21\u4f7f\u7528\u4e0d\u540c\u7c7b\u578b\u7684\u5217\u8868\u9879\u7b26\u53f7\u65f6\uff0cPandoc \u90fd\u4f1a\u542f\u52a8\u4e00\u4e2a\u65b0\u5217\u8868\u3002\u56e0\u6b64\uff0c\u4ee5\u4e0b\u5c06\u521b\u5efa\u4e09\u4e2a\u5217\u8868\uff1a

(2) Two\n(5) Three\n1.  Four\n*   Five\n

\u5982\u679c\u9700\u8981\u9ed8\u8ba4\u5217\u8868\u9879\u7b26\u53f7\uff0c\u8bf7\u4f7f\u7528 #.\uff1a

#.  one\n#.  two\n#.  three\n
  • \u6269\u5c55\uff1atask_lists

Pandoc \u652f\u6301\u4f7f\u7528 GitHub-Flavored Markdown Spec \u7684\u4efb\u52a1\u5217\u8868\u3002

- [ ] \u672a\u68c0\u67e5\u7684\u9879\u76ee\n- [x] \u5df2\u68c0\u67e5\u7684\u9879\u76ee\n
","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_10","title":"\u5b9a\u4e49\u5217\u8868","text":"
  • \u6269\u5c55\uff1adefinition_lists

Pandoc \u652f\u6301\u4f7f\u7528\u5e26\u6709\u4e00\u4e9b\u6269\u5c55\u7684 PHP Markdown Extra \u8bed\u6cd5\u7684\u5b9a\u4e49\u5217\u8868\uff08Definition list\uff093\u3002

\u672f\u8bed 1\n\n:   \u672f\u8bed 1 \u7684\u5b9a\u4e49\n\n\u5e26\u6709*\u5185\u8054\u6807\u8bb0*\u7684\u672f\u8bed 2\n\n:   \u672f\u8bed 2 \u7684\u5b9a\u4e49\n\n        { \u672f\u8bed 2 \u7684\u5b9a\u4e49\u7684\u4e00\u4e9b\u6f14\u793a\u4ee3\u7801 }\n\n    \u672f\u8bed 2 \u7684\u5b9a\u4e49\u7684\u7b2c\u4e8c\u6bb5\n

\u6bcf\u4e2a\u672f\u8bed\uff08term\uff09\u5fc5\u987b\u5360\u4e00\u884c\uff0c\u53ef\u4ee5\u9009\u62e9\u540e\u8ddf\u4e00\u4e2a\u7a7a\u884c\uff0c\u5e76\u4e14\u5fc5\u987b\u540e\u8ddf\u4e00\u4e2a\u6216\u591a\u4e2a\u5b9a\u4e49\uff08definition\uff09\u3002\u5b9a\u4e49\u4ee5\u5192\u53f7\u6216\u6ce2\u6d6a\u53f7\u5f00\u59cb\uff0c\u53ef\u4ee5\u7f29\u8fdb\u4e00\u4e2a\u6216\u4e24\u4e2a\u7a7a\u683c\u3002

\u4e00\u4e2a\u672f\u8bed\u53ef\u4ee5\u6709\u591a\u4e2a\u5b9a\u4e49\uff0c\u6bcf\u4e2a\u5b9a\u4e49\u53ef\u4ee5\u7531\u4e00\u4e2a\u6216\u591a\u4e2a\u5757\u5143\u7d20\uff08\u6bb5\u843d\u3001\u4ee3\u7801\u5757\u3001\u5217\u8868\u7b49\uff09\u7ec4\u6210\uff0c\u6bcf\u4e2a\u5143\u7d20\u7f29\u8fdb\u56db\u4e2a\u7a7a\u683c\u6216\u4e00\u4e2a\u5236\u8868\u7b26\u3002\u5b9a\u4e49\u7684\u6b63\u6587\uff08\u4e0d\u5305\u62ec\u7b2c\u4e00\u884c\uff09\u5e94\u7f29\u8fdb\u56db\u4e2a\u7a7a\u683c\u3002\u4f46\u662f\uff0c\u4e0e\u5176\u4ed6 Markdown \u5217\u8868\u4e00\u6837\uff0c\u9664\u975e\u5728\u6bb5\u843d\u6216\u5176\u4ed6\u5757\u5143\u7d20\u7684\u5f00\u5934\uff0c\u4f60\u53ef\u4ee5\u7701\u7565\u7f29\u8fdb\uff1a

\u672f\u8bed 1\n\n:   \u7701\u7565\u4e86\u7f29\u8fdb\n\u7684\u5b9a\u4e49\u6587\u672c\u3002\n\n    \u5b9a\u4e49\u6587\u672c\u7684\u7b2c\u4e8c\u6bb5\u3002\n

\u5982\u679c\u4f60\u5728\u5b9a\u4e49\u6587\u672c\u524d\u7559\u51fa\u7a7a\u683c\uff08\u5982\u4e0a\u4f8b\u6240\u793a\uff09\uff0c\u5219\u5b9a\u4e49\u6587\u672c\u5c06\u88ab\u89c6\u4e3a\u4e00\u4e2a\u6bb5\u843d\u3002\u5728\u67d0\u4e9b\u8f93\u51fa\u683c\u5f0f\u4e2d\uff0c\u8fd9\u610f\u5473\u7740\u672f\u8bed\u4e0e\u5b9a\u4e49\u4e4b\u95f4\u7684\u95f4\u8ddd\u66f4\u5927\u3002\u8981\u83b7\u5f97\u66f4\u7d27\u51d1\u7684\u5b9a\u4e49\u5217\u8868\uff0c\u8bf7\u7701\u7565\u5b9a\u4e49\u524d\u7684\u7a7a\u683c\uff0c\u5982\u4e0b\uff1a

\u672f\u8bed 1\n  ~ \u5b9a\u4e49\u6587\u672c 1\n\n\u672f\u8bed 2\n  ~ \u5b9a\u4e49\u6587\u672c 2a\n  ~ \u5b9a\u4e49\u6587\u672c 2b\n

\u6ce8\u610f\uff0c\u5b9a\u4e49\u5217\u8868\u4e2d\u7684\u5217\u8868\u9879\u4e4b\u95f4\u7684\u7a7a\u683c\u662f\u5fc5\u9700\u7684\u3002\uff08compact_definition_lists \u6269\u5c55 \u53ef\u4ee5\u653e\u5bbd\u6b64\u8981\u6c42\uff0c\u4f46\u4e0d\u5141\u8bb8\u7701\u7565\u7f29\u8fdb\u7684\u786c\u6362\u884c\u3002\uff09

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_11","title":"\u7f16\u53f7\u793a\u4f8b\u5217\u8868","text":"
  • \u6269\u5c55\uff1aexample_lists

\u7279\u6b8a\u7684\u5217\u8868\u9879\u7b26\u53f7 @ \u53ef\u7528\u4e8e\u6309\u987a\u5e8f\u7f16\u53f7\u7684\u7f16\u53f7\u793a\u4f8b\u5217\u8868\uff08Numbered example list\uff09\u3002

\u5728\u6574\u4e2a\u6587\u6863\u4e2d\uff0c\u5e26\u6709 @ \u6807\u8bb0\u7684\u7b2c\u4e00\u4e2a\u5217\u8868\u9879\u5c06\u88ab\u7f16\u53f7\u4e3a \u201c1\u201d\uff0c\u4e0b\u4e00\u4e2a\u4e3a \u201c2\u201d\uff0c\u4f9d\u6b64\u7c7b\u63a8\u3002\u7f16\u53f7\u7684\u793a\u4f8b\u4e0d\u9700\u8981\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u5217\u8868\u4e2d\uff1b\u6bcf\u4e2a\u4f7f\u7528 @ \u7684\u65b0\u5217\u8868\u90fd\u5c06\u5360\u636e\u4e0a\u6b21\u505c\u6b62\u7684\u4f4d\u7f6e\u3002\u6240\u4ee5\uff0c\u4f8b\u5982\uff1a

(@)  \u8fd9\u4e2a\u793a\u4f8b\u5c06\u88ab\u7f16\u53f7\u4e3a (1)\u3002\n(@)  \u8fd9\u4e2a\u793a\u4f8b\u5c06\u88ab\u7f16\u53f7\u4e3a (2)\u3002\n\n\u793a\u4f8b\u7684\u8bf4\u660e\n\n(@)  \u8fd9\u4e2a\u793a\u4f8b\u5c06\u88ab\u7f16\u53f7\u4e3a (3).\n

\u4f60\u53ef\u4ee5\u5728\u6587\u6863\u7684\u5176\u4ed6\u5730\u65b9\u6807\u8bb0\u548c\u5f15\u7528\u7f16\u53f7\u793a\u4f8b\uff1a

(@good)  \u8fd9\u662f\u4e00\u4e2a\u793a\u4f8b\n\n\u6b63\u5982 (@good) \u793a\u4f8b\u6240\u8a00\uff0c\u2026\u2026\n

@ \u540e\u8ddf\u7684\u6807\u7b7e\u53ef\u4ee5\u662f\u4efb\u4f55\u5b57\u6bcd\u6570\u5b57\u5b57\u7b26\u3001\u4e0b\u5212\u7ebf\u6216\u8fde\u5b57\u7b26\u7684\u5b57\u7b26\u4e32\u3002

\u6ce8\u610f\uff1a\u793a\u4f8b\u5217\u8868\u4e2d\u7684\u8fde\u7eed\u6bb5\u843d\u5fc5\u987b\u59cb\u7ec8\u7f29\u8fdb\u56db\u4e2a\u7a7a\u683c\uff0c\u65e0\u8bba\u5217\u8868\u9879\u7b26\u53f7\u7684\u957f\u5ea6\u5982\u4f55\u3002\u4e5f\u5c31\u662f\u8bf4\uff0c\u793a\u4f8b\u5217\u8868\u59cb\u7ec8\u8868\u73b0\u5f97\u597d\u50cf\u8bbe\u7f6e\u4e86 four_space_rule \u6269\u5c55\u3002\u8fd9\u662f\u56e0\u4e3a\u793a\u4f8b\u6807\u7b7e\u5f80\u5f80\u5f88\u957f\uff0c\u5e76\u4e14\u5c06\u5185\u5bb9\u7f29\u8fdb\u5230\u6807\u7b7e\u540e\u7684\u7b2c\u4e00\u4e2a\u975e\u7a7a\u683c\u5b57\u7b26\u4f1a\u5f88\u5c34\u5c2c\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_12","title":"\u5217\u8868\u7684\u7ed3\u675f","text":"

\u5982\u679c\u4f60\u60f3\u5728\u5217\u8868\u540e\u653e\u7f6e\u4e00\u4e2a\u7f29\u8fdb\u4ee3\u7801\u5757\u600e\u4e48\u529e\uff1f

-   item one\n-   item two\n\n    { my code block }\n

\u5982\u4e0a\uff0c\u8fd9\u5c31\u9ebb\u70e6\u4e86\uff01\u5728\u8fd9\u91cc\uff0cpandoc\uff08\u50cf\u5176\u4ed6 Markdown \u5b9e\u73b0\u4e00\u6837\uff09\u4f1a\u5c06 { my code block } \u89c6\u4e3a\u7b2c\u4e8c\u9879\u7684\u7b2c\u4e8c\u6bb5\uff0c\u800c\u4e0d\u662f\u4ee3\u7801\u5757\u3002

\u8981\u5728\u7b2c\u4e8c\u9879\u4e4b\u540e\u201c\u622a\u65ad\u201d\u5217\u8868\uff0c\u60a8\u53ef\u4ee5\u63d2\u5165\u4e00\u4e9b\u975e\u7f29\u8fdb\u7684\u5185\u5bb9\uff0c\u4f8b\u5982 HTML \u6ce8\u91ca\uff0c\u8fd9\u4e0d\u4f1a\u4ea7\u751f\u4efb\u4f55\u683c\u5f0f\u7684\u53ef\u89c1\u8f93\u51fa\uff1a

-   item one\n-   item two\n\n<!-- end of list -->\n\n    { my code block }\n

\u5982\u679c\u4f60\u60f3\u8981\u4e24\u4e2a\u8fde\u7eed\u7684\u5217\u8868\u800c\u4e0d\u662f\u4e00\u4e2a\u5927\u5217\u8868\uff0c\u4f60\u53ef\u4ee5\u4f7f\u7528\u76f8\u540c\u7684\u6280\u5de7\uff1a

1.  one\n2.  two\n3.  three\n\n<!-- -->\n\n1.  uno\n2.  dos\n3.  tres\n
","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_13","title":"\u6c34\u5e73\u7ebf","text":"

\u5305\u542b\u4e09\u4e2a\u6216\u66f4\u591a *\u3001- \u6216 _ \u5b57\u7b26\uff08\u53ef\u9009\u5730\u7528\u7a7a\u683c\u5206\u9694\uff09\u7684\u4e00\u884c\u6587\u672c\u884c\u4f1a\u751f\u6210\u4e00\u6761\u6c34\u5e73\u7ebf\uff08horizontal rule\uff09\uff1a

*  *  *  *\n\n---------------\n

\u6211\u4eec\u5f3a\u70c8\u5efa\u8bae\u7528\u7a7a\u884c\u5c06\u6c34\u5e73\u7ebf\u4e0e\u5468\u56f4\u7684\u6587\u672c\u5206\u9694\u5f00\u3002\u5982\u679c\u6c34\u5e73\u7ebf\u540e\u9762\u6ca1\u6709\u7a7a\u884c\uff0cpandoc \u53ef\u80fd\u4f1a\u5c1d\u8bd5\u5c06\u540e\u9762\u7684\u884c\u89e3\u91ca\u4e3a YAML \u5143\u6570\u636e\u5757\u6216\u8868\u683c\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_14","title":"\u8868\u683c","text":"

\u4f60\u53ef\u4ee5\u4f7f\u7528\u56db\u79cd\u8868\u683c\uff08Table\uff09\u3002\u524d\u4e09\u79cd\u9884\u8bbe\u4f7f\u7528\u7b49\u5bbd\u5b57\u4f53\uff0c\u4f8b\u5982 Courier\u3002\u7b2c\u56db\u79cd\u53ef\u4ee5\u4e0e\u6309\u6bd4\u4f8b\u95f4\u9694\u7684\u5b57\u4f53\u4e00\u8d77\u4f7f\u7528\uff0c\u56e0\u4e3a\u5b83\u4e0d\u9700\u8981\u6392\u5217\u5217\u3002

  • \u6269\u5c55\uff1atable_captions

\u4f60\u53ef\u4ee5\u9009\u62e9\u4e3a\u6240\u6709 4 \u79cd\u8868\u683c\u63d0\u4f9b\u8bf4\u660e\uff08caption\uff09\uff08\u5982\u4e0b\u4f8b\u6240\u793a\uff09\u3002

\u8bf4\u660e\u662f\u4ee5\u5b57\u7b26\u4e32 Table:\uff08\u6216 table: \u6216\u53ea\u662f :\uff09\u5f00\u5934\u7684\u6bb5\u843d\uff1b\u4f60\u53ef\u4ee5\u5c06\u5b83\u653e\u7f6e\u5728\u8868\u683c\u4e4b\u524d\u6216\u4e4b\u540e\u3002\u8868\u683c\u8bf4\u660e\u7684\u5b57\u7b26\u4e32\u5728\u8f93\u51fa\u4e2d\u4f1a\u88ab\u5220\u9664\uff0c\u53ea\u4fdd\u7559\u8bf4\u660e\u6587\u672c\u3002

  • \u6269\u5c55\uff1asimple_tables

\u7b80\u5355\u8868\u683c\uff08Simple table\uff09\u5982\u4e0b\u6240\u793a\uff1a

  Right     Left     Center     Default\n-------     ------ ----------   -------\n     12     12        12            12\n    123     123       123          123\n      1     1          1             1\n\nTable:  Demonstration of simple table syntax.\n

\u6807\u9898\u884c\u548c\u8868\u683c\u884c\u5fc5\u987b\u5404\u5360\u4e00\u884c\u3002\u5217\u5bf9\u9f50\u65b9\u5f0f\u7531\u6807\u9898\u6587\u672c\u76f8\u5bf9\u4e8e\u5176\u4e0b\u65b9\u865a\u7ebf\u7684\u4f4d\u7f6e\u786e\u5b9a4\uff1a

  • \u5982\u679c\u865a\u7ebf\u5728\u53f3\u4fa7\u4e0e\u6807\u9898\u6587\u672c\u9f50\u5e73\u4f46\u5728\u5de6\u4fa7\u8d85\u51fa\u5b83\uff0c\u5219\u8be5\u5217\u662f\u53f3\u5bf9\u9f50\u7684\u3002
  • \u5982\u679c\u865a\u7ebf\u5728\u5de6\u4fa7\u4e0e\u6807\u9898\u6587\u672c\u9f50\u5e73\u4f46\u5728\u53f3\u4fa7\u8d85\u51fa\u5b83\uff0c\u5219\u8be5\u5217\u662f\u5de6\u5bf9\u9f50\u7684\u3002
  • \u5982\u679c\u865a\u7ebf\u8d85\u51fa\u6807\u9898\u6587\u672c\u7684\u4e24\u4fa7\uff0c\u5219\u8be5\u5217\u5c45\u4e2d\u3002
  • \u5982\u679c\u865a\u7ebf\u4e0e\u4e24\u4fa7\u7684\u6807\u9898\u6587\u672c\u9f50\u5e73\uff0c\u5219\u4f7f\u7528\u9ed8\u8ba4\u5bf9\u9f50\u65b9\u5f0f\uff08\u5728\u5927\u591a\u6570\u60c5\u51b5\u4e0b\uff0c\u5c06\u4f7f\u7528\u6b64\u5bf9\u9f50\u65b9\u5f0f\uff09\u3002

\u8868\u683c\u5fc5\u987b\u4ee5\u7a7a\u884c\u7ed3\u5c3e\uff0c\u6216\u4e00\u884c\u7834\u6298\u53f7\u540e\u8ddf\u4e00\u4e2a\u7a7a\u884c\u3002

\u53ef\u4ee5\u7701\u7565\u5217\u6807\u9898\u884c\uff0c\u524d\u63d0\u662f\u4f7f\u7528\u865a\u7ebf\u7ed3\u675f\u8868\u683c\u3002\u4f8b\u5982\uff1a

-------     ------ ----------   -------\n     12     12        12             12\n    123     123       123           123\n      1     1          1              1\n-------     ------ ----------   -------\n

\u7701\u7565\u8868\u5934\u884c\u65f6\uff0c\u5217\u5bf9\u9f50\u4ee5\u8868\u4f53\u7b2c\u4e00\u884c\u4e3a\u51c6\u3002\u56e0\u6b64\uff0c\u5728\u4e0a\u8868\u4e2d\uff0c\u5217\u5c06\u5206\u522b\u53f3\u5bf9\u9f50\u3001\u5de6\u5bf9\u9f50\u3001\u5c45\u4e2d\u5bf9\u9f50\u548c\u53f3\u5bf9\u9f50\u3002

  • \u6269\u5c55\uff1amultiline_tables

\u591a\u884c\u8868\u683c\uff08Multiline table\uff09\u5141\u8bb8\u6807\u9898\u548c\u8868\u683c\u884c\u8de8\u8d8a\u591a\u884c\u6587\u672c\uff08\u4f46\u4e0d\u652f\u6301\u8de8\u8d8a\u8868\u683c\u7684\u591a\u5217\u6216\u591a\u884c\u7684\u5355\u5143\u683c\uff09\u3002 \u8fd9\u662f\u4e00\u4e2a\u4f8b\u5b50\uff1a

-------------------------------------------------------------\n Centered   Default           Right Left\n  Header    Aligned         Aligned Aligned\n----------- ------- --------------- -------------------------\n   First    row                12.0 Example of a row that\n                                    spans multiple lines.\n\n  Second    row                 5.0 Here's another one. Note\n                                    the blank line between\n                                    rows.\n-------------------------------------------------------------\n\nTable: Here's the caption. It, too, may span\nmultiple lines.\n

\u8fd9\u4e9b\u8868\u683c\u4e0e\u7b80\u5355\u7684\u8868\u683c\u76f8\u4f3c\uff0c\u4f46\u6709\u4ee5\u4e0b\u533a\u522b\uff1a

  • \u5728\u6807\u9898\u6587\u672c\u4e4b\u524d\uff08\u9664\u975e\u6807\u9898\u884c\u88ab\u7701\u7565\uff09\uff0c\u5b83\u4eec\u5fc5\u987b\u4ee5\u4e00\u884c\u7834\u6298\u53f7\u5f00\u5934\u3002
  • \u5b83\u4eec\u5fc5\u987b\u4ee5\u4e00\u6392\u7834\u6298\u53f7\u7ed3\u5c3e\uff0c\u7136\u540e\u662f\u4e00\u4e2a\u7a7a\u884c\u3002
  • \u884c\u4e4b\u95f4\u5fc5\u987b\u7531\u7a7a\u884c\u5206\u9694\u3002

\u5728\u591a\u884c\u8868\u683c\u4e2d\uff0c\u8868\u683c\u89e3\u6790\u5668\u4f1a\u6ce8\u610f\u5217\u7684\u5bbd\u5ea6\uff0c\u5e76\u4f1a\u5c1d\u8bd5\u5728\u8f93\u51fa\u4e2d\u91cd\u73b0\u8fd9\u4e9b\u76f8\u5bf9\u5bbd\u5ea6\u3002\u56e0\u6b64\uff0c\u5982\u679c\u4f60\u53d1\u73b0\u8f93\u51fa\u4e2d\u7684\u5176\u4e2d\u4e00\u5217\u592a\u7a84\uff0c\u8bf7\u5c1d\u8bd5\u5728 Markdown \u6e90\u7801\u4e2d\u5c06\u5176\u52a0\u5bbd\u3002

----------- ------- --------------- -------------------------\n   First    row                12.0 Example of a row that\n                                    spans multiple lines.\n\n  Second    row                 5.0 Here's another one. Note\n                                    the blank line between\n                                    rows.\n----------- ------- --------------- -------------------------\n\n: Here's a multiline table without a header.\n

\u591a\u884c\u8868\u683c\u53ef\u80fd\u53ea\u6709\u4e00\u884c\uff0c\u4f46\u8be5\u884c\u540e\u9762\u5e94\u8be5\u8ddf\u4e00\u4e2a\u7a7a\u884c\uff08\u7136\u540e\u662f\u8868\u672b\u5c3e\u7684\u7834\u6298\u53f7\u884c\uff09\uff0c\u5426\u5219\u8be5\u8868\u683c\u53ef\u80fd\u88ab\u89e3\u91ca\u4e3a\u4e00\u4e2a\u7b80\u5355\u7684\u8868\u683c\u3002

  • \u6269\u5c55\uff1agrid_tables

\u7f51\u683c\u8868\uff08Grid table\uff09\u5982\u4e0b\u6240\u793a\uff1a

: Sample grid table.\n\n+---------------+---------------+--------------------+\n| Fruit         | Price         | Advantages         |\n+===============+===============+====================+\n| Bananas       | $1.34         | - built-in wrapper |\n|               |               | - bright color     |\n+---------------+---------------+--------------------+\n| Oranges       | $2.10         | - cures scurvy     |\n|               |               | - tasty            |\n+---------------+---------------+--------------------+\n

\u7531 = \u7ec4\u6210\u7684\u884c\u5c06\u8868\u5934\u4e0e\u8868\u4f53\u5206\u5f00\uff0c\u65e0\u8868\u5934\u7684\u8868\u683c\u53ef\u4ee5\u7701\u7565\u8be5\u884c\u3002\u7f51\u683c\u8868\u7684\u5355\u5143\u683c\u53ef\u80fd\u5305\u542b\u4efb\u610f\u5757\u5143\u7d20\uff08\u591a\u4e2a\u6bb5\u843d\u3001\u4ee3\u7801\u5757\u3001\u5217\u8868\u7b49\uff09\u3002

\u5355\u5143\u683c\u53ef\u4ee5\u8de8\u8d8a\u591a\u5217\u6216\u591a\u884c\uff1a

+---------------------+----------+\n| Property            | Earth    |\n+=============+=======+==========+\n|             | min   | -89.2 \u00b0C |\n| Temperature +-------+----------+\n| 1961-1990   | mean  | 14 \u00b0C    |\n|             +-------+----------+\n|             | min   | 56.7 \u00b0C  |\n+-------------+-------+----------+\n

\u8868\u5934\u53ef\u80fd\u5305\u542b\u591a\u884c\uff1a

+---------------------+-----------------------+\n| Location            | Temperature 1961-1990 |\n|                     | in degree Celsius     |\n|                     +-------+-------+-------+\n|                     | min   | mean  | max   |\n+=====================+=======+=======+=======+\n| Antarctica          | -89.2 | N/A   | 19.8  |\n+---------------------+-------+-------+-------+\n| Earth               | -89.2 | 14    | 56.7  |\n+---------------------+-------+-------+-------+\n

\u5bf9\u9f50\u65b9\u5f0f\u53ef\u4ee5\u50cf\u7ba1\u9053\u8868\u4e00\u6837\u6307\u5b9a\uff0c\u65b9\u6cd5\u662f\u5728\u6807\u9898\u540e\u7684\u5206\u9694\u7ebf\u8fb9\u754c\u5904\u653e\u7f6e\u5192\u53f7\uff1a

+---------------+---------------+--------------------+\n| Right         | Left          | Centered           |\n+==============:+:==============+:==================:+\n| Bananas       | $1.34         | built-in wrapper   |\n+---------------+---------------+--------------------+\n

\u5bf9\u4e8e\u65e0\u5934\u8868\uff0c\u5192\u53f7\u6539\u4e3a\u4f4d\u4e8e\u9876\u884c\uff1a

+--------------:+:--------------+:------------------:+\n| Right         | Left          | Centered           |\n+---------------+---------------+--------------------+\n

\u4f60\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528 = \u800c\u4e0d\u662f - \u7684\u5206\u9694\u7ebf\u5c06\u5176\u62ec\u8d77\u6765\u6765\u5b9a\u4e49\u8868\u811a\uff1a

+---------------+---------------+\n| Fruit         | Price         |\n+===============+===============+\n| Bananas       | $1.34         |\n+---------------+---------------+\n| Oranges       | $2.10         |\n+===============+===============+\n| Sum           | $3.44         |\n+===============+===============+\n

\u8868\u811a\u5fc5\u987b\u59cb\u7ec8\u653e\u5728\u8868\u683c\u7684\u6700\u5e95\u90e8\u3002

\u4f60\u53ef\u4ee5\u4f7f\u7528 Emacs \u7684\u8868\u683c\u6a21\u5f0f\uff08M-x table-insert\uff09\u8f7b\u677e\u521b\u5efa\u7f51\u683c\u8868\u3002

  • \u6269\u5c55\uff1apipe_tables

\u7ba1\u9053\u8868\uff08Pipe table\uff09\u5982\u4e0b\u6240\u793a\uff1a

| Right | Left | Default | Center |\n|------:|:-----|---------|:------:|\n|   12  |  12  |    12   |    12  |\n|  123  |  123 |   123   |   123  |\n|    1  |    1 |     1   |     1  |\n\n  : Demonstration of pipe table syntax.\n

\u7ba1\u9053\u8868\u7684\u8bed\u6cd5\u4e0e PHP Markdown Extra \u8868\u683c\u76f8\u540c\u3002\u5f00\u59cb\u548c\u7ed3\u675f\u7ad6\u7ebf\u5b57\u7b26\u662f\u53ef\u9009\u7684\uff0c\u4f46\u6240\u6709\u5217\u4e4b\u95f4\u90fd\u9700\u8981\u7ad6\u7ebf\u3002\u5982\u56fe\u6240\u793a\uff0c\u5192\u53f7\u8868\u793a\u5217\u5bf9\u9f50\u3002\u6807\u9898\u4e0d\u80fd\u7701\u7565\uff0c\u8981\u83b7\u5f97\u4e00\u4e2a\u65e0\u6807\u9898\u7ba1\u9053\u8868\uff0c\u8bf7\u5c06\u6807\u9898\u5355\u5143\u683c\u7559\u7a7a\u3002

\u7531\u4e8e\u7ad6\u7ebf\u8868\u793a\u5217\u8fb9\u754c\uff0c\u5217\u4e0d\u9700\u8981\u5782\u76f4\u5bf9\u9f50\uff0c\u5982\u4e0a\u4f8b\u6240\u793a\u3002\u6240\u4ee5\uff0c\u4ee5\u4e0b\u662f\u4e00\u4e2a\u867d\u7136\u7b80\u7565\u4f46\u5b8c\u5168\u5408\u6cd5\u7684\u7ba1\u9053\u8868\uff1a

fruit| price\n-----|-----:\napple|2.05\npear|1.37\norange|3.09\n

\u7ba1\u9053\u8868\u7684\u5355\u5143\u683c\u4e2d\u4e0d\u80fd\u5305\u542b\u6bb5\u843d\u3001\u5217\u8868\u7b49\u5757\u72b6\u5143\u7d20\uff0c\u4e5f\u4e0d\u80fd\u8de8\u591a\u884c\u3002\u5982\u679c markdown \u6e90\u7801\u7684\u4efb\u4f55\u4e00\u884c\u957f\u4e8e\u5217\u5bbd\uff08\u8bf7\u53c2\u9605 --columns\uff09\uff0c\u90a3\u4e48\u8868\u683c\u5c06\u5360\u636e\u5168\u6587\u5bbd\u5ea6\u5e76\u4e14\u5355\u5143\u683c\u5185\u5bb9\u5c06\u6362\u884c\uff0c\u76f8\u5bf9\u5355\u5143\u683c\u5bbd\u5ea6\u7531\u5206\u9694\u8868\u5934\u548c\u8868\u4f53\u7684\u76f4\u7ebf\u4e2d\u7684\u7834\u6298\u53f7\u6570\u51b3\u5b9a\u3002\uff08\u4f8b\u5982 ---|- \u4f1a\u4f7f\u7b2c\u4e00\u5217\u4e3a\u5168\u6587\u5bbd\u5ea6\u7684 3/4\uff0c\u7b2c\u4e8c\u5217\u4e3a\u5168\u6587\u5bbd\u5ea6\u7684 1/4\u3002\uff09\u53e6\u4e00\u65b9\u9762\uff0c\u5982\u679c\u6ca1\u6709\u884c\u5bbd\u4e8e\u5217\u5bbd\uff0c\u5219\u5355\u5143\u683c\u5185\u5bb9\u4e0d\u4f1a\u6362\u884c\uff0c\u5355\u5143\u683c\u7684\u5927\u5c0f\u5c06\u6839\u636e\u5176\u5185\u5bb9\u8c03\u6574\u3002

\u6ce8\u610f\uff1apandoc \u8fd8\u53ef\u4ee5\u8bc6\u522b\u4ee5\u4e0b\u53ef\u4ee5\u7531 Emacs \u7684 orgtbl-mode \u751f\u6210\u7684\u7ba1\u9053\u8868\uff1a

| One | Two   |\n|-----+-------|\n| my  | table |\n| is  | nice  |\n

\u4e0d\u540c\u4e4b\u5904\u5728\u4e8e\u4f7f\u7528 + \u800c\u4e0d\u662f |\u3002pandoc \u4e0d\u652f\u6301\u5176\u4ed6 orgtbl \u529f\u80fd\u3002\u7279\u522b\u662f\uff0c\u8981\u83b7\u5f97\u975e\u9ed8\u8ba4\u5217\u5bf9\u9f50\uff0c\u4f60\u9700\u8981\u50cf\u4e0a\u9762\u90a3\u6837\u6dfb\u52a0\u5192\u53f7\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_15","title":"\u5143\u6570\u636e\u5757","text":"
  • \u6269\u5c55\uff1apandoc_title_block

\u5982\u679c\u6587\u4ef6\u4ee5\u6807\u9898\u5757\uff08title block\uff09\u5f00\u5934

% \u6807\u9898\n% \u4f5c\u8005\n% \u65e5\u671f\n

\u5b83\u5c06\u88ab\u89e3\u6790\u4e3a\u4e66\u76ee\u4fe1\u606f\uff0c\u800c\u4e0d\u662f\u5e38\u89c4\u6587\u672c\u3002\uff08\u4f8b\u5982\uff0c\u5b83\u5c06\u7528\u4e8e\u72ec\u7acb LaTeX \u6216 HTML \u8f93\u51fa\u7684\u6807\u9898\u3002\uff09\u8be5\u5757\u53ef\u80fd\u4ec5\u5305\u542b\u6807\u9898\u3001\u6807\u9898\u548c\u4f5c\u8005\uff0c\u6216\u6240\u6709\u4e09\u4e2a\u5143\u7d20\u3002\u5982\u679c\u4f60\u60f3\u5305\u62ec\u4e00\u4e2a\u4f5c\u8005\u4f46\u6ca1\u6709\u6807\u9898\uff0c\u6216\u8005\u4e00\u4e2a\u6807\u9898\u548c\u4e00\u4e2a\u65e5\u671f\u4f46\u6ca1\u6709\u4f5c\u8005\uff0c\u4f60\u9700\u8981\u4e00\u4e2a\u7a7a\u884c\uff1a

%\n% \u4f5c\u8005\n\n% \u6807\u9898\n%\n% \u65e5\u671f\n

\u6807\u9898\u53ef\u80fd\u5360\u636e\u591a\u884c\uff0c\u4f46\u7eed\u884c\u5fc5\u987b\u4ee5\u524d\u5bfc\u7a7a\u683c\u5f00\u5934\uff0c\u56e0\u6b64\uff1a

% \u5360\u636e\u591a\n  \u884c\u7684\u6807\u9898\n

\u5982\u679c\u6587\u6863\u6709\u591a\u4e2a\u4f5c\u8005\uff0c\u5219\u4f5c\u8005\u53ef\u4ee5\u653e\u5728\u5355\u72ec\u7684\uff0c\u4ee5\u524d\u5bfc\u7a7a\u683c\u5f00\u5934\u7684\u884c\u4e2d\uff0c\u6216\u7528\u5206\u53f7\u5206\u9694\uff0c\u6216\u4e24\u8005\u517c\u800c\u6709\u4e4b\u3002\u56e0\u6b64\uff0c\u4ee5\u4e0b\u6240\u6709\u5185\u5bb9\u90fd\u662f\u76f8\u540c\u7684\uff1a

% \u4f5c\u80051\n  \u4f5c\u80052\n\n% \u4f5c\u80051; \u4f5c\u80052\n\n% \u4f5c\u80051;\n  \u4f5c\u80052\n

\u65e5\u671f\u5fc5\u987b\u5360\u4e00\u884c\u3002

\u6240\u6709\u4e09\u4e2a\u5143\u6570\u636e\u5b57\u6bb5\u90fd\u53ef\u80fd\u5305\u542b\u6807\u51c6\u5185\u8054\u683c\u5f0f\uff08\u659c\u4f53\u3001\u94fe\u63a5\u3001\u811a\u6ce8\u7b49\uff09\u3002

\u6807\u9898\u5757\u5c06\u59cb\u7ec8\u88ab\u89e3\u6790\uff0c\u4f46\u5b83\u4eec\u53ea\u4f1a\u5728\u9009\u62e9 --standalone\uff08-s\uff09\u9009\u9879\u65f6\u5f71\u54cd\u8f93\u51fa\u3002\u5728 HTML \u8f93\u51fa\u4e2d\uff0c\u6807\u9898\u4f1a\u51fa\u73b0\u4e24\u6b21\uff1a\u7b2c\u4e00\u6b21\u51fa\u73b0\u5728\u6587\u6863\u5934\u90e8\uff0c\u8fd9\u662f\u5c06\u51fa\u73b0\u5728\u6d4f\u89c8\u5668\u7a97\u53e3\u9876\u90e8\u7684\u6807\u9898\uff1b\u53e6\u4e00\u6b21\u51fa\u73b0\u5728\u6587\u6863\u6b63\u6587\u7684\u5f00\u5934\u3002\u6587\u6863\u5934\u4e2d\u7684\u6807\u9898\u53ef\u4ee5\u9644\u52a0\u4e00\u4e2a\u53ef\u9009\u7684\u524d\u7f00\uff08--title-prefix \u6216 -T \u9009\u9879\uff09\u3002\u6b63\u6587\u4e2d\u7684\u6807\u9898\u663e\u793a\u4e3a\u7c7b\u4e3a title \u7684 H1 \u5143\u7d20\uff0c\u56e0\u6b64\u53ef\u4ee5\u4f7f\u7528 CSS \u5c06\u5176\u9690\u85cf\u6216\u91cd\u65b0\u683c\u5f0f\u5316\u3002\u5982\u679c\u4f7f\u7528 -T \u6307\u5b9a\u6807\u9898\u524d\u7f00\u5e76\u4e14\u6587\u6863\u4e2d\u6ca1\u6709\u51fa\u73b0\u6807\u9898\u5757\uff0c\u5219\u6807\u9898\u524d\u7f00\u5c06\u5355\u72ec\u7528\u4f5c HTML \u6807\u9898\u3002

\u624b\u518c\u9875\u7f16\u5199\u8005[^4]\u4ece\u6807\u9898\u884c\u4e2d\u63d0\u53d6\u6807\u9898\u3001\u624b\u518c\u9875\u7ae0\u8282\u53f7\u4ee5\u53ca\u5176\u4ed6\u9875\u7709\u548c\u9875\u811a\u4fe1\u606f\u3002\u6807\u9898\u88ab\u8ba4\u4e3a\u662f\u6807\u9898\u884c\u7684\u7b2c\u4e00\u4e2a\u8bcd\uff0c\u53ef\u4ee5\u9009\u62e9\u4ee5\u62ec\u53f7\u4e2d\u7684\u8282\u53f7\uff08\u4e2a\u4f4d\u6570\uff09\u7ed3\u675f\u3002(\u5728\u6807\u9898\u548c\u62ec\u53f7\u4e4b\u95f4\u4e0d\u5e94\u6709\u7a7a\u683c\u3002)\u4e4b\u540e\u7684\u5185\u5bb9\u88ab\u8ba4\u4e3a\u662f\u989d\u5916\u7684\u9875\u811a\u548c\u9875\u7709\u6587\u672c\u3002\u5e94\u8be5\u7528\u4e00\u4e2a\u7ba1\u9053\u5b57\u7b26\uff08|\uff09\u6765\u5206\u9694\u9875\u811a\u6587\u672c\u548c\u9875\u7709\u6587\u672c\u3002\u4f8b\u5982\uff1a

\u624b\u518c\u9875\uff08man page\uff09\u7f16\u5199\u5668\u4ece\u6807\u9898\u884c\u4e2d\u63d0\u53d6\u6807\u9898\u3001\u624b\u518c\u9875\u7ae0\u8282\u7f16\u53f7\u4ee5\u53ca\u5176\u4ed6\u9875\u7709\u548c\u9875\u811a\u4fe1\u606f\u3002\u6807\u9898\u88ab\u5047\u5b9a\u4e3a\u6807\u9898\u884c\u7684\u7b2c\u4e00\u4e2a\u5355\u8bcd\uff0c\u53ef\u9009\u62e9\u4ee5\u62ec\u53f7\u4e2d\u7684\u7ae0\u8282\u7f16\u53f7\uff08\u4e2a\u4f4d\u6570\uff09\u7ed3\u5c3e\uff08\u6807\u9898\u548c\u62ec\u53f7\u4e4b\u95f4\u4e0d\u80fd\u6709\u7a7a\u683c\uff09\u3002\uff08\u6807\u9898\u548c\u62ec\u53f7\u4e4b\u95f4\u4e0d\u5e94\u6709\u7a7a\u683c\u3002\uff09\u6807\u9898\u4e4b\u540e\u7684\u5185\u5bb9\u88ab\u8ba4\u4e3a\u662f\u9644\u52a0\u7684\u9875\u811a\u548c\u9875\u7709\u6587\u672c\u3002\u5e94\u4f7f\u7528\u5355\u4e2a\u7ba1\u9053\u5b57\u7b26\uff08|\uff09\u5206\u9694\u9875\u811a\u6587\u672c\u548c\u9875\u7709\u6587\u672c\u3002\u56e0\u6b64\uff1a

% PANDOC(1)\n

\u5c06\u4ea7\u751f\u4e00\u4e2a\u6807\u9898\u4e3a PANDOC \u548c\u7b2c 1 \u8282\u7684\u624b\u518c\u9875\u3002

% PANDOC(1) Pandoc User Manuals\n

\u9875\u811a\u4e2d\u8fd8\u5c06\u5305\u542b \u201cPandoc User Manuals\u201d\u3002

% PANDOC(1) Pandoc User Manuals | Version 4.0\n

\u9875\u7709\u4e2d\u8fd8\u5c06\u5305\u542b \u201cVersion 4.0\u201d\u3002

  • \u6269\u5c55\uff1ayaml_metadata_block

YAML \u5143\u6570\u636e\u5757\u662f\u4e00\u4e2a\u6709\u6548\u7684 YAML \u5bf9\u8c61\uff0c\u7531\u9876\u90e8\u7684\u4e00\u884c\u4e09\u4e2a\u8fde\u5b57\u7b26 (---) \u548c\u5e95\u90e8\u7684\u4e00\u884c\u4e09\u4e2a\u8fde\u5b57\u7b26 (---) \u6216\u4e09\u4e2a\u70b9 (...) \u5206\u9694\u3002\u9996\u884c --- \u540e\u9762\u4e0d\u80fd\u8ddf\u7a7a\u884c\u3002YAML \u5143\u6570\u636e\u5757\u53ef\u80fd\u51fa\u73b0\u5728\u6587\u6863\u7684\u4efb\u4f55\u4f4d\u7f6e\uff0c\u4f46\u5982\u679c\u5b83\u4e0d\u5728\u5f00\u5934\uff0c\u5219\u5fc5\u987b\u5728\u5176\u524d\u9762\u52a0\u4e0a\u4e00\u4e2a\u7a7a\u884c\u3002

\u8bf7\u6ce8\u610f\uff0c\u7531\u4e8e pandoc \u5728\u63d0\u4f9b\u591a\u4e2a\u8f93\u5165\u6587\u4ef6\u65f6\u8fde\u63a5\u8f93\u5165\u6587\u4ef6\u7684\u65b9\u5f0f\uff0c\u4f60\u8fd8\u53ef\u4ee5\u5c06\u5143\u6570\u636e\u4fdd\u5b58\u5728\u5355\u72ec\u7684 YAML \u6587\u4ef6\u4e2d\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u53c2\u6570\u4e0e\u4f60\u7684 markdown \u6587\u4ef6\u4e00\u5e76\u4f20\u9012\u7ed9 pandoc\uff1a

pandoc chap1.md chap2.md chap3.md metadata.yaml -s -o book.html\n

\u4f60\u53ea\u9700\u786e\u4fdd YAML \u6587\u4ef6\u4ee5 --- \u5f00\u5934\u5e76\u4ee5 --- \u6216 .... \u7ed3\u5c3e\u3002\u6216\u8005\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528 --metadata-file \u9009\u9879\u3002\u4f46\u4f7f\u7528\u8fd9\u79cd\u65b9\u6cd5\u65f6\uff0c\u4f60\u4e0d\u80fd\u4ece\u4e3b\u8981\u7684 markdown \u8f93\u5165\u6587\u6863\u4e2d\u5f15\u7528\u5185\u5bb9\uff08\u6bd4\u5982\u811a\u6ce8\uff09\u3002

\u5143\u6570\u636e\u5c06\u4ece YAML \u5bf9\u8c61\u7684\u5b57\u6bb5\u4e2d\u83b7\u53d6\uff0c\u5e76\u6dfb\u52a0\u5230\u4efb\u4f55\u73b0\u6709\u7684\u6587\u6863\u5143\u6570\u636e\u4e2d\u3002\u5143\u6570\u636e\u53ef\u4ee5\u5305\u542b\u5217\u8868\u548c\u5bf9\u8c61\uff08\u4efb\u610f\u5d4c\u5957\uff09\uff0c\u4f46\u6240\u6709\u5b57\u7b26\u4e32\u6807\u91cf\u90fd\u5c06\u88ab\u89e3\u91ca\u4e3a Markdown\u3002\u540d\u79f0\u4ee5\u4e0b\u5212\u7ebf\u7ed3\u5c3e\u7684\u5b57\u6bb5\u5c06\u88ab pandoc \u5ffd\u7565\u3002\uff08\u5916\u90e8\u5904\u7406\u5668\u53ef\u80fd\u4f1a\u8d4b\u4e88\u5b83\u4eec\u4e00\u4e2a\u89d2\u8272\u3002\uff09\u5b57\u6bb5\u540d\u79f0\u4e0d\u5f97\u89e3\u91ca\u4e3a YAML \u6570\u5b57\u6216\u5e03\u5c14\u503c\uff08\u56e0\u6b64\uff0c\u4f8b\u5982\uff0cyes\u3001True \u548c 15 \u4e0d\u80fd\u7528\u4f5c\u5b57\u6bb5\u540d\u79f0\uff09\u3002

\u4e00\u4e2a\u6587\u6863\u53ef\u80fd\u5305\u542b\u591a\u4e2a\u5143\u6570\u636e\u5757\u3002\u5982\u679c\u4e24\u4e2a\u5143\u6570\u636e\u5757\u8bd5\u56fe\u8bbe\u7f6e\u76f8\u540c\u7684\u5b57\u6bb5\uff0c\u5219 pandoc \u5c06\u91c7\u7528\u7b2c\u4e8c\u4e2a\u5757\u7684\u503c\u3002

\u6bcf\u4e2a\u5143\u6570\u636e\u5757\u90fd\u4f5c\u4e3a\u72ec\u7acb\u7684 YAML \u6587\u6863\u5728\u5185\u90e8\u5904\u7406\u3002\u4f8b\u5982\uff1a\u8fd9\u610f\u5473\u7740\u5728\u4e00\u4e2a\u5757\u4e2d\u5b9a\u4e49\u7684\u4efb\u4f55 YAML \u951a\u70b9\u4e0d\u80fd\u5728\u53e6\u4e00\u4e2a\u5757\u4e2d\u5f15\u7528\u3002

\u5f53 pandoc \u4e0e -t markdown \u4e00\u8d77\u4f7f\u7528\u6765\u521b\u5efa Markdown \u6587\u6863\u65f6\uff0c\u53ea\u6709\u5728\u4f7f\u7528 -s/--standalone \u9009\u9879\u65f6\u624d\u4f1a\u751f\u6210 YAML \u5143\u6570\u636e\u5757\u3002\u6240\u6709\u5143\u6570\u636e\u5c06\u51fa\u73b0\u5728\u6587\u6863\u5f00\u5934\u7684\u5355\u4e2a\u5757\u4e2d\u3002

\u8bf7\u6ce8\u610f\uff0c\u5fc5\u987b\u9075\u5faa YAML \u8f6c\u4e49\u89c4\u5219\u3002\u56e0\u6b64\uff0c\u5982\u679c\u6807\u9898\u5305\u542b\u5192\u53f7\uff0c\u5219\u5fc5\u987b\u7528\u5f15\u53f7\u5f15\u8d77\u6765\uff0c\u5982\u679c\u5b83\u5305\u542b\u53cd\u659c\u6760\u8f6c\u4e49\uff0c\u5219\u5fc5\u987b\u786e\u4fdd\u5b83\u4e0d\u88ab\u89c6\u4e3a YAML \u8f6c\u4e49\u5e8f\u5217\u3002\u7ba1\u9053\u5b57\u7b26\uff08|\uff09\u53ef\u4ee5\u7528\u6765\u5f00\u59cb\u4e00\u4e2a\u7f29\u8fdb\u7684\u5757\uff0c\u5b83\u5c06\u88ab\u6309\u5b57\u9762\u610f\u601d\u89e3\u91ca\uff0c\u4e0d\u9700\u8981\u8f6c\u4e49\u3002\u5f53\u5b57\u6bb5\u5305\u542b\u7a7a\u884c\u6216\u5757\u7ea7\u683c\u5f0f\u65f6\uff0c\u6b64\u8868\u5355\u662f\u5fc5\u9700\u7684\uff1a

---\ntitle:  'This is the title: it contains a colon'\nauthor:\n- Author One\n- Author Two\nkeywords: [nothing, nothingness]\nabstract: |\n  This is the abstract.\n\n  It consists of two paragraphs.\n...\n

| \u4e4b\u540e\u7684\u6587\u5b57\u5757\u5fc5\u987b\u76f8\u5bf9\u4e8e\u5305\u542b | \u7684\u884c\u7f29\u8fdb\u3002\u5982\u679c\u4e0d\u662f\uff0c\u5219 YAML \u5c06\u65e0\u6548\u5e76\u4e14 pandoc \u4e0d\u4f1a\u5c06\u5176\u89e3\u91ca\u4e3a\u5143\u6570\u636e\u3002\u6709\u5173\u7ba1\u7406 YAML \u7684\u590d\u6742\u89c4\u5219\u7684\u6982\u8ff0\uff0c\u8bf7\u53c2\u9605\u6709\u5173 YAML \u8bed\u6cd5\u7684\u7ef4\u57fa\u767e\u79d1\u8bcd\u6761\u3002

\u6a21\u677f\u53d8\u91cf\u5c06\u4ece\u5143\u6570\u636e\u4e2d\u81ea\u52a8\u8bbe\u7f6e\u3002\u56e0\u6b64\uff0c\u5728\u7f16\u5199 HTML \u65f6\uff0c\u53d8\u91cf abstract \u5c06\u88ab\u8bbe\u7f6e\u4e3a abstract \u5b57\u6bb5\u4e2d Markdown \u7684 HTML \u7b49\u503c\uff1a

<p>This is the abstract.</p>\n<p>It consists of two paragraphs.</p>\n

\u53d8\u91cf\u53ef\u4ee5\u5305\u542b\u4efb\u610f YAML \u7ed3\u6784\uff0c\u4f46\u6a21\u677f\u5fc5\u987b\u5339\u914d\u6b64\u7ed3\u6784\u3002\u9ed8\u8ba4\u6a21\u677f\u4e2d\u7684 author \u53d8\u91cf\u9700\u8981\u4e00\u4e2a\u7b80\u5355\u7684\u5217\u8868\u6216\u5b57\u7b26\u4e32\uff0c\u4f46\u53ef\u4ee5\u66f4\u6539\u4ee5\u652f\u6301\u66f4\u590d\u6742\u7684\u7ed3\u6784\u3002\u4f8b\u5982\uff0c\u5982\u679c\u7ed9\u51fa\u4e86\u4ee5\u4e0b\u7ec4\u5408\uff0c\u5219\u4f1a\u4e3a\u4f5c\u8005\u6dfb\u52a0\u4ece\u5c5e\u5173\u7cfb\uff1a

---\ntitle: The document title\nauthor:\n- name: Author One\n  affiliation: University of Somewhere\n- name: Author Two\n  affiliation: University of Nowhere\n...\n

\u8981\u5728\u4e0a\u9762\u7684\u793a\u4f8b\u4e2d\u4f7f\u7528\u7ed3\u6784\u5316 author\uff0c\u4f60\u9700\u8981\u4e00\u4e2a\u81ea\u5b9a\u4e49\u6a21\u677f\uff1a

$for(author)$\n$if(author.name)$\n$author.name$$if(author.affiliation)$ ($author.affiliation$)$endif$\n$else$\n$author$\n$endif$\n$endfor$\n

\u4f60\u53ef\u4ee5\u4f7f\u7528 header-includes \u6307\u5b9a\u8981\u5305\u542b\u5728\u6587\u6863\u9875\u7709\u4e2d\u7684\u539f\u59cb\u5185\u5bb9\uff1b\u4f46\u662f\uff0c\u4f7f\u7528 raw_attribute \u6269\u5c55\u5c06\u6b64\u5185\u5bb9\u6807\u8bb0\u4e3a\u7279\u5b9a\u8f93\u51fa\u683c\u5f0f\u7684\u539f\u59cb\u4ee3\u7801\u5f88\u91cd\u8981\uff0c\u5426\u5219\u5b83\u5c06\u88ab\u89e3\u91ca\u4e3a markdown\u3002\u4f8b\u5982\uff1a

header-includes:\n- |\n  ```{=latex}\n  \\let\\oldsection\\section\n  \\renewcommand{\\section}[1]{\\clearpage\\oldsection{#1}}\n  ```\n

\u6ce8\u610f\uff1ayaml_metadata_block \u6269\u5c55\u4e0e commonmark \u548c markdown \u517c\u5bb9\uff08\u5728 gfm \u548c commonmark_x \u4e2d\u9ed8\u8ba4\u542f\u7528\uff09\u3002\u4f46\u662f\uff0c\u5728\u8fd9\u4e9b\u683c\u5f0f\u4e2d\uff0c\u4ee5\u4e0b\u9650\u5236\u9002\u7528\uff1a

  • YAML \u5143\u6570\u636e\u5757\u5fc5\u987b\u51fa\u73b0\u5728\u6587\u6863\u7684\u5f00\u5934\uff08\u5e76\u4e14\u53ea\u80fd\u6709\u4e00\u4e2a\uff09\u3002\u5982\u679c\u5c06\u591a\u4e2a\u6587\u4ef6\u4f5c\u4e3a pandoc \u7684\u53c2\u6570\u7ed9\u51fa\uff0c\u5219\u53ea\u6709\u7b2c\u4e00\u4e2a\u53ef\u4ee5\u662f YAML \u5143\u6570\u636e\u5757\u3002
  • YAML \u7ed3\u6784\u7684\u53f6\u8282\u70b9\uff08leaf nodes\uff09\u5f7c\u6b64\u9694\u79bb\u89e3\u6790\uff0c\u5e76\u4e0e\u6587\u6863\u7684\u5176\u4f59\u90e8\u5206\u9694\u79bb\u89e3\u6790\u3002 \u56e0\u6b64\uff0c\u4f8b\u5982\uff0c\u5982\u679c\u94fe\u63a5\u5b9a\u4e49\u4f4d\u4e8e\u6587\u6863\u4e2d\u7684\u5176\u4ed6\u4f4d\u7f6e\uff0c\u5219\u4f60\u4e0d\u80fd\u5728\u8fd9\u4e9b\u4e0a\u4e0b\u6587\u4e2d\u4f7f\u7528\u53c2\u8003\u94fe\u63a5\u3002
","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_16","title":"\u53cd\u659c\u6760\u8f6c\u4e49","text":"
  • \u6269\u5c55\uff1aall_symbols_escapable

\u9664\u4e86\u5728\u4ee3\u7801\u5757\u6216\u5185\u8054\u4ee3\u7801\u4e2d\uff0c\u4efb\u4f55\u4ee5\u53cd\u659c\u6760\u5f00\u5934\u7684\u6807\u70b9\u7b26\u53f7\u6216\u7a7a\u683c\u5b57\u7b26\u90fd\u5c06\u6309\u5b57\u9762\u610f\u601d\u5904\u7406\uff0c\u5373\u4f7f\u5b83\u901a\u5e38\u4f1a\u6307\u793a\u683c\u5f0f\u3002\u4f8b\u5982\uff0c\u5982\u679c\u4e00\u4e2a\u4eba\u5199\uff1a

*\\*hello\\**\n

\u90a3\u4e48\u4f1a\u6e32\u67d3\u4e3a\uff1a

<em>*hello*</em>\n

\u800c\u4e0d\u662f

<strong>hello</strong>\n

\u8fd9\u6761\u89c4\u5219\u6bd4\u539f\u59cb\u7684 Markdown \u89c4\u5219\u66f4\u5bb9\u6613\u8bb0\u4f4f\uff0c\u540e\u8005\u53ea\u5141\u8bb8\u5bf9\u4ee5\u4e0b\u5b57\u7b26\u8fdb\u884c\u53cd\u659c\u6760\u8f6c\u4e49\uff1a

\\`*_{}[]()>#+-.!\n

\uff08\u4f46\u662f\uff0c\u5982\u679c\u4f7f\u7528 markdown_strict \u683c\u5f0f\uff0c\u5219\u5c06\u4f7f\u7528\u539f\u59cb Markdown \u89c4\u5219\u3002\uff09

\u53cd\u659c\u6760\u8f6c\u4e49\u7a7a\u683c\uff08backslash-escaped space\uff09\u88ab\u89e3\u6790\u4e3a\u4e0d\u95f4\u65ad\u7a7a\u683c\u3002\u5728 TeX \u8f93\u51fa\u4e2d\uff0c\u5b83\u5c06\u663e\u793a\u4e3a ~\u3002\u5728 HTML \u548c XML \u8f93\u51fa\u4e2d\uff0c\u5b83\u5c06\u663e\u793a\u4e3a\u4e0d\u95f4\u65ad\u7a7a\u683c unicode \u5b57\u7b26\uff08\u8bf7\u6ce8\u610f\uff0c\u5b83\u5728\u751f\u6210\u7684 HTML \u6e90\u4ee3\u7801\u4e2d\u5b9e\u9645\u4e0a\u770b\u8d77\u6765\u201c\u4e0d\u53ef\u89c1\u201d\uff1b\u4f60\u4ecd\u7136\u53ef\u4ee5\u4f7f\u7528 --ascii \u547d\u4ee4\u884c\u9009\u9879\u4f7f\u5176\u663e\u793a\u4e3a\u4e00\u4e2a\u53ef\u89c1\u7684\u5b9e\u4f53\uff09\u3002

\u53cd\u659c\u6760\u8f6c\u4e49\u7684\u6362\u884c\u7b26\uff08backslash-escaped newline\uff0c\u5373\u51fa\u73b0\u5728\u884c\u5c3e\u7684\u53cd\u659c\u6760\uff09\u88ab\u89e3\u6790\u4e3a\u786c\u6362\u884c\u7b26\u3002\u5b83\u5c06\u5728 TeX \u8f93\u51fa\u4e2d\u663e\u793a\u4e3a \\\\\uff0c\u5728 HTML \u4e2d\u663e\u793a\u4e3a <br />\u3002\u8fd9\u662f Markdown \u7684\u201c\u9690\u5f62\u201d\u65b9\u5f0f5\u7684\u4e00\u4e2a\u5f88\u597d\u7684\u66ff\u4ee3\u65b9\u6cd5\u3002

\u53cd\u659c\u6760\u8f6c\u4e49\uff08Backslash escapes\uff09\u5728\u9010\u5b57\u6587\u672c\u4e2d\u4e0d\u8d77\u4f5c\u7528\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#inline","title":"\u5185\u8054\u683c\u5f0f","text":"","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_17","title":"\u5f3a\u8c03","text":"

\u8981\u5bf9\u6307\u5b9a\u6587\u672c\u8bbe\u7f6e\u659c\u4f53\uff08emphasize\uff09\uff0c\u8bf7\u4f7f\u7528\u5355\u4e2a * \u6216 _ \u5305\u56f4\u5b83\u4eec\uff0c\u5982\uff1a

*\u6f14\u793a\u6587\u672c \u6f14\u793a\u6587\u672c*\n_\u6f14\u793a\u6587\u672c_\n*\u6f14\u793a\u6587\u672c*\n

\u8981\u5bf9\u6307\u5b9a\u6587\u672c\u8bbe\u7f6e\u7c97\u4f53\uff08strong emphasis\uff09\uff0c\u8bf7\u4f7f\u7528\u4e24\u4e2a * \u6216 _ \u5305\u56f4\u5b83\u4eec\uff0c\u5982\uff1a

\u88ab\u7a7a\u683c\u5305\u56f4\u6216\u53cd\u659c\u6760\u8f6c\u4e49\u7684 * \u6216 _ \u5b57\u7b26\u4e0d\u4f1a\u89e6\u53d1\u5f3a\u8c03\uff1a

* \u6f14\u793a\u6587\u672c * \\*\u6f14\u793a\u6587\u672c\\*\n
  • \u6269\u5c55\uff1aintraword_underscores

\u56e0\u4e3a _ \u6709\u65f6\u4f1a\u5728\u5355\u8bcd\u548c\u6807\u8bc6\u7b26\u4e2d\u4f7f\u7528\uff0c\u6240\u4ee5 pandoc \u4e0d\u4f1a\u5c06\u88ab\u5b57\u6bcd\u6570\u5b57\u5b57\u7b26\u5305\u56f4\u7684 _ \u89e3\u91ca\u4e3a\u5f3a\u8c03\u6807\u8bb0\u3002\u5982\u679c\u53ea\u60f3\u5f3a\u8c03\u5355\u8bcd\u7684\u4e00\u90e8\u5206\uff0c\u8bf7\u4f7f\u7528 *\uff1a

feas*ible*, not feas*able*.\n

\u8981\u5bf9\u6307\u5b9a\u6587\u672c\u8bbe\u7f6e\u659c\u4f53\u7c97\u4f53\uff0c\u8bf7\u4f7f\u7528\u4e09\u4e2a * \u6216 _ \u5305\u56f4\u5b83\u4eec\uff0c\u5982\uff1a

***\u6307\u5b9a\u6587\u672c***\n
","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_18","title":"\u5220\u9664\u7ebf","text":"
  • \u6269\u5c55\uff1astrikeout

\u8981\u5bf9\u6307\u5b9a\u7684\u6587\u672c\u8bbe\u7f6e\u5220\u9664\u7ebf\uff0c\u8bf7\u4ee5 ~~ \u4f5c\u4e3a\u6587\u672c\u7684\u5f00\u5934\u548c\u7ed3\u5c3e\u3002\u4f8b\u5982\uff1a

~~\u6307\u5b9a\u7684\u6587\u672c~~\n
","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_19","title":"\u4e0a\u6807\u548c\u4e0b\u6807","text":"
  • \u6269\u5c55\uff1asuperscript, subscript

\u4e0a\u6807\u53ef\u4ee5\u901a\u8fc7\u7528 ^ \u5b57\u7b26\u5305\u56f4\u4e0a\u6807\u6587\u672c\u6765\u7f16\u5199\uff1b\u4e0b\u6807\u53ef\u4ee5\u901a\u8fc7\u7528 ~ \u5b57\u7b26\u5305\u56f4\u4e0b\u6807\u6587\u672c\u6765\u7f16\u5199\u3002\u56e0\u6b64\uff0c\u4f8b\u5982\uff0c

H~2~0 \u662f\u6c34\uff0c2^10^ \u662f 1024\u3002\n

... \u6216 ... \u4e4b\u95f4\u7684\u6587\u672c\u4e0d\u80fd\u5305\u542b\u7a7a\u683c\u6216\u6362\u884c\u7b26\u3002\u5982\u679c\u4e0a\u6807\u6216\u4e0b\u6807\u6587\u672c\u5305\u542b\u7a7a\u683c\uff0c\u5219\u8fd9\u4e9b\u7a7a\u683c\u5fc5\u987b\u7528\u53cd\u659c\u6760\u8f6c\u4e49\u3002\uff08\u8fd9\u662f\u4e3a\u4e86\u9632\u6b62\u5728\u65e5\u5e38\u4f7f\u7528 ~ \u548c ^ \u65f6\u51fa\u73b0\u610f\u5916\u7684\u4e0a\u6807\u548c\u4e0b\u6807\uff0c\u4ee5\u53ca\u4e0e\u811a\u6ce8\u7684\u4e0d\u826f\u4ea4\u4e92\u3002\uff09\u56e0\u6b64\uff0c\u5982\u679c\u4f60\u60f3\u8981\u4e0b\u6807\u4e2d\u5e26\u6709 a cat \u7684\u5b57\u6bcd P\uff0c\u8bf7\u4f7f\u7528 P~a\\ cat~\uff0c\u4e0d\u662f P~a cat~\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_20","title":"\u9010\u5b57\u6587\u672c","text":"

\u8981\u9010\u5b57\u9010\u53e5\u663e\u793a\u4e00\u5c0f\u6bb5\u6587\u672c\uff0c\u8bf7\u5c06\u5176\u653e\u5728\u53cd\u5f15\u53f7\u5185\uff1a

What is the difference between `>>=` and `>>`?\n

\u5982\u679c\u9010\u5b57\u6587\u672c\uff08verbatim text\uff09\u5305\u542b\u53cd\u5f15\u53f7\uff0c\u8bf7\u4f7f\u7528\u53cc\u53cd\u5f15\u53f7\uff1a

Here is a literal backtick `` ` ``.\n

\uff08\u5f00\u59cb\u53cd\u5f15\u53f7\u4e4b\u540e\u548c\u7ed3\u675f\u53cd\u5f15\u53f7\u4e4b\u524d\u7684\u7a7a\u683c\u5c06\u88ab\u5ffd\u7565\u3002\uff09

\u4e00\u822c\u89c4\u5219\u662f\uff0c\u9010\u5b57\u8de8\u5ea6\u4ee5\u4e00\u4e32\u8fde\u7eed\u7684\u53cd\u5f15\u53f7\uff08\u53ef\u9009\u5730\u540e\u8ddf\u4e00\u4e2a\u7a7a\u683c\uff09\u5f00\u59cb\uff0c\u5e76\u4ee5\u4e00\u4e32\u76f8\u540c\u6570\u91cf\u7684\u53cd\u5f15\u53f7\uff08\u53ef\u9009\u5730\u524d\u8ddf\u4e00\u4e2a\u7a7a\u683c\uff09\u7ed3\u675f\u3002

\u8bf7\u6ce8\u610f\uff0c\u53cd\u659c\u6760\u8f6c\u4e49\u7b26\uff08\u5305\u62ec\u5176\u4ed6 Markdown \u7ed3\u6784\uff09\u5728\u9010\u5b57\u4e0a\u4e0b\u6587\u4e2d\u4e0d\u8d77\u4f5c\u7528\uff1a

\u8fd9\u662f\u4e00\u6bb5\u6f14\u793a\u6587\u672c\uff1a`\\*`

  • \u6269\u5c55\uff1binline_code_attributes

\u5c5e\u6027\u53ef\u4ee5\u9644\u52a0\u5230\u9010\u5b57\u6587\u672c\uff0c\u5c31\u50cf\u56f4\u680f\u4ee3\u7801\u5757\u4e00\u6837\uff1a

`<$>`{.haskell}\n
","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_21","title":"\u4e0b\u5212\u7ebf","text":"

\u8981\u5bf9\u6307\u5b9a\u7684\u6587\u672c\u8bbe\u7f6e\u4e0b\u5212\u7ebf\uff0c\u8bf7 underline \u7c7b\u3002\u4f8b\u5982\uff1a

[\u5e26\u6709\u4e0b\u5212\u7ebf\u7684\u6f14\u793a\u6587\u672c]{.underline}\n

\u6216\u8005\uff0c\u6ca1\u6709 bracketed_spans \u6269\u5c55\uff08\u4f46\u6709 native_spans\uff09\uff0c\u4f60\u53ef\u4ee5\uff1a

<span class=\"underline\">\u5e26\u6709\u4e0b\u5212\u7ebf\u7684\u6f14\u793a\u6587\u672c</span>\n

\u8fd9\u5c06\u9002\u7528\u4e8e\u6240\u6709\u652f\u6301\u4e0b\u5212\u7ebf\u7684\u8f93\u51fa\u683c\u5f0f\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_22","title":"\u5c0f\u578b\u5927\u5199\u5b57\u6bcd","text":"

\u8981\u7f16\u5199\u5c0f\u578b\u5927\u5199\u5b57\u6bcd\uff0c\u8bf7\u4f7f\u7528 smallcaps \u7c7b\uff1a

[Small caps]{.smallcaps}\n

\u6216\u8005\uff0c\u6ca1\u6709 bracketed_spans \u6269\u5c55\uff0c\u4f60\u53ef\u4ee5\uff1a

<span class=\"smallcaps\">Small caps</span>\n

\u4e3a\u4e86\u4e0e\u5176\u4ed6 Markdown \u98ce\u683c\u517c\u5bb9\uff0cpandoc \u8fd8\u652f\u6301 CSS\uff1a

<span style=\"font-variant:small-caps;\">Small caps</span>\n

\u8fd9\u5c06\u9002\u7528\u4e8e\u6240\u6709\u652f\u6301\u5c0f\u578b\u5927\u5199\u5b57\u6bcd\u7684\u8f93\u51fa\u683c\u5f0f\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_23","title":"\u9ad8\u4eae\u6587\u672c","text":"

\u8981\u7a81\u51fa\u663e\u793a\uff08Highlighting\uff09\u6587\u672c\uff0c\u8bf7\u4f7f\u7528 mark \u7c7b\uff1a

[\u6807\u8bb0]{.mark}\n

\u6216\u8005\uff0c\u4e0d\u4f7f\u7528 bracketed_spans \u6269\u5c55\uff08\u4f46\u4f7f\u7528 native_spans\uff09\uff1a

<span class=\"mark\">\u6807\u8bb0</span>\n

\u8fd9\u9002\u7528\u4e8e\u6240\u6709\u652f\u6301\u7a81\u51fa\u663e\u793a\u7684\u8f93\u51fa\u683c\u5f0f

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_24","title":"\u6570\u5b66","text":"
  • \u6269\u5c55\uff1atex_math_dollars

\u4e24\u4e2a $ \u5b57\u7b26\u4e4b\u95f4\u7684\u4efb\u4f55\u5185\u5bb9\u90fd\u5c06\u88ab\u89c6\u4e3a TeX \u6570\u5b66\u3002\u5f00\u5934 $ \u7684\u53f3\u8fb9\u5fc5\u987b\u6709\u4e00\u4e2a\u975e\u7a7a\u683c\u5b57\u7b26\uff0c\u800c\u7ed3\u5c3e $ \u7684\u5de6\u8fb9\u5fc5\u987b\u6709\u4e00\u4e2a\u975e\u7a7a\u683c\u5b57\u7b26\uff0c\u5e76\u4e14\u540e\u9762\u4e0d\u80fd\u7d27\u8ddf\u6570\u5b57\u3002\u56e0\u6b64\uff0c$20,000 \u548c $30,000 \u4e0d\u4f1a\u89e3\u6790\u4e3a\u6570\u5b66\u3002\u5982\u679c\u51fa\u4e8e\u67d0\u79cd\u539f\u56e0\u60a8\u9700\u8981\u5c06\u6587\u672c\u5305\u542b\u5728\u6587\u5b57 $ \u5b57\u7b26\u4e2d\uff0c\u8bf7\u5bf9\u5b83\u4eec\u8fdb\u884c\u53cd\u659c\u6760\u8f6c\u4e49\uff0c\u5b83\u4eec\u5c06\u4e0d\u4f1a\u88ab\u89c6\u4e3a\u6570\u5b66\u5b9a\u754c\u7b26\u3002

\u4e3a\u4e86\u663e\u793a\u6570\u5b66\u5185\u5bb9\uff0c\u8bf7\u4f7f\u7528 $$ \u5206\u9694\u7b26\u3002\uff08\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u5b9a\u754c\u7b26\u53ef\u4ee5\u7528\u7a7a\u683c\u4e0e\u516c\u5f0f\u5206\u9694\u5f00\u3002\u4f46\u662f\u5f00\u59cb\u548c\u7ed3\u675f $$ \u5b9a\u754c\u7b26\u4e4b\u95f4\u4e0d\u80fd\u6709\u7a7a\u884c\u3002\uff09

TeX \u6570\u5b66\u5c06\u4ee5\u6240\u6709\u8f93\u51fa\u683c\u5f0f\u6253\u5370\u3002\u5b83\u7684\u5448\u73b0\u65b9\u5f0f\u53d6\u51b3\u4e8e\u8f93\u51fa\u683c\u5f0f\uff1a

  • LaTeX \u5b83\u5c06\u9010\u5b57\u663e\u793a\u5728 \\(...\\)\uff08\u7528\u4e8e\u5185\u8054\u6570\u5b66\uff09\u6216 \\[...\\]\uff08\u7528\u4e8e display math\uff09\u4e2d\u3002
  • Markdown\u3001Emacs Org mode\u3001ConTeXt\u3001ZimWiki \u5b83\u5c06\u9010\u5b57\u9010\u53e5\u5730\u51fa\u73b0\u5728 $...$\uff08\u7528\u4e8e\u5185\u8054\u6570\u5b66\uff09\u6216 $$...$$\uff08\u7528\u4e8e display math\uff09\u4e2d\u3002
  • XWiki \u5b83\u4f1a\u9010\u5b57\u663e\u793a\u5728 {{formula}}..{{/formula}} \u4e2d\u3002
  • reStructuredText \u5b83\u5c06\u4f7f\u7528\u89e3\u91ca\u6587\u672c\u89d2\u8272 :math: \u5448\u73b0\u3002
  • AsciiDoc \u5bf9\u4e8e AsciiDoc \u8f93\u51fa\u683c\u5f0f\uff08-t asciidoc\uff09\uff0c\u5b83\u5c06\u9010\u5b57\u9010\u53e5\u5730\u88ab latexmath:[$...$] \u5305\u56f4\uff08\u7528\u4e8e\u5185\u8054\u6570\u5b66\uff09\u6216\u88ab [latexmath]++++\\[...\\]+++ \u5305\u56f4\uff08\u7528\u4e8e display math\uff09\u3002\u5bf9\u4e8e AsciiDoctor \u8f93\u51fa\u683c\u5f0f\uff08-t asciidoctor\uff09\uff0cLaTeX \u5b9a\u754c\u7b26\uff08$..$ \u548c \\[..\\]\uff09\u88ab\u7701\u7565\u3002
  • Texinfo \u5b83\u5c06\u5728 @math \u547d\u4ee4\u4e2d\u5448\u73b0\u3002
  • roff man\u3001Jira markup \u5b83\u5c06\u5728\u6ca1\u6709 $ \u7684\u60c5\u51b5\u4e0b\u9010\u5b57\u5448\u73b0\u3002
  • MediaWiki\u3001DokuWiki \u5b83\u5c06\u5728 <math> \u6807\u7b7e\u5185\u5448\u73b0\u3002
  • Textile \u5b83\u5c06\u5728 <span class=\"math\"> \u6807\u7b7e\u5185\u5448\u73b0\u3002
  • RTF\u3001OpenDocument \u5982\u679c\u53ef\u80fd\uff0c\u5b83\u5c06\u4f7f\u7528 Unicode \u5b57\u7b26\u5448\u73b0\uff0c\u5426\u5219\u5c06\u9010\u5b57\u663e\u793a\u3002
  • ODT \u5982\u679c\u53ef\u80fd\uff0c\u5b83\u5c06\u4f7f\u7528 MathML \u5448\u73b0\u3002
  • DocBook \u5982\u679c\u4f7f\u7528 --mathml \u6807\u5fd7\uff0c\u5b83\u5c06\u5728 inlineequation \u6216 informalequation \u6807\u8bb0\u4e2d\u4f7f\u7528 MathML \u5448\u73b0\u3002\u5426\u5219\uff0c\u5982\u679c\u53ef\u80fd\uff0c\u5c06\u4f7f\u7528 Unicode \u5b57\u7b26\u5448\u73b0\u3002
  • Docx \u548c PowerPoint \u5b83\u5c06\u4f7f\u7528 OMML \u6570\u5b66\u6807\u8bb0\u5448\u73b0\u3002
  • FictionBook2 \u5982\u679c\u4f7f\u7528 --webtex \u9009\u9879\uff0c\u516c\u5f0f\u5c06\u4f7f\u7528 CodeCogs \u6216\u5176\u4ed6\u517c\u5bb9\u7684\u7f51\u7edc\u670d\u52a1\u5448\u73b0\u4e3a\u56fe\u50cf\uff0c\u4e0b\u8f7d\u5e76\u5d4c\u5165\u7535\u5b50\u4e66\u4e2d\u3002\u5426\u5219\uff0c\u5b83\u4eec\u5c06\u9010\u5b57\u51fa\u73b0\u3002
  • HTML\u3001Slidy\u3001DZSlides\u3001S5\u3001EPUB \u6570\u5b66\u5728 HTML \u4e2d\u7684\u5448\u73b0\u65b9\u5f0f\u5c06\u53d6\u51b3\u4e8e\u6240\u9009\u7684\u547d\u4ee4\u884c\u9009\u9879\u3002\u56e0\u6b64\u8bf7\u53c2\u9605\u4e0a\u9762\u7684 HTML \u4e2d\u7684\u6570\u5b66\u6e32\u67d3\u3002
","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#html","title":"\u539f\u59cb HTML","text":"
  • \u6269\u5c55\uff1araw_html

Markdown \u5141\u8bb8\u60a8\u5728\u6587\u6863\u4e2d\u7684\u4efb\u4f55\u4f4d\u7f6e\u63d2\u5165\u539f\u59cb HTML\uff08\u6216 DocBook\uff09\uff08\u9010\u5b57\u4e0a\u4e0b\u6587\u9664\u5916\uff0c\u5176\u4e2d <\u3001> \u548c & \u6309\u5b57\u9762\u89e3\u91ca\uff09\u3002\uff08\u4ece\u6280\u672f\u4e0a\u8bb2\uff0c\u8fd9\u4e0d\u662f\u4e00\u4e2a\u6269\u5c55\uff0c\u56e0\u4e3a\u6807\u51c6 Markdown \u5141\u8bb8\u5b83\uff0c\u4f46\u5b83\u5df2\u7ecf\u6210\u4e3a\u4e00\u4e2a\u6269\u5c55\uff0c\u4ee5\u4fbf\u5728\u9700\u8981\u65f6\u53ef\u4ee5\u5c06\u5176\u7981\u7528\u3002\uff09

\u539f\u59cb HTML \u5728 HTML\u3001S5\u3001Slidy\u3001Slideous\u3001DZSlides\u3001EPUB\u3001Markdown\u3001CommonMark\u3001Emacs Org \u6a21\u5f0f\u548c Textile \u8f93\u51fa\u4e2d\u901a\u8fc7\uff0c\u5e76\u5728\u5176\u4ed6\u683c\u5f0f\u4e2d\u88ab\u6291\u5236\u3002

\u6709\u5173\u5728 Markdown \u6587\u6863\u4e2d\u5305\u542b\u539f\u59cb HTML \u7684\u66f4\u660e\u786e\u7684\u65b9\u6cd5\uff0c\u8bf7\u53c2\u9605 raw_attribute \u6269\u5c55\u3002

\u5728 CommonMark \u683c\u5f0f\u4e2d\uff0c\u5982\u679c\u542f\u7528\u4e86 raw_html\uff0c\u5219\u4e0a\u6807\u3001\u4e0b\u6807\u3001\u5220\u9664\u7ebf\u548c\u5c0f\u578b\u5927\u5199\u5b57\u6bcd\u5c06\u4ee5 HTML \u8868\u793a\u3002\u5426\u5219\uff0c\u5c06\u4f7f\u7528\u7eaf\u6587\u672c\u56de\u9000\u3002\u8bf7\u6ce8\u610f\uff0c\u5373\u4f7f\u7981\u7528\u4e86 raw_html\uff0c\u5982\u679c\u8868\u683c\u4e0d\u80fd\u4f7f\u7528\u7ba1\u9053\u8bed\u6cd5\uff0c\u5b83\u4eec\u4e5f\u4f1a\u4f7f\u7528 HTML \u8bed\u6cd5\u5448\u73b0\u3002

  • \u6269\u5c55\uff1amarkdown_in_html_blocks

\u539f\u59cb Markdown \u5141\u8bb8\u60a8\u5305\u542b HTML \u201c\u5757\u201d\uff1a\u5bf9\u7b49\u6807\u7b7e\u4e4b\u95f4\u7684 HTML \u5757\uff0c\u8fd9\u4e9b\u6807\u7b7e\u4e0e\u5468\u56f4\u7684\u6587\u672c\u7528\u7a7a\u884c\u5206\u9694\uff0c\u5e76\u5728\u5de6\u8fb9\u8ddd\u5f00\u59cb\u548c\u7ed3\u675f\u3002\u5728\u8fd9\u4e9b\u5757\u4e2d\uff0c\u6240\u6709\u5185\u5bb9\u90fd\u88ab\u89e3\u91ca\u4e3a HTML\uff0c\u800c\u4e0d\u662f Markdown\uff1b\u4f8b\u5982\uff0c* \u5e76\u4e0d\u8868\u793a\u5f3a\u8c03\u3002

\u5f53\u4f7f\u7528 markdown_strict \u683c\u5f0f\u65f6\uff0cPandoc \u7684\u884c\u4e3a\u662f\u8fd9\u6837\u7684\uff1b\u4f46\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0cpandoc \u5c06 HTML \u5757\u6807\u8bb0\u4e4b\u95f4\u7684\u5185\u5bb9\u89e3\u91ca\u4e3a Markdown\u3002\u4f8b\u5982\uff0cpandoc \u5c06\u5982\u4e0b\u5185\u5bb9

<table>\n<tr>\n<td>*one*</td>\n<td>[a link](https://google.com)</td>\n</tr>\n</table>\n

\u8f6c\u6362\u4e3a

<table>\n<tr>\n<td><em>one</em></td>\n<td><a href=\"https://google.com\">a link</a></td>\n</tr>\n</table>\n

\u800c Markdown.pl \u5c06\u6309\u539f\u6837\u4fdd\u7559\u5b83\u3002

\u6b64\u89c4\u5219\u6709\u4e00\u4e2a\u4f8b\u5916\uff1a<script>\u3001<style> \u548c <textarea> \u6807\u7b7e\u4e4b\u95f4\u7684\u6587\u672c\u4e0d\u4f1a\u88ab\u89e3\u91ca\u4e3a Markdown\u3002

\u8fd9\u79cd\u4e0e\u539f\u59cb Markdown \u7684\u80cc\u79bb\u4f7f\u5f97 pandoc \u66f4\u5bb9\u6613\u5730\u5c06 Markdown \u4e0e HTML \u5757\u5143\u7d20\u6df7\u5408\u4f7f\u7528\u3002\u4f8b\u5982\uff0c\u4f60\u53ef\u4ee5\u7528 <div> \u6807\u7b7e\u5305\u56f4\u4e00\u6bb5 Markdown \u6587\u672c\uff0c\u800c\u4e0d\u7528\u62c5\u5fc3\u5b83\u4e0d\u4f1a\u88ab\u89e3\u91ca\u4e3a Markdown\u3002

  • \u6269\u5c55\uff1anative_divs

\u8be5\u6269\u5c55\u7528\u4e8e\u5bf9 <div> \u6807\u7b7e\u5185\u7684\u5185\u5bb9\u4f7f\u7528\u539f\u751f pandoc Div \u5757\u3002\u5728\u5927\u591a\u6570\u60c5\u51b5\u4e0b\uff0c\u8fd9\u5e94\u8be5\u63d0\u4f9b\u4e0e markdown_in_html_blocks \u76f8\u540c\u7684\u8f93\u51fa\uff0c\u4f46\u5b83\u53ef\u4ee5\u66f4\u5bb9\u6613\u5730\u7f16\u5199 pandoc \u8fc7\u6ee4\u5668\u6765\u64cd\u4f5c\u5757\u7ec4\u3002

  • \u6269\u5c55\uff1anative_spans

\u8be5\u6269\u5c55\u7528\u4e8e\u5bf9 <span> \u6807\u7b7e\u5185\u7684\u5185\u5bb9\u4f7f\u7528\u539f\u751f pandoc Span \u5757\u3002\u5728\u5927\u591a\u6570\u60c5\u51b5\u4e0b\uff0c\u8fd9\u5e94\u8be5\u63d0\u4f9b\u4e0e raw_html \u76f8\u540c\u7684\u8f93\u51fa\uff0c\u4f46\u5b83\u4f7f\u7f16\u5199 pandoc \u8fc7\u6ee4\u5668\u6765\u64cd\u4f5c\u5185\u8054\u7ec4\u53d8\u5f97\u66f4\u5bb9\u6613\u3002

  • \u6269\u5c55\uff1araw_tex

\u9664\u4e86\u539f\u59cb HTML \u4e4b\u5916\uff0cpandoc \u8fd8\u5141\u8bb8\u5c06\u539f\u59cb LaTeX\u3001TeX \u548c ConTeXt \u5305\u542b\u5728\u6587\u6863\u4e2d\u3002\u5185\u8054 TeX \u547d\u4ee4\u5c06\u88ab\u4fdd\u7559\u5e76\u539f\u5c01\u4e0d\u52a8\u5730\u4f20\u9012\u7ed9 LaTeX \u548c ConTeXt \u7f16\u5199\u5668\u3002\u56e0\u6b64\uff0c\u4f8b\u5982\uff0c\u4f60\u53ef\u4ee5\u4f7f\u7528 LaTeX \u6765\u5305\u542b BibTeX \u5f15\u7528\uff1a

This result was proved in \\cite{jones.1967}.\n

\u8bf7\u6ce8\u610f\uff0c\u5728 LaTeX \u73af\u5883\u4e2d\uff0c\u4f8b\u5982

\\begin{tabular}{|l|l|}\\hline\nAge & Frequency \\\\ \\hline\n18--25  & 15 \\\\\n26--35  & 33 \\\\\n36--45  & 22 \\\\ \\hline\n\\end{tabular}\n

\u5f00\u59cb\u548c\u7ed3\u675f\u6807\u7b7e\u4e4b\u95f4\u7684\u5185\u5bb9\u5c06\u88ab\u89e3\u91ca\u4e3a\u539f\u59cb LaTeX\uff0c\u800c\u4e0d\u662f Markdown\u3002

\u6709\u5173\u5728 Markdown \u6587\u6863\u4e2d\u5305\u542b\u539f\u59cb TeX \u7684\u66f4\u660e\u786e\u548c\u7075\u6d3b\u7684\u65b9\u6cd5\uff0c\u8bf7\u53c2\u9605 raw_attribute \u6269\u5c55\u3002

\u5728\u9664 Markdown\u3001LaTeX\u3001Emacs Org \u6a21\u5f0f\u548c ConTeXt \u4e4b\u5916\u7684\u8f93\u51fa\u683c\u5f0f\u4e2d\uff0c\u5185\u8054 LaTeX \u4f1a\u88ab\u5ffd\u7565\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_25","title":"\u901a\u7528\u539f\u59cb\u5c5e\u6027","text":"
  • \u6269\u5c55\uff1araw_attribute

\u5177\u6709\u7279\u6b8a\u5c5e\u6027\u7684\u5185\u8054 span \u548c\u56f4\u680f\u4ee3\u7801\u5757\u5c06\u88ab\u89e3\u6790\u4e3a\u5177\u6709\u6307\u5b9a\u683c\u5f0f\u7684\u539f\u59cb\u5185\u5bb9\u3002\u4f8b\u5982\uff0c\u4ee5\u4e0b\u751f\u6210\u4e00\u4e2a\u539f\u59cb\u7684 roff ms \u5757\uff1a

```{=ms}\n.MYMACRO\nblah blah\n```\n

\u4ee5\u4e0b\u5c06\u751f\u6210\u4e00\u4e2a\u539f\u59cb\u7684 html \u5185\u8054\u5143\u7d20\uff1a

This is `<a>html</a>`{=html}\n

\u8fd9\u5bf9\u4e8e\u5c06\u539f\u59cb xml \u63d2\u5165 docx \u6587\u6863\u5f88\u6709\u7528\uff0c\u4f8b\u5982\u5206\u9875\u7b26\uff1a

```{=openxml}\n<w:p>\n  <w:r>\n    <w:br w:type=\"page\"/>\n  </w:r>\n</w:p>\n```\n

\u683c\u5f0f\u540d\u79f0\u5e94\u4e0e\u76ee\u6807\u683c\u5f0f\u540d\u79f0\u76f8\u5339\u914d\uff08\u8bf7\u53c2\u9605\u4e0a\u9762\u7684 -t/--to \u4ee5\u83b7\u53d6\u5217\u8868\uff0c\u6216\u4f7f\u7528 pandoc --list-output-formats\uff09\u3002\u5c06 openxml \u7528\u4e8e docx \u8f93\u51fa\uff0c\u5c06 opendocument \u7528\u4e8e odt \u8f93\u51fa\uff0c\u5c06 html5 \u7528\u4e8e epub3 \u8f93\u51fa\uff0c\u5c06 html4 \u7528\u4e8e epub2 \u8f93\u51fa\uff0c\u5c06 latex\u3001beamer\u3001ms \u6216 html5 \u7528\u4e8e pdf \u8f93\u51fa\uff08\u53d6\u51b3\u4e8e\u4f60\u5bf9 --pdf-engine \u4f7f\u7528\u7684\u662f\u4ec0\u4e48\uff09\u3002

\u6b64\u6269\u5c55\u5047\u5b9a\u76f8\u5173\u7c7b\u578b\u7684\u5185\u8054\u4ee3\u7801\u6216\u56f4\u680f\u4ee3\u7801\u5757\u5df2\u542f\u7528\u3002\u56e0\u6b64\uff0c\u8981\u4f7f\u7528\u5e26\u6709\u53cd\u5f15\u53f7\u4ee3\u7801\u5757\u7684\u539f\u59cb\u5c5e\u6027\uff0c\u5fc5\u987b\u542f\u7528 backtick_code_blocks\u3002

\u539f\u59cb\u5c5e\u6027\u4e0d\u80fd\u4e0e\u5e38\u89c4\u5c5e\u6027\u7ed3\u5408\u4f7f\u7528\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#latex","title":"LaTeX \u5b8f","text":"
  • \u6269\u5c55\uff1alatex_macros

\u542f\u7528\u6b64\u6269\u5c55\u540e\uff0cpandoc \u5c06\u89e3\u6790 LaTeX \u5b8f\u5b9a\u4e49\u5e76\u5c06\u751f\u6210\u7684\u5b8f\u5e94\u7528\u4e8e\u6240\u6709 LaTeX \u6570\u5b66\u548c\u539f\u59cb LaTeX\u3002\u4f8b\u5982\uff0c\u4ee5\u4e0b\u5c06\u9002\u7528\u4e8e\u6240\u6709\u8f93\u51fa\u683c\u5f0f\uff0c\u800c\u4e0d\u4ec5\u4ec5\u662f LaTeX\uff1a

\\newcommand{\\tuple}[1]{\\langle #1 \\rangle}\n\n$\\tuple{a, b, c}$\n

\u8bf7\u6ce8\u610f\uff0c\u5982\u679c LaTeX \u5b8f\u51fa\u73b0\u5728\u6807\u6709 raw_attribute \u6269\u5c55\u7684\u539f\u59cb span \u6216\u5757\u5185\uff0c\u5219 pandoc \u4e0d\u4f1a\u5e94\u7528\u5b83\u4eec\u3002

\u5f53 latex_macros \u88ab\u7981\u7528\u65f6\uff0c\u539f\u59cb LaTeX \u548c\u6570\u5b66\u5c06\u4e0d\u4f1a\u5e94\u7528\u5b8f\u3002\u5f53\u60a8\u4ee5 LaTeX \u6216 PDF \u4e3a\u76ee\u6807\u65f6\uff0c\u8fd9\u901a\u5e38\u662f\u66f4\u597d\u7684\u65b9\u6cd5\u3002

\u4ec5\u5f53\u672a\u542f\u7528 latex_macros \u65f6\uff0cLaTeX \u4e2d\u7684\u5b8f\u5b9a\u4e49\u624d\u4f1a\u4f5c\u4e3a\u539f\u59cb LaTeX \u4f20\u9012\u3002\u65e0\u8bba\u662f\u5426\u542f\u7528 latex_macros\uff0cMarkdown \u6e90\u7801\uff08\u6216\u5176\u4ed6\u5141\u8bb8 raw_tex \u7684\u683c\u5f0f\uff09\u4e2d\u7684\u5b8f\u5b9a\u4e49\u90fd\u5c06\u88ab\u4f20\u9012\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_26","title":"\u94fe\u63a5","text":"

Markdown \u5141\u8bb8\u4ee5\u591a\u79cd\u65b9\u5f0f\u6307\u5b9a\u94fe\u63a5\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_27","title":"\u81ea\u52a8\u94fe\u63a5","text":"

\u5982\u679c\u60a8\u5c06 URL \u6216\u7535\u5b50\u90ae\u4ef6\u5730\u5740\u62ec\u5728\u5c16\u62ec\u53f7\u4e2d\uff0c\u5b83\u5c06\u6210\u4e3a\u4e00\u4e2a\u94fe\u63a5\uff1a

<http://example.com>\n<exmaple@example.com>\n
","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_28","title":"\u5185\u8054\u94fe\u63a5","text":"

\u5185\u8054\u94fe\u63a5\uff08Inline links\uff09\u7531\u65b9\u62ec\u53f7\u4e2d\u7684\u94fe\u63a5\u6587\u672c\u548c\u540e\u8ddf\u5706\u62ec\u53f7\u4e2d\u7684 URL \u7ec4\u6210\u3002\uff08\u6b64\u5916\uff0c\u4f60\u8fd8\u53ef\u4ee5\u5728 URL \u540e\u9762\u9644\u4e0a\u4e00\u4e2a\u7528\u5f15\u53f7\u62ec\u8d77\u6765\u7684\u94fe\u63a5\u6807\u9898\u3002\uff09

\u8fd9\u662f\u4e00\u53e5[\u6f14\u793a](http://example.com \"\u94fe\u63a5\u6807\u9898\")\u6587\u672c\u3002\n

\u62ec\u53f7\u5185\u7684\u90e8\u5206\u548c\u62ec\u53f7\u5185\u7684\u90e8\u5206\u4e4b\u95f4\u4e0d\u80fd\u6709\u7a7a\u683c\u3002\u94fe\u63a5\u6587\u672c\u53ef\u4ee5\u5305\u542b\u683c\u5f0f\uff08\u4f8b\u5982\u5f3a\u8c03\uff09\uff0c\u4f46\u94fe\u63a5\u6807\u9898\u4e0d\u53ef\u4ee5\u3002

\u5185\u8054\u94fe\u63a5\u4e2d\u7684\u7535\u5b50\u90ae\u4ef6\u5730\u5740\u4e0d\u4f1a\u88ab\u81ea\u52a8\u68c0\u6d4b\u5230\uff0c\u56e0\u6b64\u5b83\u4eec\u5fc5\u987b\u4ee5 mailto \u4e3a\u524d\u7f00\uff1a

[\u8bf7\u5199\u4fe1\u7ed9\u6211](mailto:exmaple@example.com)\n
","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_29","title":"\u5f15\u7528\u94fe\u63a5","text":"

\u663e\u5f0f\u5f15\u7528\u94fe\u63a5\uff08Reference links\uff09\u7531\u4e24\u90e8\u5206\u7ec4\u6210\uff0c\u5206\u522b\u662f\uff1a\u94fe\u63a5\u672c\u8eab\u548c\u94fe\u63a5\u5b9a\u4e49\uff1b\u540e\u8005\u53ef\u80fd\u51fa\u73b0\u5728\u6587\u6863\u7684\u5176\u4ed6\u5730\u65b9\uff08\u94fe\u63a5\u4e4b\u524d\u6216\u4e4b\u540e\uff09\u3002

\u94fe\u63a5\u7531\u7b2c\u4e00\u4e2a\u65b9\u62ec\u53f7\u4e2d\u7684\u94fe\u63a5\u6587\u672c\u548c\u7b2c\u4e8c\u4e2a\u65b9\u62ec\u53f7\u4e2d\u7684\u6807\u7b7e\u7ec4\u6210\uff08\u9664\u975e\u542f\u7528\u4e86 spaced_reference_links \u6269\u5c55\uff0c\u5426\u5219\u4e24\u4e2a\u65b9\u62ec\u53f7\u4e4b\u95f4\u4e0d\u80fd\u6709\u7a7a\u683c\uff09\u3002

\u94fe\u63a5\u5b9a\u4e49\u7531\u88ab\u62ec\u53f7\u56f4\u8d77\u6765\u7684\u6807\u7b7e\u3001\u5192\u53f7\u548c\u7a7a\u683c\uff0c\u7136\u540e\u662f URL\uff0c\u4ee5\u53ca\u53ef\u80fd\u5b58\u5728\u7684\uff08\u5728\u7a7a\u683c\u4e4b\u540e\uff09\u7528\u5f15\u53f7\u6216\u62ec\u53f7\u56f4\u8d77\u6765\u7684\u94fe\u63a5\u6807\u9898\u6240\u7ec4\u6210\u3002\u6807\u7b7e\u4e0d\u80fd\u4f5c\u4e3a\u5f15\u7528\uff08citation\uff09\u8fdb\u884c\u89e3\u6790\uff08\u5047\u8bbe\u542f\u7528\u4e86 citations \u6269\u5c55\uff09\uff1a\u5f15\u7528\uff08citations\uff09\u4f18\u5148\u4e8e\u94fe\u63a5\u6807\u7b7e\uff08Reference links' labels\uff09\u3002

\u4ee5\u4e0b\u662f\u4e00\u4efd\u6837\u4f8b\uff1a

[my label 1]: /foo/bar.html  \"My title, optional\"\n[my label 2]: /foo\n[my label 3]: https://fsf.org (The Free Software Foundation)\n[my label 4]: /bar#special  'A title in single quotes'\n

URL \u53ef\u4ee5\u9009\u62e9\u7528\u5c16\u62ec\u53f7\u62ec\u8d77\u6765\uff1a

[my label 5]: <http://foo.bar.baz>\n

\u6807\u9898\u53ef\u80fd\u5728\u4e0b\u4e00\u884c\uff1a

[my label 3]: https://fsf.org\n  \"The Free Software Foundation\"\n

\u8bf7\u6ce8\u610f\uff0c\u94fe\u63a5\u6807\u7b7e\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u3002\u6240\u4ee5\uff0c\u4ee5\u4e0b\u7684\u7528\u6cd5\u4e5f\u662f\u6709\u6548\u7684\uff1a

Here is [my link][FOO]\n\n[Foo]: /bar/baz\n

\u5728\u9690\u5f0f\u5f15\u7528\u94fe\u63a5\u4e2d\uff0c\u7b2c\u4e8c\u5bf9\u62ec\u53f7\u4e3a\u7a7a\uff1a

See [my website][].\n\n[my website]: http://foo.bar.baz\n

\u6ce8\u610f\uff1a\u5728 Markdown.pl \u548c\u5927\u591a\u6570\u5176\u4ed6 Markdown \u5b9e\u73b0\u4e2d\uff0c\u5f15\u7528\u94fe\u63a5\u5b9a\u4e49\u4e0d\u80fd\u51fa\u73b0\u5728\u5d4c\u5957\u7ed3\u6784\u4e2d\uff0c\u4f8b\u5982\u5217\u8868\u9879\u6216\u5757\u5f15\u53f7\u3002Pandoc \u53d6\u6d88\u4e86\u8fd9\u4e2a\u770b\u4f3c\u6b66\u65ad\u7684\u9650\u5236\u3002\u6240\u4ee5\u4ee5\u4e0b\u5185\u5bb9\u5728 pandoc \u4e2d\u53ef\u4ee5\u6b63\u5e38\u5de5\u4f5c\uff0c\u4f46\u5728\u5927\u591a\u6570\u5176\u4ed6\u5b9e\u73b0\u4e2d\u5219\u4e0d\u884c\uff1a

> My block [quote].\n>\n> [quote]: /foo\n
  • \u6269\u5c55\uff1ashortcut_reference_links

\u5728\u5feb\u6377\u5f15\u7528\u94fe\u63a5\u4e2d\uff0c\u7b2c\u4e8c\u5bf9\u62ec\u53f7\u53ef\u4ee5\u5b8c\u5168\u7701\u7565\uff1a

See [my website].\n\n[my website]: http://foo.bar.baz\n
","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_30","title":"\u5185\u90e8\u94fe\u63a5","text":"

\u8981\u94fe\u63a5\u5230\u540c\u4e00\u6587\u6863\u7684\u53e6\u4e00\u90e8\u5206\uff0c\u8bf7\u4f7f\u7528\u81ea\u52a8\u751f\u6210\u7684\u6807\u8bc6\u7b26\uff08\u8bf7\u53c2\u9605\u6807\u9898\u6807\u8bc6\u7b26\uff09\u3002\u4f8b\u5982\uff1a

See the [Introduction](#introduction).\n

\u6216

See the [Introduction].\n\n[Introduction]: #introduction\n

\u76ee\u524d\u652f\u6301 HTML \u683c\u5f0f\uff08\u5305\u62ec HTML \u5e7b\u706f\u7247\u653e\u6620\u548c EPUB\uff09\u3001LaTeX \u548c ConTeXt \u7684\u5185\u90e8\u94fe\u63a5\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_31","title":"\u56fe\u50cf","text":"

\u4e00\u4e2a\u94fe\u63a5\u524d\u9762\u7d27\u8ddf\u7740\u4e00\u4e2a ! \u5c06\u88ab\u89c6\u4e3a\u56fe\u50cf\u3002\u94fe\u63a5\u6587\u672c\u5c06\u7528\u4f5c\u56fe\u50cf\u7684\u66ff\u4ee3\u6587\u672c\uff1a

![image1](example.png \"image tile\")\n\n![image2]\n\n[image2]: example.jpg\n
  • \u6269\u5c55\uff1aimplicit_figures

\u5e26\u6709\u975e\u7a7a\u66ff\u4ee3\u6587\u672c\u7684\u56fe\u50cf\u5728\u6bb5\u843d\u4e2d\u5355\u72ec\u51fa\u73b0\uff0c\u5c06\u5448\u73b0\u4e3a\u5e26\u6709\u6807\u9898\u7684\u56fe\u5f62\u3002\u56fe\u50cf\u7684\u66ff\u4ee3\u6587\u672c\u5c06\u7528\u4f5c\u6807\u9898\u3002

![\u8fd9\u662f\u6807\u9898](/url/of/image.png)\n

\u5982\u4f55\u5448\u73b0\u53d6\u51b3\u4e8e\u8f93\u51fa\u683c\u5f0f\u3002\u67d0\u4e9b\u8f93\u51fa\u683c\u5f0f\uff08\u4f8b\u5982 RTF\uff09\u5c1a\u4e0d\u652f\u6301\u56fe\u5f62\u3002\u5728\u8fd9\u4e9b\u683c\u5f0f\u4e2d\uff0c\u60a8\u53ea\u4f1a\u5728\u6bb5\u843d\u4e2d\u5355\u72ec\u83b7\u5f97\u4e00\u5f20\u6ca1\u6709\u6807\u9898\u7684\u56fe\u7247\u3002

\u5982\u679c\u60a8\u53ea\u60f3\u8981\u4e00\u4e2a\u5e38\u89c4\u7684\u5185\u8054\u56fe\u50cf\uff0c\u53ea\u9700\u786e\u4fdd\u5b83\u4e0d\u662f\u6bb5\u843d\u4e2d\u7684\u552f\u4e00\u5185\u5bb9\u3002\u4e00\u79cd\u65b9\u6cd5\u662f\u5728\u56fe\u50cf\u540e\u63d2\u5165\u4e00\u4e2a\u4e0d\u95f4\u65ad\u7684\u7a7a\u683c\u3002

\u8bf7\u6ce8\u610f\uff0c\u5728 reveal.js \u5e7b\u706f\u7247\u653e\u6620\u4e2d\uff0c\u6bb5\u843d\u4e2d\u5177\u6709 r-stretch \u7c7b\u7684\u56fe\u50cf\u5c06\u586b\u6ee1\u5c4f\u5e55\uff0c\u6807\u9898\u548c\u56fe\u5f62\u6807\u7b7e\u5c06\u88ab\u7701\u7565\u3002

  • \u6269\u5c55\uff1alink_attributes

\u53ef\u4ee5\u5728\u94fe\u63a5\u548c\u56fe\u50cf\u4e0a\u8bbe\u7f6e\u5c5e\u6027\uff1a

An inline ![image](foo.jpg){#id .class width=30 height=20px}\nand a reference ![image][ref] with attributes.\n\n[ref]: foo.jpg \"optional title\" {#id .class key=val key2=\"val 2\"}\n

\uff08\u5f53\u4ec5\u4f7f\u7528 #id \u548c .class \u65f6\uff0c\u6b64\u8bed\u6cd5\u4e0e PHP Markdown Extra \u517c\u5bb9\u3002\uff09

\u5bf9\u4e8e HTML \u548c EPUB\uff0c\u9664\u4e86 width \u548c height\uff08\u4f46\u5305\u62ec srcset \u548c sizes\uff09\u4e4b\u5916\u7684\u6240\u6709\u5df2\u77e5 HTML5 \u5c5e\u6027\u90fd\u6309\u539f\u6837\u4f20\u9012\u3002\u672a\u77e5\u5c5e\u6027\u4f5c\u4e3a\u81ea\u5b9a\u4e49\u5c5e\u6027\u4f20\u9012\uff0c\u5e76\u5e26\u6709\u6570\u636e\u524d\u7f00\u3002\u5176\u4ed6\u8f93\u51fa\u5668\u5ffd\u7565\u4e86\u5176\u8f93\u51fa\u683c\u5f0f\u672a\u7279\u522b\u652f\u6301\u7684\u5c5e\u6027\u3002

pandoc \u4f1a\u5bf9\u56fe\u50cf\u7684 width \u548c height \u5c5e\u6027\u8fdb\u884c\u7279\u6b8a\u5904\u7406\u3002\u5728\u6ca1\u6709\u786e\u5b9a\u5355\u4f4d\u65f6\uff0cpandoc \u5047\u5b9a\u5355\u4f4d\u4e3a pixel\u3002\u4f46\u662f\u4f60\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u4efb\u4f55\u5355\u4f4d\u6807\u8bc6\u7b26\uff1apx\u3001cm\u3001mm\u3001in\u3001inch \u548c %\u3002\u6570\u5b57\u548c\u5355\u4f4d\u4e4b\u95f4\u4e0d\u80fd\u6709\u4efb\u4f55\u7a7a\u683c\u3002\u4f8b\u5982\uff1a

![](file.jpg){ width=50% }\n
  • \u5c3a\u5bf8\u53ef\u4ee5\u8f6c\u6362\u4e3a\u4e0e\u8f93\u51fa\u683c\u5f0f\u517c\u5bb9\u7684\u5f62\u5f0f\uff08\u4f8b\u5982\uff0c\u5728\u5c06 HTML \u8f6c\u6362\u4e3a LaTeX \u65f6\uff0c\u4ee5\u50cf\u7d20\u4e3a\u5355\u4f4d\u7684\u5c3a\u5bf8\u5c06\u8f6c\u6362\u4e3a\u82f1\u5bf8\uff09\u3002\u50cf\u7d20\u548c\u7269\u7406\u6d4b\u91cf\u503c\u4e4b\u95f4\u7684\u8f6c\u6362\u53d7 --dpi \u9009\u9879\u7684\u5f71\u54cd\uff08\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u5047\u5b9a\u4e3a 96dpi\uff0c\u9664\u975e\u56fe\u50cf\u672c\u8eab\u5305\u542b dpi \u4fe1\u606f\uff09\u3002
  • % \u5355\u4f4d\u4e00\u822c\u662f\u76f8\u5bf9\u4e8e\u4e00\u4e9b\u53ef\u7528\u7a7a\u95f4\u7684\u3002\u4f8b\u5982\uff0c\u4e0a\u9762\u7684\u793a\u4f8b\u5c06\u5448\u73b0\u4e3a\u4ee5\u4e0b\u5185\u5bb9\u3002
    • HTML: <img href=\"file.jpg\" style=\"width: 50%;\" />
    • LaTeX: \\includegraphics[width=0.5\\textwidth,height=\\textheight]{file.jpg} \uff08\u5982\u679c\u4f60\u4f7f\u7528\u7684\u662f\u81ea\u5b9a\u4e49\u6a21\u677f\uff0c\u5219\u9700\u8981\u50cf\u5728\u9ed8\u8ba4\u6a21\u677f\u4e2d\u4e00\u6837\u914d\u7f6e graphicx\u3002\uff09
    • ConTeXt\uff1a \\externalfigure[file.jpg][width=0.5\\textwidth]
  • \u67d0\u4e9b\u8f93\u51fa\u683c\u5f0f\u5177\u6709\u7c7b\uff08ConTeXt\uff09\u6216\u552f\u4e00\u6807\u8bc6\u7b26 (LaTeX \\caption) \u6216\u4e24\u8005\u517c\u6709\uff08HTML\uff09\u7684\u6982\u5ff5\u3002
  • \u5f53\u672a\u6307\u5b9a width \u6216 height \u5c5e\u6027\u65f6\uff0cpandoc \u4f1a\u67e5\u770b\u56fe\u50cf\u5206\u8fa8\u7387\u548c\u56fe\u50cf\u6587\u4ef6\u4e2d\u5d4c\u5165\u7684 dpi \u5143\u6570\u636e\u3002
","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#div-span","title":"Div \u548c Span","text":"

\u4f7f\u7528 native_divs \u548c native_spans \u6269\u5c55\uff08\u89c1\u4e0a\u6587\uff09\uff0cHTML \u8bed\u6cd5\u53ef\u4ee5\u7528\u4f5c markdown \u7684\u4e00\u90e8\u5206\uff0c\u4ee5\u5728 pandoc AST\uff08\u4e0e\u539f\u59cb HTML \u76f8\u53cd\uff09\u4e2d\u521b\u5efa\u539f\u751f Div \u548c Span \u5143\u7d20\u3002\u4f46\u662f\uff0c\u8fd8\u6709\u66f4\u597d\u7684\u8bed\u6cd5\u53ef\u7528\uff1a

  • \u6269\u5c55\uff1afenced_divs

pandoc \u5141\u8bb8\u5bf9\u539f\u751f Div \u5757\u4f7f\u7528\u7279\u6b8a\u7684\u56f4\u680f\u8bed\u6cd5\u3002Div \u4ee5\u5305\u542b\u81f3\u5c11\u4e09\u4e2a\u8fde\u7eed\u5192\u53f7\u548c\u4e00\u4e9b\u5c5e\u6027\u7684\u6805\u680f\u5f00\u59cb\u3002\u5c5e\u6027\u540e\u9762\u53ef\u4ee5\u6709\u9009\u62e9\u5730\u8ddf\u53e6\u4e00\u4e32\u8fde\u7eed\u7684\u5192\u53f7\u3002\u5c5e\u6027\u8bed\u6cd5\u4e0e\u56f4\u680f\u4ee3\u7801\u5757\u4e2d\u7684\u5b8c\u5168\u76f8\u540c\uff08\u8bf7\u53c2\u9605\u6269\u5c55\uff1afenced_code_attributes\uff09\u3002\u4e0e\u56f4\u680f\u4ee3\u7801\u5757\u4e00\u6837\uff0c\u53ef\u4ee5\u4f7f\u7528\u5927\u62ec\u53f7\u4e2d\u7684\u5c5e\u6027\u6216\u5355\u4e2a\u672a\u52a0\u62ec\u53f7\u7684\u5355\u8bcd\uff0c\u8fd9\u5c06\u88ab\u89c6\u4e3a\u7c7b\u540d\uff08class name\uff09\u3002Div \u4ee5\u5305\u542b\u81f3\u5c11\u4e09\u4e2a\u8fde\u7eed\u5192\u53f7\u7684\u5b57\u7b26\u4e32\u7684\u53e6\u4e00\u884c\u7ed3\u5c3e\u3002\u88ab\u56f4\u8d77\u6765\u7684 Div \u5e94\u8be5\u7528\u7a7a\u884c\u4e0e\u524d\u540e\u6587\u5206\u5f00\u3002

::::: {#special .sidebar}\nHere is a paragraph.\n\nAnd another.\n:::::\n

\u56f4\u680f div \u53ef\u4ee5\u5d4c\u5957\u3002\u5f00\u59cb\u56f4\u680f\uff08Opening fences\uff09\u4e4b\u6240\u4ee5\u6709\u533a\u522b\uff0c\u662f\u56e0\u4e3a\u5b83\u4eec\u5fc5\u987b\u5177\u6709\u5c5e\u6027\uff1a

::: Warning ::::::\nThis is a warning.\n\n::: Danger\nThis is a warning within a warning.\n:::\n::::::::::::::::::\n

\u6ca1\u6709\u5c5e\u6027\u7684\u6805\u680f\u603b\u662f\u7ed3\u675f\u56f4\u680f\uff08closing fences\uff09\u3002\u4e0e\u56f4\u680f\u4ee3\u7801\u5757\u4e0d\u540c\uff0c\u7ed3\u675f\u56f4\u680f\u4e2d\u7684\u5192\u53f7\u6570\u91cf\u4e0d\u9700\u8981\u4e0e\u5f00\u59cb\u56f4\u680f\u4e2d\u7684\u5192\u53f7\u6570\u91cf\u76f8\u5339\u914d\u3002\u4f46\u662f\uff0c\u4f7f\u7528\u4e0d\u540c\u957f\u5ea6\u7684\u6805\u680f\u5c06\u5d4c\u5957\u7684 div \u4e0e\u5176\u7236\u7ea7\u533a\u5206\u5f00\u6765\u6709\u52a9\u4e8e\u63d0\u9ad8\u6e90\u7801\u7684\u53ef\u8bfb\u6027\u3002

  • \u6269\u5c55\uff1abracketed_spans

\u4e00\u4e2a\u5e26\u62ec\u53f7\u7684\u5185\u8054\u5e8f\u5217\uff0c\u5c31\u50cf\u4eba\u4eec\u7528\u6765\u5f00\u59cb\u4e00\u4e2a\u94fe\u63a5\u4e00\u6837\uff0c\u5982\u679c\u5b83\u540e\u9762\u7d27\u8ddf\u7740\u5c5e\u6027\uff0c\u5c06\u88ab\u89c6\u4e3a\u4e00\u4e2a\u5e26\u6709\u5c5e\u6027\u7684 Span\uff1a

[This is *some text*]{.class key=\"val\"}\n
","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_32","title":"\u811a\u6ce8","text":"
  • \u6269\u5c55\uff1afootnotes

Pandoc \u7684 Markdown \u5141\u8bb8\u4f7f\u7528\u811a\u6ce8\uff08Footnote\uff09\uff0c\u8bed\u6cd5\u5982\u4e0b\uff1a

\u8fd9\u662f\u4e00\u4e2a\u811a\u6ce8\u5f15\u7528[^1]\uff0c\u8fd9\u662f\u53e6\u4e00\u4e2a[^longnote]\u3002\n\n[^1]: \u8fd9\u662f\u811a\u6ce8\u6587\u672c\u3002\n\n[^longnote]: \u8fd9\u662f\u53e6\u4e00\u4e2a\u7531\u591a\u4e2a\u5757\u7ec4\u6210\u7684\u811a\u6ce8\n\n    \u968f\u540e\u7684\u6bb5\u843d\u7f29\u8fdb\u4ee5\u8868\u660e\u5b83\u4eec\u5c5e\u4e8e\u524d\u4e00\u4e2a\u811a\u6ce8\u3002\n\n        { \u7f29\u8fdb\u56db\u4e2a\u7a7a\u683c\u7684\u6e90\u7801 }\n\n    \u53ef\u4ee5\u7f29\u8fdb\u6574\u4e2a\u6bb5\u843d\uff0c\u4e5f\u53ef\u4ee5\u53ea\u7f29\u8fdb\u7b2c\u4e00\u884c\u3002\u8fd9\u6837\uff0c\u591a\u6bb5\u843d\u811a\u6ce8\u5c31\u50cf\u591a\u6bb5\u843d\u5217\u8868\u9879\u4e00\u6837\u5de5\u4f5c\u3002\n\n\u8fd9\u4e00\u6bb5\u6587\u672c\u4e0d\u5c5e\u4e8e\u811a\u6ce8\u7684\u4e00\u90e8\u5206\uff0c\u56e0\u4e3a\u5b83\u6ca1\u6709\u7f29\u8fdb\u3002\n

\u811a\u6ce8\u5f15\u7528\u4e2d\u7684\u6807\u8bc6\u7b26\u4e0d\u80fd\u5305\u542b\u7a7a\u683c\u3001\u5236\u8868\u7b26\u6216\u6362\u884c\u7b26\u3002\u8fd9\u4e9b\u6807\u8bc6\u7b26\u4ec5\u7528\u4e8e\u5c06\u811a\u6ce8\u5f15\u7528\u4e0e\u6ce8\u91ca\u672c\u8eab\u76f8\u5173\u8054\uff1b\u5728\u8f93\u51fa\u4e2d\uff0c\u811a\u6ce8\u5c06\u6309\u987a\u5e8f\u7f16\u53f7\u3002

\u811a\u6ce8\u672c\u8eab\u4e0d\u9700\u8981\u653e\u5728\u6587\u4ef6\u7684\u672b\u5c3e\u3002\u5b83\u4eec\u53ef\u4ee5\u51fa\u73b0\u5728\u9664\u5176\u4ed6\u5757\u5143\u7d20\uff08\u5217\u8868\u3001\u5757\u5f15\u53f7\u3001\u8868\u683c\u7b49\uff09\u4e4b\u5916\u7684\u4efb\u4f55\u5730\u65b9\u3002\u6bcf\u4e2a\u811a\u6ce8\u5e94\u4e0e\u5468\u56f4\u7684\u5185\u5bb9\uff08\u5305\u62ec\u5176\u4ed6\u811a\u6ce8\uff09\u7528\u7a7a\u884c\u5206\u9694\u3002

  • \u6269\u5c55\uff1ainline_notes

\u5185\u8054\u811a\u6ce8\u4e5f\u662f\u5141\u8bb8\u7684\uff08\u5c3d\u7ba1\u4e0e\u5e38\u89c4\u6ce8\u91ca\u4e0d\u540c\uff0c\u5b83\u4eec\u4e0d\u80fd\u5305\u542b\u591a\u4e2a\u6bb5\u843d\uff09\u3002\u8bed\u6cd5\u5982\u4e0b\uff1a

\u8fd9\u662f\u4e00\u6bb5\u6f14\u793a\u6587\u672c[^\u5185\u8054\u811a\u6ce8\u5e76\u4e0d\u590d\u6742\uff0c\u4f60\u53ea\u9700\u8981\u76f4\u63a5\u5728\u62ec\u53f7\u5185\u6807\u660e\u6ce8\u91ca\u6587\u672c\u5373\u53ef\u3002]\n

\u5185\u8054\u811a\u6ce8\u548c\u5e38\u89c4\u811a\u6ce8\u53ef\u4ee5\u81ea\u7531\u6df7\u5408\u4f7f\u7528\u3002

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_33","title":"\u5f15\u7528\u8bed\u6cd5","text":"
  • \u6269\u5c55\uff1acitations
","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#_34","title":"\u975e\u9ed8\u8ba4\u6269\u5c55","text":"","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/pandoc%27s-markdwon-spec/#markdown","title":"markdown \u53d8\u4f53","text":"

\u9664\u4e86 pandoc \u7684\u6269\u5c55 Markdown \u4e4b\u5916\uff0cpandoc \u8fd8\u652f\u6301\u4ee5\u4e0b Markdown \u53d8\u4f53\uff1a

  • markdown_phpextra (PHP Markdown Extra)
  • markdown_github (deprecated GitHub-Flavored Markdown)
  • markdown_mmd (MultiMarkdown)
  • markdown_strict (Markdown.pl)
  • commonmark (CommonMark)
  • gfm (Github-Flavored Markdown)
  • commonmark_x (CommonMark with many pandoc extensions)

\u8981\u67e5\u770b\u7ed9\u5b9a\u683c\u5f0f\u652f\u6301\u54ea\u4e9b\u6269\u5c55\uff0c\u54ea\u4e9b\u662f\u9ed8\u8ba4\u542f\u7528\u7684\uff0c\u4f60\u53ef\u4ee5\u4f7f\u7528\u5982\u4e0b\u547d\u4ee4\uff1a

pandoc --list-extensions=FORMAT\n

\u5c06\u5176\u4e2d FORMAT \u66ff\u6362\u4e3a\u5177\u4f53\u683c\u5f0f\u7684\u540d\u79f0\u5373\u53ef\u3002

\u8bf7\u6ce8\u610f\uff0ccommonmark\u3001gfm \u548c commonmark_x \u7684\u6269\u5c55\u5217\u8868\u662f\u76f8\u5bf9\u4e8e\u9ed8\u8ba4 commonmark \u5b9a\u4e49\u7684\u3002\u4f8b\u5982\uff0cbacktick_code_blocks \u4e0d\u4f1a\u4f5c\u4e3a\u6269\u5c55\u51fa\u73b0\uff0c\u56e0\u4e3a\u5b83\u9ed8\u8ba4\u542f\u7528\u4e14\u65e0\u6cd5\u7981\u7528\u3002

  1. \u8fd9\u6761\u89c4\u5219\u7684\u76ee\u7684\u662f\u786e\u4fdd\u6b63\u5e38\u7684\u6bb5\u843d\u4ee5\u4eba\u4eec\u7684\u9996\u5b57\u6bcd\u5f00\u5934\uff0c\u6bd4\u5982

    B. Russell was an English philosopher.

    \u4e0d\u88ab\u89c6\u4e3a\u5217\u8868\u9879\u3002\u4f46\u8fd9\u6761\u89c4\u5219\u4e0d\u4f1a\u963b\u6b62\u8bf8\u5982

    (C) 2007 Joe Smith

    \u514d\u4e8e\u88ab\u89e3\u91ca\u4e3a\u5217\u8868\u9879\u3002\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u53ef\u4ee5\u4f7f\u7528\u53cd\u659c\u6760\u8f6c\u4e49\uff1a

    (C\\) 2007 Joe Smith \u21a9

  2. CommonMark \u21a9

  3. \u6211\u53d7\u5230\u4e86 David Wheeler \u7684\u5efa\u8bae\u7684\u5f71\u54cd\u3002\u00a0\u21a9

  4. \u8fd9\u4e2a\u65b9\u6848\u662f Michel Fortin \u63d0\u51fa\u7684\uff0c\u4ed6\u5728 Markdown \u8ba8\u8bba\u5217\u8868\u4e2d\u63d0\u51fa\u4e86\u8fd9\u4e2a\u65b9\u6848\u3002\u00a0\u21a9

  5. \u6b64\u5904\u6307\u7684\u662f\u4f7f\u7528\u4e00\u884c\u4e2d\u7684\u4e24\u4e2a\u5c3e\u968f\u7a7a\u683c\u6765\u8868\u793a\u786c\u6362\u884c\u7b26\u3002\u00a0\u21a9

","tags":["\u6742\u8c08","Pandoc","\u7b14\u8bb0"]},{"location":"archives/qbittorrent-confs/","title":"qBittorrent \u53c2\u6570\u8be6\u7ec6\u8bbe\u7f6e\u6559\u7a0b","text":"

\u5173\u4e8e

\u672c\u6587\uff08\u6e90\u7ad9\uff09\u53d1\u5e03\u4e8e 2021-08-18\uff0c\u66f4\u65b0\u4e8e 2022-07-18\u3002 \u672c\u7ad9\u5f52\u6863\u65f6\u95f4\uff1a2022-08-04\u3002\u66f4\u65b0\u65f6\u95f4\uff1a2022-08-04

\u6ce8\u610f

  • \u5168\u6587\u5c06\u4ee5\u76ee\u524d\u7684\u6700\u65b0\u7248 v4.2.1 \u4e3a\u4f8b\uff0c\u8fdb\u884c\u53c2\u6570\u8bbe\u7f6e\uff0c\u8001\u7248\u672c\u67d0\u4e9b\u529f\u80fd\u4e0d\u592a\u4e00\u81f4\uff0c\u8bf7\u77e5\u6089\u3002\u7279\u522b\u9e23\u8c22 \u539f\u521b\u8005\uff1aEvine\uff01
  • \u66f4\u591a\u53c2\u6570\uff0c\u5b98\u65b9\u8bf4\u660e libtorrent \u53c2\u6570\u8bbe\u7f6e\u8bf4\u660e
","tags":["qBittorrent","\u6559\u7a0b","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/qbittorrent-confs/#_1","title":"\u7248\u6743\u4fe1\u606f","text":"
  • \u4f5c\u8005: \u591c\u6cd5\u4e4b\u4e66
  • \u539f\u6587: qBittorrent \u53c2\u6570\u8be6\u7ec6\u8bbe\u7f6e\u6559\u7a0b
  • \u8bb8\u53ef\u8bc1\uff1aCC-NC-BY-SA 4.0
","tags":["qBittorrent","\u6559\u7a0b","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/qbittorrent-confs/#_2","title":"\u884c\u4e3a\u53c2\u6570","text":"","tags":["qBittorrent","\u6559\u7a0b","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/qbittorrent-confs/#_3","title":"\u4e0b\u8f7d\u53c2\u6570","text":"","tags":["qBittorrent","\u6559\u7a0b","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/qbittorrent-confs/#_4","title":"\u8fde\u63a5\u53c2\u6570","text":"","tags":["qBittorrent","\u6559\u7a0b","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/qbittorrent-confs/#_5","title":"\u901f\u5ea6\u53c2\u6570","text":"","tags":["qBittorrent","\u6559\u7a0b","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/qbittorrent-confs/#bt","title":"BT \u53c2\u6570","text":"","tags":["qBittorrent","\u6559\u7a0b","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/qbittorrent-confs/#rss","title":"RSS \u8bbe\u7f6e","text":"","tags":["qBittorrent","\u6559\u7a0b","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/qbittorrent-confs/#web","title":"Web \u53c2\u6570","text":"","tags":["qBittorrent","\u6559\u7a0b","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/qbittorrent-confs/#_6","title":"\u9ad8\u7ea7\u53c2\u6570","text":"","tags":["qBittorrent","\u6559\u7a0b","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/qbittorrent-confs/#_7","title":"\u5173\u4e8e\u78c1\u76d8\u7f13\u5b58\u7684\u8865\u5145\u8bf4\u660e","text":"

\u7ecf\u5e38\u6709\u4eba\u5410\u69fd qB \u7279\u522b\u5403\u5185\u5b58\uff0c\u4e2a\u4eba\u731c\u6d4b\u5e94\u8be5\u662f\u78c1\u76d8\u7f13\u5b58\u8bbe\u7f6e\u4e0d\u6b63\u786e\u5bfc\u81f4\u7684\u3002\u78c1\u76d8\u7f13\u5b58\u8bbe\u7f6e\u8fc7\u5c0f\uff0c\u78c1\u76d8\u7f13\u5b58\u5230\u671f\u95f4\u9694\u8fc7\u957f\uff0c\u5148\u4e0b\u8f7d\u7684\u6587\u4ef6\u5757\u6765\u4e0d\u53ca\u5199\u5165\u786c\u76d8\uff0c\u65b0\u7684\u6587\u4ef6\u5757\u53c8\u5230\u4e86\uff0c\u53ef\u80fd\u5c31\u4f1a\u5bfc\u81f4\u5185\u5b58\u7206\u6389\u751a\u81f3\u78c1\u76d8 I/O \u9519\u8bef\u3002\u4e2a\u4eba\u5efa\u8bae\uff1a\u5728\u8fdb\u884c\u9ad8\u901f\u4e0b\u8f7d\u65f6\uff0c\u9002\u5f53\u5c06\u78c1\u76d8\u7f13\u5b58\u8c03\u9ad8\uff0c\u78c1\u76d8\u7f13\u5b58\u5230\u671f\u95f4\u9694\u8c03\u4f4e\uff08\u4e0b\u8f7d\u65f6\u95f4\u9694\u8d8a\u4f4e\u5199\u5165\u8d8a\u9891\u7e41\uff0c\u81ea\u5df1\u6839\u636e\u7535\u8111\u7684\u8d44\u6e90\u5360\u7528\u60c5\u51b5\u8c03\u6574\u6700\u9002\u5408\u81ea\u5df1\u7684\u503c\uff09\u3002\u5b9e\u5728\u4e0d\u77e5\u9053\u600e\u4e48\u8c03\u7684\uff0c\u5c31\u5e72\u8106\u628a\u78c1\u76d8\u7f13\u5b58\u8bbe\u7f6e\u4e3a -1\uff08\u81ea\u52a8\uff09\u597d\u4e86\uff0c\u8fd8\u4e0d\u884c\uff0c\u5c31\u628a\u78c1\u76d8\u7f13\u5b58\u5230\u671f\u95f4\u9694\u518d\u8c03\u4f4e\u4e00\u4e9b\u3002\u4e3e\u4e00\u4e2a\u4f8b\u5b50\uff0c\u6bd4\u5982\u8bbe\u7f6e 2048MiB \u78c1\u76d8\u7f13\u5b58\u3001300s \u78c1\u76d8\u7f13\u5b58\u5230\u671f\u95f4\u9694\u65f6\uff0c\u5f53\u4e0b\u8f7d\u901f\u5ea6\u4e3a 50MiB/s \u7684\u65f6\u5019\uff0c300s \u7684\u65f6\u95f4\u603b\u5171\u53ef\u4ee5\u4e0b\u8f7d 15000MiB\uff0c\u65e9\u5c31\u8fdc\u8fdc\u8d85\u8fc7 2048MiB \u4e86\uff0c\u4e0d\u7206\u5185\u5b58\u3001\u4e0d I/O \u9519\u8bef\u624d\u602a\u3002\u6240\u4ee5\u5f53\u8fbe\u5230\u8fd9\u4e2a\u4e0b\u8f7d\u901f\u5ea6\u7684\u65f6\u5019\uff0c\u5728\u78c1\u76d8\u7f13\u5b58\u4e0d\u53d8\u7684\u60c5\u51b5\u4e0b\uff0c\u6839\u636e\u7b80\u5355\u7684\u9664\u6cd5\uff08\u78c1\u76d8\u7f13\u5b58\u9664\u4ee5\u4e0b\u8f7d\u901f\u5ea6\uff09\u53ef\u77e5\uff0c\u78c1\u76d8\u7f13\u5b58\u5230\u671f\u95f4\u9694\u5c31\u5e94\u8be5\u8bbe\u7f6e\u523040s\u4ee5\u4e0b\u4e86\u3002

qB \u5728\u6b63\u5e38\u8fd0\u884c\u540e\uff0c\u5176\u5360\u7528\u7684\u5185\u5b58\u4f1a\u6bd4\u4f60\u6240\u8bbe\u7f6e\u7684\u78c1\u76d8\u7f13\u5b58\u591a\u51e0\u767e M\u3002\u6240\u6709\u7684\u53c2\u6570\u6ca1\u6709\u6807\u51c6\u7b54\u6848\uff0c\u4e00\u5207\u90fd\u5f97\u6839\u636e\u4f60\u673a\u5b50\u7684\u672c\u8eab\u5c5e\u6027\u4ee5\u53ca\u5b9e\u9645\u7684\u4f7f\u7528\u573a\u666f\uff08\u6bd4\u5982 CPU \u6027\u80fd\u3001\u5185\u5b58\u5927\u5c0f\u3001\u786c\u76d8\u5199\u5165\u901f\u5ea6\u3001\u4e0b\u8f7d\u901f\u5ea6\u7b49\uff09\u6765\u8bbe\u7f6e\uff0c\u5efa\u8bae\u5927\u5bb6\u591a\u8bd5\u9a8c\u3002

","tags":["qBittorrent","\u6559\u7a0b","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/qbittorrent-confs/#tcputp","title":"\u5173\u4e8eTCP\u3001UTP\u7684\u8865\u5145\u8bf4\u660e","text":"

TCP \u662f Internet \u4e0a\u6700\u5e38\u7528\u7684\u534f\u8bae\uff0c\u662f\u4e00\u79cd\u9762\u5411\u8fde\u63a5\u7684\u3001\u53ef\u9760\u7684\u3001\u57fa\u4e8e\u5b57\u8282\u6d41\u7684\u4f20\u8f93\u5c42\u901a\u4fe1\u534f\u8bae\u3002TCP \u7684\u4f18\u52bf\u5728\u4e8e\u53cc\u5411\u4e92\u52a8\u673a\u5236\u517c\u987e\u6570\u636e\u4f20\u8f93\u7684\u5b8c\u6574\u6027\u3001\u53ef\u63a7\u5236\u6027\u548c\u53ef\u9760\u6027\uff0c\u4f46\u590d\u6742\u7684\u6821\u9a8c\u4e0e\u63a7\u5236\u673a\u5236\u4e5f\u4f7f\u5176\u6ca1\u6709 UDP \u4f20\u8f93\u6548\u7387\u9ad8\u3002

UDP \u534f\u8bae\u4e0e TCP \u534f\u8bae\u4e00\u6837\u7528\u4e8e\u5904\u7406\u6570\u636e\u5305\uff0c\u662f\u4e00\u79cd\u65e0\u8fde\u63a5\u7684\u534f\u8bae\u3002UDP \u7684\u7f3a\u70b9\u662f\u4e0d\u63d0\u4f9b\u6570\u636e\u5305\u5206\u7ec4\u3001\u7ec4\u88c5\u548c\u4e0d\u80fd\u5bf9\u6570\u636e\u5305\u8fdb\u884c\u6392\u5e8f\u7684\u7f3a\u70b9\uff0c\u4e5f\u5c31\u662f\u8bf4\uff0c\u5f53\u62a5\u6587\u53d1\u9001\u4e4b\u540e\uff0c\u662f\u65e0\u6cd5\u5f97\u77e5\u5176\u662f\u5426\u5b89\u5168\u5b8c\u6574\u5230\u8fbe\u7684\u3002UDP \u4f18\u52bf\u5728\u4e8e\u5e26\u5bbd\u5360\u7528\u5c0f\u3001\u4f20\u8f93\u6548\u7387\u548c\u8fde\u63a5\u6210\u529f\u7387\u9ad8\uff0c\u6709\u76ca\u4e8e\u5185\u7f51\u7528\u6237\uff08\u5982\u901a\u8fc7 UDP \u5185\u7f51\u7a7f\u900f UDP Hole Punching \u8fde\u63a5\uff09\uff0c\u4f46 UDP \u4e0e TCP \u534f\u8bae\u76f8\u6bd4\u4e5f\u5b58\u5728\u65e0\u53cd\u5411\u786e\u8ba4\u673a\u5236\u3001\u65e0\u6d41\u91cf\u548c\u5e8f\u5217\u63a7\u5236\u7b49\u5f0a\u7aef\u3002

uTP(Micro Transport Protocol) \u662f\u4e00\u79cd\u6b63\u5728\u6807\u51c6\u5316\u7684\u5f00\u653e\u5f0f BT \u534f\u8bae\uff0c\u4e3b\u8981\u529f\u80fd\u662f\u63d0\u9ad8\u5bbd\u5e26\u4f7f\u7528\u6548\u7387\u3001\u51cf\u5c11\u7f51\u7edc\u95ee\u9898\u3002\u5728\u51cf\u7f13\u7f51\u7edc\u5ef6\u8fdf\u548c\u62e5\u5835\u7684\u540c\u65f6\u6700\u5927\u5316\u7f51\u7edc\u541e\u5410\u91cf\u3001\u514b\u670d\u591a\u6570\u9632\u706b\u5899\u548c NAT \u7684\u963b\u788d\uff0c\u589e\u5f3a\u7f51\u7edc\u7a7f\u900f\u548c\u4f20\u8f93\u6548\u7387\uff0c\u540c\u65f6\u589e\u76ca\u6d41\u91cf\u63a7\u5236\uff0c\u8fd9\u5bf9 BT \u7528\u6237\u548c ISP \u90fd\u662f\u4e92\u5229\u7684\u3002uTP \u867d\u57fa\u4e8e UDP \u534f\u8bae\u4f46\u6709\u6240\u4e0d\u540c\uff0cuTP \u901a\u8fc7\u62e5\u5835\u63a7\u5236\u7b97\u6cd5\uff08Ledbat\uff09\u53ef\u9650\u5236\u5ef6\u65f6\uff0c\u5f53\u5ef6\u65f6\u4e0d\u4e25\u91cd\u65f6\u53ef\u6700\u5927\u9650\u5ea6\u5229\u7528\u5e26\u5bbd\uff0c\u5e76\u80fd\u901a\u8fc7 uTP \u63d0\u4f9b\u7684\u4fe1\u606f\u7528\u4e8e\u9009\u62e9 TCP \u8fde\u63a5\u7684\u4f20\u8f93\u7387\uff0c\u5373\u4f7f\u5728\u4e0d\u4f5c\u9650\u901f\u8bbe\u7f6e\u7684\u60c5\u51b5\u4e0b\uff0c\u4e5f\u80fd\u51cf\u5c11\u7f51\u7edc\u62e5\u5835\u4ea7\u751f\uff0c\u5f53\u7528\u6237\u7aef\u4e4b\u95f4\u90fd\u542f\u7528 uTP \u65f6\uff0c\u53ef\u89c1\u660e\u663e\u7684\u4f20\u8f93\u901f\u7387\u63d0\u5347\u3002\u5185\u7f51\u65e0\u6cd5\u5b9e\u73b0\u7aef\u53e3\u6620\u5c04\u7684\u7528\u6237\u542f\u7528 uTP\uff0c\u53ef\u4ee5\u6539\u5584\u4e0e\u7f51\u5916\u7528\u6237\u7684\u8fde\u63a5\u3002

\u4f7f\u7528 uTP \u8fdb\u884c\u8fde\u63a5\u7684\u7528\u6237\uff0c\u5176\u6807\u5fd7\u5c06\u5305\u542b \u201cP\u201d\u3002

","tags":["qBittorrent","\u6559\u7a0b","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/rss-refresh/","title":"\u300e\u7ed9 RSS \u7231\u597d\u8005\u4eec\u7684\u4e00\u5c01\u4fe1\u300f\u4e3a\u4ec0\u4e48\u6211\u4eec\u5e94\u8be5\u63d0\u9ad8 RSS \u5237\u65b0\u95f4\u9694\uff1f","text":"","tags":["RSS","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/rss-refresh/#_1","title":"\u7248\u6743\u4fe1\u606f","text":"
  • \u4f5c\u8005: \u4e00\u5ea7\u6865\u5728\u6c34\u4e0a
  • \u539f\u6587: \u300e\u7ed9RSS\u7231\u597d\u8005\u4eec\u7684\u4e00\u5c01\u4fe1\u300f\u4e3a\u4ec0\u4e48\u6211\u4eec\u5e94\u8be5\u63d0\u9ad8RSS\u5237\u65b0\u95f4\u9694\uff1f
  • \u8bb8\u53ef\u8bc1\uff1aCC0
  • \u6e90\u7ad9\u6700\u540e\u66f4\u65b0\u65f6\u95f4\uff1a2021-01-02 17:03
  • \u672c\u7ad9\u6536\u5f55\u65f6\u95f4\uff1a2023-03-17

\uff01\uff01\uff01\u6b64\u6587\u7ae0\u4e00\u4e9b\u5b58\u5728\u6096\u8bef\uff0c\u5177\u4f53\u9519\u8bef\u8be6\u60c5\u60c5\u67e5\u770b\u6587\u7ae0\u672b\u5c3e\u70b9\u51fb\u8df3\u8f6c \uff01\uff01\uff01 \u6240\u4ee5\u8fd9\u7bc7\u6587\u7ae0\u8fd8\u6b63\u5728\u5b8c\u5584\u4e2d\u2026\u2026

\u8fd9\u662f\u4e00\u4e2a\u5021\u8bae\uff0c\u5021\u8bae\u5927\u5bb6\u81ea\u89c9\u964d\u4f4e\u5bf9\u4e8e\u535a\u5ba2&\u64ad\u5ba2\u8fd9\u7c7b \u66f4\u65b0\u9891\u7387\u4f4e/\u53ca\u65f6\u6027\u8981\u6c42\u4e0d\u9ad8 feed \u7684\u66f4\u65b0\u9891\u7387\u3002

\u6ce8\uff1a\u5982\u679c\u4f60\u4e0d\u6e05\u695a\u6587\u4e2d rss/atom/feed/\u6e90 \u56db\u4e2a\u8bcd\u7684\u533a\u522b\u548c\u610f\u601d\uff0c\u628a\u5b83\u4eec\u90fd\u5f53 rss \u5c31\u597d\uff0c\u6ca1\u6709\u592a\u5927\u95ee\u9898\uff0c\u6211\u4eec\u65e5\u5e38\u4f7f\u7528\u4e5f\u4f1a\u6df7\u6dc6\u5b83\u4eec\ud83d\ude02

\u4f60\u7684\u9ad8\u9891\u7387\u5237\u65b0\u53ef\u80fd\u6b63\u5728\u7ed9\u4e00\u4e9b\u7f51\u7ad9\u5e26\u6765\u4f24\u5bb3\uff01\uff01

","tags":["RSS","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/rss-refresh/#_2","title":"\u5168\u6587\u7ae0\u548c\u5168\u6587\u8f93\u51fa","text":"

\u6709\u4e9b\u535a\u5ba2\u4f1a\u5c06\u4ed6\u4eec\u7684\u5168\u90e8\u6587\u7ae0\u548c\u5168\u6587\u5185\u5bb9\u8f93\u51fa\u5230 feed \u3002\u4ece rss \u7528\u6237\u7684\u4f53\u9a8c\u548c\u4e92\u8054\u7f51\u5f00\u653e\u7cbe\u795e\u7684\u89d2\u5ea6\u770b\uff0c\u8fd9\u6837\u7684\u65e0\u7591\u662f\u597d\u4e8b:

  • \u4e00\u4e9b\u535a\u5ba2\u7684 feed \u4e0d\u8f93\u51fa\u5168\u6587\uff0c\u54ea\u6015\u53ef\u4ee5\u7528css\u6765\u83b7\u53d6\u5168\u6587\uff0c\u4e5f\u5f88\u9ebb\u70e6\u3002\u201c\u6ca1\u6709\u5168\u6587\u7684 feed \u6ca1\u6709\u7075\u9b42\u201d\u5931\u53bb\u4e86\u5168\u6587\u4f53\u9a8c\uff0crss \u7684\u610f\u4e49\u5c31\u5931\u53bb\u4e86\u4e00\u534a\u3002
  • \u535a\u5ba2\u53ea\u8f93\u51fa\u6700\u8fd1\u7684\u5341\u51e0\u7bc7\u6587\u7ae0\uff0c\u4f46\u6211\u60f3\u770b\u770b\u66f4\u591a\u65e9\u524d\u7684\u6587\u7ae0\uff0c\u53c8\u61d2\u5f97\u4e3b\u52a8\u6253\u5f00\u7f51\u7ad9\u53bb\u7ffb\uff0c\u6211\u53ef\u80fd\u5c31\u6ca1\u673a\u4f1a\u770b\u5230\u4e4b\u524d\u7684\u535a\u6587\u3002\u6bd5\u7adf\u5b83\u4e0d\u8f93\u51fa\u4ee5\u524d\u7684\u6587\u7ae0\uff0c\u6211\u54ea\u6015\u77e5\u9053\u8fd9\u4e2a\u535a\u5ba2\u4ee5\u524d\u7684\u6587\u7ae0\u80af\u5b9a\u4e0d\u5728feed\u91cc\uff0c\u4f46\u6211\u8fde\u8fd9\u4e9b\u6587\u7ae0\u7684\u6807\u9898\u90fd\u4e0d\u77e5\u9053\uff0c\u4e3b\u52a8\u4e0a\u535a\u5ba2 web \u6d4f\u89c8\u7684\u51b2\u52a8\u4e5f\u5c31\u5c11\u4e86\u51e0\u5206\u3002
  • \u4e14\u5f53\u535a\u5ba2\u7f51\u7ad9\u7a81\u7136\u95f4\u6d88\u5931\u5728\u4e92\u8054\u7f51\u65f6(\u6bd4\u5982\u79d1\u5b66\u677e\u9f20\u4f1a\u5173\u7ad9\u3001\u4ee5\u53ca\u5f88\u591a\u4e2a\u4eba\u535a\u5ba2\u4e0d\u6253\u62db\u547c\u5220\u5e93\u8dd1\u8def)\uff0c\u6211\u5e76\u6ca1\u6709\u628a\u5b83\u7684\u5168\u90e8\u6587\u7ae0\u4fdd\u5b58\u5230\u672c\u5730\u3002\u867d\u7136\u90a3\u4e9b\u6587\u7ae0\u6211\u4e0d\u4e00\u5b9a\u770b\uff0c\u4f46\u662f\u6ca1\u6709\u4fdd\u5b58\u4e0b\u6765\u7684\u8bdd\u6211\u4f1a\u6709\u79cd\u50cf\u4e22\u4e86\u4e1c\u897f\u4e00\u6837\u7684\u201c\u635f\u5931\u201d\u611f\u548c\u6de1\u6de1\u7684\u60b2\u4f24\u3002\uff08\u4e3a\u8fd9\u4e9b\u7ad9\u957f R.I.P \u51e0\u79d2\ud83d\ude25\uff09
","tags":["RSS","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/rss-refresh/#_3","title":"\u6e90\u7684\u5927\u5c0f\u5e26\u6765\u7684\u5f71\u54cd","text":"

\u4e0d\u8fc7\u5f80\u5f80\u8fd9\u6837\u7684\u826f\u5fc3 feed \u6e90\u6bd4\u5176\u4ed6\u7684\u53ea\u8f93\u51fa\u6700\u8fd1 5/10/15/20 \u6761\u6587\u7ae0\u7684\u6e90\u7684\u5927\u5c0f\u8981\u5927\u5f88\u591a\uff0c\u7279\u522b\u662f\u5728\u6587\u7ae0\u5f88\u591a\u5f88\u957f\u7684\u60c5\u51b5\u4e0b\u3002

  • inote\uff0c\u4ed6\u7684 feed \u8f93\u51fa\u5168\u90e8\u6587\u7ae0\u548c\u5168\u6587\uff0c\u6709 1.5MB\u3002(update:\u672c\u6587\u53d1\u51fa\u540e\uff0c\u8fd9\u4f4d\u535a\u4e3b\u7684 feed \u4e0d\u518d\u8f93\u51fa\u5168\u90e8\u6587\u7ae0)
  • \u4e00\u5927\u52a0\u8d1d\uff0c\u4ed6\u7684 feed \u8f93\u51fa\u5168\u90e8\u6587\u7ae0\u4f46\u4e0d\u8f93\u51fa\u5168\u6587\uff0c\u6709 0.15MB\uff0c\u5982\u679c\u518d\u8f93\u51fa\u5168\u6587\uff0c\u5927\u5c0f\u53ef\u60f3\u800c\u77e5\u3002
  • \u2026\u2026

\u5bf9\u4e8e\u72ec\u7acb\u64ad\u5ba2\uff0c\u8fd9\u6837\u7684\u60c5\u51b5\u66f4\u666e\u904d\uff0c\u64ad\u5ba2\u4e0d\u53ef\u80fd\u7ed9\u4f60\u53ea\u8f93\u51fa\u6700\u8fd1 15 \u671f\u8fd9\u6837\u6765\u5427\uff0c\u80af\u5b9a\u4f1a\u628a\u4ece\u7b2c\u4e00\u671f\u5f00\u59cb\u7684\u6240\u6709\u8282\u76ee\u90fd\u653e feed \u91cc\u3002

  • \u6d25\u6d25\u4e50\u9053\uff0cfeed \u6709 1.45MB\uff1b
  • \u6545\u4e8b FM\uff0cfeed \u6709 2.49MB\uff1b
  • \u4e00\u5929\u4e16\u754c\uff0cfeed \u6709 0.57MB\uff1b
  • \u2026\u2026

\u8fd9\u91cc\u5199\u7684\u662f\u7ecf\u8fc7 http \u538b\u7f29\u540e\u7684\u5927\u5c0f\uff08\u7f51\u7edc\u5b9e\u9645\u4f20\u8f93\u5927\u5c0f\uff09

","tags":["RSS","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/rss-refresh/#_4","title":"\u6d41\u91cf\u5f88\u8d35","text":"

\u5982\u679c\u4f60\u6bcf 5 \u5206\u949f\u5237\u65b0\u4e00\u6b21 feed \uff0c\u5bf9\u5e94\u7ad9\u70b9\u7684 feed \u5927\u5c0f\u4e3a 500KB\u3002

5 \u5206\u949f\u4e00\u6b21\u5237\u65b0\u4e0d\u6781\u7aef\uff0c\u8fd8\u633a\u666e\u904d\u3002\u5f88\u591a\u4eba\u8bbe\u7f6e\u7684\u5237\u65b0\u9891\u7387\u90fd\u662f\u8f6f\u4ef6\u80fd\u63d0\u4f9b\u591a\u77ed\uff0c\u5c31\u8bbe\u7f6e\u591a\u77ed\uff0c\u800c telegram \u7684 rssbot \u66f4\u662f\u53ea\u80fd 5 \u5206\u949f\u5237\u65b0\u4e00\u6b21\uff0c\u8fd8\u4e0d\u80fd\u6539\ud83e\udd12

\u90a3\u4e48\u4e00\u4e2a\u6708\u4f60\u5c06\u4f7f\u7528 60min \u00d7 24hour \u00d7 30day \u00f7 5min \u00d7 0.5MB = 4.32GB \u7684\u6d41\u91cf\u7528\u4e8e\u5237\u65b0\u8be5 rss\u3002\u4f60\u7528\u6d41\u91cf\u4e0d\u8981\u7d27\uff0c\u4f46\u5982\u679c\u535a\u4e3b\u4f7f\u7528\u4e86\u4ed8\u8d39 CDN \u6765\u4f18\u5316\u7f51\u7ad9\u8bbf\u95ee\u4f53\u9a8c\uff0c\u90a3\u535a\u4e3b\u5c31\u9700\u8981\u4e3a CDN \u652f\u4ed8\u6d41\u91cf\u8d39\u7528\u3002

So\uff0c\u4f60\u9891\u7e41\u7684 rss \u66f4\u65b0\u5e76\u4e0d\u4f1a\u50cf\u9891\u7e41\u8bbf\u95ee web \u90a3\u6837\u7ed9\u7f51\u7ad9\u5e26\u6765\u5927\u91cf pv (\u6d4f\u89c8\u91cf)\uff0c\u8ba9\u535a\u4e3b\u5728\u6d4f\u89c8\u540e\u53f0\u65f6\u6536\u83b7\u5feb\u4e50\u3002

Just like\uff1a(\u8fd9\u4e48\u591a\u6d4f\u89c8\u91cf\uff0c\u5f00\u5fc3\u5f00\u5fc3\ud83d\ude1c\uff1b\u54c7\uff0c\u8fd9\u4e2a\u6765\u81ea\u706b\u661f\u7684\u8bbf\u5ba2\u628a\u6211\u5168\u90e8\u6587\u7ae0\u90fd\u770b\u4e86\uff0c\u5f00\u5fc3\u5f00\u5fc3\ud83d\ude1d\uff09\u3002

\u51b5\u4e14\uff0cRSS \u770b\u6587\u7ae0\uff0c\u9664\u975e\u53bb\u8bc4\u8bba\u7559\u8a00\uff0c\u4f60\u4e0d\u4f1a\u518d\u53bb\u8bbf\u95ee\u535a\u4e3b\u7684\u7f51\u7ad9\u3002

\u8fd9\u5c31\u610f\u5473\u7740\u535a\u4e3b\u7684 CDN \u8d26\u5355\u53ef\u80fd\u5c31\u5f97\u4e3a\u4e86\u4f60\u800c\u6bcf\u6708\u589e\u52a0\u51e0\u5757\u94b1\u7684\u8d39\u7528\u3002\u542c\u4e0a\u53bb\u4e0d\u591a\u5bf9\u5427\uff1f

  • \u4f46\u535a\u4e3b\u672c\u53ef\u4ee5\u7528\u8fd9\u51e0\u5757\u94b1 CDN \u8d39\uff0c\u7528\u5728 web \u7684\u8bbf\u95ee\u4e0a\uff0c\u7ed9\u4e0a\u5343\u4e2a\u8bbf\u5ba2\u66f4\u597d\u7684 web \u4f53\u9a8c\u3002
  • \u8d39\u7528\u662f\u6301\u7eed\u4ea7\u751f\u7684\uff0c\u9664\u975e\u4f60\u4e0d\u518d\u8ba2\u9605\u5bf9\u5e94\u535a\u5ba2\u3002

\u8fd9\u6837\u535a\u4e3b\u5c31\u5728\u4e3a\u4f60\u80fd\u4ec5\u4ec5\u65e9\u51e0\u5341\u5206\u949f\u6536\u5230\u6700\u65b0\u6587\u7ae0\u800c\u88ab\u52a8\u4ed8\u8d39\u3002

\u800c\u5bf9\u4e8e\u72ec\u7acb\u64ad\u5ba2\uff08podcast\uff09\uff0c\u4ed6\u4eec\u7684\u60c5\u51b5\u8fd8\u597d\uff0c\u5982\u679c\u662f\u8ba2\u9605\u91cf\u4e0a\u4e07\u7684\u70ed\u95e8\u64ad\u5ba2\uff0c\u4ed6\u4eec\u7684\u6d41\u91cf\u5927\uff0c\u6240\u4ee5\u53ef\u4ee5\u4e0e CDN \u5382\u5546\u8c08\u62e2\u5230\u51e0\u5206\u94b1\u6bcf GB \u7684 CDN \u6d41\u91cf\u4ef7\u683c\u3002\u4f46\u5e7f\u5927\u4e2d\u5c0f\u578b\u535a\u4e3b\u5c31\u6ca1\u8fd9\u4e48\u5e78\u8fd0\u4e86\uff0c\u535a\u5ba2\u6d41\u91cf\u603b\u91cf\u4e0d\u5927\uff0c\u6839\u672c\u6ca1\u8d44\u683c\u4e0e CDN \u5382\u5546\u8c08\u6761\u4ef6\uff08\u8fd9\u91cc\u8d5e\u626c\u4e00\u4e0b\u53c8\u62cd\u548c\u4e03\u725b\uff0c\u514d\u8d39\u7684\u201c\u8054\u76df\u201d\u8ba1\u5212\u5bf9\u4e8e\u535a\u4e3b\u4eec\u7b97\u662f\u798f\u5229\u4e86\uff09\u3002

\u5982\u679c\u5404\u4f4d rss \u4f7f\u7528\u8005\u5927\u90e8\u5206\u6ca1\u6709\u610f\u8bc6\u5230\u8fd9\u4e2a\u95ee\u9898\uff0c\u53d7\u4f24\u7684\u5c06\u4f1a\u662f\u4f60\u6240\u559c\u6b22\u7684\u535a\u5ba2\u548c\u64ad\u5ba2\u672c\u8eab\u3002

\u5f53\u7136\uff0c\u6211\u77e5\u9053\u5f88\u591a\u535a\u5ba2\u4f7f\u7528\u514d\u8d39\u7684\u65e0\u9650\u6d41\u91cf\u7684 Cloudflare CDN\uff0c\u5bf9\u4e8e\u8fd9\u7c7b\u535a\u5ba2\u7684 feed \u786e\u5b9e\u53ef\u4ee5\u60f3\u600e\u4e48\u66f4\u65b0\u5c31\u600e\u4e48\u66f4\u65b0\u3002\u4f46\u662f CDN \u6709\u7f13\u5b58\u554a\uff0c\u4f60\u4f5c\u4e3a\u7528\u6237\uff0c\u66f4\u65b0\u518d\u9891\u7e41\uff0cCDN \u4e0d\u56de\u6e90\u62c9\u65b0\u7248\u6587\u4ef6\uff0c\u4f60\u4e5f\u6ca1\u6709\u529e\u6cd5\u4e0d\u662f\u3002\ud83d\ude02

","tags":["RSS","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/rss-refresh/#rss","title":"RSS \u9762\u5411\u5185\u5bb9\u800c\u4e0d\u662f\u9762\u5411\u5373\u65f6","text":"

\u8fd9\u6709\u5fc5\u8981\u5417\uff1f\u535a\u4e3b\u6bcf\u4e2a\u6708\u5c31\u4ea7\u51fa\u90a3\u51e0\u7bc7\u6587\u7ae0\uff0c\u65e0\u8bba\u4f60\u662f 1 \u79d2\u5237\u65b0\u4e00\u6b21\uff0c\u8fd8\u662f\u4e00\u5929\u5237\u65b0\u4e00\u6b21\uff0c\u4f60\u4e00\u4e2a\u6708\u5176\u5b9e\u5c31\u53ea\u80fd\u770b\u5230\u8fd9\u4e9b\u4e2a\u535a\u6587\u3002\u66f4\u4e0d\u7528\u8bf4\u7edd\u5927\u591a\u8bf4 rss \u7231\u597d\u8005\u7684\u672a\u8bfb\u8ba1\u6570\u90fd\u4e0a\u767e\u4e0a\u5343\u4e86\u3002

\u867d\u7136\u535a\u5ba2\u662f\u65f6\u95f4\u6d41\u5f0f\u7684 web \u5e73\u53f0\uff0c\u4f46\u662f\u5b83\u4e0d\u662f Twitter\u3001\u5fae\u535a\u8fd9\u6837\u7684\u793e\u4f1a\u6027\u793e\u4ea4\u7f51\u7edc\uff0c\u5b83\u4e0d\u662f\u670b\u53cb\u5708\u6216 QQ \u7a7a\u95f4\u3002 \u4f60\u7528\u4e0a\u4e86 rss \uff0c\u4f46\u4f60\u7684\u5fc3\u6ca1\u6709\u5b8c\u5168\u9759\u4e0b\u6765\uff0c\u8fd8\u5728\u88ab IM\uff08\u5373\u65f6\u901a\u8baf\uff09\u548c\u793e\u4ea4\u7f51\u7edc\u7684\u5373\u65f6\u7406\u5ff5\u6240\u5f71\u54cd\u3002\u6211\u77e5\u9053\u6709\u4eba\u7528 rss \u6765\u770b Twitter\uff0c\u6211\u77e5\u9053\u6709 PubSubHubbub \u6280\u672f\u63d0\u9ad8 rss \u672c\u8eab\u7684\u5373\u65f6\u6027\u548c\u901a\u8fbe\u6027\u3002 \u4f46\u662f\u6211\u60f3\u5f15\u7528\u8fd9\u7bc7\u6587\u7ae0\u7684\u4e00\u6bb5\u8bdd\uff1a

\u201c\u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u6240\u8c13\u7684\u300c\u5b9e\u65f6\u300d\u53ea\u662f\u76f8\u5bf9\u7684\uff0c\u901a\u77e5\u7684\u53d1\u9001\u4e0d\u53ef\u80fd\u5feb\u8fc7 RSS \u670d\u52a1\u6293\u53d6\u5230\u8ba2\u9605\u6e90\u66f4\u65b0\u7684\u65f6\u95f4\uff0c\u800c\u6211\u4eec\u5df2\u7ecf\u77e5\u9053\u540e\u8005\u5f80\u5f80\u5b58\u5728\u4e0d\u53ef\u907f\u514d\u7684\u65f6\u95f4\u5dee\u3002\u56e0\u6b64\uff0c\u5b9e\u65f6\u63a8\u9001\u529f\u80fd\u7684\u4f5c\u7528\u53ea\u662f\u63d0\u9192\u6211\u4eec\u4e0d\u8981\u9519\u8fc7\u5173\u5fc3\u7684\u5185\u5bb9\uff1b\u8981\u771f\u6b63\u505a\u5230\u5206\u949f\u7ea7\u7684\u5148\u77e5\u5148\u89c9\uff0c\u5f53\u4eca\u5a92\u4f53\u751f\u6001\u4e0b\u6050\u6015\u8fd8\u662f\u76f4\u63a5\u7784\u51c6\u793e\u4ea4\u7f51\u7edc\u66f4\u4e3a\u9760\u8c31\u3002\u201d \u2014\u2014 From \u300e2018 \u5e74\u4e3b\u6d41 RSS \u670d\u52a1\u9009\u54ea\u5bb6\uff1fFeedly\u3001Inoreader \u548c NewsBlur \u5168\u9762\u6a2a\u8bc4\u300f by PlatyHsu 2018-05-04

\u5199\u5230\u8fd9\u91cc\u6211\u7a81\u53d1\u5947\u60f3\u3002\u5047\u5982\u4f60\u6bcf\u5929\u4f1a\u6536\u5230\u4e00\u5b9a\u91cf\u7684\u6587\u7ae0\uff0c\u90a3\u4e48\u5ef6\u957f\u5237\u65b0\u95f4\u9694\u65f6\u95f4\u540e\uff0c\u5e73\u5747\u6bcf\u6b21\u5237\u65b0\u5c06\u4e3a\u4f60\u5e26\u6765\u66f4\u591a\u6587\u7ae0\uff0c\u67d0\u79cd\u610f\u4e49\u4e0a\u4f60\u8d5a\u4e86\u3002\u201c\u597d\u5427\uff0c\u6211\u8fd9\u662f \u77ed\u89c6\u635f\u5931\u538c\u6076 \u7684\u53cd\u5411\u4e3e\u4f8b\ud83d\ude17\u201d

\u73b0\u5728\u8fd8\u5728\u5199\u72ec\u7acb Blog \u548c\u5f00 Podcast \uff0c\u54ea\u4e00\u4e2a\u4e0d\u662f\u5174\u8da3\u9a71\u52a8\u5e76\u7528\u7231\u53d1\u7535\uff1fSo\uff0c\u4e3a\u4e86\u66f4\u597d\u7684\u535a\u5ba2/\u535a\u5ba2\u4ee5\u53ca\u6574\u4e2a rss \u751f\u6001\u73af\u5883\u7684\u5065\u5eb7\u53d1\u5c55\uff0c\u5728\u6b64\u5021\u8bae\u5404\u4f4d rss \u540c\u597d \uff1a

  • \u5ef6\u957f rss \u81ea\u52a8\u66f4\u65b0\u65f6\u95f4\uff0c\u6700\u597d 1 \u5c0f\u65f6\u4ee5\u4e0a---\u63a8\u8350\u8bbe\u4e3a 1.5 \u5c0f\u65f6\u3002
  • \u4ec5\u5bf9\u5373\u65f6\u6027\u8981\u6c42\u8f83\u9ad8\u7684\u8d44\u8baf\u6e90\u6216\u8bba\u575b\u6e90\u9002\u5f53\u7f29\u77ed\u5237\u65b0\u95f4\u9694\u3002
  • \u8ba9\u66f4\u591a\u7684 rss \u540c\u597d\u4eec\u4e00\u8d77\u63d0\u9ad8\u5237\u65b0\u95f4\u9694\u3002
  • \u8ba9 rss \u8f6f\u4ef6\u5f00\u53d1\u8005\u4e5f\u77e5\u9053\u6b64\u4e8b\u3002

","tags":["RSS","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/rss-refresh/#_5","title":"\u672c\u4e0d\u5e94\u8be5\u51fa\u73b0\u8fd9\u6837\u7684\u95ee\u9898","text":"","tags":["RSS","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/rss-refresh/#http","title":"http \u7f13\u5b58","text":"

\u4e92\u8054\u7f51\u7684\u8001\u7956\u5b97\u8001\u65e9\u5c31\u60f3\u5230\u4e86\u8fd9\u4e2a\u95ee\u9898\u3002http \u5934\u6709 etag\u3001Last-Modified\u3001Cache-Control \u7b49\u53c2\u6570\u6765\u5b9e\u73b0\u7f13\u5b58\u3002

\u6bd4\u5982 Last-Modified\uff0c\u5b83\u4f1a\u8bb0\u5f55\u6587\u4ef6\u7684\u6700\u540e\u4fee\u6539\u65f6\u95f4\u3002

\u5f53\u4f60\u7b2c\u4e00\u6b21\u901a\u8fc7\u7f51\u7edc\u8bbf\u95ee\u670d\u52a1\u5668\u4e0a\u67d0\u4e2a\u6587\u4ef6\u65f6\uff0c\u670d\u52a1\u5668\u4f1a\u901a\u8fc7\u8fd9\u4e2a http \u5934\u544a\u8bc9\u5ba2\u6237\u7aef\uff1a\u201c\u8fd9\u4e2a\u6587\u4ef6\u6700\u540e\u4fee\u6539\u65f6\u95f4\u662f 2021/03/20-17:55 \u201d \uff0c

\u5f53\u4f60\u4e0b\u6b21\u518d\u8bbf\u95ee\u8fd9\u4e2a\u6587\u4ef6\u65f6\uff0c\u4f60\u4f1a\u544a\u8bc9\u670d\u52a1\u5668\uff1a\u201c\u6211\u4e4b\u524d\u6536\u5230\u7684\u6587\u4ef6\u7684\u6700\u540e\u4fee\u6539\u65f6\u95f4\u662f 2021/03/20-17:55\uff0c\u8bf7\u95ee\u6587\u4ef6\u6709\u6539\u52a8\u5417\uff1f\u6709\u6539\u52a8\u5c31\u628a\u65b0\u6587\u4ef6\u53d1\u7ed9\u6211\uff01\u6ca1\u6709\u5c31\u5431\u6211\u4e00\u58f0\u201d

\u670d\u52a1\u5668\u6536\u5230\u540e\u4f1a\u6bd4\u5bf9\u4fee\u6539\u65f6\u95f4\u662f\u5426\u4e00\u81f4\uff0c\u5982\u679c\u4e00\u81f4\uff0c\u5c31\u4f1a\u544a\u8bc9\u4f60\uff1a\u201c\u6ca1\u6709\u6539\u52a8\uff08304 Not-Modified\uff09\u201d\uff0c\u5c31\u4e0d\u4f1a\u7ed9\u4f60\u518d\u6b21\u53d1\u9001\u76f8\u540c\u7684\u6587\u4ef6\uff0c\u6574\u4e2a\u8fc7\u7a0b\u4e5f\u4ec5\u4ec5\u53ea\u6d88\u8017\u4e0d\u5230 1kb\u3002

\u800c etag\uff0c\u5b83\u7684\u4f5c\u7528\u7684 Last-Modified \u7c7b\u4f3c\uff0c\u4e0d\u8fc7\u5b83\u662f\u57fa\u4e8e\u6587\u4ef6\u5185\u5bb9\u751f\u6210\u7684\u7279\u5f81\u7801\uff0c\u5177\u4f53\u673a\u5236\u4e0d\u7ec6\u8bf4\u4e86\u3002Cache-Control \u4e5f\u4e0d\u7ec6\u8bf4\u4e86\u3002

\u4f46\u662f\u5f88\u591a\u535a\u5ba2\u662f\u57fa\u4e8e PHP \u7684\u52a8\u6001\u535a\u5ba2\uff08\u6bd4\u5982\u672c\u7ad9\u4f7f\u7528\u7684 Typecho\uff09

* \u6b64\u5904\u5f85\u5b8c\u5584

\u5982\u679c\u60f3\u62ff\u5230 Etag\uff0c\u5c31\u5fc5\u987b\u5148\u62ff\u5230\u8981\u8f93\u51fa\u7684\u6570\u636e\uff0c\u6240\u4ee5 Etag \u53ea\u80fd\u51cf\u5c11\u5e26\u5bbd\u7684\u5360\u7528\uff0c\u5e76\u4e0d\u80fd\u964d\u4f4e\u670d\u52a1\u5668\u7684\u6d88\u8017\u3002\u5982\u679c\u662f\u9759\u6001\u9875\u9762\uff0c\u53ef\u4ee5\u5224\u65ad\u6587\u4ef6\u6700\u8fd1\u4e00\u6b21\u7684\u4fee\u6539\u65f6\u95f4\uff08Last-Modified\uff09\uff0c\u83b7\u53d6\u6587\u4ef6\u4e0a\u6b21\u4fee\u6539\u65f6\u95f4\u7684\u6d88\u8017\u6bd4\u62ff\u5230\u6574\u4e2a\u6570\u636e\u7684\u6d88\u8017\u8981\u5c0f\u7684\u591a\u3002\u6240\u4ee5\u5f88\u591a\u65f6\u5019 Etag \u90fd\u662f\u914d\u5408\u8fd9 Last-Modified \u4e00\u8d77\u4f7f\u7528\u7684\u3002

\u5176\u5b9e rss \u6807\u51c6\u5728 xml \u6587\u4ef6\u7684\u5f00\u5934\u6709 lastBuildDate \u548c pubDate \u53c2\u6570\uff0catom \u6807\u51c6\u5728\u5f00\u5934\u6709 updated \u53c2\u6570\u3002\u4f46\u662f\u2026\u2026\u4f3c\u4e4e\u8ba2\u9605\u5668\u4eec\u90fd\u6ca1\u6709\u4ed4\u7ec6\u8ba4\u771f\u5bf9\u5f85\u8fc7\u8fd9\u4e9b\u53c2\u6570\u3002

\u8fd9\u51e0\u4e2a\u53c2\u6570\u5927\u5bb6\u7406\u89e3\u53ef\u80fd\u90fd\u4f1a\u4e0d\u592a\u4e00\u6837\uff0c\u6240\u4ee5\u662f\u8f83\u5c11\u6709\u4ed4\u7ec6\u5bf9\u5f85\u7684\u3002 @about_rss

\u6309\u9053\u7406\u6765\u8bf4\uff0c\u8ba2\u9605\u5668\u5e94\u8be5\u4e00\u8fb9\u4e0b\u8f7d\u4e00\u8fb9\u89e3\u6790\u3002\u800c\u4e0d\u662f\u628a feed \u4e0b\u8f7d\u5230\u672c\u5730\u540e\u518d\u89e3\u6790\u3002\u8fd9\u6837\u53ea\u8981\u8ba2\u9605\u5668\u89e3\u6790\u5230 lastBuildDate/update/pubDate \u65f6\u95f4\u548c\u4e0a\u4e00\u6b21\u66f4\u65b0\u65f6\u76f8\u540c\uff0c\u5c31\u7ec8\u6b62\u4e0b\u8f7d\u3002\u8fd9\u6837\u65e0\u8bba\u591a\u5927\u7684\u6e90\uff0c\u5728\u6e90\u672c\u8eab\u6ca1\u6709\u66f4\u65b0\u7684\u60c5\u51b5\u4e0b\uff0c\u6bcf\u6b21\u5237\u65b0\u90fd\u53ea\u4f1a\u6d88\u8017\u4ec5\u4ec5\u51e0 kb \u7684\u6d41\u91cf\u3002

\u4f46\u73b0\u5728\u8ba2\u9605\u5668\u66f4\u591a\u53ea\u628a\u8fd9\u4e9b\u53c2\u6570\u7528\u5230\u4e86\u51cf\u5c11\u6570\u636e\u5e93\u91cd\u590d\u5199\u5165\uff0c\u63d0\u9ad8\u6570\u636e\u5e93\u6027\u80fd\u4e0a\u53bb\u3002\u800c\u6ca1\u6709\u7528\u5230\u51cf\u5c11\u66f4\u65b0 feed \u65f6\u7684\u6d41\u91cf\u6d88\u8017\u4e0a\u3002\u90fd\u662f\u4e0d\u7ba1\u4e09\u4e03\u4e8c\u5341\u4e00\uff0c\u5148\u628a feed \u4e0b\u5230\u672c\u5730\uff0c\u518d\u5bf9\u4e0b\u4e0b\u6765\u7684 feed \u6587\u4ef6\u8fdb\u884c\u89e3\u6790\u5904\u7406\u3002

* \u6b64\u5904\u5f85\u5b8c\u5584

","tags":["RSS","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/rss-refresh/#rss_1","title":"RSS \u8f6f\u4ef6\u4eec/\u5f00\u53d1\u8005\u5e94\u8be5\u505a\u70b9\u4ec0\u4e48","text":"

\u5f53\u7136\uff0c\u5b9e\u73b0\u8fd9\u6837\u7684\u4f18\u5316\u786e\u5b9e\u76f8\u5bf9\u6bd4\u8f83\u96be\uff0c\u6bd5\u7adf\u8fd9\u6837\u9700\u8981\u628a feed \u4e0b\u8f7d\u5230\u5185\u5b58\u4e2d\u5904\u7406\uff08\u6bd5\u7adf\u9700\u8981\u8fb9\u4e0b\u8f7d\u8fb9\u89e3\u6790\uff09\uff0c\u4f30\u8ba1\u7f51\u4e0a\u8fd8\u627e\u4e0d\u5230\u7528\u4e8e\u5904\u7406\u8fd9\u6837\u529f\u80fd\u7684\u5e93\u3002

\u771f\u8bda\u5e0c\u671b\u5404\u4e2a rss \u8f6f\u4ef6\u5f00\u53d1\u8005\u5728\u8fd9\u65b9\u9762\u4e0b\u4e0b\u529f\u592b\u3002

\u5b9e\u5728\u4e0d\u6d4e\uff0c\u8fd8\u6709\u4e2a\u6700\u7b80\u5355\u7684\u65b9\u6848\uff0c\u4e5f\u662f\u6211\u60f3\u5021\u8bae\u7684\u3002\u5728\u60a8\u5f00\u53d1\u7684 rss \u8f6f\u4ef6\u4e2d\uff0c\u5728\u8c03\u6574\u66f4\u65b0\u9891\u7387\u7684\u9875\u9762\u90a3\u91cc\u8bbe\u7f6e\u4e00\u4e2a\u5bf9\u8bdd\u6846\u3002\u53ea\u8981\u7528\u6237\u4e00\u70b9\u51fb\u5c0f\u4e8e 45\uff5e60 \u5206\u949f\u7684\u5237\u65b0\u95f4\u9694\u7684\u9009\u9879\uff0c\u5c31\u5f39\u51fa\u5bf9\u8bdd\u6846\uff0c\u8fd9\u4e2a\u5bf9\u8bdd\u6846\u9700\u8981 10 \u79d2\u949f\u624d\u80fd\u70b9\u51fb\u201c\u6211\u5df2\u4e86\u89e3\u201d\u3002\u4e0a\u9762\u5199\u6709\uff1a\u201c\u5982\u975e\u7edd\u5bf9\u5fc5\u8981\uff0c\u6211\u4eec\u4e0d\u63a8\u8350\u4f7f\u7528\u66f4\u9ad8\u9891\u7387\u7684\u5237\u65b0\u95f4\u9694\uff0c\u8fd9\u53ef\u80fd\u4f1a\u5bf9\u4f60\u6240\u8ba2\u9605\u7684\u7f51\u7ad9\u9020\u6210\u4e0d\u5fc5\u8981\u7684\u6d41\u91cf\u5f00\u9500\u548c\u538b\u529b\u3002\u201d

* \u6b64\u5904\u5f85\u5b8c\u5584

","tags":["RSS","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/rss-refresh/#_6","title":"\u5bf9\u4e8e\u535a\u4e3b\u7684\u5efa\u8bae","text":"

\u5982\u679c\u4f60\u7684\u535a\u5ba2 CDN \u6d41\u91cf\u5728 feed \u8fd9\u65b9\u9762\u6d88\u8017\u5927\uff0c\u6211\u4e2a\u4eba\u5efa\u8bae\u5148\u53d1\u4e00\u7bc7\u6587\u7ae0\u63d0\u9192\u8ba2\u9605\u8005\u964d\u4f4e\u5237\u65b0\u9891\u7387\u3002\u6216\u901a\u8fc7\u6280\u672f\u624b\u6bb5\uff0c\u6bd4\u5982\u5c06feed\u5355\u72ec\u6258\u7ba1\u5728\u4e00\u4e2a\u4e0d\u7528\u62c5\u5fc3\u6d41\u91cf\u6d88\u8017\u7684\u5730\u65b9\uff08\u6bd4\u5982GitHub\u3001Gitee\u3001coding\u3001Cloudflare Workers\u7b49\uff09\uff0c\u7136\u540e\u5c06 feed \u7684 URL \u91cd\u5b9a\u5411\u8fc7\u53bb\u3002\u5f53\u7136\uff0c\u5728\u8fd9\u4e2a\u8fc7\u7a0b\u4e2d\u518d\u5957\u4e00\u5c42\u514d\u8d39\u7684 CDN \u4e5f\u662f\u53ef\u4ee5\u7684\uff0c\u6bd4\u5982\u7528 jsdeliver+GitHub\u3002\u270c \u5982\u679c\u4f60\u53ea\u662f\u62c5\u5fc3\u9891\u7e41\u7684\u6293\u53d6\u5bf9\u670d\u52a1\u5668\u9020\u6210\u538b\u529b\uff0c\u53ef\u4ee5\u8003\u8651\u7ed9\u535a\u5ba2\u6216\u53ea\u9488\u5bf9 feed \u52a0\u4e0a Redis \u4e4b\u7c7b\u7684\u5185\u5b58\u7f13\u5b58\u3002

* \u6b64\u5904\u5f85\u5b8c\u5584

","tags":["RSS","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/rss-refresh/#the-end","title":"The End","text":"

\u6211\u77e5\u9053\u5927\u90e8\u5206\u4eba\u8bbe\u7f6e\u8f83\u77ed\u66f4\u65b0\u95f4\u9694\u65f6\u6ca1\u6709\u8003\u8651\u5230\u8fd9\u4e00\u70b9\uff0c\u4e5f\u8bb8\u672c\u6587\u90e8\u5206\u7528\u8bcd\u8f83\u6fc0\u8fdb\uff0c\u4f46\u8fd9\u662f\u4e00\u4e2a\u201c\u5982\u679c\u4eba\u4eba\u90fd\u4e86\u89e3\u4e86\uff0c\u90a3\u4e48\u95ee\u9898\u5c31\u4e0d\u518d\u5b58\u5728\u201d\u7684\u95ee\u9898\u3002

\ud83d\udcaa\ud83d\udcaa

","tags":["RSS","\u7ad9\u5916\u6587\u6863"]},{"location":"archives/rss-refresh/#ending","title":"Others\uff06Update","text":"

\u611f\u8c22 @about_rss \u5bf9\u4e8e\u672c\u6587\u7684\u5e2e\u52a9\u3002\u63a8\u8350\u770b\u770b\u4ed6\u7684 Telgram \u9891\u9053 All About RSS\uff0c\u91cc\u9762\u90fd\u662f\u5173\u4e8e rss \u7684\u4f18\u79c0\u5185\u5bb9\uff01

\u66f4\u6b63\uff1a

2021-01-02 Update:\uff08\u5199\u5f97\u592a\u5feb\uff0c\u6587\u7ae0\u6709\u5f88\u591a\u95ee\u9898\uff0c\u611f\u8c22\u4ee5\u4e0b\u7f51\u53cb\u6307\u6b63\uff09 \uff20AA: \u6211\u8bb0\u5f97 Google reader \u4f1a\u6839\u636e\u6587\u7ae0\u9891\u7387\u81ea\u9002\u5e94\u5237\u65b0\u9891\u7387\u7684\uff0c\u5176\u4ed6\u7684\u9605\u8bfb\u5668\u5e94\u8be5\u4e5f\u4f1a \u53e6\u5916\u5c31\u7b97\u5237\u65b0\u4e5f\u53ef\u4ee5\u5229\u7528\u4e0a http \u7f13\u5b58\uff0c\u5e76\u4e0d\u4f1a\u6bcf\u6b21\u90fd\u8fd4\u56de\u5b8c\u6574\u5185\u5bb9 \u5982\u679c\u6ca1\u66f4\u65b0\u53ea\u4f1a\u8fd4\u56de 304 not modified

\uff20BB: \u800c\u4e14\u4e5f\u6ca1\u8003\u8651\u538b\u7f29 \u6545\u4e8b FM \u7684 feed \u538b\u7f29\u4e4b\u540e 323kB

\uff20AA: \u5982\u679c\u7528\u7684\u662f\u901a\u7528\u7684 http client \u5e94\u8be5\u90fd\u652f\u6301 cache\uff0c\u6211\u89c9\u5f97\u9664\u975e\u5199\u9519\u4e86\uff0c\u8981\u4e0d\u7136\u90fd\u5e94\u8be5\u80fd\u60f3\u5230\u542f\u7528 cache \u5427\ud83d\ude05 \u55ef\uff0c\u4f46\u662f\u4e0d\u77e5\u9053 CDN \u6d41\u91cf\u4f1a\u4e0d\u4f1a\u6309\u538b\u7f29\u4e4b\u540e\u7b97 \uff20CC: CDN \u4f1a

\uff20DD: \u4f5c\u8005\u6ca1\u7406\u89e3 http \u534f\u8bae\u6709\u4e2a etag \u5b57\u6bb5\uff0c\u4e0d\u9700\u8981\u5168\u90e8\u62c9\u53d6\u5185\u5bb9\u4e5f\u80fd\u77e5\u9053 feed \u662f\u5426\u66f4\u65b0\u3002 \u5426\u5219\u6211\u65e9\u5c31\u7834\u4ea7\u4e86\u3002 \u53e6\u5916 cdn \u8d39\u7528\u901a\u5e38\u662f\u53ef\u4ee5\u8c08\u7684\uff0c\u50cf\u6211\u4eec\u8fd9\u79cd\u6d41\u91cf\u6bd4\u8f83\u5927\u7684\u5ba2\u6237\uff0c\u57fa\u672c\u53ef\u4ee5\u8c08\u5230\u51e0\u5206\u94b1\u6bcf\u4e2aGB\u7684\u4f4e\u4ef7\u3002 \u53e6\u5916\uff0c\u50cf\u662f\u82f9\u679c\u64ad\u5ba2\u8fd9\u7c7b\u6bd4\u8f83\u5065\u5168\u7684\u7cfb\u7edf\uff0c\u901a\u5e38\u4f1a\u6709\u4e00\u4e2a bot \u53bb\u68c0\u67e5\u5e76\u62c9\u53d6\u8282\u76ee\u7684\u6700\u65b0\u66f4\u65b0\uff0c\u800c\u8fd9\u4e2a\u62c9\u53d6\u662f\u91c7\u7528 range \u5b57\u6bb5\u9650\u5236\u62c9\u53d6\u7684\u5b57\u8282\u6570\u7684\uff0c\u4ed6\u4eec\u53ea\u6bd4\u8f83\u6bcf\u4e2a xml \u6587\u4ef6\u7684\u524d\u90e8\u67d0\u4e2a\u957f\u5ea6\u7684\u5185\u5bb9\u662f\u5426\u66f4\u65b0\uff0c\u5e76\u5c06\u66f4\u65b0\u901a\u77e5\u7ed9\u5ba2\u6237\u7aef\u62c9\u53d6\uff0c\u800c\u4e0d\u662f\u7531\u6bcf\u4e2a\u5ba2\u6237\u7aef\u5b9a\u65f6\u5404\u81ea\u53d1\u8d77\u8bf7\u6c42\uff0c\u4e0d\u7136\u4ee5\u6211\u4eec\u7528\u6237\u7684\u4f53\u91cf\uff0c\u4e5f\u65e9\u5c31\u88ab\u62c9\u6b7b\u4e86\u3002overcast \u751a\u81f3\u5c0f\u5b87\u5b99\u7b49\u5ba2\u6237\u7aef\u901a\u5e38\u90fd\u6709\u7c7b\u4f3c\u7684\u673a\u5236\u3002

\u6240\u4ee5\u5927\u5bb6\u5c3d\u53ef\u4ee5\u6309\u9ed8\u8ba4\u503c\u6765\uff0c\u6211\u4eec\u6491\u5f97\u4f4f\uff0c\u4e92\u8054\u7f51\u7684\u8001\u7956\u5b97\u4eec\u65e9\u5c31\u60f3\u5230\u8fd9\u4e9b\u95ee\u9898\u4e86\uff0c\u54c8\u54c8\u54c8\u54c8\u3002

CC: emmmmm\uff0c\u6211\u521a\u521a\u770b\u4e86\u4e0b gofeed \u597d\u50cf\u6ca1\u6709\u505a\u5224\u65ad\uff08 \u6216\u8bb8\u6709\u7a7a\u53bb\u63d0\u4e2a pr

\u6211\uff1a \u201c\u6839\u636e\u6587\u7ae0\u9891\u7387\u81ea\u52a8\u8c03\u6574\u5237\u65b0\u9891\u7387\u7684\u9605\u8bfb\u5668\u8fd8\u662f\u5c11\u6570\uff0c\u5927\u591a\u90fd\u662f ino\uff0cfeedly \u8fd9\u6837\u7684\u5546\u4e1a\u5316\u7684\u670d\u52a1\u5668\u7aef\u7684 rss \u8ba2\u9605\u5668\u624d\u5177\u5907\u7684\u529f\u80fd\uff0c\u5176\u5b9e\u4e4b\u524d\u662f\u6709\u60f3\u5230\u8fd9\u70b9\uff0c\u4f46\u5fd8\u5199\u4e86\ud83d\ude02\u201d\uff08\u5982\u679c\u6211\u6ca1\u8bb0\u9519\uff0cttrss \u548c freshrss \u5e94\u8be5\u90fd\u6ca1\u6709\u8fd9\u6837\u7684\u529f\u80fd\uff09 \u201chttp \u7f13\u5b58\u548c\u538b\u7f29\uff0c\u6211\u9057\u6f0f\u4e86\u8fd9\u4e24\u70b9\u3002\u53d1\u8fd9\u7bc7\u6587\u7ae0\u4e22\u4eba\u663e\u773c\u4e86\ud83d\ude25\uff0c\u6211\u8fc7\u5ea6\u770b\u91cd\u4e8e rss \u8f6f\u4ef6\u5bf9\u4e8efeed\u6587\u4ef6\u672c\u8eab\u7684\u5904\u7406\u4e0a\u4e86\uff0c\u5374\u5fd8\u8bb0\u8003\u8651\u6700\u57fa\u7840\u7684 http\u201d\u4f46\u56de\u8fc7\u5934\u6765\u770b\uff0c\u5f88\u591a PHP \u52a8\u6001\u535a\u5ba2\u7a0b\u5e8f\u662f\u5373\u65f6\u751f\u6210\u7684 RSS\uff0c\u5e76\u4e0d\u662f\u771f\u6b63\u653e\u4e3b\u673a\u4e0a\u7684 xml \u6587\u4ef6\uff0c\u6240\u4ee5\u6ca1\u6709\u4efb\u4f55 http cache control\u3002\u201cCDN \u53ef\u4ee5\u8c08\u5230\u51e0\u5206\u94b1 GB \u7684\u4ef7\u683c\uff0c\u8fd9\u4e2a\u6211\u77e5\u9053\uff0c\u4f46\u662f\u7531\u4e8e\u8fd9\u7bc7\u6587\u7ae0\u4e00\u5f00\u59cb\u6211\u7684\u4e3b\u9898\u662f\u9762\u5411\u90a3\u4e9b\u6d4f\u89c8\u4e0d\u5927\u7684\u5c0f\u535a\u5ba2\u6765\u8bb2\u7684\uff0c\u4e2d\u9014\u624d\u60f3\u8d77\u6765\u2018\u597d\u50cf\u64ad\u5ba2\u5728 rss \u65b9\u9762\u7684\u6d88\u8017\u5e94\u8be5\u666e\u904d\u5f88\u5927\u2019\uff0c\u6240\u4ee5\u4e5f\u5fd8\u4e86\u5728\u6587\u7ae0\u4e2d\u8bf4\u201d \u201c\u6240\u4ee5\uff0c\u6211\u4eec\u5e94\u8be5\u66f4\u6ce8\u91cd\u8ba9\u8f6f\u4ef6\u5f00\u53d1\u8005\u6765\u5b8c\u5584\u8fd9\u4e2a\u95ee\u9898\uff0c\u800c\u4e0d\u662f\u4ec5\u5728\u7528\u6237\u5c42\u9762\u4e0a\u547c\u5401\u5f3a\u8c03\u5927\u5bb6\u964d\u4f4e\u66f4\u65b0\u9891\u7387\u4e4b\u7c7b\u7684\u201d

\u6b22\u8fce\u8f6c\u8f7d\uff0c\u65e0\u9700\u7533\u8bf7\uff0c\u53ef\u884d\u751f\uff0c\u4e0d\u5f3a\u6c42\u7f72\u540d\u3002

By yzqzss|\u4e00\u5ea7\u6865\u5728\u6c34\u4e0a \u8d77\u8349\u4e8e 2021-01-01 \u53d1\u5e03\u4e8e 2021-01-02

","tags":["RSS","\u7ad9\u5916\u6587\u6863"]},{"location":"blog/2024/06/29/%E5%85%B3%E4%BA%8E%E6%9C%AC%E7%AB%99%E5%86%85%E5%AE%B9%E7%9A%84%E5%8F%98%E6%9B%B4/","title":"\u5173\u4e8e\u672c\u7ad9\u5185\u5bb9\u7684\u53d8\u66f4","text":"

\u672c\u7ad9\u5c06\u4e0d\u518d\u5b9a\u671f\u63d0\u4f9b\u7279\u5b9a\u7f51\u7ad9\u7684\u7ffb\u8bd1\u3002

2021 \u5e74 7 \u6708\u81f3 2024 \u5e74 5 \u6708\u7684\u8bd1\u6587\u6e90\u6587\u4ef6\u4f1a\u5728 whiteboard-old \u63d0\u4f9b\u3002

"},{"location":"blog/2023/09/08/%E4%BD%A0%E5%A5%BD%E4%B8%96%E7%95%8C/","title":"\u4f60\u597d\uff0c\u4e16\u754c\uff01","text":"

Mkdocs Material \u7684\u535a\u5ba2\u529f\u80fd\u603b\u7b97\u6b63\u5f0f\u653e\u51fa\u4e86\uff0c\u672c\u7ad9\u73b0\u5728\u5df2\u652f\u6301 RSS\uff01 \ud83e\udd73

  • \u7528\u4e8e\u6700\u65b0\u521b\u5efa\u7684\u9875\u9762\uff1a https://whiteboard-ui8.pages.dev/feed_rss_created.xml
  • \u7528\u4e8e\u6700\u65b0\u66f4\u65b0\u7684\u9875\u9762\uff1a https://whiteboard-ui8.pages.dev/feed_rss_updated.xml

\u5f53\u4f60\u4f7f\u7528 RSS \u8ba2\u9605\u7684\u65f6\u5019\uff0c\u8bf7\u9605\u8bfb\u300e\u7ed9 RSS \u7231\u597d\u8005\u4eec\u7684\u4e00\u5c01\u4fe1\u300f\u4e3a\u4ec0\u4e48\u6211\u4eec\u5e94\u8be5\u63d0\u9ad8 RSS \u5237\u65b0\u95f4\u9694\uff1f\u3002

"},{"location":"essay/about/","title":"\u5173\u4e8e","text":"

\u7ad9\u5185\u6742\u8c08\u4e3b\u8981\u5305\u542b\u4e86\uff1a

  • \u6742\u8c08\uff1a\u4e2a\u4eba\u5e38\u7528\u7684\u4e00\u4e9b\u914d\u7f6e\u6587\u4ef6\u4ee5\u53ca\u641e\u673a\u5907\u5fd8\u5f55\uff1b
  • openSUSE \u5b89\u88c5\u914d\u7f6e\uff1aopenSUSE Tumbleweed \u5b89\u88c5\u5907\u5fd8\u5f55\uff1b
  • Linux \u8d44\u6599\u5e93\uff1a\u6536\u7eb3\u4e00\u4e9b\u53c2\u8003\u8d44\u6599\uff0c\u7701\u53bb\u5728\u591a\u4e2a\u7ad9\u70b9\u95f4\u8df3\u8f6c\u7684\u65f6\u95f4\u3002

\u5173\u8054\u5185\u5bb9\uff1a

  • openSUSE \u4e2d\u6587\u65b0\u95fb\u7ad9
  • whiteboard-old\uff1a\u8be5\u4ed3\u5e93\u7528\u4e8e\u5f52\u6863 whiteboard \u4e0d\u518d\u6536\u7eb3\u7684\u8bd1\u6587\u6587\u6863\u3002
  • openSUSE \u4e2d\u6587\u7ef4\u57fa\uff1a
    • Aua0880\uff08\u5df2\u505c\u7528\u7684\u65e7\u8d26\u6237\uff09
    • White-poplar
"},{"location":"essay/linux/0-about/","title":"\u5173\u4e8e","text":"

\u8be5\u90e8\u5206\u7684\u5185\u5bb9\u4e3b\u8981\u662f\u4f5c\u4e3a\u4e00\u4e2a\u53ef\u79bb\u7ebf\u4f7f\u7528\u7684\u53c2\u8003\u8d44\u6599\u5e93\uff0c\u4ee5\u7701\u7565\u5728\u4e0d\u540c\u7684\u7f51\u7ad9\u95f4\u8df3\u8dc3\u7684\u65f6\u95f4\u3002

"},{"location":"essay/linux/0-misc-of-unit/","title":"\u6df7\u4e71\u7684\u8ba1\u91cf\u5355\u4f4d","text":"

\u4f4d\u5143\uff08bit\uff0c\u53c8\u79f0\uff1a\u6bd4\u7279\uff09\u662f\u4fe1\u606f\u8d44\u8baf\u6700\u5c0f\u7684\u5355\u4f4d\u3002\u4f4d\u5143\u7ec4\uff08Byte\uff0c\u53c8\u79f0\u4e3a\uff1a\u5b57\u8282\uff09\uff0c\u4e00\u4e2a\u4f4d\u5143\u7ec4\u7b49\u4e8e 8 \u4f4d\u5143\u3002

  • \u4f4d\u5143\u7684\u5355\u4f4d\u662f\uff1ab
  • \u4f4d\u5143\u7ec4\u7684\u5355\u4f4d\u662f\uff1aB

\u4e0a\u8ff0\u4e24\u4e2a\u5355\u4f4d\u4f7f\u7528\u7684\u56fd\u9645\u5355\u4f4d\u5236\u8bcd\u5934\u6709\u4e24\u79cd\uff1a

  • \u5341\u8fdb\u5236\uff1a\u5982 KB
  • \u4e8c\u8fdb\u5236\uff1a\u5728\u8bcd\u5934\u4e0e\u5355\u4f4d\u4e4b\u95f4\u65b0\u589e\u4e00\u4e2a i\uff0c\u5982 KiB
","tags":["\u8d44\u6599\u5e93","Linux","shell"]},{"location":"essay/linux/0-misc-of-unit/#_2","title":"\u5bf9\u7167\u8868","text":"\u503c \u516c\u5236/\u5341\u8fdb\u5236 \u503c IEC/\u4e8c\u8fdb\u5236 1000B = 1kB kilobyte 1024B = 1KiB kibibyte 10002B = 1MB megabyte 10242B = 1MiB mebibyte 10003B = 1GB gigabyte 10243B = 1GiB gibibyte 10004B = 1TB terabyte 10244B = 1TiB tebibyte 10005B = 1PB petabyte 10245B = 1PiB pebibyte 10006B = 1EB exabyte 10246B = 1EiB exbibyte 10007B = 1ZB zettabyte 10247B = 1ZiB zebibyte 10008B = 1YB yottabyte 10248B = 1YiB yobibyte 10009B = 1RB ronnabyte 10249B - 100010B = 1QB quettabyte 102410B -
  • \u6765\u6e90\uff1aMultiple-byte units
","tags":["\u8d44\u6599\u5e93","Linux","shell"]},{"location":"essay/linux/0-misc-of-unit/#_3","title":"\u5e38\u89c1\u4f7f\u7528\u573a\u666f","text":"
  • \u5341\u8fdb\u5236\uff1a
    • \u786c\u76d8/\u5185\u5b58\u5236\u9020\u5546\u6807\u6ce8\u7684\u786c\u76d8/\u5185\u5b58\u6761\u5bb9\u91cf
  • \u4e8c\u8fdb\u5236\uff1a
    • Linux \u7cfb\u7edf\u7684\u5185\u5b58/\u5b58\u50a8\u7a7a\u95f4\u8ba1\u7b97
  • \u4f4d\u5143\uff1a
    • \u7f51\u7edc\u5e26\u5bbd
","tags":["\u8d44\u6599\u5e93","Linux","shell"]},{"location":"essay/linux/0-misc-of-unit/#_4","title":"\u90e8\u5206\u547d\u4ee4","text":"

\u4f7f\u7528 ls \u547d\u4ee4\u5217\u51fa\u6587\u4ef6\u5927\u5c0f\u65f6\uff0c\u53ef\u4ee5\u4f7f\u7528 --block-size= \u7684 flag \u6307\u5b9a\u663e\u793a\u7684\u5927\u5c0f\uff0c\u5982\uff1a

poplar@c004-h1:~/Downloads/ISO> ll openSUSE-Tumbleweed-DVD-x86_64-Snapshot20241001-Media.iso\n-rw-r--r-- 1 root root 4594860032 10\u6708 3\u65e5 09:24 openSUSE-Tumbleweed-DVD-x86_64-Snapshot20241001-Media.iso\npoplar@c004-h1:~/Downloads/ISO> ll openSUSE-Tumbleweed-DVD-x86_64-Snapshot20241001-Media.iso --block-size=MiB\n-rw-r--r-- 1 root root 4382MiB 10\u6708 3\u65e5 09:24 openSUSE-Tumbleweed-DVD-x86_64-Snapshot20241001-Media.iso\n

\u8be6\u89c1 man ls\u3002

\u53c8\u5982 free -m \u7684\u542b\u4e49\u5c31\u662f\u4ee5 mebibyte \u663e\u793a\u5f53\u524d\u7684\u5185\u5b58\u4fe1\u606f\uff1a

poplar@c004-h1:~> sudo free -m\n[sudo] root \u7684\u5bc6\u7801\uff1a\n               total        used        free      shared  buff/cache   available\n\u5185\u5b58\uff1a         15201        6875        2356         335        6634        8325\n\u4ea4\u6362\uff1a          8191        1757        6434\npoplar@c004-h1:~> sudo free --mega\n               total        used        free      shared  buff/cache   available\n\u5185\u5b58\uff1a         15939        7203        2476         351        6956        8736\n\u4ea4\u6362\uff1a          8589        1842        6747\n

\u8be6\u89c1 free --help\u3002

","tags":["\u8d44\u6599\u5e93","Linux","shell"]},{"location":"essay/linux/1-check-sys-info/","title":"\u68c0\u67e5\u7cfb\u7edf\u4fe1\u606f","text":"

\u8981\u5217\u51fa CPU \u8bbe\u5907\u4fe1\u606f\uff0c\u53ef\u4f7f\u7528 lscpu\u3002

\u8981\u5217\u51fa\u5f53\u524d\u7cfb\u7edf\u7684\u5757\u8bbe\u5907\u4fe1\u606f\uff0c\u53ef\u4f7f\u7528 lsblk\uff0c\u53ef\u9644\u52a0 --fs\u3002

\u8981\u5217\u51fa USB \u8bbe\u5907\u4fe1\u606f\uff0c\u53ef\u4f7f\u7528 lsusb\u3002

\u8981\u5217\u51fa PCI \u8bbe\u5907\u4fe1\u606f\uff0c\u53ef\u4f7f\u7528 lspci\u3002

\u8981\u5217\u51fa RAM \u4fe1\u606f\uff0c\u53ef\u4f7f\u7528 free -m\u3002

","tags":["\u8d44\u6599\u5e93","Linux","shell"]},{"location":"essay/linux/1-check-sys-info/#dmidecode","title":"dmidecode","text":"

dmidecode \u8fd0\u884c\u65f6\u9700\u8981 root \u6743\u9650\uff0c\u53ef\u7528\u4e8e\u8bfb\u53d6\u7cfb\u7edf\u7684\u786c\u4ef6\u4fe1\u606f\uff0c\u4f8b\u5982\u5185\u5b58\u6761\u7684\u9891\u7387\u3002

\u4f7f\u7528 sudo dmidecode -t \u67e5\u8be2\u53ef\u5217\u51fa\u7684\u786c\u4ef6\u4fe1\u606f\u3002

","tags":["\u8d44\u6599\u5e93","Linux","shell"]},{"location":"essay/linux/1-check-sys-info/#hwinfo","title":"hwinfo","text":"

hwinfo \u4e0e dmidecode\uff0c\u4f7f\u7528 sudo hwinfo --help \u5217\u51fa\u53ef\u67e5\u8be2\u7684\u4fe1\u606f\u3002

","tags":["\u8d44\u6599\u5e93","Linux","shell"]},{"location":"essay/linux/1-fs-and-permission/","title":"\u6587\u4ef6\u7cfb\u7edf\u3001\u6587\u4ef6\u6240\u6709\u6743\u53ca\u6587\u4ef6\u6743\u9650","text":"

\u6240\u6709\u4e1c\u897f\u90fd\u662f\u6587\u4ef6\uff0c\u5305\u62ec\u6587\u4ef6\u5939\u4e5f\u662f\u6587\u4ef6\u7684\u4e00\u79cd\u3002

","tags":["\u8d44\u6599\u5e93","Linux","\u6587\u4ef6\u7cfb\u7edf"]},{"location":"essay/linux/1-fs-and-permission/#_2","title":"\u6587\u4ef6\u7cfb\u7edf","text":"

Linux \u7684\u6587\u4ef6\u7cfb\u7edf\u6811\u5982\u4e0b\uff1a

poplar@c004-h1:~> tree / -L 1\n/\n\u251c\u2500\u2500 bin -> usr/bin\n\u251c\u2500\u2500 boot\n\u251c\u2500\u2500 dev\n\u251c\u2500\u2500 etc\n\u251c\u2500\u2500 home\n\u251c\u2500\u2500 lib -> usr/lib\n\u251c\u2500\u2500 lib64 -> usr/lib64\n\u251c\u2500\u2500 mnt\n\u251c\u2500\u2500 opt\n\u251c\u2500\u2500 proc\n\u251c\u2500\u2500 root\n\u251c\u2500\u2500 run\n\u251c\u2500\u2500 sbin -> usr/sbin\n\u251c\u2500\u2500 srv\n\u251c\u2500\u2500 sys\n\u251c\u2500\u2500 tmp\n\u251c\u2500\u2500 usr\n\u2514\u2500\u2500 var\n\n19 directories, 0 files\n

\u6839\u76ee\u5f55\u4e0b\uff0c\u5e38\u89c1\u7684\u6587\u4ef6\u5939\u7684\u7528\u90141\uff1a

  • /bin\uff1a\u5b58\u653e\u5e38\u7528\u7684 Linux \u7528\u6237\u547d\u4ee4\uff0c\u5982 ls\u3001date\u3001chmod \u7b49\u3002
  • /boot\uff1a\u5b58\u653e\u53ef\u5f15\u5bfc Linux \u5185\u6838\u3001\u521d\u59cb\u5316 RAM \u78c1\u76d8\u548c\u5f15\u5bfc\u52a0\u8f7d\u5668\u914d\u7f6e\u6587\u4ef6\uff08GRUB\uff09
  • /dev\uff1a\u5b58\u653e\u4ee3\u8868\u7cfb\u7edf\u8bbe\u5907\u8bbf\u95ee\u70b9\u7684\u6587\u4ef6\u3002\u4f8b\u5982\u7ec8\u7aef\u8bbe\u5907\uff08tty*\uff09\u3001\u786c\u76d8\uff08hd* \u6216 sd*\uff09\u3001RAM\uff08ram*\uff09\u548c CD-ROM\uff08cd*\uff09\u7b49\u3002\u7528\u6237\u53ef\u4ee5\u901a\u8fc7\u8fd9\u4e9b\u8bbe\u5907\u6587\u4ef6\u76f4\u63a5\u8bbf\u95ee\u8bbe\u5907\u3002
  • /etc\uff1a\u5b58\u653e\u7ba1\u7406\u914d\u7f6e\u6587\u4ef6\uff0c\u5927\u591a\u6570\u662f\u53ef\u7f16\u8f91\u7684\u7eaf\u6587\u672c\u6587\u4ef6\u3002
  • /home\uff1a\u666e\u901a\u7528\u6237\u7684\u4e3b\u76ee\u5f55\u3002
  • /media\uff1a\u4e3a\u81ea\u52a8\u6302\u8f7d\u7684\u8bbe\u5907\uff08\u7279\u522b\u662f\u53ef\u79fb\u9664\u7684\u8bbe\u5907\uff0c\u5982\u79fb\u52a8\u786c\u76d8\uff09\u63d0\u4f9b\u4e00\u4e2a\u6807\u51c6\u6302\u8f7d\u70b9\u3002\u5728 openSUSE \u4e0a\uff0c\u8fd9\u4e2a\u4f4d\u7f6e\u9ed8\u8ba4\u5728 /run/media/$USER/\u3002\u5982\u679c\u8be5\u8bbe\u5907\u6709\u5377\u6807\uff0c\u5219\u6587\u4ef6\u5939\u7684\u540d\u79f0\u5c31\u662f\u5377\u6807\u3002
  • /lib\uff1a\u5b58\u653e /bin \u548c /sbin \u4e2d\u7684\u5e94\u7528\u7a0b\u5e8f\u542f\u52a8\u7cfb\u7edf\u65f6\u6240\u9700\u7684\u5171\u4eab\u5e93\u3002
  • /mnt\uff1a\u5728\u88ab /media \u53d6\u4ee3\u524d\uff0c\u662f\u4e00\u4e2a\u5e38\u7528\u7684\u8bbe\u5907\u6302\u8f7d\u70b9\u3002
  • /misc\uff1a\u6709\u65f6\u7528\u4e8e\u6839\u636e\u8bf7\u6c42\u81ea\u52a8\u6302\u8f7d\u6587\u4ef6\u7cfb\u7edf\u7684\u76ee\u5f55\u3002
  • /opt\uff1a\u5b58\u653e\u9644\u52a0\u5e94\u7528\u8f6f\u4ef6\uff08\u4e00\u822c\u662f\u7528\u6237\u81ea\u884c\u5b89\u88c5\u7684\u8f6f\u4ef6\uff09\u3002
  • /proc\uff1a\u5b58\u653e\u6709\u5173\u7cfb\u7edf\u8d44\u6e90\u7684\u4fe1\u606f\u3002
  • /root\uff1aroot \u7528\u6237\u7684\u4e3b\u76ee\u5f55\u3002
  • /sbin\uff1a\u5b58\u653e\u7ba1\u7406\u547d\u4ee4\u548c\u5b88\u62a4\u8fdb\u7a0b\u3002
  • /sys\uff1a\u5b58\u653e\u8c03\u6574\u5757\u5b58\u50a8\u548c\u7ba1\u7406 cgroup \u7b49\u53c2\u6570\u3002
  • /tmp:\u5b58\u653e\u5e94\u7528\u4f7f\u7528\u7684\u4e34\u65f6\u6587\u4ef6
  • /usr\uff1a'Unix System Resource' \u7684\u7f29\u5199\uff0c\u5b58\u653e\u7528\u6237\u6587\u6863\u3001\u6e38\u620f\u3001\u56fe\u5f62\u6587\u4ef6\uff08X11\uff09\u3001\u5e93\u6587\u4ef6\uff08lib\uff09\u4ee5\u53ca\u5176\u4ed6\u5927\u91cf\u5728\u7cfb\u7edf\u542f\u52a8\u65f6\u4e0d\u662f\u5fc5\u987b\u7684\u547d\u4ee4\u548c\u6587\u4ef6\u3002/usr \u7528\u4e8e\u5b58\u653e\u5b89\u88c5\u540e\u4e0d\u4f1a\u66f4\u6539\u7684\u6587\u4ef6\uff08\u7406\u8bba\u4e0a\uff0c/usr \u53ef\u4ee5\u53ea\u8bfb\u65b9\u5f0f\u6302\u8f7d\uff09\u3002
  • /var\uff1a\u5b58\u653e\u5404\u79cd\u5e94\u7528\u4f7f\u7528\u7684\u6570\u636e\u3002/var \u5e38\u7528\u4e8e\u5b58\u653e\u7ecf\u5e38\u53d8\u66f4\u7684\u6587\u4ef6\u3002
","tags":["\u8d44\u6599\u5e93","Linux","\u6587\u4ef6\u7cfb\u7edf"]},{"location":"essay/linux/1-fs-and-permission/#xfs-btrfs","title":"XFS \u4e0e Btrfs","text":"

XFS \u4e0e Btrfs \u90fd\u662f openSUSE \u9ed8\u8ba4\u63a8\u8350\u4f7f\u7528\u7684\u6587\u4ef6\u7cfb\u7edf\u3002openSUSE \u63a8\u8350\u7528\u6237\u6570\u636e\u76ee\u5f55\u4f7f\u7528 XFS\uff0c\u64cd\u4f5c\u7cfb\u7edf\u76ee\u5f55\u4f7f\u7528 Btrfs\u3002

Btrfs \u548c XFS \u4ee3\u8868\u4e86\u6ee1\u8db3 Linux \u6587\u4ef6\u7cfb\u7edf\u9700\u6c42\u7684\u6210\u719f\u4e14\u4e92\u8865\u7684\u9009\u9879\u3002Btrfs \u63d0\u4f9b\u73b0\u4ee3\u7684\u5199\u65f6\u590d\u5236\u529f\u80fd\uff0c\u4f8b\u5982\u7b80\u5355\u7684\u5feb\u7167\u548c\u538b\u7f29\u4ee5\u53ca\u7075\u6d3b\u7684\u5b58\u50a8\u589e\u957f\u3002 XFS \u4e13\u6ce8\u4e8e\u4e3a\u8d85\u5927\u5bb9\u91cf\u63d0\u4f9b\u575a\u5982\u78d0\u77f3\u7684\u7a33\u5b9a\u6027\u548c\u5de8\u5927\u7684\u53ef\u6269\u5c55\u6027\uff0c\u5e76\u5177\u6709\u6301\u7eed\u7684\u9ad8\u541e\u5410\u91cf\u3002 \u8be6\u7ec6\u5bf9\u6bd4\u53e6\u89c1\uff1aBtrfs vs XFS: An In-Depth Comparison of Linux File Systems

","tags":["\u8d44\u6599\u5e93","Linux","\u6587\u4ef6\u7cfb\u7edf"]},{"location":"essay/linux/1-fs-and-permission/#_3","title":"\u6587\u4ef6\u6240\u6709\u6743\u4e0e\u6587\u4ef6\u6743\u9650","text":"

\u4e00\u4e2a\u6587\u4ef6\u9762\u5411\u4e09\u79cd\u8bbf\u95ee\u8005\uff0c

  • \u6587\u4ef6\u6240\u6709\u8005\uff08author\uff0cu\uff09
  • \u6587\u4ef6\u6240\u6709\u8005\u6240\u5728\u7ec4\u7684\u5176\u4ed6\u7528\u6237\uff08group\uff0cg\uff09
  • \u5176\u4ed6\u4eba\uff08others\uff0co\uff09

\u6709\u4e09\u79cd\u6743\u9650\uff1a

  • \u53ef\u8bfb\uff08Read, r=4\uff09
  • \u53ef\u5199\uff08Write, w=2\uff09
  • \u53ef\u6267\u884c\uff08Execute, x=1\uff09
","tags":["\u8d44\u6599\u5e93","Linux","\u6587\u4ef6\u7cfb\u7edf"]},{"location":"essay/linux/1-fs-and-permission/#chmod","title":"chmod","text":"

\u4e00\u4e2a\u5178\u578b\u7684\u6587\u4ef6\u53ca\u6587\u4ef6\u5939\u5e94\u5f53\u5177\u6709\u5982\u4e0b\u7684\u6743\u9650\u8bbe\u7f6e\uff1a

poplar@c004-h1:~/1> l\n\u603b\u8ba1 0\ndrwxr-xr-x  1 poplar poplar  12  9\u670824\u65e5 13:22 ./\ndrwx--x---+ 1 poplar poplar 556  9\u670824\u65e5 13:22 ../\ndrwxr-xr-x  1 poplar poplar   0  9\u670824\u65e5 13:22 2/\n-rw-r--r--  1 poplar poplar   0  9\u670824\u65e5 13:22 2.txt\n

\u7b2c\u4e00\u884c\u8868\u793a\u5f53\u524d\u7684\u6587\u4ef6\u5939\uff0c\u7b2c\u4e8c\u884c\u8868\u793a\u7236\u7ea7\u6587\u4ef6\u5939\uff0c\u7b2c\u4e09\u548c\u7b2c\u56db\u884c\u5206\u522b\u662f\u5b50\u6587\u4ef6\u5939\u548c\u5b50\u6587\u4ef6\u3002

-rw-r--r-- \u5171\u6709\u5341\u4e2a\u5b57\u7b26\uff0c\u7b2c\u4e00\u4f4d\u5b57\u7b26\u8868\u793a\u6587\u4ef6\u7684\u6027\u8d28\uff08\u6587\u4ef6/\u6587\u4ef6\u5939/\u7b26\u53f7\u94fe\u63a5\uff09\uff0c\u7136\u540e\u662f\u4e09\u4e2a\u5b57\u7b26\u4e00\u7ec4\uff0c\u4f9d\u6b21\u8868\u793a\u6587\u4ef6\u6240\u6709\u8005\u3001\u6587\u4ef6\u6240\u6709\u8005\u6240\u5728\u7ec4\u7684\u5176\u4ed6\u7528\u6237\u548c\u5176\u4ed6\u7528\u6237\u5bf9\u8fd9\u4e2a\u6587\u4ef6\u7684\u6743\u9650\u3002

chmod \u547d\u4ee4\u53ef\u4ee5\u4f7f\u7528\u6570\u5b57\u6216\u5b57\u6bcd\u7ec4\u5408\u66f4\u6539\u6587\u4ef6\u6743\u9650\u3002

\u4f7f\u7528\u6570\u5b57\u7ec4\u5408\u65f6\uff0c\u53c2\u8003\u4e0a\u6587\uff0c\u5bf9\u5e94\u7684\u6743\u9650\u7ec4\u5408\u5bf9\u5e94\u7684\u6570\u503c\uff0c\u4f8b\u5982\uff1a

poplar@c004-h1:~/1> chmod 777 2.txt; ll\n\u603b\u8ba1 0\ndrwxr-xr-x 1 poplar poplar 0  9\u670824\u65e5 13:22 2\n-rwxrwxrwx 1 poplar poplar 0  9\u670824\u65e5 13:22 2.txt\n

\u4f7f\u7528\u5b57\u6bcd\u7ec4\u5408\u65f6\uff0c\u4f7f\u7528 \u5b57\u6bcd + \u52a0\u51cf\u7b26\u53f7 + \u6743\u9650 \u7684\u5f62\u5f0f\u3002

\u9488\u5bf9\u6240\u6709\u7528\u6237\u65f6\uff0c\u4f7f\u7528 a\uff08all\uff09\uff0c\u6216\u8005\u7701\u7565\u5b57\u6bcd\u3002\u6dfb\u52a0\u6743\u9650\u4f7f\u7528\u52a0\u53f7\uff0c\u5220\u9664\u6743\u9650\u4f7f\u7528\u51cf\u53f7\u3002

\u4e24\u8fb9\u7684\u5b57\u6bcd\u53ef\u4ee5\u591a\u4e2a\uff08\u540c\u65f6\u6307\u5b9a\u591a\u4e2a\u5bf9\u8c61\uff09\uff0c\u4f8b\u5982\uff1a

poplar@c004-h1:~/1> chmod go-wx 2.txt; ll\n\u603b\u8ba1 0\ndrwxr-xr-x 1 poplar poplar 0  9\u670824\u65e5 13:22 2\n-rwxr--r-- 1 poplar poplar 0  9\u670824\u65e5 13:22 2.txt\n

\u4f7f\u7528 -R \u6807\u5fd7\u6216\u8005 * \u53ef\u4ee5\u5c06\u64cd\u4f5c\u9012\u5f52\u5730\uff08recursively\uff09\u5e94\u7528\u5230\u8be5\u6587\u4ef6\u5939\u7684\u6240\u6709\u6587\u4ef6\uff08\u5305\u62ec\u5b50\u6587\u4ef6\u548c\u5b50\u6587\u4ef6\u5939\uff09\u3002

","tags":["\u8d44\u6599\u5e93","Linux","\u6587\u4ef6\u7cfb\u7edf"]},{"location":"essay/linux/1-fs-and-permission/#_4","title":"\u6587\u4ef6\u5939\u7684\u53ef\u6267\u884c\u6743\u9650","text":"

\u6587\u4ef6\u5939\u5e94\u5f53\u9ed8\u8ba4\u5177\u6709\u53ef\u6267\u884c\u6743\u9650\uff08drwxr-xr-x\uff09\u3002\u6587\u4ef6\u76ee\u5f55\u5177\u6709\u7684\u53ef\u6267\u884c\u6743\u9650\u5141\u8bb8\u7528\u6237\u8bbf\u95ee\u76ee\u5f55\u5185\u7684\u9879\u76ee\uff0c\u5373\u4f7f\u7528\u6237\u65e0\u6cd5\u5217\u51fa\u76ee\u5f55\u5185\u5bb92\u3002

poplar@c004-h1:~/1> ll\n\u603b\u8ba1 0\ndrwxr-xr-x 1 poplar poplar 0  9\u670824\u65e5 13:22 2\n-rw-r--r-- 1 poplar poplar 0  9\u670824\u65e5 13:22 2.txt\npoplar@c004-h1:~/1> mv 2.txt 2\npoplar@c004-h1:~/1> chmod -x *; l 2\nls: \u65e0\u6cd5\u8bbf\u95ee '2/.': \u6743\u9650\u4e0d\u591f\nls: \u65e0\u6cd5\u8bbf\u95ee '2/..': \u6743\u9650\u4e0d\u591f\nls: \u65e0\u6cd5\u8bbf\u95ee '2/2.txt': \u6743\u9650\u4e0d\u591f\n\u603b\u8ba1 0\nd????????? ? ? ? ?              ? ./\nd????????? ? ? ? ?              ? ../\n-????????? ? ? ? ?              ? 2.txt\n
","tags":["\u8d44\u6599\u5e93","Linux","\u6587\u4ef6\u7cfb\u7edf"]},{"location":"essay/linux/1-fs-and-permission/#chown","title":"chown","text":"

$ chown \u7528\u6237\u540d:\u7528\u6237\u7ec4 /\u6587\u4ef6\u8def\u5f84

  1. \u53c2\u8003\u300aLinux Bible, 10th Edition\u300bPart II: Becoming a Linux Power User - Moving Around the Filesystem\uff0c\u7b2c 94\uff0c95 \u9875\u00a0\u21a9

  2. \u53c2\u8003 Why must a folder be executable? \u21a9

","tags":["\u8d44\u6599\u5e93","Linux","\u6587\u4ef6\u7cfb\u7edf"]},{"location":"essay/linux/1-gpg-and-sig-files/","title":"*.gpg\u3001*.sig \u548c *.asc \u6587\u4ef6\u7684\u533a\u522b","text":"

\u7b7e\u540d\uff08signature\uff09\u53ef\u4ee5\u9a8c\u8bc1\u6587\u4ef6\u7684\u5b8c\u6574\u6027\uff0c\u5bc6\u94a5\u5bf9\uff08keypair\uff09\u4e2d\u7684\u79c1\u94a5\uff08private keypair\uff09\u7528\u4e8e\u751f\u6210\u7b7e\u540d\uff0c\u516c\u94a5\uff08public keypair\uff09\u7528\u4e8e\u9a8c\u8bc1\u7b7e\u540d\u3002

\u4e09\u79cd\u6587\u4ef6\u90fd\u662f gpg2 \u751f\u6210\u7684\u7b7e\u540d\u6587\u4ef6\u3002

  • *.gpg \u548c *.sig \u90fd\u662f\u4e8c\u8fdb\u5236\u6587\u4ef6\uff0c*.asc \u662f\u7eaf\u6587\u672c\u6587\u4ef6\u3002
  • \u751f\u6210\u547d\u4ee4\uff1a
    • gpg -s \u6216 gpg --sign \u2192 *.gpg
    • gpg -b \u6216 --detach-sign \u2192 *.sig
    • gpg --clear-sign \u2192 *.asc
  • *.gpg \u662f\u4e8c\u8fdb\u5236\u7684 GPG \u516c\u94a5\u6587\u4ef61\uff0c\u542b\u6709\u88ab\u7b7e\u540d\u6587\u4ef6\u7684\u4e00\u4efd\u538b\u7f29\u7684\u62f7\u8d1d
  • *.sig \u662f\u4e8c\u8fdb\u5236\u7684 GPG \u7b7e\u540d\u6587\u6863\u6587\u4ef62\uff0c\u53ef\u542b\u6709\u88ab\u7b7e\u540d\u7684\u6587\u4ef6
  • *.asc \u662f\u53ef\u542b\u6709\u5c01\u88c5\u6587\u6863\u7684 ASCII \u52a0\u5bc6\u7b7e\u540d\uff0c\u7eaf\u6587\u672c\u683c\u5f0f\u3002

\u4e00\u4e2a\u64cd\u4f5c\u5b9e\u4f8b3\uff08\u7b7e\u540d\uff0c\u52a0\u5bc6\uff0c\u89e3\u5bc6\uff0c\u63d0\u53d6\u6587\u4ef6\uff09\uff1a

poplar@c004-h1:~/Downloads/Aria2> ll\n\u603b\u8ba1 91348KiB\n-rw-r--r-- 1 poplar poplar 91346KiB  9\u670824\u65e5 15:39 vm.iso\npoplar@c004-h1:~/Downloads/Aria2> gpg -s vm.iso\npoplar@c004-h1:~/Downloads/Aria2> gpg -b vm.iso\npoplar@c004-h1:~/Downloads/Aria2> gpg --clear-sign vm.iso\ngpg: \u8f93\u5165\u884c\u957f\u5ea6\u8d85\u8fc7 19995 \u5b57\u7b26\npoplar@c004-h1:~/Downloads/Aria2> sha256sum vm.iso > vm.iso.sha256\npoplar@c004-h1:~/Downloads/Aria2> gpg --clear-sign vm.iso.sha256\npoplar@c004-h1:~/Downloads/Aria2> ll\n\u603b\u8ba1 262924KiB\n-rw-r--r-- 1 poplar poplar 91346KiB  9\u670824\u65e5 15:39 vm.iso\n-rw-r--r-- 1 poplar poplar 90179KiB 10\u6708 7\u65e5 14:50 vm.iso.asc\n-rw-r--r-- 1 poplar poplar 81383KiB 10\u6708 7\u65e5 14:50 vm.iso.gpg\n-rw-r--r-- 1 poplar poplar     1KiB 10\u6708 7\u65e5 14:51 vm.iso.sha256\n-rw-r--r-- 1 poplar poplar     1KiB 10\u6708 7\u65e5 14:51 vm.iso.sha256.asc\n-rw-r--r-- 1 poplar poplar     1KiB 10\u6708 7\u65e5 14:50 vm.iso.sig\npoplar@c004-h1:~/Downloads/Aria2> cat vm.iso.sha256.asc\n-----BEGIN PGP SIGNED MESSAGE-----\nHash: SHA512\n\n7716911111580decfb84ec983f10b1beec1a6d6b18ee31f236495703005dcd4d  vm.iso\n-----BEGIN PGP SIGNATURE-----\n\niHUEARYKAB0WIQQrQpu5CY17IY7L1Nr4+uWxAB7+YwUCZwOFBwAKCRD4+uWxAB7+\nY6SfAP4+aYK5q04517RUW61RLDvWOnroXa56qhp+q4k6Ug9k4AEAzJEHVyvFExOn\n2eQkaVVIXRvIc+CjCUyljSNFLQrOOwI=\n=nLki\n-----END PGP SIGNATURE-----\npoplar@c004-h1:~/Downloads/Aria2> mv vm.iso vms.iso\npoplar@c004-h1:~/Downloads/Aria2> ll\n\u603b\u8ba1 262924KiB\n-rw-r--r-- 1 poplar poplar 90179KiB 10\u6708 7\u65e5 14:50 vm.iso.asc\n-rw-r--r-- 1 poplar poplar 81383KiB 10\u6708 7\u65e5 14:50 vm.iso.gpg\n-rw-r--r-- 1 poplar poplar     1KiB 10\u6708 7\u65e5 14:51 vm.iso.sha256\n-rw-r--r-- 1 poplar poplar     1KiB 10\u6708 7\u65e5 14:51 vm.iso.sha256.asc\n-rw-r--r-- 1 poplar poplar     1KiB 10\u6708 7\u65e5 14:50 vm.iso.sig\n-rw-r--r-- 1 poplar poplar 91346KiB  9\u670824\u65e5 15:39 vms.iso\npoplar@c004-h1:~/Downloads/Aria2> gpg --output vm.iso --decrypt vm.iso.gpg\ngpg: \u7b7e\u540d\u5efa\u7acb\u4e8e 2024\u5e7410\u670807\u65e5 \u661f\u671f\u4e00 14\u65f650\u520631\u79d2 CST\ngpg:               \u4f7f\u7528 EDDSA \u5bc6\u94a5 2B429BB9098D7B218ECBD4DAF8FAE5B1001EFE63\ngpg: \u5b8c\u597d\u7684\u7b7e\u540d\uff0c\u6765\u81ea\u4e8e \u201cWhite Poplar <poplar.cubic@gmail.com>\u201d [\u7edd\u5bf9]\npoplar@c004-h1:~/Downloads/Aria2> ll\n\u603b\u8ba1 354272KiB\n-rw------- 1 poplar poplar 91346KiB 10\u6708 7\u65e5 14:53 vm.iso\n-rw-r--r-- 1 poplar poplar 90179KiB 10\u6708 7\u65e5 14:50 vm.iso.asc\n-rw-r--r-- 1 poplar poplar 81383KiB 10\u6708 7\u65e5 14:50 vm.iso.gpg\n-rw-r--r-- 1 poplar poplar     1KiB 10\u6708 7\u65e5 14:51 vm.iso.sha256\n-rw-r--r-- 1 poplar poplar     1KiB 10\u6708 7\u65e5 14:51 vm.iso.sha256.asc\n-rw-r--r-- 1 poplar poplar     1KiB 10\u6708 7\u65e5 14:50 vm.iso.sig\n-rw-r--r-- 1 poplar poplar 91346KiB  9\u670824\u65e5 15:39 vms.iso\npoplar@c004-h1:~/Downloads/Aria2> gpg --output vm.iso2.sig --sign vm.iso\npoplar@c004-h1:~/Downloads/Aria2> ll\n\u603b\u8ba1 435656KiB\n-rw------- 1 poplar poplar 91346KiB 10\u6708 7\u65e5 14:53 vm.iso\n-rw-r--r-- 1 poplar poplar 81383KiB 10\u6708 7\u65e5 14:55 vm.iso2.sig\n-rw-r--r-- 1 poplar poplar 90179KiB 10\u6708 7\u65e5 14:50 vm.iso.asc\n-rw-r--r-- 1 poplar poplar 81383KiB 10\u6708 7\u65e5 14:50 vm.iso.gpg\n-rw-r--r-- 1 poplar poplar     1KiB 10\u6708 7\u65e5 14:51 vm.iso.sha256\n-rw-r--r-- 1 poplar poplar     1KiB 10\u6708 7\u65e5 14:51 vm.iso.sha256.asc\n-rw-r--r-- 1 poplar poplar     1KiB 10\u6708 7\u65e5 14:50 vm.iso.sig\n-rw-r--r-- 1 poplar poplar 91346KiB  9\u670824\u65e5 15:39 vms.iso\npoplar@c004-h1:~/Downloads/Aria2> ll\n\u603b\u8ba1 90180KiB\n-rw-r--r-- 1 poplar poplar 90179KiB 10\u6708 7\u65e5 14:50 vm.iso.asc\npoplar@c004-h1:~/Downloads/Aria2> gpg --output vm.iso --decrypt vm.iso.asc\ngpg: \u7b7e\u540d\u5efa\u7acb\u4e8e 2024\u5e7410\u670807\u65e5 \u661f\u671f\u4e00 14\u65f650\u520658\u79d2 CST\ngpg:               \u4f7f\u7528 EDDSA \u5bc6\u94a5 2B429BB9098D7B218ECBD4DAF8FAE5B1001EFE63\ngpg: \u5b8c\u597d\u7684\u7b7e\u540d\uff0c\u6765\u81ea\u4e8e \u201cWhite Poplar <poplar.cubic@gmail.com>\u201d [\u7edd\u5bf9]\npoplar@c004-h1:~/Downloads/Aria2> ll\n\u603b\u8ba1 180300KiB\n-rw------- 1 poplar poplar 90120KiB 10\u6708 7\u65e5 15:01 vm.iso\n-rw-r--r-- 1 poplar poplar 90179KiB 10\u6708 7\u65e5 14:50 vm.iso.asc\n
  1. GNU Privacy Guard public keyring file\u00a0\u21a9

  2. GPG signed document file\u00a0\u21a9

  3. \u53c2\u8003 Making and verifying signatures \u21a9

","tags":["\u8d44\u6599\u5e93","Linux","GPG"]},{"location":"essay/linux/1-kvm/","title":"KVM \u5907\u5fd8\u5f55","text":"","tags":["\u8d44\u6599\u5e93","Linux","KVM","Windows"]},{"location":"essay/linux/1-kvm/#_1","title":"\u5b89\u88c5","text":"

\u5b89\u88c5\u8f6f\u4ef6\u5305\uff1a

sudo zypper install -t pattern kvm_server kvm_tools\n

\u52a0\u5165\u7528\u6237\u7ec4\uff1a

sudo usermod -aG libvirt $USER\n

\u6ce8\u9500\u91cd\u65b0\u767b\u5f55\u3002

\u6ce8\u610f\uff0c\u4e0d\u8981\u4f7f\u7528\u9ed8\u8ba4\u7684\u5b58\u50a8\u6c60\u3002

","tags":["\u8d44\u6599\u5e93","Linux","KVM","Windows"]},{"location":"essay/linux/1-kvm/#_2","title":"\u4e3b\u5bbf\u673a\u6587\u4ef6\u5171\u4eab","text":"","tags":["\u8d44\u6599\u5e93","Linux","KVM","Windows"]},{"location":"essay/linux/1-kvm/#windows","title":"Windows","text":"

\u9996\u5148\uff0c\u5728\u865a\u62df\u673a\u5b89\u88c5\u5b8c\u6bd5\u540e\uff0c\u5728\u865a\u62df\u673a\u5173\u673a\u7684\u60c5\u51b5\u4e0b\uff0c\u6253\u5f00\u865a\u62df\u673a\u7684\u8be6\u60c5\u9875\uff0c\u70b9\u51fb \u5185\u5b58\uff0c\u52fe\u9009 Enable shared memory\u3002

\u7136\u540e\uff0c\u70b9\u51fb\u5de6\u4e0b\u89d2\u7684 \u6dfb\u52a0\u65b0\u786c\u4ef6\uff0c\u9009\u62e9 \u6587\u4ef6\u7cfb\u7edf\uff0c\u9a71\u52a8\u7a0b\u5e8f\u4fdd\u6301\u9ed8\u8ba4\uff08\u5373 virtiofs\uff09\uff0c\u5c06 \u6e90\u8def\u5f84 \u4fee\u6539\u4e3a\u8981\u4e0e\u865a\u62df\u673a\u5171\u4eab\u7684\u6587\u4ef6\u5939\u8def\u5f84\uff0c\u5c06 \u76ee\u6807\u8def\u5f84 \u547d\u540d\u4e3a\u7ed9\u5b9a\u7684\u540d\u79f0\uff0c\u4f8b\u5982 sharing-folder\uff0c\u7136\u540e\u70b9\u51fb \u5b8c\u6210\u3002

\u7136\u540e\u4e0b\u8f7d\u4e24\u4e2a\u9a71\u52a8\u6587\u4ef6\uff1a

  • \u6700\u65b0\u7248\u7684 winFSP
  • \u6700\u65b0\u7a33\u5b9a\u7248\u7684 virtio-win-guest-tools.exe

\u5c06\u4e0b\u8f7d\u7684\u6587\u4ef6\u6253\u5305\u6210 ISO \u6587\u4ef6\uff0c\u4f5c\u4e3a\u4e00\u4e2a SATA CDROM \u5b58\u50a8\u8bbe\u5907\u6dfb\u52a0\u5230\u865a\u62df\u673a\u4e2d\u3002

mkisofs -o \u6587\u4ef6\u540d.iso /\u6587/\u4ef6/\u8def/\u5f84\n

\u9996\u5148\u5b89\u88c5 WinFSP Core\uff0c\u7136\u540e\u5b89\u88c5 virtio-win-guest-tools.exe\uff08virtiofs\uff09

\u5b89\u88c5\u5b8c\u6bd5\u540e\uff0c\u6309\u4e0b Win + R \u952e\u5524\u51fa CMD\uff0c\u8f93\u5165 services.msc\uff0c\u7136\u540e\u627e\u5230\u5e76\u542f\u52a8 VirtIO-FS Service\u3002

","tags":["\u8d44\u6599\u5e93","Linux","KVM","Windows"]},{"location":"essay/linux/1-kvm/#linux","title":"Linux","text":"

\u53c2\u8003\u4e0a\u6587\u914d\u7f6e\u597d\u865a\u62df\u673a\u540e\uff0c\u542f\u52a8\u865a\u62df\u673a\uff0c\u786e\u8ba4 virtiofsd \u5df2\u5b89\u88c5\u3002

\u7136\u540e\u8fd0\u884c\uff1a

mount -t virtiofs mount_tag /mnt/mount/path\n

mount_tag \u662f\u4e0a\u6587\u4e2d\u8bbe\u5b9a\u7684 \u76ee\u6807\u8def\u5f84\uff0c/mnt/mount/path \u5219\u662f\u8981\u6302\u8f7d virtiofs \u7684\u8def\u5f84\uff0c\u4f8b\u5982\uff1a

sudo mount -t virtiofs sharing-folder /mnt #\u5c06 sharing-folder \u6587\u4ef6\u5939\u6302\u8f7d\u5230 /mnt\n
","tags":["\u8d44\u6599\u5e93","Linux","KVM","Windows"]},{"location":"essay/linux/1-kvm/#3d","title":"3D \u56fe\u5f62\u52a0\u901f","text":"

\u9996\u5148\u5173\u95ed\u865a\u62df\u673a\uff0c\u7136\u540e\u5c06\u865a\u62df\u673a\u7684 \u663e\u793a\u534f\u8bae Spice \u7684 \u76d1\u542c\u7c7b\u578b \u4fee\u6539\u4e3a \u65e0\uff0c\u7136\u540e\u52fe\u9009\u4e0b\u65b9\u7684 OpenGL\u3002

\u6700\u540e\u4fee\u6539 \u663e\u5361\uff0c\u5c06\u7c7b\u578b\u66f4\u6362\u4e3a Virtio\uff0c\u5e76\u52fe\u9009 3D \u52a0\u901f\u3002

\u542f\u52a8\u865a\u62df\u673a\u5373\u53ef\u3002

\u6ce8\u610f\uff0c\u5982\u679c\u72ec\u663e\u4e0d\u80fd\u7a33\u5b9a\u6e32\u67d3\uff0c\u5219\u4f7f\u7528\u6838\u663e\u8fdb\u884c 3D \u52a0\u901f\u6e32\u67d3\u3002

","tags":["\u8d44\u6599\u5e93","Linux","KVM","Windows"]},{"location":"essay/linux/1-kvm/#_3","title":"\u5e38\u89c1\u95ee\u9898","text":"","tags":["\u8d44\u6599\u5e93","Linux","KVM","Windows"]},{"location":"essay/linux/1-kvm/#_4","title":"\u6258\u76d8\u56fe\u6807","text":"

\u6258\u76d8\u56fe\u6807\u53ef\u4ee5\u6e05\u6670\u5730\u663e\u793a KVM \u662f\u5426\u6b63\u5728\u8fd0\u884c\u3002

\u8981\u542f\u7528\u6258\u76d8\u56fe\u6807\uff0c\u9700\u8981\u5148\u6253\u5f00\u865a\u62df\u673a\u7cfb\u7edf\u7ba1\u7406\u5668\uff0c\u70b9\u51fb\u83dc\u5355\u680f\u7684 \u7f16\u8f91 > Preferences\uff0c\u52fe\u9009 \u542f\u7528\u7cfb\u7edf\u6258\u76d8\u56fe\u6807\u3002

","tags":["\u8d44\u6599\u5e93","Linux","KVM","Windows"]},{"location":"essay/linux/1-kvm/#_5","title":"\u9f20\u6807\u6355\u83b7","text":"

\u8981\u505c\u6b62\u9f20\u6807\u6355\u83b7\u81f3\u865a\u62df\u673a\uff0c\u6309\u4e0b\u5de6 Ctrl + \u5de6 Alt \u952e\u5373\u53ef\u3002

","tags":["\u8d44\u6599\u5e93","Linux","KVM","Windows"]},{"location":"essay/linux/1-kvm/#_6","title":"\u865a\u62df\u673a\u5168\u5c4f\u663e\u793a","text":"

\u865a\u62df\u673a\u5207\u6362\u81f3\u5168\u5c4f\u7684\u6309\u94ae\u5728\u53f3\u4e0a\u65b9\uff0c\u5207\u6362\u81f3\u5168\u5c4f\u540e\uff0c\u5982\u679c\u8981\u9000\u51fa\u5168\u5c4f\uff0c\u8bf7\u5c06\u9f20\u6807\u79fb\u52a8\u81f3\u5c4f\u5e55\u6b63\u4e0a\u65b9\uff0c\u4f1a\u51fa\u73b0\u4e00\u4e2a\u9000\u51fa\u6309\u94ae\u3002

","tags":["\u8d44\u6599\u5e93","Linux","KVM","Windows"]},{"location":"essay/linux/1-kvm/#windows_1","title":"Windows \u865a\u62df\u673a\u5206\u8fa8\u7387\u65e0\u6cd5\u8c03\u8282","text":"

\u8bf7\u5b89\u88c5 virtio-win-guest-tools.exe

","tags":["\u8d44\u6599\u5e93","Linux","KVM","Windows"]},{"location":"essay/linux/bash/0-about/","title":"\u5173\u4e8e","text":"

\u8be5\u90e8\u5206\u662f Bash Reference Manual \u7684\u7b14\u8bb0\u3002

"},{"location":"essay/linux/bash/2-definitions/","title":"\u5b9a\u4e49","text":"
  • blank\uff1a \u7a7a\u683c\u6216\u5236\u8868\u7b26\uff08tab character\uff09\uff1b
  • builtin\uff1a \u5185\u5efa\u4e8e Bash shell \u7684\u547d\u4ee4\uff1b
  • control operator\uff1a \u7528\u4e8e\u6267\u884c\u63a7\u5236\u529f\u80fd\u7684\u6807\u8bb0\uff08token\uff09\uff0c\u5305\u62ec\u6362\u884c\u7b26\uff08newline\uff09\u4ee5\u53ca ||\u3001&&\u3001&\u3001;\u3001;;\u3001;&\u3001;;&\u3001|\u3001|&\u3001( \u548c )\u3002
  • exit status\uff1a \u547d\u4ee4\u8fd4\u56de\u7ed9\u8c03\u7528\u8005\uff08caller\uff09\u7684\u503c\u3002\u8be5\u503c\u9650\u5236\u4e3a 8 \u4f4d\uff0c\u56e0\u6b64\u6700\u5927\u503c\u4e3a 255\u3002
  • field\uff1a \u4e00\u79cd\u6587\u672c\u5355\u5143\uff0c\u662f shell \u6269\u5c55\u4e4b\u4e00\u7684\u7ed3\u679c\u3002\u6269\u5c55\u540e\uff0c\u6267\u884c\u547d\u4ee4\u65f6\uff0c\u7ed3\u679c\u5b57\u6bb5\uff08resulting fields\uff09\u5c06\u7528\u4f5c\u547d\u4ee4\u540d\u79f0\u548c\u53c2\u6570\u3002
  • filename\uff1a \u7528\u4e8e\u6807\u8bc6\u6587\u4ef6\u7684\u5b57\u7b26\u4e32\uff08string\uff09
  • job\uff1a \u7531\u7ba1\u9053\uff08pipeline\uff09\u53ca\u5176\u6d3e\u751f\u7684\u6240\u6709\u8fdb\u7a0b\u7ec4\u6210\u7684\u4e00\u7ec4\u8fdb\u7a0b\uff0c\u5b83\u4eec\u90fd\u4f4d\u4e8e\u540c\u4e00\u8fdb\u7a0b\u7ec4\u4e2d\u3002
  • job control\uff1a \u4e00\u79cd\u8ba9\u7528\u6237\u53ef\u4ee5\u6709\u9009\u62e9\u5730\u505c\u6b62\uff08\u6302\u8d77\uff09\u548c\u91cd\u65b0\u542f\u52a8\uff08\u6062\u590d\uff09\u8fdb\u7a0b\u7684\u6267\u884c\u7684\u4e00\u79cd\u673a\u5236\u3002
  • metacharacter\uff1a \u4e00\u79cd\u5f53\u4e0d\u88ab\u5f15\u7528\uff08quote\uff09\u65f6\uff0c\u53ef\u7528\u4e8e\u5206\u9694\u5355\u8bcd\u7684\u5b57\u7b26\u3002\u5143\u5b57\u7b26\u6709\uff1a \u7a7a\u683c\uff08space\uff09\u3001tab\u3001\u6362\u884c\u7b26\uff08newline\uff09\uff0c\u4ee5\u53ca\uff1a |\u3001&\u3001;\u3001(\u3001)\u3001< \u548c >\u3002
  • name\uff1a \u4ec5\u7531\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e0b\u5212\u7ebf\uff08_\uff09\u7ec4\u6210\uff0c\u4e14\u4ee5\u5b57\u6bcd\u6216\u4e0b\u5212\u7ebf\u5f00\u5934\u7684\u5355\u8bcd\u3002name \u5e38\u7528\u4e8e shell \u53d8\u91cf\u548c\u51fd\u6570\u540d\uff0c\u4e5f\u88ab\u6210\u4e3a\u6807\u8bc6\u7b26\uff08identifier\uff09\u3002
  • operator\uff1a \u4e00\u822c\u6307 control operator \u6216 redirection operator\u3002\u64cd\u4f5c\u7b26\u81f3\u5c11\u5305\u542b\u4e00\u4e2a\u672a\u88ab\u5f15\u7528\u7684\u5143\u5b57\u7b26\u3002
  • process group\uff1a \u4e00\u4e2a\u5305\u542b\u5177\u6709\u76f8\u540c\u8fdb\u7a0b\u7ec4 ID \u7684\u76f8\u5173\u8fdb\u7a0b\u7684\u96c6\u5408\u3002
  • process group ID\uff1a \u4ee3\u8868 process group \u5728\u5176\u751f\u547d\u5468\u671f\u5185\u7684\u552f\u4e00\u6807\u8bc6\u7b26\u3002
  • reserved word\uff1a \u5bf9 shell \u6709\u7279\u6b8a\u610f\u4e49\uff0c\u4fdd\u7559\u7ed9 shell \u4f7f\u7528\u7684\u5355\u8bcd\u3002\u5982 for \u548c while\u3002
  • return status\uff1a exit status \u7684\u540c\u4e49\u8bcd\u3002
  • signal\uff1a \u4e00\u79cd\u5185\u6838\u5411\u8fdb\u7a0b\u901a\u77e5\u7cfb\u7edf\u4e2d\u53d1\u751f\u7684\u4e8b\u4ef6\u7684\u673a\u5236\u3002
  • special builtin\uff1a \u88ab POSIX \u6807\u51c6\u5f52\u7c7b\u4e3a\u7279\u6b8a\u547d\u4ee4\u7684 shell \u5185\u7f6e\u547d\u4ee4\u3002
  • token\uff1a \u88ab shell \u89c6\u4e3a\u5355\u4e2a\u5355\u5143\u7684\u5b57\u7b26\u5e8f\u5217\u3002\u5b83\u53ef\u4ee5\u662f\u4e00\u4e2a\u5355\u8bcd\uff0c\u4e5f\u53ef\u4ee5\u662f\u4e00\u4e2a\u64cd\u4f5c\u7b26\u3002
  • word\uff1a \u88ab shell \u89c6\u4e3a\u4e00\u4e2a\u5355\u5143\u7684\u5b57\u7b26\u5e8f\u5217\u3002\u5355\u8bcd\u4e0d\u5f97\u5305\u542b\u672a\u52a0\u5f15\u53f7\u7684\u5143\u5b57\u7b26\u3002
","tags":["\u8d44\u6599\u5e93","Linux","Bash"]},{"location":"essay/linux/bash/3.1-syntax/","title":"Shell \u8bed\u6cd5","text":"","tags":["\u8d44\u6599\u5e93","Linux","Bash"]},{"location":"essay/linux/bash/3.1-syntax/#_1","title":"\u5de5\u4f5c\u6d41\u7a0b\u7b80\u8ff0","text":"

\u4ee5\u4e0b\u662f shell \u8bfb\u53d6\u548c\u6267\u884c\u547d\u4ee4\u7684\u64cd\u4f5c\uff1a

  1. shell \u4ece\u6587\u4ef6\uff08shell \u811a\u672c\uff09\u3001\u4f5c\u4e3a\u53c2\u6570\u7684\u5b57\u7b26\u4e32\u6216\u7528\u6237\u7684\u7ec8\u7aef\u8bfb\u53d6\u8f93\u5165\u3002
  2. \u6839\u636e\u5f15\u7528\u89c4\u5219\uff0c\u5c06\u8f93\u5165\u62c6\u5206\u6210\u5355\u8bcd\u548c\u64cd\u4f5c\u7b26\u3002\u4f7f\u7528\u5143\u5b57\u7b26\u5206\u9694\u8fd9\u4e9b\u6807\u8bb0\u3002\u6269\u5c55\u522b\u540d\u3002
  3. \u5c06\u6807\u8bb0\u89e3\u6790\u4e3a\u7b80\u5355\u547d\u4ee4\u548c\u590d\u5408\u547d\u4ee4\u3002
  4. \u6267\u884c\u5404\u79cd shell \u6269\u5c55\uff0c\u5c06\u6269\u5c55\u7684\u6807\u8bb0\u5206\u89e3\u4e3a\u6587\u4ef6\u540d\u5217\u8868\u4ee5\u53ca\u547d\u4ee4\u548c\u53c2\u6570\u3002
  5. \u6267\u884c\u4efb\u4f55\u5fc5\u8981\u7684\u91cd\u5b9a\u5411\u5e76\u4ece\u53c2\u6570\u5217\u8868\u4e2d\u5220\u9664\u91cd\u5b9a\u5411\u64cd\u4f5c\u7b26\u53ca\u5176\u64cd\u4f5c\u6570\uff08operands\uff09\u3002
  6. \u6267\u884c\u547d\u4ee4\u3002
  7. \uff08\u53ef\u9009\uff09\u7b49\u5f85\u547d\u4ee4\u5b8c\u6210\u5e76\u6536\u96c6\u5176\u9000\u51fa\u72b6\u6001\u3002
","tags":["\u8d44\u6599\u5e93","Linux","Bash"]},{"location":"essay/linux/bash/3.1-syntax/#_2","title":"\u5f15\u7528","text":"","tags":["\u8d44\u6599\u5e93","Linux","Bash"]},{"location":"essay/main/adjust-win11-for-popurse/","title":"Windows 11 \u5b89\u88c5\u4e0e\u914d\u7f6e","text":"

\u6ce8\u610f

  • \u672c\u6587\u6700\u540e\u66f4\u65b0\u4e8e 2024 \u5e74 8 \u6708 29 \u65e5\uff1b
  • \u672c\u6587\u9002\u7528\u4e8e Windows 11 23H2\uff1b
  • \u672c\u6587\u4f18\u5148\u4f7f\u7528\u4fbf\u643a\u8f6f\u4ef6\uff1b
  • \u672c\u6587\u4e0d\u5177\u6709\u666e\u9002\u6027\u3002
","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#_1","title":"\u6d41\u7a0b\u6982\u89c8","text":"
  1. \u4e0b\u8f7d ISO \u6587\u4ef6\uff1b
  2. \u4f7f\u7528 ventoy \u5b89\u88c5\u7cfb\u7edf\uff1b
  3. \u7b49\u5f85 Windows Update \u66f4\u65b0\u5b8c\u6bd5\uff1b\u914d\u7f6e Windows \u7cfb\u7edf\u8bbe\u7f6e\uff0c\u5b89\u88c5\u57fa\u672c\u7684\u8fd0\u884c\u5e93\uff1b
  4. \u518d\u6b21\u68c0\u67e5\u662f\u5426\u6709\u66f4\u65b0\uff1b
  5. \u5b89\u88c5\u663e\u5361\u9a71\u52a8\uff1b
  6. \u5378\u8f7d\u65e0\u7528\u8f6f\u4ef6\uff1b
  7. \u5b89\u88c5\u8f6f\u4ef6\uff1b
  8. \u4fbf\u643a\u8f6f\u4ef6\u5217\u8868\u3002
","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#1-iso","title":"1\u3001\u83b7\u53d6 ISO \u6587\u4ef6","text":"

\u4ece\u4e0b\u8f7d Windows 11 \u9875\u9762\u83b7\u53d6 Windows 11 \u5b89\u88c5\u52a9\u624b\u3002\u4f7f\u7528\u8fd9\u4e2a\u52a9\u624b\u4ec5\u4e0b\u8f7d Windows.iso \u800c\u4e0d\u76f4\u63a5\u523b\u5165\u5230 U \u76d8\u3002

","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#2-ventoy","title":"2\u3001\u4f7f\u7528 ventoy \u5b89\u88c5\u7cfb\u7edf","text":"

\u4f7f\u7528 Ventoy \u5c06 U \u76d8\u6216\u53ef\u79fb\u52a8\u8bbe\u5907\u8f6c\u6362\u4e3a\u4e00\u4e2a\u53ef\u542f\u52a8\u7684\u5b89\u88c5\u4ecb\u8d28\u3002

\u4f7f\u7528 VentoyPlugson.exe \u914d\u7f6e\u8bbe\u5907\uff0c\u5728 \u5168\u5c40\u63a7\u5236\u63d2\u4ef6 \u4e2d\uff0c\u5728 \u6307\u5b9a\u641c\u7d22\u76ee\u5f55 \u4e2d\u8bbe\u7f6e ISO \u6587\u4ef6\u5b58\u653e\u7684\u6587\u4ef6\u5939\u3002

\u5f00\u673a\u65f6\u8fde\u6309 Esc \u8fdb\u5165 BIOS\uff0c\u4ece BIOS \u542f\u52a8 U \u76d8\u3002\u5b89\u88c5\u7cfb\u7edf\u65f6\uff1a

  • \u65ad\u5f00\u7f51\u7edc
  • \u4f7f\u7528\u672c\u5730\u8d26\u6237
  • \u4e0d\u8bbe\u7f6e\u5bc6\u7801
  • \u62d2\u7edd\u6240\u6709\u7684\u5fae\u8f6f\u670d\u52a1
","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#31","title":"3.1\u3001\u66f4\u65b0\u7cfb\u7edf","text":"

\u5728\u7cfb\u7edf\u8bbe\u7f6e\u4e2d\uff0c\u91cd\u547d\u540d\u6b64\u7535\u8111\u3002\u8fde\u63a5 WiFi\uff0c\u7136\u540e\u91cd\u542f\u7cfb\u7edf\u3002

\u542f\u52a8 Windows update\uff0c\u6b64\u65f6\u5e76\u4e0d\u5efa\u8bae\u5378\u8f7d\u4efb\u4f55\u8f6f\u4ef6\u3002

Windows \u548c Officee \u6fc0\u6d3b\u89c1\u6ca7\u6c34\u7684 KMS \u670d\u52a1\u3002

","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#32-windows","title":"3.2\u3001\u914d\u7f6e Windows \u7cfb\u7edf\u8bbe\u7f6e","text":"","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#dism","title":"\u4f7f\u7528 Dism++ \u8c03\u6574\u7cfb\u7edf","text":"

\u5728\u542f\u52a8 Dism++ \u540e\uff0c\u70b9\u51fb\u5de6\u680f\u7684\u7cfb\u7edf\u4f18\u5316\uff0c\u7136\u540e\uff1a

  1. \u5728 \u5f00\u59cb\u83dc\u5355\u53ca Windows \u4f53\u9a8c \u4e2d\uff0c\u5c06\u9664\u4e86 \u767b\u5f55\u754c\u9762\u9ed8\u8ba4\u6253\u5f00\u5c0f\u952e\u76d8 \u548c \u5173\u95ed Onedrive \u4ee5\u5916\u7684\u9009\u9879\u5168\u90e8\u5f00\u542f\uff1b\u6ce8\u610f\u6bcf\u6b21\u7f16\u8f91\u90fd\u9700\u8981\u91cd\u542f\u4e00\u6b21 explorer.exe\uff1b
  2. \u5728 Explorer \u4e2d\uff0c\u6253\u5f00
    • \u6253\u5f00\u8d44\u6e90\u7ba1\u7406\u5668\u65f6\u663e\u793a\u6b64\u7535\u8111
    • \u663e\u793a\u6240\u6709\u6587\u4ef6\u6269\u5c55\u540d
    • \u521b\u5efa\u5feb\u6377\u65b9\u5f0f\u65f6\u4e0d\u6dfb\u52a0\u201c\u5feb\u6377\u65b9\u5f0f\u201d\u6587\u5b57
    • \u6b64\u7535\u8111\u4e2d\u89c6\u9891\u3001\u7167\u7247\u3001\u6587\u6863\u3001\u4e0b\u8f7d\u3001\u97f3\u624b\u3001\u5353\u9762\u30013D \u5bf9\u8c61\u4e03\u4e2a\u6587\u4ef6\u5939
    • \u5feb\u901f\u8bbf\u95ee\u4e0d\u663e\u793a\u5e38\u7528\u6587\u4ef6\u5939
    • \u5feb\u901f\u8bbf\u95ee\u4e0d\u663e\u793a\u6700\u8fd1\u4f7f\u7528\u7684\u6587\u4ef6
    • \u7981\u7528Win11\u52a0\u5165\u7684\u65b0\u53f3\u952e\u83dc\u5355\uff0c\u9ed8\u8ba4\u663e\u793a\u66f4\u591a\u7684\u9009\u9879
  3. \u5728 \u684c\u9762\u56fe\u6807\u7ba1\u7406\u4e2d \u9690\u85cf\u5168\u90e8\u7684\u56fe\u6807
  4. \u5728 \u8d44\u6e90\u7ba1\u7406\u5668\u5bfc\u822a\u7a97\u53e3\u56fe\u6807\u7ba1\u7406 \u4e2d\uff0c\u6253\u5f00
    • \u9690\u85cf\u8d44\u6e90\u7ba1\u7406\u5668\u5bfc\u822a\u7a97\u53e3\u4e2d\u7684\u5e93
    • \u9690\u85cf\u8d44\u6e90\u7ba1\u7406\u5668\u5bfc\u822a\u7a97\u53e3\u4e2d\u7684\u6536\u85cf\u5939
  5. \u5728 \u5fae\u8f6f\u62fc\u97f3\u8f93\u5165\u6cd5 \u4e2d\uff0c\u6253\u5f00
    • \u5fae\u8f6f\u62fc\u97f3\u9ed8\u8ba4\u4e3a\u82f1\u8bed\u8f93\u5165
","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#windows","title":"Windows \u8bbe\u7f6e","text":"","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#_2","title":"\u7cfb\u7edf","text":"
  • \u901a\u77e5\uff1a\u5728 \u5176\u4ed6\u8bbe\u7f6e \u4e2d\uff0c\u53d6\u6d88\u52fe\u9009
    • \u66f4\u65b0\u4ee5\u53ca\u767b\u5f55\u540e\u663e\u793a Windows \u6b22\u8fce\u4f53\u9a8c\u4ee5\u663e\u793a\u65b0\u589e\u529f\u80fd\u548c\u5efa\u8bae\u5185\u5bb9
    • \u5efa\u8bae\u6211\u5982\u4f55\u5145\u5206\u5229\u7528 Windows \u5e76\u5b8c\u6210\u8bbe\u7f6e\u6b64\u8bbe\u5907
    • \u5f53\u6211\u4f7f\u7528 Windows \u65f6\u83b7\u53d6\u63d0\u793a\u548c\u5efa\u8bae
  • \u7535\u6e90\u548c\u7535\u6c60\uff1a \u5c4f\u5e55\u548c\u7761\u7720 \u8bbe\u7f6e\u4e3a\u9ed8\u8ba4\u8bbe\u7f6e1\u3002
  • \u50a8\u5b58\uff1a \u5b58\u50a8\u611f\u77e5 \u5e94\u5f53\u662f\u81ea\u52a8\u5f00\u542f\u7684\u3002\u6253\u5f00 \u4f18\u5316\u9a71\u52a8\u5668 \u6574\u7406\u78c1\u76d8\u788e\u7247\u3002
  • \u5c31\u8fd1\u5171\u4eab\uff1a \u5173\u95ed\u6b64\u529f\u80fd
  • \u526a\u8d34\u677f\uff1a \u6253\u5f00 \u526a\u8d34\u677f\u5386\u53f2\u8bb0\u5f55
  • \u7cfb\u7edf\u4fe1\u606f\uff1a
    • \u5728 \u9ad8\u7ea7\u7cfb\u7edf\u8bbe\u7f6e \u2192 \u9ad8\u7ea7 \u2192 \u73af\u5883\u53d8\u91cf \u2192 Path \u4e2d\uff0c\u70b9\u51fb \u7f16\u8f91\uff0c\u63d2\u5165\u73af\u5883\u53d8\u91cf\u3002
D:\\software\\lib\nD:\\software\\lib\\git\nD:\\software\\lib\\git\\cmd\nD:\\software\\lib\\python\nD:\\software\\lib\\python\\Scripts\n
","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#_3","title":"\u84dd\u7259\u548c\u5176\u4ed6\u8bbe\u5907","text":"
  • \u89e6\u6478\u677f\uff1a \u5c06 \u4e09\u6307\u624b\u52bf \u7684\u70b9\u51fb\u52a8\u4f5c\uff0c\u4fee\u6539\u4e3a \u9f20\u6807\u4e2d\u952e
","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#_4","title":"\u4e2a\u6027\u5316","text":"
  • \u80cc\u666f\uff1a \u5c06 \u4e2a\u6027\u5316\u8bbe\u7f6e\u80cc\u666f \u4fee\u6539\u4e3a \u5e7b\u706f\u7247\u653e\u6620\uff0c\u6253\u5f00 \u5728\u4f7f\u7528\u7535\u6c60\u4f9b\u7535\u65f6\u4ecd\u5141\u8bb8\u8fd0\u884c\u5e7b\u706f\u7247\u653e\u6620
  • \u989c\u8272\uff1a \u8bbe\u7f6e\u4e3a \u94a2\u84dd\u8272
  • \u9501\u5c4f\u754c\u9762\uff1a \u4e2a\u6027\u5316\u9501\u5c4f\u754c\u9762 \u4fee\u6539\u4e3a \u56fe\u7247 \u53d6\u6d88\u52fe\u9009 \u5728\u9501\u5c4f\u754c\u9762\u4e0a\u83b7\u53d6\u82b1\u7d6e\u3001\u63d0\u793a\u3001\u6280\u5de7\u7b49
  • \u5f00\u59cb\uff1a
    • \u5e03\u5c40 \u9009\u62e9\u4e3a \u66f4\u591a\u56fa\u5b9a\u9879
    • \u5173\u95ed \u5e03\u5c40 \u4e0b\u65b9\u6240\u6709\u7684\u9009\u9879
    • \u5728 \u6587\u4ef6\u5939 \u4e2d\uff0c\u53ea\u6253\u5f00 \u8bbe\u7f6e
  • \u4efb\u52a1\u680f\uff1a
    • \u5728 \u4efb\u52a1\u680f\u9879 \u548c \u7cfb\u7edf\u6258\u76d8\u56fe\u6807 \u4e2d\u5173\u95ed\u6216\u9690\u85cf\u5168\u90e8\u9009\u9879\uff0c\u9664\u4e86 \u4efb\u52a1\u89c6\u56fe
    • \u5728 \u5176\u4ed6\u7cfb\u7edf\u6258\u76d8\u56fe\u6807 \u4e2d\uff0c\u9009\u62e9\u6027\u5f00\u542f\u6240\u9700\u5e94\u7528\u56fe\u6807\u3002
    • \u5728 \u4efb\u52a1\u680f\u884c\u4e3a \u4e2d\uff0c\u52fe\u9009 \u5355\u51fb\u4efb\u52a1\u680f\u53f3\u4e0b\u89d2\u4ee5\u663e\u793a\u684c\u9762
  • \u8bbe\u5907\u4f7f\u7528\u60c5\u51b5\uff1a \u5173\u95ed\u5168\u90e8\u9009\u9879
","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#_5","title":"\u8d26\u6237","text":"

\u5728 \u767b\u9646\u9009\u9879 \u4e2d\uff0c\u8bbe\u7f6e\u5bc6\u7801\u548c\u5934\u50cf\u3002

","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#_6","title":"\u65f6\u95f4\u548c\u8bed\u8a00","text":"

\u5728 \u8bed\u8a00\u548c\u533a\u57df \u4e2d\uff0c\u4fee\u6539 \u533a\u57df\u683c\u5f0f\u3002

\u4fee\u6539 \u5fae\u8f6f\u62fc\u97f3\u8f93\u5165\u6cd5\uff1a

  • \u5728 \u6309\u952e \u4e2d\uff0c\u53d6\u6d88\u52fe\u9009 Shift
  • \u5728 \u8bcd\u5e93\u548c\u81ea\u5b66\u4e60 \u4e2d\uff0c\u542f\u7528\u5168\u90e8\u7684\u4e13\u4e1a\u8bcd\u5178
","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#_7","title":"\u8f85\u52a9\u529f\u80fd","text":"
  • \u952e\u76d8\uff1a \u5173\u95ed\u4e0e\u7c98\u6ede\u952e\u3001\u8fc7\u6ee4\u952e\u548c\u5207\u6362\u952e\u76f8\u5173\u7684\u5168\u90e8\u9009\u9879
","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#_8","title":"\u9690\u79c1\u548c\u5b89\u5168\u6027","text":"
  • \u5728 \u5e38\u89c4 \u4e2d\uff0c\u5173\u95ed\u5168\u90e8\u9009\u9879
  • \u5728 \u8bca\u65ad\u548c\u53cd\u9988 \u4e2d\uff0c\u5c06\u53cd\u9988\u9891\u7387\u8c03\u6210 \u4ece\u4e0d\u3002
  • \u5728 \u6d3b\u52a8\u5386\u53f2\u8bb0\u5f55 \u4e2d\uff0c\u5173\u95ed\u6d3b\u52a8\u5386\u53f2\u8bb0\u5f55
  • \u5728 \u641c\u7d22\u6743\u9650 \u4e2d\uff0c\u5173\u95ed\u6240\u6709\u9009\u9879
  • \u5728 \u641c\u7d22 Windows \u4e2d\uff0c\u6253\u5f00 \u7f16\u5236\u7d22\u5f15\u65f6\u9075\u4ece\u7535\u6e90\u8bbe\u7f6e
","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#windows_1","title":"Windows \u66f4\u65b0\uff1a","text":"

\u5728 \u9ad8\u7ea7\u9009\u9879 \u4e2d\uff0c\u5173\u95ed \u4f20\u9012\u4f18\u5316\u3002

","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#33","title":"3.3\u3001\u5b89\u88c5\u57fa\u672c\u7684\u8fd0\u884c\u5e93","text":"
  1. \u5b89\u88c5 Microsoft Visual C++ 2015-2022 Redistributable \u548c Chrome\u3002
  2. \u542f\u52a8\u4e0b\u5217\u8f6f\u4ef6\uff0c\u5c06\u5176\u96c6\u6210\u5230\u6587\u4ef6\u8d44\u6e90\u7ba1\u7406\u5668\u4e2d\u6216\u5173\u8054\u6587\u4ef6\u683c\u5f0f\uff1a
    • 7-zip\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
  3. \u542f\u52a8 v2rayN \u5e76\u8bbe\u7f6e\u5f00\u673a\u542f\u52a8\u3002

\u4f7f\u7528 ContextMenuManager \u7f16\u8f91\u9f20\u6807\u53f3\u952e\u83dc\u5355\uff0c\u542f\u7528 \u5176\u4ed6\u89c4\u5219 \u4e2d\u7684 \u65b0\u5efa\u6587\u4ef6\u5939\u3001\u91cd\u542f\u8d44\u6e90\u7ba1\u7406\u5668 \u548c \u590d\u5236\u8def\u5f84\u3002

","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#4","title":"4\u3001\u518d\u6b21\u68c0\u67e5\u662f\u5426\u6709\u66f4\u65b0","text":"

\u5728\u66f4\u65b0\u5b8c\u91cd\u542f\u7cfb\u7edf\u540e\uff0c\u91cd\u65b0\u68c0\u67e5\u4e00\u4e0b Windows update \u662f\u5426\u6709\u53ef\u7528\u66f4\u65b0\u3002

","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#5","title":"5\u3001\u5b89\u88c5\u663e\u5361\u9a71\u52a8","text":"

\u4e0b\u8f7d AMD Software\uff08AMD Software \u65e7\u7248\u672c\uff09\u5e76\u5b89\u88c5\u3002

\u5b8c\u6210\u540e\u8c03\u6574\u97f3\u91cf\u548c\u5c4f\u5e55\u4eae\u5ea6\u3002

\u5bf9\u4e8e AMD \u9a71\u52a8\u7684\u8bbe\u7f6e\uff0c\u5728 \u6e38\u620f \u2192 \u663e\u5361 \u4e2d\uff0c\u63a8\u8350\u9009\u62e9 \u81ea\u5b9a\u4e49 \u65b9\u6848\u3002\u5e76\u53ea\u5f00\u542f\uff1a

  • Radeon\u2122 Anti-Lag
  • Radeon\u2122 \u589e\u5f3a\u540c\u6b65\uff08\u4ec5\u5bf9\u72ec\u663e\u6709\u6548\uff09

\u5728 \u6e38\u620f \u2192 \u663e\u793a\u5668 \u4e2d\uff0c

  • \u5173\u95ed Vari-Bright
  • \u6253\u5f00\u81ea\u5b9a\u4e49\u989c\u8272\uff0c\u5c06\u8272\u6e29\u8c03\u6574\u5230 6900

\u5728 \u7cfb\u7edf \u2192 \u5c4f\u5e55 \u2192 \u663e\u793a\u5361 \u4e2d\uff0c\u6dfb\u52a0\u9700\u8981\u4f7f\u7528\u663e\u5361\u7684\u5e94\u7528\u3002

\u6309 Alt + R \u542f\u52a8 AMD Software \u9762\u677f\u3002

","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#6","title":"6\u3001\u5378\u8f7d\u65e0\u7528\u8f6f\u4ef6","text":"

\u4f7f\u7528 Geek Uninstaller \u6e05\u7406\u7cfb\u7edf\u7684 UWP \u8f6f\u4ef6\uff08\u5305\u62ec OneDrive\uff09\uff0c\u4ec5\u4fdd\u7559\uff08\u542b\u5382\u5546\u9a71\u52a8\uff09\uff1a

\u7136\u540e\u4f7f\u7528\u5fae\u8f6f\u5546\u5e97\u66f4\u65b0 UWP \u5e94\u7528\u3002\u66f4\u65b0\u8fc7\u7a0b\u4e2d\uff0c\u5df2\u5220\u9664\u7684\u5e94\u7528\u53ef\u80fd\u4f1a\u88ab\u91cd\u65b0\u5b89\u88c5\u56de\u6765\u3002

\u4f7f\u7528\u5f3a\u5236\u5220\u9664\u5378\u8f7d\u65e0\u6cd5\u5378\u8f7d\u7684 Edge \u548c webview2 \uff0c\u5e76\u4f7f\u7528 Edge Blocker \u7981\u6b62\u7cfb\u7edf\u518d\u6b21\u5b89\u88c5 edge\u3002

","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#7","title":"7\u3001\u5b89\u88c5\u8f6f\u4ef6","text":"

\u6ce8\u610f

\u5b89\u88c5\u540e\u4f1a\u4ea7\u751f\u5927\u91cf\u5c0f\u6587\u4ef6\u7684\u5e94\u7528\u9ed8\u8ba4\u4e0d\u4ee5\u4fbf\u643a\u6a21\u5f0f\u8fdb\u884c\u90e8\u7f72\u3002

\u4f7f\u7528 Office Tool Plus \u5b89\u88c5 Microsoft Office\uff0c\u5e76\u5378\u8f7d Office 2021 \u7a0d\u540e\u81ea\u52a8\u5b89\u88c5\u7684\u4e00\u4e2a\u5e94\u7528\u3002

\u5b89\u88c5\uff1a

  • Auto Night Mode
  • Bandiview
  • GIMP
  • gpg4win
    • \u5b89\u88c5\u65f6\u53ea\u9700\u8981 Kleopatra \u548c GpgEX \u5373\u53ef\u3002
  • steam
    • \u5173\u95ed\u5f00\u673a\u542f\u52a8
    • \u4fee\u6539\u9ed8\u8ba4\u5e93
    • \u4fee\u6539\u9ed8\u8ba4\u542f\u52a8\u65f6\u663e\u793a\u7684\u9875\u9762
    • \u4fee\u6539\u4e0b\u8f7d\u670d\u52a1\u5668
    • \u4fee\u6539\u6309\u4e0b\u63a7\u5236\u5668\u6309\u94ae\u65f6\u7684\u64cd\u4f5c
  • VirtualBox
  • VLC

\u65e0\u7ebf\u4e0e\u84dd\u7259\u9a71\u52a8\uff1a

  • Intel\u00ae Wi-Fi 6E AX210
","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/adjust-win11-for-popurse/#8","title":"8\u3001\u4fbf\u643a\u8f6f\u4ef6\u5217\u8868","text":"

\u6ce8\u610f

\u4ee5\u4e0b\u662f\u4ee5\u4fbf\u643a\u6a21\u5f0f\u6216\u7c7b\u4f3c\u72b6\u6001\u4f7f\u7528\u7684\u8f6f\u4ef6\u3002

D:\\software\\portable

  • 7-zip\uff08\u672c\u8d28\u662f\u4e2a\u4fbf\u643a\u8f6f\u4ef6\uff0c\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\u4ee5\u4fbf\u4e8e\u91cd\u65b0\u6ce8\u5165 shell\uff09 \u6253\u5f00 \u5de5\u5177 \u2192 \u9009\u9879\uff1a
    • \u5728 7-Zip \u9875\u9762\uff0c\u53d6\u6d88\u52fe\u9009 \u5c42\u53e0\u53f3\u952e\u83dc\u5355\u3001\u538b\u7f29\u5e76\u90ae\u5bc4\u3001\u538b\u7f29<\u6863\u6848>.7z\u5e76\u90ae\u5bc4 \u548c \u538b\u7f29<\u6863\u6848>.zip\u5e76\u90ae\u5bc4\uff1b
    • \u5728 \u663e\u793a \u9875\u9762\uff0c\u52fe\u9009 \u663e\u793a \u231c...\u231f \u9879\u3001\u663e\u793a\u771f\u5b9e\u56fe\u6807\u3001\u6574\u884c\u9009\u62e9\u3001\u663e\u793a\u7f51\u683c\u7ebf\u3001\u5355\u51fb\u6253\u5f00\u9879\u76ee\u3002
  • aria2 \u53e6\u89c1\uff1a\u5b89\u88c5\u4e0e\u4f7f\u7528 aria2
  • benchmark-toolkit
    • CPU-Z\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
    • CrystalDiskMark\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
    • Furmark\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
    • HWiNFO\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
  • ContextMenuManager\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
  • Dism++\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
  • Everything\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
  • FreeFileSync\uff08\u672c\u8d28\u662f\u4e2a\u4fbf\u643a\u8f6f\u4ef6\uff09 \u4ec5\u540c\u6b65 git \u4ed3\u5e93\u7684\u538b\u7f29\u5305\u6587\u4ef6
  • GoldenDict-ng
    • \u9700\u8981\u5728 GoldenDict.exe \u6240\u5728\u76ee\u5f55\u65b0\u5efa\u4e00\u4e2a\u540d\u4e3a portable \u7684\u6587\u4ef6\u5939
    • \u4fbf\u643a\u6a21\u5f0f\u4e0b\uff0c\u8bcd\u5178\u6587\u4ef6\u53ea\u80fd\u653e\u7f6e\u5728 content \u6587\u4ef6\u5939\u4e2d
  • KeePassXC
  • music-toolkit:
    • Foobox
      • foobar2000 Asion \u6c49\u5316\u7248\uff08\u5173\u8054\u683c\u5f0f\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
    • MusicTag \u5b89\u88c5\u5305\u89e3\u538b\u5bc6\u7801\uff1awww.coolapk.com
    • spek
  • Notepad3\uff08\u672c\u8d28\u662f\u4e2a\u4fbf\u643a\u8f6f\u4ef6\uff09
  • sordum toolkit
    • EdgeBlock\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
    • W11ClassicMenu\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
    • win update blocker\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
  • sysinternals
    • Autoruns64\uff08\u9700\u8981\u7ba1\u7406\u5668\u6743\u9650\uff09
    • procexp64\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
    • RaMMap\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
    • tcpview64\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
  • Telegram
  • v2rayN\uff08TUN \u6a21\u5f0f\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
  • VSCode \u9700\u8981\u5728\u5e94\u7528\u76ee\u5f55\u4e2d\u65b0\u5efa\u4e00\u4e2a data \u6587\u4ef6\u5939\u3002
  • aegisub
  • AMD CleanUp Utility\uff08\u4f1a\u76f4\u63a5\u542f\u52a8\u5230\u5b89\u5168\u6a21\u5f0f\uff09
  • AntiDupl.NET
  • BOOTICEx64\uff08\u5df2\u505c\u66f4\uff09
  • Calibre Portable
  • DiskGenius\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
  • draw.io
  • Geek Uninstaller\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
  • KMS-Cangshui.net.bat\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
  • Office Tool Plus
  • Rufus\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
  • SpaceSniffer\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
  • Umi-OCR_Paddle
  • ventoy\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09
  • WinMemoryCleaner\uff08\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff09

D:\\software\\lib

  • git
    • \u9700\u8981\u5c06\u5b83\u6dfb\u52a0\u81f3\u73af\u5883\u53d8\u91cf\u4e2d\uff0c\u8be6\u89c1\u4e0a\u6587\u3002
    • \u914d\u7f6e\u6587\u4ef6\uff08C:\\Users\\Poplar.gitconfig\uff09\uff1a
      [user]\n    name = Poplar at twilight\n    email = poplar.cubic@gmail.com\n[http]\n    proxy = http://127.0.0.1:7890\n
  • python \u53e6\u89c1 \u5d4c\u5165\u5f0f python\uff08Windows\uff09
  • pandoc

D:\\software\\installed

  • qBittorrent-Enhanced-Edition
    • \u8be6\u89c1\uff1aqBittorrent \u914d\u7f6e\u5907\u5fd8\u5f55
  • PeerBanHelper
  1. \u6211\u7684\u8bbe\u5907\u5728\u7761\u7720\u72b6\u6001\u4e0b\u4e0d\u4f1a\u65ad\u5f00\u7f51\u7edc\u94fe\u63a5\uff0c\u6240\u4ee5\u6b64\u8bbe\u7f6e\u53ea\u9700\u8981\u9075\u5faa Windows \u7684\u8282\u80fd\u5efa\u8bae\u5373\u53ef\u3002\u00a0\u21a9

","tags":["\u6742\u8c08","Windows"]},{"location":"essay/main/ainme/","title":"\u5f71\u89c6&\u756a\u5267\u8bb0\u5f55\u5355","text":"\u7b26\u53f7 \u540d\u79f0 \u8bf4\u660e A \u7279\u522b\u63a8\u8350 \u4e2a\u4eba\u89c9\u5f97\u503c\u5f97\u5411\u9605\u8bfb\u6b64\u6587\u7684\u4eba\u63a8\u8350\u7684\u7c7b\u522b B \u63a8\u8350 \u4e2a\u4eba\u89c2\u770b\u4f53\u9a8c\u6ee1\u610f\u7684\u7c7b\u522b C \u4e00\u822c \u4e2a\u4eba\u89c2\u770b\u4f53\u9a8c\u4e00\u822c\u7684\u7c7b\u522b D \u4e0d\u63a8\u8350 \u4e2a\u4eba\u89c2\u770b\u4f53\u9a8c\u4e0d\u6ee1\u610f\u7684\u7c7b\u522b X \u672a\u5b9a\u4e49 \u56e0\u4e3a\u6ca1\u6709\u770b\u61c2\uff0c\u6240\u4ee5\u65e0\u6cd5\u5f52\u7c7b S \u5b63\u5ea6 \u5f71\u89c6\u5267\u96c6\u6216\u52a8\u753b\u756a\u5267\u7684\u5b63\u5ea6 TV TV \u7248 \u5728\u7535\u89c6\u53f0\u4e0a\u653e\u9001\u7684\u52a8\u753b\u7248\u672c OVA \u539f\u521b\u89c6\u9891\u52a8\u753b \u6620\u50cf\u7279\u5178\u3001\u756a\u5916\u5267\u96c6\u7b49\u975e\u4e3b\u7ebf\u5185\u5bb9 M \u7535\u5f71 \u7535\u5f71\u3001\u52a8\u753b\u7535\u5f71\u6216\u5267\u573a\u7248\u52a8\u753b + \u52a0\u53f7 \u8868\u793a\u201c\u548c\u201d ~ \u6ce2\u6d6a\u53f7 \u8868\u793a\u201c\u81f3\u201d

\u8bf4\u660e

  1. \u672c\u6587\u57fa\u4e8e\u4e2a\u4eba\u4e3b\u89c2\u4f53\u9a8c\u8fdb\u884c\u63a8\u8350\uff1b
  2. \u62ec\u53f7\u5185\u4e3a\u756a\u5267\u540d\u79f0\u7684\u65e5\u6587\u539f\u6587\u3001\u65e5\u8bed\u7f57\u9a6c\u5b57\u6216\u82f1\u6587\u539f\u540d\uff1b
  3. \u7b26\u53f7\u540e\u7d27\u8ddf\u7684\u6570\u5b57\u8868\u793a\u5176\u53d1\u5e03\u6b21\u5e8f\uff0c\u4f8b\u5982 S2 \u8868\u793a\u7b2c\u4e8c\u5b63\u3002
  4. \u6ca1\u6709\u7279\u522b\u6ce8\u660e\u5b63\u5ea6\u65f6\uff0c\u9ed8\u8ba4\u4e3a\u7b2c\u4e00\u5b63\u6216\u7b2c\u4e00\u90e8\u3002
","tags":["\u6742\u8c08","\u52a8\u6f2b","\u7535\u5f71"]},{"location":"essay/main/ainme/#_2","title":"\u52a8\u753b","text":"","tags":["\u6742\u8c08","\u52a8\u6f2b","\u7535\u5f71"]},{"location":"essay/main/ainme/#a","title":"A \u7c7b","text":"
  • \u65e5\u5e38\uff08Nichijou\uff09
  • \u523a\u5ba2\u4e94\u516d\u4e03 S1~S3
  • \u5de5\u4f5c\u7ec6\u80de Black\uff08\u306f\u305f\u3089\u304f\u7d30\u80de Black\uff09
  • \u7f57\u5c0f\u9ed1\u6218\u8bb0 S1~S2 + M
  • \u7075\u80fd\u767e\u5206\u767e\uff08\u30e2\u30d6\u30b5\u30a4\u30b3100\uff09 S1~S2
  • \u5c0f\u9b54\u5973\u5b66\u56ed\uff08Little Witch Academia\uff09TV + OVA + M
  • \u6765\u81ea\u6df1\u6e0a\uff08MADE IN ABYSS\uff09 S1
  • \u9b54\u672f\u5feb\u6597\uff08\u307e\u3058\u3063\u304f\u5feb\u6597\uff09
  • \u522b\u5bf9\u6620\u50cf\u7814\u51fa\u624b!\uff08\u6620\u50cf\u7814\u306b\u306f\u624b\u3092\u51fa\u3059\u306a\uff01\uff09
  • \u6210\u9f99\u5386\u9669\u8bb0
  • \u745e\u514b\u548c\u83ab\u8482 S1~S3
  • \u7c73\u8001\u9f20\uff08\u521d\u4ee3\uff09
  • \u6d77\u7ef5\u5b9d\u5b9d S1~S4
  • \u732b\u548c\u8001\u9f20
  • \u6447\u66f3\u9732\u8425\u25b3\uff08\u3086\u308b\u30ad\u30e3\u30f3\u25b3\uff09 S1~S2 + OVA + M
  • 0 \u53f7\u5bbf\u820d
  • \u5927\u7406\u5bfa\u65e5\u5fd7 S1~S2
  • \u65b0\u4e16\u7eaa\u798f\u97f3\u6218\u58eb\uff08Neon Genesis Evangelion\uff09TV \u7248
  • EVA \u65b0\u5267\u573a\u7248 1\uff08EVANGELION: 1.0 YOU ARE (NOT) ALONE.\uff09
  • \u98de\u51fa\u4e2a\u672a\u6765 S1~S7
  • RWBY S1~S2
  • \u767d\u7bb1\uff08SHIROBAKO\uff09 TV + OVA
  • \u51b0\u83d3\uff08Hyouka: Classic Literature Club series\uff09
  • SSSS.GRIDMAN
  • \u5947\u5de7\u8ba1\u7a0b\u8f66\uff08Odd Taxi\uff09
  • \u54e5\u65af\u62c9 \u5947\u5f02\u70b9\uff08Godzilla Singular Point\uff09
  • \u8d5b\u9a6c\u5a18 Pretty Derby\uff08Uma Musume Pretty Derby\uff09 S2
  • \u67d0\u79d1\u5b66\u7684\u8d85\u7535\u78c1\u70ae\uff08\u3068\u3042\u308b\u79d1\u5b66\u306e\u8d85\u96fb\u78c1\u7832\uff09S1
  • \u7269\u8bed\u7cfb\u52171\uff08Monogatari Series\uff09
  • \u9b54\u6cd5\u5c11\u5973\u5c0f\u5706\uff08Puella Magi Madoka Magica\uff09TV + M1~M3
  • \u5929\u5143\u7a81\u7834 \u7ea2\u83b2\u87ba\u5ca9\uff08\u5929\u5143\u7a81\u7834\u30b0\u30ec\u30f3\u30e9\u30ac\u30f3\uff09
  • \u65a9\u670d\u5c11\u5973\uff08Kill la Kill\uff09
  • \u4e52\u4e53\uff08Ping Pong The Animation v2\uff09
  • \u8d5b\u535a\u670b\u514b\uff1a\u8fb9\u7f18\u884c\u8005\uff08Cyberpunk: Edgerunners\uff09
  • Gon \u7684\u65f1\u736d S1~S3 + OVA
  • \u6e38\u620f\u4e09\u4eba\u5a18\uff08\u3042\u305d\u3073\u3042\u305d\u3070\u305b\uff09
  • \u7537\u5b50\u9ad8\u6821\u751f\u7684\u65e5\u5e38\uff08\u7537\u5b50\u9ad8\u6821\u751f\u306e\u65e5\u5e38\uff09
  • \u9c81\u90a6\u4e09\u4e16~\u540d\u4e3a\u5cf0\u4e0d\u4e8c\u5b50\u7684\u5973\u4eba~\uff08Lupin the Third Mine Fujiko to Iu Onna\uff09
  • \u661f\u9645\u725b\u4ed4\uff08Cowboy Bebop\uff09
  • \u56db\u53e0\u534a\u795e\u8bdd\u5927\u7cfb\uff08The Tatami Galaxy\uff09
  • \u56db\u53e0\u534a\u65f6\u5149\u673a\u5e03\u9c81\u65af\uff08Yojouhan Time Machine Blues\uff09
  • \u6625\u5bb5\u82e6\u77ed\uff0c\u5c11\u5973\u524d\u8fdb\u5427\uff01\uff08Yoru wa Mijikashi Aruke yo Otome\uff09
  • \u846c\u9001\u7684\u8299\u8389\u83b2\uff08\u846c\u9001\u306e\u30d5\u30ea\u30fc\u30ec\u30f3\uff09
  • \u4e3a\u7f8e\u597d\u7684\u4e16\u754c\u732e\u4e0a\u795d\u798f\uff08KonoSuba: God's Blessing on This Wonderful World!\uff09 S1~S3 + M
  • \u6708\u520a\u5c11\u5973\u91ce\u5d0e\u541b\uff08\u6708\u520a\u5c11\u5973\u91ce\u5d0e\u304f\u3093\uff09
","tags":["\u6742\u8c08","\u52a8\u6f2b","\u7535\u5f71"]},{"location":"essay/main/ainme/#b","title":"B \u7c7b","text":"
  • \u6bd4\u7ffc\u4e4b\u543b\uff08Darling in the Franxx\uff09
  • \u5f02\u79cd\u65cf\u98ce\u4fd7\u5a18\u8bc4\u9274\u6307\u5357\uff08\u7570\u7a2e\u65cf\u30ec\u30d3\u30e5\u30a2\u30fc\u30ba\uff09
  • \u73c8\u767e\u7483\u7684\u5815\u843d\uff08Gabriel Dropout\uff09
  • \u52a8\u7269\u65b0\u4e16\u7eaa\uff08BNA: Brand New Animal\uff09
  • \u5de8\u5175\u957f\u57ce\u4f20
  • \u5973\u5b50\u9ad8\u4e2d\u751f\u7684\u865a\u5ea6\u65e5\u5e38\uff08\u5973\u5b50\u9ad8\u751f\u306e\u7121\u99c4\u3065\u304b\u3044\uff09
  • \u614e\u91cd\u52c7\u8005\uff5e\u8fd9\u4e2a\u52c7\u8005\u660e\u660e\u8d85\u5f3a\u5374\u8fc7\u5206\u614e\u91cd\uff5e\uff08\u614e\u91cd\u52c7\u8005\uff5e\u3053\u306e\u52c7\u8005\u304c\u4ffaTUEEE\u304f\u305b\u306b\u614e\u91cd\u3059\u304e\u308b\uff5e\uff09
  • \u8f89\u591c\u5927\u5c0f\u59d0\u60f3\u8ba9\u6211\u544a\u767d\uff08Kaguya-sama: Love Is War\uff09 S1~S2
  • \u975e\u6d32\u7684\u52a8\u7269\u4e0a\u73ed\u65cf\uff08\u30a2\u30d5\u30ea\u30ab\u306e\u30b5\u30e9\u30ea\u30fc\u30de\u30f3\uff09
  • \u5c0f\u6797\u5bb6\u7684\u9f99\u5973\u4ec6\uff08Miss Kobayashi's Dragon Maid\uff09 S1
  • \u8bf7\u5403\u5c0f\u7ea2\u8c46\u5427 S1~S4
  • \u76d1\u72f1\u5b66\u56ed\uff08\u76e3\u7344\u5b66\u5712\uff09
  • \u6ca1\u6709\u9ec4\u6bb5\u5b50\u5b58\u5728\u7684\u65e0\u804a\u4e16\u754c\uff08\u4e0b\u30cd\u30bf\u3068\u3044\u3046\u6982\u5ff5\u304c\u5b58\u5728\u3057\u306a\u3044\u9000\u5c48\u306a\u4e16\u754c\uff09
  • \u604b\u7231\u7814\u7a76\u6240\uff08\u604b\u611b\u30e9\u30dc\uff09
  • \u745e\u514b\u548c\u83ab\u8482 S4~S6
  • \u5341\u4e07\u5206\u51b7\u7b11\u8bdd S1~S3 + M1~M2
  • \u4e00\u62f3\u8d85\u4eba\uff08One-Punch Man\uff09 S1~S2
  • EVA \u65b0\u5267\u573a\u7248 4\uff08Evangelion - 3.0+1.01 Thrice Upon a Time\uff09
  • \u82f1\u96c4\u8054\u76df\uff1a\u5965\u672f\uff08Arcane: League of Legends\uff09
  • RWBY S3
  • \u66f4\u8863\u4eba\u5076\u5760\u5165\u7231\u6cb3\uff08\u305d\u306e\u7740\u305b\u66ff\u3048\u4eba\u5f62\u306f\u604b\u3092\u3059\u308b\uff09
  • \u78a7\u84dd\u4e4b\u6d77
  • \u4e07\u5723\u8857
  • \u54b8\u9c7c\u54e5
  • \u8f7b\u97f3\u5c11\u5973\uff08K-ON!\uff09 S1~S2
  • \u52a8\u7269\u72c2\u60f3\u66f2\uff08Beastar\uff09 S1~S2
  • \u8857\u89d2\u9b54\u65cf\uff08\u307e\u3061\u30ab\u30c9\u307e\u305e\u304f\uff09S1~S2
  • \u5b64\u72ec\u6447\u6eda\uff08Bocchi the rock\uff09
  • \u7518\u57ce\u5149\u8f89\u6e38\u4e50\u56ed\uff08\u7518\u57ce\u30d6\u30ea\u30ea\u30a2\u30f3\u30c8\u30d1\u30fc\u30af\uff09
  • \u5f02\u4e16\u754c\u8205\u8205\uff08\u7570\u4e16\u754c\u304a\u3058\u3055\u3093\uff09
","tags":["\u6742\u8c08","\u52a8\u6f2b","\u7535\u5f71"]},{"location":"essay/main/ainme/#c","title":"C \u7c7b","text":"
  • \u975e\u4eba\u54c9
  • \u57c3\u7f57\u8292\u963f\u8001\u5e08\uff08Eromanga Sensei\uff09TV + OVA
  • \u7b28\u5973\u5b69\uff08\u30a2\u30db\u30ac\u30fc\u30eb\uff09
  • \u57c3\u53ca\u795e\u660e\u4eec\u7684\u65e5\u5e38\uff08\u3068\u30fc\u3068\u3064\u306b\u30a8\u30b8\u30d7\u30c8\u795e\uff09
  • \u5e72\u7269\u59b9\u5c0f\u57cb\uff08\u5e72\u7269\u59b9\uff01\u3046\u307e\u308b\u3061\u3083\u3093\uff09
  • \u6211\u4e0d\u662f\u8bf4\u4e86\u80fd\u529b\u8981\u5e73\u5747\u503c\u4e48\uff01\uff08\u79c1\u3001\u80fd\u529b\u306f\u5e73\u5747\u5024\u3067\u3063\u3066\u8a00\u3063\u305f\u3088\u306d\uff01\uff09
  • \u4e0d\u6b63\u7ecf\u7684\u9b54\u6cd5\u8bb2\u5e08\u4e0e\u7981\u5fcc\u6559\u5178\uff08\u30ed\u30af\u3067\u306a\u3057\u9b54\u8853\u8b1b\u5e2b\u3068\u7981\u5fcc\u6559\u5178\uff09 S1
  • \u5728\u4e0b\u5742\u672c\uff0c\u6709\u4f55\u8d35\u5e72\uff08\u5742\u672c\u3067\u3059\u304c\uff1f\uff09
  • EVA \u65b0\u5267\u573a\u7248 2\uff08EVANGELION: 2.0 YOU CAN (NOT) ADVANCE.\uff09
  • \u6c49\u5316\u65e5\u8bb0 S1~S2
  • \u8f6c\u751f\u6076\u5f79\u53ea\u597d\u62d4\u9664\u7834\u706d\u65d7\u6807\uff08\u4e59\u5973\u30b2\u30fc\u30e0\u306e\u7834\u6ec5\u30d5\u30e9\u30b0\u3057\u304b\u306a\u3044\u60aa\u5f79\u4ee4\u5b22\u306b\u8ee2\u751f\u3057\u3066\u3057\u307e\u3063\u305f\u2026\uff09 S1
  • Endro!
  • \u4e9a\u4eba\u9171\u6709\u8bdd\u8981\u8bf4\uff08\u4e9c\u4eba\u3061\u3083\u3093\u306f\u8a9e\u308a\u305f\u3044\uff09
  • \u5165\u95f4\u540c\u5b66\u5165\u9b54\u4e86\uff08\u9b54\u5165\u308a\u307e\u3057\u305f\uff01\u5165\u9593\u304f\u3093\uff09 S1
  • \u65d7\u626c!\u517d\u9053\uff08\u65d7\u63da\uff01\u3051\u3082\u306e\u307f\u3061\uff09
  • \u8fd9\u4e2a\u7f8e\u672f\u793e\u5927\u6709\u95ee\u9898!\uff08\u3053\u306e\u7f8e\u8853\u90e8\u306b\u306f\u554f\u984c\u304c\u3042\u308b\uff01\uff09
  • \u9ed8\u7ed8\u5973\u9ad8\uff08\u5973\u5b50\u304b\u3046\u751f\uff09
  • \u9910\u684c\u4e0a\u7684\u4e16\u8bf4\u65b0\u8bed S1~S2
  • \u6210\u7fa4\u9010\u961f!\u897f\u987f\u5b66\u56ed\uff08\u7fa4\u308c\u306a\u305b\uff01\u30b7\u30fc\u30c8\u30f3\u5b66\u5712\uff09
  • \u5173\u4e8e\u6211\u8f6c\u751f\u53d8\u6210\u53f2\u83b1\u59c6\u8fd9\u6863\u4e8b\uff08\u8ee2\u751f\u3057\u305f\u3089\u30b9\u30e9\u30a4\u30e0\u3060\u3063\u305f\u4ef6\uff09 S1
  • \u9f50\u6728\u6960\u96c4\u7684\u707e\u96be\uff08The Disastrous Life of Saiki K.\uff09 S1
  • \u7b28\u62d9\u4e4b\u6781\u7684\u4e0a\u91ce\uff08\u4e0a\u91ce\u3055\u3093\u306f\u4e0d\u5668\u7528\uff09
  • Goku \u5348\u591c\u4e4b\u773c\uff08MIDNIGHT EYE \u30b4\u30af\u30a6\uff09 OVA
  • RWBY S4
  • \u4e71\u9a6c1/2 TV + OVA
  • \u7269\u8bed\u7cfb\u5217 \u5916\u4f20\u5b63&\u602a\u7269\u5b63\uff08\u3008\u7269\u8a9e\u3009\u30b7\u30ea\u30fc\u30ba \u30aa\u30d5&\u30e2\u30f3\u30b9\u30bf\u30fc\u30b7\u30fc\u30ba\u30f3\uff09
","tags":["\u6742\u8c08","\u52a8\u6f2b","\u7535\u5f71"]},{"location":"essay/main/ainme/#x","title":"X \u7c7b","text":"
  • \u6f02\u6d41\u5c11\u5e74\uff08Sonny Boy\uff09
  • \u9f99\u4e0e\u864e\uff08TIGER\u00d7DRAGON!\uff09
  • \u5728\u76db\u590f\u7b49\u5f85\uff08\u3042\u306e\u590f\u3067\u5f85\u3063\u3066\u308b\uff09 TV + OVA
  • \u672a\u95fb\u82b1\u540d\uff08Anohana: The Flower We Saw That Day\uff09
  • EVA \u5267\u573a\u7248 \u771f\u5fc3\u4e3a\u4f60\uff08The End of Evangelion\uff09
","tags":["\u6742\u8c08","\u52a8\u6f2b","\u7535\u5f71"]},{"location":"essay/main/ainme/#d","title":"D \u7c7b","text":"
  • \u732b\u5a18\u4e50\u56ed\uff08NEKOPARA\uff09
  • \u6211\u7684\u670b\u53cb\u5f88\u5c11\uff08\u50d5\u306f\u53cb\u9054\u304c\u5c11\u306a\u3044\uff09S1
  • \u5582\uff0c\u770b\u89c1\u8033\u6735\u5566\uff08\u307b\u3089\u3001\u8033\u304c\u307f\u3048\u3066\u308b\u3088\uff01\uff09 S1
  • \u4ed9\u738b\u7684\u65e5\u5e38\u751f\u6d3b
  • \u5173\u4e8e\u5b8c\u5168\u542c\u4e0d\u61c2\u8001\u516c\u5728\u8bf4\u4ec0\u4e48\u7684\u4e8b S1~S2
  • EVA \u65b0\u5267\u573a\u7248 3 \uff08EVANGELION: 3.0 YOU CAN (NOT) REDO.\uff09
  • \u5c0f\u6797\u5bb6\u7684\u9f99\u5973\u4ec6 S
  • \u6211\u7684\u670b\u53cb\u5f88\u5c11 S2
  • Overflow
  • \u6deb\u4e71\u7684\u9752\u9171\u4e0d\u80fd\u5b66\u4e60
  • \u8d24\u60e0\u5e7c\u59bb\u4ed9\u72d0\u5c0f\u59d0
  • \u4eba\u9a6c\u5c11\u5973\u7684\u70e6\u607c
  • \u516c\u4e3b\u8fde\u63a5! Re:Dive
  • \u65e0\u5f69\u9650\u7684\u602a\u7075\u4e16\u754c
  • \u8d24\u8005\u4e4b\u5b59
  • \u5173\u4e8e\u6211\u8f6c\u751f\u53d8\u6210\u53f2\u83b1\u59c6\u8fd9\u6863\u4e8b S2
","tags":["\u6742\u8c08","\u52a8\u6f2b","\u7535\u5f71"]},{"location":"essay/main/ainme/#_3","title":"\u5f71\u89c6\u5267\u96c6","text":"","tags":["\u6742\u8c08","\u52a8\u6f2b","\u7535\u5f71"]},{"location":"essay/main/ainme/#a_1","title":"A \u7c7b","text":"
  • \u5973\u5b50\u8b66\u5bdf\u7684\u9006\u88ad\uff08\u30cf\u30b3\u30c5\u30e1 \uff5e\u305f\u305f\u304b\u3046\uff01\u4ea4\u756a\u5973\u5b50\uff5e\uff09
  • \u65b0\u00b7\u5965\u7279\u66fc\uff08\u30b7\u30f3\u30fb\u30a6\u30eb\u30c8\u30e9\u30de\u30f3\uff09
  • \u6d41\u6d6a\u5730\u7403 M1~M2
  • \u6b63\u4e49\u8054\u76df\u00b7\u5bfc\u6f14\u526a\u8f91\u7248\uff08Zack Snyder's Justice League\uff09
  • \u963f\u7518\u6b63\u4f20\uff08Forrest Gump\uff09
  • \u8ba9\u5b50\u5f39\u98de
  • \u529f\u592b
  • \u7ea2\u8fa3\u6912\uff08\u30d1\u30d7\u30ea\u30ab\uff09
  • \u5343\u5e74\u5973\u4f18\uff08\u5343\u5e74\u5973\u512a\uff09
  • \u4e1c\u4eac\u6559\u7236\uff08\u6771\u4eac\u30b4\u30c3\u30c9\u30d5\u30a1\u30fc\u30b6\u30fc\u30ba\uff09
  • \u5510\u4f2f\u864e\u70b9\u79cb\u9999
  • \u76d7\u68a6\u7a7a\u95f4\uff08Inception\uff09
  • \u5965\u672c\u6d77\u9ed8\uff08Oppenheimer\uff09
  • \u732b\u9f20\u6e38\u620f\uff08Catch Me If You Can\uff09
  • \u767d\u65e5\u68a6\u60f3\u5bb6\uff08The Secret Life of Walter Mitty\uff09
","tags":["\u6742\u8c08","\u52a8\u6f2b","\u7535\u5f71"]},{"location":"essay/main/ainme/#b_1","title":"B \u7c7b","text":"
  • \u51b0\u96ea\u5947\u7f18\uff08Frozen\uff09 M1
  • \u602a\u517d\u5927\u5b66\uff08Monsters University\uff09
  • \u602a\u517d\u7535\u529b\u516c\u53f8\uff08Monsters, Inc.\uff09
  • \u673a\u5668\u4eba\u603b\u52a8\u5458\uff08WALL\u00b7E\uff09
  • \u75af\u72c2\u52a8\u7269\u57ce\uff08Zootopia\uff09
  • \u963f\u51e1\u8fbe\uff08Avatar\uff09
  • \u8d85\u80fd\u9646\u6218\u961f\uff08Big Hero 6\uff09
  • \u5934\u53f7\u73a9\u5bb6\uff08Ready Player One\uff09
  • \u65e0\u654c\u7834\u574f\u738b\uff08Wreck-It Ralph\uff09 M1~M2
  • \u706b\u661f\u6551\u63f4\uff08The Martian\uff09
  • \u661f\u9645\u7a7f\u8d8a\uff08Interstellar\uff09
  • \u8718\u86db\u4fa0\uff1a\u7eb5\u6a2a\u5b87\u5b99\uff08Spider-Man: Across the Spider-Verse\uff09
","tags":["\u6742\u8c08","\u52a8\u6f2b","\u7535\u5f71"]},{"location":"essay/main/ainme/#c_1","title":"C \u7c7b","text":"","tags":["\u6742\u8c08","\u52a8\u6f2b","\u7535\u5f71"]},{"location":"essay/main/ainme/#x_1","title":"X \u7c7b","text":"
  • \u672a\u9ebb\u7684\u90e8\u5c4b\uff08Perfect Blue\uff09
  • \u4f60\u60f3\u6d3b\u51fa\u600e\u6837\u7684\u4eba\u751f\uff08\u541b\u305f\u3061\u306f\u3069\u3046\u751f\u304d\u308b\u304b\uff09
","tags":["\u6742\u8c08","\u52a8\u6f2b","\u7535\u5f71"]},{"location":"essay/main/ainme/#d_1","title":"D \u7c7b","text":"
  • \u51b0\u96ea\u5947\u7f18\uff08Frozen\uff09 M2
  1. \u4ec5\u5305\u542b 1st season\u30012nd season \u548c Final season \u4e09\u4e2a\u5b63\u5ea6\u7684\u52a8\u753b\u3002\u00a0\u21a9

","tags":["\u6742\u8c08","\u52a8\u6f2b","\u7535\u5f71"]},{"location":"essay/main/aria2/","title":"\u5b89\u88c5\u4e0e\u4f7f\u7528 aria2","text":"","tags":["\u6742\u8c08","aria2","Linux"]},{"location":"essay/main/aria2/#_1","title":"\u5b89\u88c5","text":"
sudo zypper in aria2\n
","tags":["\u6742\u8c08","aria2","Linux"]},{"location":"essay/main/aria2/#_2","title":"\u6587\u4ef6\u76ee\u5f55","text":"

\u5728 ~/bin/aria2 \u76ee\u5f55\u4e0b\u65b0\u5efa\u6587\u672c\u6587\u6863\uff1a

poplar@c004-h1:~> tree ~/bin/aria2\n/home/poplar/bin/aria2\n\u251c\u2500\u2500 aria2.conf\n\u251c\u2500\u2500 aria2.log\n\u251c\u2500\u2500 aria2.service\n\u251c\u2500\u2500 aria2.session\n\u2514\u2500\u2500 index.html\n\n1 directory, 5 files\n
","tags":["\u6742\u8c08","aria2","Linux"]},{"location":"essay/main/aria2/#aria2conf","title":"aria2.conf","text":"
# \u6587\u4ef6\u7684\u4fdd\u5b58\u8def\u5f84(\u53ef\u4f7f\u7528\u7edd\u5bf9\u8def\u5f84\u6216\u76f8\u5bf9\u8def\u5f84), \u9ed8\u8ba4: \u5f53\u524d\u542f\u52a8\u4f4d\u7f6e\ndir=/home/poplar/Downloads/Aria2\n\n# \u65e5\u5fd7\u6587\u4ef6\u4fdd\u5b58\u76ee\u5f55\nlog=/home/poplar/bin/aria2/aria2.log\n\n# \u542f\u7528\u78c1\u76d8\u7f13\u5b58, 0 \u4e3a\u7981\u7528\u7f13\u5b58, \u9700 1.16 \u4ee5\u4e0a\u7248\u672c, \u9ed8\u8ba4:16M\ndisk-cache=50M\n\n# \u6587\u4ef6\u9884\u5206\u914d\u65b9\u5f0f, \u80fd\u6709\u6548\u964d\u4f4e\u78c1\u76d8\u788e\u7247, \u9ed8\u8ba4: prealloc\n# \u9884\u5206\u914d\u6240\u9700\u65f6\u95f4: none < falloc ? trunc < prealloc\n# falloc \u548c trunc \u5219\u9700\u8981\u6587\u4ef6\u7cfb\u7edf\u548c\u5185\u6838\u652f\u6301,\n# NTFS \u5efa\u8bae\u4f7f\u7528 falloc, EXT3/4 \u5efa\u8bae trunc, MAC \u4e0b\u9700\u8981\u6ce8\u91ca\u6b64\u9879\n#file-allocation=falloc\n\n# \u65ad\u70b9\u7eed\u4f20\ncontinue=true\n\n\n## \u4e0b\u8f7d\u8fde\u63a5\u76f8\u5173 ##\n\n# \u6700\u5927\u540c\u65f6\u4e0b\u8f7d\u4efb\u52a1\u6570, \u8fd0\u884c\u65f6\u53ef\u4fee\u6539, \u9ed8\u8ba4:5\n#max-concurrent-downloads=5\n\n# \u540c\u4e00\u670d\u52a1\u5668\u8fde\u63a5\u6570, \u6dfb\u52a0\u65f6\u53ef\u6307\u5b9a, \u9ed8\u8ba4:1\nmax-connection-per-server=16\n\n# \u6700\u5c0f\u6587\u4ef6\u5206\u7247\u5927\u5c0f, \u6dfb\u52a0\u65f6\u53ef\u6307\u5b9a, \u53d6\u503c\u8303\u56f41M -1024M, \u9ed8\u8ba4:20M\n# \u5047\u5b9a size=10M, \u6587\u4ef6\u4e3a 20MiB \u5219\u4f7f\u7528\u4e24\u4e2a\u6765\u6e90\u4e0b\u8f7d; \u6587\u4ef6\u4e3a 15MiB \u5219\u4f7f\u7528\u4e00\u4e2a\u6765\u6e90\u4e0b\u8f7d\nmin-split-size=20M\n\n# \u5355\u4e2a\u4efb\u52a1\u6700\u5927\u7ebf\u7a0b\u6570, \u6dfb\u52a0\u65f6\u53ef\u6307\u5b9a, \u9ed8\u8ba4:5\nsplit=32\n\n# \u6574\u4f53\u4e0b\u8f7d\u901f\u5ea6\u9650\u5236, \u8fd0\u884c\u65f6\u53ef\u4fee\u6539, \u9ed8\u8ba4:0\n#max-overall-download-limit=0\n\n# \u5355\u4e2a\u4efb\u52a1\u4e0b\u8f7d\u901f\u5ea6\u9650\u5236, \u9ed8\u8ba4:0\n#max-download-limit=0\n\n# \u6574\u4f53\u4e0a\u4f20\u901f\u5ea6\u9650\u5236, \u8fd0\u884c\u65f6\u53ef\u4fee\u6539, \u9ed8\u8ba4:0\n#max-overall-upload-limit=0\n\n# \u5355\u4e2a\u4efb\u52a1\u4e0a\u4f20\u901f\u5ea6\u9650\u5236, \u9ed8\u8ba4:0\n#max-upload-limit=0\n\n# \u7981\u7528IPv6, \u9ed8\u8ba4:false\n#disable-ipv6=true\n\n# \u8fde\u63a5\u8d85\u65f6\u65f6\u95f4, \u9ed8\u8ba4:60\n#timeout=60\n\n# \u6700\u5927\u91cd\u8bd5\u6b21\u6570, \u8bbe\u7f6e\u4e3a 0 \u8868\u793a\u4e0d\u9650\u5236\u91cd\u8bd5\u6b21\u6570, \u9ed8\u8ba4:5\n#max-tries=5\n\n# \u8bbe\u7f6e\u91cd\u8bd5\u7b49\u5f85\u7684\u79d2\u6570, \u9ed8\u8ba4:0\n#retry-wait=0\n\n\n## \u8fdb\u5ea6\u4fdd\u5b58\u76f8\u5173 ##\n\n# \u4ece\u4f1a\u8bdd\u6587\u4ef6\u4e2d\u8bfb\u53d6\u4e0b\u8f7d\u4efb\u52a1\ninput-file=/home/poplar/bin/aria2/aria2.session\n\n# \u5728 aria2 \u9000\u51fa\u65f6\u4fdd\u5b58`\u9519\u8bef/\u672a\u5b8c\u6210`\u7684\u4e0b\u8f7d\u4efb\u52a1\u5230\u4f1a\u8bdd\u6587\u4ef6\nsave-session=/home/poplar/bin/aria2/aria2.session\n\n# \u5b9a\u65f6\u4fdd\u5b58\u4f1a\u8bdd, 0 \u4e3a\u9000\u51fa\u65f6\u624d\u4fdd\u5b58, \u9700 1.16.1 \u4ee5\u4e0a\u7248\u672c, \u9ed8\u8ba4:0\nsave-session-interval=120\n\n\n## RPC\u76f8\u5173\u8bbe\u7f6e ##\n\n# \u542f\u7528 RPC, \u9ed8\u8ba4:false\nenable-rpc=true\n\n# \u5141\u8bb8\u6240\u6709\u6765\u6e90, \u9ed8\u8ba4:false\nrpc-allow-origin-all=true\n\n# \u5141\u8bb8\u975e\u5916\u90e8\u8bbf\u95ee, \u9ed8\u8ba4:false\n#rpc-listen-all=true\n\n# \u4e8b\u4ef6\u8f6e\u8be2\u65b9\u5f0f, \u53d6\u503c:[epoll, kqueue, port, poll, select], \u4e0d\u540c\u7cfb\u7edf\u9ed8\u8ba4\u503c\u4e0d\u540c\n#event-poll=select\n\n# RPC\u76d1\u542c\u7aef\u53e3, \u7aef\u53e3\u88ab\u5360\u7528\u65f6\u53ef\u4ee5\u4fee\u6539, \u9ed8\u8ba4:6800\n#rpc-listen-port=6800\n\n# \u8bbe\u7f6e\u7684 RPC \u6388\u6743\u4ee4\u724c, v1.18.4 \u65b0\u589e\u529f\u80fd, \u53d6\u4ee3 --rpc-user \u548c --rpc-passwd \u9009\u9879\nrpc-secret=poplar\n\n# \u662f\u5426\u542f\u7528 RPC \u670d\u52a1\u7684 SSL/TLS \u52a0\u5bc6,\n# \u542f\u7528\u52a0\u5bc6\u540e RPC \u670d\u52a1\u9700\u8981\u4f7f\u7528 https \u6216\u8005 wss \u534f\u8bae\u8fde\u63a5\n#rpc-secure=true\n\n# \u5728 RPC \u670d\u52a1\u4e2d\u542f\u7528 SSL/TLS \u52a0\u5bc6\u65f6\u7684\u8bc1\u4e66\u6587\u4ef6,\n# \u4f7f\u7528 PEM \u683c\u5f0f\u65f6\uff0c\u60a8\u5fc5\u987b\u901a\u8fc7 --rpc-private-key \u6307\u5b9a\u79c1\u94a5\n#rpc-certificate=/path/to/certificate.pem\n\n# \u5728 RPC \u670d\u52a1\u4e2d\u542f\u7528 SSL/TLS \u52a0\u5bc6\u65f6\u7684\u79c1\u94a5\u6587\u4ef6\n#rpc-private-key=/path/to/certificate.key\n
","tags":["\u6742\u8c08","aria2","Linux"]},{"location":"essay/main/aria2/#aria2service","title":"aria2.service","text":"

\u8bbe\u7f6e\u4f7f\u7528 systemd \u542f\u52a8 aria2 \u7684\u670d\u52a1\u6587\u4ef6 aria2.service\uff1a

[Unit]\nDescription=Start aria2 daemon\n\n[Service]\nExecStart=/usr/bin/aria2c --conf-path=/home/poplar/bin/aria2/aria2.conf\nType=simple\nWorkingDirectory=/home/poplar/bin/aria2\n\n[Install]\nWantedBy=default.target\n
","tags":["\u6742\u8c08","aria2","Linux"]},{"location":"essay/main/aria2/#indexhtml","title":"index.html","text":"
  • \u4e0b\u8f7d\u5730\u5740\uff1ahttps://github.com/mayswind/AriaNg/releases
","tags":["\u6742\u8c08","aria2","Linux"]},{"location":"essay/main/aria2/#_3","title":"\u542f\u52a8\u670d\u52a1","text":"

\u4f7f\u7528 ~/bin/command/aria2-m \u542f\u52a8\u670d\u52a1\uff1a

#!/bin/sh\n#\u672c\u811a\u672c\u7528\u4e8e\u7ef4\u62a4 aria2 \u53ca\u9a8c\u8bc1\u548c\u5f52\u6863 ISO \u6587\u4ef6\n\nexport ISO_DL_DIR=/home/poplar/Downloads/Aria2\nexport ISO_DIR=/home/poplar/Downloads/ISO\nexport ARIA2_DIR=/home/poplar/bin/aria2\n#\u8bbe\u5b9a\u76ee\u5f55\nSERVICES_FILE=/home/poplar/bin/aria2/aria2.service\nOPENSUSE_DVD=/home/poplar/Downloads/Aria2/openSUSE-Tumbleweed-DVD-x86_64-Current.iso\nOPENSUSE_DVD_OLD=/home/poplar/Downloads/ISO/openSUSE-Tumbleweed-DVD-x86_64-Current.iso\nOPENSUSE_LIVE_ISO=/home/poplar/Downloads/Aria2/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso\nOPENSUSE_LIVE_ISO_OLD=/home/poplar/Downloads/ISO/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso\n\nwhile true; do\n\n    printf -- '-%0.s' {1..100} && echo\n    printf 'You can use the aria2 & ISO files maintenance script for:\\n\\n'\n    printf 'R - Register Aria2 service\\n'\n    printf 'C - Clean up aria2 logs\\n'\n    printf 'V - Verify openSUSE ISO files\\n'\n    printf '1 - Download openSUSE DVD files\\n'\n    printf '2 - Download openSUSE KDE LiveISO files\\n'\n    printf 'Q - End script\\n\\n'\n    printf '==> '\n    read answer\n\n    if [ \"$answer\" = \"R\" ] || [ \"$answer\" = \"r\" ]; then\n    #\u6ce8\u518c\u670d\u52a1\n        printf 'Start registering systemd service...\\n'\n        mkdir -p ~/.config/systemd/user\n        if [ -f $SERVICES_FILE ]; then\n            cp $SERVICES_FILE ~/.config/systemd/user\n            systemctl daemon-reload --user\n            printf 'Service file loaded: OK!\\n'\n            systemctl enable --now --user aria2\n            printf 'Service status: Running.\\n'\n        else\n            printf 'ERROR: Service file not found!\\n'\n        fi\n\n    elif [ \"$answer\" = \"C\" ] || [ \"$answer\" = \"c\" ]; then\n    #\u6e05\u7406\u65e5\u5fd7\n        ls -lh $ARIA2_DIR/aria2.log\n        systemctl status aria2 --user | grep \"Active\"\n        systemctl stop aria2 --user\n        rm $ARIA2_DIR/aria2.log; touch $ARIA2_DIR/aria2.log\n        printf 'Cleaning up logs: OK!\\n'\n        systemctl restart aria2 --user\n        systemctl status aria2 --user | grep \"Active\"\n        ls -lh $ARIA2_DIR/aria2.log\n\n    elif [ \"$answer\" = \"V\" ] || [ \"$answer\" = \"v\" ]; then\n    #\u6821\u9a8c ISO \u6587\u4ef6\n        cd $ISO_DL_DIR\n        if [ -f $OPENSUSE_DVD ]; then\n            gpg --verify openSUSE-Tumbleweed-DVD-x86_64-Current.iso.sha256.asc\n            cat openSUSE-Tumbleweed-DVD-x86_64-Current.iso.sha256 | sed 's/openSUSE-Tumbleweed-DVD-x86_64-Snapshot\\(........\\)-Media.iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso/' > temp.sha256\n            sha256sum -c temp.sha256\n            rm temp.sha256\n            if [ -f $OPENSUSE_DVD_OLD ]; then\n                printf 'Found the old DVD ISO file.'\n                rm $ISO_DIR/openSUSE-Tumbleweed-DVD*.*\n                mv $ISO_DL_DIR/openSUSE-Tumbleweed-DVD*.* $ISO_DIR\n                printf 'Update DVD ISO files: OK!\\n'\n            else\n                printf 'No found the old DVD ISO file.\\n'\n                mv $ISO_DL_DIR/openSUSE-Tumbleweed-DVD*.* $ISO_DIR\n                printf 'Update DVD ISO files: OK!\\n'\n            fi\n        else\n            printf 'No found the new DVD ISO files\\n'\n        fi\n        printf -- '-%0.s' {1..100} && echo\n        if [ -f $OPENSUSE_LIVE_ISO ]; then\n            gpg --verify openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso.sha256.asc\n            cat openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso.sha256 | sed 's/openSUSE-Tumbleweed-KDE-Live-x86_64-Snapshot\\(........\\)-Media.iso/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso/' > temp.sha256\n            sha256sum -c temp.sha256\n            rm temp.sha256\n            if [ -f $OPENSUSE_LIVE_ISO_OLD ]; then\n                printf 'Found the old Live ISO file.'\n                rm $ISO_DIR/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.*\n                mv $ISO_DL_DIR/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.* $ISO_DIR\n                printf 'Update Live ISO files: OK!\\n'\n            else\n                printf 'No found the old Live ISO file.\\n'\n                mv $ISO_DL_DIR/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.* $ISO_DIR\n                printf 'Update Live ISO files: OK!\\n'\n            fi\n        else\n            printf 'No found the new Live ISO files\\n'\n        fi\n\n    elif [ $answer = 1 ]; then\n        aria2c -d $ISO_DL_DIR -s 16 https://mirror.sjtu.edu.cn/opensuse/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso\n        aria2c -d $ISO_DL_DIR -s 16 https://mirror.sjtu.edu.cn/opensuse/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso.sha256\n        aria2c -d $ISO_DL_DIR -s 16 https://mirror.sjtu.edu.cn/opensuse/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso.sha256.asc\n\n    elif [ $answer = 2 ]; then\n        aria2c -d $ISO_DL_DIR -s 16 https://mirror.sjtu.edu.cn/opensuse/tumbleweed/iso/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso\n        aria2c -d $ISO_DL_DIR -s 16 https://mirror.sjtu.edu.cn/opensuse/tumbleweed/iso/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso.sha256\n        aria2c -d $ISO_DL_DIR -s 16 https://mirror.sjtu.edu.cn/opensuse/tumbleweed/iso/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso.sha256.asc\n\n    elif [ \"$answer\" = \"Q\" ] || [ \"$answer\" = \"q\" ]; then\n        exit\n\n    else\n    #\u91cd\u65b0\u5f00\u59cb\u5faa\u73af\n        printf 'ERROR: Invalid input!\\n'\n        continue\n\n    fi\ndone\n
","tags":["\u6742\u8c08","aria2","Linux"]},{"location":"essay/main/aria2/#_4","title":"\u8865\u5145\u8bf4\u660e","text":"
  • \u914d\u7f6e\u4e0d\u5305\u542b BT \u4e0b\u8f7d\u529f\u80fd\uff0c\u76f8\u5173\u53e6\u89c1 qBittorrent \u914d\u7f6e\u5907\u5fd8\u5f55\u3002
  • aria2 \u53ea\u6709\u5728\u5de5\u4f5c\u65f6\u624d\u4f1a\u8bfb\u5199\u65e5\u5fd7\u3002\u4e0b\u8f7d\u5b8c\u6587\u4ef6\u540e\uff0c\u8bb0\u5f97\u8981\u6e05\u7406\u4e00\u4e0b\u65e5\u5fd7\u6587\u4ef6\u3002
","tags":["\u6742\u8c08","aria2","Linux"]},{"location":"essay/main/aria2/#_5","title":"\u53c2\u8003\u8d44\u6599","text":"
  • Aria2+AriaNG \u914d\u7f6e\u6307\u5357\uff08Win10 \u7bc7\uff09
","tags":["\u6742\u8c08","aria2","Linux"]},{"location":"essay/main/graphs-setup/","title":"\u6e38\u620f\u753b\u9762\u8bbe\u7f6e\u53c2\u8003","text":"
  • \u8d44\u6599\u6765\u6e90\uff1a\u6e38\u620f\u753b\u8d28\u8bbe\u7f6e\u6559\u7a0b
  • \u6750\u8d28\u7eb9\u7406\uff1a
    • \u6750\u8d28\uff1a\u5bf9\u89c2\u611f\u5f71\u54cd\u5f88\u5927\uff0c\u51e0\u4e4e\u4e0d\u5403\u6027\u80fd\uff0c\u5403\u663e\u5b58\uff0c\u5efa\u8bae\u5f00\u9ad8
    • \u7eb9\u7406\uff1a\u540c\u4e0a
    • \u5404\u5411\u5f02\u6027\u8fc7\u6ee4\uff1a\u4fdd\u8bc1\u7eb9\u7406\u6b63\u786e\u663e\u793a\uff0c\u4e0d\u5403\u6027\u80fd\uff0c\u5efa\u8bae\u5f00\u9ad8
  • \u5149\u7167\u548c\u9634\u5f71\uff1a
    • \u5149\u7ebf\uff1a\u53cd\u5c04\u3001\u6298\u5c04\u3001\u6563\u5c04\u3001\u955c\u9762\u3001\u5149\u7ebf\u8ffd\u8e2a\uff1a\u5f88\u5403\u6027\u80fd\uff0c\u5bf9\u89c2\u611f\u5f71\u54cd\u5c0f\uff0c\u5c5e\u9526\u4e0a\u6dfb\u82b1
    • \u9634\u5f71\uff1a\u9634\u5f71\u8d28\u91cf\u3001\u73af\u5883\u5149\u906e\u853d\u7b49\uff1a\u5bf9\u6027\u80fd\u5f71\u54cd\u9002\u4e2d\uff0c\u6709\u548c\u6ca1\u6709\u662f\u4e24\u4e2a\u6e38\u620f\uff0c\u5f00\u6700\u9ad8\u6027\u4ef7\u6bd4\u4f4e
    • \u4f53\u79ef\uff1a\u4f53\u79ef\u4e91\u3001\u4f53\u79ef\u96fe\u3001\u4f53\u79ef\u5149\uff1a\u5bf9\u6027\u80fd\u5f71\u54cd\u5f88\u5927\uff0c\u770b\u98ce\u666f\u53ef\u4ee5\u5f00
  • \u6a21\u578b\u89c6\u8ddd\uff1a
    • \u7ec6\u8282\u5c42\u6b21\uff1a\u8ba9\u8fdc\u5904\u7684\u7269\u4f53\u66f4\u6e05\u6670\uff0c\u5bf9\u6027\u80fd\u5f71\u54cd\u4e2d\u7b49\u3002\u4e00\u822c\u60c5\u51b5\u4e0b\u5efa\u8bae\u5f00\u4e2d\uff0c\u770b\u98ce\u666f\u5f00\u9ad8
    • \u53ef\u89c6\u8ddd\u79bb\uff1a\u540c\u4e0a
    • \u66f2\u9762\u7ec6\u5206\uff1a\u5bf9\u6027\u80fd\u5f71\u54cd\u9002\u4e2d\uff0c\u5bf9\u89c2\u611f\u51e0\u4e4e\u6ca1\u6709\u5f71\u54cd\uff0c\u4e0d\u5efa\u8bae\u5f00
  • \u8349\u5730\u690d\u88ab\uff1a
    • \u8349\u5730\u690d\u88ab\u5bc6\u5ea6\uff1a\u5bf9\u89c2\u611f\u5f71\u54cd\u8f83\u5927\uff0c\u5bf9\u6027\u80fd\u5f71\u54cd\u4e2d\u7b49\uff0c\u770b\u98ce\u666f\u53ef\u4ee5\u5f00\u6700\u9ad8
  • \u7269\u7406\u7c7b\uff1a
    • \u6c34\u7269\u7406\uff1a\u5bf9\u6027\u80fd\u5f71\u54cd\u975e\u5e38\u5927\uff0c\u5bf9\u89c2\u611f\u5f71\u54cd\u8f83\u5c0f\uff0c\u73a9\u6c34\u53ef\u4ee5\u5f00\u9ad8
  • \u7c92\u5b50\u7279\u6548\uff1a
    • \u7c92\u5b50\u8d28\u91cf\uff1a\u5bf9\u6027\u80fd\u5f71\u54cd\u4e2d\u7b49\u3001\u5bf9\u89c2\u611f\u5f71\u54cd\u8f83\u5927\uff0c\u6839\u636e\u5177\u4f53\u60c5\u51b5\u9009\u62e9
    • \u7279\u6548\u8d28\u91cf\uff1a\u540c\u4e0a
  • \u6297\u952f\u9f7f\uff1a
    • TAA\uff08\u65f6\u95f4\u6297\u952f\u9f7f\uff09\uff1a\u63a8\u8350\u5927\u90e8\u5206\u73a9\u5bb6\uff0c\u4e0d\u5403\u6027\u80fd\uff0c\u6297\u952f\u9f7f\u548c\u6297\u95ea\u70c1\u4f18\u79c0\uff0c\u4f4e\u5206\u8fa8\u7387\u4f1a\u7cca
    • MSAA\uff08\u591a\u91cd\u91c7\u6837\u6297\u952f\u9f7f\uff09\uff1a\u63a8\u8350\u7ed9\u9ad8\u914d\u73a9\u5bb6\uff0c\u5f88\u5403\u6027\u80fd\uff0c\u6297\u952f\u9f7f\u6548\u679c\u597d\uff0c\u4e0d\u7cca
    • FXAA\uff08\u5feb\u901f\u8fd1\u4f3c\u6297\u952f\u9f7f\uff09\uff1a\u63a8\u8350\u7ed9\u4f4e\u914d\u73a9\u5bb6\uff0c\u4e0d\u5403\u6027\u80fd\uff0c\u6297\u952f\u9f7f\u6548\u679c\u4e00\u822c\uff0c\u4f1a\u6a21\u7cca
    • SMAA\uff08\u589e\u5f3a\u578b\u5b50\u50cf\u7d20\u5f62\u6001\u5b66\u6297\u952f\u9f7f\uff09\uff1a\u63a8\u8350\u7ed9\u5927\u90e8\u5206\u73a9\u5bb6\uff0c\u5bf9\u6027\u80fd\u7a0d\u6709\u5f71\u54cd\uff0c\u6297\u952f\u9f7f\u6548\u679c\u8f83\u597d\uff0c\u4e0d\u7cca
  • \u540e\u671f\u6ee4\u955c\uff1a
    • \u52a8\u6001\u6a21\u7cca\uff1a\u5bf9\u6027\u80fd\u8981\u6c42\u4f4e\uff0c\u4ec5\u5efa\u8bae\u4f4e\u4e8e 30 \u5e27\u7684\u73a9\u5bb6\u5f00\u542f
    • \u666f\u6df1\u3001\u70ab\u5149\u3001\u9ad8\u5149\u7b49\uff1a\u51e0\u4e4e\u4e0d\u5403\u6027\u80fd\uff0c\u770b\u4e2a\u4eba\u559c\u597d\u5f00\u542f
","tags":["\u6742\u8c08","\u663e\u5361"]},{"location":"essay/main/md-epub/","title":"\u4f7f\u7528 Pandoc \u5236\u4f5c\u7b80\u6613\u7684 Epub \u7535\u5b50\u4e66","text":"

\u672c\u6587\u4e3b\u8981\u8bb0\u5f55\u5982\u4f55\u4f7f\u7528 pandoc \u5236\u4f5c\u4e00\u4e2a\u7b80\u6613\u7684\u7535\u5b50\u4e66\u6587\u4ef6\u3002

\u5bf9\u4e8e\u4e13\u4e1a\u5316\u7684\u7535\u5b50\u4e66\u5236\u4f5c\uff0c\u63a8\u8350\u9605\u8bfb\u8d64\u9713\u7f16\u8457\u7684\u300aePub\u6307\u5357\u2014\u2014\u4ece\u5165\u95e8\u5230\u653e\u5f03\u300b

\u7248\u6743\u58f0\u660e \u3000\u3000\u672c\u4e66\u7684\u5185\u5bb9\u662f\u4f5c\u8005\u591a\u5e74\u5236\u4f5c ePub \u7535\u5b50\u4e66\u7684\u7ecf\u9a8c\uff0c\u5728\u5199\u4e66\u4e4b\u9645\uff0c\u5f15\u7528\u4e86\u7f51\u7edc\u4e0a\u516c\u5f00\u7684\u8d44\u6599\u6587\u6863\u3002\u672c\u7740\u4e92\u8054\u7f51\u5171\u4eab\u7cbe\u795e\uff0c\u73b0\u514d\u8d39\u516c\u4e4b\u4e8e\u7f51\u7edc\uff0c\u8bf7\u4e0d\u8981\u628a\u672c\u4e66\u7528\u4e8e\u5546\u4e1a\uff0c\u8c22\u8c22\uff01 \u3000\u3000\u5173\u4e8e\u672c\u4e66\u7684\u66f4\u65b0\u7248\u672c\u53ef\u53d1\u9001\u90ae\u4ef6\u81f3 1620279970@qq.com \u7d22\u8981\u6216\u6dfb\u52a0 QQ \u83b7\u53d6\u3002

","tags":["\u6742\u8c08","Pandoc","markdown","Epub","\u6559\u7a0b"]},{"location":"essay/main/md-epub/#_1","title":"\u51c6\u5907","text":"

\u4ee5\u4e0b\u662f\u9700\u8981\u51c6\u5907\u548c\u63a8\u8350\u51c6\u5907\u7684\u5de5\u5177\u96c6\uff1a

  1. pandoc \u662f\u4e00\u4e2a\u529f\u80fd\u4e30\u5bcc\uff0c\u652f\u6301\u8bb8\u591a\u6587\u4ef6\u683c\u5f0f\u7684\u6587\u4ef6\u8f6c\u6362\u5668\uff0c\u5b83\u53ef\u4ee5\u5c06\u8c03\u5236\u8fc7\u7684 markdown \u6587\u4ef6\u8f6c\u6362\u4e3a epub \u6587\u4ef6\u3002

  2. calibre \u662f\u4e00\u4e2a\u7535\u5b50\u56fe\u4e66\u7ba1\u7406\u8f6f\u4ef6\uff0c\u53ef\u4ee5\u7528\u6765\u9605\u8bfb\u3001\u7ba1\u7406\u548c\u7f16\u8f91\u7535\u5b50\u4e66\u6587\u4ef6\uff0c\u672c\u6587\u4e2d\u5c06\u4f7f\u7528\u5b83\u7f16\u8f91\u7535\u5b50\u4e66\u7684\u5143\u4fe1\u606f\u3002

  3. opencc \u662f\u4e00\u4e2a\u7528\u4e8e\u7b80\u7e41\u6587\u5b57\u8f6c\u6362\u7684\u547d\u4ee4\u884c\u5de5\u5177\uff0c\u53ef\u4ee5\u65b9\u4fbf\u5730\u5c06\u7e41\u4f53\u4e2d\u6587\u6587\u672c\u8f6c\u6362\u4e3a\u7b80\u4f53\u4e2d\u6587\u6587\u672c\u3002

  4. Visual Studio Code\uff08\u7b80\u79f0\uff1avscode\uff09\u662f\u7531\u5fae\u8f6f\u5f00\u53d1\u7684\u6e90\u4ee3\u7801\u7f16\u8f91\u5668\uff0c\u5b83\u7684\u7f16\u8f91\u5668\u529f\u80fd\u5f88\u4e30\u5bcc\uff0c\u7ed3\u5408\u6269\u5c55\u63d2\u4ef6\u53ef\u4ee5\u5b8c\u6210\u66f4\u591a\u7684\u4efb\u52a1\uff0c\u672c\u6587\u4e2d\uff0c\u5c06\u4f7f\u7528 vscode \u7f16\u8f91 markdown \u6587\u4ef6\u3002

  5. markdown \u662f\u4e00\u79cd\u57fa\u4e8e\u7eaf\u6587\u672c\u6587\u4ef6\u7684\u6807\u8bb0\u8bed\u8a00\u89c4\u8303\uff0c\u53ef\u4ee5\u7b80\u5355\u7684\u8bed\u6cd5\u7ed3\u6784\u751f\u6210\u7b80\u6d01\u7684\u6392\u7248\u6548\u679c\u3002

","tags":["\u6742\u8c08","Pandoc","markdown","Epub","\u6559\u7a0b"]},{"location":"essay/main/md-epub/#_2","title":"\u5b89\u88c5\u5de5\u5177","text":"","tags":["\u6742\u8c08","Pandoc","markdown","Epub","\u6559\u7a0b"]},{"location":"essay/main/md-epub/#pandoc","title":"pandoc","text":"

\u4f60\u53ef\u4ee5\u76f4\u63a5\u524d\u5f80 pandoc \u5b98\u7f51\u4e0b\u8f7d\u5b89\u88c5\u5305\u6587\u4ef6\uff0c\u6216\u8005\u6253\u5f00\u7ec8\u7aef\u8fd0\u884c\uff1a

winget install JohnMacFarlane.Pandoc  #\u5bf9\u4e8e Windows \u7528\u6237\nzypper install pandoc                 #\u5bf9\u4e8e openSUSE \u7528\u6237\n
  • winget \u662f\u5fae\u8f6f\u63a8\u51fa\u7684\u8f6f\u4ef6\u5305\u7ba1\u7406\u5668\uff0c\u4f7f\u7528\u5b83\u5b89\u88c5\u8f6f\u4ef6\u65f6\u8bb0\u5f97\u5728\u4ee3\u7406\u8f6f\u4ef6\u5185\u5f00\u542f\u7cfb\u7edf\u4ee3\u7406\u3002
","tags":["\u6742\u8c08","Pandoc","markdown","Epub","\u6559\u7a0b"]},{"location":"essay/main/md-epub/#calibre","title":"calibre","text":"

\u4f60\u53ef\u4ee5\u524d\u5f80 calibre \u7684\u5b98\u7f51\u4e0b\u8f7d\u5b89\u88c5\u5305\u6216\u8fd0\u884c\uff1a

winget install calibre.calibre  #\u5bf9\u4e8e Windows \u7528\u6237\nzypper in calibre               #\u5bf9\u4e8e openSUSE \u7528\u6237\n
","tags":["\u6742\u8c08","Pandoc","markdown","Epub","\u6559\u7a0b"]},{"location":"essay/main/md-epub/#opencc","title":"OpenCC","text":"

\u4f60\u53ef\u4ee5\u524d\u5f80 opencc \u7684\u5f00\u53d1\u8005\u4ed3\u5e93\u4e0b\u8f7d\u53ef\u6267\u884c\u6587\u4ef6\u5305\u6216\u8fd0\u884c\uff1a

zypper in opencc  #\u5bf9\u4e8e openSUSE \u7528\u6237\n

\u53e6\u89c1\u4f7f\u7528 OpenCC \u8fdb\u884c\u7b80\u7e41\u4e2d\u6587\u8f6c\u6362\u3002

","tags":["\u6742\u8c08","Pandoc","markdown","Epub","\u6559\u7a0b"]},{"location":"essay/main/md-epub/#vscode","title":"vscode","text":"

\u4f60\u53ef\u4ee5\u524d\u5f80 vscode \u7684\u5f00\u53d1\u8005\u4ed3\u5e93\u4e0b\u8f7d\u53ef\u6267\u884c\u6587\u4ef6\u5305\u6216\u8fd0\u884c\uff1a

winget install Microsoft.VisualStudioCode      #\u5bf9\u4e8e Windows \u7528\u6237\nflatpak install flathub com.visualstudio.code  #\u5bf9\u4e8e Linux \u7528\u6237\n
  • \u6709\u7528\u7684\u6269\u5c55\uff1a
    • Chinese (Simplified) (\u7b80\u4f53\u4e2d\u6587) Language Pack for Visual Studio Code \u4e3a vscode \u7684\u7528\u6237\u754c\u9762\u63d0\u4f9b\u4e2d\u6587\u8bed\u8a00\u652f\u6301\u3002
    • Epub Reader \u4e3a vscode \u63d0\u4f9b\u9884\u89c8 epub \u6587\u4ef6\u7684\u80fd\u529b
    • Pandoc Markdown Preview \u4e3a vscode \u63d0\u4f9b\u4ee5 pandoc's markdown \u89c4\u8303\u9884\u89c8 markdown \u7684\u80fd\u529b
","tags":["\u6742\u8c08","Pandoc","markdown","Epub","\u6559\u7a0b"]},{"location":"essay/main/md-epub/#_3","title":"\u5236\u4f5c\u7535\u5b50\u4e66","text":"

\u603b\u7684\u6765\u8bf4\uff1a

  1. \u5148\u7f16\u5199\u4e00\u4efd\u7b26\u5408 pandoc's markdown \u89c4\u8303\u7684 markdown \u6e90\u6587\u4ef6\uff1b
  2. \u518d\u4f7f\u7528 pandoc \u5c06 markdown \u8f6c\u6362\u4e3a epub \u6587\u4ef6\uff1b
  3. \u6700\u540e\u4f7f\u7528 calibre \u8865\u9f50\u7535\u5b50\u4e66\u5143\u4fe1\u606f\u3002
","tags":["\u6742\u8c08","Pandoc","markdown","Epub","\u6559\u7a0b"]},{"location":"essay/main/md-epub/#markdown","title":"\u7f16\u5199 markdown","text":"

\u4f60\u53ef\u4ee5\u5148\u9605\u8bfb Markdwon \u4e2d\u6587\u5feb\u901f\u5165\u95e8\u6307\u5357\u5feb\u901f\u4e86\u89e3 markdown \u7684\u57fa\u672c\u8bed\u6cd5\u89c4\u5219\u3002\u7136\u540e\u518d\u9605\u8bfb pandoc's markdown \u4e86\u89e3 pandoc \u6240\u652f\u6301\u7684 markdown \u8bed\u6cd5\u89c4\u8303\u3002\u6700\u540e\u518d\u5f00\u59cb\u7f16\u5199\u7b26\u5408 pandoc \u89c4\u8303\u7684 markdown \u6e90\u6587\u4ef6\u3002

\u4e2a\u4eba\u5efa\u8bae\uff1a

  1. \u4e66\u5199\u65f6 markdown \u5c3d\u91cf\u907f\u514d\u540c\u65f6\u4f7f\u7528\u591a\u4e2a\u4e00\u7ea7\u6807\u9898\uff08\u4e66\u540d\u5df2\u7ecf\u9ed8\u8ba4\u4f5c\u4e3a\u4e00\u7ea7\u6807\u9898\u4e86\uff09\uff1b
  2. pandoc \u7684 markdown \u89c4\u8303\u63d0\u4f9b\u4e86\u76f8\u8f83\u4e8e markdown \u539f\u7248\u4e0d\u5177\u6709\u7684\u8bb8\u591a\u6269\u5c55\u7279\u6027\uff08\u5982\u6587\u672c\u9ad8\u4eae\u3001\u4e0a\u4e0b\u6807\u6587\u4ef6\u3001\u5236\u8868\u7b49\uff09\uff1b
  3. \u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u8f6c\u6362\u6587\u4ef6\u65f6\uff0cPandoc \u53ea\u80fd\u8bc6\u522b\u5230\u7b2c\u4e09\u7ea7\u6807\u9898\uff08###\uff09\uff0c\u66f4\u5c0f\u4e00\u7ea7\u7684\u6807\u9898\uff08####\uff09\u65e0\u6cd5\u88ab\u6b63\u786e\u8bc6\u522b\u5e76\u5f55\u5165\u76ee\u5f55\uff1b
  4. \u9047\u5230 markdown \u65e0\u6cd5\u89e3\u51b3\u7684\u6392\u7248\u95ee\u9898\uff0c\u53ef\u4ee5\u5bfb\u6c42\u4f7f\u7528 HTML \u548c CSS \u89e3\u51b3\u95ee\u9898\uff1b
  5. \u5982\u679c\u4f60\u5728\u67d0\u5904\u4f7f\u7528\u4e86 html \u6807\u8bb0\uff0c\u4f46 epub \u751f\u6210\u54c1\u6ca1\u6709\u5b9e\u73b0\u4f60\u9884\u671f\u7684\u6548\u679c\uff0c\u4f60\u53ef\u80fd\u9700\u8981\u5c06\u6b64\u5904\u7684\u6240\u6709\u6807\u8bb0\u7b26\u53f7\u90fd\u4fee\u6539\u4e3a html \u6807\u8bb0\uff0c\u4f8b\u5982\uff1a<center><strong><color-blue>\u4f7f\u7528\u4e86\u81ea\u5b9a\u4e49\u6837\u5f0f\u7684\u84dd\u8272\u6587\u672c</color-blue></strong></center>\uff1b
  6. \u4f7f\u7528 html \u548c CSS \u8bed\u6cd5\u65f6\uff0c\u8bf7\u6ce8\u610f\u9075\u5b88\u5b83\u4eec\u7684\u89c4\u8303\u3002
  7. Epub Reader \u5728\u9884\u89c8\u6587\u4ef6\u7684\u540c\u65f6\u53ef\u4ee5\u68c0\u6d4b\u7535\u5b50\u4e66\u4e2d\u5b58\u5728\u7684\u95ee\u9898\uff08\u4f8b\u5982\u6709\u672a\u95ed\u5408\u7684 html \u6807\u7b7e\u6216\u5185\u90e8\u9519\u8bef\uff09\uff1b
  8. \u4e0d\u8981\u4f7f\u7528 calibre \u9884\u89c8\u6d4b\u8bd5\u6587\u4ef6\uff0c\u5b83\u53ef\u4ee5\u5c06\u539f\u672c\u5b58\u5728\u95ee\u9898\u6216\u7f3a\u9677\u7684\u7535\u5b50\u4e66\u6309\u7167\u4f60\u9884\u60f3\u7684\u65b9\u5f0f\u8fdb\u884c\u6e32\u67d3\u4ece\u800c\u5bfc\u81f4\u4f60\u5ffd\u7565\u4e86\u67d0\u4e9b\u6f5c\u5728\u95ee\u9898\uff1b
  9. \u8981\u4f7f\u7528\u6587\u672c\u6bb5\u843d\u9996\u884c\u7f29\u8fdb\uff0c\u4f60\u53ef\u4ee5\u5728\u6587\u672c\u524d\u63d2\u5165\u4e24\u4e2a\u5168\u89d2\u7a7a\u683c\uff08Unicode\uff1aU+3000\uff09\uff1b\u8981\u63d2\u5165\u6b64\u7b26\u53f7\uff0c\u8bf7\u5c06\u8f93\u5165\u6cd5\u5207\u6362\u81f3\u5168\u89d2\u8f93\u5165\u72b6\u6001\uff0c\u7136\u540e\u6309\u4e0b\u7a7a\u683c\u952e\u5373\u53ef\uff1b
  10. markdown \u672c\u8eab\u6ca1\u6709\u4e13\u95e8\u4e3a\u4e2d\u6587\u4f18\u5316\u8fc7\u6e32\u67d3\u65b9\u5f0f\uff0c\u4f60\u9700\u8981\u4ed4\u7ec6\u9605\u8bfb\u89c4\u8303\u6587\u6863\uff0c\u4ee5\u4e86\u89e3\u54ea\u4e9b\u9ed8\u8ba4\u6e32\u67d3\u65b9\u5f0f\u53ef\u80fd\u4f1a\u5f71\u54cd\u6392\u7248\u6548\u679c\uff1b
  11. \u82e5\u5206\u6bb5\u65f6\u4e0d\u5e0c\u671b\u4f7f\u7528\u7a7a\u683c\u5206\u6bb5\uff0c\u8bf7\u4f7f\u7528 <br />
  12. \u6b63\u5219\u8868\u8fbe\u5f0f\u5bf9\u4e8e\u6279\u91cf\u5904\u7406\u6587\u672c\u5f88\u6709\u5e2e\u52a9\uff1b
  13. \u63a8\u8350\u9605\u8bfb\u300a\u4e2d\u6587\u6587\u6848\u6392\u7248\u6307\u5317\u300b\uff1b
  14. markdown \u6587\u4ef6\u7684\u7f16\u7801\u5fc5\u987b\u4e3a UTF-8\u3002
","tags":["\u6742\u8c08","Pandoc","markdown","Epub","\u6559\u7a0b"]},{"location":"essay/main/md-epub/#vscode_1","title":"vscode","text":"

vscode \u7684\u7528\u6237\u624b\u518c\u8be6\u89c1\u6b64\u5904\u3002

","tags":["\u6742\u8c08","Pandoc","markdown","Epub","\u6559\u7a0b"]},{"location":"essay/main/md-epub/#_4","title":"\u6807\u6ce8\u5143\u4fe1\u606f","text":"

\u4f60\u9700\u8981\u5728 markdown \u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u6807\u6ce8\u4e00\u4e0b\u6587\u6863\u7684\u5143\u6570\u636e\uff08\u4ee5 % \u5f00\u5934\uff09\uff0c\u4f8b\u5982\uff1a

% \u4e66\u540d\n% \u4f5c\u8005\n\n# \u4e00\u7ea7\u6807\u9898\n\n\u4ee5\u4e0b\u662f\u6b63\u6587\u6587\u672c\n

\u4f60\u4e5f\u53ef\u4ee5\u6807\u6ce8\u591a\u4e2a\u4f5c\u8005\uff0c\u4f8b\u5982\uff1a

% \u4e66\u540d\n% \u4f5c\u80051\n  \u4f5c\u80052\n  \u4f5c\u80053\n

calibre \u53ef\u4ee5\u4fee\u6539\u7535\u5b50\u4e66\u7684\u5143\u6570\u636e\u6216\u7535\u5b50\u4e66\u672c\u8eab\uff0c\u6240\u4ee5\u4ee5\u4e0a\u7684\u5143\u6570\u636e\u5df2\u7ecf\u591f\u7528\u4e86\u3002\u82e5\u4f60\u5bf9 pandoc \u5b9a\u4e49\u7684\u5143\u6570\u636e\u6807\u6ce8\u89c4\u8303\u611f\u5174\u8da3\uff0c\u8bf7\u9605\u8bfb\uff1aEpub Metadata\u3002

","tags":["\u6742\u8c08","Pandoc","markdown","Epub","\u6559\u7a0b"]},{"location":"essay/main/md-epub/#_5","title":"\u8f6c\u6362\u6587\u4ef6","text":"

\u5728 markdown \u6587\u4ef6\u6240\u5728\u7684\u6587\u4ef6\u5939\u4e2d\u6253\u5361\u7ec8\u7aef\u6a21\u62df\u5668\u6216\u865a\u62df\u63a7\u5236\u53f0\uff0c\u8c03\u7528 pandoc \u5c06\u76ee\u6807\u6587\u4ef6\uff08\u5982 example.md\uff09\u8f6c\u6362\u4e3a epub \u7535\u5b50\u4e66\uff0c\u5e76\u4fdd\u5b58\u81f3\u76f8\u540c\u76ee\u5f55\u4e0b\uff0c\u4f8b\u5982\uff1a

pandoc example.md -o example.epub\n

\u5f53\u6587\u4ef6\u540d\u5b58\u5728\u7a7a\u683c\u6216\u5176\u4ed6\u5b57\u7b26\u65f6\uff0c\u4f60\u53ef\u4ee5\u4f7f\u7528\u53cc\u5f15\u53f7\u5c06\u6587\u4ef6\u540d\u5305\u88f9\u8d77\u6765\uff0c\u4f8b\u5982\uff1a

pandoc \"\u793a\u4f8b\u6587\u4ef6 - \u793a\u4f8b\u4f5c\u8005~testing.md\" -o \u6d4b\u8bd5.epub\n
","tags":["\u6742\u8c08","Pandoc","markdown","Epub","\u6559\u7a0b"]},{"location":"essay/main/md-epub/#epub","title":"\u591a\u6587\u4ef6\u8f6c\u6362\u4e3a EPUB \u6587\u6863","text":"

\u5bf9\u4e8e\u5185\u5bb9\u91cf\u5de8\u5927\u7684\u6587\u6863\uff0c\u4f60\u53ef\u4ee5\u5c06\u5176\u88c1\u526a\u6210\u591a\u4e2a markdown \u6587\u6863\u3002\u540c\u65f6\u5e94\u6ce8\u610f\u6807\u9898\u5c42\u6b21\u7684\u5212\u5206\u3002

\u6700\u540e\uff0c\u4f7f\u7528\u5982\u4e0b\u7684\u547d\u4ee4\u751f\u6210\u4e00\u672c\u7535\u5b50\u4e66\u3002

pandoc -o example.epub chapter01.md chapter02.md chapter03.md\n

\u5982\u6b64\u7c7b\u63a8\uff0c\u8f93\u5165\u6587\u4ef6\u540d\u65f6\u5e94\u4fdd\u6301\u6587\u4ef6\u903b\u8f91\u4e0a\u7684\u5148\u540e\u987a\u5e8f\u3002

","tags":["\u6742\u8c08","Pandoc","markdown","Epub","\u6559\u7a0b"]},{"location":"essay/main/md-epub/#_6","title":"\u5de5\u7a0b\u793a\u4f8b","text":"

\u8bf4\u660e

\u4ee5\u4e0b\u662f\u5c06\u591a\u4e2a md \u6587\u6863\u8f6c\u6362\u4e3a\u5355\u4e2a EPUB \u7684\u5de5\u7a0b\u793a\u4f8b\u3002

\u73b0\u6709\u5982\u4e0b\u7684\u5de5\u7a0b\u6587\u4ef6\uff1a

PS D:\\.R\\\u5c0f\u8bf4\\factory\\epub-build> ls\n\n\n    \u76ee\u5f55: D:\\.R\\\u5c0f\u8bf4\\factory\\epub-build\n\n\nMode                 LastWriteTime         Length Name\n----                 -------------         ------ ----\n-a----      2022.12.12  \u4e0a\u5348 11:36            187 part01.md\n-a----      2022.12.12  \u4e0a\u5348 11:36            112 part02.md\n-a----      2022.12.12  \u4e0a\u5348 11:37            187 part03.md\n-a----      2022.12.12  \u4e0a\u5348 11:37            187 part04.md\n

\u6bcf\u4e2a\u6587\u4ef6\u7684\u5185\u5bb9\u5982\u4e0b\uff1a

part01.mdpart02.mdpart03.mdpart04.md
% \u6d4b\u8bd5\u7535\u5b50\u4e66\n% \u6d4b\u8bd5\u5458\n\n# \u4e66\u540d\n\n## \u4e66\u7c4d\u4fe1\u606f\n\n\u4ee5\u4e0b\u662f\u4e66\u7c4d\u7684\u4ecb\u7ecd\u4e0e\u63cf\u8ff0\n\n---\n\n## \u7b2c\u4e00\u90e8\n\n\u7b2c\u4e00\u90e8\u7684\u63cf\u8ff0\n\n### \u7b2c\u4e00\u7ae0\n\n\u6b63\u6587\u7684\u7b2c\u4e00\u7ae0\n\n### \u7b2c\u4e8c\u7ae0\n\n\u6b63\u6587\u7684\u7b2c\u4e8c\u7ae0\n
## \u7b2c\u4e8c\u90e8\n\n\u7b2c\u4e8c\u90e8\u7684\u63cf\u8ff0\n\n### \u7b2c\u4e00\u7ae0\n\n\u6b63\u6587\u7684\u7b2c\u4e00\u7ae0\n\n### \u7b2c\u4e8c\u7ae0\n\n\u6b63\u6587\u7684\u7b2c\u4e8c\u7ae0\n
# \u5916\u4f20\n\n## \u4e66\u7c4d\u4fe1\u606f\n\n\u4ee5\u4e0b\u662f\u4e66\u7c4d\u7684\u4ecb\u7ecd\u4e0e\u63cf\u8ff0\n\n---\n\n## \u7b2c\u4e00\u90e8\n\n\u7b2c\u4e00\u90e8\u7684\u63cf\u8ff0\n\n### \u7b2c\u4e00\u7ae0\n\n\u6b63\u6587\u7684\u7b2c\u4e00\u7ae0\n\n### \u7b2c\u4e8c\u7ae0\n\n\u6b63\u6587\u7684\u7b2c\u4e8c\u7ae0\n
# \u524d\u4f20\n\n## \u4e66\u7c4d\u4fe1\u606f\n\n\u4ee5\u4e0b\u662f\u4e66\u7c4d\u7684\u4ecb\u7ecd\u4e0e\u63cf\u8ff0\n\n---\n\n## \u7b2c\u4e00\u90e8\n\n\u7b2c\u4e00\u90e8\u7684\u63cf\u8ff0\n\n### \u7b2c\u4e00\u7ae0\n\n\u6b63\u6587\u7684\u7b2c\u4e00\u7ae0\n\n### \u7b2c\u4e8c\u7ae0\n\n\u6b63\u6587\u7684\u7b2c\u4e8c\u7ae0\n

\u751f\u6210\u7535\u5b50\u4e66\uff1a

pandoc -o test.epub part01.md part02.md part03.md part04.md\n

\u5b9e\u9a8c\u6210\u54c1\u793a\u610f\u56fe\u5982\u4e0b\uff1a

","tags":["\u6742\u8c08","Pandoc","markdown","Epub","\u6559\u7a0b"]},{"location":"essay/main/opencc/","title":"\u4f7f\u7528 OpenCC \u8fdb\u884c\u7b80\u7e41\u4e2d\u6587\u8f6c\u6362","text":"

\u5f00\u653e\u4e2d\u6587\u8f6c\u6362\uff08OpenCC\uff0c\u5f00\u653e\u4e2d\u6587\u8f6c\u6362\uff09\u662f\u4e00\u4e2a\u5f00\u6e90\u9879\u76ee\uff0c\u7528\u4e8e\u7e41\u4f53\u4e2d\u6587\u3001\u7b80\u4f53\u4e2d\u6587\u548c\u65e5\u6587\u6c49\u5b57\uff08Shinjitai\uff09\u4e4b\u95f4\u7684\u8f6c\u6362\u3002\u652f\u6301\u4e2d\u56fd\u5927\u9646\u3001\u53f0\u6e7e\u548c\u9999\u6e2f\u4e4b\u95f4\u7684\u5b57\u7b26\u7ea7\u548c\u77ed\u8bed\u7ea7\u8f6c\u6362\u3001\u5b57\u7b26\u53d8\u4f53\u8f6c\u6362\u548c\u5730\u533a\u6210\u8bed\u3002\u8fd9\u4e0d\u662f\u666e\u901a\u8bdd\u548c\u7ca4\u8bed\u7b49\u4e4b\u95f4\u7684\u7ffb\u8bd1\u5de5\u5177\u3002

","tags":["\u6742\u8c08","openCC"]},{"location":"essay/main/opencc/#_1","title":"\u5b89\u88c5","text":"

\u5728 Tumbleweed \u4e0a\u5b89\u88c5 OpenCC

sudo zypper in opencc -y\n
","tags":["\u6742\u8c08","openCC"]},{"location":"essay/main/opencc/#_2","title":"\u4f7f\u7528","text":"

\u793a\u4f8b\uff1a

bh@c004-h1:~> ls && cat \u7e41\u4f53\u4e2d\u6587.txt\n\u7e41\u4f53\u4e2d\u6587.txt  \u516c\u5171  \u6a21\u677f  \u89c6\u9891  \u56fe\u7247  \u6587\u6863  \u4e0b\u8f7d  \u97f3\u4e50  \u684c\u9762  Applications  BT-Network\nOpenCC \u662f\u4e00\u500b\u958b\u6e90\u9805\u76ee\uff0c\u7528\u65bc\u7e41\u9ad4\u4e2d\u6587\u3001\u7c21\u9ad4\u4e2d\u6587\u548c\u65e5\u6587\u6f22\u5b57\uff08Shinjitai\uff09\u4e4b\u9593\u7684\u8f49\u63db\u3002\u652f\u6301\u4e2d\u570b\u5927\u9678\u3001\u81fa\u7063\u548c\u9999\u6e2f\u4e4b\u9593\u7684\u5b57\u7b26\u7d1a\u548c\u77ed\u8a9e\u7d1a\u8f49\u63db\u3001\u5b57\u7b26\u8b8a\u9ad4\u8f49\u63db\u548c\u5730\u5340\u6210\u8a9e\u3002\u9019\u4e0d\u662f\u666e\u901a\u8a71\u548c\u7cb5\u8a9e\u7b49\u4e4b\u9593\u7684\u7ffb\u8b6f\u5de5\u5177\u3002\nbh@c004-h1:~> opencc -i \u7e41\u4f53\u4e2d\u6587.txt -c t2s -o \u7b80\u4f53\u4e2d\u6587.txt\nbh@c004-h1:~> cat \u7b80\u4f53\u4e2d\u6587.txt\nOpenCC \u662f\u4e00\u4e2a\u5f00\u6e90\u9879\u76ee\uff0c\u7528\u4e8e\u7e41\u4f53\u4e2d\u6587\u3001\u7b80\u4f53\u4e2d\u6587\u548c\u65e5\u6587\u6c49\u5b57\uff08Shinjitai\uff09\u4e4b\u95f4\u7684\u8f6c\u6362\u3002\u652f\u6301\u4e2d\u56fd\u5927\u9646\u3001\u53f0\u6e7e\u548c\u9999\u6e2f\u4e4b\u95f4\u7684\u5b57\u7b26\u7ea7\u548c\u77ed\u8bed\u7ea7\u8f6c\u6362\u3001\u5b57\u7b26\u53d8\u4f53\u8f6c\u6362\u548c\u5730\u533a\u6210\u8bed\u3002\u8fd9\u4e0d\u662f\u666e\u901a\u8bdd\u548c\u7ca4\u8bed\u7b49\u4e4b\u95f4\u7684\u7ffb\u8bd1\u5de5\u5177\u3002\n

\u5728\u5982\u4e0a\u7684\u793a\u4f8b\u4e2d\uff0c\u6211\u5c06\u7e41\u4f53\u4e2d\u6587\u6587\u672c\u5199\u5165\u5230\u540d\u4e3a \u7e41\u4f53\u4e2d\u6587.txt \u7684\u6587\u4ef6\u4e2d\uff0c\u7136\u540e\u4f7f\u7528 opencc \u8bfb\u53d6\u8be5\u6587\u4ef6\uff0c\u5e76\u8bfb\u53d6\u914d\u7f6e\u6587\u4ef6 t2s \u8fdb\u884c\u8f6c\u6362\uff0c\u518d\u8f93\u51fa\u4e00\u4e2a\u540d\u4e3a \u7b80\u4f53\u4e2d\u6587.txt \u7684\u6587\u4ef6\u3002

","tags":["\u6742\u8c08","openCC"]},{"location":"essay/main/opencc/#_3","title":"\u914d\u7f6e\u6587\u4ef6","text":"

\u6709\u5173 opencc \u53ef\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u5982\u4e0b\uff1a

\u540d\u79f0 \u7528\u9014 s2t.json \u7b80\u4f53\u5230\u7e41\u4f53 t2s.json \u7e41\u4f53\u5230\u7b80\u4f53 s2tw.json \u7b80\u4f53\u5230\u53f0\u6e7e\u6b63\u4f53 tw2s.json \u53f0\u6e7e\u6b63\u4f53\u5230\u7b80\u4f53 s2hk.json \u7b80\u4f53\u5230\u9999\u6e2f\u7e41\u4f53 hk2s.json \u9999\u6e2f\u7e41\u4f53\u5230\u7b80\u4f53 s2twp.json \u7b80\u4f53\u5230\u7e41\u4f53\uff08\u53f0\u6e7e\u6b63\u4f53\u6807\u51c6\uff09\u5e76\u8f6c\u6362\u4e3a\u53f0\u6e7e\u5e38\u7528\u8bcd\u6c47 tw2sp.json \u7e41\u4f53\uff08\u53f0\u6e7e\u6b63\u4f53\u6807\u51c6\uff09\u5230\u7b80\u4f53\u5e76\u8f6c\u6362\u4e3a\u4e2d\u56fd\u5927\u9646\u5e38\u7528\u8bcd\u6c47 t2tw.json \u7e41\u4f53\uff08OpenCC \u6807\u51c6\uff09\u5230\u53f0\u6e7e\u6b63\u4f53 hk2t.json \u9999\u6e2f\u7e41\u4f53\u5230\u7e41\u4f53\uff08OpenCC \u6807\u51c6\uff09 t2hk.json \u7e41\u4f53\uff08OpenCC \u6807\u51c6\uff09\u5230\u9999\u6e2f\u7e41\u4f53 t2jp.json \u7e41\u4f53\uff08OpenCC \u6807\u51c6\uff0c\u65e7\u5b57\u4f53\uff09\u5230\u65e5\u6587\u65b0\u5b57\u4f53 jp2t.json \u65e5\u6587\u65b0\u5b57\u4f53\u5230\u7e41\u4f53\uff08OpenCC \u6807\u51c6\uff0c\u65e7\u5b57\u4f53\uff09 tw2t.json \u53f0\u6e7e\u6b63\u4f53\u5230\u7e41\u4f53\uff08OpenCC \u6807\u51c6\uff09","tags":["\u6742\u8c08","openCC"]},{"location":"essay/main/play-minecraft/","title":"\u5728 openSUSE \u4e0a\u6e38\u73a9 Minecraft","text":"","tags":["\u6742\u8c08","Minecraft","openSUSE"]},{"location":"essay/main/play-minecraft/#_1","title":"\u51c6\u5907","text":"

\u4f7f\u7528\u7684\u542f\u52a8\u5668\u662f MultiMC \u53d1\u5e03\u7684 Binary Tarball (64-bit) \u7248\u672c\uff0c\u5c06\u6587\u4ef6\u89e3\u538b\u81f3 ~/bin/mc\u3002

","tags":["\u6742\u8c08","Minecraft","openSUSE"]},{"location":"essay/main/play-minecraft/#jdk","title":"JDK","text":"

openSUSE \u9ed8\u8ba4\u5b89\u88c5\u7684 LibreOffice \u4f1a\u4f9d\u8d56 OpenJDK 21\u3002\u4e00\u822c\u4e0d\u9700\u8981\u5b89\u88c5\u989d\u5916\u7684 JDK\u3002

","tags":["\u6742\u8c08","Minecraft","openSUSE"]},{"location":"essay/main/play-minecraft/#desktop","title":"desktop \u6587\u4ef6","text":"

\u4f7f\u7528 DRI_PRIME=1 \u53d8\u91cf\u8ba9 Minecraft \u5728 GPU \u4e0b\u8fd0\u884c\u3002

[Desktop Entry]\nComment[zh_CN]=Minecraft launcher\nCategories=Game\nComment=Minecraft launcher\nExec=env DRI_PRIME=1 /home/poplar/bin/mc/MultiMC\nGenericName[zh_CN]=MultiMC\nGenericName=MultiMC\nIcon=minecraft\nMimeType=\nName[zh_CN]=MultiMC\nName=MultiMC\nPath=/home/poplar/bin/mc\nStartupNotify=true\nTerminal=false\nTerminalOptions=\nType=Application\nX-KDE-SubstituteUID=false\nX-KDE-Username=\n
","tags":["\u6742\u8c08","Minecraft","openSUSE"]},{"location":"essay/main/play-minecraft/#_2","title":"\u542f\u52a8\u5668\u914d\u7f6e","text":"
  • \u8bed\u8a00\uff1a\u7b80\u4f53\u4e2d\u6587
  • JDK\uff1a
    • Java \u8def\u5f84\uff1a\u4f7f\u7528\u7cfb\u7edf\u7684 JDK
    • \u6700\u5927\u5185\u5b58\u5206\u914d\u5927\u5c0f\uff1a4096MiB
  • Minecraft\uff1a\u5c06\u7a97\u53e3\u5927\u5c0f\u8c03\u6574\u4e3a 1920x1080
  • \u4ee3\u7406\u670d\u52a1\u5668\uff1a
    • HTTP
    • 127.0.0.1:7890
  • \u8d26\u6237\uff1aMicrosoft \u8d26\u6237
","tags":["\u6742\u8c08","Minecraft","openSUSE"]},{"location":"essay/main/play-minecraft/#_3","title":"\u5b89\u88c5\u6e38\u620f","text":"

MultiMC \u4ee5\u5b9e\u4f8b\uff08instance\uff09\u4e3a\u5355\u4f4d\u7ba1\u7406 Minecraft \u6e38\u620f\u672c\u4f53\u3002\u9ed8\u8ba4\u5b89\u88c5\u7684\u7248\u672c\u662f 1.20.6\u3002

\u6e38\u620f\u672c\u4f53\u5b58\u653e\u5728 ~/bin/mc/instances/<\u7248\u672c\u540d\u79f0>/.minecraft \u4e2d\u3002

","tags":["\u6742\u8c08","Minecraft","openSUSE"]},{"location":"essay/main/play-minecraft/#mod","title":"mod","text":"
  • Fabric
  • Fabric API
  • Iris Shader
  • Sodium
  • Lithium
  • Journeymap
","tags":["\u6742\u8c08","Minecraft","openSUSE"]},{"location":"essay/main/play-minecraft/#_4","title":"\u5149\u5f71\u5305","text":"

\u9ed8\u8ba4\u9009\u62e9\uff1aComplementary Shaders - Reimagined

","tags":["\u6742\u8c08","Minecraft","openSUSE"]},{"location":"essay/main/play-minecraft/#_5","title":"\u5916\u90e8\u94fe\u63a5","text":"

\u4e00\u4e9b\u6709\u7528\u7684\u5916\u90e8\u94fe\u63a5\uff1a

  • MC \u767e\u79d1
  • MCBBS
  • Minecraft - Curseforge
  • Minecraft Wiki
  • Minecraft Data Packs | Planet Minecraft Community
","tags":["\u6742\u8c08","Minecraft","openSUSE"]},{"location":"essay/main/python-embed/","title":"\u5d4c\u5165\u5f0f python","text":"

\u9996\u5148\uff0c\u4ece https://www.python.org/downloads/windows/ \u4e0b\u8f7d python \u7684 Windows embeddable package\u3002

\u7136\u540e\u5c06\u4e0b\u8f7d\u7684\u538b\u7f29\u5305\uff08\u5982 python-3.12.5-embed-amd64.zip\uff09\u89e3\u538b\u5230\u67d0\u4e2a\u6587\u4ef6\u5939\uff0c\u5982 D:\\software\\lib\\python\u3002

","tags":["\u6742\u8c08","python","Windows"]},{"location":"essay/main/python-embed/#pip","title":"\u5b89\u88c5 pip","text":"

\u4e0b\u8f7d get-pip-py \u5230\u76f8\u540c\u7684\u6587\u4ef6\u5939\u3002

\u7136\u540e\u7f16\u8f91\u6b64\u6587\u4ef6\u5939\u4e2d\u7684 python312._pth\uff0c\u5c06\u5176\u4fee\u6539\u4e3a\uff1a

python312.zip\n.\n\n# Uncomment to run site.main() automatically\nimport site\n

\u5728\u7ec8\u7aef\u4e2d\u5b89\u88c5 pip\uff1a

D:\\software\\lib\\python\\python.exe get-pip.py\n
","tags":["\u6742\u8c08","python","Windows"]},{"location":"essay/main/python-embed/#path","title":"\u7f16\u8f91 PATH","text":"

\u5728 Windows \u7684\u9ad8\u7ea7\u7cfb\u7edf\u8bbe\u7f6e\u4e2d\uff0c\u5411 PATH \u53d8\u91cf\u6dfb\u52a0

  • D:\\software\\lib\\python\\Scripts
  • D:\\software\\lib\\python

\u7136\u540e\u5c31\u80fd\u5728 vscode \u4e2d\u8c03\u7528 pip \u4e86:

PS D:\\myfiles\\misc\\git\\whiteboard> pip --version\npip 24.2 from D:\\software\\lib\\python\\Lib\\site-packages\\pip (python 3.12)\n
","tags":["\u6742\u8c08","python","Windows"]},{"location":"essay/main/python-embed/#_1","title":"\u53c2\u8003","text":"
  • codemee - Windows \u4e0b\u88fd\u4f5c\u53ef\u651c\u5f0f Python \u7684\u65b9\u6cd5
","tags":["\u6742\u8c08","python","Windows"]},{"location":"essay/main/qbittorrent-conf/","title":"qBittorrent & PeerBanHelper \u914d\u7f6e\u5907\u5fd8\u5f55","text":"

\u8bf4\u660e

  • \u8fd9\u662f\u6211\u4e2a\u4eba\u4f7f\u7528\u7684 qBittorrent \u914d\u7f6e\u3002
    • \u76f8\u5173\uff1aqBittorrent \u53c2\u6570\u8be6\u7ec6\u8bbe\u7f6e\u6559\u7a0b
  • \u672c\u6587\u901a\u8fc7 systemctl --user \u8fdb\u884c\u7ba1\u7406\u670d\u52a1\uff1b\u53e6\u89c1 Systemd/User - Archlinux wiki\u3002
","tags":["\u6742\u8c08","qBittorrent","PeerBanHelper"]},{"location":"essay/main/qbittorrent-conf/#_1","title":"\u5b89\u88c5","text":"
sudo zypper in qbittorrent\n
","tags":["\u6742\u8c08","qBittorrent","PeerBanHelper"]},{"location":"essay/main/qbittorrent-conf/#_2","title":"\u5f00\u673a\u542f\u52a8","text":"

\u5728 KDE \u7684\u7cfb\u7edf\u8bbe\u7f6e\u4e2d\uff0c\u628a qbittorrent \u6dfb\u52a0\u81f3\u5f00\u673a\u542f\u52a8\u7684\u5217\u8868\u4e2d\u3002

","tags":["\u6742\u8c08","qBittorrent","PeerBanHelper"]},{"location":"essay/main/qbittorrent-conf/#_3","title":"\u76f8\u5173\u6587\u4ef6","text":"

\u914d\u7f6e\u6587\u4ef6\uff1a

  • ~/.config/qBittorrent
  • ~/.local/share/qBittorrent

\u4e0b\u8f7d\u7684\u6587\u4ef6\uff1a

poplar@c004-h1:~> tree /home/bt/network -L 1\n/home/bt/network\n\u251c\u2500\u2500 downloads1\n\u251c\u2500\u2500 downloads2\n\u251c\u2500\u2500 misc\n\u251c\u2500\u2500 torrents1\n\u2514\u2500\u2500 torrents2\n\n6 directories, 0 files\n
","tags":["\u6742\u8c08","qBittorrent","PeerBanHelper"]},{"location":"essay/main/qbittorrent-conf/#_4","title":"\u7528\u6237\u754c\u9762","text":"
  • \u5728\u83dc\u5355\u680f\u7684 \u89c6\u56fe \u2192 \u65e5\u5fd7 \u4e2d\uff0c\u52fe\u9009\u5168\u90e8\u7c7b\u578b\u7684\u65e5\u5fd7\u4fe1\u606f\u3002
  • \u8c03\u6574\u5217\uff1a
    • \u540d\u79f0
    • \u9009\u5b9a\u5927\u5c0f
    • \u8fdb\u5ea6
    • \u72b6\u6001
    • \u505a\u79cd\u6570
    • \u7528\u6237
    • \u4e0b\u8f7d\u901f\u5ea6
    • \u4e0a\u4f20\u901f\u5ea6
    • \u5269\u4f59\u65f6\u95f4
    • \u6bd4\u7387
    • \u6807\u7b7e
    • \u672c\u6b21\u4f1a\u8bdd\u4e0a\u4f20
    • \u6700\u8fd1\u6d3b\u52a8
  • \u5206\u7c7b\uff1a
    • \u5b8c\u6574\u4e0b\u8f7d\uff1a/home/bt/network/downloads1\uff08\u9ed8\u8ba4\u5206\u7c7b\uff09
    • \u975e\u5b8c\u6574\u4e0b\u8f7d\uff1a/home/bt/network/downloads2
    • \u975e\u5206\u7c7b\uff1a/home/bt/network/misc
  • \u6807\u7b7e\uff1a
    • 1 \u7c7b\uff08\u957f\u671f\u505a\u79cd\uff09
    • 2 \u7c7b\uff08\u77ed\u671f\u505a\u79cd\uff09
    • 3 \u7c7b\uff08\u4e34\u65f6\u4e0b\u8f7d\uff09
    • \u7535\u5f71
    • \u52a8\u753b
    • \u5176\u4ed6
    • \u7279\u5178
    • \u672a\u8bfb
    • \u65b0\u756a
    • \u97f3\u4e50
    • OVA
","tags":["\u6742\u8c08","qBittorrent","PeerBanHelper"]},{"location":"essay/main/qbittorrent-conf/#_5","title":"\u8f6f\u4ef6\u8bbe\u7f6e","text":"

\u5728\u9ed8\u8ba4\u914d\u7f6e\u7684\u57fa\u7840\u4e0a

","tags":["\u6742\u8c08","qBittorrent","PeerBanHelper"]},{"location":"essay/main/qbittorrent-conf/#_6","title":"\u884c\u4e3a","text":"

\u4fee\u6539\uff1a

  • \u542f\u52a8\u65f6\u7a97\u53e3\uff1a\u9690\u85cf
  • \u5728\u901a\u77e5\u533a\u57df\u663e\u793a qBittorrent
    • \u6700\u5c0f\u5316 qBittorrent \u5230\u901a\u77e5\u533a\u57df
    • \u5173\u95ed qBittorrent \u5230\u901a\u77e5\u533a\u57df
  • \u6258\u76d8\u56fe\u8868\u6837\u5f0f\uff1a\u5355\u8272\uff08\u6df1\u8272\u4e3b\u9898\uff09
","tags":["\u6742\u8c08","qBittorrent","PeerBanHelper"]},{"location":"essay/main/qbittorrent-conf/#_7","title":"\u4e0b\u8f7d","text":"

\u4fee\u6539\uff1a

  • \u4e3a\u6240\u6709\u6587\u4ef6\u9884\u5206\u914d\u78c1\u76d8\u7a7a\u95f4
  • \u9ed8\u8ba4 Torrent \u7ba1\u7406\u6a21\u5f0f\uff1a\u81ea\u52a8
  • \u9ed8\u8ba4\u4fdd\u5b58\u4f4d\u7f6e\uff1a/home/bt/network/misc
","tags":["\u6742\u8c08","qBittorrent","PeerBanHelper"]},{"location":"essay/main/qbittorrent-conf/#_8","title":"\u8fde\u63a5","text":"

\u4fee\u6539\uff1a

  • \u7aef\u53e3\uff1a\u5927\u4e8e 10000 \u7684\u4efb\u610f\u7aef\u53e3
  • \u5168\u5c40\u6700\u5927\u8fde\u63a5\u6570\uff1a800
  • \u6bcf\u4e2a torrent \u6700\u5927\u8fde\u63a5\u6570\uff1a200

\u4e0d\u4f7f\u7528\uff1a

  • \u4f7f\u7528\u6211\u7684\u8def\u7531\u5668 UPnP / NAT-PMP \u7aef\u53e3\u8f6c\u53d1\uff08\u5728\u8def\u7531\u5668\u4e0a\u53e6\u5916\u8bbe\u7f6e\u7aef\u53e3\u8f6c\u53d1\uff09
  • \u5168\u5c40\u4e0a\u4f20\u7a97\u53e3\u9650\u5236
  • \u6bcf\u4e2a torrent \u4e0a\u4f20\u7a97\u53e3\u9650\u5236
","tags":["\u6742\u8c08","qBittorrent","PeerBanHelper"]},{"location":"essay/main/qbittorrent-conf/#_9","title":"\u901f\u5ea6","text":"

\u4fee\u6539\uff1a

  • \u5bf9 \u00b5TP \u534f\u8bae\u8fdb\u884c\u901f\u5ea6\u9650\u5236
  • \u5bf9\u4f20\u9001\u603b\u5f00\u9500\u8fdb\u884c\u901f\u5ea6\u9650\u5236
  • \u5bf9\u672c\u5730\u7f51\u7edc\u7528\u6237\u8fdb\u884c\u901f\u5ea6\u9650\u5236
","tags":["\u6742\u8c08","qBittorrent","PeerBanHelper"]},{"location":"essay/main/qbittorrent-conf/#bittorret","title":"BitTorret","text":"

\u4fee\u6539\uff1a

  • \u81ea\u52a8\u9644\u52a0\u8fd9\u4e9b tracker \u5230\u65b0\u4e0b\u8f7d
    • https://trackerslist.com
","tags":["\u6742\u8c08","qBittorrent","PeerBanHelper"]},{"location":"essay/main/qbittorrent-conf/#webui","title":"WebUI","text":"

\u4fee\u6539\uff1a

  • Web \u7528\u6237\u754c\u9762\uff08\u8fdc\u7a0b\u63a7\u5236\uff09
  • \u5bf9\u672c\u5730\u4e3b\u673a\u4e0a\u7684\u5ba2\u6237\u7aef\u8df3\u8fc7\u8eab\u4efd\u9a8c\u8bc1
","tags":["\u6742\u8c08","qBittorrent","PeerBanHelper"]},{"location":"essay/main/qbittorrent-conf/#_10","title":"\u9ad8\u7ea7","text":"

\u4fee\u6539\uff1a

  • \u7f51\u7edc\u63a5\u53e3\uff1awlp6s0\uff08\u65e0\u7ebf\u7f51\u5361\uff09
  • \u4fdd\u5b58\u6062\u590d\u6570\u636e\u7684\u95f4\u9694\uff1a60 \u5206\u949f
  • \u5f02\u6b65 I/O \u7ebf\u7a0b\u6570\uff1a64\uff08AMD 7840H\uff09
  • \u6587\u4ef6\u6c60\u5927\u5c0f\uff1a400
  • \u6821\u9a8c\u65f6\u5185\u5b58\u4f7f\u7528\u6269\u589e\u91cf\uff1a256 MiB
  • \u5408\u5e76\u8bfb\u5199
  • \u53d1\u9001\u5206\u5757\u4e0a\u4f20\u5efa\u8bae
  • \u7981\u6b62\u8fde\u63a5\u5230\u7279\u6743\u7aef\u53e3\u4e0a\u7684 peer
","tags":["\u6742\u8c08","qBittorrent","PeerBanHelper"]},{"location":"essay/main/qbittorrent-conf/#peerbanhelper","title":"\u90e8\u7f72 Peerbanhelper","text":"

\u83b7\u53d6 PeerBanHelper.jar \u548c libraries.tar.gz\uff1a

  • \u4e0b\u8f7d\u5730\u5740\uff1ahttps://github.com/Ghost-chu/PeerBanHelper
  • \u6587\u6863\uff1ahttps://pbh-btn.github.io/pbh-docs/
poplar@c004-h1:~> tree ~/bin/pbh -L 1\n/home/poplar/bin/pbh\n\u251c\u2500\u2500 data\n\u251c\u2500\u2500 key.txt\n\u251c\u2500\u2500 latest.log -> /home/poplar/bin/pbh/data/logs/latest.log\n\u251c\u2500\u2500 libraries\n\u251c\u2500\u2500 pbh.service\n\u251c\u2500\u2500 PeerBanHelper.jar\n\u251c\u2500\u2500 qb-nox.service\n\u2514\u2500\u2500 test-start.sh\n\n3 directories, 6 files\n

test-start.sh\uff1a

#!/bin/sh\n#\u6d4b\u8bd5\u542f\u52a8\njava -Xmx512M -XX:+UseG1GC -XX:+UseStringDeduplication -XX:+ShrinkHeapInSteps -jar PeerBanHelper.jar nogui\n

pbh.service\uff1a

[Unit]\nDescription=Start PeerBanHelper Service\n\n[Service]\nExecStart=/usr/bin/java -jar -Xmx512M -XX:+UseG1GC -XX:+UseStringDeduplication -XX:+ShrinkHeapInSteps PeerBanHelper.jar nogui\nType=simple\nWorkingDirectory=/home/poplar/bin/pbh/\n\n[Install]\nWantedBy=default.target\n
","tags":["\u6742\u8c08","qBittorrent","PeerBanHelper"]},{"location":"essay/main/qbittorrent-conf/#_11","title":"\u914d\u7f6e\u6587\u4ef6","text":"

\u4f7f\u7528 test-start.sh \u542f\u52a8\u670d\u52a1\uff0c\u5728 http://127.0.0.1:8080 \u751f\u6210 token \u5e76\u6dfb\u52a0 qBittorrent \u4e0b\u8f7d\u5668\u3002\u7136\u540e\u5173\u95ed\u811a\u672c\u3002

\u4fee\u6539 ~/bin/pbh/data/config/config.yml\uff1a

  • language\uff1a\u6539\u4e3a zh_CN
  • btn\uff1a\u6539\u4e3a true\uff0c\u5e76\u586b\u5165 app-id \u548c app-secret
  • ip-database\uff1a\u586b\u5165\u7533\u8bf7\u7684 account-id \u548c license-key
  • proxy\uff1a\u5c06 setting: 0 \u6539\u4e3a setting: 2\uff0c\u5e76\u68c0\u67e5\u670d\u52a1\u5668\u5730\u5740\u548c\u7aef\u53e3\u662f\u5426\u6b63\u786e\u3002

\u7136\u540e\u4f7f\u7528 pbh \u6ce8\u518c\u5e76\u91cd\u8f7d PeerBanHelper \u670d\u52a1\u3002

","tags":["\u6742\u8c08","qBittorrent","PeerBanHelper"]},{"location":"essay/main/qbittorrent-conf/#_12","title":"\u96c6\u6210\u7ba1\u7406\u811a\u672c","text":"

\u7528\u4e8e\u7ba1\u7406 PeerBanHelper \u7684\u811a\u672c pbh\uff1a

#!/bin/sh\n#\u672c\u811a\u672c\u7528\u4e8e Peerbanhelper \u7684\u65e5\u5e38\u7ef4\u62a4\n\nexport PBH_DIR=/home/poplar/bin/pbh\n#PeerBanHelper jar \u6587\u4ef6\u7684\u4e3b\u76ee\u5f55\nexport PBH_DIR_U=/home/poplar/Downloads\n#PeerBanHelper jar \u65b0\u7248\u672c\u6587\u4ef6\u7684\u9ed8\u8ba4\u5b58\u653e\u8def\u5f84\n\nLOG_FILE=/home/poplar/bin/pbh/data/logs/*.log.gz\n\nwhile true; do\n    printf -- '-%0.s' {1..100} && echo\n    printf 'You can use the PeerBanHelper maintenance script for:\\n\\n'\n    printf 'A - Set up systemd services\\n'\n    printf 'B - Start systemd service\\n'\n    printf 'C - Stop systemd service\\n\\n'\n    printf 'D - Update PeerBanHelper\\n'\n    printf 'E - Degrade PeerBanHelper\\n'\n    printf 'F - Delete unused jar and logs\\n'\n    printf 'G - Read logs of PeerBanHelper\\n\\n'\n    printf 'H - Clear terminal output\\n'\n    printf 'Q - Quit\\n\\n'\n    printf '==> '\n    read answer\n\n    if [ \"$answer\" = \"A\" ] || [ \"$answer\" = \"a\" ]; then\n    #\u6ce8\u518c\u670d\u52a1\n        mkdir -p ~/.config/systemd/user\n        if [ -f $PBH_DIR/pbh.service ]; then\n            printf 'Found pbh.service file.\\n'\n            cp $PBH_DIR/pbh.service ~/.config/systemd/user\n            systemctl daemon-reload --user\n            systemctl enable --user pbh\n            systemctl status --user pbh | grep \"Loaded\"\n            #\u6ce8\u518c PeerBanHelper\n        else\n            printf 'ERROR: pbh.service not found!\\n'\n        fi\n\n    elif [ \"$answer\" = \"B\" ] || [ \"$answer\" = \"b\" ]; then\n    #\u542f\u52a8\u670d\u52a1\n        systemctl start --user pbh\n        systemctl status --user pbh | grep \"Active\"\n\n    elif [ \"$answer\" = \"C\" ] || [ \"$answer\" = \"c\" ]; then\n    #\u5173\u95ed\u670d\u52a1\n        systemctl stop --user pbh\n        systemctl status --user pbh | grep \"Active\"\n\n    elif [ \"$answer\" = \"D\" ] || [ \"$answer\" = \"d\" ]; then\n    #\u66f4\u65b0 Peerbanhelper\n        systemctl stop --user pbh\n        systemctl status --user pbh | grep \"Active\"\n        #\u670d\u52a1\u4e2d\u6b62\n        if [ -f $PBH_DIR_U/PeerBanHelper*.zip ]; then\n            cd $PBH_DIR_U\n            7z x PeerBanHelper*.zip\n            rm -r $PBH_DIR/libraries\n            printf 'Delete old libraries: OK!\\n'\n            mv $PBH_DIR_U/PeerBanHelper/libraries $PBH_DIR\n            printf 'Update libraries: OK!\\n'\n            #\u66f4\u65b0\u5e93\n            mv -f $PBH_DIR/PeerBanHelper.jar $PBH_DIR/PeerBanHelper.jar.old\n            printf 'Backup files: OK!\\n'\n            mv $PBH_DIR_U/PeerBanHelper/PeerBanHelper.jar $PBH_DIR\n            printf 'Update files: OK!\\n'\n            #\u66f4\u65b0 jar \u6587\u4ef6\n            systemctl restart --user pbh\n            systemctl status --user pbh | grep \"Active\"\n            rm -r $PBH_DIR_U/PeerBanHelper\n        else\n            printf 'ERROR: PeerBanHelper*.zip not found!\\n'\n        fi\n\n    elif [ \"$answer\" = \"E\" ] || [ \"$answer\" = \"e\" ]; then\n    #\u964d\u7ea7\u66f4\u65b0 Peerbanhelper\n        if [ -f $PBH_DIR/PeerBanHelper.jar.old ]; then\n            systemctl stop --user pbh\n            systemctl status --user pbh | grep \"Active\"\n            #\u670d\u52a1\u4e2d\u6b62\n            mv -f $PBH_DIR/PeerBanHelper.jar $PBH_DIR/PeerBanHelper.jar.error\n            mv -f $PBH_DIR/PeerBanHelper.jar.old $PBH_DIR/PeerBanHelper.jar\n            printf 'Downgrade: OK!\\n'\n            #\u66f4\u6362\u65e7\u7248\u6587\u4ef6\n            systemctl restart --user pbh\n            systemctl status --user pbh | grep \"Active\"\n        else\n            printf 'ERROR: PeerBanHelper.jar.old not found!\\n'\n        fi\n\n    elif [ \"$answer\" = \"F\" ] || [ \"$answer\" = \"f\" ]; then\n    #\u5220\u9664\u6709\u95ee\u9898\u7684\u65e7\u7248\u6587\u4ef6\u548c\u65e5\u5fd7\n        printf 'Start deleting files...\\n'\n        rm $PBH_DIR/data/logs/*.log.gz\n        printf 'Remove archive logs: OK!\\n'\n        if [ -f $PBH_DIR/PeerBanHelper.jar.error ]; then\n        #\u5220\u9664 PeerBanHelper.jar.error\n            rm $PBH_DIR/PeerBanHelper.jar.error\n            printf 'Remove PeerBanHelper.jar.error: OK!\\n'\n        else\n            printf 'ERROR: PeerBanHelper.jar.error not found!\\n'\n        fi\n\n    elif [ \"$answer\" = \"G\" ] || [ \"$answer\" = \"g\" ]; then\n    #\u8bfb\u53d6 Peerbanhelper \u65e5\u5fd7\n        tail -n 30 $PBH_DIR/data/logs/latest.log\n        #\u8bfb\u53d6\u6700\u65b0\u7684 30 \u6761\u65e5\u5fd7\n        #\u4e5f\u53ef\u4ee5\u4f7f\u7528\uff1a\n        #journalctl --user -u pbh\n\n    elif [ \"$answer\" = \"H\" ] || [ \"$answer\" = \"h\" ]; then\n    #\u6e05\u7406\u5e76\u9000\u51fa\n        clear\n\n    elif [ \"$answer\" = \"Q\" ] || [ \"$answer\" = \"q\" ]; then\n    #\u9000\u51fa\n        echo \"The script task has ended.\"\n        exit\n\n    else\n    #\u91cd\u65b0\u5f00\u59cb\u5faa\u73af\n        echo \"ERROR: Invalid input!\"\n        continue\n\n    fi\n\ndone\n
","tags":["\u6742\u8c08","qBittorrent","PeerBanHelper"]},{"location":"essay/note/0-about/","title":"\u5173\u4e8e","text":"

\u8be5\u4efd\u7b14\u8bb0\u7684\u4e3b\u8981\u5185\u5bb9\u662f\u8bb0\u5f55 openSUSE Tumbleweed \u7684\u5b89\u88c5\u4e0e\u914d\u7f6e\u4fe1\u606f\u3002

  • \u7cfb\u7edf\u4fe1\u606f
Operating System: openSUSE Tumbleweed 20241105\nKDE Plasma Version: 6.2.2\nKDE Frameworks Version: 6.7.0\nQt Version: 6.8.0\nKernel Version: 6.11.6-2-default (64-bit)\nGraphics Platform: Wayland\nProcessors: 16 \u00d7 AMD Ryzen 7 7840H w/ Radeon 780M Graphics\nMemory: 14.8 GiB of RAM\nGraphics Processor: AMD Radeon 780M\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/1-preparation/","title":"\u51c6\u5907\u5de5\u4f5c","text":"","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/1-preparation/#iso","title":"\u4e0b\u8f7d\u3001\u6821\u9a8c ISO \u6587\u4ef6","text":"

\u4f7f\u7528 iso-m \u547d\u4ee4\u4e0b\u8f7d\u548c\u6821\u9a8c\u6587\u4ef6\u3002

\u8be5\u547d\u4ee4\u8be6\u89c1 Shell \u811a\u672c\u4e0e\u914d\u7f6e\u6587\u4ef6\u3002

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/1-preparation/#opensuse","title":"openSUSE \u9879\u76ee\u7684\u516c\u94a5","text":"
wget https://download.opensuse.org/tumbleweed/repo/oss/gpg-pubkey-29b700a4-62b07e22.asc\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/1-preparation/#iso_1","title":"\u70e7\u5f55 ISO \u6587\u4ef6","text":"

\u4f7f\u7528 ventoy \u521b\u5efa\u53ef\u542f\u52a8\u5b89\u88c5\u4ecb\u8d28\uff0c\u542f\u52a8\u6a21\u5f0f\u4e3a\u6b63\u5e38\u542f\u52a8\u3002

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/1-preparation/#_2","title":"\u5207\u6362\u5f15\u5bfc\u542f\u52a8\u9879","text":"

\u5173\u673a\u540e\uff0c\u6309\u4e0b\u5f00\u673a\u952e\uff0c\u540c\u65f6\u6309 Esc \u8fdb\u5165 BIOS \u754c\u9762\uff0c\u5207\u6362\u542f\u52a8\u9879\u3002

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/1-preparation/#_3","title":"\u5907\u4efd\u6587\u4ef6","text":"

\u4f7f\u7528 LiveCD \u73af\u5883\u5c06\u65e7\u7528\u6237\u6587\u4ef6\u5939 poplar \u91cd\u547d\u540d poplar.old\u3002

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/2-installation/","title":"\u5b89\u88c5\u7cfb\u7edf","text":"

\u5982\u679c\u51fa\u73b0 CJK \u5b57\u7b26\u4e71\u7801\uff0c\u5219\u8bed\u8a00\u9009\u62e9 en_US\u3002\u6216\u8005\u6309 E \u7f16\u8f91 grub \u6761\u76ee\uff0c\u5728 linux \u6240\u5728\u884c\u7684\u672b\u5c3e\u6dfb\u52a0 lang=zh_CN\uff0c\u518d\u6309 Ctrl + X \u91cd\u65b0\u5f15\u5bfc\u542f\u52a8 YaST2\u3002

\u6ce8\u610f\uff1a

  • \u4e0d\u4fee\u6539\u51c6\u5907\u5b89\u88c5\u7684\u8f6f\u4ef6\u5305\u7ec4\u5408
  • \u65b0\u5efa\u5e10\u6237\u65f6\uff0c\u53d6\u6d88\u52fe\u9009\u81ea\u52a8\u767b\u5f55
  • \u5b89\u88c5\u65f6\uff0c\u53ef\u4ee5\u5c06 YaST2 \u7684\u4e3b\u9898\u5207\u6362\u4e3a\u6df1\u8272
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/2-installation/#_2","title":"\u5206\u533a\u8868","text":"\u5206\u533a\u540d\u79f0 \u6302\u8f7d\u70b9 \u5206\u533a\u5927\u5c0f \u6587\u4ef6\u7cfb\u7edf\u7c7b\u578b root / \u865a\u62df\u673a\uff1a16GiB \u53ca\u4ee5\u4e0a\u7269\u7406\u673a\uff1a40GiB \u6216\u4ee5\u4e0a btrfs efi /boot/efi/ \u4e0d\u5171\u7528 ESP\uff1a100MiB\u5171\u7528 ESP\uff1a256MiB fat32 \u6216 vfat swap swap \u53c2\u8003\u4e0b\u6587 swap swapfile /home/swap \u8be6\u89c1 \u5728 btrfs \u6587\u4ef6\u7cfb\u7edf\u4e0a\u4f7f\u7528 swapfile \u540c\u5de6 home /home \u4f9d\u7167\u5b9e\u9645\u60c5\u51b5\u800c\u5b9a xfs\uff08\u5bf9\u4e8e HDD \u800c\u8a00\uff09\u3001btrfs\uff08\u5bf9\u4e8e SSD \u800c\u8a00\uff09

swapfile/SWAP \u5206\u533a\u53c2\u8003\u5927\u5c0f\u5982\u4e0b\u6240\u793a1\uff1a

\u7cfb\u7edf\u7269\u7406\u5185\u5b58\uff08RAM\uff09\u5927\u5c0f \u63a8\u8350\u7684 swap \u5206\u533a\u5927\u5c0f \u63a8\u8350\u7684 swap \u5206\u533a\u5927\u5c0f\uff08\u5982\u679c\u9700\u8981\u4f11\u7720\uff09 \u2a7d 2 GiB RAM \u7684\u4e24\u500d RAM \u7684\u4e09\u500d > 2 GiB \u2013 8 GiB \u548c RAM \u76f8\u540c RAM \u7684\u4e24\u500d > 8 GiB \u2013 64 GiB \u81f3\u5c11 4GiB RAM \u7684 1.5 \u500d > 64GiB \u81f3\u5c11 4GiB \u4e0d\u63a8\u8350\u4f11\u7720

\u6ce8\u610f\uff0c\u7b2c\u4e8c\u5757\u786c\u76d8\u5e94\u5f53\u6302\u8f7d\u5230 /home \u76ee\u5f55\u4e0b\u3002

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/2-installation/#_3","title":"\u6837\u4f8b","text":"
poplar@c004-h1:~> lsblk\nNAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS\nnvme1n1     259:0    0 953.9G  0 disk \n\u251c\u2500nvme1n1p1 259:1    0   256M  0 part /boot/efi\n\u251c\u2500nvme1n1p2 259:2    0    40G  0 part /var\n\u2502                                     /usr/local\n\u2502                                     /root\n\u2502                                     /srv\n\u2502                                     /opt\n\u2502                                     /boot/grub2/x86_64-efi\n\u2502                                     /boot/grub2/i386-pc\n\u2502                                     /.snapshots\n\u2502                                     /\n\u2514\u2500nvme1n1p3 259:3    0 913.6G  0 part /home\nnvme0n1     259:4    0   1.8T  0 disk \n\u2514\u2500nvme0n1p1 259:5    0   1.8T  0 part /home/bt\npoplar@c004-h1:~> sudo swapon -s\nFilename                                Type            Size            Used            Priority\n/home/swap/swapfile                     file            4194300         873340          -2\n
  1. \u53c2\u8003 14.2. Recommended system swap space - redhat documentation \u21a9

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/3-first-boot/","title":"\u521d\u6b21\u542f\u52a8","text":"","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/3-first-boot/#_2","title":"\u5207\u6362\u9ed8\u8ba4\u4f1a\u8bdd","text":"

\u70b9\u51fb\u5de6\u4e0b\u89d2\u7684\u6309\u94ae\uff0c\u5c06 KDE \u9ed8\u8ba4\u4f1a\u8bdd\u4ece X11 \u4fee\u6539\u4e3a wayland\u3002

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/3-first-boot/#_3","title":"\u624b\u52a8\u521b\u5efa\u7528\u6237","text":"

\u5982\u679c\u51fa\u73b0\u9700\u8981\u624b\u52a8\u521b\u5efa\u7528\u6237\u65f6\uff0c\u82e5\u8981\u4f7f\u7528\u6237\u540d\u4e0e\u7528\u6237\u6240\u5c5e\u9ed8\u8ba4\u7ec4\u7ec4\u540d\u76f8\u540c\uff0c\u9700\u8981\u5148\u521b\u5efa\u65b0\u7684\u7528\u6237\u7ec4\u3002

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/3-first-boot/#_4","title":"\u8bbe\u7f6e\u4e3b\u673a\u540d","text":"

sudo hostnamectl set-hostname --pretty \"White-Poplar's Laptop\"\n
sudo hostnamectl set-hostname --static c004-h1\n

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/3-first-boot/#packagekit-discover","title":"\u5220\u9664 Packagekit \u548c Discover","text":"
sudo zypper rm -u PackageKit discover6; sudo zypper al discover6 PackageKit\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/3-first-boot/#_5","title":"\u5220\u9664\u8f6f\u4ef6\u6e90\uff0c\u66f4\u65b0\u7cfb\u7edf","text":"

\u5220\u9664\u591a\u4f59\u7684 repo-openh264 \u8f6f\u4ef6\u6e90\u548c ISO \u8f6f\u4ef6\u6e90\u3002

\u66f4\u65b0\u7cfb\u7edf\uff1a

sudo zypper ref; sudo zypper dup\n

\u8865\u9f50\u7f3a\u5931\u7684\u8f6f\u4ef6\u5305\uff1a

sudo zypper inr\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/3-first-boot/#_6","title":"\u591a\u5a92\u4f53\u64ad\u653e\u5668","text":"

\u6dfb\u52a0 Packman \u6e90\uff08\u8be6\u89c1 bashrc\uff09\uff1a

add-packman\n

\u66f4\u65b0\u5e76\u5b89\u88c5\u591a\u5a92\u4f53\u64ad\u653e\u5668\uff1a

sudo zypper refresh\n
update-packman\n
sudo zypper in mpv ffmpeg-7\n

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/3-first-boot/#_7","title":"\u97f3\u91cf\u63a7\u5236\u6545\u969c","text":"

\u5982\u679c\u64ad\u653e\u5668\u97f3\u91cf\u5927\u5c0f\u4e0e\u7cfb\u7edf\u8bbe\u7f6e\u7684\u97f3\u91cf\u503c\u4e0d\u5448\u7ebf\u6027\u53d8\u5316\uff0c\u5219\u4f7f\u7528 alsamixer \u5c06 Base Speaker \u7684\u503c\u964d\u5230 0\u3002

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/3-first-boot/#_8","title":"\u66f4\u6362\u8bed\u8a00\uff08\u53ef\u9009\u64cd\u4f5c\uff09","text":"

\u5728 YaST Language \u5c06\u9996\u9009\u8bed\u8a00\u4fee\u6539\u4e3a\u7b80\u4f53\u4e2d\u6587\uff0c\u540c\u65f6\u9009\u62e9\u82f1\u6587\u4f5c\u4e3a\u7b2c\u4e8c\u8bed\u8a00\u3002

\u7136\u540e\u5c06 KDE \u8bbe\u7f6e\u4e2d\u7684\u533a\u57df\u548c\u8bed\u8a00\u66f4\u6539\u4e3a\u4e2d\u6587\u3002

\u7b49\u5f85\u66f4\u65b0\u5b8c\u6210\uff0c\u91cd\u542f\u7cfb\u7edf\u3002

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/3-first-boot/#amd-gpu","title":"AMD GPU","text":"

\u4ee5\u6838\u663e\u8fd0\u884c\u5e94\u7528\u7684\u73af\u5883\u53d8\u91cf\uff1a

DRI_PRIME=0\n

\u4ee5\u72ec\u663e\u8fd0\u884c\u7a0b\u5e8f\u7684\u73af\u5883\u53d8\u91cf\uff1a

DRI_PRIME=1\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/","title":"\u8f6f\u4ef6\u5305","text":"","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#_2","title":"\u4ee3\u7406\u8f6f\u4ef6","text":"
  • v2rayN: https://github.com/2dust/v2rayN/releases
  • nekoray: https://github.com/MatsuriDayo/nekoray/releases

steam \u4f1a\u81ea\u52a8\u8bfb\u53d6\u7cfb\u7edf\u4ee3\u7406\u8bbe\u7f6e\u3002

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#flatpak","title":"Flatpak","text":"

\u5b89\u88c5\uff1a

sudo zypper in flatpak\n

\u6dfb\u52a0\u8fdc\u7a0b\u4ed3\u5e93\uff1a

set-proxy; flatpak remote-add --if-not-exists --user flathub https://dl.flathub.org/repo/flathub.flatpakrepo\n

\u52a0\u5165 Flatpak \u7528\u6237\u7ec4

sudo usermod -aG flatpak $USER\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#flatpak_1","title":"\u5b89\u88c5 Flatpak \u5e94\u7528","text":"
flatpakx install com.github.qarmin.czkawka\nflatpakx install com.github.tchx84.Flatseal\nflatpakx install com.github.johnfactotum.Foliate\nflatpakx install io.github.xiaoyifang.goldendict_ng\nflatpakx install com.dec05eba.gpu_screen_recorder\nflatpakx install com.github.dynobo.normcap\nflatpakx install org.telegram.desktop\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#_3","title":"\u6e05\u7406\u6570\u636e","text":"

\u6e05\u7406\u4e0d\u518d\u9700\u8981\u7684\u5e93\uff1a

flatpak uninstall --unused\n

\u5378\u8f7d\u65f6\u4e00\u5e76\u6e05\u7406\u5e94\u7528\u6570\u636e\uff1a

flatpak uninstall <package id> --delete-data\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#czkawka","title":"czkawka","text":"

\u5bf9\u6bd4\u91cd\u590d\u6587\u4ef6\u65f6\uff0c\u53ea\u9700\u8981\u6dfb\u52a0\u4e00\u4e2a\u6587\u4ef6\u5939\u5c31\u884c\u4e86\uff08\u4e0d\u9700\u8981\u8bbe\u7f6e\u4e3a\u53c2\u8003\u6587\u4ef6\u5939\uff09\u3002

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#fcitx5-wayland","title":"fcitx5 \u76ae\u80a4\u6ca1\u6709\u6b63\u786e\u663e\u793a\uff08Wayland \u4f1a\u8bdd\uff09","text":"

\u5173\u95ed\u6240\u6709 flatpak \u5e94\u7528\uff0c\u7136\u540e\u8fd0\u884c\uff1a

flatpak override --env=QT_IM_MODULE= --user\nflatpak override --env=GTK_IM_MODULE= --user\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#gtk","title":"\u5e94\u7528 GTK \u4e3b\u9898\u4e0e\u5f53\u524d\u7cfb\u7edf\u4e3b\u9898\u4e0d\u5339\u914d","text":"

\u4f7f\u7528 Flatseal \u7f16\u8f91\u5e94\u7528\uff0c\u4f7f\u5176\u80fd\u8bbf\u95ee\u4e3b\u9898\u6587\u4ef6\u5939\uff08/usr/share/themes\uff09\uff0c\u7136\u540e\u4e3a\u8be5\u5e94\u7528\u8bbe\u7f6e\u5982\u4e0b\u73af\u5883\u53d8\u91cf\uff1a

GTK_THEME=Adwaita-dark\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#_4","title":"\u5220\u9664\u8f6f\u4ef6\u5305","text":"

\u5220\u9664\u5e76\u9501\u5b9a\uff1a

poplar@c004-h1:~> zypper ll\n\n#  | Name                   | Type    | Repository | Comment\n---+------------------------+---------+------------+--------\n1  | MozillaFirefox         | package | \uff08\u4efb\u610f\uff09   | \n2  | PackageKit             | package | \uff08\u4efb\u610f\uff09   | \n3  | discover6              | package | \uff08\u4efb\u610f\uff09   | \n4  | fcitx                  | package | \uff08\u4efb\u610f\uff09   | \n5  | ibus                   | package | \uff08\u4efb\u610f\uff09   | \n6  | kcalc                  | package | \uff08\u4efb\u610f\uff09   | \n7  | kmousetool             | package | \uff08\u4efb\u610f\uff09   | \n8  | kompare                | package | \uff08\u4efb\u610f\uff09   | \n9  | konversation           | package | \uff08\u4efb\u610f\uff09   | \n10 | kuiviewer              | package | \uff08\u4efb\u610f\uff09   | \n11 | opensuse-welcome       | package | \uff08\u4efb\u610f\uff09   | \n12 | patterns-games-games   | package | \uff08\u4efb\u610f\uff09   | \n13 | patterns-kde-kde_games | package | \uff08\u4efb\u610f\uff09   | \n14 | patterns-kde-kde_pim   | package | \uff08\u4efb\u610f\uff09   | \n15 | skanlite               | package | \uff08\u4efb\u610f\uff09   | \n16 | spectacle              | package | \uff08\u4efb\u610f\uff09   | \n17 | vlc                    | package | \uff08\u4efb\u610f\uff09   |\n

\u5feb\u6377\u547d\u4ee4\uff1a

sudo zypper rm -u MozillaFirefox fcitx ibus kcalc kmousetool kompare konversation kuiviewer opensuse-welcome patterns-games-games patterns-kde-kde_games patterns-kde-kde_pim skanlite spectacle vlc\n
sudo zypper al MozillaFirefox fcitx ibus kcalc kmousetool kompare konversation kuiviewer opensuse-welcome patterns-games-games patterns-kde-kde_games patterns-kde-kde_pim skanlite spectacle vlc\n

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#_5","title":"\u5b89\u88c5\u57fa\u672c\u5de5\u5177","text":"
  • chromium
  • keepassxc
  • proxychains-ng
  • git-core

\u5feb\u6377\u547d\u4ee4\uff1a

sudo zypper in chromium chromium-ffmpeg-extra chromium-plugin-widevinecdm keepassxc proxychains-ng git-core \n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#_6","title":"\u5b89\u88c5\u8f6f\u4ef6\u5305","text":"
  • aria2
  • audacious
  • amdgpu_top
  • crow-translate
  • fcitx5
  • filelight
  • flameshot
  • google-noto-sans-mono-fonts
  • gimp
  • goverlay
  • kfind
  • kleopatra
  • qbittorrent
  • steam

\u5feb\u6377\u547d\u4ee4\uff1a

sudo zypper in aria2 audacious amdgpu_top crow-translate crow-translate-lang fcitx5 filelight flameshot google-noto-sans-mono-fonts gimp goverlay kfind kleopatra qbittorrent\n
sudo zypper in steam\n

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#steam","title":"steam","text":"

\u5982\u679c\u65e0\u6cd5\u6b63\u5e38\u7f29\u653e\uff0c\u5219\u8bbe\u7f6e\u53d8\u91cf\uff1a

STEAM_FORCE_DESKTOPUI_SCALING=1.5\n

steam \u4f1a\u9ed8\u8ba4\u4f18\u5148\u8fd0\u884c\u6e38\u620f\u7684 Linux \u539f\u751f\u7248\u672c\u3002\u5982\u679c\u51fa\u73b0\u6027\u80fd\u95ee\u9898\uff0c\u8bf7\u5f3a\u5236\u4f7f\u7528 steam proton \u517c\u5bb9\u5de5\u5177\u3002

\u5982\u679c\u5b58\u5728\u8fde\u63a5\u6027\u95ee\u9898\uff0c\u5219\u4f7f\u7528 steam-proxy \u547d\u4ee4\u3002

\u914d\u7f6e\uff1a

  • \u5173\u95ed\u7740\u8272\u5668\u7f13\u5b58
  • \u66f4\u6539\u4e0b\u8f7d\u670d\u52a1\u5668
  • \u66f4\u6539\u9ed8\u8ba4\u5e93\u4f4d\u7f6e
  • \u66f4\u6539\u9ed8\u8ba4\u6253\u5f00\u7684\u9875\u9762
  • \u66f4\u6539\u9ed8\u8ba4\u754c\u9762\u8bed\u8a00
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#kvm","title":"KVM","text":"

\u5b89\u88c5\u8f6f\u4ef6\u5305\uff1a

sudo zypper install -t pattern kvm_server kvm_tools\n

\u52a0\u5165\u7528\u6237\u7ec4\uff1a

sudo usermod -aG libvirt $USER\n

\u6ce8\u9500\u91cd\u65b0\u767b\u5f55\u3002

\u6ce8\u610f\uff0c\u4e0d\u8981\u4f7f\u7528\u9ed8\u8ba4\u7684\u5b58\u50a8\u6c60\u3002\u5173\u4e8e\u4e0e\u865a\u62df\u673a\u5171\u4eab\u6587\u4ef6\uff0c\u8be6\u89c1\u6b64\u5904\u3002

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#mpv","title":"mpv","text":"

\u53e6\u89c1\uff1ahttps://github.com/tomasklaen/uosc

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#fcitx5","title":"Fcitx5","text":"

Fcitx5 \u7684\u81ea\u5b9a\u4e49\u8bcd\u5e93\u6587\u4ef6\uff08*.dict\uff09\uff1a

  • felixonmars/fcitx5-pinyin-zhwiki
  • wuhgit/CustomPinyinDictionary

\u8bcd\u5e93\u6587\u4ef6\u5939\uff1a~/.local/share/fcitx5/pinyin/dictionaries/

Fcitx5 \u76ae\u80a4\uff1a

git clone https://github.com/tonyfettes/fcitx5-nord.git\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#flameshot","title":"flameshot","text":"

\u6253\u5f00 KDE \u7684\u5feb\u6377\u952e\u8bbe\u7f6e\uff0c\u6dfb\u52a0 flameshot\uff0c\u7136\u540e\u5c06\u622a\u56fe\u7684\u5feb\u6377\u952e\u7ed1\u5b9a\u5230 PrtSc\u3002

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#_7","title":"\u6563\u88c5\u8f6f\u4ef6\u5305","text":"

\u53ef\u96c6\u6210\u81f3\u5f00\u59cb\u83dc\u5355\u7684 desktop \u6587\u4ef6\u53ef\u901a\u8fc7 KDE \u7684\u53f3\u952e\u65b0\u5efa\u83dc\u5355\u5feb\u901f\u521b\u5efa\u3002

\u6ce8\u610f\u7f16\u8f91\u73af\u5883\u53d8\u91cf\u65f6\u4e0d\u8981\u5f15\u5165\u6362\u884c\u7b26\u3002

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#vscodium","title":"VSCodium","text":"

\u4e0b\u8f7d\u6587\u4ef6\uff1ahttps://github.com/VSCodium/vscodium/releases

\u5728\u4e0e VSCodium*.tar.gz \u540c\u7ea7\u6587\u4ef6\u5939\u4e2d\u65b0\u5efa data/extensions \u548c data/user-data\u3002

desktop \u6587\u4ef6\u6a21\u677f\uff1a

[Desktop Entry]\nCategories=Development;\nComment[zh_CN]=\nComment=\nExec=/home/poplar/bin/codium/codium\nGenericName[zh_CN]=\nGenericName=\nIcon=/home/poplar/bin/codium/data/paulo22s.png\nMimeType=\nName[zh_CN]=VSCodium\nName=VSCodium\nPath=/home/poplar/bin/codium\nStartupNotify=false\nTerminal=false\nTerminalOptions=\nType=Application\nX-KDE-SubstituteUID=false\nX-KDE-Username=\n

Logo \u6587\u4ef6\u53ef\u4ece VSCodium/icons \u4ed3\u5e93\u4e0b\u8f7d\u83b7\u5f97\u3002

\u5b57\u4f53\u8bbe\u7f6e\uff1a

'Noto Sans Mono', 'Noto Sans SC', monospace\n

\u5e38\u7528\u6269\u5c55\u5217\u8868\uff1a

  • MS-CEINTL.vscode-language-pack-zh-hans
  • GitHub.vscode-pull-request-github
  • GitHub.github-vscode-theme
  • shd101wyy.markdown-preview-enhanced
  • PKief.material-icon-theme
  • alefragnani.project-manager
  • ms-python.python
  • AaaaronZhou.vscode-auto-light-dark-theme

\u56fe\u6807\u53e6\u89c1\uff1a https://github.com/VSCodium/icons

\u66f4\u65b0\u811a\u672c update-code \u53e6\u89c1 shell-script\u3002

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#pandoc","title":"pandoc","text":"

\u4e0b\u8f7d\uff1ahttps://github.com/jgm/pandoc/releases/

\u5c06\u4e0b\u8f7d\u597d\u7684 pandoc \u89e3\u538b\u81f3 ~/bin/pandoc\u3002\u7b26\u53f7\u8fde\u63a5\u53ef\u4ee5\u653e\u7f6e\u5230 ~/bin/command \u4e2d\uff0c\u4fdd\u6301\u76ee\u5f55\u7684\u6574\u6d01\u3002

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#freefilesync","title":"FreeFileSync","text":"

\u4e0b\u8f7d\uff1ahttps://freefilesync.org/download.php

\u5b89\u88c5\u65f6\uff0c\u4fee\u6539\u5b89\u88c5\u7684\u7528\u6237\u8303\u56f4\uff08\u4ec5\u5b89\u88c5\u81f3\u5f53\u524d\u7528\u6237\uff09\u3001\u8def\u5f84\uff08\u81f3 ~/bin/FreeFileSync\uff09\u3002

\u7136\u540e\u5b89\u88c5\u7f3a\u5931\u7684\u4f9d\u8d56\uff1a

sudo zypper install libgthread-2_0-0\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/4-software/#drawio","title":"draw.io","text":"

\u4e0b\u8f7d\uff1ahttps://github.com/jgraph/drawio-desktop/releases

appimage \u6587\u4ef6\u5b58\u653e\u81f3 ~/bin/appimages

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/5-kde/","title":"KDE \u76f8\u5173","text":"","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/5-kde/#_1","title":"\u6742\u9879","text":"","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/5-kde/#tty","title":"TTY","text":"

openSUSE \u7684\u56fe\u5f62\u754c\u9762\u5728 TTY3\u3002

\u6309\u4e0b Ctrl + Alt + F1 ~ F9 \u5728\u4e0d\u540c\u7684 TTY \u4e2d\u5207\u6362\u3002

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/5-kde/#_2","title":"\u542f\u52a8\u52a8\u753b","text":"

\u8981\u5173\u95ed\u5e94\u7528\u7684\u542f\u52a8\u52a8\u753b\uff0c\u53ef\u4ee5\u5728 desktop \u6587\u4ef6\u4e2d\u65b0\u589e\uff1aStartupNotify=false\uff0c\u6216\u5728 \u7f16\u8f91\u5e94\u7528\u7a0b\u5e8f > \u5e94\u7528\u7a0b\u5e8f > \u9ad8\u7ea7\u9009\u9879\uff0c\u5173\u95ed \u542f\u7528\u542f\u52a8\u7279\u6548\u3002

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/5-kde/#_3","title":"\u56fe\u6807\u4e3b\u9898","text":"
  • Qogir-cursors-theme
  • Tela-icon-theme
    • \u4f4d\u7f6e\uff1a~/.local/share/icons
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/5-kde/#_4","title":"\u67d0\u4e9b\u5feb\u6377\u952e","text":"
  • \u6740\u6b7b\u7a97\u53e3\uff1aSuper + Ctrl + Esc
  • \u5207\u6362\u7a97\u53e3\uff1aAlt + Tab
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/5-kde/#_5","title":"\u4ee5\u592a\u7f51","text":"

\u65b0\u5efa\u6709\u7ebf\u4ee5\u592a\u7f51\u8fde\u63a5\u65f6\uff0c\u9700\u8981\u5728 \u4ec5\u9650\u4f7f\u7528\u6b64\u8bbe\u5907 \u4e2d\u6307\u5b9a\u8bbe\u5907\uff08enp5s0\uff09\u3002

","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/5-kde/#kde_1","title":"KDE \u8bbe\u7f6e","text":"

\u9f20\u6807\u548c\u89e6\u6478\u677f > \u89e6\u6478\u677f\uff1a

  • \u53cd\u5411\u6eda\u52a8\uff08\u81ea\u7136\u6eda\u52a8\uff09

\u952e\u76d8 > \u952e\u76d8\uff1a

  • NumLock \u5728 Plasma \u542f\u7528\u65f6\u7684\u72b6\u6001\uff1a\u6253\u5f00

\u952e\u76d8 > \u865a\u62df\u952e\u76d8\uff1a

  • Fcitx 5

\u58f0\u97f3\uff1a

  • \u9759\u97f3\u9ea6\u514b\u98ce

\u663e\u793a\u548c\u76d1\u89c6\u5668\uff1a

  • \u7f29\u653e\u7387\uff1a150%

\u989c\u8272\u548c\u4e3b\u9898\uff0c\u4fee\u6539\uff1a

  • \u56fe\u6807
  • \u5149\u6807
  • \u6b22\u8fce\u5c4f\u5e55
  • \u767b\u5f55\u5c4f\u5e55

\u58c1\u7eb8\uff1a

  • \u5e7b\u706f\u7247

\u5e38\u89c4\u884c\u4e3a\uff1a

  • \u5355\u51fb\u6587\u4ef6\u6216\u8005\u6587\u4ef6\u5939\u65f6\uff1a\u6253\u5f00

\u9501\u5c4f\uff1a

  • \u81ea\u52a8\u9501\u5b9a\u5c4f\u5e55\uff1a15 \u5206\u949f
  • \u5916\u89c2

\u7528\u6237\u53cd\u9988\uff1a

  • \u7b2c\u56db\u6863

\u65e5\u671f\u548c\u65f6\u95f4\uff1a

  • \u81ea\u52a8\u8bbe\u7f6e\u65e5\u671f\u548c\u65f6\u95f4

\u7535\u6e90\u7ba1\u7406\uff1a

  • \u4ea4\u6d41\u4f9b\u7535\uff1a
  • \u4e0d\u6d3b\u52a8\u4e00\u6bb5\u65f6\u95f4\u540e\uff1a\u65e0\u64cd\u4f5c
  • \u6309\u4e0b\u7535\u6e90\u952e\u65f6\uff1a\u5173\u95ed\u5c4f\u5e55
  • \u5408\u4e0a\u7b14\u8bb0\u672c\u76d6\u65f6\uff1a\u9501\u5c4f
  • \u7535\u6c60\u4f9b\u7535\uff1a
  • \u4e0d\u6d3b\u52a8\u4e00\u6bb5\u65f6\u95f4\u540e\uff1a\u7761\u7720 | 30\u5206\u949f
  • \u6309\u4e0b\u7535\u6e90\u952e\u65f6\uff1a\u606f\u5c4f
  • \u5408\u4e0a\u7b14\u8bb0\u672c\u76d6\u65f6\uff1a\u9501\u5c4f

\u7528\u6237\uff1a

  • \u66f4\u6362\u5934\u50cf

\u81ea\u52a8\u542f\u52a8\uff1a

  • qBittorrent
  • telegram
  • nekoray

\u4f1a\u8bdd > \u684c\u9762\u4f1a\u8bdd\uff1a

  • \u4f4d\u7f6e\uff1a\u5c06\u9ed8\u8ba4\u672a\u77e5\u91cd\u5b9a\u5411\u5230\u5f53\u524d\u6587\u4ef6\u5939
  • \u767b\u5f55\u65f6\u81ea\u52a8\u542f\u52a8\u5e94\u7528\u7a0b\u5e8f\uff1a\u542f\u52a8\u4e3a\u7a7a\u4f1a\u8bdd
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/6-fonts/","title":"\u7528\u6237\u5b57\u4f53","text":"","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/6-fonts/#windows","title":"Windows \u5b57\u4f53\u5305","text":"

\u4e0b\u8f7d\u5730\u5740\uff1aWindows 11 font list

poplar@c004-h1:~/.local/share/fonts> tree\n.\n\u2514\u2500\u2500 win11-fonts-partial\n    \u251c\u2500\u2500 arial\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 arialbd.ttf\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 arialbi.ttf\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 ariali.ttf\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 ARIALNBI.TTF\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 ARIALNB.TTF\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 ARIALNI.TTF\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 ARIALN.TTF\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 arial.ttf\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 ariblk.ttf\n    \u251c\u2500\u2500 jhengHei\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 msjhbd.ttc\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 msjhl.ttc\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 msjh.ttc\n    \u251c\u2500\u2500 times-new-roman\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 timesbd.ttf\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 timesbi.ttf\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 timesi.ttf\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 times.ttf\n    \u251c\u2500\u2500 yahei\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 msyhbd.ttc\n    \u2502\u00a0\u00a0 \u251c\u2500\u2500 msyhl.ttc\n    \u2502\u00a0\u00a0 \u2514\u2500\u2500 msyh.ttc\n    \u2514\u2500\u2500 zh-sc\n        \u251c\u2500\u2500 Dengb.ttf\n        \u251c\u2500\u2500 Dengl.ttf\n        \u251c\u2500\u2500 Deng.ttf\n        \u251c\u2500\u2500 simfang.ttf\n        \u251c\u2500\u2500 simhei.ttf\n        \u251c\u2500\u2500 simkai.ttf\n        \u251c\u2500\u2500 simsunb.ttf\n        \u2514\u2500\u2500 simsun.ttc\n\n7 directories, 27 files\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/7-re-install/","title":"\u91cd\u88c5","text":"
poplar@c004-h1:~> id\nuid=1000(poplar) gid=1000(poplar) \u7ec4=1000(poplar),108(libvirt),476(flatpak)\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/7-re-install/#_2","title":"\u6587\u4ef6\u5907\u4efd\u6e05\u5355","text":"

\u6ce8\u610f\uff0cGPG \u5bc6\u94a5\u94fe\u9700\u8981\u624b\u52a8\u91cd\u65b0\u5bfc\u5165\u3002

/home/poplar/bin\n/home/poplar/Desktop\n/home/poplar/Documents\n/home/poplar/Downloads\n/home/poplar/Misc\n/home/poplar/Others\n/home/poplar/Pictures\n\n/home/poplar/.config/audacious\n/home/poplar/.config/chromium\n/home/poplar/.config/crow-translate\n/home/poplar/.config/fcitx\n/home/poplar/.config/fcitx5\n/home/poplar/.config/flameshot\n/home/poplar/.config/keepassxc\n/home/poplar/.config/MangoHud\n/home/poplar/.config/mpv\n/home/poplar/.config/pip\n/home/poplar/.config/qBittorrent\n\n/home/poplar/.local/share/applications\n/home/poplar/.local/share/fcitx5\n/home/poplar/.local/share/fonts\n/home/poplar/.local/share/icons\n/home/poplar/.local/share/konsole\n/home/poplar/.local/share/qBittorrent\n/home/poplar/.local/share/Steam\n\n/home/poplar/.steam\n/home/poplar/.var\n\n/home/poplar/.bashrc\n/home/poplar/.gitconfig\n/home/poplar/.steampath\n/home/poplar/.steampid\n\n/home/bt\n/home/swap\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/8-shell-script/","title":"Shell \u811a\u672c\u4e0e\u914d\u7f6e\u6587\u4ef6","text":"

shell \u811a\u672c\u4e00\u822c\u653e\u7f6e\u5728 ~/bin/command

  • \u5728\u5176\u4ed6\u6587\u4ef6\u4e2d\u5df2\u63d0\u53ca\u7684 shell \u811a\u672c\u4e0d\u4f1a\u5728\u6b64\u5904\u5217\u51fa\u3002
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/8-shell-script/#update-code","title":"update-code","text":"
#!/bin/sh\n#\u672c\u811a\u672c\u7528\u4e8e\u66f4\u65b0 VScodium\n\nFILE=/home/poplar/Downloads/VSCodium*.tar.gz\n\nif [ -f $FILE ]; then\n    mv /home/poplar/bin/codium/data /home/poplar/bin/data\n    printf 'Back up data: OK!\\n'\n    rm -r /home/poplar/bin/codium/*\n    printf 'Remove old exc: OK!\\n'\n    tar -xf /home/poplar/Downloads/VSCodium*.tar.gz -C /home/poplar/bin/codium\n    printf 'Software update: OK!\\n'\n    mv /home/poplar/bin/data /home/poplar/bin/codium/data\n    printf 'Data restored: OK!\\n'\n    rm /home/poplar/Downloads/VSCodium*.tar.gz\n    printf 'Clear tarball: OK!\\n'\n\nelse\n    printf 'ERROR: Update tarball no found!\\n'\nfi\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/8-shell-script/#iso-m","title":"iso-m","text":"
#!/bin/sh\n#\u672c\u811a\u672c\u7528\u4e8e\u4e0b\u8f7d\u3001\u6821\u9a8c\u548c\u5f52\u6863 openSUSE Tumbleweed ISO \u6587\u4ef6\n\nexport ISO_DIR=/home/poplar/Downloads/ISO\nexport ISO_DIR_DL=/home/poplar/Downloads/Aria2\n#\u6587\u4ef6\u76ee\u5f55\n\nDVD_NEW=/home/poplar/Downloads/Aria2/openSUSE-Tumbleweed-DVD-x86_64-Current.iso\nLIVE_NEW=/home/poplar/Downloads/Aria2/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso\nDVD_OLD=/home/poplar/Downloads/ISO/openSUSE-Tumbleweed-DVD-x86_64-Current.iso\nLIVE_OLD=/home/poplar/Downloads/ISO/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso\n#\u8981\u68c0\u6d4b\u7684 ISO \u6587\u4ef6\n\nwhile true; do\n\n    printf -- '-%0.s' {1..100} && echo\n    printf 'You can use the ISO files maintenance script for:\\n\\n'\n    printf '1 - Download openSUSE DVD ISO files\\n'\n    printf '2 - Download openSUSE KDE Live ISO files\\n'\n    printf 'V - Verify New ISO files.\\n'\n    printf 'C - Check old ISO files.\\n'\n    printf 'U - Update ISO files\\n'\n    printf 'Q - End task.\\n\\n'\n    printf '==> '\n    read answer\n\n    #\u4e0b\u8f7d ISO \u6587\u4ef6\n    if [ $answer = 1 ]; then\n        aria2c -d $ISO_DIR_DL -s 16 https://mirror.sjtu.edu.cn/opensuse/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso\n        aria2c -d $ISO_DIR_DL -s 16 https://mirror.sjtu.edu.cn/opensuse/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso.sha256\n        aria2c -d $ISO_DIR_DL -s 16 https://mirror.sjtu.edu.cn/opensuse/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso.sha256.asc\n    elif [ $answer = 2 ]; then\n        aria2c -d $ISO_DIR_DL -s 16 https://mirror.sjtu.edu.cn/opensuse/tumbleweed/iso/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso\n        aria2c -d $ISO_DIR_DL -s 16 https://mirror.sjtu.edu.cn/opensuse/tumbleweed/iso/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso.sha256\n        aria2c -d $ISO_DIR_DL -s 16 https://mirror.sjtu.edu.cn/opensuse/tumbleweed/iso/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso.sha256.asc\n\n    elif [ \"$answer\" = \"V\" ] || [ \"$answer\" = \"v\" ]; then\n    #\u6821\u9a8c\u65b0\u4e0b\u8f7d\u7684 ISO \u6587\u4ef6\n        cd $ISO_DIR_DL\n        if [ -f $DVD_NEW ]; then\n            gpg --verify openSUSE-Tumbleweed-DVD-x86_64-Current.iso.sha256.asc\n            cat openSUSE-Tumbleweed-DVD-x86_64-Current.iso.sha256 | sed 's/openSUSE-Tumbleweed-DVD-x86_64-Snapshot\\(........\\)-Media.iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso/' > temp.sha256\n            sha256sum -c temp.sha256\n            rm temp.sha256\n        else\n            printf 'ERROR: No found new DVD ISO files!\\n'\n        fi\n        printf -- '-%0.s' {1..100} && echo\n        if [ -f $LIVE_NEW ]; then\n            gpg --verify openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso.sha256.asc\n            cat openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso.sha256 | sed 's/openSUSE-Tumbleweed-KDE-Live-x86_64-Snapshot\\(........\\)-Media.iso/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso/' > temp.sha256\n            sha256sum -c temp.sha256\n            rm temp.sha256\n        else\n            printf 'ERROR: No found new Live ISO files!\\n'\n        fi\n\n    elif [ \"$answer\" = \"C\" ] || [ \"$answer\" = \"c\" ]; then\n    #\u6821\u9a8c\u65e7\u7248 ISO \u6587\u4ef6\n        cd $ISO_DIR\n        if [ -f $DVD_OLD ]; then\n            gpg --verify openSUSE-Tumbleweed-DVD-x86_64-Current.iso.sha256.asc\n            cat openSUSE-Tumbleweed-DVD-x86_64-Current.iso.sha256 | sed 's/openSUSE-Tumbleweed-DVD-x86_64-Snapshot\\(........\\)-Media.iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso/' > temp.sha256\n            sha256sum -c temp.sha256\n            rm temp.sha256\n        else\n            printf 'ERROR: No found old DVD ISO files!\\n'\n        fi\n        printf -- '-%0.s' {1..100} && echo\n        if [ -f $LIVE_OLD ]; then\n            gpg --verify openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso.sha256.asc\n            cat openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso.sha256 | sed 's/openSUSE-Tumbleweed-KDE-Live-x86_64-Snapshot\\(........\\)-Media.iso/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso/' > temp.sha256\n            sha256sum -c temp.sha256\n            rm temp.sha256\n        else\n            printf 'ERROR: No found old Live ISO files!\\n'\n        fi\n\n    elif [ \"$answer\" = \"U\" ] || [ \"$answer\" = \"u\" ]; then\n    #\u66f4\u65b0 ISO \u6587\u4ef6\n        if [ -f $DVD_NEW ]; then\n            printf 'Found the new DVD ISO files: OK!\\n'\n            if [ -f $DVD_OLD ]; then\n                rm $ISO_DIR/openSUSE-Tumbleweed-DVD*.*\n                printf 'Delete the old DVD ISO files: OK!\\n'\n            else\n                printf 'ERROR: No found the old DVD ISO files!\\n'\n            fi\n            mv $ISO_DIR_DL/openSUSE-Tumbleweed-DVD*.* $ISO_DIR\n            printf 'Update the DVD ISO files: OK!\\n'\n        else\n            printf 'ERROR: No found the new DVD ISO files!\\n'\n        fi\n        if [ -f $LIVE_NEW ]; then\n            printf 'Found the new Live ISO files: OK!\\n'\n            if [ -f $LIVE_OLD ]; then\n                rm $ISO_DIR/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.*\n                printf 'Delete the old Live ISO files: OK!\\n'\n            else\n                printf 'ERROR: No found the old Live ISO files!\\n'\n            fi\n            mv $ISO_DIR_DL/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.* $ISO_DIR\n            printf 'Update the Live ISO files: OK!\\n'\n        else\n            printf 'ERROR: No found the new Live ISO files!\\n'\n        fi\n\n    elif [ \"$answer\" = \"Q\" ] || [ \"$answer\" = \"q\" ]; then\n        exit\n\n    else\n        printf 'ERROR: Invalid input!\\n'\n        continue\n\n    fi\ndone\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/8-shell-script/#_1","title":"\u914d\u7f6e\u6587\u4ef6","text":"","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/8-shell-script/#git","title":"git","text":"

\u5728 ~/.gitconfig \u4e2d\uff0c\u5199\u5165\uff1a

[user]\n    name = Poplar at twilight\n    email = poplar.cubic@gmail.com\n[http]\n    proxy = http://127.0.0.1:7890\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/8-shell-script/#proxychains-ng","title":"proxychains-ng","text":"

/etc/proxychains.conf\uff1a

quiet_mode\nhttp 127.0.0.1 7890\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/8-shell-script/#python","title":"python","text":"

\u8bbe\u7f6e\u4ee3\u7406\uff08~/.config/pip/pip.conf\uff09\uff1a

[global]\nproxy=http://localhost:7890\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/8-shell-script/#bashrc","title":"bashrc","text":"

~/.bashrc\uff1a

alias ls=\"ls --block-size=KiB --color=auto\"\n#\u4ee5 KiB \u4e3a\u5355\u4f4d\u663e\u793a\u6587\u4ef6\u5927\u5c0f\n\nunset GTK_IM_MODULE\nunset QT_IM_MODULE\n#\u9488\u5bf9 wayland \u4f1a\u8bdd\u7684 Fcitx5 \u73af\u5883\u53d8\u91cf\n\nexport PATH=/home/poplar/.local/bin:/home/poplar/bin:/home/poplar/bin/command:/usr/local/bin:/usr/bin:/bin\n#\u81ea\u5b9a\u4e49 $PATH \u8def\u5f84\n\nexport EDITOR=nano\n#\u5c06\u9ed8\u8ba4\u6587\u672c\u7f16\u8f91\u5668\u6307\u5b9a\u4e3a nano\n\nalias sha256sum-dir=\"find . -type f -exec sha256sum {} \\; > ../checksum.sha256; mv ../checksum.sha256 .; echo 'Complete calculation!'\"\n#\u81ea\u52a8\u8ba1\u7b97\u5f53\u524d\u6587\u4ef6\u5939\u5185\u7684\u5168\u90e8\u6587\u4ef6\u7684\u54c8\u5e0c\uff0c\u5e76\u5c06\u7ed3\u679c\u5199\u5165 sha256 \u6587\u4ef6\n\nalias git-repo-clean=\"git remote prune origin && git repack && git prune-packed && git reflog expire --expire=1.month.ago && git gc --aggressive\"\n#\u6e05\u7406\u5e76\u538b\u7f29 git \u4ed3\u5e93\n\nalias set-proxy=\"export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7890\"\nalias unset-proxy=\"unset http_proxy; unset https_proxy; unset all_proxy\"\n#\u73af\u5883\u53d8\u91cf\u5f00\u5173\n\nalias sudo=\"sudo \"\n#\u5bf9 sudo \u540e\u7684\u5b57\u7b26\u542f\u7528\u522b\u540d\n\nalias pyc=\"proxychains4\"\n#\u66f4\u77ed\u7684\u522b\u540d\n\n#alias dnfx=\"proxychains4 dnf\"\n#alias zypper=\"proxychains4 zypper\"\n#\u5bf9 zypper/dnf \u4f7f\u7528\u4ee3\u7406\n\nalias flatpakx=\"proxychains4 flatpak --user\"\n#\u5bf9 flatpak \u4f7f\u7528\u4ee3\u7406\uff0c\u5e76\u589e\u52a0 --user \u6807\u7b7e\n\nalias pings=\"ping mirror.sjtu.edu.cn -c 6; ping bing.com -c 6; ping 1.1.1.1 -c 6\"\n#\u6d4b\u8bd5\u7f51\u7edc\u8fde\u901a\u6027\n\nalias update=\"sudo zypper ref; sudo zypper lu; flatpakx update\"\n#\u5237\u65b0\u8f6f\u4ef6\u6e90\u5e76\u5217\u51fa\u53ef\u7528\u7684\u66f4\u65b0\n\nalias venv-setup=\"python3 -m venv venv\"\nalias venv=\"source venv/bin/activate\"\n#\u542f\u52a8 python \u5bb9\u5668\u73af\u5883\n\nalias steam-proxy=\"set-proxy; env STEAM_FORCE_DESKTOPUI_SCALING=1.5 steam\"\n#\u8bbe\u7f6e\u4ee3\u7406\uff0c\u5e76\u542f\u52a8 steam\uff081440p\uff09\n\nalias packman-update=\"sudo zypper dup --from packman --allow-vendor-change\"\nalias packman-add=\"sudo zypper ar -cfp 90 https://mirrors.ustc.edu.cn/packman/suse/openSUSE_Tumbleweed/ packman\"\n#packman \u76f8\u5173\u7684\u547d\u4ee4\n\nalias apu-top=\"amdgpu_top --dark --apu\"\nalias gpu-top=\"amdgpu_top --dark --single\"\n#amdgpu_top \u5feb\u6377\u547d\u4ee4\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/8-shell-script/#mangohud-goverlay","title":"mangohud & Goverlay","text":"

\u5bf9\u4e8e steam \u6e38\u620f\uff0c\u4f7f\u7528 mangohud %command%\u3002\u4f7f\u7528\u8bf4\u660e\u8be6\u89c1\uff1aman mangohud

\u6ce8\u610f\uff1a

  1. \u4e0d\u8981\u5728\u6e38\u620f\u542f\u52a8\u65f6\u8ba9 mangohud \u8bfb\u53d6\u6e38\u620f\u7684\u5e73\u5747\u5e27\u548c 1% low \u5e27
  2. \u4f7f\u7528 Goverlay \u65f6\uff0c\u5982\u679c\u6709\u6309\u94ae\u88ab\u906e\u6321\uff0c\u53ef\u4ee5\u628a\u663e\u793a\u5668\u7f29\u653e\u6bd4\u4f8b\u4ece 150% \u8c03\u6574\u4e3a 100%

  3. /home/poplar/.config/MangoHud/MangoHud.conf\uff1a

################### File Generated by Goverlay ###################\nlegacy_layout=false\n\nhorizontal\nbackground_alpha=0.6\nround_corners=0\nbackground_alpha=0.6\nbackground_color=000000\n\nfont_size=24\ntext_color=FFFFFF\nposition=top-left\n\npci_dev=0:03:00.0\ntable_columns=3\ngpu_text=GPU\ngpu_stats\ngpu_load_change\ngpu_load_value=50,90\ngpu_load_color=FFFFFF,FFAA7F,CC0000\ngpu_temp\ngpu_power\ngpu_color=2E9762\ncpu_text=CPU\ncpu_stats\n\ncpu_load_change\ncpu_load_value=50,90\ncpu_load_color=FFFFFF,FFAA7F,CC0000\ncpu_temp\ncpu_color=2E97CB\nswap\nvram\nvram_color=AD64C1\nram\nram_color=C26693\nbattery\nbattery_color=00FF00\nfps\ngpu_name\nvulkan_driver\nframe_timing\nframetime_color=00FF00\nfps_limit_method=late\ntoggle_fps_limit=Shift_L+F1\n\nfps_limit=0\n#offset=0\n\n\n\n\n\ntime#\n\n\noutput_folder=/home/poplar\nlog_duration=30\nautostart_log=0\nlog_interval=100\ntoggle_logging=Shift_L+F2\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"essay/note/9-swapfile-on-btrfs/","title":"\u5728 btrfs \u6587\u4ef6\u7cfb\u7edf\u4e0a\u4f7f\u7528 swapfile","text":"

\u6839\u636e Swapfile - BTRFS documentation\uff0c\u5148\u5728 /home \u4e0b\u65b0\u5efa\u4e00\u4e2a swap \u6587\u4ef6\u5939\u3002

\u521b\u5efa swapfile\uff1a

sudo btrfs filesystem mkswapfile --size 4G /home/swap/swapfile\n

\u7136\u540e\u542f\u7528 swapfile\uff1a

sudo swapon /home/swap/swapfile\n

\u67e5\u770b\u6b63\u5728\u4f7f\u7528\u7684 swapfile\uff1a

sudo swapon -s\n

\u5173\u95ed\u7279\u5b9a\u7684 swapfile\uff1a

sudo swapoff /home/swap/swapfile\n

\u5c06 swapfile \u6dfb\u52a0\u5230 /etc/fstab\uff1a

/home/swap/swapfile                        none                    swap   defaults                      0  0\n
","tags":["Linux","\u7b14\u8bb0"]},{"location":"blog/archive/2024/","title":"2024","text":""},{"location":"blog/archive/2023/","title":"2023","text":""},{"location":"blog/category/%E5%8D%9A%E5%AE%A2/","title":"\u535a\u5ba2","text":""},{"location":"tags/","title":"\u6807\u7b7e\u5bfc\u822a","text":""},{"location":"tags/#bash","title":"Bash","text":"
  • \u5b9a\u4e49
  • Shell \u8bed\u6cd5
"},{"location":"tags/#epub","title":"Epub","text":"
  • \u4f7f\u7528 Pandoc \u5236\u4f5c\u7b80\u6613\u7684 Epub \u7535\u5b50\u4e66
"},{"location":"tags/#gpg","title":"GPG","text":"
  • .gpg\u3001.sig \u548c *.asc \u6587\u4ef6\u7684\u533a\u522b
"},{"location":"tags/#kvm","title":"KVM","text":"
  • KVM \u5907\u5fd8\u5f55
"},{"location":"tags/#linux","title":"Linux","text":"
  • \u6df7\u4e71\u7684\u8ba1\u91cf\u5355\u4f4d
  • \u68c0\u67e5\u7cfb\u7edf\u4fe1\u606f
  • \u6587\u4ef6\u7cfb\u7edf\u3001\u6587\u4ef6\u6240\u6709\u6743\u53ca\u6587\u4ef6\u6743\u9650
  • .gpg\u3001.sig \u548c *.asc \u6587\u4ef6\u7684\u533a\u522b
  • KVM \u5907\u5fd8\u5f55
  • \u5b9a\u4e49
  • Shell \u8bed\u6cd5
  • \u5b89\u88c5\u4e0e\u4f7f\u7528 aria2
  • \u5173\u4e8e
  • \u51c6\u5907\u5de5\u4f5c
  • \u5b89\u88c5\u7cfb\u7edf
  • \u521d\u6b21\u542f\u52a8
  • \u8f6f\u4ef6\u5305
  • KDE \u76f8\u5173
  • \u7528\u6237\u5b57\u4f53
  • \u91cd\u88c5
  • Shell \u811a\u672c\u4e0e\u914d\u7f6e\u6587\u4ef6
  • \u5728 btrfs \u6587\u4ef6\u7cfb\u7edf\u4e0a\u4f7f\u7528 swapfile
"},{"location":"tags/#minecraft","title":"Minecraft","text":"
  • \u5728 openSUSE \u4e0a\u6e38\u73a9 Minecraft
"},{"location":"tags/#pandoc","title":"Pandoc","text":"
  • Pandoc\u2019s Markdown spec
  • \u4f7f\u7528 Pandoc \u5236\u4f5c\u7b80\u6613\u7684 Epub \u7535\u5b50\u4e66
"},{"location":"tags/#peerbanhelper","title":"PeerBanHelper","text":"
  • qBittorrent & PeerBanHelper \u914d\u7f6e\u5907\u5fd8\u5f55
"},{"location":"tags/#rss","title":"RSS","text":"
  • \u300e\u7ed9 RSS \u7231\u597d\u8005\u4eec\u7684\u4e00\u5c01\u4fe1\u300f\u4e3a\u4ec0\u4e48\u6211\u4eec\u5e94\u8be5\u63d0\u9ad8 RSS \u5237\u65b0\u95f4\u9694\uff1f
"},{"location":"tags/#windows","title":"Windows","text":"
  • KVM \u5907\u5fd8\u5f55
  • Windows 11 \u5b89\u88c5\u4e0e\u914d\u7f6e
  • \u5d4c\u5165\u5f0f python
"},{"location":"tags/#aria2","title":"aria2","text":"
  • \u5b89\u88c5\u4e0e\u4f7f\u7528 aria2
"},{"location":"tags/#markdown","title":"markdown","text":"
  • \u4f7f\u7528 Pandoc \u5236\u4f5c\u7b80\u6613\u7684 Epub \u7535\u5b50\u4e66
"},{"location":"tags/#opencc","title":"openCC","text":"
  • \u4f7f\u7528 OpenCC \u8fdb\u884c\u7b80\u7e41\u4e2d\u6587\u8f6c\u6362
"},{"location":"tags/#opensuse","title":"openSUSE","text":"
  • \u5728 openSUSE \u4e0a\u6e38\u73a9 Minecraft
"},{"location":"tags/#python","title":"python","text":"
  • \u5d4c\u5165\u5f0f python
"},{"location":"tags/#qbittorrent","title":"qBittorrent","text":"
  • \u5916\u7ad9\u94fe\u63a5
  • qBittorrent \u53c2\u6570\u8be6\u7ec6\u8bbe\u7f6e\u6559\u7a0b
  • qBittorrent & PeerBanHelper \u914d\u7f6e\u5907\u5fd8\u5f55
"},{"location":"tags/#shell","title":"shell","text":"
  • \u6df7\u4e71\u7684\u8ba1\u91cf\u5355\u4f4d
  • \u68c0\u67e5\u7cfb\u7edf\u4fe1\u606f
"},{"location":"tags/#_2","title":"\u52a8\u6f2b","text":"
  • \u5f71\u89c6&\u756a\u5267\u8bb0\u5f55\u5355
"},{"location":"tags/#_3","title":"\u6559\u7a0b","text":"
  • qBittorrent \u53c2\u6570\u8be6\u7ec6\u8bbe\u7f6e\u6559\u7a0b
  • \u4f7f\u7528 Pandoc \u5236\u4f5c\u7b80\u6613\u7684 Epub \u7535\u5b50\u4e66
"},{"location":"tags/#_4","title":"\u6587\u4ef6\u7cfb\u7edf","text":"
  • \u6587\u4ef6\u7cfb\u7edf\u3001\u6587\u4ef6\u6240\u6709\u6743\u53ca\u6587\u4ef6\u6743\u9650
"},{"location":"tags/#_5","title":"\u663e\u5361","text":"
  • \u6e38\u620f\u753b\u9762\u8bbe\u7f6e\u53c2\u8003
"},{"location":"tags/#_6","title":"\u6742\u8c08","text":"
  • Pandoc\u2019s Markdown spec
  • Windows 11 \u5b89\u88c5\u4e0e\u914d\u7f6e
  • \u5f71\u89c6&\u756a\u5267\u8bb0\u5f55\u5355
  • \u5b89\u88c5\u4e0e\u4f7f\u7528 aria2
  • \u6e38\u620f\u753b\u9762\u8bbe\u7f6e\u53c2\u8003
  • \u4f7f\u7528 Pandoc \u5236\u4f5c\u7b80\u6613\u7684 Epub \u7535\u5b50\u4e66
  • \u4f7f\u7528 OpenCC \u8fdb\u884c\u7b80\u7e41\u4e2d\u6587\u8f6c\u6362
  • \u5728 openSUSE \u4e0a\u6e38\u73a9 Minecraft
  • \u5d4c\u5165\u5f0f python
  • qBittorrent & PeerBanHelper \u914d\u7f6e\u5907\u5fd8\u5f55
"},{"location":"tags/#_7","title":"\u7535\u5f71","text":"
  • \u5f71\u89c6&\u756a\u5267\u8bb0\u5f55\u5355
"},{"location":"tags/#_8","title":"\u7ad9\u52a1","text":"
  • \u5173\u4e8e\u6211
  • \u5173\u4e8e\u53cb\u94fe
  • \u5173\u4e8e\u8bb8\u53ef\u8bc1 About Licenses
"},{"location":"tags/#_9","title":"\u7ad9\u5916\u6587\u6863","text":"
  • \u5916\u7ad9\u94fe\u63a5
  • qBittorrent \u53c2\u6570\u8be6\u7ec6\u8bbe\u7f6e\u6559\u7a0b
  • \u300e\u7ed9 RSS \u7231\u597d\u8005\u4eec\u7684\u4e00\u5c01\u4fe1\u300f\u4e3a\u4ec0\u4e48\u6211\u4eec\u5e94\u8be5\u63d0\u9ad8 RSS \u5237\u65b0\u95f4\u9694\uff1f
"},{"location":"tags/#_10","title":"\u7b14\u8bb0","text":"
  • Pandoc\u2019s Markdown spec
  • \u5173\u4e8e
  • \u51c6\u5907\u5de5\u4f5c
  • \u5b89\u88c5\u7cfb\u7edf
  • \u521d\u6b21\u542f\u52a8
  • \u8f6f\u4ef6\u5305
  • KDE \u76f8\u5173
  • \u7528\u6237\u5b57\u4f53
  • \u91cd\u88c5
  • Shell \u811a\u672c\u4e0e\u914d\u7f6e\u6587\u4ef6
  • \u5728 btrfs \u6587\u4ef6\u7cfb\u7edf\u4e0a\u4f7f\u7528 swapfile
"},{"location":"tags/#_11","title":"\u8d44\u6599\u5e93","text":"
  • \u6df7\u4e71\u7684\u8ba1\u91cf\u5355\u4f4d
  • \u68c0\u67e5\u7cfb\u7edf\u4fe1\u606f
  • \u6587\u4ef6\u7cfb\u7edf\u3001\u6587\u4ef6\u6240\u6709\u6743\u53ca\u6587\u4ef6\u6743\u9650
  • .gpg\u3001.sig \u548c *.asc \u6587\u4ef6\u7684\u533a\u522b
  • KVM \u5907\u5fd8\u5f55
  • \u5b9a\u4e49
  • Shell \u8bed\u6cd5
"}]} \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index 1d2bdae4..d68dab9b 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,182 +2,182 @@ https://whiteboard-ui8.pages.dev/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/about/about-me/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/about/friends/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/about/license/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/archives/about/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/archives/external-index/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/archives/pandoc%27s-markdwon-spec/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/archives/qbittorrent-confs/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/archives/rss-refresh/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/blog/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/blog/2024/06/29/%E5%85%B3%E4%BA%8E%E6%9C%AC%E7%AB%99%E5%86%85%E5%AE%B9%E7%9A%84%E5%8F%98%E6%9B%B4/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/blog/2023/09/08/%E4%BD%A0%E5%A5%BD%E4%B8%96%E7%95%8C/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/essay/about/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/essay/linux/0-about/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/essay/linux/0-misc-of-unit/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/essay/linux/1-check-sys-info/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/essay/linux/1-fs-and-permission/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/essay/linux/1-gpg-and-sig-files/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/essay/linux/1-kvm/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/essay/linux/bash/0-about/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/essay/linux/bash/2-definitions/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/essay/linux/bash/3.1-syntax/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/essay/main/adjust-win11-for-popurse/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/essay/main/ainme/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/essay/main/aria2/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/essay/main/graphs-setup/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/essay/main/md-epub/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/essay/main/opencc/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/essay/main/play-minecraft/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/essay/main/python-embed/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/essay/main/qbittorrent-conf/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/essay/note/0-about/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/essay/note/1-preparation/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/essay/note/2-installation/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/essay/note/3-first-boot/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/essay/note/4-software/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/essay/note/5-kde/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/essay/note/6-fonts/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/essay/note/7-re-install/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/essay/note/8-shell-script/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/essay/note/9-swapfile-on-btrfs/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/blog/archive/2024/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/blog/archive/2023/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/blog/category/%E5%8D%9A%E5%AE%A2/ - 2024-11-16 + 2024-11-17 https://whiteboard-ui8.pages.dev/tags/ - 2024-11-16 + 2024-11-17 \ No newline at end of file diff --git a/sitemap.xml.gz b/sitemap.xml.gz index 060cc564..25167d68 100644 Binary files a/sitemap.xml.gz and b/sitemap.xml.gz differ