一、④段整套同步(用户选候选 A)
- 新增 `references/stage-proto-doc/assets/产品文档模板.html`(16 KB/247 行,从备份拷、转 LF)。
- ④段 SKILL.md 换成备份 15:28 那版,并按模板口径改齐:
· 「产品文档框架」从「四块+一附录」改成**六节** —— 页面结构/功能清单/使用场景/操作流程/
跨页与界面状态/待确认与偏离;与模板同构,⛔ 不从空白页重写结构。
· 编号从 R/S/F 改成 **P 页面/S 场景/F 功能/J 二级功能**,各自唯一、按展示顺序通排。
· 保留旧版有价值的要求:每项功能补齐 做什么/入口在哪/输入边界/异常与恢复;重点功能三处标红;
横向流程图每步写清页面/功能/操作/完成判据。
· 完成标准「七节」→「六节」,自查清单同步换掉「需求」那批条目,补模板与配图两条。
· 路径 `designs/<项目>/` → `docs/pm/<项目>/ui/`(2 处)。
· 补回本机那条「每份产出文档开头都要有一张图」的引用(指向主 skill,段内不复述)。
- 主 skill 同步:四段结构表④行、④段沿革、画图小节(④段画页面结构图 + 用户路径)。
二、open-design 移到技能根(用户选候选 A)
- `git mv product-planning/references/stage-delivery/assets/open-design → open-design/`(4178 文件)。
- `.gitignore` 白名单加 `!/open-design/` —— 否则移出去就不再纳入版本控制。
- 引用改 11 处:路径形态 `assets/open-design/...` → `<技能根>/open-design/...`;
「随段携带的自带件」改称「同根技能」;「路径怎么找」那条改成自带件(段内相对路径)与
同根技能(`<技能根>/<技能名>/`)两类分开写。
- open-design 自己的 ATTRIBUTION.md 两处同步(它现在与 oil-ui-pro 同层)。
- 副作用(有益):命名闸门读数由 2063 降到 225 —— 此前它把 open-design 里 919 个第三方 md
当成规则一起扫了;现在只扫本包 23 个 md。已确认④段的 H1 与 4a/4b/4c 子步仍在检查范围内。
三、验收
- check_naming.py --ws E:/ProgramData/AIProject/contentm_agent = 通过 225 / 失败 0 / 提示 27。
- 活文件里 `assets/open-design` 残留 0;工作区 CRLF 文件 0。
18 KiB
نظام التصميم المستوحى من Slack
Category: الإنتاجية والبرمجيات كخدمة منصة التواصل في بيئة العمل. لون أساسي أوبيرجين، لوحة شعار متعددة النبرات، أسطح فاتحة مع شريط جانبي داكن، دافئة وودية.
1. الطابع البصري والأجواء
تبنى هوية Slack على فكرة أن العمل ينبغي أن يبدو إنسانياً بل ومرحاً بعض الشيء. السطح الأساسي فاتح — مناطق محتوى بيضاء مع شريط جانبي أوبيرجين عميق (#4A154B) — عكس الأدوات التي تُقدّم الأسطح الداكنة. هذا التباين مقصود: الشريط الجانبي هو مرساة تنقل هادئة ودائمة الحضور، بينما منطقة المحتوى مضيئة ومفتوحة.
لوحة الشعار — الأزرق والأخضر والأصفر والأحمر — تظهر أساساً في أيقونة الوسم وسياقات التسويق، وليست مبعثرة عبر واجهة المستخدم. في المنتج نفسه، يستخدم Slack نظام ألوان متحفظاً واحترافياً مع أوبيرجين كمرساة العلامة التجارية الوحيدة.
الخصائص الرئيسية:
- أسطح محتوى تُقدّم الفاتح: أبيض
#FFFFFFوشبه أبيض#F8F8F8 - شريط جانبي أوبيرجين عميق
#4A154B— العنصر الأكثر تميزاً في واجهة المستخدم للعلامة التجارية - أربعة ألوان نبرة للشعار (أزرق، أخضر، أصفر، أحمر) تُستخدم باعتدال كنقاط تمييز فحسب
- Larsseit للعناوين (التسويق)، sans-serif النظامي لواجهة المستخدم
- مستدير لكن ليس كرتونياً: نصف قطر 4–8 بكسل في معظم المكونات
- كثيف لكن قابل للتنفس: صفوف رسائل مضغوطة مع تسلسل هرمي واضح للخيوط
- نبرة دافئة وتحادثية — الرموز التعبيرية والتفاعلات والرسوم التوضيحية من الدرجة الأولى
2. لوحة الألوان والأدوار
اللون الأساسي للعلامة التجارية
| الرمز | Hex | الدور |
|---|---|---|
--color-aubergine |
#4A154B |
خلفية الشريط الجانبي، لون العلامة التجارية الأساسي |
--color-aubergine-dark |
#350d36 |
حالات التمرير على أسطح الأوبيرجين |
--color-aubergine-light |
#611f69 |
تمييز العنصر النشط في الشريط الجانبي |
ألوان النبرة في الشعار (استخدم باعتدال — للتمييز والأيقونات والتسويق فحسب)
| الرمز | Hex | الاسم | الدور |
|---|---|---|---|
--color-blue |
#36C5F0 |
الأزرق السماوي | أيقونات القنوات، الروابط، حالات المعلومات |
--color-green |
#2EB67D |
الأخضر الزبرجدي | حالة الاتصال، حالات النجاح |
--color-yellow |
#ECB22E |
الذهبي | حالة الغياب، التحذيرات، التمييزات |
--color-red |
#E01E5A |
الياقوتي | الإشعارات، الأخطاء، شارة الإشارات |
السطح والخلفية
| الرمز | Hex | الدور |
|---|---|---|
--bg-primary |
#FFFFFF |
منطقة الرسائل الرئيسية، النوافذ المنبثقة |
--bg-secondary |
#F8F8F8 |
لوحات الخيوط، الأسطح الثانوية |
--bg-tertiary |
#F1F1F1 |
خلفيات الإدخال، حالات التمرير |
--bg-sidebar |
#4A154B |
الشريط الجانبي الأيسر (أوبيرجين) |
--bg-sidebar-hover |
rgba(255,255,255,0.1) |
تمرير عنصر الشريط الجانبي |
--bg-sidebar-active |
rgba(255,255,255,0.2) |
العنصر النشط في الشريط الجانبي |
--bg-message-hover |
#F8F8F8 |
تمرير صف الرسالة |
ألوان النص
| الرمز | Hex | الدور |
|---|---|---|
--text-primary |
#1D1C1D |
نص المحتوى الأساسي (شبه أسود) |
--text-secondary |
#616061 |
الطوابع الزمنية، التسميات المخففة |
--text-sidebar |
rgba(255,255,255,0.9) |
أسماء القنوات في الشريط الجانبي |
--text-sidebar-muted |
rgba(255,255,255,0.6) |
العناصر غير النشطة في الشريط الجانبي |
--text-link |
#1264A3 |
الروابط المضمّنة في الرسائل |
--text-mention |
#1264A3 |
لون نص @الإشارة |
الألوان الدلالية
| الرمز | Hex | الدور |
|---|---|---|
--color-success |
#2EB67D |
إشعارات النجاح، الحالات الإيجابية |
--color-warning |
#ECB22E |
حالات التحذير |
--color-danger |
#E01E5A |
حالات الخطأ، الإجراءات التدميرية |
--color-info |
#36C5F0 |
التمييزات الإعلامية |
الحدود والفاصل
| الرمز | Hex | الدور |
|---|---|---|
--border-default |
#DDDDDD |
الفواصل القياسية، حدود البطاقات |
--border-subtle |
#F1F1F1 |
الفواصل الخفية بين الصفوف |
--border-focus |
#1264A3 |
لون حلقة التركيز |
3. قواعد الطباعة
الخطوط
| الدور | الرسمي | البديل على الويب |
|---|---|---|
| عناوين العرض / التسويق | Larsseit | 'Larsseit', 'Helvetica Neue', Arial, sans-serif |
| واجهة المستخدم / المحتوى / Chrome | Slack Lato (مخصص) | system-ui, -apple-system, BlinkMacSystemFont, sans-serif |
| الكود / Monospace | — | 'Monaco', 'Menlo', 'Courier New', monospace |
يستخدم Slack Larsseit لعناوين التسويق ونسخة Lato المخصصة لواجهة المستخدم داخل المنتج. لاستخدام الويب، يُعدّ
system-uiأكثر البدائل أماناً.
مقياس الطباعة
| المستوى | الحجم | الوزن | ارتفاع السطر | تباعد الحروف | الاستخدام |
|---|---|---|---|---|---|
| عرض XL | 48px | 800 | 1.1 | -1px | عناوين hero التسويقية |
| عرض L | 36px | 700 | 1.15 | -0.5px | بطولات الأقسام |
| عنوان 1 | 28px | 700 | 1.25 | normal | عناوين النوافذ المنبثقة، رؤوس الصفحات |
| عنوان 2 | 22px | 700 | 1.3 | normal | عناوين البطاقات، أقسام الإعدادات |
| عنوان 3 | 18px | 700 | 1.35 | normal | رؤوس الأقسام الفرعية |
| محتوى L | 16px | 400 | 1.5 | normal | نص الرسالة، الأوصاف |
| محتوى | 15px | 400 | 1.46667 | normal | نص واجهة المستخدم الافتراضي (الحجم الأساسي لـ Slack) |
| محتوى SM | 13px | 400 | 1.38462 | normal | البيانات الوصفية الثانوية |
| تسمية توضيحية | 12px | 400 | 1.33 | normal | الطوابع الزمنية، التلميحات |
| كود | 12px | 400 | 1.5 | normal | الكود المضمّن، كتل الكود |
قواعد الطباعة
- الحجم الأساسي لمحتوى Slack هو 15 بكسل — أصغر قليلاً من 16 بكسل لزيادة الكثافة
- القنوات غير المقروءة: وزن 700 — الغامق هو المؤشر الأساسي لعدم القراءة
- الطوابع الزمنية: 12 بكسل
--text-secondary، تظهر عند التمرير فحسب - كتل الكود: خلفية
#F8F8F8، حد1px solid #DDDDDD، border-radius 4px - لا تستخدم أحجام خطوط أقل من 12 بكسل أبداً
- عناوين التسويق: letter-spacing
-1pxلأحجام العرض الكبيرة
4. تنسيقات المكونات
الأزرار
/* Primary */
.btn-primary {
background: #4A154B;
color: #FFFFFF;
border-radius: 4px;
padding: 0 16px;
height: 36px;
font-size: 15px;
font-weight: 700;
border: none;
}
.btn-primary:hover { background: #611f69; }
/* Secondary */
.btn-secondary {
background: #FFFFFF;
color: #1D1C1D;
border: 1px solid #DDDDDD;
border-radius: 4px;
padding: 0 16px;
height: 36px;
font-size: 15px;
font-weight: 700;
}
.btn-secondary:hover { background: #F8F8F8; }
/* Danger */
.btn-danger {
background: #E01E5A;
color: #FFFFFF;
border-radius: 4px;
}
.btn-danger:hover { background: #B3114A; }
حقول الإدخال
.input {
background: #FFFFFF;
border: 1px solid #DDDDDD;
border-radius: 4px;
color: #1D1C1D;
font-size: 15px;
padding: 8px 12px;
height: 36px;
}
.input:focus {
border-color: #1264A3;
box-shadow: 0 0 0 2px rgba(18,100,163,0.25);
outline: none;
}
عنصر قناة الشريط الجانبي
.channel-item {
height: 28px;
padding: 0 16px;
border-radius: 6px;
color: rgba(255,255,255,0.7);
font-size: 15px;
font-weight: 400;
}
.channel-item:hover {
background: rgba(255,255,255,0.1);
color: #FFFFFF;
}
.channel-item.active {
background: rgba(255,255,255,0.2);
color: #FFFFFF;
}
.channel-item.unread {
color: #FFFFFF;
font-weight: 700;
}
شارة غير المقروء
.badge {
background: #E01E5A;
color: #FFFFFF;
border-radius: 8px;
font-size: 11px;
font-weight: 700;
padding: 1px 6px;
min-width: 18px;
}
مرفقات الرسائل / البطاقات
.attachment {
border-left: 4px solid #DDDDDD;
background: #F8F8F8;
border-radius: 0 4px 4px 0;
padding: 8px 12px;
margin: 4px 0;
}
التفاعلات
.reaction {
border: 1px solid #DDDDDD;
border-radius: 24px;
background: #F8F8F8;
padding: 2px 8px;
font-size: 13px;
cursor: pointer;
}
.reaction:hover { background: #F1F1F1; }
.reaction.active {
background: rgba(18,100,163,0.1);
border-color: #1264A3;
}
5. مبادئ التخطيط
تخطيط ثلاثي الأعمدة
┌──────────────┬──────────────────────────────┬─────────────┐
│ الشريط الجانبي│ منطقة الرسائل │ الخيط │
│ (240px) │ (flex: 1) │ (400px) │
│ #4A154B │ #FFFFFF │ اختياري │
└──────────────┴──────────────────────────────┴─────────────┘
نظام التباعد (أساس 4 بكسل)
| الرمز | القيمة | الاستخدام |
|---|---|---|
--space-1 |
4px | الفجوات الضيقة |
--space-2 |
8px | حشو المكون |
--space-3 |
12px | حشو الإدخال |
--space-4 |
16px | الحشو القياسي |
--space-6 |
24px | حشو البطاقة |
--space-8 |
32px | فجوات الأقسام |
هيكل الشريط الجانبي
[اسم مساحة العمل ▼]
────────────────────
الخيوط
جميع الرسائل المباشرة
المسودات والمُرسَل
────────────────────
▼ القنوات
# general
# random
# design ● (غير مقروء)
────────────────────
▼ الرسائل المباشرة
John Doe
Jane Smith
محرر الرسائل
- مثبت في أسفل منطقة الرسائل
border: 1px solid #DDDDDD،border-radius: 8px،margin: 0 16px 16px- شريط الأدوات: رموز تعبيرية، إرفاق، تنسيق، زر إرسال
6. العمق والارتفاع
يستخدم Slack ظلالاً خفيفة على سطح فاتح:
| المستوى | الاستخدام | الظل |
|---|---|---|
| مسطح | صفوف الرسائل، عناصر الشريط الجانبي | none |
| منخفض | البطاقات، حقول الإدخال | 0 1px 3px rgba(0,0,0,0.08) |
| متوسط | القوائم المنسدلة، النوافذ المنبثقة | 0 4px 12px rgba(0,0,0,0.12) |
| مرتفع | النوافذ المنبثقة الكبيرة، الحوارات | 0 8px 24px rgba(0,0,0,0.15) |
| طبقة تغطية | خلفيات النوافذ المنبثقة | rgba(0,0,0,0.5) |
7. ما يجب فعله وما يجب تجنبه
✅ افعل
- استخدم أوبيرجين
#4A154Bللشريط الجانبي — إنه العنصر الأكثر تميزاً في واجهة Slack - احتفظ بمنطقة المحتوى الرئيسية بيضاء وفاتحة
- استخدم
#1D1C1D(شبه أسود) لجميع نصوص المحتوى، وليس الأسود الصريح - اجعل أسماء القنوات غامقة لإظهار حالة عدم القراءة — الوزن هو المؤشر
- استخدم الألوان الأربعة للنبرة للأدوار الدلالية فحسب (نجاح، تحذير، خطر، معلومات)
- طبّق
border-left: 4pxعلى مرفقات الرسائل والمدمجات - اعرض الطوابع الزمنية عند التمرير فحسب
- استخدم
#1264A3للروابط وحالات التركيز - احتفظ بعناصر الشريط الجانبي مضغوطة: ارتفاع 28 بكسل، border-radius 6 بكسل
❌ لا تفعل
- لا تستخدم منطقة محتوى رئيسية داكنة — Slack يُقدّم الفاتح
- لا تبعثر الأزرق/الأخضر/الأصفر/الأحمر كنبرات تزيينية
- لا تستخدم الأسود الصريح
#000000للنص - لا تستخدم فقاعات الكلام — الرسائل صفوف مسطحة
- لا تصنع أزراراً بنصف قطر كبير — 4 بكسل هو المعيار
- لا تعرض الطوابع الزمنية بشكل دائم
- لا تستخدم الحروف الكبيرة بالكامل لأسماء القنوات
- لا تستخدم أحجام خطوط أقل من 12 بكسل
8. السلوك المتجاوب
نقاط الكسر
| نقطة الكسر | العرض | التخطيط |
|---|---|---|
| الجوال | < 768px | لوحة واحدة، الشريط الجانبي كدرج أيسر |
| الجهاز اللوحي | 768–1024px | الشريط الجانبي + منطقة الرسائل فحسب |
| سطح المكتب | > 1024px | تخطيط ثلاثي الأعمدة الكامل |
التكيفات للجوال
- الشريط الجانبي: درج أيسر، اسحب لليمين للفتح
- شريط التبويب السفلي: الرئيسية، الرسائل المباشرة، النشاط، أنت
- لوحة الخيط: تغطية الشاشة بالكامل
- المحرر: مثبت فوق لوحة المفاتيح
- عناصر قائمة القنوات: ارتفاع منطقة اللمس 44 بكسل
- الحفاظ على شريط الرأس الأوبيرجين العلوي على الجوال
9. دليل مطالبات الوكيل
عند إنشاء تصميمات بأسلوب Slack، اتبع هذا النهج:
تطبيق الألوان:
اضبط
background: #FFFFFFكالقماش الرئيسي. استخدم#4A154B(أوبيرجين) للشريط الجانبي. جميع النصوص الأساسية هي#1D1C1D. الروابط وحلقات التركيز تستخدم#1264A3. الألوان الأربعة للشعار —#36C5F0،#2EB67D،#ECB22E،#E01E5A— دلالية فحسب: معلومات، نجاح، تحذير، خطر.
الطباعة:
استخدم
system-ui, -apple-system, sans-serifلجميع واجهات المستخدم. الحجم الأساسي هو 15 بكسل. القنوات غير المقروءة: وزن 700. نص المحتوى: وزن 400. الطوابع الزمنية: 12 بكسل#616061، عند التمرير فحسب. الكود:Monaco, Menlo, monospace، 12 بكسل، خلفية#F8F8F8.
التخطيط:
ثلاثة أعمدة: شريط جانبي أوبيرجين 240 بكسل + منطقة رسائل بيضاء مرنة + لوحة خيط اختيارية 400 بكسل. عناصر الشريط الجانبي: ارتفاع 28 بكسل، نصف قطر 6 بكسل، غامق عند عدم القراءة. المحرر: مثبت في الأسفل،
border: 1px solid #DDDDDD،border-radius: 8px.
المكونات:
الأزرار: نصف قطر 4 بكسل، ارتفاع 36 بكسل، أوبيرجين أساسي. حقول الإدخال: حد
1px solid #DDDDDD، حلقة تركيز#1264A3. صفوف الرسائل: مسطحة، بلا فقاعات، صورة رمزية دائرية 36 بكسل. التفاعلات: pillborder: 1px solid #DDDDDD،border-radius: 24px.
النبرة:
Slack دافئ واحترافي وإنساني. الحالات الفارغة تستخدم رسوماً توضيحية ودية. عبارات الدعوة للعمل مباشرة: "إرسال رسالة"، "ابدأ الآن". رسائل الخطأ واضحة ومفيدة. لا تثير القلق أبداً.
الأنماط المضادة التي يجب تجنبها:
لا توجد منطقة محتوى داكنة. لا توجد فقاعات كلام. لا يوجد نص أسود صريح. لا توجد نبرات متعددة الألوان مبعثرة. لا توجد أسماء قنوات بالحروف الكبيرة. لا يوجد خط أصغر من 12 بكسل. لا يوجد نصف قطر زر كبير.