Deployed f1aff1c with MkDocs version: 1.6.1

This commit is contained in:
github-actions[bot]
2026-01-05 10:41:35 +00:00
commit 090edec0c8
247 changed files with 74427 additions and 0 deletions

14
theme/main.html Normal file
View File

@@ -0,0 +1,14 @@
{% extends "base.html" %}
{% block scripts %}
<script type="module" src="https://unpkg.com/@orama/wc-components@latest/dist/orama-ui/orama-ui.esm.js"></script>
<script nomodule src="https://unpkg.com/@orama/wc-components@latest/dist/cjs/orama-ui.cjs.js"></script>
{{ super() }}
{% endblock %}
{% block announce %}
<span style="font-size: .6rem !important;">{{
'If you think this project is good and helpful to you, please click the Star in the upper right corner of the warehouse and share it with more friends.' if i18n_page_locale == 'en' else '如果您覺得這個專案不錯對您有幫助的話,請點擊倉庫右上角的 Star 並分享給更多的朋友' if i18n_page_locale == 'zh-Hant' else '如果觉得这个项目不错对您有所帮助的话,请点击仓库右上角的 Star 并分享给更多的朋友'
}}</span>
&nbsp;&nbsp;<span class="twemoji heart" style="font-size: .6rem;"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 20.408c-.492.308-.903.546-1.192.709q-.23.129-.463.252h-.002a.75.75 0 0 1-.686 0 17 17 0 0 1-.465-.252 31 31 0 0 1-4.803-3.34C3.8 15.572 1 12.331 1 8.513 1 5.052 3.829 2.5 6.736 2.5 9.03 2.5 10.881 3.726 12 5.605 13.12 3.726 14.97 2.5 17.264 2.5 20.17 2.5 23 5.052 23 8.514c0 3.818-2.801 7.06-5.389 9.262A31 31 0 0 1 14 20.408"></path></svg></span>
{% endblock %}

View File

@@ -0,0 +1,54 @@
{% if page.meta.comments %}
<h2 id="__comments">{{ lang.t("meta.comments") }}</h2>
{% if page.meta.comments_description %}
<blockquote>{{ page.meta.comments_description }}</blockquote>
{% endif %}
<script src="https://giscus.app/client.js"
data-repo="SuperManito/LinuxMirrors"
data-repo-id="MDEwOlJlcG9zaXRvcnkzMzI2Nzg5NzI="
data-category="General"
data-category-id="DIC_kwDOE9RHPM4CWOQP"
data-mapping="pathname"
data-strict="0"
data-reactions-enabled="1"
data-emit-metadata="0"
data-input-position="top"
data-theme="preferred_color_scheme"
data-lang="{{'en' if i18n_page_locale == 'en' else 'zh-Hant' if i18n_page_locale == 'zh-Hant' else 'zh-CN'}}"
data-loading="lazy"
crossorigin="anonymous"
async
>
</script>
<script>
var giscus = document.querySelector("script[src*=giscus]")
var palette = __md_get("__palette")
if (palette && typeof palette.color === "object") {
var theme = palette.color.scheme === "slate"
? "transparent_dark"
: "light"
giscus.setAttribute("data-theme", theme)
}
document.addEventListener("DOMContentLoaded", function() {
var ref = document.querySelector("[data-md-component=palette]")
ref.addEventListener("change", function() {
var palette = __md_get("__palette")
if (palette && typeof palette.color === "object") {
var theme = palette.color.scheme === "slate"
? "transparent_dark"
: "light"
var frame = document.querySelector(".giscus-frame")
frame.contentWindow.postMessage(
{ giscus: { setConfig: { theme } } },
"https://giscus.app"
)
}
})
})
</script>
{% endif %}

View File

@@ -0,0 +1,17 @@
{% include "partials/tags.html" %}
{% include "partials/actions.html" %}
{% if "\u003ch1" not in page.content %}
<h1>{{ page.title | d(config.site_name, true)}}</h1>
{% endif %}
{{ page.content }}
{% include "partials/source-file.html" %}
{% include "partials/feedback.html" %}
{% include "partials/comments.html" %}
<orama-search-box class="orama-ui"></orama-search-box>

View File

