Deprecated: Function get_magic_quotes_gpc() is deprecated in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 99

Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 619

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1169

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176
10BC0 GitHub - ybming/HexoHub: A windows desktop application built for Hexo 一个桌面端hexo集成应用程序
Nothing Special   »   [go: up one dir, main page]

Skip to content
/ HexoHub Public
forked from forever218/HexoHub

A windows desktop application built for Hexo 一个桌面端hexo集成应用程序

License

Notifications You must be signed in to change notification settings

ybming/HexoHub

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HexoHub

中文文档 | English

GitHub Stars GitHub Forks GitHub Issues GitHub License GitHub all releases

image
image

一个基于 Electron + Next.js 构建的Hexo博客管理桌面应用程序,提供图形化界面来替代传统的命令行操作

告别繁琐的传统命令行方式(我已经厌倦了hexo xxxx🫠),以更优雅的方式管理您的hexo博客。

文章管理

在本应用程序中,您可以可视化的:创建新文章查看文章列表编辑文章实时预览启动本地预览生成并推送静态文件删除文章

图片拖入

这或许是本应用程序的一大亮点,当您开启了hexo的资源文件夹后(这是什么?),您就可以使用{% asset_img example.jpg %}标签,将本地的图片在博客中进行引用。
但是,频繁的输入{% asset_img example.jpg %}显然是不尽如人意的(特别是当图片文件名很复杂的时候),所以在本应用程序中,您只需要将图片放入与文章同名的资源文件夹下(例如\blog\source\_posts\测试文章),然后将图片拖入编辑窗口,就能自动填入{% asset_img example.jpg %}标签,省去了输入文件名的烦恼

image
image

Hexo 操作

命令执行:图形化执行常用 Hexo 命令,包括:

  • hexo clean - 清理缓存文件
  • hexo generate - 生成静态文件
  • hexo deploy - 部署到远程服务器
  • hexo se - 启动本地预览
    实时反馈:显示命令执行结果和错误信息

配置管理

基本设置:网站标题、副标题、作者、语言
高级设置:URL 配置、永久链接格式
YAML 编辑:支持直接编辑原始配置文件
导入/导出:配置文件的备份和恢复,更加方便您主题的迁移

快速开始

使用

如果您只需“使用”本应用程序:

随后到Releases下载最新版本。

开发

如果您需要“开发”本应用程序,以下是额外的需求:

⚠️ 出于速度考虑,我在开发过程中使用的是cnpm,并且修改了部分package.json内容,请您在使用时酌情考虑,如果要使用cnpm,请执行:

npm install -g cnpm --registry=http://registry.npm.taobao.org

随后即可用cnpm代替npm

  1. 克隆本仓库

    git clone https://github.com/forever218/HexoHub.git
  2. 安装依赖

    npm install
  3. 开发模式运行,到这一步就已经可以使用了

    npm run electron
  4. 打包应用(非必须)

    npm run build
    npm run make

注意:本应用程序通过electron-builder封装,而不是electron-forge,在您修改相关配置文件时,请注意使用electron-builder的配置文件格式。electron-builder

Linux 兼容性与故障排查

当前已经提供 AppImage(内部为 Electron 运行时)。在部分基于 Arch / Manjaro / Wayland 或 Mesa 驱动环境中,可能在终端看到:

GetVSyncParametersIfAvailable() failed for X times!

这一般是 Chromium 在获取 VSync 时间戳失败产生的日志,不影响核心功能。如果你希望减少或消除:

  1. 已在程序内部默认添加了 --disable-gpu-vsync 等参数,正常情况下只是偶尔出现。
  2. 如果仍大量出现或出现黑屏 / 空白窗口,可临时禁用 GPU:
HEXOHUB_DISABLE_GPU=1 ./HexoHub-<版本>.AppImage
  1. Wayland 会话下如果窗口行为异常,可尝试切换到 X11(或反之)。
  2. 如果使用远程桌面 / 无物理 GPU(llvmpipe),建议直接使用上面禁用 GPU 的方式。

反馈 Bug 时请附上:

操作系统发行版/版本:
桌面环境(GNOME/KDE/...)及会话(X11/Wayland):
是否使用独显/NVIDIA 专有驱动:
终端运行是否需要 HEXOHUB_DISABLE_GPU:是/否

如果确认禁用 GPU 后问题完全消失,可以提 Issue,我们会考虑自动检测更多场景。

技术栈

  • Next.js 15 - React 全栈框架
  • React - 用户界面库
  • TypeScript - 类型安全的 JavaScript
  • Tailwind CSS - CSS 框架
  • Electron - 跨平台桌面应用框架
  • electron-builder - 应用打包工具
  • NSIS - Windows 安装程序制作工具
  • remark-gfm - GitHub 风格 Markdown 扩展
  • Hexo - 静态博客生成器

贡献指南

欢迎提交 Issue 和 Pull Request!

  1. Fork 项目
  2. 创建功能分支
  3. 提交更改
  4. 创建 Pull Request

我在开发过程中遇到了许多问题,如果您可以加入这个项目,成为志同道合的朋友,我会万分感激,给您点杯咖啡!☕ 可以通过以下方式联系我:

国际化(i18n)

本项目使用next-i18next进行国际化处理,您可以在i18n.js中配置您的语言包,旨在帮助您的项目轻松支持多语言,让全世界的用户都能无障碍使用。

  • 多语言支持:轻松切换不同语言
  • 简单集成:快速上手,兼容主流框架
  • 可扩展:自定义翻译和语言包
# 安装模块
npm install your-i18n-module
// 初始化
import i18n from 'your-i18n-module';

i18n.init({
  defaultLanguage: 'en',
  supportedLanguages: ['en', 'zh', 'es', 'fr']
});

代码规范

没有规范(实际上本人代码一团糟👻),只要您写的东西是人类语言即可

LICENSE

本项目采用 MIT 许可证,请您在使用本项目时遵守相关法律法规。

更改日志

更多日志请移步release查看

v3 (2025-08-16)

新功能:

  • 在“文章列表”界面加入右键逻辑,实现快速操作
  • 左侧加入“标签云图”

BUG 修复:

  • 修复了hexo配置下,“网站标题”设置失败的问题
  • 修复了“按文章名排序”时,偶发的排序混乱问题
  • 修复了当“作者”为空时,生成静态文件报错的问题

v2 (2025-08-13)

新功能:

  • 重构”文章列表“功能,将其放在右侧主窗口
  • 加入“按标签/分类显示文章”功能
  • 加入文章批量处理功能(批量删除/添加标签/添加分类)
  • 添加国际化支持

BUG 修复:

  • 修复了部分明暗转换异常

v1 (2025-08-10)

  • 首次构建
  • 基本命令,文章按日期/名称排序
  • 基本功能实现

About

A windows desktop application built for Hexo 一个桌面端hexo集成应用程序

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 92.7%
  • JavaScript 4.6%
  • CSS 1.5%
  • NSIS 1.2%
0