分享一个 ProHub 风格 logo 生成器
大家好,我是 Immerse,一名独立开发者、内容创作者、AGI 实践者。
- 关注公众号:#沉浸式趣谈,获取最新文章(更多内容只在公众号更新)
- 个人网站:
https://yaolifeng.com也同步更新。 - 转载请在文章开头注明出处和版权信息。
我会在这里分享关于编程、独立开发、AI干货、开源、个人思考等内容。
如果本文对您有所帮助,欢迎动动小手指一键三连(点赞、评论、转发),给我一些支持和鼓励,谢谢!
最近体验了 Claude Code,临时起意,又搞了个新项目 - ProHub Logo,这次完全是用 Claude Code 来实战开发的。说实话,整个过程体验 + 踩坑。
项目地址:
- 海外访问:
https://prohub-logo.vercel.app - 国内访问:
https://prohub-logo.netlify.app - GitHub:
https://github.com/yaolifeng0629/prohub-logo
全程用 Claude Code,说实话体验还不错,但使用命令行的方式还是有点小小的不适应,还是喜欢 GUI 的方式。
开发过程基本和之前类同,感兴趣的小伙伴可以看 最近 Vibe Coding 的实践经验分享
过程
初始化与技术选型
我选择 Next.js + TypeScript 技术栈。在项目根目录创建了 CLAUDE.md 文件来规范 Claude Code 的工作方式:
# ProHub Logo Generator
## 技术栈
- 前端:Next.js 14, TypeScript, Tailwind CSS
- 部署:Vercel + Netlify
## 编码规范
- 使用 TypeScript 严格模式
- 组件采用函数式写法
- 使用 Tailwind 进行样式管理
- 每次修改后运行 typecheck
## 项目结构
- components/: 可复用组件
- app/: Next.js App Router 目录结构
- utils/: 工具函数
有了这个配置文件,Claude Code 在后面开发中就能准确理解项目规范,生成符合预期的代码。
核心功能实现
1. Logo 生成逻辑
开发过程采用了"探索→规划→编码"的工作流:
首先让 Claude Code 分析自己需求:"创建一个类似 ProHub 风格的 Logo 生成器,支持自定义文本、颜色、样式、导出等功能,不需要用户登录模块。"
Claude Code 给出的答案:
- 使用 Canvas API 进行图形绘制
- 支持多种字体和样式组合
- 实现实时预览功能
- 添加导出功能
2. 迭代开发策略
还是小步走策略:先实现基础功能,再逐步完善。每个功能模块开发完后,让 Claude Code 检查并优化代码。
过程中踩的坑
Canvas 导出图片质量问题
最开始用 Canvas 导出图片的时候,发现图片质量很差,特别是文字边缘有锯齿。
解决方案:
// 设置高分辨率
const scale = 2;
canvas.width = width * scale;
canvas.height = height * scale;
ctx.scale(scale, scale);
// 开启抗锯齿
ctx.textRenderingOptimization = 'optimizeQuality';
ctx.imageSmoothingEnabled = true;
实践感受
1. 配置文件很关键
CLAUDE.md 配置文件起到了重要作用。它就像给 Claude Code 的"记忆体",让 AI 能记住项目规范和偏好。这点和 Cursor 类同。
建议配置内容包括:
- 技术栈说明
- 编码规范
- 常用命令
- 项目结构约定
2. 结构化提示带来精确结果
相比简单的"帮我写代码",结构化的提示能得到更好的预期结果:
项目背景:ProHub 风格的 Logo 生成器
当前任务:实现 Canvas 导出功能
技术要求:
- 支持高分辨率导出
- 确保文字清晰度
- 兼容主流浏览器
- 代码要有良好的错误处理
3. 自定义命令简化重复操作
参考了一些资料,自己可以自定义 Command, 可以减少一些重复性操作的工作。
4. 上下文管理的实用技巧
- 适时使用
/compact: 完成一个功能模块后立即压缩上下文 - 及时清理历史: 切换到新功能开发前使用
/clear命令 - 文件引用优化: 使用
@filename精确引用,避免让 Claude Code 搜索,也能减少 Token 消耗。
总结
这次用 Claude Code 开发 ProHub Logo 生成器,整体体验还是不错的。
几个心得:
- 配置文件必不可少:不管是 Claude Code 中的
CLAUDE.md,还是 Cursor 中的.mdc,给 AI 定义好规则可以大大提高开发效率。 - 上下文管理:就算是编码能力出色的 Claude 4,如果不能有效管理上下文,照样会返回错误或无关的内容。所以提示工程很重要。
好了,今天的分享就到这里。
如果觉得有用,别忘了点个赞哦~
其他好文推荐
一个 Cursor mdc 自动生成器,基于 Gemini 2.5,很实用!
搞定 XLSX 预览?别瞎找了,这几个库(尤其最后一个)真香!
【完整汇总】近 5 年 JavaScript 新特性完整总览
分享一个 ProHub 风格 logo 生成器的更多相关文章
- 分享一个Fluent风格的邮件发送封装类
C#中用SmtpClient发邮件很简单,闲着无事,简单封装一下 IEmailFactory public interface IEmailFactory { IEmailFactory SetHos ...
- 使用CSS3 制作一个material-design 风格登录界面
心血来潮,想学学 material design 的设计风格,就尝试完成了一个登录页面制作. 这是整体效果. 感觉还不错吧,结尾会附上代码 在编写的过程中,没有使用任何图片或者字体图标,全部使用css ...
- 分享一个后端专用login模板
给大家啊分享一个后端专用login模板 Java工程师再也不用这样啦---> html源码 <html lang="en"> <head> <m ...
- Github标星26k+!一个神奇的软件!1分钟即可打造了一个科幻风格的终端
Github掘金计划项目分类汇总(原创不易,若有帮助,欢迎分享/点赞): 编程基础 :精选编程基础如学习路线.编程语言相关的开源项目. 计算机基础:精选计算机基础(操作系统.计算机网络.算法.数据结构 ...
- 分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间)
分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间) 很多时候我们都需要计算数据库中各个表的数据量和每行记录所占用空间 这里共享一个脚本 CREATE TABLE #tab ...
- 分享一个MySQL分库分表备份脚本(原)
分享一个MySQL分库备份脚本(原) 开发思路: 1.路径:规定备份到什么位置,把路径(先判断是否存在,不存在创建一个目录)先定义好,我的路径:/mysql/backup,每个备份用压缩提升效率,带上 ...
- 分享一个与ABP配套使用的代码生成器源码
点这里进入ABP系列文章总目录 分享一个与ABP配套使用的代码生成器源码 真对不起关注我博客的朋友, 因最近工作很忙, 很久没有更新博客了.以前答应把自用的代码生成器源码共享出来, 也一直没有时间整理 ...
- 分享一个常用Adb命令
分享一个常用Adb命令 首先 首先感谢@xuxu的常用adb命令,收益良多,但是已经不能满足于我,所以补充了下. 再者 好久没发帖了,最近论坛老司机们都在讨论/总结,我就用这个干货回报吧. 最后 基于 ...
- 福利到~分享一个基于jquery的智能提示控件intellSeach.js
一.需求 我们经常会遇到[站内搜索]的需求,为了提高用户体验,我们希望能做到像百度那样的即时智能提示.例如:某公司人事管理系统,想搜索李XX,只要输入“李”,系统自然会提示一些姓李的员工,这样方便用户 ...
- 分享一个oraclehelper
分享一个拿即用的oraclehelper 首先要引用本机中的oralce access,如果是64位的话,也必须是64位运行,不然会报连接为空connection 等于null. using Orac ...
随机推荐
- Java 线程的常用操作方法
目录 线程命名和取得 线程的休眠 线程优先级(priority) 线程命名和取得 如果想要进行线程名称的操作,可以使用Thread类的如下方法: 构造方法:public Thread(Runnable ...
- spring boot迁移计划 第Ⅰ章 --chapter 1. rust hyper 结合rust nacos-client开发nacos网关 part ① tracing 日志
1. 引子 最近想要迁移一部分java应用至rust,在实际体验了tklog,log4rs,和tracing三款流行的日志框架后,最后选用了tracing,log4rs的文件备份文件名没有时间,不便于 ...
- JS 原型链查找
我们都知道面向对象语言如 Java, C++ 等都基本实现了 封装, 继承, 多态 等特性, 用面向对象语言来编程的基本套路就是抽象出类, 然后实例化, 用实例调用方法来模拟进行程序间的通信. 但 J ...
- CentOS 7.6 安装 Mysql 5.7
一.查看CentOS版本 Mysql的版本必须要和CentOS的版本对应!查看CentOS版本的指令如下: cat /etc/redhat-release 二.下载yum源包 wget http:// ...
- Go Gob编码
gob(Go binary)是Goland包自带的一个数据结构序列化的编码/解码工具.编码使用Encoder,解码使用Decoder.一种典型的应用场景就是RPC(remote procedure c ...
- codeup之C语言10.1+C语言10.2(指针
Description 输入a和b两个整数,按先大后小的顺序输出a和b.注意请使用指针变量的方式进行比较和输出. Input 两个用空格隔开的整数a和b. Output 按先大后小的顺序输出a和b,用 ...
- selenium driver add_cookie正确姿势
需求 seo给了个开发小需求,查询搜索引擎站点后台的索引量 需求分析 难点在于怎么绕过登录 技术选型 使用selenium+firefox+geckodriver执行抓取 技术难点解析 获取cooki ...
- springboot读取并映射额外的yml配置到bean
项目结构 userPermission.yml # 用户权限 user-permission: api: # 系统管理员 system_manager: - "*:*:*" # 应 ...
- 【语义分割专栏】3:Segnet实战篇(附上完整可运行的代码pytorch)
目录 前言 Segnet全流程代码 模型搭建(model) 数据处理(dataloader) 评价指标(metric) 训练流程(train) 模型测试(test) 效果图 结语 前言 Segnet原 ...
- java-web与jdbc 的使用
1:本地连接数据库的步骤 1 public class LoginDao { 2 3 // jdbc操作的五部曲 4 5 // 1: 导入jar包 6 // 2: 加载驱动 7 // 3: 获取连接 ...