vite-press 食用指南

前几天给同事分享文档的时候一直在用 语雀啥的。突然想到,如果要维护一个像 vue 或者vite 那一类的文档给用户看该怎么快速搭建的。理应有前辈完成这种工作。让 grok 搜了一下。顺便解惑原来对于 wiki doc 等的认识,有兴趣的小伙伴们自己搜搜,我这里就不贴 grok 的长篇大论了 总之找到了 vite press。确实是曾经认识过它(好像是在鱼皮那里) 那么这篇博客就记录一下搭建过程(跟官方文档一致)Getting Started | VitePress 首先准备 node 环境。因为最近在开发 mcp 应用。所以心血来潮用了 bun 1 2 3 bun add -D vitepress bun vitepress init 随后会有一次互动式的初始化 显示已折叠代码(30 行) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ┌ Welcome to VitePress! │ ◇ Where should VitePress initialize the config? │ ./docs │ ◇ Where should VitePress look for your markdown files? │ ./docs │ ◇ Site title: │ My Awesome Project │ ◇ Site description: │ A VitePress Site │ ◇ Theme: │ Default Theme │ ◇ Use TypeScript for config and theme files? │ Yes │ ◇ Add VitePress npm scripts to package.json? │ Yes │ ◇ Add a prefix for VitePress npm scripts? │ Yes │ ◇ Prefix for VitePress npm scripts: │ docs │ └ Done! Now run pnpm run docs:dev and start writing. 这里对于初始化的目录结构会对后面有一定的影响。由于我是使用的./作为默认目录,也可以在已有的项目中构建 docs 目录跟项目结合在一起 ...

April 10, 2025 · 2 min · 249 words · Ray

自签证书

我现在在后端项目上 使用自签证书 对域名 172.16.99.32:1043 生成了证书和密钥。并在 nginx 中启动服务使用这个 我使用 curl 加 -K 这个参数 可以成功调用 https 的接口 但是我的前端页面服务直接使用 python http.server 启动访问的时候 无法调用这个接口。报错net::ERR_CERT_AUTHORITY_INVALID 我该怎么解决呢。因为我只是为了 加密通信,且没有域名 。是不是可以在两端互相认证证书之类的呢? 解决方案概述 by-grok3 理解问题 您的问题是前端页面(通过 Python 的 http.server 提供服务)无法调用使用自签名证书的 HTTPS 接口(172.16.99.32:1043),而使用 curl -k 可以成功调用。错误为 net::ERR_CERT_AUTHORITY_INVALID,因为浏览器默认不信任自签名证书。由于您是为了开发环境中的加密通信,且没有域名,我们需要让浏览器信任该证书。 推荐解决方案:使用 mkcert 使用 mkcert 是最方便的方法,它会生成本地信任的证书,浏览器会自动识别。步骤如下: 安装 mkcert(在 macOS/Linux 上用 brew install mkcert,Windows 上从 GitHub 页面 下载)。 运行 mkcert -install 安装本地 CA。 为您的 IP 生成证书:运行 mkcert 172.16.99.32。 在 nginx 中使用新生成的证书和密钥,更新配置并重启 nginx。 完成后,浏览器应该会信任该证书,前端可以正常访问 HTTPS 接口。 替代方案:手动信任证书 如果不使用 mkcert,可以手动将现有自签名证书添加到浏览器的信任存储: ...

March 25, 2025 · 2 min · 324 words · Ray

obsidian+hugo

参考 把 Obsidian 变为 Hugo 博客的集成管理平台 | 胡说 参考这位佬的文章,一共三篇。主要以下几个点 实现 关于我的博客是使用 github 管理,但是部署是在 cloudflare 上。这里原先的流程是这样的 编辑器打开仓库 (可选)git pull hugo new post/xxx.md 编辑 md,往往是我在别的编辑器(Obsidian) copy 进来的 编辑完后 git commit 然后 git push 这样的流程最大的问题出现在 写博客的位置和发布时的割裂 这也是我抓紧时间切换 md 编辑器到 Obsidian 的原因。插件万岁 使用插件有以下 Auto Link Title 粘贴链接自动获取标题 Charts 生图 Dataview 查看数据 Emoji Toolbar 挑选 emoji Git 进行 git 管理 Homepage 制作看板页 Image auto upload 结合 picgo 实现粘贴图片自动上传 QuickAdd 制作按钮 具体参考文章开头引用的 大佬的博客 有几个坑 倒是有热心网友在评论区提到了。看一下即可。

March 25, 2025 · 1 min · 69 words · Ray

Hugo 配置waline

惯例先放网址,我这里参考了 好多,但是终究没有能抄的作业 hugo-theme-stack/config.yaml at master · CaiJimmy/hugo-theme-stack · GitHub 独立部署 | Waline waline/assets/waline.sqlite at main · walinejs/waline · GitHub 知乎 # 博客建站10 - 选择博客评论系统 系统架构 网站示例: Ray Blog 服务器: Cloudflare pages + 一台 aws 白嫖的服务器独立部署 waline 服务器系统: Ubuntu 24.04 LTS 博客框架: The world’s fastest framework for building websites 网站主题: Stack | Card-style Hugo theme designed for bloggers 安装 waline 这里根据官方文档独立部署目录下的指引 以及评论区的提示,我就不走多余的路。直接拉取官方镜像 直接写 docker-compose.yml 显示已折叠代码(17 行) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 services: waline: container_name: waline image: lizheming/waline:latest restart: always ports: - 8360:8360 volumes: - ${PWD}/data:/app/data environment: TZ: 'Asia/Shanghai' SQLITE_PATH: '/app/data' JWT_TOKEN: 'Your token' SITE_NAME: 'Your site name' SITE_URL: 'https://example.com' SECURE_DOMAINS: 'example.com' AUTHOR_EMAIL: 'mail@example.com' 这里配置的环境变量似乎都没怎么用上。说实话我没看明白这个配置。直接运行后。在上一篇文章提到的 nginx 中进行反代。 ...

March 25, 2025 · 1 min · 156 words · Ray

Nginx Certbot

Nginx and Let’s Encrypt with Docker 这篇主要都是来自 medium 的这篇文章 Nginx and Let’s Encrypt with Docker in Less Than 5 Minutes | by Philipp | Medium 非常简单,我也就不多赘述,如果有不明白的问问 g 老师或者 c 老师即可 配完后确保域名解析到服务器即可(一直忘记改 cf,懵了好一会儿) 主要是为了下一篇文章 配置评论系统

March 25, 2025 · 1 min · 34 words · Ray