diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..1db6e06 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,111 @@ +# 贡献指南 + +感谢你对这个项目的关注!我们欢迎所有形式的贡献。 + +## 如何贡献 + +### 报告 Bug + +如果你发现了 bug,请: + +1. 查看 [Issues](https://github.com/ricocc/ricoui-portfolio/issues) 确认该 bug 尚未被报告 +2. 如果是一个新的 bug,请创建一个新的 Issue,包含: + - 清晰的问题描述 + - 复现步骤 + - 预期行为 + - 实际行为 + - 截图(如果有) + - 环境信息(浏览器、操作系统等) + +### 提出新功能 + +如果你有改进建议或新功能想法: + +1. 查看现有 Issues 确认没有类似提议 +2. 创建一个新的 Feature Request Issue,描述: + - 功能描述 + - 使用场景 + - 可能的实现方案(可选) + +### 提交代码 + +1. **Fork 项目** + ```bash + git clone https://github.com/your-username/ricoui-portfolio.git + cd ricoui-portfolio + ``` + +2. **创建分支** + ```bash + git checkout -b feature/your-feature-name + # 或 + git checkout -b fix/your-bug-fix + ``` + +3. **安装依赖** + ```bash + pnpm install + ``` + +4. **进行修改** + - 编写代码 + - 确保代码通过检查:`pnpm check` + - 测试你的修改 + +5. **提交更改** + ```bash + git add . + git commit -m "feat: 添加新功能描述" + # 或 + git commit -m "fix: 修复bug描述" + ``` + + 提交信息请遵循 [Conventional Commits](https://www.conventionalcommits.org/) 规范: + - `feat:` 新功能 + - `fix:` Bug 修复 + - `docs:` 文档更新 + - `style:` 代码格式调整(不影响功能) + - `refactor:` 代码重构 + - `perf:` 性能优化 + - `test:` 测试相关 + - `chore:` 构建/工具相关 + +6. **推送并创建 Pull Request** + ```bash + git push origin feature/your-feature-name + ``` + + 然后在 GitHub 上创建 Pull Request。 + +## 代码规范 + +- 使用 Biome 进行代码检查和格式化 +- 运行 `pnpm check` 确保代码符合规范 +- 保持代码简洁、可读 +- 添加必要的注释 + +## 开发环境 + +- Node.js >= 18 +- pnpm (推荐) 或 npm/yarn +- 现代浏览器(Chrome、Firefox、Safari、Edge) + +## 测试 + +在提交 PR 前,请确保: + +- [ ] 代码通过 `pnpm check` +- [ ] 在本地运行 `pnpm dev` 测试正常 +- [ ] 构建通过 `pnpm build` +- [ ] 测试了不同的浏览器和设备 + +## 问题? + +如果遇到问题,可以: + +- 查看 [Issues](https://github.com/ricocc/ricoui-portfolio/issues) +- 创建新的 Issue 提问 +- 联系维护者:hello@ricoui.com + +再次感谢你的贡献!🎉 + diff --git a/public/assets/about/wx.jpg b/public/assets/about/wx.jpg deleted file mode 100644 index be0a346..0000000 Binary files a/public/assets/about/wx.jpg and /dev/null differ diff --git a/src/assets/work/3dicons/01.jpg b/src/assets/work/3dicons/01.jpg deleted file mode 100644 index c4e482d..0000000 Binary files a/src/assets/work/3dicons/01.jpg and /dev/null differ diff --git a/src/assets/work/3dicons/02.jpg b/src/assets/work/3dicons/02.jpg deleted file mode 100644 index 0a517bc..0000000 Binary files a/src/assets/work/3dicons/02.jpg and /dev/null differ diff --git a/src/assets/work/3dicons/03.jpg b/src/assets/work/3dicons/03.jpg deleted file mode 100644 index 297303a..0000000 Binary files a/src/assets/work/3dicons/03.jpg and /dev/null differ diff --git a/src/assets/work/3dicons/04.jpg b/src/assets/work/3dicons/04.jpg deleted file mode 100644 index a7d6e9b..0000000 Binary files a/src/assets/work/3dicons/04.jpg and /dev/null differ diff --git a/src/assets/work/3dicons/05.jpg b/src/assets/work/3dicons/05.jpg deleted file mode 100644 index 1b5d399..0000000 Binary files a/src/assets/work/3dicons/05.jpg and /dev/null differ diff --git a/src/assets/work/3dicons/06.jpg b/src/assets/work/3dicons/06.jpg deleted file mode 100644 index 94af033..0000000 Binary files a/src/assets/work/3dicons/06.jpg and /dev/null differ diff --git a/src/assets/work/3dicons/07.jpg b/src/assets/work/3dicons/07.jpg deleted file mode 100644 index 60eb947..0000000 Binary files a/src/assets/work/3dicons/07.jpg and /dev/null differ diff --git a/src/assets/work/3dicons/08.jpg b/src/assets/work/3dicons/08.jpg deleted file mode 100644 index f53a406..0000000 Binary files a/src/assets/work/3dicons/08.jpg and /dev/null differ diff --git a/src/assets/work/3dicons/preview.jpg b/src/assets/work/3dicons/preview.jpg deleted file mode 100644 index e207f44..0000000 Binary files a/src/assets/work/3dicons/preview.jpg and /dev/null differ diff --git a/src/assets/work/todo/todo-01.jpg b/src/assets/work/todo/todo-01.jpg deleted file mode 100644 index 31e5ee8..0000000 Binary files a/src/assets/work/todo/todo-01.jpg and /dev/null differ diff --git a/src/assets/work/todo/todo-02.jpg b/src/assets/work/todo/todo-02.jpg deleted file mode 100644 index 18155bd..0000000 Binary files a/src/assets/work/todo/todo-02.jpg and /dev/null differ diff --git a/src/assets/work/todo/todo-03.jpg b/src/assets/work/todo/todo-03.jpg deleted file mode 100644 index 95333ca..0000000 Binary files a/src/assets/work/todo/todo-03.jpg and /dev/null differ diff --git a/src/assets/work/todo/todo-04.jpg b/src/assets/work/todo/todo-04.jpg deleted file mode 100644 index 190ded8..0000000 Binary files a/src/assets/work/todo/todo-04.jpg and /dev/null differ diff --git a/src/assets/work/todo/todo-06.jpg b/src/assets/work/todo/todo-06.jpg deleted file mode 100644 index f65eaec..0000000 Binary files a/src/assets/work/todo/todo-06.jpg and /dev/null differ diff --git a/src/collections/works.json b/src/collections/works.json index 59cd977..6ce4931 100644 --- a/src/collections/works.json +++ b/src/collections/works.json @@ -18,11 +18,11 @@ }, { "name": "Luon Models", - "description": "Company Website", - "tags": ["Company","Website","Branding"], + "description": "Agency Company Website", + "tags": ["Agency","Website"], "image": "/assets/works/luonmodels.jpg", "video": "/assets/works/luonmodels.mp4", - "url": "https://luonmodels.netlify.app/" + "url": "/work/luonmodels" }, { "name": "Ricoui", diff --git a/src/components/sections/Explore.astro b/src/components/sections/Explore.astro index 0802639..46d2a0a 100644 --- a/src/components/sections/Explore.astro +++ b/src/components/sections/Explore.astro @@ -79,9 +79,9 @@ const {title, description

