mancuoj

mancuoj

Better late than never.
github
twitter
【漫谈周刊】006 - 再会的那天我心还在
这周一直循环方大同新专辑,太好听辣! 开源项目推荐 bluewave-uptime,一个自部署的服务器监控工具 beszel,同上,又一个服务器监控工具 nextjs-postgres-auth-starter,Vercel 官方模板 next-validate-link,检查…
【漫谈周刊】005 - 才二十三
两周没更新了,懈怠了,这周开始恢复更新。 开源项目推荐 remotion,一个用 React 以编程方式构建视频的库 nanostores,一个框架无关的轻量状态管理库 use-mask-input,一个 React 的输入框格式化库 tinyhttp,一个 Express…
【漫谈周刊】004 - 三角洲真尼玛好玩
这周嘎嘎玩三角洲,跟朋友一起爽捞。 开源项目推荐 adze,一个通用现代的 JS 日志库 Inspira UI,一个 Vue 3 的 UI 组件库,类似 Magic UI Bottle,单文件 Python Web 框架,一直在维护 sylph,专为开发人员…
【漫谈周刊】003 - 游戏瘾及沟槽的调休
周六得上班,只能休息一天,所以隔了一天更新。 开源项目推荐 player.style,一个播放器主题集合 Bulletproof React,一个简单、可扩展且功能强大的架构,用于构建生产就绪的 React 应用程序 SimpleX,一个私密聊天应用,全平台支持 opensta…
【漫谈周刊】002 - 国庆七天乐
本周还是死性不改,没啥进展。 开源项目推荐 motion-number,一个非常酷炫的 Framer Motion 数字动画组件 piscina,快速、高效的 Node.js Worker Thread Pool 实现 codapi,一个可以将交互式代码片段嵌入博客的工具…
【漫谈周刊】001 - 三分钟热度
上周六,大乱斗至凌晨四点,一觉睡醒,已是下午三点半,突破下限,决心从本周开始重新做人。 就从这个 开源周刊 开始,希望自己能持续学习,坚持输出。 开源项目推荐 Docmost,又一个开源 Notion 替代品,为什么我要说又? rawdrawandroid,一个奇奇怪怪的想法及…
Git 不小心提交到了错误的分支该怎么办?
首先在错误分支取消上次的提交,然后 stash 保存你的修改: Copy git reset HEAD~ --soft git stash 切换到正确分支,pop 出你临时保存的修改重新提交: Copy git checkout correct-branch git stash…
cover
cover
cover
cover
cover

GitHub 合并 PR 的三种策略

一般来说,我们创建 PR 会有一个通用的工作流程: 创建一个分支,比如 feature 提交 PR 让别人 review 根据 review 意见修改 合并 PR 到主分支 但这个 feature 分支可能会有很多次提交,如何合并到主分支就成为了一个问题,GitHub…
使用 Zod 安全地读取你的环境变量
用 zod 来验证环境变量,可以做到两件事: 如果缺少任何必需的环境变量,就在启动时使 app 崩溃 为环境变量添加类型定义,以便我们可以在 IDE 中获得自动完成和类型检查 直接上代码: Copy const envSchema = z.object({ SESSION…
Daisy UI 切换明暗主题的简单实现
React + Tailwind CSS 项目,别的语言同理,只需改变 html 标签的 data-theme 属性即可。 Copy import { useEffect } from 'react' import { useState } from 'react' export…
使用 emoji 作为你的网站图标 favicon
除了新时代 IE 浏览器 Safari 外,其他浏览器都基本支持了使用 SVG 数据 URL 做图标,所以直接用 SVG 的文本形式输入表情符号即可。 Copy <link rel="icon" type="image/svg+xml" href="data:image…
cover

Tailwind Typography 插件深色模式适配方法

最简单的方法就是使用官方提供的 prose-invert: Copy <div className="prose dark:prose-invert"> ... </div> 另一种方式:自定义颜色,例如我用的 shadcn/ui 想保持颜色统一,可以在 tailwind…
cover

Remix 删除 URL 中为空的查询参数

避免 ?q= 这种查询参数为空的 URL 出现,可以在 loader 函数中检测并触发重定向。 Copy async function clearEmptyParams(url: URL) { let shouldRedirect = false for (const…
cover
cover

如何快速学习一门技术

关于如何快速学习一门技术,受益良多,故翻译出来分享给大家。
cover

React 项目的文件结构

关于 React 项目的文件结构的最佳实践(雾
Ownership of this blog data is guaranteed by blockchain and smart contracts to the creator alone.