هدية من مشروع برديس: برومبت جاهز يصنع جدول تتبع عادات لمدة 100 يوم، في صفحة واحدة قابلة للطباعة، بعاداتك أنت وتاريخ البداية الذي يناسبك.
Create a one-page printable PDF: a 100-day habit tracker.
✏️ FILL IN BEFORE SENDING
- Start date: [DD-MM-YYYY]
- My habits (1 to 4, one or two words each): [Habit 1], [Habit 2], [Habit 3], [Habit 4]
- Tracker language: [Arabic / English]
EXACT MEASUREMENTS (follow precisely)
- Page: A4 portrait (210 × 297 mm), margins 9 mm top/bottom, 8 mm left/right
- Header block: 16 mm tall
- Grid: 10 columns × 10 rows, gap 1.2 mm
- Each cell: 18.3 mm wide × 24.3 mm tall, FIXED, inner padding 1 mm
- Footer block: 6 mm tall
- Day number: 12 pt bold
- Date (D/M): 7 pt bold, weekday name under it: 5.5 pt
- Habit lines: 6.5 pt text, checkbox 2.6 × 2.6 mm, 1 mm space between lines
CELL ORDER (critical, same for both languages)
- Day 1 top left, Day 10 top right, Day 11 second row left, Day 100 bottom right
- Place every cell explicitly by coordinates. For day d (1 to 100):
row = ((d - 1) // 10) + 1
column from the left = ((d - 1) % 10) + 1
- Do NOT rely on CSS direction or automatic grid placement for cell order. Text direction affects text inside cells only, never cell positions
LAYOUT RULES
- Header (centered): title "Habit Tracker - 100 Days" (Arabic: جدول تتبع العادات - 100 يوم), subtitle with start date to end date and my habits separated by dots
- Each cell: top row with the day number on one side and the date + weekday on the other, a thin line under it, then one line per habit: empty square checkbox + habit name
- Habit names must NEVER wrap to a second line and NEVER go outside the cell. If a name is too long, shrink ALL habit labels equally (minimum 5.5 pt). If it still doesn't fit, shorten the name and tell me
- All cells identical, no shading, thin light grey-green borders, slightly rounded corners
- Footer (centered, 7.5 pt, grey), in the tracker language, as a clickable link to https://bardeessmairat.com/habits/
English: Build your habits step by step bardeessmairat.com/habits
Arabic: لبناء عاداتك خطوة بخطوة bardeessmairat.com/habits
DATES
- Calculate every date and weekday in code, never type them manually
- End date = start date + 99 days
- Western digits (1, 2, 3)
FONT AND METHOD (critical)
- Font: Tajawal (Regular + Bold) for ALL text, Arabic and English
- Download it from:
https://github.com/google/fonts/raw/main/ofl/tajawal/Tajawal-Regular.ttf
https://github.com/google/fonts/raw/main/ofl/tajawal/Tajawal-Bold.ttf
- Build the page as HTML/CSS (CSS grid with explicit grid-row and grid-column per cell, @font-face pointing to the Tajawal files), and convert it to PDF with WeasyPrint. This shapes Arabic correctly
- For an Arabic tracker, set dir="rtl" on text elements only (header, cell text, footer), not on the grid container
- Do NOT use arabic_reshaper, python-bidi, reportlab, fpdf or matplotlib for Arabic text. They turn Tajawal letters into boxes
- If Tajawal truly cannot be used, use Noto Sans Arabic and tell me. Never ask me to upload a font
STYLE
- Dark green (#3d5a50) for title, day numbers and checkbox borders; dark grey text; white background
CHECK BEFORE DELIVERING
- Render the PDF as an image and inspect it yourself
- Exactly 1 page, all 100 days
- Positions: Day 1 top left, Day 10 top right, Day 11 second row left, Day 100 bottom right
- Day 100 = correct end date
- Every habit line sits fully INSIDE its cell in all 100 cells
- Arabic letters connected, not reversed, not boxes
- Footer link is visible, clickable, and on the same page
- Fix anything wrong before sending. If you cannot make a correct PDF, give me a printable HTML file with the same design and tell me to open it in a browser and choose Print → Save as PDF
أنشئ ملف PDF من صفحة واحدة قابل للطباعة: متتبع عادات لمدة 100 يوم.
✏️ املأ قبل الإرسال
- تاريخ البداية: [يوم-شهر-سنة]
- عاداتي (من 1 إلى 4، كلمة أو كلمتان لكل عادة): [العادة 1]، [العادة 2]، [العادة 3]، [العادة 4]
- لغة المتتبع: [العربية / الإنجليزية]
المقاسات الدقيقة (التزم بها حرفيًا)
- الصفحة: A4 عمودي (210 × 297 ملم)، هوامش 9 ملم أعلى وأسفل، و8 ملم يمين ويسار
- مساحة العنوان: 16 ملم
- الشبكة: 10 أعمدة × 10 صفوف، والمسافة بين الخلايا 1.2 ملم
- كل خلية: عرض 18.3 ملم × ارتفاع 24.3 ملم، ثابتة، وحشوة داخلية 1 ملم
- مساحة التذييل: 6 ملم
- رقم اليوم: 12 نقطة عريض
- التاريخ (يوم/شهر): 7 نقاط عريض، واسم اليوم تحته: 5.5 نقطة
- أسطر العادات: نص 6.5 نقطة، مربع اختيار 2.6 × 2.6 ملم، ومسافة 1 ملم بين الأسطر
ترتيب الخلايا (مهم جدًا، وهو نفسه للغتين)
- اليوم 1 أعلى اليسار، واليوم 10 أعلى اليمين، واليوم 11 في الصف الثاني على اليسار، واليوم 100 أسفل اليمين
- ضع كل خلية في مكانها بالإحداثيات صراحةً. لليوم d (من 1 إلى 100):
row = ((d - 1) // 10) + 1
column from the left = ((d - 1) % 10) + 1
- لا تعتمد على اتجاه CSS ولا على الترتيب التلقائي للشبكة في تحديد مواقع الخلايا. اتجاه النص يؤثر على النص داخل الخلايا فقط، وليس على مواقعها
قواعد التخطيط
- العنوان في المنتصف: "جدول تتبع العادات - 100 يوم" (بالإنجليزية: Habit Tracker - 100 Days)، وتحته عنوان فرعي فيه تاريخ البداية إلى تاريخ النهاية وأسماء عاداتي مفصولة بنقاط
- كل خلية: سطر علوي فيه رقم اليوم في جهة والتاريخ واسم اليوم في الجهة المقابلة، ثم خط رفيع، ثم سطر لكل عادة: مربع اختيار فارغ واسم العادة
- يجب ألا ينتقل اسم أي عادة إلى سطر ثانٍ وألا يخرج أبدًا من الخلية. إذا كان الاسم طويلًا، صغّر خط جميع العادات بالتساوي (بحد أدنى 5.5 نقطة). وإذا لم يتسع بعدها، اختصر الاسم وأخبرني
- جميع الخلايا متطابقة وبدون تظليل، بحدود رفيعة رمادية مخضرة فاتحة وزوايا مستديرة قليلًا
- تذييل في أسفل الصفحة (في المنتصف، حجم 7.5 نقطة، لون رمادي) بلغة المتتبع، كرابط قابل للضغط إلى https://bardeessmairat.com/habits/
بالعربية: لبناء عاداتك خطوة بخطوة bardeessmairat.com/habits
بالإنجليزية: Build your habits step by step bardeessmairat.com/habits
التواريخ
- احسب كل تاريخ واسم يوم برمجيًا، ولا تكتبها يدويًا
- تاريخ النهاية = تاريخ البداية + 99 يومًا
- أرقام غربية (1، 2، 3)
الخط وطريقة الإنشاء (مهم جدًا)
- الخط: Tajawal (عادي وعريض) لكل النصوص، العربية والإنجليزية
- حمّله من:
https://github.com/google/fonts/raw/main/ofl/tajawal/Tajawal-Regular.ttf
https://github.com/google/fonts/raw/main/ofl/tajawal/Tajawal-Bold.ttf
- أنشئ الصفحة بـ HTML/CSS (شبكة CSS مع grid-row و grid-column محددين لكل خلية، و@font-face تشير إلى ملفات Tajawal)، ثم حوّلها إلى PDF باستخدام WeasyPrint، فهي تشكّل الحروف العربية بشكل صحيح
- في المتتبع العربي، ضع dir="rtl" على عناصر النص فقط (العنوان ونص الخلايا والتذييل)، وليس على حاوية الشبكة
- لا تستخدم arabic_reshaper أو python-bidi أو reportlab أو fpdf أو matplotlib للنص العربي، لأنها تحوّل حروف Tajawal إلى مربعات
- إذا تعذّر استخدام Tajawal فعلًا، استخدم Noto Sans Arabic وأخبرني. لا تطلب مني أبدًا رفع خط
التصميم
- أخضر داكن (#3d5a50) للعنوان وأرقام الأيام وحدود المربعات، ونص رمادي داكن، وخلفية بيضاء
تحقق قبل التسليم
- حوّل الـ PDF إلى صورة وافحصه بنفسك
- صفحة واحدة، والأيام المئة كاملة
- المواقع: اليوم 1 أعلى اليسار، واليوم 10 أعلى اليمين، واليوم 11 في الصف الثاني على اليسار، واليوم 100 أسفل اليمين
- اليوم 100 يطابق تاريخ النهاية الصحيح
- كل سطر عادة داخل خليته بالكامل في جميع الخلايا المئة
- الحروف العربية متصلة وغير معكوسة وليست مربعات
- رابط التذييل ظاهر وقابل للضغط وفي نفس الصفحة
- أصلح أي خطأ قبل الإرسال. إذا لم تستطع إنشاء PDF صحيح، أعطني ملف HTML قابلًا للطباعة بالتصميم نفسه، وأخبرني أن أفتحه في المتصفح وأختار طباعة ← حفظ كـ PDF
Create a one-page printable PDF: a 100-day habit tracker.
✏️ FILL IN BEFORE SENDING
- Start date: [DD-MM-YYYY]
- My habits (1 to 4, one or two words each): [Habit 1], [Habit 2], [Habit 3], [Habit 4]
- Tracker language: [Arabic / English]
EXACT MEASUREMENTS (follow precisely)
- Page: A4 portrait (210 × 297 mm), margins 9 mm top/bottom, 8 mm left/right
- Header block: 16 mm tall
- Grid: 10 columns × 10 rows, gap 1.2 mm
- Each cell: 18.3 mm wide × 24.3 mm tall, FIXED, inner padding 1 mm
- Footer block: 6 mm tall
- Day number: 12 pt bold
- Date (D/M): 7 pt bold, weekday name under it: 5.5 pt
- Habit lines: 6.5 pt text, checkbox 2.6 × 2.6 mm, 1 mm space between lines
CELL ORDER (critical, same for both languages)
- Day 1 top left, Day 10 top right, Day 11 second row left, Day 100 bottom right
- Place every cell explicitly by coordinates. For day d (1 to 100):
row = ((d - 1) // 10) + 1
column from the left = ((d - 1) % 10) + 1
- Do NOT rely on text direction or automatic placement for cell order. Text direction affects text inside cells only, never cell positions
LAYOUT RULES
- Header (centered): title "Habit Tracker - 100 Days" (Arabic: جدول تتبع العادات - 100 يوم), subtitle with start date to end date and my habits separated by dots
- Each cell: top row with the day number on one side and the date + weekday on the other, a thin line under it, then one line per habit: empty square checkbox + habit name
- Habit names must NEVER wrap to a second line and NEVER go outside the cell. If a name is too long, shrink ALL habit labels equally (minimum 5.5 pt). If it still doesn't fit, shorten the name and tell me
- All cells identical, no shading, thin light grey-green borders, slightly rounded corners
- Footer (centered, 7.5 pt, grey), in the tracker language, as a clickable link to https://bardeessmairat.com/habits/
English: Build your habits step by step bardeessmairat.com/habits
Arabic: لبناء عاداتك خطوة بخطوة bardeessmairat.com/habits
DATES
- Calculate every date and weekday in code, never type them manually
- End date = start date + 99 days
- Western digits (1, 2, 3)
FONTS AND METHOD (work fast, do not get stuck)
- Do NOT search for, check or install fonts or libraries. Use what is already available and start building right away
- Arabic text: Noto Sans Arabic if installed, otherwise Arial
- Latin text and numbers: Noto Sans if installed, otherwise Arial
- Never ask me to install or upload a font
- Use any method available to you that shapes Arabic correctly (connected letters, right to left, no boxes)
- For an Arabic tracker, text direction applies to text only, never to cell positions
STYLE
- Dark green (#3d5a50) for title, day numbers and checkbox borders; dark grey text; white background
CHECK BEFORE DELIVERING
- Render the PDF as an image and inspect it yourself
- Exactly 1 page, all 100 days
- Positions: Day 1 top left, Day 10 top right, Day 11 second row left, Day 100 bottom right
- Day 100 = correct end date
- Every habit line sits fully INSIDE its cell in all 100 cells
- Arabic letters connected, not reversed, not boxes
- Footer link is visible, clickable, and on the same page
- Fix anything wrong before sending. If you cannot make a correct PDF, give me a printable HTML file with the same design and tell me to open it in a browser and choose Print → Save as PDF