Writing

Style guides, design notes, and quick reads.

-
diff --git a/src/components/ui/Button.astro b/src/components/ui/Button.astro index 5cf8527..bdb6d2b 100644 --- a/src/components/ui/Button.astro +++ b/src/components/ui/Button.astro @@ -46,7 +46,7 @@ const currentSizeClasses = sizeClasses[size]; target={type === "disabled" ? undefined : target} class={`${ type === "solid" - ? `flex justify-center items-center flex-grow-0 flex-shrink-0 relative gap-1.5 ${currentSizeClasses.padding} rounded-xl bg-gradient-to-b from-white to-[#edf1fa] dark:from-[#15233b] dark:to-[#0f1b2d] border-[1px] border-[#f3f5ff] dark:border-[#243757] max-w-60 transition duration-400 ease-in-out hover:translate-y-[-2px] hover:shadow-[0px_6px_9px_0_rgba(61,99,171,0.15)] dark:hover:shadow-[0px_6x_9px_0_rgba(59,123,217,0.25)]` + ? `flex justify-center items-center flex-grow-0 flex-shrink-0 relative gap-1.5 ${currentSizeClasses.padding} rounded-xl bg-gradient-to-b from-white to-[#edf1fa] dark:from-[#15233b] dark:to-[#0f1b2d] border-[1px] border-primary/20 dark:border-[#243757] max-w-60 transition duration-400 ease-in-out hover:translate-y-[-2px] hover:shadow-[0px_6px_9px_0_rgba(61,99,171,0.15)] dark:hover:shadow-[0px_6x_9px_0_rgba(59,123,217,0.25)]` : type === "fill" ? `flex justify-center items-center flex-grow-0 flex-shrink-0 relative gap-1.5 ${currentSizeClasses.padding} rounded-xl bg-btn-primary dark:bg-btn-primary-dark border-[0] border-[rgba(138,127,255,0.2)] shadow-[0px_2px_3px_0_rgba(0,0,0,0.1)] max-w-60 transition duration-400 ease-in-out hover:bg-btn-primary-hover dark:hover:bg-btn-primary-dark-hover hover:translate-y-[-2px] hover:shadow-[0px_6px_9px_0_rgba(61,99,171,0.15)] dark:shadow-[0px_6px_9px_0_rgba(0,0,0,0.2)]` : type === "disabled" @@ -58,11 +58,11 @@ const currentSizeClasses = sizeClasses[size]; onclick={type === "disabled" ? "return false;" : undefined} > {type === "solid" ? ( -
+
) : type === "fill" ? ( - + ) : type === "disabled" ? ( diff --git a/src/components/ui/Logo.astro b/src/components/ui/Logo.astro index 4b311d8..4bff561 100644 --- a/src/components/ui/Logo.astro +++ b/src/components/ui/Logo.astro @@ -5,15 +5,3 @@ Logo - -{/* - - - aria - */} diff --git a/src/components/ui/Marquee.astro b/src/components/ui/Marquee.astro deleted file mode 100644 index 85e6540..0000000 --- a/src/components/ui/Marquee.astro +++ /dev/null @@ -1,91 +0,0 @@ ---- -interface Props { - class?: string; // Class of the marquee - marqueeElements: number; // Number of elements - marqueeElementWidth: string; // Width of the marquee - marqueeElementWidthAuto?: boolean; // Is the width auto - marqueeElementWidthResponsive: string; // Width of the marquee - marqueePauseOnHover?: boolean; // Duration of the marquee - marqueeReverse?: "reverse" | "" | undefined; // Duration of the marquee - marqueeDuration?: string; // Duration of the marquee -} - -let { - marqueeElements, - marqueeElementWidth, - marqueeElementWidthAuto = true, - marqueeElementWidthResponsive, - marqueePauseOnHover = false, - marqueeDuration = "50s", - marqueeReverse = "", -} = Astro.props; - -// Remove value of if `marqueeElementWidth`, `marqueeElementWidthResponsive` marqueeElementWidthAuto true -if (marqueeElementWidthAuto) { - marqueeElementWidth = ""; - marqueeElementWidthResponsive = ""; -} ---- - -
-
- -
-
- diff --git a/src/components/ui/Matter.astro b/src/components/ui/Matter.astro index ed1437b..7e96a16 100644 --- a/src/components/ui/Matter.astro +++ b/src/components/ui/Matter.astro @@ -12,10 +12,10 @@