@@ -0,0 +1,16 @@
<div class="md-copyright">
<div class="md-copyright__highlight">
{% if config.copyright %}
{{ config.copyright }}
{% endif %}
</br>
{% if i18n_page_locale == 'en' %}
This website is deployed by Netlify and provides global CDN edge network acceleration.
{% elif i18n_page_locale == 'zh-Hant' %}
本網站由 Netlify 部署並提供全球 CDN 邊緣網路加速
{% else %}
本网站由 Netlify 部署并提供全球 CDN 边缘网络加速
{% endif %}
<a href="https://www.netlify.com" title="Netlify" target="_blank" rel="noopener noreferrer"><img height="64" width="64" src="/assets/images/icon/netlify.svg" style="vertical-align: -0.6em"></a>
</div>
</div>

View File

@@ -0,0 +1,85 @@
{% set class = "md-header" %}
{% if "navigation.tabs.sticky" in features %}
{% set class = class ~ " md-header--shadow md-header--lifted" %}
{% elif "navigation.tabs" not in features %}
{% set class = class ~ " md-header--shadow" %}
{% endif %}
<header class="{{ class }}" data-md-component="header">
<nav
class="md-header__inner md-grid"
aria-label="{{ lang.t('header') }}"
>
<a
href="{{ config.extra.homepage | d(nav.homepage.url, true) | url }}"
title="{{ config.site_name | e }}"
class="md-header__button md-logo"
aria-label="{{ config.site_name }}"
data-md-component="logo"
>
{% include "partials/logo.html" %}
</a>
<label class="md-header__button md-icon" for="__drawer">
{% set icon = config.theme.icon.menu or "octicons/list-unordered-16" %}
{% include ".icons/" ~ icon ~ ".svg" %}
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
{{ config.site_name }}
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
{% if page.meta and page.meta.title %}
{{ page.meta.title }}
{% else %}
{{ page.title }}
{% endif %}
</span>
</div>
</div>
</div>
{% if config.theme.palette %}
{% if not config.theme.palette is mapping %}
{% include "partials/palette.html" %}
{% endif %}
{% endif %}
{% if not config.theme.palette is mapping %}
{% include "partials/javascripts/palette.html" %}
{% endif %}
{% if config.extra.alternate %}
{% include "partials/alternate.html" %}
{% endif %}
{% if "material/search" in config.plugins %}
{% set search = config.plugins["material/search"] | attr("config") %}
{% if search.enabled %}
<label class="md-header__button md-icon" for="__search">
{% set icon = config.theme.icon.search or "octicons/search-16" %}
{% include ".icons/" ~ icon ~ ".svg" %}
</label>
{% include "partials/search.html" %}
{% endif %}
{% endif %}
{% if config.repo_url %}
<div class="md-header__source">
{% include "partials/source.html" %}
</div>
{% endif %}
</nav>
{% if "navigation.tabs.sticky" in features %}
{% if "navigation.tabs" in features %}
{% include "partials/tabs.html" %}
{% endif %}
{% endif %}
</header>

View File

@@ -0,0 +1,34 @@
<form class="md-header__option" data-md-component="palette">
{% for option in config.theme.palette %}
{% set scheme = option.scheme | d("default", true) %}
{% set primary = option.primary | d("indigo", true) %}
{% set accent = option.accent | d("indigo", true) %}
<input
class="md-option"
data-md-color-media="{{ option.media }}"
data-md-color-scheme="{{ scheme | replace(' ', '-') }}"
data-md-color-primary="{{ primary | replace(' ', '-') }}"
data-md-color-accent="{{ accent | replace(' ', '-') }}"
{% if option.toggle %}
aria-label="{{ option.toggle.name }}"
{% else %}
aria-hidden="true"
{% endif %}
type="radio"
name="__palette"
id="__palette_{{ loop.index0 }}"
/>
{% if option.toggle %}
<label
class="md-header__button md-icon"
title="{{ option.toggle.name }}"
for="__palette_{{ loop.index % loop.length }}"
hidden
>
<div class="palette-icon">
{% include ".icons/" ~ option.toggle.icon ~ ".svg" %}
</div>
</label>
{% endif %}
{% endfor %}
</form>

View File

