第二次“重新开始”!
完成原有博文的迁移后,我开始写这篇文章。写时忽然想起,三年前中考结束后,我曾写过一篇题为“重新开始” 的文章。那时,我想在高中阶段用文字留下一些值得回忆的东西。结果是可喜的——后来,我从评论区得知,自己的文章确实曾帮助一些访客解决问题。这兴许正是我搭建这个博客的目的之一。 ...
完成原有博文的迁移后,我开始写这篇文章。写时忽然想起,三年前中考结束后,我曾写过一篇题为“重新开始” 的文章。那时,我想在高中阶段用文字留下一些值得回忆的东西。结果是可喜的——后来,我从评论区得知,自己的文章确实曾帮助一些访客解决问题。这兴许正是我搭建这个博客的目的之一。 ...
高考结束后,三年的高中生活也随之落幕,此后再回到这间教室的机会大概不会很多。再次回到教室,环顾四周,想到就要与这个见证了高三拼搏的地方分别,终究有些不舍。于是,我萌生了将这间教室以数字形式保存下来的想法。我选择了近年兴起的三维高斯泼溅技术,使用实拍的三百六十多张照片,“重建”了这间教室。作为第一次 3DGS 实践,最终的渲染效果已令我颇为满意。因此,我写下这篇文章,记录并复盘整个项目流程。 ...
NotebookLM 是由 Google 推出的,利用人工智能来帮助人们整理笔记的一款软件。它可以对用户上传到其中的文件,进行摘要、回答问题或者提取出重要的信息。最近 NotebookLM 新增了生成中文播客的功能,并受到很多人的喜爱。于是我就试着用了一下此功能,在读完赫尔曼·黑塞的小说《克林索尔的最后夏天》之后再来看看它的效果如何,并写下了这篇文章。 ...
萌生开发一个英语读后续写模型的想法,是在去年11月末。当时偶然看到一篇介绍 RAG 原理的公众号推文,读罢灵光乍现,觉得一款轻量级模型在挂载知识库之后,或许能在特定领域与顶尖的大语言模型一较高下。一天晚上与舍友们谈论 AI ,突然想到了可以将 RAG 应用在英语读后续写的场景。我将这个想法提出,大家交口称赞,说这个项目贴合实际,很有潜力。由于年末的学习和备考压力,这个项目暂时搁置,直到今年一月期末考试结束后,我才有机会抽出时间,独立完成这个项目。 ...
2025年过去十二分之一的时间后,我终于抽出空闲时间,草草动笔写这篇题为所谓“年终总结”的文章。过去一年比2023年还要艰难,我也像当年一样踌躇满志,也曾屡败屡战,也曾独自在黑夜里摸索,也曾在黑暗的夜空下看见星子在眨着眼。到头来,只想以一句“兴尽悲来,识盈虚之有数”作结。 ...
此前,我的博客使用的图床基于 GitHub 上的 “Telegraph-Image” 项目,图片上传到 Telegraph 。去年年末, Telegraph API 接口被官方关闭,导致新的图片无法上传。在查阅不少搭建图床的教程后,我最终选择使用 Backblaze B2 私密桶作为图床,通过 Cloudflare Workers 的 Application Key 实现认证访问 Backblaze B2 私密桶,并缓存图片。 ...
我在部署本网站时,使用了 Vercel 作为前端托管服务,并将域名解析交给了 Cloudflare。初步配置完成后,满怀期待地访问了自己的网站,结果迎面而来的却是浏览器的报错提示:ERR_TOO_MANY_REDIRECTS ...
本文将介绍在本地搭建 Hugo 并通过 GitHub Pages 和 Vercel 部署 Hugo 的方法。以下所叙之方法就是我在部署本站点时所使用的,具有借鉴意义。如果在部署过程中遇到报错或其他困难,可以上网搜索或在评论区留言——我看到后会提供力所能及的建议。 ...
Typecho 相比 WordPress,其所提供的接口较少,所以有些地方需要留心。遇到报错情况可以先在网上搜索相关资料,或者是询问 AI ,提出疑难。 首页文章无限加载文章 在 functions.php 中加入一段判断 ajax 请求的方法: function is_ajax() { if (isset($_SERVER['HTTP_X_REQUESTED_WITH'])) { if ('xmlhttprequest' == strtolower($_SERVER['HTTP_X_REQUESTED_WITH'])) { return true; } } return false; } 在首页模板 index.php 中加入判断,if (is_ajax ()): 则不输出 header footer 等信息。 最后一步,在模板公共 js 文件中加入以下代码: var page = 1; var $body = (window.opera) ? (document.compatMode == "CSS1Compat" ? $('html') : $('body')) : $('html,body'); $('#blog_load_more').click(function(event) { $(this).hide(); $('#spinner').show(); $.ajax({ type: 'get', url: SITE.default_url + '/page/' + parseInt(page + 1), success: function(data, textStatus, XMLHttpRequest) { page++; $('.w-blog-list').append(data); $('#spinner').hide(); $('#blog_load_more').show(); }, error: function(MLHttpRequest, textStatus, errorThrown) { $('#spinner').hide(); $.jGrowl('Network Error'); } }); }); 其中 #blog_load_more 为需要绑定的加载更多按钮,#spinner 为加载过程中的动画,.w-blog-list 为首页文章列表容器。 由于 Typecho 并没有 Ajax 钩子函数,所以需要在 functions.php 中加入以下代码: ...
在8月下旬,暑假结束前的几周时间,我的空余时间变多了,精力也充沛了不少,悠闲得很。我闲来无聊,去翻翻自己的博客,发现大陆的防火墙禁用了通过 http 协议访问 *.eu.org 域名的方式,随即在腾讯云上注册了这个新域名,brume.top。我觉得既然注册了新域名,倒不如把全站一并更新吧。于是在网络上到处搜索 Typecho 主题,但鲜有满意的。我以前也想过自己写出自己满意的主题,遗憾的是眼高手低,页面布局属实稀烂,自己都看不下去。我便产生了想放弃 Typecho 的想法。在逛了无数个自己收藏的博客之后,我选择了 hugo 。 ...