Ruby 程序员,Ruby China 管理员,GeekNote 创建者。
加入
组织
Rei
·

Turbo frame 的 lazy loading 会在什么时候执行

最近 GeekNote 发现了一个 Bug,所有未登录用户在访问文章页面时会跳转到登陆页面。这看起来就像那些封闭花园式的发布平台那样,导致流失了很多潜在用户。 经过调试,我发现 Bug 是由这段...
Rei
·

用 Puppeteer 生成网页预览图

问题 现在社交网络一般都支持网站设置预览图,有预览图的网页能更占据更大的展示空间,提高点击率。 GeekNote 此前已支持作者自己设置文章封面,并且默认将封面设为预览图。但不是所有作者都有空设...
Rei
·

处理 Cloudflare 与 Let's Encrypt DNS-01 验证冲突的问题

问题 上个月某一天,GeekNote 的 Cloudflare 代理提示 Error 526。Error 526 是指 CloudFlare 的节点无法验证源服务的 SSL 证书。相关文档如下:...
Rei
GeekNote ·

更大的编辑界面,以及一些 UI 调整

在上一次的 UI 改动中,编辑界面改得像个论坛编辑器,这收到了一些负面的反馈,认为编辑体验倒退了,我觉得说得有道理。GeekNote 的长期目标是建立一个写作社区,但它首先应该是一个体验良好的写...
favorite 4
comment 6
Rei
·

用 Postal 搭建邮件服务器

最近我用 Postal 搭建了一个邮件服务器,体验比想象中更好,迫不及待分享一下经验。 为什么要搭建邮件服务器 发邮件是 Web 服务常见的需求,例如账号验证,密码重置等等。一般情况下推荐使用第...
Rei
GeekNote ·

GeekNote 新增每周摘要邮件

GeekNote 本周五开始将发送每周摘要邮件,内容为最近一周的热门文章。希望每周摘要能让优秀的文章被更多人发现。 如何成为热门文章 热门文章主要由程序生成,目前的规则是: 区域时间内获得点赞...
favorite 4
comment 3
Rei
·

Rails 7 Turbo 环境集成 reCAPTCHA 的方法

最近有人反馈 GeekNote 的注册流程体验很差(#23),我调试之后发现之前集成 reCAPTCHA 的代码有错,会导致验证经常失败。解决的过程记录如下。 问题 reCAPTCHA 是 Go...
Rei
·

食谱风格的技术写作指引

问题 现在搭建一个博客非常容易,但是很少有人关注技术博客应该怎么写。 通常来说,技术博客容易出现以下的问题: 内容篇幅太短,没有介绍问题的上下文环境,难以获得共鸣。 内容篇幅太长,从头到尾解释...
favorite 9
comment 0
Rei
·

纯 CSS 实现 UI 组件的触发

问题 在实现 UI 组件的时候,有时候需要借助 JavaScript 实现状态触发,例如 Dropdown,Dialog。在我自用的 Material UI 库中,之前是借助 Stimulus ...
favorite 8
comment 4
Rei
·

GeekNote 一周年,网站定位和新设计

转眼间,GeekNote 已经开放一周年了。在这一年间,网站获得了 935 名注册用户和 264 篇发表的文章。 不过这个数字并不乐观,直观的感受是网站活跃度一直在下降,近一个月只有个位数的人在...
favorite 5
comment 12
Rei
·

再见了,Atom

前天惊闻 GitHub 宣布将于年底封存 Atom 编辑器,也就是正式放弃了这个项目,我一时间思绪万千。 我从 2014 年开始使用 Atom 编辑器,至今已经快要 8 年。在 Atom 发布早...
favorite 3
comment 2
Rei
·

Propshaft 简介

有留意 Rails 更新的人应该会注意到,Rails 7 新增了一个组件选项 Propshaft。 $ rails new --help -a, [--asset-pipeline=ASSE...
favorite 3
comment 2
Rei
·

解决 Rails 7 下 Sass 引用 Font Awesome 的问题

问题 Rails 7 引入了新的前端方案 CSS/JS bundling,让开发者更容易选择适合自己的打包工具。不过新方案要求开发者对 Assets Pipeline 的工作原理有更深的了解,不...
favorite 3
comment 3
Rei
·

Fly.io 一个 app 运行多个进程的方法

在之前的 Fly.io 部署教程中,web 进程和 worker 进程是分开部署的。这会造成一些问题: 设置环境变量需要两边重复设置。 需要分别部署或分别回滚,过程可能产生错误。 我在 fl...
favorite 1
comment 8
Rei
GeekNote ·

关于 2022-04-24 的服务器故障

GeekNote 在 2022-04-24 ~ 2022-04-25 期间遇到了两个服务器机房的故障,分别是: 机房资源被耗尽(链接) 储存卷磁盘损坏(链接) 恰好这段时间我身边没有电脑,要...
favorite 2
comment 2
Rei
·

Rails on Docker: 用 docker-sync 改善文件同步性能

💡 Rails on Docker 系列文章是面向 Rails 程序员的 Docker 教程,描述了如何从开发环境到部署环境中应用 Docker。这是系列文章的第三篇。 在上一节中我们已经学...
favorite 3
comment 3
Rei
GeekNote ·

GeekNote 新增 Canonical URL 和 RSS 导入功能

GeekNote 是一个技术写作社区。 过去,GeekNote 的开发重心一直放在编辑功能和阅读功能上,所提供的纯净的编辑和阅读体验也获得不少人的好评。但需要面对的现实是,很多有写作习惯的作者已...
favorite 9
comment 5
Rei
GeekNote ·

GeekNote 新增导出功能

很高兴宣布 GeekNote 新增导出功能,您可以导出所拥有账号下的所有文章、草稿和附件。 导出功能的位置处于“账号->管理面板->设置->导出数据”,点击“创建导出任务”,导...
favorite 9
comment 4
Rei
·

用 CSS 实现深色主题

最近在 GeekNote 上实现了深色主题,这里分享一下技术细节。 首先是如何管理深色主题的样式。一种做法是先写好浅色的主题样式,然后新增深色主题的样式: // SCSS 代码 body { ...
favorite 5
comment 0
Rei
GeekNote ·

GeekNote 新增深色主题

很高兴宣布 GeekNote 已经支持深色主题! 如果您的设备支持设置主题偏好,那么 GeekNote 将会自动识别您的设置。 以 Mac 为例,打开“系统设置->通用”即可设置外观偏好:...
favorite 2
comment 1
社区准则 博客 联系 反馈 状态
主题