Site updated: 2022-09-28 16:21:37
This commit is contained in:
1 parent
f754cfc710
commit
99cabfc2cb
45 files changed
+94
-60
No files matched your search
@@ -6,6 +6,17 @@
|
||||
"description": "hito的博客",
|
||||
"home_page_url": "https://blog.jingxiyuan.cn",
|
||||
"items": [
|
||||
{
|
||||
"id": "https://blog.jingxiyuan.cn/2022/09/28/%E6%B7%B1%E6%B7%B1%E7%9A%84%E6%8C%AB%E8%B4%A5%E5%92%8C%E6%97%A0%E5%8A%A9%E6%84%9F/",
|
||||
"url": "https://blog.jingxiyuan.cn/2022/09/28/%E6%B7%B1%E6%B7%B1%E7%9A%84%E6%8C%AB%E8%B4%A5%E5%92%8C%E6%97%A0%E5%8A%A9%E6%84%9F/",
|
||||
"title": "深深的挫败和无助感",
|
||||
"date_published": "2022-09-28T08:02:00.000Z",
|
||||
"content_html": "<p> 一个月都过去了,工作还没有着落!</p>\n",
|
||||
"tags": [
|
||||
"心情",
|
||||
"郁闷"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "https://blog.jingxiyuan.cn/2022/09/27/nginx%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E9%85%8D%E7%BD%AE/",
|
||||
"url": "https://blog.jingxiyuan.cn/2022/09/27/nginx%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E9%85%8D%E7%BD%AE/",
|
||||
@@ -26,9 +37,9 @@
|
||||
"content_html": "<p><em> 今天突然发现博客的音乐无法播放了。经过一顿查找,发现是因为 https://api.i-meto.com/meting/api 调用出错了。shoka 主题应该是通过这个网站提取音乐地址、图片等信息。通过断点发现网易播放列表还是能正常获取的,只是列表中的具体音乐、图片无法获取了。于是自己用获取的列表信息组装出正确的 url 问题基本解决。只针对网易播放列表,图片只能使用一张固定的。</em></p>\n<p><em> 解决方法如下:</em></p>\n<p><em> 到 themes\\shoka\\source\\js_app 目录下打开 player.js 文件,在最底部 init (config) 下加入 vendorJs ('fancybox');,然后找到 56 行用下面的代码替换即可。</em></p>\n<figure class=\"highlight js\"><figcaption data-lang=\"JavaScript\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre><span class=\"token function-variable function\">fetch</span><span class=\"token operator\">:</span> <span class=\"token keyword\">function</span><span class=\"token punctuation\">(</span><span class=\"token parameter\">source</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span></pre></td></tr><tr><td data-num=\"2\"></td><td><pre> <span class=\"token keyword\">var</span> list <span class=\"token operator\">=</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span></pre></td></tr><tr><td data-num=\"3\"></td><td><pre></pre></td></tr><tr><td data-num=\"4\"></td><td><pre> <span class=\"token keyword\">return</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">Promise</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">function</span><span class=\"token punctuation\">(</span><span class=\"token parameter\">resolve<span class=\"token punctuation\">,</span> reject</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span></pre></td></tr><tr><td data-num=\"5\"></td><td><pre> source<span class=\"token punctuation\">.</span><span class=\"token function\">forEach</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">function</span><span class=\"token punctuation\">(</span><span class=\"token parameter\">raw</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span></pre></td></tr><tr><td data-num=\"6\"></td><td><pre> <span class=\"token keyword\">var</span> meta <span class=\"token operator\">=</span> utils<span class=\"token punctuation\">.</span><span class=\"token function\">parse</span><span class=\"token punctuation\">(</span>raw<span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"7\"></td><td><pre> <span class=\"token keyword\">if</span><span class=\"token punctuation\">(</span>meta<span class=\"token punctuation\">[</span><span class=\"token number\">0</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span></pre></td></tr><tr><td data-num=\"8\"></td><td><pre> <span class=\"token keyword\">var</span> skey <span class=\"token operator\">=</span> <span class=\"token constant\">JSON</span><span class=\"token punctuation\">.</span><span class=\"token function\">stringify</span><span class=\"token punctuation\">(</span>meta<span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"9\"></td><td><pre> <span class=\"token keyword\">var</span> playlist <span class=\"token operator\">=</span> store<span class=\"token punctuation\">.</span><span class=\"token function\">get</span><span class=\"token punctuation\">(</span>skey<span class=\"token punctuation\">)</span></pre></td></tr><tr><td data-num=\"10\"></td><td><pre> <span class=\"token keyword\">if</span><span class=\"token punctuation\">(</span>playlist<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span></pre></td></tr><tr><td data-num=\"11\"></td><td><pre>\t\t\t <span class=\"token comment\">// 自己修改 - start</span></pre></td></tr><tr><td data-num=\"12\"></td><td><pre>\t\t\t <span class=\"token keyword\">var</span> audioInfos <span class=\"token operator\">=</span> <span class=\"token constant\">JSON</span><span class=\"token punctuation\">.</span><span class=\"token function\">parse</span><span class=\"token punctuation\">(</span>playlist<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></pre></td></tr><tr><td data-num=\"13\"></td><td><pre>\t\t\t <span class=\"token keyword\">var</span> neteaseStartUrl <span class=\"token operator\">=</span> <span class=\"token string\">\"https://music.163.com/song/media/outer/url?id=\"</span><span class=\"token punctuation\">;</span></pre></td></tr><tr><td data-num=\"14\"></td><td><pre>\t\t\t <span class=\"token keyword\">if</spaLine truncated
|
||||
"tags": [
|
||||
"技术分享",
|
||||
"博客",
|
||||
"Hexo",
|
||||
"Shoka",
|
||||
"博客",
|
||||
"背景音乐"
|
||||
]
|
||||
},
|
||||
@@ -37,7 +48,7 @@
|
||||
"url": "https://blog.jingxiyuan.cn/2022/09/23/%E8%A7%A3%E5%86%B3%E5%9F%9F%E5%90%8Dip%E5%8F%98%E5%8A%A8%E5%90%8E%E9%9C%80%E8%A6%81%E9%87%8D%E5%90%AFnginx%E7%9A%84%E9%97%AE%E9%A2%98/",
|
||||
"title": "解决域名ip变动后需要重启nginx的问题",
|
||||
"date_published": "2022-09-23T08:17:00.000Z",
|
||||
"content_html": "<p><em>今天突然发现自己的网站不能访问了。经过一顿排查,发现是家里的外网 ip 变动后 nginx 解析的域名 ip 还是旧 ip 导致的。手动重启 nginx 后恢复正常。但这不是长久之计,如果每次 ip 变动都需要重启一次 nginx,想想都头大。于是查询资料后获得了解决办法,方法如下:</em></p>\n<pre><code class=\"language-yum\">location / {\t\n\tresolver 114.114.114.114 valid=60s; #自定义缓存有效时间间隔对变量中的域名进行解析\n\n\tset $my_server "https://ip:port";\n\n\tproxy_pass $my_server;\n}\n</code></pre>\n",
|
||||
"content_html": "<p> <em>今天突然发现自己的网站不能访问了。经过一顿排查,发现是家里的外网 ip 变动后 nginx 解析的域名 ip 还是旧 ip 导致的。手动重启 nginx 后恢复正常。但这不是长久之计,如果每次 ip 变动都需要重启一次 nginx,想想都头大。于是查询资料后获得了解决办法,方法如下:</em></p>\n<pre><code class=\"language-yum\">location / {\t\n\tresolver 114.114.114.114 valid=60s; #自定义缓存有效时间间隔对变量中的域名进行解析\n\n\tset $my_server "https://ip:port";\n\n\tproxy_pass $my_server;\n}\n</code></pre>\n",
|
||||
"tags": [
|
||||
"技术分享",
|
||||
"nginx"
|
||||
@@ -60,7 +71,7 @@
|
||||
"url": "https://blog.jingxiyuan.cn/2022/09/21/%E8%AE%B0%E4%B8%80%E6%AC%A1netty-socket-io%E6%9C%8D%E5%8A%A1%E7%AB%AF%E8%BF%9E%E6%8E%A5%E4%B8%8D%E4%B8%8A%E7%9A%84%E9%97%AE%E9%A2%98/",
|
||||
"title": "记一次netty-socketio服务端连接不上的问题",
|
||||
"date_published": "2022-09-21T01:46:00.000Z",
|
||||
"content_html": "<p><em>今天前端开发跟我反馈用 vue 的 socketio 连接不上后台服务,连接无反应无任何报错。所以不清楚是前端代码问题还是后台服务的问题。由于框架为另一同事搭建,我只负责处理后端业务逻辑部分,所以第一时间我也不清楚具体的原因。于是我找了个第三方的 socket 工具尝试连接,果然有问题。但是只是提示连接不上,无明显错误原因。到后台查看发现有提示 Unknown transport for request 错误,最后通过调试发现 netty-socketio 的库中 AuthorizeHandler 类有段处理 transport 的代码只能接受大写的 WEBSOCKET 或者 POLLING,于是我在工具中按要求填上结果还是不行。然后我在网上搜索也未发现有相关问题,只发现有网友提示需要用 socketio 的库,不要自己写 socket 连接。于是我找了 socket.io.js 来连接,结果还是一样。经过大量调试改代码,最后突发奇想,有没有可能跟 netty-socketio 的版本有关系,于是我把版本从 1.7.20 升级到 1.7.21,结果就奇迹般的好了。</em></p>\n<h6 id=\"总结就好像大力出奇迹实在找不到原因的时候不妨升级一下版本说不定问题就解决了呢o_o\"><a class=\"anchor\" href=\"#总结就好像大力出奇迹实在找不到原因的时候不妨升级一下版本说不定问题就解决了呢o_o\">#</a> 总结:就好像大力出奇迹,实在找不到原因的时候不妨升级一下版本,说不定问题就解决了呢!O (∩_∩) O</h6>\n",
|
||||
"content_html": "<p> <em>今天前端开发跟我反馈用 vue 的 socketio 连接不上后台服务,连接无反应无任何报错。所以不清楚是前端代码问题还是后台服务的问题。由于框架为另一同事搭建,我只负责处理后端业务逻辑部分,所以第一时间我也不清楚具体的原因。于是我找了个第三方的 socket 工具尝试连接,果然有问题。但是只是提示连接不上,无明显错误原因。到后台查看发现有提示 Unknown transport for request 错误,最后通过调试发现 netty-socketio 的库中 AuthorizeHandler 类有段处理 transport 的代码只能接受大写的 WEBSOCKET 或者 POLLING,于是我在工具中按要求填上结果还是不行。然后我在网上搜索也未发现有相关问题,只发现有网友提示需要用 socketio 的库,不要自己写 socket 连接。于是我找了 socket.io.js 来连接,结果还是一样。经过大量调试改代码,最后突发奇想,有没有可能跟 netty-socketio 的版本有关系,于是我把版本从 1.7.20 升级到 1.7.21,结果就奇迹般的好了。</em></p>\n<h6 id=\"总结就好像大力出奇迹实在找不到原因的时候不妨升级一下版本说不定问题就解决了呢o_o\"><a class=\"anchor\" href=\"#总结就好像大力出奇迹实在找不到原因的时候不妨升级一下版本说不定问题就解决了呢o_o\">#</a> 总结:就好像大力出奇迹,实在找不到原因的时候不妨升级一下版本,说不定问题就解决了呢!O (∩_∩) O</h6>\n",
|
||||
"tags": [
|
||||
"经验分享",
|
||||
"心得体会",
|
||||
@@ -74,7 +85,7 @@
|
||||
"url": "https://blog.jingxiyuan.cn/2022/09/17/Hexo-Theme-Shoka-algolia%E6%90%9C%E7%B4%A2%E8%B8%A9%E5%9D%91-1/",
|
||||
"title": "Hexo + Theme.Shoka + algolia搜索踩坑",
|
||||
"date_published": "2022-09-17T15:12:00.000Z",
|
||||
"content_html": "<h1 id=\"hexo-themeshoka安装\"><a class=\"anchor\" href=\"#hexo-themeshoka安装\">#</a> Hexo + Theme.Shoka 安装</h1>\n<p><a href=\"https://blog.jingxiyuan.cn/2022/09/14/Hexo%E5%AE%89%E8%A3%85%E6%91%B8%E7%B4%A2/\">安装介绍</a></p>\n<h1 id=\"algolia注册\"><a class=\"anchor\" href=\"#algolia注册\">#</a> algolia 注册</h1>\n<ol>\n<li>\n<p><span class=\"exturl\" data-url=\"aHR0cHM6Ly93d3cuYWxnb2xpYS5jb20vdXNlcnMvc2lnbl9pbg==\">algolia</span> 不支持国内邮箱注册,而 google 和 github 由于国内被墙也没法使用。所以只能先注册<span class=\"exturl\" data-url=\"aHR0cHM6Ly9hcHAubmV0bGlmeS5jb20v\"> netlify</span> 然后通过 netlify 注册 algolia。</p>\n</li>\n<li>\n<p>登录 algolia 后创建一个 index,名字随意记住既可。</p>\n<p><img data-src=\"https://file.jingxiyuan.cn/images/2022/09/17/2022-09-17-23-32-20.png\" alt=\"2022-09-17-23-32-20.png\" /></p>\n</li>\n<li>\n<p>点击右上角红点,弹出窗口点 settings 按钮。</p>\n<p><img data-src=\"https://file.jingxiyuan.cn/images/2022/09/17/2022-09-17-23-35-04.png\" alt=\"2022-09-17-23-35-04.png\" /></p>\n</li>\n<li>\n<p>点击 API KEYS,获取 appId 和 adminApiKey 填入 hexo 的_config.yml 中 apiKey 暂时不填。</p>\n</li>\n</ol>\n<figure class=\"highlight yml\"><figcaption data-lang=\"YAML\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre><span class=\"token key atrule\">algolia</span><span class=\"token punctuation\">:</span></pre></td></tr><tr><td data-num=\"2\"></td><td><pre> <span class=\"token key atrule\">appId</span><span class=\"token punctuation\">:</span> <span class=\"token comment\">#Your appId</span></pre></td></tr><tr><td data-num=\"3\"></td><td><pre> <span class=\"token key atrule\">apiKey</span><span class=\"token punctuation\">:</span> <span class=\"token comment\">#Your apiKey</span></pre></td></tr><tr><td data-num=\"4\"></td><td><pre> <span class=\"token key atrule\">adminApiKey</span><span class=\"token punctuation\">:</span> <span class=\"token comment\">#Your adminApiKey</span></pre></td></tr><tr><td data-num=\"5\"></td><td><pre> <span class=\"token key atrule\">chunkSize</span><span class=\"token punctuation\">:</span> <span class=\"token number\">5000</span></pre></td></tr><tr><td data-num=\"6\"></td><td><pre> <span class=\"token key atrule\">indexName</span><span class=\"token punctuation\">:</span> blog <span class=\"token comment\">#\"shoka\"</span></pre></td></tr><tr><td data-num=\"7\"></td><td><pre> <span class=\"token key atrule\">fields</span><span class=\"token punctuation\">:</span></pre></td></tr><tr><td data-num=\"8\"></td><td><pre> <span class=\"token punctuation\">-</span> title <span class=\"token comment\">#必须配置</span></pre></td></tr><tr><td data-num=\"9\"></td><td><pre> <span class=\"token punctuation\">-</span> path <span class=\"token comment\">#必须配置</span></pre></td></tr><tr><td data-num=\"10\"></td><td><pre> <span class=\"token punctuation\">-</span> categories <span class=\"token comment\">#推荐配置</span></pre></td></tr><tr><td data-num=\"11\"></td><td><pre> <span class=\"token punctuation\">-</span> content<span class=\"token punctuation\">:</span>strip<span class=\"token punctuation\">:</span>truncate<span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">2000</span></pre></td></tr><tr><td data-num=\"12\"></td><td><pre> <span class=\"token punctuation\">-</span> gallery</pre></td></tr><tr><td data-num=\"13\"></td><td><pre> <span class=\"token punctuation\">-</span> photos</pre></td></tr><tr><td data-num=\"14\"></td><td><pre> <span class=\"token punctuation\">-</span> tags</pre></td></tr></table></figure><ol start=\"5\">\n<li>\n<p>点击 All Api Keys - New Api key 创建一个 api key,Indices 选先前让记住的 index,ACL 选下面图片中的选项。</p>\n<p><img data-src=\"https://file.jingxiyuan.cn/images/2022/09/17/2022-09-17-23-47-50.png\" alt=\"2022-09-17-23-47-50.png\" /></p>\n</li>\n<li>\n<p>把第 5 步中新建的 api key 填入到第 4 步中的配置中,到此已经完成了百分之九十,只需要重新编译发布即可。不过编译步骤多了一步,在 hexo g 后需要再执行 hexo algolia,至此搜索功能就大功告成了。</p>\n</li>\n</ol>\n",
|
||||
"content_html": "<h1 id=\"hexo-themeshoka安装\"><a class=\"anchor\" href=\"#hexo-themeshoka安装\">#</a> Hexo + Theme.Shoka 安装</h1>\n<p> <a href=\"https://blog.jingxiyuan.cn/2022/09/14/Hexo%E5%AE%89%E8%A3%85%E6%91%B8%E7%B4%A2/\">安装介绍</a></p>\n<h1 id=\"algolia注册\"><a class=\"anchor\" href=\"#algolia注册\">#</a> algolia 注册</h1>\n<ol>\n<li>\n<p><span class=\"exturl\" data-url=\"aHR0cHM6Ly93d3cuYWxnb2xpYS5jb20vdXNlcnMvc2lnbl9pbg==\">algolia</span> 不支持国内邮箱注册,而 google 和 github 由于国内被墙也没法使用。所以只能先注册<span class=\"exturl\" data-url=\"aHR0cHM6Ly9hcHAubmV0bGlmeS5jb20v\"> netlify</span> 然后通过 netlify 注册 algolia。</p>\n</li>\n<li>\n<p>登录 algolia 后创建一个 index,名字随意记住既可。</p>\n<p><img data-src=\"https://file.jingxiyuan.cn/images/2022/09/17/2022-09-17-23-32-20.png\" alt=\"2022-09-17-23-32-20.png\" /></p>\n</li>\n<li>\n<p>点击右上角红点,弹出窗口点 settings 按钮。</p>\n<p><img data-src=\"https://file.jingxiyuan.cn/images/2022/09/17/2022-09-17-23-35-04.png\" alt=\"2022-09-17-23-35-04.png\" /></p>\n</li>\n<li>\n<p>点击 API KEYS,获取 appId 和 adminApiKey 填入 hexo 的_config.yml 中 apiKey 暂时不填。</p>\n</li>\n</ol>\n<figure class=\"highlight yml\"><figcaption data-lang=\"YAML\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre><span class=\"token key atrule\">algolia</span><span class=\"token punctuation\">:</span></pre></td></tr><tr><td data-num=\"2\"></td><td><pre> <span class=\"token key atrule\">appId</span><span class=\"token punctuation\">:</span> <span class=\"token comment\">#Your appId</span></pre></td></tr><tr><td data-num=\"3\"></td><td><pre> <span class=\"token key atrule\">apiKey</span><span class=\"token punctuation\">:</span> <span class=\"token comment\">#Your apiKey</span></pre></td></tr><tr><td data-num=\"4\"></td><td><pre> <span class=\"token key atrule\">adminApiKey</span><span class=\"token punctuation\">:</span> <span class=\"token comment\">#Your adminApiKey</span></pre></td></tr><tr><td data-num=\"5\"></td><td><pre> <span class=\"token key atrule\">chunkSize</span><span class=\"token punctuation\">:</span> <span class=\"token number\">5000</span></pre></td></tr><tr><td data-num=\"6\"></td><td><pre> <span class=\"token key atrule\">indexName</span><span class=\"token punctuation\">:</span> blog <span class=\"token comment\">#\"shoka\"</span></pre></td></tr><tr><td data-num=\"7\"></td><td><pre> <span class=\"token key atrule\">fields</span><span class=\"token punctuation\">:</span></pre></td></tr><tr><td data-num=\"8\"></td><td><pre> <span class=\"token punctuation\">-</span> title <span class=\"token comment\">#必须配置</span></pre></td></tr><tr><td data-num=\"9\"></td><td><pre> <span class=\"token punctuation\">-</span> path <span class=\"token comment\">#必须配置</span></pre></td></tr><tr><td data-num=\"10\"></td><td><pre> <span class=\"token punctuation\">-</span> categories <span class=\"token comment\">#推荐配置</span></pre></td></tr><tr><td data-num=\"11\"></td><td><pre> <span class=\"token punctuation\">-</span> content<span class=\"token punctuation\">:</span>strip<span class=\"token punctuation\">:</span>truncate<span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">2000</span></pre></td></tr><tr><td data-num=\"12\"></td><td><pre> <span class=\"token punctuation\">-</span> gallery</pre></td></tr><tr><td data-num=\"13\"></td><td><pre> <span class=\"token punctuation\">-</span> photos</pre></td></tr><tr><td data-num=\"14\"></td><td><pre> <span class=\"token punctuation\">-</span> tags</pre></td></tr></table></figure><ol start=\"5\">\n<li>\n<p>点击 All Api Keys - New Api key 创建一个 api key,Indices 选先前让记住的 index,ACL 选下面图片中的选项。</p>\n<p><img data-src=\"https://file.jingxiyuan.cn/images/2022/09/17/2022-09-17-23-47-50.png\" alt=\"2022-09-17-23-47-50.png\" /></p>\n</li>\n<li>\n<p>把第 5 步中新建的 api key 填入到第 4 步中的配置中,到此已经完成了百分之九十,只需要重新编译发布即可。不过编译步骤多了一步,在 hexo g 后需要再执行 hexo algolia,至此搜索功能就大功告成了。</p>\n</li>\n</ol>\n",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
@@ -103,8 +114,8 @@
|
||||
"技术分享",
|
||||
"心得体会",
|
||||
"踩坑",
|
||||
"Hexo",
|
||||
"博客"
|
||||
"博客",
|
||||
"Hexo"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user