Rei

Rails 7 Turbo 环境集成 reCAPTCHA 的方法

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

食谱风格的技术写作指引

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

纯 CSS 实现 UI 组件的触发

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

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

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

GeekNote 新增导出功能

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

用 CSS 实现深色主题

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

GeekNote 新增深色主题

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

Rails 社区遇到了真正的危机

堡垒最容易从内部攻破。 —— 列宁 Rails 社区其实一直以来都有不少唱衰,有说 Ruby 已死的,有说 Rails 无法扩展的,有说 Rails 已经落后于前端开发模式的……我一直不以为...
favorite 8
comment 4
Rei

在 Hotwire Turbo 链接跳转时保持窗口滚动位置

GeekNote 使用了 Hotwire 的 Turbo,有些地方需要用到 Tab 导航。我希望在切换 Tab 的时候保持页面滚动的位置,避免页面跳动。 经过搜索,发现 Hotwire 有个 I...
Rei

在 Fly.io 部署 Rails 应用

这几天我把 GeekNote 的部署环境迁移到了 Fly.io,我觉得这是一个值得推荐的平台,所以写这篇日志介绍一下。 为什么选择 Fly.io Fly.io 是一个基于容器的部署平台,致力于在...
favorite 3
comment 3
Rei

如何从 Webpacker 切换到 CSS/JS bundling

最近 Rails 7 正式发布,其中一个引人注目的特性是 CSS/JS bundling,用于取代 Rails 6 的 Webpacker。我在之前的文章中介绍过新的方案带来什么变化。 现在 R...
favorite 2
comment 0
Rei

Rails on Docker: 用 Docker Compose 搭建开发环境

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

Tailwind CSS 浅析

Tailwind CSS 是近几年比较火的 CSS 框架,我学习了一些它的理念和用法,把想法记录如下。 什么是 Tailwind CSS Tailwind CSS 是一个工具类优先的 CSS 框...
favorite 3
comment 1
社区准则 博客 联系 反馈 状态
主题