@@ -0,0 +1,98 @@
<a class="md-header__button md-icon coze-icon-wrapper" href="https://www.coze.cn/store/agent/7503197985959428108?bot_id=true" target="_blank" rel="noopener noreferrer" title="{{'Coze AI Assistant' if i18n_page_locale == 'en' else 'Coze AI 助手' if i18n_page_locale == 'zh-Hant' else '扣子 AI 助手'}}">
<div aria-label="Coze" class="coze-icon-bg">
<svg fill="currentColor" fill-rule="evenodd" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg" color="#fff" style="display: block; margin: auto;">
<path clip-rule="evenodd" d="M3.908 9.096A8.092 8.092 0 0111.998 1h.006c4.468 0 8.09 3.628 8.09 8.096v3.392h1.942c2.23 0 2.732 3.126.615 3.828l-2.556.85v1.466a1.947 1.947 0 01-2.818 1.742l-1.42-.707c-.067-.03-.149 0-.17.071-1.147 3.587-6.225 3.587-7.373 0a.123.123 0 00-.169-.07l-1.42.706c-1.29.65-2.817-.292-2.817-1.742v-1.466l-2.557-.85c-2.122-.697-1.614-3.828.615-3.828h1.942V9.096zm4.571 2.613a.784.784 0 00-.784.784v1.568a.784.784 0 101.568 0v-1.568a.784.784 0 00-.784-.784zm7.045.779a.784.784 0 100 1.568.784.784 0 000-1.568zm-6.186 3.415a.78.78 0 00.17.254 3.517 3.517 0 004.98 0 .782.782 0 10-1.106-1.107 1.958 1.958 0 01-2.767 0 .78.78 0 00-1.277.254.78.78 0 000 .6z"></path>
</svg>
</div>
</a>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search" onsubmit="return false;">
<input type="text" class="md-search__input" name="query" aria-label="{{'AI Search' if i18n_page_locale == 'en' else 'AI 搜尋' if i18n_page_locale == 'zh-Hant' else 'AI 搜索'}}" placeholder="{{'AI Search' if i18n_page_locale == 'en' else 'AI 搜尋' if i18n_page_locale == 'zh-Hant' else 'AI 搜索'}}" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" readonly required onclick="OpenOramaSearchComponent()" />
<label class="md-search__icon md-icon" for="__search" onclick="OpenOramaSearchComponent()"> {% set icon = config.theme.icon.search or "material/magnify" %} {% include ".icons/" ~ icon ~ ".svg" %} {% set icon = config.theme.icon.previous or "material/arrow-left" %} {% include ".icons/" ~ icon ~ ".svg" %} </label>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">{{ lang.t("search.result.initializer") }}</div>
<ol class="md-search-result__list" role="presentation"></ol>
</div>
</div>
</div>
</div>
<script>
const __lang = "{{ i18n_page_locale }}";
let __notReadyMsg = '';
switch (__lang) {
case 'en':
__notReadyMsg = "The search component has not yet been loaded. Please try again later.";
break;
case 'zh-Hant':
__notReadyMsg = "搜尋元件尚未載入完畢,請稍後再試。";
break;
default:
__notReadyMsg = "搜索组件尚未加载完毕,请稍后再试。";
}
function OpenOramaSearchComponent() {
if (window.openOramaSearch) {
window.openOramaSearch();
} else {
alert$.next(__notReadyMsg);
}
}
document.addEventListener('DOMContentLoaded', function() {
const searchToggle = document.getElementById('__search');
if (searchToggle) {
searchToggle.addEventListener('change', function() {
if (this.checked) {
this.checked = false;
OpenOramaSearchComponent();
}
});
}
});
</script>
<style>
.md-search__output {
display: none !important;
}
.md-search__inner {
padding-left: 8px;
}
.md-search__input {
cursor: pointer !important;
}
.md-search__form {
border-radius: 6px;
}
@media screen and (min-width: 60em) {
.md-search__inner {
width: 8.7rem;
}
}
.coze-icon-bg {
display: flex;
align-items: center;
justify-content: center;
background: rgb(77, 83, 232);
border-radius: 6px;
color: #fff;
height: 28px;
width: 28px;
}
.coze-icon-bg svg {
width: 20px !important;
height: 20px !important;
display: block;
}
.coze-icon-wrapper {
@media screen and (max-width: 768px) {
display: none !important;
}
}
</style>

93
theme/partials/toc.html Normal file
View File

