mcpField
P
peach-add-print

peach-add-print

github.com/peachsolution设计与 UI65 次安装
代码仓库

关于 peach-add-print

peach-add-print 是用于从现有 Vue 组件创建独立打印页面的技能,面向需要为应用添加打印视图的开发者。它围绕新窗口打印流程,结合 TailwindCSS v4 的打印样式文档与布局分析,生成打印组件和路由。

主要功能

  1. 01分析原组件的数据与信息层级
  2. 02参考 TailwindCSS v4 打印样式文档
  3. 03设计分页与打印布局
  4. 04生成打印专用组件和路由
  5. 05在原组件中添加打印入口

适用场景

  1. 01为列表或数据详情页增加打印视图
  2. 02规划多页报表的分页位置
  3. 03遵循项目 DESIGN.md 创建打印样式

MCP 相关

该技能说明会使用 Context7 MCP 查询 Vue.js 与 TailwindCSS 文档,并在复杂布局设计时调用 Sequential Thinking MCP。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/peachsolution/peach-harness --skill peach-add-print

安装后在 Claude Code 中输入/peach-add-print确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
print-component.md
print-design-guide.md
print-routes.md

README 原文English

来自项目 README

README 暂无中文译文,以下为英文原文;中文介绍见上方。

인쇄 페이지 생성 스킬

개요

window.open 방식으로 새 창에서 레이아웃 없이 세련된 인쇄 전용 페이지 생성.

핵심 패턴:

  • Context7 MCP: Vue.js, TailwindCSS v4 print variant 최신 문서 참조
  • Sequential Thinking MCP: 복잡한 인쇄 레이아웃 설계 분석
  • 인쇄 최적화 디자인: 가독성, 정보 계층, 페이지 구분

MCP 도구 활용

Context7 MCP 활용

인쇄 페이지 생성 시 최신 문서 참조:

# TailwindCSS v4 print variant 쿼리
mcp__context7__resolve-library-id: "TailwindCSS"
mcp__context7__query-docs: "print variant responsive design v4"

# Vue.js 라이프사이클
mcp__context7__resolve-library-id: "Vue.js"
mcp__context7__query-docs: "onMounted lifecycle composition API"
Sequential Thinking MCP 활용

복잡한 인쇄 레이아웃 설계 시:

mcp__sequential-thinking__sequentialthinking:
- thought: "인쇄 대상 데이터 구조 분석"
- thought: "페이지 브레이크 위치 결정"
- thought: "헤더/푸터 반복 요소 설계"
- thought: "정보 계층 구조 최적화"

입력 방식

/peach-add-print [원본컴포넌트경로]

인쇄 디자인 원칙

인쇄 매체 특성 (웹과 다른 점)
구분웹인쇄
상호작용클릭, 호버, 스크롤없음 (정적)
색상RGB (발광)CMYK (반사광)
애니메이션가능불가능
크기반응형고정 (A4, Letter)
해상도72-96dpi300dpi 권장
인쇄 최적화 디자인 가이드

print-design-guide.md 상세 CSS 참조

1. 타이포그래피 (TailwindCSS v4 print variant)
<!-- 인쇄용 타이포그래피 -->
<div class="print:font-sans print:text-[11pt] print:leading-relaxed print:text-black">
  <h1 class="print:text-[18pt] print:font-bold">제목</h1>
  <h2 class="print:text-[14pt] print:font-semibold">부제목</h2>
  <h3 class="print:text-[12pt] print:font-semibold">소제목</h3>
</div>
2. 색상 (고대비, 잉크 절약)
<!-- 인쇄 친화적 색상 -->
<span class="print:text-black">기본 텍스트</span>
<span class="print:text-gray-700">보조 텍스트</span>
<span class="print:text-blue-700">강조</span>
<span class="print:text-red-600">음수/경고</span>

<!-- 배경색 (절제하여 사용) -->
<div class="print:bg-gray-100">연한 배경</div>
<div class="print:border print:border-gray-300">테두리</div>
3. 레이아웃 (페이지 브레이크)
<!-- 페이지 브레이크 제어 -->
<div class="print:break-before-page">새 페이지 시작</div>
<div class="print:break-after-page">페이지 끝</div>
<div class="print:break-inside-avoid">분리 방지</div>

<!-- 테이블 헤더 반복 -->
<thead class="print:table-header-group">...</thead>
<tfoot class="print:table-footer-group">...</tfoot>

<!-- 인쇄 시 숨김/표시 -->
<div class="print:hidden">화면에서만 표시</div>
<div class="hidden print:block">인쇄에서만 표시</div>
4. 정보 계층 구조
┌─────────────────────────────────────────┐
│  문서 타이틀 (18pt, Bold, 중앙)          │
├─────────────────────────────────────────┤
│  메타 정보 (기간, 작성자, 날짜)           │
│  ─────────────────────────────────────  │
│  요약 박스 (배경색, 테두리)               │
│  ┌─────────────────────────────────┐   │
│  │ 핵심 수치 / KPI                   │   │
│  └─────────────────────────────────┘   │
├─────────────────────────────────────────┤
│  섹션 타이틀 (14pt, Bold)               │
│  ─────────────────────────────────────  │
│  데이터 테이블                           │
│  ┌───┬───────┬─────┬─────┬─────┐      │
│  │   │       │     │     │     │      │
│  ├───┼───────┼─────┼─────┼─────┤      │
│  │   │       │     │     │     │      │
│  └───┴───────┴─────┴─────┴─────┘      │
├─────────────────────────────────────────┤
│  푸터 (페이지 번호, 인쇄일시)             │
└─────────────────────────────────────────┘

워크플로우

Step 0. 디자인 시스템 확인
cat DESIGN.md 2>/dev/null | head -100
  • 있으면: 색상·타이포그래피 규칙을 이후 인쇄 스타일 결정에 반영
  • 없으면: ⚠️ DESIGN.md 없음 출력 후 계속 진행

1단계: 원본 컴포넌트 분석 (Sequential Thinking)
Sequential Thinking 활용:
1. 데이터 구조 파악 (테이블, 목록, 차트 등)
2. 인쇄 시 필수 정보 vs 생략 가능 정보 분류
3. 페이지당 최적 데이터 양 계산
4. 페이지 브레이크 위치 결정
2단계: Context7로 최신 TailwindCSS 문서 참조
# TailwindCSS v4 print variant 최신 사양 확인
mcp__context7__query-docs:
  libraryId: "/tailwindlabs/tailwindcss"
  query: "print variant modifier responsive design"
3단계: 인쇄 컴포넌트 생성

print-component.md 템플릿 참조

4단계: 라우트 설정

print-routes.md 템플릿 참조

5단계: 원본에 인쇄 버튼 추가
<u-button color="neutral" variant="outline" @click="actionPrint">
  <i class="i-heroicons-printer" />
  인쇄
</u-button>

생성 파일

front/src/modules-domain/[모듈명]/pages/
├── [원본]-print.vue           # 인쇄 전용 컴포넌트
└── _[모듈명]-print.routes.ts  # 인쇄 전용 라우트

참조 문서


참조 코드

  • front/src/modules-domain/unpaid/pages/account-print.vue
  • front/src/modules-domain/unpaid/pages/_unpaid-print.routes.ts
  • front/src/assets/styles/components.css (table_report)

评论

支持 Markdown