2025-08-16 01:48:10 ,经过QWen的帮助,我现在可以继续使用此博客了。
但如何更好的管理还在探索中。
一下是保存的一些tips:
我记得我以前使用了hexo,可以通过写markdown进行编辑提交,但现在我找不到任何的.md文件
完全理解您的情况。您记得使用了 Hexo,并且是通过编辑 Markdown (.md) 文件来发布内容,但现在克隆下来的仓库里找不到这些文件,这确实会让人困惑。
这其实是一个非常常见且合理的现象,根本原因在于 GitHub Pages 的发布机制。
让我为您详细解释,并告诉您如何解决。
为什么找不到 .md 文件?
在使用 Hexo 这类静态网站生成器(Static Site Generator, SSG)时,您的项目通常包含两个部分:
- 源代码 (Source Code): 这是您进行创作和编辑的地方,包含:
source/_posts/目录下的.md文件(您的博客文章)。- 主题配置文件(
_config.yml)。 - 草稿、页面等。
- 生成的静态文件 (Generated Static Files): 当您运行
hexo generate命令时,Hexo 会读取.md文件,应用主题模板,将它们转换成纯 HTML、CSS 和 JavaScript 文件。
关键点在于,您部署到 GitHub Pages 的,是“生成的静态文件”,而不是“源代码”。
main/master分支: 这个分支通常只包含生成后的index.html,css/,js/,images/等文件。GitHub Pages 会直接从这个分支发布网站。您现在克隆下来的就是这个分支,所以里面没有.md文件。source分支 (或dev分支): 这是一个非常常见的最佳实践。开发者会创建一个单独的分支来存放 Hexo 的源代码(包括所有.md文件)。当需要更新网站时,他们会:- 在
source分支上写.md文件。 - 运行
hexo generate生成新的静态文件。 - 将生成的文件复制或部署到
main分支(或使用hexo deploy命令自动完成)。
- 在
结论:您的 .md 文件很可能在一个名为 source、dev 或 hexo-source 的独立分支上,而不在您现在看到的 main 分支里。
如何找回您的 .md 文件?
请按照以下步骤操作:
第一步:检查是否有 source 分支
- 打开您的浏览器,进入您 GitHub 仓库的主页(例如
https://github.com/你的用户名/你的用户名.github.io)。 - 在仓库文件列表的左上角,您会看到一个下拉菜单,显示当前的分支名(很可能是
main或master)。 - 点击这个下拉菜单。
- 在搜索框中输入
source。 - 如果存在一个名为
source、dev或类似名称的分支,请点击它。 - 浏览这个分支的文件结构。您应该能看到
source/_posts/目录,您的所有.md文件就在这里!
第二步:如果找到了 source 分支
在新电脑上克隆
source分支:- 在
source分支的页面上,点击绿色的Code按钮。 - 复制仓库的 URL。
- 打开终端,先删除之前克隆的
main分支仓库(或者换一个文件夹)。 - 执行克隆命令,并指定
source分支:1
git clone -b source https://github.com/你的用户名/你的用户名.github.io.git
- 这样,您克隆下来的就直接是包含
.md文件的源代码仓库了。
- 在
安装 Hexo 环境:
- 您需要在新电脑上重新安装 Node.js 和 Hexo CLI。
- 在终端中进入您克隆的
source仓库目录:1
cd 你的用户名.github.io
- 安装项目依赖:
1
npm install
- 安装 Hexo 命令行工具(如果尚未安装):
1
npm install -g hexo-cli
开始维护:
- 现在,您可以像以前一样,在
source/_posts/目录下创建和编辑.md文件。 - 预览:运行
hexo server,然后在浏览器访问http://localhost:4000。 - 发布:完成修改后,运行以下命令来生成并部署:
1
2
3hexo clean # 清理缓存
hexo generate # 生成静态文件
hexo deploy # 部署到 main 分支 (这一步会自动将生成的文件推送到 main 分支)
- 现在,您可以像以前一样,在
第三步:如果没找到 source 分支
这说明您可能没有使用分支分离的策略,而是直接在 main 分支上进行操作,但这非常不推荐,因为会把源代码和生成文件混在一起。
检查本地是否有旧文件:
- 回想一下,您是否在旧电脑的某个文件夹里直接运行
hexo init创建了项目?如果那个旧电脑还能用,去那个文件夹里找找看。
- 回想一下,您是否在旧电脑的某个文件夹里直接运行
重新开始:
- 如果确认
.md文件已经丢失,您需要重新开始。 - 保留您克隆下来的
main分支仓库作为您的“发布目录”。 - 在另一个文件夹里,重新初始化一个 Hexo 项目:
1
2
3hexo init my-blog
cd my-blog
npm install - 将您
main分支里的CNAME文件(如果有的话)复制到新项目的根目录。 - 配置
_config.yml中的deploy部分,确保它指向您的your-username.github.io仓库。 - 之后,您就可以开始用 Markdown 写新文章了。
- 如果确认
总结
您找不到 .md 文件,几乎可以肯定是它们在一个独立的 source 分支上。请立即去 GitHub 仓库页面检查分支列表。一旦找到并克隆了 source 分支,您就可以在新电脑上恢复完整的 Hexo 工作流,继续通过写 Markdown 来维护您的网站了。
只有main分支
好的,收到您的反馈。如果您的 GitHub 仓库中只有 main 分支,并且里面只有生成的 HTML、CSS、JS 等静态文件,而没有 Hexo 的源代码(如 _config.yml, source/_posts/ 目录和 .md 文件),那么您的原始源代码确实已经丢失了。
不过,别担心,您仍然可以在新电脑上恢复对网站的维护。我们无法找回旧的 .md 文件,但可以重建一个全新的 Hexo 工作环境,并将其连接到您现有的 GitHub 仓库。这样,您就可以重新开始用 Markdown 写文章了。
以下是详细的恢复步骤:
第一步:在新电脑上安装必要工具
安装 Git
- 访问 https://git-scm.com/ 下载并安装 Git。
- 安装后,打开终端(Terminal)或命令行,输入
git --version,确认安装成功。
安装 Node.js
- Hexo 是基于 Node.js 的框架。访问 https://nodejs.org/ 下载并安装 LTS(长期支持)版本的 Node.js。
- 安装后,在终端输入
node --version和npm --version,如果能显示版本号,说明安装成功。
安装 Hexo CLI
- 在终端中运行以下命令来全局安装 Hexo 命令行工具:
1
npm install -g hexo-cli
- 在终端中运行以下命令来全局安装 Hexo 命令行工具:
第二步:克隆您的 GitHub 仓库作为“发布目录”
这个仓库(your-username.github.io)将专门用于存放生成的静态文件,由 GitHub Pages 直接发布。
在终端中,导航到您希望存放代码的文件夹,例如:
1
cd ~/Documents/MyProjects
克隆您的 GitHub Pages 仓库:
1
git clone https://github.com/你的用户名/你的用户名.github.io.git
- 这个文件夹现在就是您的“发布目录”。
第三步:创建新的 Hexo 源代码项目
现在,您需要创建一个新的 Hexo 项目,这个项目将包含您的所有 .md 文件和配置。
在一个与“发布目录”不同的位置创建一个新的文件夹,例如:
1
2mkdir hexo-source
cd hexo-source初始化一个新的 Hexo 项目:
1
2hexo init
npm install- 这会在当前文件夹下创建完整的 Hexo 源代码结构,包括
source/_posts/目录。
- 这会在当前文件夹下创建完整的 Hexo 源代码结构,包括
(重要)配置
_config.yml- 用文本编辑器打开
hexo-source文件夹里的_config.yml文件。 - 找到
deploy部分,将其配置为指向您第一步中克隆的“发布目录”。配置如下:1
2
3
4deploy:
type: git
repo: https://github.com/你的用户名/你的用户名.github.io.git
branch: main - 关键点:这里的
repo地址必须是您your-username.github.io仓库的 HTTPS 地址。
- 用文本编辑器打开
第四步:建立两个目录的连接
为了让 Hexo 知道应该把生成的文件部署到哪个文件夹,我们需要进行一个巧妙的设置。
进入“发布目录”:
1
cd ../your-username.github.io
初始化一个临时的 Git 仓库(如果还没有的话):
1
git init
将“发布目录”设置为“源代码目录”的“部署仓库”:
- 回到“源代码目录”:
1
cd ../hexo-source
- 运行以下命令,将“发布目录”的路径添加为一个远程仓库,命名为
deploy:1
git remote add deploy ../your-username.github.io
- 这个命令告诉 Git:当我说
git push deploy时,实际上是把文件推送到../your-username.github.io这个本地文件夹。
- 回到“源代码目录”:
第五步:测试并开始维护
现在,一切都设置好了。让我们来测试一下流程。
写一篇新文章:
在hexo-source文件夹中运行:1
hexo new "我的第一篇新文章"
这会在
source/_posts/目录下创建一个名为我的第一篇新文章.md的文件。编辑文章:
用编辑器打开这个.md文件,写一些内容。生成并部署:
运行以下命令:1
2
3hexo clean
hexo generate
hexo deployhexo generate会将您的.md文件生成 HTML、CSS 等静态文件。hexo deploy会将这些生成的文件推送到deploy远程仓库,也就是我们设置的../your-username.github.io文件夹。
推送更新到 GitHub:
- 进入“发布目录”:
1
cd ../your-username.github.io
- 检查状态:您会看到有新的文件被添加。
1
git status
- 提交并推送到 GitHub:
1
2
3git add .
git commit -m "发布新文章:我的第一篇新文章"
git push origin main
- 进入“发布目录”:
查看结果:
几分钟后,访问https://你的用户名.github.io,您应该就能看到新发布的内容了。
总结
通过以上步骤,您已经成功地在新电脑上重建了一个完整的、可维护的 Hexo 工作流。虽然您丢失了旧的 .md 文件,但您获得了一个更清晰的项目结构:
hexo-source文件夹:存放您的所有源代码和.md文件(这是您日常工作的目录)。your-username.github.io文件夹:存放生成的静态文件,专门用于 GitHub Pages 发布。
从现在起,您只需要在 hexo-source 目录下写 Markdown,然后运行 hexo deploy 和 git push,就可以轻松地维护您的网站了。
总之,我以后我只需要在hexo new 文件后使用
hexo clean
hexo generate
hexo deploy就行了