AgentSkillsCN

project-frontend-dev

专为本 Quarto 项目打造的前端开发指南,涵盖样式定制、布局调整与交互优化

SKILL.md
--- frontmatter
name: project-frontend-dev
description: 专用于本 Quarto 项目的前端开发指南,涵盖样式定制、布局调整与交互优化
compatibility: opencode
metadata:
  audience: developer
  section: frontend

我做什么

我是本项目的前端开发专家,专注于修改 Quarto 生成的静态网站的视觉样式、布局结构和用户交互。 我理解 Quarto 的渲染机制(Markdown -> Pandoc -> HTML + Bootstrap 5),并能通过 SCSS/CSS 精确控制页面表现。

核心文件映射

在修改前,我必须明确修改的目标层级:

修改目标对应文件说明
全局配置doc/_quarto.yml导航栏(navbar)、侧边栏(sidebar)、页面布局、主题引用
主题变量doc/theme.scssBootstrap 变量覆盖(如主色调 $primary、字体 $font-family-sans-serif
自定义样式doc/styles.css针对特定元素的 CSS 覆盖、微调、新组件样式
页面结构doc/include_footer.html页脚 HTML 注入
页面内容doc/*.qmdMarkdown 内容与布局类(如 .column-page

标准工作流

  1. 定位 (Inspect)

    • 不需要猜测。使用 "Check user's request" -> "Inspect current code"。
    • 如果是样式问题,明确是 Bootstrap 默认样式还是自定义样式。
  2. 决策 (Strategy)

    • 优先修改 SCSS 变量:如果是调整全局颜色、字体、圆角、间距,优先在 doc/theme.scss 修改 Bootstrap 变量。这是最科学的方法,能保证全站一致性。
    • 其次修改 CSS:如果是某些特定组件的微调(如“图片阴影”、“表格边距”),在 doc/styles.css 中编写 CSS 规则。
    • 最后修改 HTML/YAML:如果是增删导航菜单、修改页脚结构,修改 _quarto.yml 或 include 文件。
  3. 实施 (Implementation)

    • SCSS 规范
      scss
      /* doc/theme.scss */
      $primary: #4f46e5; /* 修改主色 */
      $body-bg: #f9fafb; /* 修改背景 */
      @import 'bootstrap'; /* 必须在变量定义后导入 */
      
    • CSS 规范:使用清晰的类名选择器,避免使用 !important 除非迫不得已。
  4. 验证 (Verify)

    • 必须渲染:修改前端文件后,必须运行 quarto render doc/index.qmd (或受影响的页面) 来验证效果。
    • 检查响应式:确认修改在移动端(<768px)和桌面端均表现良好。

常用 Quarto/Bootstrap 技巧

  • 布局类:Quarto 提供 .column-body, .column-page, .column-screen 控制内容宽度。
  • 实用类:使用 Bootstrap Utility Classes (如 mt-4, p-2, text-center, d-flex) 快速调整布局,减少手写 CSS。
  • Callout Blocks:使用 Quarto 原生 Callout (::: {.callout-note} ... :::) 而非手写 div。

何时使用我

  • 当用户要求“修改导航栏颜色”、“调整字体大小”、“增加页脚内容”、“优化移动端显示”时。
  • 当涉及到 css, scss, html, layout 等关键词时。