话说在前

我不会/看不懂/不想看/太麻烦/不要发教程……

懒那就没辙了,快发动你的钞能力!

按次付费,花了钱也不可能一直伺候你,有些人想付费站长也不乐意接,毕竟彼此选择才能幸福!

问就发教程,就不能直接给我远程解决吗?

请看上一条!

有教程都不舍得看一眼,这么珍惜自己的时间精力就该想到别人也一样。劳动是按次付出的,之前的需求已完成那么站长就履约结束,请问这次是付费了吗?

你丢出问题,站长提供解决思路,不是什么态度不好的问题,站长的时间精力有限,废话多说无益!耐心一点,也许迎刃而解;友好一点,指不定站长闲得慌还能友情远程搭把手。

上帝?滚!!!站长的世界里人人平等!

主题相关

怎么更换/安装/配置主题?

请打开网站配置文件 _config.yml 仔细看下,有更换主题的配置注释。至于主题安装及功能配置,每个主题大同小异,但言而总之,请找到主题的说明文档,根据主题文档去操作,方法详见:从零开始建个小站 - 5. 个性化设置

为什么换了个主题就报错了?

主题不一样,有可能要求的依赖不一样,或者支持的功能不一样,如:有的主题支持 {% xxx %} 标签功能,有的不支持,如果你的内容中用了这些标签,当切换到一个不支持的主题时就会渲染失败报错,所以:请阅读主题文档,根据主题要求去使用!

示例站内容中就使用了标签语法,如果切换到其他主题报错请删除以下包含了标签语法的示例目录:

  1. 图库页面:source/gallery
  2. 引导教程:source/_posts/guide

去哪找自己喜欢的主题?

本站提供的仓库方案中,自带 数套精选特色主题,只需要更改网站配置中的主题配置项启用即可。

每个人的审美和需求都不一样,如果自带的这几套主题都看不上眼,请自行到 Hexo官方主题展示页 去挑选,萝卜白菜都是你自己的喜好。

怎么更新主题?

主题安装方式包括:本地 themes 文件夹、git submodule和 npm 包管理,各种安装方式对应大同小异:

  • 本地 themes 文件夹:文件都存储在本地主题文件夹下,更新主题文件夹内内容即可
  • git submodule:使用 git 同步子模块最新代码即可。该子模块主题需要有管理权限,有管理权限则更新对应版本代码后提交到 git 仓库,否则本地不要做任何更改
  • npm 包管理:在网站根目录下执行 npm install hexo-theme-主题名命令即可安装最新版,如果要指定版本,请编辑网站根目录下的 package.json 指定版本号,如:“hexo-theme-butterfly”: "5.3.3",npm 版本号更多知识可以搜索关键词:package.json 版本号规则

主题代码更新后,可能还会涉及配置更新,所以请将主题目录下的 _config.yml 配置与网站根目录下的 _config.主题名.yml 进行相应同步,内容比对工具推荐 vscode 或 BCompare

好奇宝宝好动手

关于页面怎么来的?

页面都是需要根据自己需求创建的,,有些主题文档中也会提及,或者请参考:关于菜单怎么来

其他 标签分类友链等页面以此类推,更多需要参考主题实现文档

怎么我改了没效果?

任何增删改都需要提交同步到上端仓库,请确保你所做的更改已经提交同步完成,然后等几分钟服务器刷新缓存,对照内容维护可参考:从零开始建个小站 - 4. 练手内容维护 中相关内容。

很多小白以为点了 commit 就万事大吉了,请仔细看下上面的教程,点完 commit 只是提交到了本地版本库,push 或者 sync 完成前别处并不知道有这回事。

而且,点 commit 前请务必填写 message ,告知后来人改了什么,为什么会有这次变更,这是 Git 版本管理基本规范。

改了几行代码,就异常了

改了啥自己清楚,Git 历史记录中也能对比前后差异,所以改完建议本地预览一下结果,启动 hexo server 预览的时候就会显示日志,循着异常日志去看下具体什么问题,然后对应修正即可。

或者把错误提示关键词丢给本站战略合作伙伴 Google、百度及各种 AI 工具,让我们的战略伙伴助你一臂之力。

删了些东西后外网 403,本地预览提示 can't get /

