使用 GitHub Actions 将 Hugo 博客自动部署到远程服务器

前言 假如你经常更新博客内容,每次写完文章后还要手动登录服务器执行 rsync 命令来部署,就显得非常麻烦了。更理想的情况是:每次 push 代码到 GitHub 后,GitHub Actions 自动帮我们构建 Hugo 站点并同步到服务器上,这样我们就可以专注于写作,而不必担心部署细节。 什么是 GitHub Actions GitHub Actions 是 GitHub 提供的一套 CI/CD(持续集成/持续部署)工具,允许我们在代码仓库中定义自动化工作流程。当特定事件发生时(例如 push、pull request、release 等),GitHub Actions 就会触发相应的工作流程,执行预定义的任务。我们可以使用 GitHub Actions 来自动化构建 Hugo 站点,并将生成的静态文件部署到远程服务器上。 准备工作 要使用 GitHub Actions 自动部署 Hugo 博客,我们需要准备以下几个方面: 远程服务器:你需要有一台远程服务器,已经安装了 Nginx 或 Apache,并且配置好了网站根目录(例如 /var/www/html/)。 GitHub 仓库:你需要在 GitHub 上创建一个仓库,用来存放你的博客源码。这个仓库将作为 GitHub Actions 的触发源,当你 push 代码到这个仓库时,GitHub Actions 就会自动执行部署流程。 SSH 密钥:为了让 GitHub Actions 能够安全地连接到你的远程服务器并执行部署操作,你需要生成一对 SSH 密钥,并将公钥添加到服务器的 ~/.ssh/authorized_keys 文件中,同时将私钥存储在 GitHub 仓库的 Secrets 中。 什么是 SSH 密钥 首先,我们需要知道什么是 SSH 协议。SSH(Secure Shell)是一种网络协议,用于在不安全的网络上安全地访问远程计算机。SSH 使用公钥加密技术来验证用户身份和保护数据传输的安全性。 SSH 密钥对由两部分组成:公钥和私钥。公钥可以公开分享,而私钥必须保密。使用 SSH 密钥对进行身份验证时,用户将私钥保存在本地计算机上,并将公钥上传到远程服务器。当用户尝试连接到服务器时,服务器会使用公钥来验证用户的身份,如果验证成功,用户就可以访问服务器。 ...

📅 June 15, 2026 · 🔄 更新于 2026-06-17 · ⏱️ 12 min · 📝 约 1815 字 · 👁️ — 次阅读

PyMuPDF 使用指南:PDF 处理神器

前言 笔者今天在处理一批 PDF 文档时,使用了 pyMuPDF 库来提取文本和表格。今天在查阅相关文档时无意间发现了一个名为 pymupdf4llm 的库,它是基于 pyMuPDF 的一个扩展,专门针对将 PDF 内容转换为适合 LLM 输入的 Markdown 格式进行了优化。这个库不仅能提取文本,还能识别表格和图片,并将它们以 Markdown 语法的形式输出,非常适合我们在 RAG 流水线中使用。在这篇文章中,我们先重点关注下pyMuPDF的基本使用。 关于 PyMuPDF PyMuPDF 是一个功能强大的 Python 库,用于处理 PDF、XPS、OpenXPS、CBZ 和 EPUB 等文档格式。它提供了丰富的 API 来提取文本、图像、表格等内容,并支持对文档进行修改和注释。PyMuPDF 的核心优势在于其高效的解析能力和对复杂文档结构的良好支持,使得它成为处理 PDF 文档的首选工具之一。 安装 在 Python 环境中安装 PyMuPDF 非常简单: bash Copy pip install --upgrade pymupdf PyMuPDF 基础功能 1. 打开文档 python Copy import fitz # PyMuPDF 的别名 doc = fitz.open("example.pdf") # 打开 PDF 文档(路径填写相对路径或者绝对路径) print(f"文档页数: {doc.page_count}") 这里,doc 是一个 Document 对象,表示打开的 PDF 文档。你可以通过 doc.page_count 获取文档的总页数。如果你查看 doc 对象的类型,你会发现它是一个 Document 类的实例。 ...

📅 June 16, 2026 · ⏱️ 5 min · 📝 约 852 字 · 👁️ — 次阅读
Comments