Rei
Rails 7 Turbo 环境集成 reCAPTCHA 的方法
最近有人反馈 GeekNote 的注册流程体验很差(#23),我调试之后发现之前集成 reCAPTCHA 的代码有错,会导致验证经常失败。解决的过程记录如下。
问题
reCAPTCHA 是 Go...
Rei
食谱风格的技术写作指引
问题
现在搭建一个博客非常容易,但是很少有人关注技术博客应该怎么写。
通常来说,技术博客容易出现以下的问题:
内容篇幅太短,没有介绍问题的上下文环境,难以获得共鸣。
内容篇幅太长,从头到尾解释...
Rei
纯 CSS 实现 UI 组件的触发
问题
在实现 UI 组件的时候,有时候需要借助 JavaScript 实现状态触发,例如 Dropdown,Dialog。在我自用的 Material UI 库中,之前是借助 Stimulus ...
Rei
GeekNote 一周年,网站定位和新设计
转眼间,GeekNote 已经开放一周年了。在这一年间,网站获得了 935 名注册用户和 264 篇发表的文章。
不过这个数字并不乐观,直观的感受是网站活跃度一直在下降,近一个月只有个位数的人在...
Rei
Propshaft 简介
有留意 Rails 更新的人应该会注意到,Rails 7 新增了一个组件选项 Propshaft。
$ rails new --help
-a, [--asset-pipeline=ASSE...
3
2
Rei
解决 Rails 7 下 Sass 引用 Font Awesome 的问题
问题
Rails 7 引入了新的前端方案 CSS/JS bundling,让开发者更容易选择适合自己的打包工具。不过新方案要求开发者对 Assets Pipeline 的工作原理有更深的了解,不...
3
3
Rei
Fly.io 一个 app 运行多个进程的方法
在之前的 Fly.io 部署教程中,web 进程和 worker 进程是分开部署的。这会造成一些问题:
设置环境变量需要两边重复设置。
需要分别部署或分别回滚,过程可能产生错误。
我在 fl...
1
8
Rei
于
GeekNote
关于 2022-04-24 的服务器故障
GeekNote 在 2022-04-24 ~ 2022-04-25 期间遇到了两个服务器机房的故障,分别是:
机房资源被耗尽(链接)
储存卷磁盘损坏(链接)
恰好这段时间我身边没有电脑,要...
2
2
Rei
Rails on Docker: 用 docker-sync 改善文件同步性能
💡 Rails on Docker 系列文章是面向 Rails 程序员的 Docker 教程,描述了如何从开发环境到部署环境中应用 Docker。这是系列文章的第三篇。
在上一节中我们已经学...
3
3
Rei
于
GeekNote
GeekNote 新增 Canonical URL 和 RSS 导入功能
GeekNote 是一个技术写作社区。
过去,GeekNote 的开发重心一直放在编辑功能和阅读功能上,所提供的纯净的编辑和阅读体验也获得不少人的好评。但需要面对的现实是,很多有写作习惯的作者已...
8
5
Rei
于
GeekNote
GeekNote 新增导出功能
很高兴宣布 GeekNote 新增导出功能,您可以导出所拥有账号下的所有文章、草稿和附件。
导出功能的位置处于“账号->管理面板->设置->导出数据”,点击“创建导出任务”,导...
Rei
用 CSS 实现深色主题
最近在 GeekNote 上实现了深色主题,这里分享一下技术细节。
首先是如何管理深色主题的样式。一种做法是先写好浅色的主题样式,然后新增深色主题的样式:
// SCSS 代码
body {
...
4
0
Rei
于
GeekNote
GeekNote 新增深色主题
很高兴宣布 GeekNote 已经支持深色主题!
如果您的设备支持设置主题偏好,那么 GeekNote 将会自动识别您的设置。
以 Mac 为例,打开“系统设置->通用”即可设置外观偏好:...
2
1
Rei
Rails 社区遇到了真正的危机
堡垒最容易从内部攻破。 —— 列宁
Rails 社区其实一直以来都有不少唱衰,有说 Ruby 已死的,有说 Rails 无法扩展的,有说 Rails 已经落后于前端开发模式的……我一直不以为...
Rei
在 Hotwire Turbo 链接跳转时保持窗口滚动位置
GeekNote 使用了 Hotwire 的 Turbo,有些地方需要用到 Tab 导航。我希望在切换 Tab 的时候保持页面滚动的位置,避免页面跳动。
经过搜索,发现 Hotwire 有个 I...
Rei
在 Fly.io 部署 Rails 应用
这几天我把 GeekNote 的部署环境迁移到了 Fly.io,我觉得这是一个值得推荐的平台,所以写这篇日志介绍一下。
为什么选择 Fly.io
Fly.io 是一个基于容器的部署平台,致力于在...
3
3
Rei
如何从 Webpacker 切换到 CSS/JS bundling
最近 Rails 7 正式发布,其中一个引人注目的特性是 CSS/JS bundling,用于取代 Rails 6 的 Webpacker。我在之前的文章中介绍过新的方案带来什么变化。
现在 R...
Rei
Rails on Docker: 用 Docker Compose 搭建开发环境
💡 Rails on Docker 系列文章是面向 Rails 程序员的 Docker 教程,描述了如何从开发环境到部署环境中应用 Docker。这是系列文章的第二篇。
在上一节中我们已经学...
3
7
Rei
Tailwind CSS 浅析
Tailwind CSS 是近几年比较火的 CSS 框架,我学习了一些它的理念和用法,把想法记录如下。
什么是 Tailwind CSS
Tailwind CSS 是一个工具类优先的 CSS 框...
3
1