Prose_博客日志
原博客日志散记于Diary分类下各年日记中,考虑到博客日志有其历史意义,便集于一篇,按时间倒序排列。
2024.9.5 CDN替换
第一,轻微调整学术主页布局,压缩不必要边距。第二,CDN替换https://unpkg.com 为 https://s4.zstatic.net,加快国内Waline响应速度。第三,弃用Baidu统计,加快页面加载速度。探索Umami统计未果。
对于第三点,先前依托Vercel搭建过Umami,但Vercel被屏蔽,此次尝试在Netlify搭建Umami,但无法连接Supabase数据库。本地DBeaver连接无异常,未继续追踪该问题。暂使用Sealos的Umami托管服务。同时关闭Umami统计localhost信息,在Safri的Console中存储storage信息。
1 | localStorage.setItem('umami.disabled', 1); |
下面是本次尝试记录。
Netlify不提供数据库,因此借助Supabase数据库,连接Netlify。搭建过程参考了如下资料。《umami官方手册》、《How to run Umami Analytics + Supabase + Vercel for free》、《Website Analytics with Umami, Netlify and a self-hosted database.》、《Running on Supabase》。但上述资料已过时,目前的主要流程是先在本地拉取Umami,将schema.prisma置于根目录,删除.gitignore中忽略/prisma/、更改"@netlify/plugin-nextjs": “^5.7.0”。
1 | git clone git@github.com:yanyuteng/Blog_Umami.git |
随后在Netlify建立Umami,在Supabase的Database Settings获取环境变量DATABASE_URL(结尾填写?sslmode=require&connect_timeout=60)、DIRECT_DATABASE_URL。在这个基础上,Netlify的build command修改如下。但仍无法与数据库连接。
1 | npx prisma migrate deploy |
2024.6.7 宽表格横向滚动
修订/hexo-theme-next/source/css/_common/scaffolding/tables.styl文件,修改为如下。
1 | /* 表格容器的样式,支持横向滚动 */ |
2024.5.27 声音与tag体系
博客简介中加入俺的声音,以增强对话感。借助wavesurfer.js插件,这个插件可以将声音可视化,它的频谱图(Spectrogram)很酷!晚上玩了好一会插件。翌日晚,对tag进行梳理彻查,一级tag按互斥的book、paper、prose设计,tag数量小幅压缩且更具体系化。
2024.5.24 主页照片与博客字体
第一,重排版主页,且加入照片。第二,修订移动端自适应。第三,解决en目录下移动端menu多个Category被激活问题。第四,指定博客中、英文字体,中文字题里思源宋体仍缺乏美感,替换为朱雀仿宋,英文字体统一为Alegreya。
关于第三点,在主题js文件下声明真实路径。
1 | // 查找路径函数 |
关于第四点,按Next官网思路,配置如下文件。/source/css/_variables/base.styl的$font-family-chinese变量、/layout/partials/head/head.njk的font载入,仍加载分包后的本地字体,基本流程与五月八日一致。且鉴于朱雀仿宋字体稍小,调整/source/css/_variables/base.styl的$font-size-base变量。
另,排查警告信息,独立安装punycode,并修订根目录下/node_modules/markdown-it/lib/index.js,不再报警。
1 | // (node:29049) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead. |
1 | // Update |
2024.5.16 异步字体加载
第一,修订Next主题下/scripts/helpers/font.js文件。第二,统一阿里云oss图片存储的命名格式,如20240516_1_Name。第三,考虑国内访问,将博客评论系统Waline部署从Valine迁移至Netlify。
1 | return fontFamilies ? `<link rel="stylesheet" href="${fontHost}/css?family=${fontFamilies}&display=swap&subset=latin,latin-ext" media="print" onload="this.onload=null; this.media='all'">` : ''; |
2024.5.8 简历页字体变更
对简历页的white主题进行了改造。第一改变重点字段、滚动条的颜色,关闭js动态效果,第二加入menu与正文的分割线,第三变更网站icon显示,第四中英文字体全局变更。对于第四点需要说明。
中文字题的变更有三个步骤,其一选择字体,我使用了中文网字计划 (Chinese Webfont Project) 开源的京华老宋体,这一字体的历史来自于1961年北京新华字模厂改刻的老筑地体61-1体,并使用cn-font-split字体分包器,对中文字体进行压缩、分割;其二在主题目录下source文件夹中创建font文件夹,将分割后字体文件放入;其三在layout/_partial/head.ejs中纳入字体库或在/source/css/_defined/common.styl纳入字体库,前者可使用html
英文字体的变更则选择了谷歌开源字体Alegreya,并使用360 的75CDN静态资源库本地化 cdnjs 资源。对网页进行一次测速,中英文页面的全国各省平均响应均在1.5s左右,各地响应速度中山东移动可能慢至8s左右、吉林联通慢至13s左右。
此外,对博客Next主题进行了修订,主要是更换至Mist子主题,并将高亮颜色转为暗红、侧边栏底色转为纯白,去除博客title上下横线等。
2024.5.6 简历页双语
参考SaltyLeo’s Blog,对简历页的语言显示进行了优化。基本步骤如下:
第一,在根文件夹“Blog_CV”下新建文件夹“Blog_CV_En”,将“Blog_CV”中除“node_modules”文件夹外全部复制至“Blog_CV_En”,并再次npm install。第二,分别修订“Blog_CV/_config.yml”与“Blog_CV_En/_config.yml”中_config.yml,以及“/Blog_CV/themes/white/_config.yml”与“/Blog_CV_En/themes/white/_config.yml”。第三,在命令行中输入如下
1 | cd ~/Blog_CV && hexo clean && hexo g && cd ~/Blog_CV/Blog_CV_En && hexo clean && hexo g && cd ~/Blog_CV && cp -r ~/Blog_CV/Blog_CV_En/public/. ~/Blog_CV/public/en/ |
此外,由于双语后white主题出现了一些细微错误,对layout.styl与header.ejs文件分别进行修订,以使中英文界面保持一致。
2024.4.27 历史评论导入
从来必力找回了2018年7月至2019年11月的几条评论,勾起了几年前的记忆,一些朋友亦久未联络了。我早期应该还用过多说、网易云等系统,但是当时没有及时记录插件更新情况,那些更早的评论也难以打捞了。
2024.4.18 萌备案与公式
将萌备案icon放入Next文件夹中的source/images/中后,在footer.njk中添加下面html代码。
1 | <div style="display: flex; justify-content: center; width: 100%;"> |
此外,发现部分文章的公式出现错误,按查阅,Next主题有两条前端渲染,(1)MathJax + hexo-renderer-pandoc;(2)KaTeX + hexo-renderer-markdown-it-plus/hexo-renderer-markdown-it + hexo-math;一条后端渲染,hexo-filter-mathjax + hexo-renderer-marked/hexo-renderer-pandoc。由于我的脚注使用了hexo-renderer-markdown-it,遂卸载并npm install hexo-renderer-markdown-it-plus —save,尔后在Next config中开启katex enable: true。
2024.4.16 子域名跳转与脚注功能
更新博客子域名。同时,因写作需要脚注,替换Hexo原生插件hexo-renderer-marked为hexo-renderer-markdown-it,并配置参数。
2024.4.15 新增博客圈链接
其一,开启代码块折叠,Next8.x版本可在_config.yml直接配置,不再需要自行设置。其二,修订Next模版的footer部分,增加各独立博客组织链接,修订njk如下。其三,升级Waline评论系统版本,并重置参数。
1 | <div style="display: flex; justify-content: center; align-items: center; gap: 10px"> |
2024.4.14 旅行地图与博客字体
十三日在about中更新静态旅行地图,基于R语言,使用了NOAA GLOBE Topography 1km DEM数据与民政部官网审图号1873号区县级地图。代码见Github。
另,加载代码块的文章无法正常显示,查询后发现可能是Next主题的motion问题,故障原因待排查。
十四日排查发现,系偷懒没有核查_config.yml变动,hexo 7.1版本变动较大,尤其是代码块部分,按新版本订正后开启motion可正常显示,但是考虑加载速度,仍然关闭了该功能。同时,对博客字体设置为宋体,并替换谷歌源为烧饼博客的fonts.loli.net。
2024.4.12 Hexo框架更新
更新电脑各应用。其一,检查了brew及各包控制(如nvm)版本,替换已失效阿里源为清华源,更新node版本。其二,检查Hexo框架1月份已迭代至7.1(原架构为5.4.2),并更新博客架构。其三,替换npm已失效的淘宝源,见《npm sill idealTree buildDeps问题》,并更新博客使用的各node.js插件版本。
1 | brew update && brew upgrade && brew cleanup |
2023.6.4 Category更新
对博客内容分类进行了重要更新。
2023.3.29 HTTP修订
按Netlify提醒,将所有md文件报错Insecure mixed content的http修订为https。
2023.3.1 Netlify镜像
将Github镜像至Netlify平台托管,并更新学术简历页。并将博客的统计链接至Google Analysis,搜索提交至Google Search与Bing Webmaster。因Next主题未更新,Google Analysis插件需在"~/Blog_Hexo/node_modules/hexo-theme-next/layout/_third-party/analytics/google-analytics.njk"增补。
1 | {%- if not theme.google_analytics.only_pageview %} |
2023.2.28 Gitlab与Cloudflare未果
接昨日,按《安装 Gitlab-Runner》改用brew安装成功,并按《New runner has not been connected yet》提示成功连接。但始终pending,查询怀疑是brew安装原因,未继续追踪。
1 | brew install gitlab-runner |
另改用Cloudflare尝试托管,按《使用Cloudflare Pages部署Hexo》,布署成功但始终error 522,未继续追踪。补记,属于延迟问题,翌日已更新。
2023.2.27 检索速度优化
下午本想将cv与博客集成,使cv托管在Gitlab,按如下文章进行了尝试,但因目前Gitlab开启了信用卡验证,即弃。暂拟托管Gitee挂cv,亦发现实名制。(1)按《配置本地 GIT 同时使用多个账号》配置双git秘钥;(2)尔后按《在 GitHub Pages 上部署 Hexo》配置;(3)按《Hexo + GitLab搭建个人博客》尝试配置Gitlab runner未果。
另,将已有Github上的Hexo进行了升级,并按《Hexo集成Algolia实现搜索功能》,优化了博客检索速度。升级后大致看了一下新版本的功能,很多原本需要自行配置的已被集成进来。补记,Algolia高级检索仅针对技术博客,因申请被拒,转为本地化检索。
1 | hexo algolia |
2022.9.12 pdf插件失败日志
将hexo依赖的npm由版本7升至版本8,并加载pdf插件。按各平台方法仍无法显示,未进一步追踪。
1 | npm install --save hexo-pdf |
2021.10.7 地址迁移
原域名sociologist.cn到期后未续费,按2021.1.5日志:“按阿里云的邮件通知,‘sociologist.cn’的域名要到期了。我从一七年三月注册这一域名已有四年,今年不再续费了,原因有很多,如对自己能力的认识、博客的定位。或直接用’yanyuteng’作域名,再修正DNS等。” 晚,将github地址解析至’yanyuteng.cn’,域名注册商由阿里转为dnspod。
2021.8.12 Waline评论系统
按《Waline官网配置》、《Waline 评论系统的介绍与基础配置》、《Hexo使用Waline评论系统》三篇文章,配置了waline评论系统,后发现《Hexo Next 主题使用 Waline 评论系统》一文更全面。关于Waline管理员账号忘记密码的bug问题,可以参考该“评论”,在Leancloud修改账户权限。
另根据《NexT主题用Leancloud统计文章阅读量》配置了阅读量统计,按《NexT主题个性化配置》配置了字数统计。此外,手动修改了Next主题的footer部分的显示。
2020.10.28 图床变更
原七牛云存储的图片地址必须要求备案,因此挂了很久,晚上着手替换到了阿里云。此外,博客早前存在阿里云的图片名称并不规范,日后或也逐步规范起来。
2020.8.29 博客备份
考虑到github时快时慢,coding新pages分配的名字蹩脚,为方便自己平时查阅,在码云(gitee)上又备份了一次博客。博客托管在三个网站,也算当代版狡兔三窟。也是我太乏味了。
2020.7.14 加载提速
按Haiyuan的建议,博客访问速度常比较慢,我取消了live2d,并将js第三方库使用bootcss提供的cdn服务。由于托管在github,无法icp备案,也就没有办法全站cdn,仅在腾讯旗下知道创宇(原加速乐)使用了未备案免费cnd(实际未cdn),他名义上讲“较使用域名注册服务商提供的默认DNS解析服务解析速度平均提升2倍”。按站长工具的检测看有些许改善,或是深夜心理安慰。实际效果还是没有什么提速。
2020.7.12 检索问题
按国光的这篇文章,解决了博客无法search的问题。
2020.5.20 域名定向问题
这几天sociologist的域名访问一直是404,考虑到coding的访问人数较少,把原先的境内外分流全部默认走github了。又想把域名绑回github,但一直提示我"the CNAME is already taken"。我查了一圈,在wangqy这里看到和我一个情况,他也没有找到合适的办法,最后是向Github Support求助。我写邮件过去,他们回复很快,如果不算时差,解决问题非常迅速。
另,hexo的tags有些404我一直没时间处理,这次查了一下,主要是大小写问题,很多人(大专栏、xxpcb)都遇到过,按他们的方法顺利解决了。
2020.2.13 SSL证书
不知不觉博客用sociologist.cn这个域名已经三年了,今年是三月份就是第四年了。最近半年,我的内心转变其实很大,一度不想再用这个域名,一方面觉自己与学术理想已渐行渐远,另一方面,自己的能力或也不恰使用这一词标榜自己。但更改域名后相关配置也要重写一遍,人怕麻烦,也有顾念以前,就恬不知耻地继续用吧。
这次检查了一下,以往用新设备访问总显示不安全链接,就在阿里开了ssl个人证书。目前买域名用的阿里云、域名解析用的腾讯云(原dnspod)、网页托管用的微软(github)与腾讯(coding)、网页统计用的谷歌统计与百度统计。博客的维护其实也是互联网生态的一角吧。
2019.5.23 Echart插件
我今天下午在想如何将Echart和博客写作结合起来,通过KChen’s Blog的ECharts插件,本地显示成功。但问题在于,KChen的插件只能在option里定义data,如果data较大,或data是动态的,显示起来就比较麻烦。同时,加载Echart后,博客加载速度显著变慢,这里不再展示。因为我对JavaScript知之甚少,只能暂时搁置。
2018.12.3 分类变动
晚上将博客的分类全面改动了一下,明年拟专攻SNA方向。
2018.7.25 Hexo_url配置
- url sitemap索引:hexo高阶教程:想让你的博客被更多的人在搜索引擎中搜到吗?、Hexo百度主动提交链接
- url英文翻译插件:hexo-translate-title、Hexo,添加标题翻译插件
- 404 page:hexo 怎么创建404页面?
2017.11.27 更新node
晚上打算给博客加个新功能,看了一下本机node的版本还是6.2的,新node已经9.2了,不得不感叹一下cs的迭代真快,这也就是一年多的光景。
2017.4.13 IP分流提速
下午上完课按IP地址把访客国内外分流,关闭Google字体,博客的访问速度明显提升,还是挺开心的!
2017.3.5 地址迁移
无意间看到狗爹注册com域名降至7元,后发现杂七杂八加到一起还是要百十元,相比之下万网虽在国内,但价格的确公道一些。对于新域名本有两个打算,一是纪念孙本文先生的《社会学ABC》,起先的计划是注册sociologyabc,但sociologist似乎更好记一些,最终注册了后者。临熄灯前,博客已全面解析至 www.sociologist.cn 这是我的第一个独立域名,也是我自16年中旬于台湾交流期间搭建半独立博客后的一个进步。今夜非常开心!博客如我的子嗣,我看着它长大,以泪水与欢笑。
2017.2.24 地址迁移
Github的网页在凌晨突然登陆不进,便开始着手转移到Coding,大约两点转移好,转到国内Coding后想直接把一直没改的DNS解析一并改好,才发现freenom把DNSPOD、dnsever几个免费商全禁了,日后有时间再慢慢折腾。域名则从 www.yanyuteng.tk 转为了 www.sociology.ml ,为纪念专业Sociology与我近来的关注点Machine Learning。
2016.11.5 vendors目录访问失效
博客近来突然空白,不明原因,下午本打算看书,只好跑去查是什么原因,搞了半天没有反应。晚上吃完饭福至心灵查了一下,开发者iissnan在两天前写了答案。
“不清楚为什么 GitHub Pages 过滤掉了 source/vendors 目录的访问。可以手动将 source/vendors 目录修改成 source/lib (或者其他的名称,只是 lib 我测试了可以使用);同时,修改下主题配置文件_config.yml, 将 _internal: vendors 改成你所修改的名字,例如 _internal: lib。”
2016.6.13 删库新浪博客
新浪博客是我大一下學期伊始開的博客。斷斷續續寫了一年,旅台期間,漸而接觸獨立博客,遂萌生自立門戶的心思,個人博客業已搭建,新浪博客不再更新。博客終歸是屬於自己的精神世界,不為他人的寫作是快樂的,若有一二閒人與我有些共鳴,則是我的幸運。
2016.5.31 地址迁移
新浪博客訪問經常卡頓,文章陸續搬遷至github博客,但總是出錯,檢查了一晚上是因為某處少輸入一個空格,yml格式實在嚴格;另看了kael的pc端很棒,但移動端太丑,最終還是換了NexT。域名暂用 yanyuteng.tk。
2015.3.6 开通新浪博客
前阵子室友说要写博客,恍惚记起我曾经也注册过一个博客。那时中考失利想寻人安慰,写了牢骚挂在网上,现在想来很有趣,起兴致又找到当时博客,虽早已忘记账号密码。十六岁刚上高中的记忆还很清晰,现在十八岁却已过了大半,大一秋季学期了。
虽是“少年不识愁滋味,为赋新词强说愁。” 但大抵这几年看了些书,对很多文章有所感触。夫子尝曰:“逝者如斯夫!不舍昼夜。”人生须臾,现在虽仍少年,但白驹一跃,再回首不知何岁月了。因而起心思,重开了新浪博客,打算做些记录,为与人分享我年少轻狂,也为老时能帮助回忆。所谓欲说还休,却道天凉好个秋。13:42 于哈尔滨。