GeekNote
注册
登录
Rei
Ruby 程序员,Ruby China 管理员,GeekNote 创建者。
文章 合集 赞过

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

在之前的 Fly.io 部署教程中,web 进程和 worker 进程是分开部署的。这会造成一些问题: 设置环境变量需要两边重复设置。 需要分别部署或分别回滚,过程可能产生错误。 我在 fly.io 的社区中发现,单个 app 部署多个进程的方法已经作为预览状态提供,有...
· 1 赞 · 2 评论

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

GeekNote 在 2022-04-24 ~ 2022-04-25 期间遇到了两个服务器机房的故障,分别是: 机房资源被耗尽(链接) 储存卷磁盘损坏(链接) 恰好这段时间我身边没有电脑,要跨越时差和服务器技术支持沟通,导致这个问题解决花了很长时间。期间用户不是看到 C...
· 2 赞 · 2 评论

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

💡 Rails on Docker 系列文章是面向 Rails 程序员的 Docker 教程,描述了如何从开发环境到部署环境中应用 Docker。这是系列文章的第三篇。 在上一节中我们已经学习了用 Docker Compose 搭建开发环境,这一节将介绍如何用 dock...
· 3 赞 · 2 评论

GeekNote 新增 Canonical URL 和 RSS 导入功能

GeekNote 是一个技术写作社区。 过去,GeekNote 的开发重心一直放在编辑功能和阅读功能上,所提供的纯净的编辑和阅读体验也获得不少人的好评。但需要面对的现实是,很多有写作习惯的作者已经拥有自己的独立博客,单纯编辑体验的提升并不是迁移博客的充分理由。 于是我一直在...
· 8 赞 · 4 评论

GeekNote 新增导出功能

很高兴宣布 GeekNote 新增导出功能,您可以导出所拥有账号下的所有文章、草稿和附件。 导出功能的位置处于“账号->管理面板->设置->导出数据”,点击“创建导出任务”,导出完成后您将收到通知邮件。如果没有收到邮件,可以尝试稍后刷新页面查看导出状态。 ...
· 9 赞 · 4 评论

用 CSS 实现深色主题

最近在 GeekNote 上实现了深色主题,这里分享一下技术细节。 首先是如何管理深色主题的样式。一种做法是先写好浅色的主题样式,然后新增深色主题的样式: // SCSS 代码 body { background: #fcfcfd; color: #19181b; ...
· 4 赞 · 0 评论

GeekNote 新增深色主题

很高兴宣布 GeekNote 已经支持深色主题! 如果您的设备支持设置主题偏好,那么 GeekNote 将会自动识别您的设置。 以 Mac 为例,打开“系统设置->通用”即可设置外观偏好: 您也可以在网站设置主题偏好,打开“右上角菜单->主题”即可设置外观偏好...
· 2 赞 · 1 评论

Rails 社区遇到了真正的危机

堡垒最容易从内部攻破。 —— 列宁 Rails 社区其实一直以来都有不少唱衰,有说 Ruby 已死的,有说 Rails 无法扩展的,有说 Rails 已经落后于前端开发模式的……我一直不以为然,因为我知道只要 Rails 还是精于小团队的生产力框架,它就有继续成长的空间...
· 8 赞 · 4 评论

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

GeekNote 使用了 Hotwire 的 Turbo,有些地方需要用到 Tab 导航。我希望在切换 Tab 的时候保持页面滚动的位置,避免页面跳动。 经过搜索,发现 Hotwire 有个 Issus 提出了这个需求,然后维护者给了官方的实现思路:https://gith...
· 2 赞 · 0 评论

在 Fly.io 部署 Rails 应用

这几天我把 GeekNote 的部署环境迁移到了 Fly.io,我觉得这是一个值得推荐的平台,所以写这篇日志介绍一下。 为什么选择 Fly.io Fly.io 是一个基于容器的部署平台,致力于在全球各个区域提供贴近最终用户的部署环境。 跟传统的基于 VM 的云服务相比,基于...
· 3 赞 · 0 评论