一些 page 文件夹可以随意删,最多提示 404,但 source/_posts 目录下 必须存在一篇以上文章,否则视为空站无内容,无内容就不会生成 index.html,此时推送到外网就会不存在网站首页,访问时 nginx 就会抛 403 错误。

所以:推送发布前你预览了吗?预览不正常还推送发布?

外网访问提示 not found 404

  1. 请确认访问的地址是正确的,是不是线上渲染工作还没完成
  2. 本地请先预览,如果本地不正常,先解决本地的问题,参考前文 403 问题
  3. 请检查线上对外展示仓库指定的 page 分支是否正确,刚推送的仓库请稍等片刻,清理本地浏览器缓存,静态上端刷新缓存完成
  4. 一些被党和人民特别关照的内容,请上梯子访问

网站预览显示空白什么都没有

应该是找不到主题文件,在预览命令下应该会输出 WARN No layout: index.html

更换主题时请注意预览时本地需要完整下载主题文件,且网站配置 _config.yml 中配置正确的主题文件夹名称,如主题文件夹保存为 hexo-theme-butterfly,那么就需要配置为:theme: hexo-theme-butterfly,所以为方便配置及缩短配置文件命名一般只以最短主题名文件夹存储。

这个样式我不喜欢,怎么改?

请去翻下 主题配置主题文档 ,如果没看到相关设置或者满足不了你的需求,能问这问题的同学还是建议别折腾魔改主题了,去换个主题更实际点,更换主题方法请参考前文 怎么更换/安装/配置主题

如果有能力折腾修改主题的同学,恰好修改的主题是示例站自带,那么请注意 submodule 的问题。

示例站自带主题在项目中只提交了源仓库版本链接,你本地修改了也不能提交到自己的仓库,请将要修改的主题从 submodule 中删除后再完整提交到自己的源码仓库中,删除 submodule 可参考:从零开始建个小站 - 其他知识添加/删除 submodule 相关内容。

VSCODE 里 Git 提交点 commit 后一直转圈圈?

正如 从零开始建个小站 - 3. 搞个编辑器界面化Git操作 章节明确提示的内容:

commit 前请务必填写 message ,告知后来人改了什么,为什么会有这次变更,这是 Git 版本管理基本规范。

一直转圈圈请退出 Git 或者 VSCODE 后重新提交,记得 提交前填写变更信息提交前填写变更信息提交前填写变更信息

天天向上

MarkDown语法我不会😢

MarkDown语法已经很简单易懂了,这里有一个章节列了几个常用到的基本语法: 从零开始建个小站 - 其他知识 ,更多可以阅读后文更专业的MarkDown语法教程。

对照教程敲一两遍就会了,用啥查啥临时抱佛脚都能应付得了。实在不会可以借助编辑器界面化操作,或者你就当Word或记事本写内容都行,无非就是少了点格式样式。

从零开始建个小站 - 3. 搞个编辑器 章节中推荐的 VSCODE,可以对 MarkDown 源码实时预览实现所见即所得编辑,装上 MarkDown 扩展后更是事半功倍,请自行摸索学习。

我添加的图片怎么不显示?

请自行按 MarkDown 或者 HTML 语法添加图片,也可以打开本站自带的示例源码依葫芦画瓢,语法具体可见:从零开始建个小站 - 其他知识MarkDown 语法 及后续贴出的相关教程。

如果是网络封锁严重的地区,建议将图片传图床后从图床引用,防止 jsdelivrGithub 等被屏蔽导致图片加载失败

文章 URL 不符合预期

URL 组织形式可以按配置指定,详细可参考 Hexo 官方文档 permalinks 说明

当想按目录路径组织文章时,默认文章 URL 形式为:https://yiwangmeng.cn/action-hexo/guide/how-to-build-site-0.html,某些设置可能影响 URL 中路径表现形式,如 Hexo 配置:

1
2
3
4
# Writing
new_post_name: :title.md # 新建文章文件命名格式
# 配置`:title.md`格式URL路径支持目录:`/dir/title`
# 配置`:year-:month-:title.md`时URL将变成:`/dir-title`

已发现问题中,新建文章的文件名命名配置会影响 URL 路径形式,当配置 :year-:month-:title.md 时 URL 将变成:https://yiwangmeng.cn/action-hexo/guide-how-to-build-site-0.html/guide/ 目录路径被同化成了文件名的前缀。

后顾之忧

