用 Hotwire Turbo 实现常驻侧边栏

最近用 Hotwire Turbo 改进了 Geeknote 的首页,减少了重复查询和渲染,想分享一下过程。

# Ruby on Rails # Hotwire
Avatar
Rei
·
0
4

Lefthook的五种武器

本文已获得原作者( Valentin Kiselev 、 Travis Turner )和 Evil Martians 授权许可进行翻译。原文讲述了配置 Lefthook 的五种很棒且令人惊讶的方法技巧,以及所带来的团队项目自动化的乐趣。

# Ruby # Ruby on Rails # lefthook
Avatar
xfyuan
·
0
2

我的 kamal 生产环境配置

Kamal 是 Basecamp 开源的一款部署工具,它的工作模式类似 Capistrano,但使用 docker 解决依赖封装。它原始设计用于 Rails 应用,由于使用了 docker,只要应用可以 docker 化也能使用 kamal 部署。

# Kamal # Ruby on Rails # Docker
Avatar
Rei
·
5
5

在 Rails 实现返回按钮

Geeknote 遵循 Material Design。Material Design 经常使用返回按钮,我在实现返回按钮的过程发现一些问题,在此分享。

# Ruby on Rails # Material Design # Stimulus
Featured image
Avatar
Rei
·
0
2

Rails 开发者应该拥抱 Web Component

Rails 8 将会继续将 Hotwire 作为默认,我觉得这很好。Hotwire 是以服务端渲染为核心的前端方案,由于服务端是数据的根源,大部分应用可以通过服务端渲染解决问题而不用考虑数据同步。

# Ruby on Rails # Lit
Avatar
Rei
·
0
0

使用 imgproxy 处理 ActiveStorage 图片变换

最近将 Geeknote 的图片处理换到了 imgproxy,记录一下过程。

# imgproxy # Ruby on Rails # ActiveStorage
Avatar
Rei
·
0
1

Rails 构建时下载 importmap 资源的方法

Importmap-rails 默认的加载来源是 CDN,但是公共 CDN 在国内访问不稳定。另一个方法是将 JavaScript 下载到 vender/javascript 目录,但是这个方法需要将外部 JavaScript 签入源码管理工具,导致源码体积变大。

# Ruby on Rails # Importmap
Avatar
Rei
·
0
0
# Ruby on Rails
Avatar
steve lee
·
1
0

用 CSS 控制页面内容对部分用户可见

写 Web 应用的时候,经常需要写这样的 HTML 片段:

# CSS # Ruby on Rails
Avatar
Rei
·
2
3

以Rails应用为例谈谈如何做好软件系统的依赖项目管理

现代软件是人类合作的结晶,以homeland这个以Rails开发的小型论坛为例,Ruby 语言的依赖项有211项,Javascript 依赖项目更是达到了1811项,这无疑会遇到应用依赖的组件管理困难。例如,组件的许可证变动引发巨量修改,JS 组件中发生故意投毒事件,所以很...

# software supply chain # dependency # Ruby on Rails
Featured image
Avatar
过纯中
·
3
4

Rails 中的 redirect_to :back

以前用redirect_to :back这个方法,实现回退源页面功能,但是这个方法会出现问题: 当HTTP_REFERER不存在(介绍地址)时,有时会出现ActionController::RedirectBackError异常。

# Ruby on Rails
Avatar
xulin
·
0
1

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

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

# Hotwire # Ruby on Rails # JavaScript
Featured image
Avatar
Rei
·
0
3

用 Puppeteer 生成网页预览图

现在社交网络一般都支持网站设置预览图,有预览图的网页能更占据更大的展示空间,提高点击率。

# Ruby on Rails # GeekNote # Puppeteer
Avatar
Rei
·
2
4

用 Postal 搭建邮件服务器

最近我用 Postal 搭建了一个邮件服务器,体验比想象中更好,迫不及待分享一下经验。

# Postal # Email # Ruby on Rails
Featured image
Avatar
Rei
·
1
3

Rails 7 Turbo 环境集成 reCAPTCHA 的方法

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

# Hotwire # reCAPTCHA # Ruby on Rails
Avatar
Rei
·
0
2

Hotwire学习记录(1):TURBO_STREAM 类型的请求

在表单提交表单后,在控制台看到有如下的请求日志:

# Ruby on Rails # Hotwire
Avatar
qichunren
·
3
3

Rails 社区遇到了真正的危机

堡垒最容易从内部攻破。 —— 列宁

# Ruby on Rails
Featured image
Avatar
Rei
·
4
8

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

GeekNote 使用了 Hotwire 的 Turbo,有些地方需要用到 Tab 导航。我希望在切换 Tab 的时候保持页面滚动的位置,避免页面跳动。

# JavaScript # Ruby on Rails # Hotwire
Avatar
Rei
·
0
2

如何从 Webpacker 切换到 CSS/JS bundling

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

# Ruby on Rails
Avatar
Rei
·
0
2

Rails 7 前端方案前瞻

自 Rails 6 引入了 Webpacker 以来,Rails 的前端部分就引发了很多吐槽。吐槽主要分两类:

# Ruby on Rails
Featured image
Avatar
Rei
·
1
2