Hugo 高级可视化指南:代码、公式与流程图

介绍 在技术博客的写作中,如何优雅地展示代码、数学公式和复杂的逻辑流程,直接决定了文章的阅读体验。传统的博客往往受限于静态生成器的默认支持,导致代码高亮生硬、公式解析错误或无法原生支持流程图。 经过一系列的折腾与优化,我总结了一套在 Hugo (PaperMod 主题) 下近乎完美的解决方案: 代码可视化:摒弃传统的 Chroma/Highlight.js,引入 Shiki,实现与本地 VS Code 完全一致的语法解析与 Dark+ 主题高亮。 数学公式可视化:集成 KaTeX,实现轻量级、极速的 LaTeX 公式渲染。 流程图可视化:原生集成 Mermaid.js,用纯文本绘制可交互的架构图与流程图。 本文将详细记录这些特性的实现效果与使用经验。 代码可视化:VS Code 原生体验 (Shiki) 以前的代码高亮要么颜色不够精确,要么对现代语言(如 C++ 的复杂模板)支持不佳。我们引入了 Shiki,它基于 VS Code 原生的 TextMate 语法解析器,能够在网页上 1:1 还原你在编辑器里看到的绝美高亮。 核心亮点 精准解析:依靠真实的 AST 语法树和正则,完美区分函数、变量、宏定义。 暗黑沉浸:采用了纯正的 dark-plus 主题,加上现代编程等宽字体(JetBrains Mono / Fira Code)。 零前端负担:在线上通过 GitHub Actions 在 Node.js 环境下静态预渲染,浏览器完全不需要加载庞大的 JS 库;而在本地 hugo server 模式下,则通过 CDN 动态实时加载 Shiki 引擎,实现所见即所得。 演示效果 真正的 C++ 算法代码: 1 2 3 4 5 6 7 8 9 10 // 计算两个描述子的相似度 double binary_similarity(const BinaryDescriptor &b1, const BinaryDescriptor &b2) { int same_num = 0; for (int i = 0; i < b1.occupy_array_.size(); ++i) { if (b1.occupy_array_[i] == b2.occupy_array_[i]) { same_num++; } } return (double)same_num / b1.occupy_array_.size(); } 注意:如果是带有大量中文解释的伪代码,请务必使用 text 语言标识,以免触发 C++ 语法解析错误。 ...

June 30, 2026 · 2 min · Zero-Kq

Linux 桌面快捷方式配置指南

介绍 对于通过解压即可使用的 Linux 应用程序(如 Antigravity IDE),系统默认不会为其创建桌面入口。本指南介绍如何通过 .desktop 文件将它们注册到系统应用菜单、任务栏,并配置独立桌面图标。 一键快速配置(推荐模板) 只需在系统存放快捷方式的目录下创建一个 .desktop 配置文件。 1. 创建配置文件 打开终端,执行以下命令: 1 nano ~/.local/share/applications/antigravity-ide.desktop 2. 粘贴并修改配置内容 在打开的编辑器中,粘贴以下标准配置。请务必将路径中的 yj 替换为系统实际用户名,并确保路径与软件存放位置一致: 1 2 3 4 5 6 7 8 9 [Desktop Entry] Version=1.0 Type=Application Name=Antigravity IDE Comment=My Antigravity IDE Exec=/home/yj/Antigravity_IDE/antigravity-ide Icon=/home/yj/Antigravity_IDE/resources/app/resources/linux/code.png Terminal=false Categories=Development;IDE; 配置字段说明 字段 说明 示例 Exec 可执行程序的绝对路径 /home/yj/Antigravity_IDE/antigravity-ide Icon 应用图标的绝对路径 /home/yj/Antigravity_IDE/resources/icon.png Categories 应用分类(分号分隔) Development;IDE; Terminal 是否在终端中运行 false 避坑关键点 禁止使用波浪号(~):Exec 和 Icon 必须使用绝对路径(如 /home/yj/...),系统无法解析 ~/ 处理路径空格:若文件夹名包含空格(如 Antigravity IDE),请给路径加上英文双引号,例如:Exec="/home/yj/下载/Antigravity IDE/antigravity-ide" 路径中的用户名:将 yj 替换为实际系统用户名 3. 保存并退出 在 nano 编辑器中,按下 Ctrl + O,然后按 Enter 确认保存,最后按 Ctrl + X 退出。 ...

June 11, 2026 · 1 min · Zero-Kq

GitHub 基础使用指南

介绍 本文介绍 GitHub 日常开发中的基础操作,包括使用 Personal Access Token 克隆私人仓库、保存 Git 凭据避免重复输入,以及配置全局与局部的用户名和邮箱。 1. 拉取私人仓库 1.1 创建 Personal Access Token 登录 GitHub,点击右上角头像 → Settings 左侧菜单选择 Developer settings 选择 Personal access tokens → Fine-grained tokens 点击 Generate new token → Generate new token (classic) 设置名称(如:我的开发令牌) 选择过期时间(建议选择较长时间,如 90 天或自定义) 选择仓库范围 All repositories 所有仓库,或者其他选项 勾选权限: 选择对应的权限领域 repositories(仓库)、Account(账户) 仓库中选择 Contents 可读写,其它权限按需设置 点击 Generate token 重要:复制生成的 token(只显示一次,请妥善保存) 1.2 使用 Token 克隆仓库 在命令行中执行: 1 git clone https://github.com/用户名/仓库名.git 当提示输入用户名和密码时: 提示项 填写内容 Username 你的 GitHub 用户名 Password 刚才复制的 Personal Access Token(不是你的 GitHub 密码) 示例: ...

March 11, 2026 · 1 min · Zero-Kq

无人机仿真环境搭建指南

介绍 本文记录无人机仿真开发环境的完整搭建流程,涵盖 ROS 安装、PX4-Autopilot 源码编译、Gazebo 仿真环境配置、MAVROS 通信中间件安装,以及 QGroundControl 地面站部署。 1. 安装 ROS 使用鱼香 ROS 一键安装脚本: 1 wget http://fishros.com/install -O fishros && . fishros 2. 安装 PX4-Autopilot 2.1 下载源码 1 git clone https://github.com/PX4/PX4-Autopilot.git 2.2 安装依赖 解压缩后执行: 1 2 cd ~/Desktop/PX4-Autopilot bash ./Tools/setup/ubuntu.sh 2.3 添加环境路径 编辑 ~/.bashrc 文件,添加以下内容: 1 2 3 4 source ~/桌面/PX4-Autopilot/Tools/setup_gazebo.bash ~/桌面/PX4-Autopilot ~/桌面/PX4-Autopilot/build/px4_sitl_default export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/桌面/PX4-Autopilot export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/桌面/PX4-Autopilot/Tools/sitl_gazebo # 具体路径取决于实际文件环境 使环境变量生效: 1 source ~/.bashrc 此时开启终端会打印以下信息: 1 2 3 GAZEBO_PLUGIN_PATH $GAZEBO_PLUGIN_PATH GAZEBO_MODEL_PATH $GAZEBO_MODEL_PATH LD_LIBRARY_PATH $LD_LIBRARY_PATH 可通过注释 setup_gazebo.bash 最后三句关闭打印。 ...

March 11, 2026 · 1 min · Zero-Kq