本文主要是记录博客网站搭建过程中遇到的各种问题以及如何进行修改,集中在主题修改和网站加速这些部分,还是踩了不少坑的,记录下来方便查询。
hexo博客:
- hexo 官方配置,可以详细看到hexo博客如何配置
- url跟站点地图相关,需要填写github page网址或者自定义域名
- blog文件放在source的
_posts
文件夹中,在obsidian中将该文件夹作为库打开,子文件夹不影响md文件最后的发布。 - permalink网页永久链接,影响网页发布的地址,网页发布可以在
public
文件夹中看到,采用把网页放在posts
文件夹中,并结合abbrlink
重命名,简洁方便 - hexo迁移,可直接复制整个文件过去,然后确保
node.js
和git
成功安装,随便找个文件夹在git bash
中执行npm install -g hexo-cli
,这一步是安装hexo
。执行hexo init
(这一步已经复制了也许不用),与github进行ssh就不讲了。可以将之前的.deploy_git和.git文件删除,执行hexo cl && hexo g && hexo s
进行预览 - 执行了github actions自动化操作,方便在上传相关修改,以及在不同设变之间进行迁移的工作。Github Actions && Cloudflare Pages 部署 | Haoqin`s Blog
- 在blog目录文件夹处打开Git Bash界面,可以执行命令
hexo new 文件名
,可以在已经配置好路径的情况下,实现在对应的年月文件夹里创建初始模板的文件。
matery主题:
- 在Material Design Colors 中进行颜色的选择,自定义网页各部分的颜色
- live2d需要在主题source中添加live2d-widget文件夹,对应layout文件夹中layout.ejs添加依赖等,根据自己的需要修改
autoload.js
文件的cdn路径 \themes\matery\source\css\matery.css
网页颜色等进行修改:.bg-cover.container
和bg-cover .description
对应首页标题及诗词(文章标题)颜色- 评论系统的添加,Hexo-Next/Matery 基于 LearnCloud 添加 Valine 评论系统 | Cimoc
- 使用了主题旧版本,所以没有文章更新日期,bg-cover-content.ejs和zh-CN.yml中添加更新日期对应内容。
- 音乐配置文件在Hexo\source_data文件中,并没有放在matery主题文件中
- 从安全性和方便性的角度出发,将valine换成waline,方便操作,将waline.ejs中的内容替代到valine.ejs中。具体配置可以参考[快速上手 | Waline]和博客更换为Waline评论系统 | 靖待的技术博客
- 鸿蒙字体的引入,在
my.css
文件中粘贴鸿蒙字体对应css文件,全局引用。免费商用字体-HarmonyOS Sans | Gahotx’s blog - https网站不可以引用http的资源
- 代码块更新操作
1、在hexo根目录执行npm uninstall hexo-prism-plugin
卸载原有的插件
2、hexo的配置为:
3、主题进行相关配置:highlight: enable: false line_number: true auto_detect: false tab_replace: '' wrap: true hljs: false prismjs: enable: true preprocess: true line_number: true tab_replace: ''
4、在主题的libs文件夹中添加codeBlock和prism文件夹;code: lang: true # 代码块是否显示名称 copy: true # 代码块是否可复制 shrink: true # 代码块是否可以收缩 break: false # 代码是否折行 css: prism: /libs/prism/prism.min.css js: prism: /libs/prism/prism.min.js codeblock: /libs/codeBlock/codeBlockFuction.js codelang: /libs/codeBlock/codeLang.js codecopy: /libs/codeBlock/codeCopy.js codeshrink: /libs/codeBlock/codeShrink.js
5、_partial文件夹中添加codeblock.ejs文件,若原有post.ejs中有相关配置进行删除
6、对post-detail.ejs进行配置:<% if (config.prismjs && config.prismjs.enable) { %> <!-- 是否加载使用自带的 prismjs. --> <link rel="stylesheet" href="<%- url_for(theme.libs.css.prism) %>"> <% } %> <% if (theme.code.break) { %> <!-- 代码块折行 --> <style type="text/css"> code[class*="language-"], pre[class*="language-"] { white-space: pre-wrap !important; } </style> <% } %> <%- partial('_partial/codeblock') %>
网站加速:
- 将 cdn.jsdelivr.net 更换为 fastly.jsdelivr.net———jsdelivr cdn 挂了不能访问替代方案 - 大灰hurbai
- 看起来挺方便的,还没有尝试,GitHub - PipecraftNet/jsdelivr-auto-fallback: 修复 cdn.jsdelivr.net 无法访问的问题
- (已放弃,免费但不够方便)项目中静态文件替换,使用阿里云uniCloud云存储— jsdelivr cdn大陆挂了不能访问替代方案_流楚丶格念的博客-CSDN博客
- github图床外网访问慢,使用dogecloud存储空间作为图床
- github可以直接登录vercel,进行仓库导入,部署到vercel(速度跟github page五五开)
- vercel国内速度堪忧,自定义域名后尝试cloudflare加速
- 腾讯云静态网站托管,国内打开速度很快,静态网站托管天然支持 CDN 加速,流量的费用是0.21/GB,自定义域名需要备案支持。
- 教你如何“榨干”免费的多吉云 | Gahotx’s blog,使用多吉云加速网站
- 网站进行cdn加速,多次出现Forward Loop Detect提示,怀疑是重定向问题,将网页域名绑定为二级域名,暂时解决了。Hexo -7- Github源七牛云CDN加速教程(详细) - 又见苍岚
- 放弃了cdn网页加速,只让静态资源进行cdn加速。
- waline系统访问困难(疑似DNS污染),考虑绑定了自定义域名。
网站域名:
- 谷歌站点添加失败,放弃网址前缀,采用域名dns验证
- 阿里云购买域名,进行备案发现需要有云服务支持(3个月服务器等)
- 腾讯每日特价服务器30元/3月,购买服务器进行备案,腾讯备案服务体验不错,最后一步备案承诺书需要按手印
- 使用cloudflare加速,因此使用cloudflare管理域名解析(改用多吉云加速后放弃此方法);更新:为了方便使用cloudflare pages,将相关的域名解析工作交给cloudflare。
- 备案期间,域名需要暂停解析,停止访问,选择导出dns解析文件,等待备案完成。
- icp备案在6月1日拿到,也算作个儿童节礼物,备案需要一个星期到10天左右。
- 公安备案域名,广州本地备案速度快(2-3天),有问题会驳回的,注意看下备案平台的通知信息。注意上传照片规范性,网站类型选择了非交互式及开通www服务,希望无问题。