
تقویم Memento Mori هر هفته یه یادآوری کوچیک درباره مرگ و گذر زمان بهمون میده. این تقویم بهمون تلنگر میزنه که وقت مون محدوده و بهتره هر لحظه رو ارزشمندتر و هدفمندتر زندگی کنیم.
تقویم Memento Mori چیه؟
عبارت Memento Mori یعنی: «به یاد داشته باش که تو هم خواهی مرد».(+) این تقویم از خانه های مربعی کوچک تشکیل شده. هر مربع نماد یک هفته است. هر ردیف 52 تا مربع داره یعنی یکسال. 80 ردیف داره تا تقریبا کل عمر ما رو پوشش بده. با گذشت زمان هر هفته یک مربع سیاه میشه تا عمر ما رو در گذر زمان به تصویر بکشه.
توی فرهنگ ما حرف زدن از مرگ مرسوم نیست، اما واقعیتش اینه که مرگ آگاهی تاثیر زیادی توی بهبود عملکردمون داره. یکی از کارهایی که این تقویم میکنه یادآوری مرگه و بهمون هشدار میده اون قدرا هم که فکر میکنیم وقت نداریم. این باعث میشه برای زندگی بهتر انگیزه پیدا کنیم و از لحظات مون بهینه تر استفاده کنیم. این تقویم رو با روزشمار مرگ اشتباه نگیرید. قرار نیست چوب خط بذاریم تا ببینیم کی میمیریم. قراره تلنگر بخوریم تا روی اهداف مهم تمرکز کنیم و کار های بی اهمیت رو کنار بذاریم.
معمولا این تقویم رو چاپ میکنند و هر هفته مربع ها رو پر میکنند؛ اینطوری جذاب تر هم هست. من ترجیح دادم یه نسخه دیجیتال هم توی ابسیدین داشته باشم که خودش خودکار این کار رو انجام بده.
یک فایل آماده کردم که با جاوا اسکریپت نوشته شده و این تقویم رو توی ابسیدین نمایش میده.
✨ ویژگی ها
- هماهنگی با تم روشن و تیره
- نمایش مشخصات هر مربع با هاور کردن
- نمایش افقی یا عمودی تقویم
- امکان شخصی سازی استایل
🛠️ استفاده
- فایل Memento-Mori-Calendar.md رو دانلود کرده و به والت خودتون اضافه کنید.
- پلاگین dataview رو نصب کنید.
- از تنظیمات پلاگین JavaScript queries رو فعال کنید.

تمام! حالا میتونید در پراپرتی birthdate تاریخ تولد خودتون رو وارد کنید.
⚙️ شخصیسازی
از طریق پراپرتیها میتونید تنظیمات و ظاهر تقویم رو شخصی سازی کنید:
-
رنگ مربعها (pastColor و futureColor)
-
طول عمر (years)
-
اندازه مربعها (squareSize)
-
نمایش یا عدم نمایش آمار (showStats)
-
نمایش عمودی یا افقی (horizontal)
Yellow0
⚠ برای اینکه در حالت افقی تقویم کامل نمایش داده بشه و نیاز به اسکرول نداشته باشه، باید عرض صفحه ابسدین رو افزایش بدید. ساده ترین راه اینه که تم minimal رو نصب کنید و از کلاس max توی پراپرتی cssclasses استفاده کنید. یا اینکه این فایل رو دانلود کنید. تنظیمات ابسیدین رو باز کنید. تب Appearance بخش css snippets، روی آیکون فولدر کلیک کنید. فایلی که دانلود کردید رو به این مسیر اضافه کنید. برگردید به ابسیدین روی آیکون رفرش کلیک کنید. حالا فایلی که اضافه کردید به لیست اضافه میشه. تیکش رو بزنید که فعال بشه. حالا برگردید به فایل تقویم و توی پراپرتی cssclasses از کلاس max استفاده کنید.
📋 یک مشکل رایج در محاسبه هفته ها
وقتی نزدیک سال تولدم شدم متوجه شدم که تقویم درست کار نمیکنه. تقریبا دو ماه تا تولدم مونده بود اما تقویم فقط چهارتا مربع خالی داشت که یعنی یک ماه مونده. گفتم شاید مشکل از اسکریپت منه. سایت های دیگه مثل این و این هم تست کردم دیدم اونا هم همین مشکل رو دارند.
کد رو بررسی کردم متوجه شدم ایراد کار کجاست. این تقویم محاسبه رو بر اساس روز های واقعی انجام میده یعنی 365 روز در سال.
اما وقتی میخواد این محاسبه رو توی تقویم نمایش بده به مشکل میخوره. چون تقویم 52 هفته داره که میشه 364 روز.
یعنی هر سال 1 روز اضافی رو محاسبه میکنه. تازه اگر سال های کبیسه رو هم در نظر بگیریم هر چهار سال 1 روز اضافه میشه.
این روزهای اضافی در طول سال ها جمع میشه و یک هفته کامل رو ایجاد میکنه و یک مربع رو اشغال میکنه. در نتیجه هرچی از تاریخ تولد فاصله میگیریم مربع های بیشتری پر میشه.
کد رو اصلاح کردم تا به جای استفاده از تفاوت زمانی دقیق از سن تقریبی(سال های زندگی شده) استفاده کنه تا توی تقویم درست نمایش داده بشه. البته بخش status که انتهای تقویم قرار گرفته محاسبه رو واقعی انجام میده. چون دیگه اونجا مشکل نمایش توی تقویم مطرح نیست.