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就行了