换电脑怎么办?

本站提供的仓库方案,只要你仓库不删就不会丢,新电脑上照本站使用教程克隆源码仓库安装一遍本地预览环境和 SSH 密钥就可以了,如果你遵循 Git 提交规则,不管到哪有多少个设备都可以一起用,也可以随时恢复到任意一次提交的版本。

要修改网址怎么办?

网站网址在 Hexo 配置文件 _config.yml 中修改如下配置项:

1
2
3
#  网址, 必须以 http[s]:// 开头
# 没有自己的域名就用免费 username.github.io
url: https://yiwangmeng.cn

如果用自己的域名,请修改配置的同时,在域名解析托管商处做好 CNAME 解析,一般都是添加这样的两条记录:

  • 记录/名称/Name@www
  • 方式/类型/TypeCNAME
  • 记录值/解析目标/Targetusername.github.io

username 是你 GitHub 用户名,所以当你想更改 GitHub 提供的免费二级域名时,需要:

  1. 先更改自己的用户名
  2. 其次同步修改这个 username.github.io 的 Pages 仓库名
  3. 然后配置中或者 DNS 解析记录也要相应的同步修改

有没有后台?能不能在线维护?

有做后台的方案,也有将 GitHub 仓库再拖到第三方平台去部署的方案,但都不推荐。本来 hexohugo 就只是个渲染框架,用的时候拎出来跑一圈,跑完就没啥事放生掉,有些人却要强迫这俩货长期站街营业,或者再转一次第三方,如果不是特殊需求,都属于舍本逐末瞎折腾。

如果想在线维护内容,本站仓库方案也可以直接在 GitHub 仓库 code 界面增删改文件,然后网页上就地提交变更就完事,和克隆到本地使用区别就是线上只能单个文件增删改然后提交,小改临时用用倒没什么问题,变更得多还是建议克隆到本地电脑维护。

能部署到自己的云服务器上吗?

能,方案大致有:

  1. 仍然延用本站仓库方案,部署好相关权限,在 GitHub Action 中添加发布到自己的服务器步骤
  2. 丢弃本站仓库方案,按官方文档修改发布配置,然后用 hexo g && hexo d 命令发布到自己的服务器
  3. 在服务器上部署 hexo 环境,把 MarkDown 源码推送到自己的服务器,触发 hexo g 发布 html

强烈不推荐在服务器上运行 hexo server 提供长期营业的残暴行为,这种做法极其愚蠢

具体怎么做请自行求助本站战略合作伙伴。

善人无疾

GitHub咋打不开?

GitHub默认是不用爬墙的,但各地网络管制松紧度不一样,无法访问就上梯子吧。Windows 系统强烈推荐用 winXray 这个代理软件,简单好用,简直是为 GitHub 而生

  1. Git 客户端仓库同步可以先尝试免梯子方法:配置好 SSH 密钥后使用 SSH 协议,方法可参考:从零开始建个小站 - 2. 拉取仓库到本地生成 SSH 密钥对 章节内容
  2. Git 客户端启用梯子配置方法请见:从零开始建个小站 - 其他知识 中相关内容

Git 推送同步失败

这问题比较复杂,网络或者权限问题居多,具体还需要看 Git 输出日志,提取关键信息求助战略合作伙伴基本上能解决。

常见处理方式:

  1. 多试几次,或者挂梯子后再试,见前文
  2. 有一些系统无法自动保存 ~/.ssh/known_hosts ,致使每次同步都要确认,而该确认提示在界面上看不到,可以切换到终端模式,按提示输入 yes,具体怎么做请自行求助本站战略合作伙伴。
  3. 检查密钥对,确保已经部署妥当

GitHub 页面上怎么创建文件夹

GitHub 仓库页面上默认是不能创建文件夹的,只能创建一个文件,然后文件路径中添加一层文件夹,如创建一个 README.md,在文件名输入相应内容:

1
2
3
README.md #直接在当前路径下创建README.md文件
test/README.md #先创建test目录,在test目录创建README.md文件
test/test2/README.md #同时创建了test和test2两级目录,test2目录创建README.md文件

建议 README.md 里写点有意义的内容,如这个文件夹的用途说明介绍。

如前文能不能在线维护中提及,单个文件偶尔在页面上维护没什么问题,多文件建议将代码克隆到本地操作,