惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

W
WeLiveSecurity
Jina AI
Jina AI
博客园 - 司徒正美
雷峰网
雷峰网
宝玉的分享
宝玉的分享
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园_首页
WordPress大学
WordPress大学
Google DeepMind News
Google DeepMind News
GbyAI
GbyAI
MyScale Blog
MyScale Blog
Apple Machine Learning Research
Apple Machine Learning Research
美团技术团队
I
InfoQ
博客园 - Franky
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
博客园 - 叶小钗
阮一峰的网络日志
阮一峰的网络日志
Cyberwarzone
Cyberwarzone
C
CXSECURITY Database RSS Feed - CXSecurity.com
S
Schneier on Security
P
Privacy & Cybersecurity Law Blog
T
Threatpost
Cloudbric
Cloudbric
D
Docker
M
MIT News - Artificial intelligence
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Vercel News
Vercel News
Martin Fowler
Martin Fowler
J
Java Code Geeks
AWS News Blog
AWS News Blog
The Cloudflare Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
L
Lohrmann on Cybersecurity
Hacker News: Ask HN
Hacker News: Ask HN
Last Week in AI
Last Week in AI
S
Security @ Cisco Blogs
Help Net Security
Help Net Security
C
Cisco Blogs
V
V2EX
博客园 - 【当耐特】
I
Intezer
爱范儿
爱范儿
F
Fortinet All Blogs
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
P
Privacy International News Feed
IT之家
IT之家
L
LINUX DO - 最新话题
B
Blog RSS Feed
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO

Mereith's Blog

记一次代理转发问题的排查与解决 PVE DataCenter Manager 端口号跳转错误修复 k8s + jenkins + gitlab 触发器 【转载】没有编程生产力这样的东西 【后续】居然被 ddos 了 居然被 ddos 了 Tagger - 让版本标签管理更简单 openclash 开启后端口转发失效 nextjs 启动时执行代码 买了太多VPS不知道干什么,干脆做个网站 juhost Level-1 测评 VMISS CN - Hong Kong VMISS JP - Tokyo - BGP 测评 VMISS CN - Hong Kong - BGP HomeLab 的终点是 最近在做的事情 手撸一个nodejs分布式爬虫,还要可视化 HomeLab 分享 我的个人工作流——开源项目推荐 动手写一个超简单的编译器 safari 插件开发 Safari Extensions Preferences 按钮无响应 设置移动端软键盘回车按钮文案 nginx proxy manager 非标准端口反代 Host 不对 监控 k8s ingress 自动添加域名 DNS 解析 使用 ingress 注解给 traefik ingress 添加中间件 使用流水线功能为文章添加固定结尾 为 VanBlog 添加一个小挂件 基于React/umi/egg自建博客系统 如何正确停止 NodeJS 子进程 k8s pod 替换策略 让威联通、pve 共享 ups 实现断电关机 Ubuntu 配置 samba 混合云部署k3s集群(基于wireguard) pve 无法启动 grub lvmid not found error antd Password 关闭自动补全 code-server node not found pve no quorum 错误 || 无法登录 pve Cannot Initiate CMAP Service pve 节点删不干净 PVE 指针(鼠标)漂移 pve 重启网络 Proxmox VE 直通显卡 ProxmoxVE (PVE) 7.0 换源升级 用 SOCAT 端口转发 git 无法 pull 仓库refusing to merge unrelated histories 用 vuepress 搭建私人知识库 js 防抖节流中的 this 与箭头函数 Dockerfile 给 Ubuntu 换源 docker 内访问宿主机 docker 删除无用镜像 css 实现展开收起动画 nginx 301 问题 Node.js 流式编程 关于我重写了三次博客项目这件事 css flex 布局超出隐藏 css 隐藏滚动条 css 文字超出隐藏并显示省略号 css 填充 svg 颜色 css 黑白滤镜 nginx 反代丢端口 docker-compose 部署 matomo 分析系统 基于 strapi 开发应用 strapi 关闭 Content Security Policy nginx 反代 rewite url ssh 通过跳板机访问目标机器 Cent os 7 安装 zsh 5.6 以上版本 win11 任务栏不合并 bash 数组操作 vim 修改文件格式为 unix k8s 集群 control-plane-endpoint 主机名 git https 保存密码 Bash 判断命令存在 & 重定向 python 导出项目依赖 cent os 7 安装 gcc 版本 9 System limit for number of file watchers reached cent os 7 安装 git 2.x css 下划线中间向两边滑动效果 linux 挂载 SMB/CIFS linux 清除 ACL windows 命令行安装 inf 驱动 css 文字不可选择 iperf3 网络测速工具 cent os 换源 k8s 1.21.3 从 docker 迁移到 containerd 解决Nginx安装错误:No package nginx available 问题 从pve的硬盘里导出数据 Errors were encountered while processing adguardhome配合clash pve中使用LXC容器安装OMV LXC直通硬盘 nginx反代模版 docker常用开启容器的命令 PVE的LXC容器中安装Docker ProxmoxVE系统分区相关 基于clash搭建旁路网关 Portainer添加节点 linux声卡设置及录音音 OpenWrt用VLAN PVE换源及去掉订阅提示和改端口 adguardhome踩坑
因为选择艰难症,自己写了一套开源博客系统
wanglu@mereith.com (mereith) · 2023-06-30 · via Mereith's Blog

