Hi there 👋

Welcome to my blog

如何在 Github Pages 上部署 Hugo 网站

前言 本文将介绍当初我搭建这个博客网站的时候,是如何将 Hugo 网站部署到 GitHub 上的,本文会采用与 hugo 官方不同的方式进行部署。 创建仓库 首先我们在 GitHub 上创建一个仓库,仓库名称为 username.github.io,其中 username 为你的 GitHub 用户名。这个仓库是用来存储hugo最终生成的静态网站文件的。再创建一个名称为 blogs 的仓库,这个仓库是用来存储 hugo 网站源内容文件的。 启用 GitHub Pages 在 username.github.io 仓库中,点击 Settings 选项卡,在 GitHub Pages 中选择 Source 为 从分支部署,然后点击 Save 按钮。 启用 GitHub Actions 接下来要实现提交 hugo 网站源文件到 blogs 仓库后,自动将 hugo 网站源文件编译成静态网站文件,并提交到 username.github.io 仓库中,这样就可以通过访问 username.github.io 仓库来访问 hugo 网站了。 生成 personal_token 在配置 Actions 前,需要先生成 personal_token,用于在 GitHub Actions 中使用。我们进入 Settings 选项卡,在 Developer settings 中选择 Personal access tokens,然后选择 Tokens (classic), 然后点击 Generate new token 下的Generate new token(classic)按钮,在 Note 中输入 blog,在 Expiration 中选择 No expiration,在 Select scopes 中选择 repo 和 admin:repo_hook,然后点击 Generate token 按钮,生成 personal_token。 ...

八月 31, 2024 · overstarry

V0.dev chat

v0.dev chat 介绍 v0.dev chat 是 vercel 推出的最新的生成式 AI 聊天机器人,可以通过用户对话的方式来生成相应的 react 代码。 v0.dev chat 相比 V0.dev 有以下优点: 最新的 react、next.js、web 技术知识 可以运行 npm 包 更快更可靠的流失传输 接下来将通过官方的几个例子及个人尝试的效果来讲解。 官方例子 解释 next 缓存机制 打开 https://v0.dev/chat/E8fIPvg, 可以看到 bot 很好的通过图表及文字讲述了 next 的缓存机制。 贪吃蛇游戏 打开这个 https://v0.dev/chat/AjJVzgx ,可以看到用户上传蛇的皮肤并一步步引导 bot 生成贪吃蛇游戏。 个人尝试 接下来将通过一个简单的视频网站例子来尝试 v0.dev chat 的效果。 先通过简单的提示生成视频网站的初始代码: 可以看到 bot 生成的代码是非常完整的,并且可以运行预览的。接下来继续完善视频网站。 接下来添加视频下载保存功能 接下来添加视频网站首页功能 通过不断的调整,可以慢慢的形成一个视频网站的雏形。 ...

八月 24, 2024 · overstarry

Markdown Preview Enhanced plugin introduction and simple use

前言 最近需要写总结报告,以前写总结报告时,往往使用 Word 进行编写,但由于显示排版等问题,本次采用了 Markdown 进行编写,在编写时使用了 Markdown Preview Enhanced 插件。本文介绍 Markdown Preview Enhanced 插件的安装及所使用的功能。 安装 打开 vscode编辑器,打开扩展栏,输入 Markdown Preview Enhanced ,第一个就是,点击安装后即可。 功能介绍 接下来将介绍一些在编写文档中所使用的功能。 diagrams Markdown Preview Enhanced 插件支持 low charts, sequence diagrams, mermaid, PlantUML, WaveDrom, GraphViz,Vega & Vega-lite,Ditaa 图像渲染。 在文档中我使用了 mermaid 和 Vega-lite,Vega-lite 用于绘制图表,mermaid 用于绘制流程图。 接下来介绍 markdown 中如何使用 Vega-lite 绘制图表,使用以下代码即可绘制一个漂亮的饼图: 如果想要居中的效果,可以添加 {align="center"}来设置居中的效果。 mermaid 可以用来绘制流程图,使用以下代码即可绘制一个简单的流程图: 如果我们想要添加 css 效果该怎么办呢,可以通过 HTML + css 的形式来显示我们想要的效果: ...

八月 23, 2024 · overstarry

go humanize介绍

前言 今天在 Github 查看一些开源项目时,发现了一个"人性化"的项目 go-humanize,此项目可以将一些常见的容量、时间、千分位转换为人们可以理解的形式,例如一个文件大小是 2000000 bytes,我们不能很好的理解,但如果告诉你是 2mb,我们就能很好的理解了。 go-humanize 就是方便的将一些不太能快速理解的数字转换为人们可以理解的形式。 安装 使用以下命令安装: go get github.com/dustin/go-humanize 使用 接下来分别介绍一些常见的功能。 容量转换 现在我们有一个文件大小是 52854982 bytes,我们使用 humanize 包的 Bytes 方法将其转换为人们可以理解的形式 53MB,也可以使用IBytes方法转换为MIB单位的值。也可以使用ParseBytes方法将可以理解的形式转换为bytes单位的值。 fmt.Printf("That file is %s.\n", humanize.IBytes(52854982)) fmt.Printf("That file is %s.", humanize.Bytes(52854982)) 时间转换 时间转换与容量转换类型,使用方法十分类似,使用方法如下: t := time.Now().Add(time.Hour * -7) fmt.Printf("This was touched %s.", humanize.Time(t)) //This was touched 7 hours ago. Time 根据相对时间转换为人们可以理解的形式,例如: xx天之前、xx小时之后等形式。 千分位转换 如果我们想在数字中添加逗号,就可以使用 Comma 方法,例如在处理金额时,我们通常会使用逗号将数字分隔开,例如 1,000,000,000 fmt.Printf("num is %s.", humanize.Comma(1000000000)) 还可以使用 Commaf 方法将浮点数转换为千分位形式。 位序 在日常使用中,我们有时需要表示位序例如 1st、2nd、3rd、4th 等,humanize 包也提供了相应的功能。 fmt.Printf("num is %s.", humanize.Ordinal(1000000000)) 简单看了下源码,发现函数十分简单: func Ordinal(x int) string { suffix := "th" switch x % 10 { case 1: if x%100 != 11 { suffix = "st" } case 2: if x%100 != 12 { suffix = "nd" } case 3: if x%100 != 13 { suffix = "rd" } } return strconv.Itoa(x) + suffix } 小结 本文介绍了 go-humanize 包的一些使用方法,可以方便的将一些数字转换为人们可以理解的形式。go-humanize 还有一些格式化的函数,感兴趣的读者可以自行查看源码。 ...

八月 10, 2024 · overstarry

解决检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理。

前言 最近在使用WSL时,想要在 WSL 中使用代理,但由于一些历史原因,宿主机开启的代理,WSL 无法使用,为了解决这个问题,查找了相关文档,在本文记录一下。 解决 在 windows C:\Users<your_username> 目录下创建 .wslconfig 文件,输入以下内容: [experimental] autoMemoryReclaim=gradual networkingMode=mirrored dnsTunneling=true firewall=true autoProxy=true 然后重启 WSL: wsl --shutdown networkingMode 为mirrored 表示网络模式使用镜像模式,会镜像宿主机的网络设置,能更好的集成宿主机和WSL的网络。 autoProxy 开启了自动代理的功能,意味 WSL 自动配置代理设置。 参考 https://github.com/microsoft/WSL/issues/10753 https://learn.microsoft.com/en-us/windows/wsl/wsl-config#experimental-settings

七月 18, 2024 · overstarry