Skip to content

Huazzi/hexo-dashboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

无服务器 Hexo 后台管理系统

项目概述

本项目旨在创建一个基于 Netlify Functions 的无服务器 Hexo 后台管理系统,提供一个简洁易用的网页界面,让用户能够方便地发布和管理 Hexo 博客文章。系统通过调用 GitHub API 将文章内容自动提交到 Hexo 仓库,并触发 Netlify 的自动部署,实现博客内容的快速更新。

这是一个理想的解决方案,适合希望拥有一个轻量级、无需额外服务器维护的 Hexo 后台管理界面的用户。

特性

  • 无服务器架构: 利用 Netlify Functions 实现后端逻辑,无需管理服务器。
  • 简单易用: 提供直观的网页界面,方便撰写和发布文章。
  • 自动部署: 文章提交后自动触发 Netlify 部署,实时更新博客。
  • 支持 Markdown: 使用 Markdown 格式撰写文章,兼容 Hexo。
  • 自动生成 Front Matter: 自动生成文章的 Front Matter 信息(标题、日期、分类、标签等)。
  • 草稿自动保存(待实现或已实现,根据你实际情况修改): 提供自动保存草稿功能,防止内容丢失。
  • 响应式设计: 界面适应不同设备。

界面展示

login home list about

To-Do

  • 新文章上传功能
  • 文章列表展示
  • 使用更强的身份验证
  • 图片上传功能 (集成云存储)
  • 文章删除功能
  • 文章修改编辑功能

项目架构

graph LR
A[用户] --> B(前端界面); 
B --> C(Netlify Function); 
C --> D(GitHub API); 
D --> E(Hexo 仓库); 
E --> F(Netlify 自动部署);
Loading

简要流程:

  1. 用户在前端界面撰写文章并点击发布。
  2. 前端将文章数据发送到 Netlify Function。
  3. Netlify Function 调用 GitHub API 将文章内容(包含 Front Matter)作为新文件提交到 Hexo 仓库的 source/_posts 目录。
  4. GitHub 仓库内容更新触发 Netlify 的自动部署。
  5. Netlify 构建 Hexo 博客并发布。

安装与部署

本项目采用无服务器架构,主要部署在 Netlify 平台。

前置条件

  • 一个 GitHub 账号。
  • 一个 Netlify 账号。
  • 一个已在 GitHub 上托管的 Hexo 博客仓库。

部署步骤

  1. Fork 本仓库: 将本项目 Fork 到你的 GitHub 账号下。
  2. 在 Netlify 中创建新站点:
    • 登录 Netlify。
    • 点击 "Add new site" -> "Import an existing project"。
    • 选择 "Deploy with GitHub",授权 Netlify 访问你的 GitHub 仓库。
    • 选择你 Fork 的本项目仓库。
    • 在 "Site settings" 中配置以下环境变量(重要):
      • GITHUB_TOKEN: 你的 GitHub Personal Access Token,需要包含对你的 Hexo 仓库的 repo 权限。请确保妥善保管此 token,不要泄露。
      • GITHUB_OWNER: 你的 GitHub 用户名。
      • GITHUB_REPO: 你的 Hexo 仓库名称。
      • API_KEY: 用于访问 Netlify Function 的自定义 API Key,用于简单验证,请设置一个强密码。
    • 构建设置:
      • Build command: (通常 Hexo 仓库无需额外的构建命令,但如果你的 Hexo 仓库有自定义构建步骤,请在此填写)
      • Publish directory: public
    • 点击 "Deploy site"。
  3. 配置 Hexo 仓库: 确保你的 Hexo 仓库配置正确,以便 Netlify 能够成功构建你的博客。特别是 .github/workflows 目录下的 GitHub Actions 或其他 CI/CD 配置,如果存在,请确保它们不会与本项目的功能冲突。

部署成功后,Netlify 会为你提供一个网站 URL,你就可以通过该 URL 访问你的 Hexo 后台管理系统。

使用说明

  1. 访问后台: 访问你部署在 Netlify 上的网站 URL。
  2. 登录: 输入你在 Netlify 环境变量中设置的 API_KEY 进行登录。
  3. 发布文章:
    • 在界面中填写文章标题、内容。
    • 可选填写分类、标签、封面图片 URL。
    • 点击 "发布" 按钮。
  4. 自动部署: 文章发布成功后,Netlify 会自动触发 Hexo 博客的构建和部署。等待部署完成即可在你的博客网站上看到新发布的文章。

开发与贡献

欢迎对本项目进行贡献!如果你想为本项目添砖加瓦,可以按照以下步骤进行:

  1. Fork 本仓库。
  2. 创建新的分支 (git checkout -b feature/your-feature-name)。
  3. 进行代码修改。
  4. 提交修改 (git commit -m 'Add some feature')。
  5. 推送到分支 (git push origin feature/your-feature-name)。
  6. 创建 Pull Request。

请确保你的代码符合项目的编码规范,并包含必要的测试。

许可证

本项目采用 MIT 许可证 发布。

致谢

感谢所有对本项目做出贡献的人。

联系方式

如果你有任何问题或建议,欢迎通过 GitHub Issue 或 Pull Request 与我联系。

GitHub stars GitHub forks License

About

Demo:

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published