如何从 Webpacker 切换到 CSS/JS bundling

最近 Rails 7 正式发布,其中一个引人注目的特性是 CSS/JS bundling,用于取代 Rails 6 的 Webpacker。我在之前的文章中介绍过新的方案带来什么变化。 现在 Rails 创建项目,将会增加两个参数: -j, [--javascript=JA...
· 1 赞 · 0 评论

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

💡 Rails on Docker 系列文章是面向 Rails 程序员的 Docker 教程,描述了如何从开发环境到部署环境中应用 Docker。这是系列文章的第二篇。 在上一节中我们已经学习了 Docker 使用的基础,这一节将介绍如何用 Docker Compose...
· 3 赞 · 7 评论

Tailwind CSS 浅析

Tailwind CSS 是近几年比较火的 CSS 框架,我学习了一些它的理念和用法,把想法记录如下。 什么是 Tailwind CSS Tailwind CSS 是一个工具类优先的 CSS 框架。跟别的 CSS 框架最大的区别是,别的框架通常提供 .button, .ca...
· 3 赞 · 1 评论

开启评论邮件通知

现在 GeekNote 增加了评论邮件通知功能。开启邮件通知后,每当文章获得新评论都会收到邮件通知,免去经常刷新网站查看是否有新评论的烦恼。 要开启邮件通知,需要先通过邮件验证。新用户会在注册后收到验证邮件,老用户需要在“设置->邮件地址”中点击“发送验证邮件”按钮触...
· 3 赞 · 2 评论

Rails 7 前端方案前瞻

自 Rails 6 引入了 Webpacker 以来,Rails 的前端部分就引发了很多吐槽。吐槽主要分两类: 未接触过前端深坑的人看到 Webpacker 引入的几百个依赖感到恐惧。 已经了解 Webpack 的人需要额外学习 Webpacker 的配置。 有关 We...
· 2 赞 · 1 评论

基于 Stimulus 实现滚动加载组件

滚动加载是一种常见的分页交互方式,经常用在 Timeline 之类希望体验平滑又不需要跳跃浏览的场景。 本文介绍一种基于 Stimulus 实现滚动加载的方法。 前置知识:Intersection Observer API 首先考虑一个问题,当用户浏览到列表底部的时候,用什...
· 1 赞 · 0 评论

历史版本功能上线和发布按钮改动

很高兴宣布,GeekNote 已增加历史版本功能。 GeekNote 默认使用自动保存机制,有时错误编辑了文章又关闭了浏览器,可能会造成内容丢失,而历史版本功能则修补了这个缺陷。 点击文章编辑页面右上角菜单的“历史版本”可以进入历史版本页面。 在历史版本页面中可以查看过往...
· 1 赞 · 0 评论

基于 Stimulus 实现拖动排序组件

最近开发 GeekNote 的时候基于 Stimulus 实现了一个拖动排序组件,在这里记录一下原理。 提醒:已经有一个很强大的排序 js 库 SortableJS,如果它能很好的满足你的需求,那么直接用这个库就好了。自己实现更多是为了学习原理,或者为了更好的定制功能。 ...
· 4 赞 · 0 评论

合集功能上线

很高兴宣布,GeekNote 新增了合集功能,替代了之前的收藏功能。 合集被设计用于以下目的: 个人收藏、归档。 整理同一话题或系列文章。 你可以点击文章工具栏的“书签”按钮打开合集对话框。 图例:合集对话框 在合集对话框中可以新建或勾选需要添加到的合集。新建合集时,...
· 3 赞 · 1 评论

图片粘贴/拖拽上传和界面优化

GeekNote 过去一段时间进行了一些功能优化: 文章图片支持了复制粘贴和拖拽上传。 去掉了多余的编辑器工具栏,图片上传按钮移至右上角。 网站顶部导航不再固定在顶部,阅读空间更大。 账号管理面板布局重新设计,与整站风格更协调。 GeekNote 还将不断优化提供更好的...
· 3 赞 · 0 评论
社区准则 博客 联系 反馈 状态
主题