当前位置: 首页 > 后端技术 > Node.js

因为抉择困难,自己写了一个开源博客系统

时间:2023-04-03 13:34:33 Node.js

项目主页:https://vanblog.mereith.com开源地址:https://github.com/mereithhh/van-blogDemo站点:https://blog-demo.mereith.com是因为大二的时候第一次接触到个人博客。羡慕别人的个人网站很酷,所以第一次买了云服务器,在网上到处找教程,用hexo和nextthemes部署了自己的第一版博客。当时怀着极??大的热情,折腾了背景,折腾了live2d,折腾了鼠标特效,等等。但是用了一段时间后,发现有点不方便。因为hexo之类的静态网站生成器没有后台,只好自己写markdown文件,敲命令行,发布到网上(那时候还没有CI/CD)。后来又尝试了其他有后台的博客系统,比如typecho、wordpress。后者给我的感觉有点臃肿,而前者给我的感觉比较依赖题材,很多都不符合我的审美。而且内置的编辑器和绘图床用处不大。毕业的时候用react写了一个前后端结合的博客,一个ssr渲染的博客,但是因为当时没有统一的方案,所以小问题很多,而且不支持dark模式,也没有内置图像床,加载速度也不好。不会很快。下班后的空闲时间,用gastby重构了一个版本的博客。加载速度快了很多,但是gastby本质上也是一个静态页面生成器,每次发布都需要全面构建。结果辞职后有时间在家,又想折腾写博客了。我的核心需求大概是:最好是静态页面(SSG),方便SEO和CDN。带来方便的背景。内置图床,支持剪贴板上传图片,支持不同图床。前台和后台都必须支持移动端,都必须支持深色模式,并且可以自动切换。对于SSG,我希望不要在每个版本中都完整构建。不要使用花哨的特效,首屏加载必须要快。docker一键部署即可。支持访客统计和评论。于是研究了一下,发现现有的都没有特别符合要求的,于是干脆自己写了一个,有以下特点:响应速度极快,Lighthouse接近满分。唯一的按需全自动HTTPS,你甚至不需要填写域名。包括完整的前后端和服务器。前台和后台均为响应式设计,完美适配移动端和多尺寸设备。前台和后台都支持深色模式,可以自动切换。前台为静态网页(SSG),支持秒级增量渲染,无需每次更改都重新构建所有页面。静态网页,CDN友好。项目基于React,工程化,二次开发友好。SEO和可访问性友好。版本号显示和更新提醒。内置强大的分析功能,可以统计访客等数据。并配备漂亮的看板。嵌入式评论系统。强大的markdown编辑器,支持图表和数学公式,一键插入更多标签,一键剪贴板和本地图片上传TOC、草稿、代码文案、访问量、评论数、分类、标签、搜索、加密、好友链接,小费,自定义导航栏。多个布局设置以自定义页面详细信息。高度可定制,添加自定义CSS、HTML和JS代码。支持自定义页面。可以添加具有指定权限的协作者。内置图形平台,支持各种OSS图形平台,github图形平台(外部图形平台基于picgo)等。极度轻量级,没有花里胡哨的东西。秒级页面切换,图片延迟加载。一键部署docker,支持ARM支持GA,百度分析,简单易用的后台,支持数据导出导入。完整的API,充分利用本项目的后台和服务器,自己写前端或者适配其他页面生成器,有比较完整的日志记录,后台可以直接查看登录日志和Caddy日志。我把它命名为VanBlog,有兴趣的可以试试。项目主页:https://vanblog.mereith.com开源地址:https://github.com/mereithhh/van-blogDemo站:https://blog-demo.mereith.com一键脚本部署curl-lhttps://vanblog.mereith.com/vanblog.sh-ovanblog.sh&&chmod+xvanblog.sh&&./vanblog.sh其他部署方式和详细说明请移步项目文档PS:否则,部署文件每次改一点,所有平台都要改,麻烦233预览