请注意,本文编写于 1387 天前,最后修改于 1071 天前,其中某些信息可能已经过时。

合并.png

项目主页: https://vanblog.mereith.com
开源地址: https://github.com/mereithhh/van-blog
Demo 站: https://blog-demo.mereith.com
喜欢的话可以给个 star 哦 🙏

前因

我大二那年,第一次接触到了个人博客这个东东。看着别人炫酷的个人网站很羡慕,于是第一次买了一台云服务器,在网上到处搜教程,用 hexonext 主题部署了我的第一版博客。

那时候抱着巨大的热情,我折腾了背景,折腾了 live2d,折腾了鼠标特效,等等。

但用了一阵子觉得有些很不方便。因为 hexo 这类的静态网站生成器本身是没有后台的,所以我必须用自己的方式写 markdown 文件、敲命令行、发布到网上(那时候还不会搞 CI/CD)。

后面我陆续尝试了其他带后台的博客系统,比如 typechowordpress ,后者给我的感觉有些臃肿,前者感觉挺依赖主题的,很多也没有满足我的审美,有些特效加多了还挺卡,而且自带的编辑器和图床也没有很好用。

毕业的时候我用 react 写了一版带前后台的博客,SSR 渲染的博客,但是因为当时没有一个统一的规划,小问题不断,也不支持暗色模式,也没有内置图床,加载速度也并没有很快。

工作后闲暇时间,我又用 gastby 重构了一版博客,加载速度快了很多,但本质上 gastby 也是个静态页面生成器,而且每次发版都要全量构建。

后果

辞职后在家有时间了,我又想折腾一下博客,我的核心要求大概是:

  1. 最好是静态页面(SSG),方便 SEOCDN
  2. 要带一个方便的后台。
  3. 要内置图床,支持剪切板上传图片,支持不同的图床。
  4. 前后台都要支持移动端,都要支持暗色模式且能自动切换。
  5. SSG 的话希望不要每次发版都全量构建。
  6. 不要花里胡哨的特效,首屏加载一定要快。
  7. 可以 docker 一键部署。
  8. 支持访客统计和评论。

于是我调研了一番,发现现有的没有特别符合要求的,于是干脆自己写了一个,具有以下的特点:

  • 快到极致的响应速度,Lighthouse 接近满分。
  • 独一份的按需全自动 HTTPS,甚至不用填域名。
  • 包括完整的前后台和服务端。
  • 前台和后台都为响应式设计,完美适配移动端和多尺寸设备。
  • 前台和后台都支持黑暗模式,并可自动切换。
  • 前台为静态网页(SSG),并支持秒级的增量渲染,每次改动无需重新构建全部页面。
  • 静态网页,CDN 友好。
  • 基于 React,项目工程化,二次开发友好。
  • SEO 和无障碍友好。
  • 版本号展示和更新提醒。
  • 内置强大的分析功能,可统计访客等数据。并配有精美看板。
  • 内嵌评论系统。
  • 强大的 markdown 编辑器,支持图表和数学公式,一键插入 more 标记,一键剪切板及本地图片上传,
  • TOC、草稿、代码复制、访客数、评论数、分类、标签、搜索、加密、友链、打赏、自定义导航栏。
  • 多个布局设置,可自定义页面细节。
  • 支持自定义页面。
  • 可添加具有指定权限的协作者。
  • 高度客制化,可添加自定义 CSS、HTML 和 JS 代码。
  • 内置图床,并支持各种 OSS 图床、github 图床(外部图床基于 picgo)等。
  • 极致轻量化,没有花里胡哨。页面秒切换、图片懒加载。
  • docker 一键部署,支持 ARM 平台。
  • 支持 GA、百度分析
  • 简单易用的后台,支持数据的导出与导入。
  • 完善的 API,完全利用本项目后台和服务端,自己写前端或适配其他页面生成器
  • 有较完善的日志记录,后台可直接查看登录日志和 Caddy 日志。

我把它命名为 VanBlog,有兴趣的话可以试一下哦。

项目主页:https://vanblog.mereith.com 开源地址:https://github.com/mereithhh/van-blog Demo 站: https://blog-demo.mereith.com

一键脚本部署

curl -L https://vanblog.mereith.com/vanblog.sh -o vanblog.sh && chmod +x vanblog.sh && ./vanblog.sh

其他部署方式和详细说明请移步 项目文档

PS: 不然的话每次改一点部署文档,所有平台都要改好麻烦233

预览图

前台-白色.png

前台-黑色.png

后台-白色.png

后台-黑色.png