Hexo使用 GitHub Actions 自动推送更新到自己其他服务器
在使用 Hexo 搭建博客并推送到 GitHub Pages 后,我希望每次更新博客时,能够自动同步到我们的服务器(服务器上有其他域名,也是为了解决github page只能使用一个自定义域名的问题)。虽然可以通过在服务器上定期执行 git pull 来实现,但这种方法略显不够优雅。因此,我想到了使用 GitHub Actions 来实现这个自动化流程。💡 问题背景 🤔每次执行 hexo cl && hexo g -d 后,GitHub Actions 的配置文件会被覆盖掉,因为 Hexo 部署时不会包含 .github 目录下的文件。这是因为 Hexo 默认不会编译以 . 开头的文件夹,这导致 public 目录中不会有 .github/workflows/<文件名>.yml 文件,从而使得 Actions 失效。 解决方案 🎯通过阅读 hexo-deployer-git 的文档,我发现可以使用 extend_dirs 字段来包含特定的文件或目录,将其一同提交到远程仓库。这样就可以完美解决这个问题。👌 配置 Hexo在 Hexo 的...
Hexo 博客推送到 GitHub Pages:自定义域名解析与持久化方案
在将 Hexo 博客推送到 GitHub Pages 并使用自定义域名的过程中,常常会遇到更新后域名失效的问题。本文将详细介绍如何将Hexo 博客推送到 GitHub Pages,并解决这一问题,保持域名的持续有效。 🌿 创建 GitHub 仓库 创建仓库在 GitHub 主页的 repositories 中,新建一个名为 <你的GitHub用户名>.github.io 的仓库。直接创建即可,无需额外配置。 生成访问令牌前往 GitHub 设置页面,在 Personal access tokens 下创建一个新的 token。选择 Fine-grained tokens,点击 Generate new token。输入 token 名称(如“个人 Hexo 博客”),设置过期时间。 配置权限 在 Repository access 下选择 Only select repositories,并选择刚刚创建的仓库。 在 Permissions 的 Repository permissions 中打开所需权限(建议全开),然后生成 token...
Hexo 博客图片显示问题解决:从 post_asset_folder 到封面图设置
在管理 Hexo 博客时,图片的组织和管理中会出现各种问题,比如经典的开启了post_asset_folder,使用后还是不显示。为了提高管理效率和结构化程度,我们可以为每篇文章创建一个独立的资源文件夹。以下是具体的实现步骤。 🌿 步骤一:配置 Hexo首先,我们需要修改 Hexo 的配置文件,使其支持为每篇文章创建独立的资源文件夹。 1. 修改 _config.yml打开 Hexo 根目录下的 _config.yml 文件,找到并设置以下选项: 1234post_asset_folder: truemarked: prependRoot: true postAsset: true 这将启用每篇文章的资源文件夹功能。 🌿 步骤二:创建新文章2.1 使用命令创建文章在终端中,导航到 Hexo 项目目录,并使用以下命令创建新文章: 1hexo new [layout] "<title>" layout 可以省略,使用默认值。 title 是文章的标题,如果包含空格,请用双引号括起来。 此命令将在 source...
Hexo 博客迁移记录:问题与解决方案
在将 Hexo 博客从旧电脑迁移到新电脑的过程中,遇到了一些技术问题。以下记录了整个过程以及解决方案,供参考。 迁移步骤 打包博客文件在旧电脑上,使用以下命令压缩博客目录,排除 node_modules: 1zip -r blog.zip blog -x "blog/node_modules/*" 安装 Hexo 和解压博客 在新电脑上安装 Hexo CLI: 1npm install hexo-cli -g 初始化一个新的博客目录: 1hexo init blog 解压旧博客的压缩包,并替换新目录的内容。 安装依赖在新目录中运行: 1npm install 遇到的问题1. 安装 hexo-renderer-pug 和 hexo-renderer-stylus 失败使用 npm 安装时,出现以下错误: 1npm error Cannot read properties of null (reading 'matches') 解决方法使用 pnpm 并指定镜像源: 1pnpm install...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub. Quick StartCreate a new post1$ hexo new "My New Post" More info: Writing Run server1$ hexo server More info: Server Generate static files1$ hexo generate More info: Generating Deploy to remote sites1$ hexo deploy More info: Deployment
在 Serv00 上安装 Alist 并通过 Cloudflare Tunnel 映射域名
今天,我将分享如何在我们的服务器 Serv00 上安装 Alist,并通过 Cloudflare Tunnel 将其映射到自己的域名。同时,我们会使用 PM2 来管理 Alist 服务的运行环境和监控。🚀 安装 PM2首先,通过 SSH 连接到 Serv00,然后使用一键脚本安装 PM2。PM2 是一个流行的 Node.js 进程管理器,可以帮助我们更好地管理应用程序。运行以下命令: 1bash <(curl -s https://raw.githubusercontent.com/k0baya/alist_repl/main/serv00/install-pm2.sh) 安装 Alist前往 Alist 的 GitHub 发布页,找到适合 Serv00 的 Alist 测试版本(注意选择 FreeBSD amd64)。在服务器上创建一个文件夹用于存放 Alist 文件: 1mkdir -p ~/domains/alist 接下来,下载并解压 Alist: 1wget...
使用自建 Tabby Web 来同步 Tabby 配置
注册 Github App首先,我们需要注册一个 Github App。你可以访问 Github 应用注册页面 进行注册。填入以下信息: Homepage URL: https://tabby.example.com Authorization callback URL: https://tabby.example.com/api/1/auth/social/complete/github/ 注册完成后,记得保存 Client ID 和获取 Client secrets。 运行 Tabby Web接下来,我们需要创建一个 podman-compose.yml 文件,内容如下: 123456789101112131415services: tabby: image: ghcr.io/eugeny/tabby-web:latest container_name: tabby restart: always ports: - '3005:8000' volumes: -...