-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathindex.html
209 lines (189 loc) · 22.5 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
<!DOCTYPE html><html lang="zh-CN" data-theme="light"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0,viewport-fit=cover"><title>符号看象限</title><meta name="author" content="YangRucheng"><meta name="copyright" content="YangRucheng"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#ffffff"><meta name="description" content="博客、分享、经验、教程">
<meta property="og:type" content="website">
<meta property="og:title" content="符号看象限">
<meta property="og:url" content="https://blog.yangrucheng.top/">
<meta property="og:site_name" content="符号看象限">
<meta property="og:description" content="博客、分享、经验、教程">
<meta property="og:locale" content="zh_CN">
<meta property="og:image" content="https://avatars.githubusercontent.com/u/60175467?v=4">
<meta property="article:author" content="YangRucheng">
<meta property="article:tag" content="御坂网络工作室,博客,分享,经验,教程">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://avatars.githubusercontent.com/u/60175467?v=4"><link rel="shortcut icon" href="/favicon.ico"><link rel="canonical" href="https://blog.yangrucheng.top/"><link rel="preconnect" href="//cdn.jsdelivr.net"/><link rel="preconnect" href="//busuanzi.ibruce.info"/><link rel="stylesheet" href="/css/index.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free/css/all.min.css"><script>
(() => {
const saveToLocal = {
set: (key, value, ttl) => {
if (!ttl) return
const expiry = Date.now() + ttl * 86400000
localStorage.setItem(key, JSON.stringify({ value, expiry }))
},
get: key => {
const itemStr = localStorage.getItem(key)
if (!itemStr) return undefined
const { value, expiry } = JSON.parse(itemStr)
if (Date.now() > expiry) {
localStorage.removeItem(key)
return undefined
}
return value
}
}
window.btf = {
saveToLocal,
getScript: (url, attr = {}) => new Promise((resolve, reject) => {
const script = document.createElement('script')
script.src = url
script.async = true
Object.entries(attr).forEach(([key, val]) => script.setAttribute(key, val))
script.onload = script.onreadystatechange = () => {
if (!script.readyState || /loaded|complete/.test(script.readyState)) resolve()
}
script.onerror = reject
document.head.appendChild(script)
}),
getCSS: (url, id) => new Promise((resolve, reject) => {
const link = document.createElement('link')
link.rel = 'stylesheet'
link.href = url
if (id) link.id = id
link.onload = link.onreadystatechange = () => {
if (!link.readyState || /loaded|complete/.test(link.readyState)) resolve()
}
link.onerror = reject
document.head.appendChild(link)
}),
addGlobalFn: (key, fn, name = false, parent = window) => {
if (!false && key.startsWith('pjax')) return
const globalFn = parent.globalFn || {}
globalFn[key] = globalFn[key] || {}
globalFn[key][name || Object.keys(globalFn[key]).length] = fn
parent.globalFn = globalFn
}
}
const activateDarkMode = () => {
document.documentElement.setAttribute('data-theme', 'dark')
if (document.querySelector('meta[name="theme-color"]') !== null) {
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#0d0d0d')
}
}
const activateLightMode = () => {
document.documentElement.setAttribute('data-theme', 'light')
if (document.querySelector('meta[name="theme-color"]') !== null) {
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#ffffff')
}
}
btf.activateDarkMode = activateDarkMode
btf.activateLightMode = activateLightMode
const theme = saveToLocal.get('theme')
const mediaQueryDark = window.matchMedia('(prefers-color-scheme: dark)')
const mediaQueryLight = window.matchMedia('(prefers-color-scheme: light)')
if (theme === undefined) {
if (mediaQueryLight.matches) activateLightMode()
else if (mediaQueryDark.matches) activateDarkMode()
else {
const hour = new Date().getHours()
const isNight = hour <= 6 || hour >= 18
isNight ? activateDarkMode() : activateLightMode()
}
mediaQueryDark.addEventListener('change', () => {
if (saveToLocal.get('theme') === undefined) {
e.matches ? activateDarkMode() : activateLightMode()
}
})
} else {
theme === 'light' ? activateLightMode() : activateDarkMode()
}
const asideStatus = saveToLocal.get('aside-status')
if (asideStatus !== undefined) {
document.documentElement.classList.toggle('hide-aside', asideStatus === 'hide')
}
const detectApple = () => {
if (/iPad|iPhone|iPod|Macintosh/.test(navigator.userAgent)) {
document.documentElement.classList.add('apple')
}
}
detectApple()
})()
</script><script>const GLOBAL_CONFIG = {
root: '/',
algolia: undefined,
localSearch: undefined,
translate: undefined,
highlight: {"plugin":"highlight.js","highlightCopy":true,"highlightLang":true,"highlightHeightLimit":false,"highlightFullpage":false,"highlightMacStyle":false},
copy: {
success: '复制成功',
error: '复制失败',
noSupport: '浏览器不支持'
},
relativeDate: {
homepage: false,
post: false
},
runtime: '',
dateSuffix: {
just: '刚刚',
min: '分钟前',
hour: '小时前',
day: '天前',
month: '个月前'
},
copyright: undefined,
lightbox: 'null',
Snackbar: undefined,
infinitegrid: {
js: 'https://cdn.jsdelivr.net/npm/@egjs/infinitegrid/dist/infinitegrid.min.js',
buttonText: '加载更多'
},
isPhotoFigcaption: false,
islazyloadPlugin: false,
isAnchor: false,
percent: {
toc: true,
rightside: true,
},
autoDarkmode: true
}</script><script id="config-diff">var GLOBAL_CONFIG_SITE = {
title: '符号看象限',
isHighlightShrink: false,
isToc: false,
pageType: 'home'
}</script><meta name="generator" content="Hexo 7.3.0"></head><body><div id="sidebar"><div id="menu-mask"></div><div id="sidebar-menus"><div class="avatar-img text-center"><img src="https://avatars.githubusercontent.com/u/60175467?v=4" onerror="this.onerror=null;this.src='/img/friend_404.gif'" alt="avatar"/></div><div class="site-data text-center"><a href="/archives/"><div class="headline">文章</div><div class="length-num">4</div></a><a href="/tags/"><div class="headline">标签</div><div class="length-num">7</div></a><a href="/categories/"><div class="headline">分类</div><div class="length-num">0</div></a></div><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fa fa-home"></i><span> 首页</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fa fa-archive"></i><span> 时间轴</span></a></div><div class="menus_item"><a class="site-page" href="/tags/"><i class="fa-fw fa fa-tags"></i><span> 标签</span></a></div><div class="menus_item"><a class="site-page" href="/categories/"><i class="fa-fw fa fa-folder-open"></i><span> 分类</span></a></div><div class="menus_item"><a class="site-page" href="/link/"><i class="fa-fw fa fa-link"></i><span> 友链</span></a></div></div></div></div><div class="page" id="body-wrap"><header class="full_page" id="page-header" style="background-image: url(/static/images/默认背景.jpg);"><nav id="nav"><span id="blog-info"><a class="nav-site-title" href="/"><img class="site-icon" src="/favicon.ico" alt="Logo"><span class="site-name">符号看象限</span></a></span><div id="menus"><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fa fa-home"></i><span> 首页</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fa fa-archive"></i><span> 时间轴</span></a></div><div class="menus_item"><a class="site-page" href="/tags/"><i class="fa-fw fa fa-tags"></i><span> 标签</span></a></div><div class="menus_item"><a class="site-page" href="/categories/"><i class="fa-fw fa fa-folder-open"></i><span> 分类</span></a></div><div class="menus_item"><a class="site-page" href="/link/"><i class="fa-fw fa fa-link"></i><span> 友链</span></a></div></div><div id="toggle-menu"><span class="site-page"><i class="fas fa-bars fa-fw"></i></span></div></div></nav><div id="site-info"><h1 id="site-title">符号看象限</h1><div id="site_social_icons"><a class="social-icon" href="https://github.com/YangRucheng/Blog-Hexo" target="_blank" title="Github"><i class="fab fa-github"></i></a><a class="social-icon" href="https://qm.qq.com/q/rtZpWJIgPQ" target="_blank" title="QQ"><i class="fab fa-qq"></i></a><a class="social-icon" href="https://space.bilibili.com/472876342" target="_blank" title="哔哩哔哩"><i class="fab fa-bilibili"></i></a><a class="social-icon" href="mailto:[email protected]" target="_blank" title="Email"><i class="fas fa-envelope"></i></a></div></div><div id="scroll-down"><i class="fas fa-angle-down scroll-down-effects"></i></div></header><main class="layout" id="content-inner"><div class="recent-posts nc" id="recent-posts"><div class="recent-post-items"><div class="recent-post-item"><div class="post_cover left"><a href="/posts/2025/02/95dfce22be52/" title="网站建设方案书"><img class="post-bg" src="https://api.anosu.top/img/?sort=furry&_=4" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="网站建设方案书"></a></div><div class="recent-post-info"><a class="article-title" href="/posts/2025/02/95dfce22be52/" title="网站建设方案书">网站建设方案书</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2025-02-19T16:00:00.000Z" title="发表于 2025-02-20 00:00">2025-02-20</time></span></div><div class="content">企业备案...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/posts/2024/12/c9940267708a/" title="把 NoneBot 接入微信公众号 —— 写一个 Adapter"><img class="post-bg" src="https://api.anosu.top/img/?sort=furry&_=2" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="把 NoneBot 接入微信公众号 —— 写一个 Adapter"></a></div><div class="recent-post-info"><a class="article-title" href="/posts/2024/12/c9940267708a/" title="把 NoneBot 接入微信公众号 —— 写一个 Adapter">把 NoneBot 接入微信公众号 —— 写一个 Adapter</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2024-12-19T16:00:00.000Z" title="发表于 2024-12-20 00:00">2024-12-20</time></span></div><div class="content"> 本篇记录写一个 NoneBot2 Adapter for 微信公众平台 学到的语法 阅读前,默认您已经了解 NoneBot 的构成 并熟悉事件处理流程。本文均以 微信公众平台使用的 WebHook 方式推送事件为例。 如何写一个 adapter ?参考 编写适配器 1234567891011121314nonebot-adapter-wxmp├── nonebot│ ├── adapters│ │ ├── wxmp│ │ │ ├── __init__.py│ │ │ ├── adapter.py│ │ │ ├── bot.py│ │ │ ├── config.py│ │ │ ├── event.py│ │ │ ├── util.py│ │ │ ├── exception.py│ │ │ └── message.py├── pyproject.toml└── README.md adapter 的结果在官方文档中已有详细介绍,不在此赘述。 adapter...</div></div></div><div class="recent-post-item"><div class="post_cover left"><a href="/posts/2023/01/6cbc3af20e31/" title="Ubuntu 常用命令记录"><img class="post-bg" src="https://api.anosu.top/img/?sort=furry&_=1" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Ubuntu 常用命令记录"></a></div><div class="recent-post-info"><a class="article-title" href="/posts/2023/01/6cbc3af20e31/" title="Ubuntu 常用命令记录">Ubuntu 常用命令记录</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2023-01-19T16:00:00.000Z" title="发表于 2023-01-20 00:00">2023-01-20</time></span></div><div class="content"> 本篇主要记录 Ubuntu 安装软件的过程 开启root账号ssh12345678910# 写入证书cat ~/.ssh/id_rsa.pub | tee /root/.ssh/authorized_keys && chmod 600 /root/.ssh/authorized_keys# 启用root登录sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config# 禁用密码登录sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config# 启用证书登录sed -i 's/#PubkeyAuthentication yes/PubkeyAuthentication yes/' /etc/ssh/sshd_config# 重启sshsystemctl restart ssh ...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="/posts/2022/03/719dbd0f8d3c/" title="常用容器配置备份"><img class="post-bg" src="https://api.anosu.top/img/?sort=furry&_=3" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="常用容器配置备份"></a></div><div class="recent-post-info"><a class="article-title" href="/posts/2022/03/719dbd0f8d3c/" title="常用容器配置备份">常用容器配置备份</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2022-03-19T16:00:00.000Z" title="发表于 2022-03-20 00:00">2022-03-20</time></span></div><div class="content">安装 Portainer 容器管理工具创建网络, 以便后续使用12345678network_name="network"if docker network ls | grep -q "network"; then echo "网络已存在"else docker network create --driver bridge --gateway=172.18.0.1 --subnet=172.18.0.0/24 network echo "网络创建成功"fi 安装 Portainer 社区版1234567docker run -d \ -p 9000:9000 \ --name=Portainer \ --restart=always \ -v /var/run/docker.sock:/var/run/docker.sock -v /home/Docker/Portainer:/data portainer/portainer-ce 安装 Portainer...</div></div></div></div><nav id="pagination"><div class="pagination"><span class="page-number current">1</span></div></nav></div><div class="aside-content" id="aside-content"><div class="card-widget card-info text-center"><div class="avatar-img"><img src="https://avatars.githubusercontent.com/u/60175467?v=4" onerror="this.onerror=null;this.src='/img/friend_404.gif'" alt="avatar"/></div><div class="author-info-name">YangRucheng</div><div class="author-info-description">博客、分享、经验、教程</div><div class="site-data"><a href="/archives/"><div class="headline">文章</div><div class="length-num">4</div></a><a href="/tags/"><div class="headline">标签</div><div class="length-num">7</div></a><a href="/categories/"><div class="headline">分类</div><div class="length-num">0</div></a></div><a id="card-info-btn" target="_blank" rel="noopener" href="https://github.com/YangRucheng"><i class="fab fa-github"></i><span>关注我的GitHub</span></a><div class="card-info-social-icons"><a class="social-icon" href="https://github.com/YangRucheng/Blog-Hexo" target="_blank" title="Github"><i class="fab fa-github"></i></a><a class="social-icon" href="https://qm.qq.com/q/rtZpWJIgPQ" target="_blank" title="QQ"><i class="fab fa-qq"></i></a><a class="social-icon" href="https://space.bilibili.com/472876342" target="_blank" title="哔哩哔哩"><i class="fab fa-bilibili"></i></a><a class="social-icon" href="mailto:[email protected]" target="_blank" title="Email"><i class="fas fa-envelope"></i></a></div></div><div class="card-widget card-announcement"><div class="item-headline"><i class="fas fa-bullhorn fa-shake"></i><span>公告</span></div><div class="announcement_content">欢迎来到我的小站👏🏻</div></div><div class="sticky_layout"><div class="card-widget card-recent-post"><div class="item-headline"><i class="fas fa-history"></i><span>最新文章</span></div><div class="aside-list"><div class="aside-list-item"><a class="thumbnail" href="/posts/2025/02/95dfce22be52/" title="网站建设方案书"><img src="https://api.anosu.top/img/?sort=furry&_=4" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="网站建设方案书"/></a><div class="content"><a class="title" href="/posts/2025/02/95dfce22be52/" title="网站建设方案书">网站建设方案书</a><time datetime="2025-02-19T16:00:00.000Z" title="发表于 2025-02-20 00:00">2025-02-20</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/posts/2024/12/c9940267708a/" title="把 NoneBot 接入微信公众号 —— 写一个 Adapter"><img src="https://api.anosu.top/img/?sort=furry&_=2" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="把 NoneBot 接入微信公众号 —— 写一个 Adapter"/></a><div class="content"><a class="title" href="/posts/2024/12/c9940267708a/" title="把 NoneBot 接入微信公众号 —— 写一个 Adapter">把 NoneBot 接入微信公众号 —— 写一个 Adapter</a><time datetime="2024-12-19T16:00:00.000Z" title="发表于 2024-12-20 00:00">2024-12-20</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/posts/2023/01/6cbc3af20e31/" title="Ubuntu 常用命令记录"><img src="https://api.anosu.top/img/?sort=furry&_=1" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Ubuntu 常用命令记录"/></a><div class="content"><a class="title" href="/posts/2023/01/6cbc3af20e31/" title="Ubuntu 常用命令记录">Ubuntu 常用命令记录</a><time datetime="2023-01-19T16:00:00.000Z" title="发表于 2023-01-20 00:00">2023-01-20</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/posts/2022/03/719dbd0f8d3c/" title="常用容器配置备份"><img src="https://api.anosu.top/img/?sort=furry&_=3" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="常用容器配置备份"/></a><div class="content"><a class="title" href="/posts/2022/03/719dbd0f8d3c/" title="常用容器配置备份">常用容器配置备份</a><time datetime="2022-03-19T16:00:00.000Z" title="发表于 2022-03-20 00:00">2022-03-20</time></div></div></div></div><div class="card-widget card-tags"><div class="item-headline"><i class="fas fa-tags"></i><span>标签</span></div><div class="card-tag-cloud"><a href="/tags/Ubuntu/" style="font-size: 1.1em; color: #999">Ubuntu</a> <a href="/tags/Linux/" style="font-size: 1.5em; color: #99a9bf">Linux</a> <a href="/tags/NoneBot/" style="font-size: 1.1em; color: #999">NoneBot</a> <a href="/tags/Doc/" style="font-size: 1.1em; color: #999">Doc</a> <a href="/tags/Python/" style="font-size: 1.1em; color: #999">Python</a> <a href="/tags/Docker/" style="font-size: 1.1em; color: #999">Docker</a> <a href="/tags/QQ-Bot/" style="font-size: 1.1em; color: #999">QQ Bot</a></div></div><div class="card-widget card-archives">
<div class="item-headline">
<i class="fas fa-archive"></i>
<span>归档</span>
</div>
<ul class="card-archive-list">
<li class="card-archive-list-item">
<a class="card-archive-list-link" href="/archives/2025/02/">
<span class="card-archive-list-date">
二月 2025
</span>
<span class="card-archive-list-count">1</span>
</a>
</li>
<li class="card-archive-list-item">
<a class="card-archive-list-link" href="/archives/2024/12/">
<span class="card-archive-list-date">
十二月 2024
</span>
<span class="card-archive-list-count">1</span>
</a>
</li>
<li class="card-archive-list-item">
<a class="card-archive-list-link" href="/archives/2023/01/">
<span class="card-archive-list-date">
一月 2023
</span>
<span class="card-archive-list-count">1</span>
</a>
</li>
<li class="card-archive-list-item">
<a class="card-archive-list-link" href="/archives/2022/03/">
<span class="card-archive-list-date">
三月 2022
</span>
<span class="card-archive-list-count">1</span>
</a>
</li>
</ul>
</div><div class="card-widget card-webinfo"><div class="item-headline"><i class="fas fa-chart-line"></i><span>网站信息</span></div><div class="webinfo"><div class="webinfo-item"><div class="item-name">文章数目 :</div><div class="item-count">4</div></div><div class="webinfo-item"><div class="item-name">本站访客数 :</div><div class="item-count" id="busuanzi_value_site_uv"><i class="fa-solid fa-spinner fa-spin"></i></div></div><div class="webinfo-item"><div class="item-name">本站总浏览量 :</div><div class="item-count" id="busuanzi_value_site_pv"><i class="fa-solid fa-spinner fa-spin"></i></div></div><div class="webinfo-item"><div class="item-name">最后更新时间 :</div><div class="item-count" id="last-push-date" data-lastPushDate="2025-02-18T09:38:29.572Z"><i class="fa-solid fa-spinner fa-spin"></i></div></div></div></div></div></div></main><footer id="footer"><div id="footer-wrap"><div class="copyright">©2019 - 2025 By YangRucheng</div><div class="framework-info"><span>框架 </span><a target="_blank" rel="noopener" href="https://hexo.io">Hexo 7.3.0</a><span class="footer-separator">|</span><span>主题 </span><a target="_blank" rel="noopener" href="https://github.com/jerryc127/hexo-theme-butterfly">Butterfly 5.3.3</a></div></div></footer></div><div id="rightside"><div id="rightside-config-hide"><button id="darkmode" type="button" title="日间和夜间模式切换"><i class="fas fa-adjust"></i></button><button id="hide-aside-btn" type="button" title="单栏和双栏切换"><i class="fas fa-arrows-alt-h"></i></button></div><div id="rightside-config-show"><button id="rightside-config" type="button" title="设置"><i class="fas fa-cog fa-spin"></i></button><button id="go-up" type="button" title="回到顶部"><span class="scroll-percent"></span><i class="fas fa-arrow-up"></i></button></div></div><div><script src="/js/utils.js"></script><script src="/js/main.js"></script><div class="js-pjax"></div><script async data-pjax src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script></div></body></html>