@@ -0,0 +1,93 @@
<nav class="md-nav md-nav--secondary" aria-label="{{ title }}">
{% set toc = page.toc %} {% set first = toc | first %} {% if first and first.level == 1 %} {% set toc = first.children %} {% endif %} {% if toc %}
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
{{ title }}
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
{% for toc_item in toc %} {% include "partials/toc-item.html" %} {% endfor %}
</ul>
<div class="md-content" data-md-component="content">
<div class="sponsor sponsor-toc">
<div class="sponsor-label">
<strong>{{'Sponsors' if i18n_page_locale == 'en' else '贊助商' if i18n_page_locale == 'zh-Hant' else '赞助商'}}</strong>
</div>
<div class="sponsor-wrapper sponsor-flex-wrapper-toc no-select">
<a class="sponsor-item sponsor-item-toc sponsor-item-toc-full-row" target="_blank" rel="noopener noreferrer" href="https://1panel.cn" title="新一代的 Linux 服务器运维管理面板">
<img src="/assets/images/sponsor/1panel.png" alt="1Panel" style="filter: grayscale(1) invert(0.6)" />
</a>
<a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://www.duotuyun.com" title="智能化防护,每一次连接皆在安全之下">
<img src="/assets/images/sponsor/duotuyun-light.svg#only-light" alt="多途云" style="filter: grayscale(1) invert(0.5)" />
<img src="/assets/images/sponsor/duotuyun-dark.svg#only-dark" alt="多途云" style="filter: grayscale(1) invert(0.5)" />
</a>
<a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://1ms.run?utm_source=linuxmirrors" title="专为中国开发者提供镜像极速下载服务,告别 Docker 镜像拉取慢!</br>支持 Docker Hub、gcr.io、registry.k8s.io 等主流镜像仓库。">
<img src="/assets/images/sponsor/1ms-light.svg#only-light" alt="毫秒镜像" style="filter: grayscale(1) invert(0.5)" />
<img src="/assets/images/sponsor/1ms-dark.svg#only-dark" alt="毫秒镜像" style="filter: grayscale(1) invert(0.4)" />
</a>
<a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://www.dkdun.cn/aff/VAWGETUL" title="专注独立IP高频VPSR9/i9系列定制">
<img src="/assets/images/sponsor/linfengyun.png#only-light" alt="林枫云" style="filter: grayscale(1) invert(0.6)" />
<img src="/assets/images/sponsor/linfengyun.png#only-dark" alt="林枫云" style="filter: grayscale(1) invert(0.5)" />
</a>
<a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://www.bsncdn.org" title="香港日本高防CDN免实名/免备案,轻松阻断 DDOS / CC 攻击">
<img src="/assets/images/sponsor/businiaocdn.png#only-light" alt="不死鸟CDN" style="filter: grayscale(1) brightness(1)" />
<img src="/assets/images/sponsor/businiaocdn.png#only-dark" alt="不死鸟CDN" style="filter: grayscale(1) brightness(1.4)" />
</a>
<a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://www.qingyeyun.com" title="香港1T高防自助防火墙无视CC大带宽回国优化线路">
<img src="/assets/images/sponsor/qingyeyun-light.png#only-light" alt="青叶云" style="filter: grayscale(1) invert(0.4)" />
<img src="/assets/images/sponsor/qingyeyun-dark.png#only-dark" alt="青叶云" style="filter: grayscale(1) invert(0.4)" />
</a>
<a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://langlangy.cn/?icf164b" title="BGP网络让每一次连接都纵享丝滑明码标价、无套路续费">
<img src="/assets/images/sponsor/langlangyun-light.png#only-light" alt="浪浪云" style="filter: grayscale(1) invert(0.3)" />
<img src="/assets/images/sponsor/langlangyun-dark.png#only-dark" alt="浪浪云" style="filter: grayscale(1) invert(0.3)" />
</a>
<a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://www.lcayun.com" title="专业云计算服务器提供商">
<img src="/assets/images/sponsor/laikayun-light.png#only-light" alt="莱卡云" style="filter: grayscale(1) invert(0.4)" />
<img src="/assets/images/sponsor/laikayun-dark.png#only-dark" alt="莱卡云" style="filter: grayscale(1) invert(0.3)" />
</a>
<a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://yunyoo.cc/aff/KPTJHNWM" title="全球高性价比云服务器低至15.99元起">
<img src="/assets/images/sponsor/yunyoo.png#only-light" alt="云悠YUNYOO" style="filter: grayscale(1) brightness(1)" />
<img src="/assets/images/sponsor/yunyoo.png#only-dark" alt="云悠YUNYOO" style="filter: grayscale(1) brightness(1.1)" />
</a>
<a class="sponsor-item sponsor-item-toc" target="_blank" href="https://www.hkgserver.com" title="全球家宽双ISP住宅原生云服务器54元/月起">
<img src="/assets/images/sponsor/hkgserver-light.png#only-light" alt="HKGserver" style="filter: grayscale(1) invert(0.5)" />
<img src="/assets/images/sponsor/hkgserver-dark.png#only-dark" alt="HKGserver" style="filter: grayscale(1) invert(0.4)" />
</a>
<a class="sponsor-item sponsor-item-toc" target="_blank" href="https://www.wuyouyun.com" title="BGP多线高性能、高主频自动化云、物理服务器">
<img src="/assets/images/sponsor/wuyouyun.png#only-light" alt="无忧云" style="filter: grayscale(1) invert(0.4)" />
<img src="/assets/images/sponsor/wuyouyun.png#only-dark" alt="无忧云" style="filter: grayscale(1) invert(0.8)" />
</a>
<a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://arcadia.cool" title="一站式代码运维平台">
<img src="/assets/images/sponsor/arcadia-light.png#only-light" alt="Arcadia" style="padding: 0 2px; filter: grayscale(1) invert(0.5)" />
<img src="/assets/images/sponsor/arcadia-dark.png#only-dark" alt="Arcadia" style="padding: 0 2px; filter: grayscale(1) invert(0.4)" />
</a>
<a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://www.lucdn.cn?utm_source=linuxmirrors" title="专业CDN加速、防御亚太百兆三网优化CDN低至9元起">
<img src="/assets/images/sponsor/yuluyundun-light.png#only-light" alt="语鹿云盾" style="filter: grayscale(1) invert(0.4)" />
<img src="/assets/images/sponsor/yuluyundun-dark.png#only-dark" alt="语鹿云盾" style="filter: grayscale(1) invert(0.4)" />
</a>
<a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://cb2.cn" title="国内外建站快响应服务器的不二之选">
<img src="/assets/images/sponsor/bueryun.svg#only-light" alt="不二云" style="filter: grayscale(1) invert(0.6)" />
<img src="/assets/images/sponsor/bueryun.svg#only-dark" alt="不二云" style="filter: grayscale(1) invert(0.7)" />
</a>
<a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://idc.cn2network.com" title="超低价优质机器免实名自动开通">
<img src="/assets/images/sponsor/cn2network.png#only-light" alt="CN2network" style="filter: grayscale(1) invert(0.4)" />
<img src="/assets/images/sponsor/cn2network.png#only-dark" alt="CN2network" style="filter: grayscale(1) invert(0.3)" />
</a>
<a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://www.crash.work" title="专注高性能国内外云服务器">
<img src="/assets/images/sponsor/posuigongfangyun.png#only-light" alt="破碎工坊云" style="filter: grayscale(1) invert(0.2)" />
<img src="/assets/images/sponsor/posuigongfangyun.png#only-dark" alt="破碎工坊云" style="filter: grayscale(1) invert(0.8)" />
</a>
<a class="sponsor-item sponsor-item-toc" target="_blank" href="https://www.runxinyun.com" title="挂机宝海外云服务器低至9.9元/月">
<img src="/assets/images/sponsor/runxinyun-light.png#only-light" alt="润信云" style="filter: grayscale(1) invert(0.5)" />
<img src="/assets/images/sponsor/runxinyun-dark.png#only-dark" alt="润信云" style="filter: grayscale(1) invert(0.4)" />
</a>
<!-- <a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" title="{{'Become a Sponsor' if i18n_page_locale == 'en' else '成為贊助商' if i18n_page_locale == 'zh-Hant' else '成为赞助商'}}" href="/sponsor/">
<span style="font-size: 0.6rem; opacity: 0.5">
<strong>{{'Become a Sponsor' if i18n_page_locale == 'en' else '成為贊助商' if i18n_page_locale == 'zh-Hant' else '成为赞助商'}}</strong>
</span>
</a> -->
</div>
</div>
</div>
{% endif %}
</nav>