Giter Club home page Giter Club logo

beiyanyunyi / hexosharp Goto Github PK

View Code? Open in Web Editor NEW
16.0 1.0 8.0 2.8 MB

可独立部署也可托管在 Cloudflare 上的现代化静态博客管理器,功能:文章管理、图片管理、反代图床、访客统计、匿名评论、博主说说

Home Page: https://docs.hsp.penclub.club/

License: GNU Affero General Public License v3.0

JavaScript 4.10% TypeScript 95.31% HTML 0.59%
serverless hexo cloudflare-workers cloudflare-kv hexodashboard blog hugo vuepress cloudflare static-blog

hexosharp's Introduction

Hexo#

暂定图标,欢迎PR

Hexo#, 读作 Hexo sharpHexo 升

Hexo# 是一个可独立部署也可托管在 Cloudflare 上的轻后端的现代化静态博客管理器和 GitHub Repo 编辑器。Hexo# 解决了静态博客无后端带来的一系列麻烦,以及 jsDelivr 掉备案后的 GitHub 图床问题。

虽然名字里带 Hexo ,但这个项目并不依赖于 Hexo,因为 Hexo# 本质是一个 GitHub repo 编辑器,只要你的 repo 能生成静态页面,并且完成了相关的 CI,就可以使用 Hexo#。诸如 jekyll、hexo、hugo、vuepress、docusaurus 这样的静态页面生成器都可以使用 Hexo#,而相较 GitHub 自己的编辑器,Hexo#:

  • 可以所见即所得地编辑 markdown。
  • 可以随地部署,解决 GitHub 在**大陆被限制访问的问题。
  • 加入了 Service Worker,整体只需加载一次。

使用截图、详细部署教程等详细内容,可以 Star 本 Repo 后参考:

💡 起源

随着时代发展,免费静态空间越来越多,静态博客也如雨后春笋。在 GitHub 提供 Action 这个功能后,静态博客的门槛进一步降低:写一篇文章,Commit 一下,GitHub 就会自动构建好网页,然后更新上去。

不过,托管在 GitHub 上的静态博客依然面临着一些问题。Markdown 有一定的学习成本,一边写一边预览也不符合大多数人的使用习惯。在 raw.githubusercontent.com 被墙后,图片的预览成了问题,而在 GitHub 的访问也不稳定以后,有时连编辑博文都需要翻墙。

为此,人们需要一个博客管理器。我之前也见到了一些类似的项目,但它们代码质量不太好,我二次开发时心智负担过重。于是我开始写 Hexo#,它将解决上述所有问题。

📈 特性

三个现代化,紧跟大趋势

代码现代化

  • TypeScript 严格地检查类型
  • Prettier 和 ESLint 确保码风一致
  • React + TSX 编写前端代码
  • ESBuild 打包 Worker,Vite 打包前端,构建如闪电
  • 丰富的 JsDoc 注释,代码即文档

平台现代化

  • 拥抱 Serverless,零成本部署
  • 保留独立部署选项

架构现代化

  • 重前端、轻后端,后端适应性强
  • 使用 GitHub 官方 API 库,开发体验好
  • 渐进式应用,资源全部缓存

编辑 Markdown,所见即所得

  • 使用 Vditor 作为 Markdown 编辑器

滚动更新,方便又快捷

  • 没有版本号,main 分支的每个 Commit 都是稳定的
  • 一键更新,免除操作烦恼

自由软件,而且也免费

  • 使用 AGPL 协议
  • 部署不花一分钱

✅ 在进行中的工作

Projects

🖼️ 展望

未来有可能会与 Cloudflare Pages 结合,把前端托管在 Pages 上,用 Page 自带的 Function 来干现在 Worker 干的事情,但现在该功能尚在 Beta 阶段,未来可能收费,故暂且观望。

🛠️ 开发

sudo corepack enable
# sudo npm install -g pnpm,如果上一条命令失败
git clone https://github.com/lixiang810/HexoSharp
cd HexoSharp
pnpm install
pnpm dev

❤️ 鸣谢

  • Hexo++ 提供了命名灵感和架构思路。

🤝 相似项目

⏩ 开源协议

本项目使用 AGPLv3 自由软件协议。任何项目若使用或修改了来自本项目的源码并向他人提供服务,则必须使用同样的协议并保持开源。

hexosharp's People

Contributors

beiyanyunyi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

hexosharp's Issues

博主说说

在用 GitHub issue 存储内容后,博主说说会是一件比较简单的事情。

使用 Issue 存储较长 / 需要频繁存取的数据

KV 的写入限制比较要命,并且还存在约 1 分钟的写入延迟。

添加这个 API 是为了给 HexoSharp 加上文章列表、图片关联和评论系统一类的功能。HexoSharp 将支持评论。

目前计划用 AES + base65536 加密存储数据。

登录验证码

Hexo# 中存储了比较危险的 GitHub Token,为了防止密码被暴力破解,登录时需要加上验证码才行。

访客统计

使用 GitHub issue 绕过 KV 的写入限制后,我们将可以进行访客统计。

文章模板

应当存储 yaml frontmatter,方便每次使用。

评论系统

在实现使用 GitHub issues 存储数据后,我们将可以实现一个评论系统。与 vssue / gitalk 这些同样使用 issues 的评论系统不同,使用 HexoSharp 评论时,评论者不需要登录 GitHub 账号,也不直接与 GitHub API 进行交互,而是由 HexoSharp 来完成这一切。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.