رابط خط فرمان Obsidian (CLI) یک رابط خط فرمان است که به شما امکان می‌دهد Obsidian را از ترمینال خود برای اسکریپت‌نویسی، اتوماسیون و یکپارچه‌سازی با ابزارهای خارجی کنترل کنید. هر کاری که در Obsidian انجام می‌دهید، از خط فرمان نیز قابل انجام است. رابط خط فرمان Obsidian حتی شامل [[#دستورات توسعه‌دهنده|دستورات توسعه‌دهنده]] برای دسترسی به ابزارهای توسعه‌دهنده، بازرسی عناصر، گرفتن اسکرین‌شات، بارگذاری مجدد افزونه‌ها و موارد بیشتر است. ![[obsidian-cli.mp4#interface]] > [!warning] نیاز به نصب‌کننده Obsidian نسخه 1.12 > استفاده از CLI نیاز به نصب‌کننده Obsidian نسخه 1.12 دارد. [[به‌روزرساندن Obsidian#به‌روزرسانی نصب‌کننده|راهنمای به‌روزرسانی نسخه نصب‌کننده]] را ببینید. ## نصب رابط خط فرمان Obsidian به آخرین [[به‌روزرساندن Obsidian|نسخه نصب‌کننده Obsidian]] (+1.12.7) ارتقا دهید. رابط خط فرمان Obsidian را در Obsidian فعال کنید: 1. به **تنظیمات** ← **عمومی** بروید. 2. **رابط خط فرمان** را فعال کنید. 3. دستورالعمل ثبت رابط خط فرمان Obsidian را دنبال کنید. اگر در نصب رابط خط فرمان Obsidian با مشکل مواجه شدید، [[#عیب‌یابی]] را ببینید. ## شروع کار رابط خط فرمان Obsidian هم از دستورات تکی و هم از رابط کاربری ترمینال (TUI) با راهنمای تعاملی و تکمیل خودکار پشتیبانی می‌کند. > [!info] اپلیکیشن Obsidian باید در حال اجرا باشد > رابط خط فرمان Obsidian نیاز دارد که اپلیکیشن Obsidian در حال اجرا باشد. اگر Obsidian در حال اجرا نیست، اولین دستوری که اجرا می‌کنید Obsidian را راه‌اندازی می‌کند. > > به دنبال همگام‌سازی بدون اپلیکیشن دسکتاپ هستید؟ [[همگام‌سازی بدون رابط کاربری|Obsidian بدون رابط کاربری]] را ببینید. ### اجرای یک دستور یک دستور تکی را بدون باز کردن TUI اجرا کنید: ```shell # اجرای دستور راهنما obsidian help ``` ### استفاده از رابط ترمینال با وارد کردن `obsidian` از TUI استفاده کنید. دستورات بعدی بدون `obsidian` قابل وارد کردن هستند. ```shell # باز کردن TUI، سپس اجرای راهنما obsidian help ``` TUI از تکمیل خودکار، تاریخچه دستورات و جستجوی معکوس پشتیبانی می‌کند. از `Ctrl+R` برای جستجو در تاریخچه دستورات استفاده کنید. تمام میانبرهای موجود را در [[#میانبرهای صفحه‌کلید]] ببینید. ## نمونه‌ها در اینجا چند نمونه از کارهایی که رابط خط فرمان Obsidian می‌تواند انجام دهد آمده است. ### استفاده روزمره ```shell # گشودن یادداشت روزانه امروز obsidian daily # افزودن یک وظیفه به یادداشت روزانه obsidian daily:append content="- [ ] خرید مواد غذایی" # جستجو در گاوصندوق obsidian search query="یادداشت‌های جلسه" # خواندن فایل فعال obsidian read # فهرست تمام وظایف از یادداشت روزانه obsidian tasks daily # ساختن یک یادداشت جدید از قالب obsidian create name="سفر به پاریس" template=Travel # فهرست تمام برچسب‌ها در گاوصندوق با تعداد obsidian tags counts # مقایسه دو نسخه از یک فایل obsidian diff file=README from=1 to=3 ``` ### برای توسعه‌دهندگان بسیاری از [[#دستورات توسعه‌دهنده]] برای توسعه افزونه و پوسته در دسترس هستند. این دستورات به ابزارهای کدنویسی عاملی اجازه می‌دهند به طور خودکار آزمایش و اشکال‌زدایی کنند. ```shell # باز کردن ابزارهای توسعه‌دهنده obsidian devtools # بارگذاری مجدد یک افزونه انجمن که در حال توسعه آن هستید obsidian plugin:reload id=my-plugin # گرفتن اسکرین‌شات از اپلیکیشن obsidian dev:screenshot path=screenshot.png # اجرای جاوااسکریپت در کنسول اپلیکیشن obsidian eval code="app.vault.getFiles().length" ``` ## چگونه ### استفاده از پارامترها و فلگ‌ها دستورات می‌توانند از **پارامترها** و **فلگ‌ها** استفاده کنند. بیشتر دستورات نیازی به پارامتر یا فلگ ندارند. پارامترهای الزامی با `required` مشخص شده‌اند. برای مثال: ```shell # ساختن یک یادداشت جدید با نام پیش‌فرض «بدون عنوان» obsidian create ``` یک **پارامتر** مقدار می‌گیرد، به صورت `parameter=value` نوشته می‌شود. اگر مقدار دارای فاصله باشد، آن را در گیومه قرار دهید: ```shell # ساختن یک یادداشت جدید با نام "Note" و محتوای "Hello world" obsidian create name=Note content="Hello world" ``` یک **فلگ** یک سوئیچ بولی بدون مقدار است. آن را برای فعال کردن اضافه کنید، به عنوان مثال `open` و `overwrite` فلگ هستند: ```shell # ساختن یادداشت و گشودن آن obsidian create name=Note content="Hello" open overwrite ``` برای محتوای چندخطی از `\n` برای خط جدید استفاده کنید. از `\t` برای تب استفاده کنید. ```bash obsidian create name=Note content="# Title\n\nBody text" ``` ### هدف‌گیری یک گاوصندوق اگر پوشه کاری فعلی ترمینال شما یک پوشه گاوصندوق باشد، آن گاوصندوق به طور پیش‌فرض استفاده می‌شود. در غیر این صورت، گاوصندوق فعال فعلی استفاده می‌شود. از `vault=<name>` یا `vault=<id>` برای هدف‌گیری یک گاوصندوق خاص استفاده کنید. این باید اولین پارامتر قبل از دستور شما باشد: ```shell obsidian vault=Notes daily obsidian vault="My Vault" search query="test" ``` در TUI، از `vault:open <name>` یا `<id>` برای تغییر به گاوصندوق دیگر استفاده کنید. ### هدف‌گیری یک فایل بسیاری از دستورات پارامترهای `file` و `path` را برای هدف‌گیری یک فایل خاص می‌پذیرند. اگر هیچ‌کدام ارائه نشود، دستور به طور پیش‌فرض روی فایل فعال اعمال می‌شود. - `file=<name>` فایل را با استفاده از همان حل پیوند مانند [[پیوندهای داخلی|پیوندهای ویکی]] حل می‌کند، بر اساس نام فایل بدون نیاز به مسیر کامل یا پسوند مطابقت می‌دهد. - `path=<path>` نیاز به مسیر دقیق از ریشه گاوصندوق دارد، مثلاً `folder/note.md`. ```shell # اگر "Recipe.md" تنها فایل با آن نام باشد، این‌ها معادل هستند obsidian read file=Recipe obsidian read path="Templates/Recipe.md" ``` ### کپی خروجی `--copy` را به هر دستوری اضافه کنید تا خروجی به کلیپ‌بورد کپی شود: ```shell read --copy search query="TODO" --copy ``` ## دستورات عمومی ### `help` نمایش فهرست تمام دستورات موجود. | پارامتر | توضیحات | | ----------- | --------------------------------- | | `<command>` | نمایش راهنما برای یک دستور خاص. | ### `version` نمایش نسخه Obsidian. ### `reload` بارگذاری مجدد پنجره اپلیکیشن. ### `restart` راه‌اندازی مجدد اپلیکیشن. ## پایگاه‌ها دستورات مربوط به [[معرفی پایگاه‌ها|پایگاه‌ها]]. ### `bases` فهرست تمام فایل‌های `.base` در گاوصندوق. ### `base:views` فهرست نماها در فایل پایگاه فعلی. ### `base:create` ساختن یک آیتم جدید در پایگاه. اگر فایلی مشخص نشده باشد، به طور پیش‌فرض روی نمای پایگاه فعال اعمال می‌شود. ```bash file=<name> # نام فایل پایگاه path=<path> # مسیر فایل پایگاه view=<name> # نام نما name=<name> # نام فایل جدید content=<text> # محتوای اولیه open # گشودن فایل پس از ساختن newtab # گشودن در زبانه جدید ``` ### `base:query` پرس‌وجو از یک پایگاه و بازگرداندن نتایج. ```bash file=<name> # نام فایل پایگاه path=<path> # مسیر فایل پایگاه view=<name> # نام نمای مورد پرس‌وجو format=json|csv|tsv|md|paths # قالب خروجی (پیش‌فرض: json) ``` ## نشانک‌ها دستورات مربوط به [[نشانک‌ها]]. ### `bookmarks` فهرست نشانک‌ها. ```bash total # بازگرداندن تعداد نشانک‌ها verbose # شامل انواع نشانک‌ها format=json|tsv|csv # قالب خروجی (پیش‌فرض: tsv) ``` ### `bookmark` افزودن نشانک. ```bash file=<path> # فایل برای نشانک‌گذاری subpath=<subpath> # زیرمسیر (سرفصل یا بلوک) در فایل folder=<path> # پوشه برای نشانک‌گذاری search=<query> # عبارت جستجو برای نشانک‌گذاری url=<url> # نشانی اینترنتی برای نشانک‌گذاری title=<title> # عنوان نشانک ``` ## پالت فرمان‌ها دستورات مربوط به [[فرمان‌دان]] و [[میانبرها]]. شامل تمام دستورات ثبت‌شده توسط افزونه‌ها. ### `commands` فهرست شناسه‌های دستورات موجود. ```bash filter=<prefix> # فیلتر بر اساس پیشوند شناسه ``` ### `command` اجرای یک دستور Obsidian. ```bash id=<command-id> # (الزامی) شناسه دستور برای اجرا ``` ### `hotkeys` فهرست میانبرهای صفحه‌کلید برای تمام دستورات. ```bash total # بازگرداندن تعداد میانبرها verbose # نمایش سفارشی بودن میانبر format=json|tsv|csv # قالب خروجی (پیش‌فرض: tsv) ``` ### `hotkey` دریافت میانبر صفحه‌کلید برای یک دستور. ```bash id=<command-id> # (الزامی) شناسه دستور verbose # نمایش سفارشی یا پیش‌فرض بودن ``` ## روزنوشت‌ها دستورات مربوط به [[روزنوشت‌ها]]. ### `daily` گشودن یادداشت روزانه. ```bash paneType=tab|split|window # نوع پنجره برای گشودن ``` ### `daily:path` دریافت مسیر یادداشت روزانه. مسیر مورد انتظار را حتی اگر فایل هنوز ساخته نشده باشد برمی‌گرداند. ### `daily:read` خواندن محتوای یادداشت روزانه. ### `daily:append` افزودن محتوا به انتهای یادداشت روزانه. ```bash content=<text> # (الزامی) محتوا برای افزودن paneType=tab|split|window # نوع پنجره برای گشودن inline # افزودن بدون خط جدید open # گشودن فایل پس از افزودن ``` ### `daily:prepend` افزودن محتوا به ابتدای یادداشت روزانه. ```bash content=<text> # (الزامی) محتوا برای افزودن به ابتدا paneType=tab|split|window # نوع پنجره برای گشودن inline # افزودن بدون خط جدید open # گشودن فایل پس از افزودن ``` ## تاریخچه فایل ### `diff` فهرست یا مقایسه نسخه‌ها از [[بازیابی پرونده]] محلی و [[معرفی Obsidian Sync|Sync]]. نسخه‌ها از جدیدترین به قدیمی‌ترین شماره‌گذاری می‌شوند. ```bash file=<name> # نام فایل path=<path> # مسیر فایل from=<n> # شماره نسخه مبدأ to=<n> # شماره نسخه مقصد filter=local|sync # فیلتر بر اساس منبع نسخه ``` **نمونه‌ها:** ```shell # فهرست تمام نسخه‌های فایل فعال diff # فهرست تمام نسخه‌های یک فایل خاص diff file=Recipe # مقایسه آخرین نسخه با فایل فعلی diff file=Recipe from=1 # مقایسه دو نسخه diff file=Recipe from=2 to=1 # نمایش فقط نسخه‌های Sync diff filter=sync ``` ### `history` فهرست نسخه‌ها فقط از [[بازیابی پرونده]]. برای دستور معادل Sync، [[#Sync|sync:history]] را ببینید. ```bash file=<name> # نام فایل path=<path> # مسیر فایل ``` ### `history:list` فهرست تمام فایل‌هایی که تاریخچه محلی دارند. ### `history:read` خواندن یک نسخه از تاریخچه محلی. ```bash file=<name> # نام فایل path=<path> # مسیر فایل version=<n> # شماره نسخه (پیش‌فرض: 1) ``` ### `history:restore` بازیابی یک نسخه از تاریخچه محلی. ```bash file=<name> # نام فایل path=<path> # مسیر فایل version=<n> # (الزامی) شماره نسخه ``` ### `history:open` گشودن بازیابی پرونده. ```bash file=<name> # نام فایل path=<path> # مسیر فایل ``` ## فایل‌ها و پوشه‌ها ### `file` نمایش اطلاعات فایل (پیش‌فرض: فایل فعال). ```bash file=<name> # نام فایل path=<path> # مسیر فایل ``` نمونه: ``` path Notes/Recipe.md name Recipe extension md size 1024 created 1700000000000 modified 1700001000000 ``` ### `files` فهرست فایل‌ها در گاوصندوق. ```bash folder=<path> # فیلتر بر اساس پوشه ext=<extension> # فیلتر بر اساس پسوند total # بازگرداندن تعداد فایل‌ها ``` ### `folder` نمایش اطلاعات پوشه. ```bash path=<path> # (الزامی) مسیر پوشه info=files|folders|size # بازگرداندن فقط اطلاعات خاص ``` ### `folders` فهرست پوشه‌ها در گاوصندوق. ```bash folder=<path> # فیلتر بر اساس پوشه والد total # بازگرداندن تعداد پوشه‌ها ``` ### `open` گشودن یک فایل. ```bash file=<name> # نام فایل path=<path> # مسیر فایل newtab # گشودن در زبانه جدید ``` ### `create` ساختن یا بازنویسی یک فایل. ```bash name=<name> # نام فایل path=<path> # مسیر فایل content=<text> # محتوای اولیه template=<name> # قالب مورد استفاده overwrite # بازنویسی اگر فایل موجود باشد open # گشودن فایل پس از ساختن newtab # گشودن در زبانه جدید ``` ### `read` خواندن محتوای فایل (پیش‌فرض: فایل فعال). ```bash file=<name> # نام فایل path=<path> # مسیر فایل ``` ### `append` افزودن محتوا به انتهای فایل (پیش‌فرض: فایل فعال). ```bash file=<name> # نام فایل path=<path> # مسیر فایل content=<text> # (الزامی) محتوا برای افزودن inline # افزودن بدون خط جدید ``` ### `prepend` افزودن محتوا پس از فرادادهٔ ابتدای فایل (پیش‌فرض: فایل فعال). ```bash file=<name> # نام فایل path=<path> # مسیر فایل content=<text> # (الزامی) محتوا برای افزودن به ابتدا inline # افزودن بدون خط جدید ``` ### `move` جابجایی یا تغییر نام فایل (پیش‌فرض: فایل فعال). اگر در [[تنظیمات#همیشه پیوندهای درونی به‌روز شوند|تنظیمات گاوصندوق]] فعال باشد، [[پیوندهای داخلی]] به طور خودکار به‌روزرسانی خواهند شد. ```bash file=<name> # نام فایل path=<path> # مسیر فایل to=<path> # (الزامی) پوشه یا مسیر مقصد ``` ### `rename` تغییر نام فایل (پیش‌فرض: فایل فعال). پسوند فایل در صورت حذف از نام جدید به طور خودکار حفظ می‌شود. از [[#`move`|move]] برای تغییر نام و جابجایی همزمان فایل استفاده کنید. اگر در [[تنظیمات#همیشه پیوندهای درونی به‌روز شوند|تنظیمات گاوصندوق]] فعال باشد، [[پیوندهای داخلی]] به طور خودکار به‌روزرسانی خواهند شد. ```bash file=<name> # نام فایل path=<path> # مسیر فایل name=<name> # (الزامی) نام جدید فایل ``` ### `delete` حذف فایل (پیش‌فرض: فایل فعال، به طور پیش‌فرض به زباله‌دان). ```bash file=<name> # نام فایل path=<path> # مسیر فایل permanent # بدون زباله‌دان، حذف دائمی ``` ## پیوندها دستورات مربوط به [[پشت‌وندها]] و [[پیوندهای برون‌رو]]. ### `backlinks` فهرست بک‌لینک‌ها به یک فایل (پیش‌فرض: فایل فعال). ```bash file=<name> # نام فایل هدف path=<path> # مسیر فایل هدف counts # شامل تعداد پیوندها total # بازگرداندن تعداد بک‌لینک‌ها format=json|tsv|csv # قالب خروجی (پیش‌فرض: tsv) ``` ### `links` فهرست پیوندهای برون‌رو از یک فایل (پیش‌فرض: فایل فعال). ```bash file=<name> # نام فایل path=<path> # مسیر فایل total # بازگرداندن تعداد پیوندها ``` ### `unresolved` فهرست پیوندهای حل‌نشده در گاوصندوق. ```bash total # بازگرداندن تعداد پیوندهای حل‌نشده counts # شامل تعداد پیوندها verbose # شامل فایل‌های منبع format=json|tsv|csv # قالب خروجی (پیش‌فرض: tsv) ``` ### `orphans` فهرست فایل‌هایی بدون پیوند ورودی. ```bash total # بازگرداندن تعداد یتیمان ``` ### `deadends` فهرست فایل‌هایی بدون پیوند خروجی. ```bash total # بازگرداندن تعداد بن‌بست‌ها ``` ## طرح کلی دستورات مربوط به [[نمای کلی]]. ### `outline` نمایش سرفصل‌ها برای فایل فعلی. ```bash file=<name> # نام فایل path=<path> # مسیر فایل format=tree|md|json # قالب خروجی (پیش‌فرض: tree) total # بازگرداندن تعداد سرفصل‌ها ``` ## افزونه‌ها دستورات مربوط به [[افزونه‌های اصلی]] و [[افزونه‌های انجمن]]. ### `plugins` فهرست افزونه‌های نصب‌شده. ```bash filter=core|community # فیلتر بر اساس نوع افزونه versions # شامل شماره نسخه‌ها format=json|tsv|csv # قالب خروجی (پیش‌فرض: tsv) ``` ### `plugins:enabled` فهرست افزونه‌های فعال. ```bash filter=core|community # فیلتر بر اساس نوع افزونه versions # شامل شماره نسخه‌ها format=json|tsv|csv # قالب خروجی (پیش‌فرض: tsv) ``` ### `plugins:restrict` تغییر وضعیت یا بررسی حالت محدود. ```bash on # فعال کردن حالت محدود off # غیرفعال کردن حالت محدود ``` ### `plugin` دریافت اطلاعات افزونه. ```bash id=<plugin-id> # (الزامی) شناسه افزونه ``` ### `plugin:enable` فعال کردن یک افزونه. ```bash id=<id> # (الزامی) شناسه افزونه filter=core|community # نوع افزونه ``` ### `plugin:disable` غیرفعال کردن یک افزونه. ```bash id=<id> # (الزامی) شناسه افزونه filter=core|community # نوع افزونه ``` ### `plugin:install` نصب یک افزونه انجمن. ```bash id=<id> # (الزامی) شناسه افزونه enable # فعال کردن پس از نصب ``` ### `plugin:uninstall` حذف یک افزونه انجمن. ```bash id=<id> # (الزامی) شناسه افزونه ``` ### `plugin:reload` بارگذاری مجدد یک افزونه (برای توسعه‌دهندگان). ```bash id=<id> # (الزامی) شناسه افزونه ``` ## ویژگی‌ها دستورات مرتبط با [[ویژگی‌ها]]. ### `aliases` فهرست نام‌های مستعار در گاوصندوق. از `active` یا `file`/`path` برای نمایش نام‌های مستعار یک فایل خاص استفاده کنید. ```bash file=<name> # نام فایل path=<path> # مسیر فایل total # بازگرداندن تعداد نام‌های مستعار verbose # شامل مسیرهای فایل active # نمایش نام‌های مستعار فایل فعال ``` ### `properties` فهرست ویژگی‌ها در گاوصندوق. از `active` یا `file`/`path` برای نمایش ویژگی‌های یک فایل خاص استفاده کنید. ```bash file=<name> # نمایش ویژگی‌ها برای فایل path=<path> # نمایش ویژگی‌ها برای مسیر name=<name> # دریافت تعداد ویژگی خاص sort=count # مرتب‌سازی بر اساس تعداد (پیش‌فرض: نام) format=yaml|json|tsv # قالب خروجی (پیش‌فرض: yaml) total # بازگرداندن تعداد ویژگی‌ها counts # شامل تعداد تکرار active # نمایش ویژگی‌ها برای فایل فعال ``` ### `property:set` تنظیم یک ویژگی روی یک فایل (پیش‌فرض: فایل فعال). ```bash name=<name> # (الزامی) نام ویژگی value=<value> # (الزامی) مقدار ویژگی type=text|list|number|checkbox|date|datetime # نوع ویژگی file=<name> # نام فایل path=<path> # مسیر فایل ``` ### `property:remove` حذف یک ویژگی از یک فایل (پیش‌فرض: فایل فعال). ```bash name=<name> # (الزامی) نام ویژگی file=<name> # نام فایل path=<path> # مسیر فایل ``` ### `property:read` خواندن مقدار یک ویژگی از یک فایل (پیش‌فرض: فایل فعال). ```bash name=<name> # (الزامی) نام ویژگی file=<name> # نام فایل path=<path> # مسیر فایل ``` ## Publish دستورات مربوط به [[مقدمه‌ای بر Obsidian Publish|Obsidian Publish]]. ### `publish:site` نمایش اطلاعات وبگاه انتشار (slug، نشانی اینترنتی). ### `publish:list` فهرست فایل‌های منتشرشده. ```bash total # بازگرداندن تعداد فایل‌های منتشرشده ``` ### `publish:status` فهرست تغییرات انتشار. ```bash total # بازگرداندن تعداد تغییرات new # نمایش فقط فایل‌های جدید changed # نمایش فقط فایل‌های تغییریافته deleted # نمایش فقط فایل‌های حذف‌شده ``` ### `publish:add` انتشار یک فایل یا تمام فایل‌های تغییریافته (پیش‌فرض: فایل فعال). ```bash file=<name> # نام فایل path=<path> # مسیر فایل changed # انتشار تمام فایل‌های تغییریافته ``` ### `publish:remove` لغو انتشار یک فایل (پیش‌فرض: فایل فعال). ```bash file=<name> # نام فایل path=<path> # مسیر فایل ``` ### `publish:open` گشودن فایل در وبگاه منتشرشده (پیش‌فرض: فایل فعال). ```bash file=<name> # نام فایل path=<path> # مسیر فایل ``` ## یادداشت‌های تصادفی دستورات مربوط به [[یادداشت تصادفی]]. ### `random` گشودن یک یادداشت تصادفی. ```bash folder=<path> # محدود به پوشه newtab # گشودن در زبانه جدید ``` ### `random:read` خواندن یک یادداشت تصادفی (شامل مسیر). ```bash folder=<path> # محدود به پوشه ``` ## جستجو دستورات مربوط به [[جستجو]]. ### `search` جستجوی متن در گاوصندوق. مسیرهای فایل مطابق را برمی‌گرداند. ```bash query=<text> # (الزامی) عبارت جستجو path=<folder> # محدود به پوشه limit=<n> # حداکثر فایل‌ها format=text|json # قالب خروجی (پیش‌فرض: text) total # بازگرداندن تعداد مطابقت‌ها case # حساس به بزرگ‌و‌کوچکی حرف ``` ### `search:context` جستجو با زمینه خط مطابق. خروجی به سبک grep با فرمت `path:line: text` برمی‌گرداند. ```bash query=<text> # (الزامی) عبارت جستجو path=<folder> # محدود به پوشه limit=<n> # حداکثر فایل‌ها format=text|json # قالب خروجی (پیش‌فرض: text) case # حساس به بزرگ‌و‌کوچکی حرف ``` ### `search:open` گشودن نمای جستجو. ```bash query=<text> # عبارت جستجوی اولیه ``` ## Sync دستورات مربوط به [[معرفی Obsidian Sync|Obsidian Sync]]. > [!tip] همگام‌سازی بدون اپلیکیشن دسکتاپ > این دستورات Sync را درون اپلیکیشن Obsidian در حال اجرا کنترل می‌کنند. برای همگام‌سازی گاوصندوق‌ها از خط فرمان بدون اپلیکیشن دسکتاپ، [[همگام‌سازی بدون رابط کاربری]] را ببینید. ### `sync` توقف موقت یا ادامه همگام‌سازی. ```bash on # ادامه همگام‌سازی off # توقف موقت همگام‌سازی ``` ### `sync:status` نمایش وضعیت و میزان استفاده همگام‌سازی. ### `sync:history` فهرست تاریخچه نسخه‌های همگام‌سازی برای یک فایل (پیش‌فرض: فایل فعال). ```bash file=<name> # نام فایل path=<path> # مسیر فایل total # بازگرداندن تعداد نسخه‌ها ``` ### `sync:read` خواندن یک نسخه همگام‌سازی (پیش‌فرض: فایل فعال). ```bash file=<name> # نام فایل path=<path> # مسیر فایل version=<n> # (الزامی) شماره نسخه ``` ### `sync:restore` بازیابی یک نسخه همگام‌سازی (پیش‌فرض: فایل فعال). ```bash file=<name> # نام فایل path=<path> # مسیر فایل version=<n> # (الزامی) شماره نسخه ``` ### `sync:open` گشودن تاریخچه همگام‌سازی (پیش‌فرض: فایل فعال). ```bash file=<name> # نام فایل path=<path> # مسیر فایل ``` ### `sync:deleted` فهرست فایل‌های حذف‌شده در همگام‌سازی. ```bash total # بازگرداندن تعداد فایل‌های حذف‌شده ``` ## برچسب‌ها دستورات مربوط به [[برچسب‌ها]]. ### `tags` فهرست برچسب‌ها در گاوصندوق. از `active` یا `file`/`path` برای نمایش برچسب‌های یک فایل خاص استفاده کنید. ```bash file=<name> # نام فایل path=<path> # مسیر فایل sort=count # مرتب‌سازی بر اساس تعداد (پیش‌فرض: نام) total # بازگرداندن تعداد برچسب‌ها counts # شامل تعداد برچسب‌ها format=json|tsv|csv # قالب خروجی (پیش‌فرض: tsv) active # نمایش برچسب‌های فایل فعال ``` ### `tag` دریافت اطلاعات برچسب. ```bash name=<tag> # (الزامی) نام برچسب total # بازگرداندن تعداد تکرار verbose # شامل فهرست فایل‌ها و تعداد ``` ## وظایف دستورات مدیریت وظایف. ### `tasks` فهرست وظایف در گاوصندوق. از `active` یا `file`/`path` برای نمایش وظایف یک فایل خاص استفاده کنید. ```bash file=<name> # فیلتر بر اساس نام فایل path=<path> # فیلتر بر اساس مسیر فایل status="<char>" # فیلتر بر اساس کاراکتر وضعیت total # بازگرداندن تعداد وظایف done # نمایش وظایف تکمیل‌شده todo # نمایش وظایف ناتمام verbose # گروه‌بندی بر اساس فایل با شماره خط format=json|tsv|csv # قالب خروجی (پیش‌فرض: text) active # نمایش وظایف فایل فعال daily # نمایش وظایف از یادداشت روزانه ``` **نمونه‌ها:** ```bash # فهرست تمام وظایف در گاوصندوق tasks # فهرست وظایف ناتمام در گاوصندوق tasks todo # فهرست وظایف تکمیل‌شده از یک فایل خاص tasks file=Recipe done # فهرست وظایف از یادداشت روزانه امروز tasks daily # شمارش وظایف در یادداشت روزانه tasks daily total # فهرست وظایف با مسیر فایل و شماره خط tasks verbose # فیلتر بر اساس وضعیت سفارشی (کاراکترهای خاص را در گیومه قرار دهید) tasks 'status=?' ``` ### `task` نمایش یا به‌روزرسانی یک وظیفه. ```bash ref=<path:line> # مرجع وظیفه (path:line) file=<name> # نام فایل path=<path> # مسیر فایل line=<n> # شماره خط status="<char>" # تنظیم کاراکتر وضعیت toggle # تغییر وضعیت وظیفه daily # یادداشت روزانه done # علامت‌گذاری به عنوان انجام‌شده todo # علامت‌گذاری به عنوان انجام‌نشده ``` **نمونه‌ها:** ```bash # نمایش اطلاعات وظیفه task file=Recipe line=8 task ref="Recipe.md:8" # تغییر وضعیت تکمیل وظیفه task ref="Recipe.md:8" toggle # تغییر وضعیت وظیفه در یادداشت روزانه task daily line=3 toggle # تنظیم وضعیت وظیفه task file=Recipe line=8 done # → [x] task file=Recipe line=8 todo # → [ ] task file=Recipe line=8 status=- # → [-] task daily line=3 done # علامت‌گذاری وظیفه یادداشت روزانه به عنوان انجام‌شده ``` ## الگوها دستورات مربوط به [[الگوها]]. ### `templates` فهرست الگوها. ```bash total # بازگرداندن تعداد الگوها ``` ### `template:read` خواندن محتوای الگو. ```bash name=<template> # (الزامی) نام الگو title=<title> # عنوان برای حل متغیرها resolve # حل متغیرهای الگو ``` ### `template:insert` درج الگو در فایل فعال. ```bash name=<template> # (الزامی) نام الگو ``` **نکات:** - گزینه `resolve` متغیرهای `{{date}}`، `{{time}}`، `{{title}}` را پردازش می‌کند - از `create path=<path> template=<name>` برای ساختن فایل با الگو استفاده کنید ## پوسته‌ها و تکه‌کدها دستورات مربوط به [[پوسته‌ها]] و [[تکه‌کدهای CSS]]. ### `themes` فهرست پوسته‌های نصب‌شده. ```bash versions # شامل شماره نسخه‌ها ``` ### `theme` نمایش پوسته فعال یا دریافت اطلاعات. ```bash name=<name> # نام پوسته برای جزئیات ``` ### `theme:set` تنظیم پوسته فعال. ```bash name=<name> # (الزامی) نام پوسته (خالی برای پیش‌فرض) ``` ### `theme:install` نصب یک پوسته انجمن. ```bash name=<name> # (الزامی) نام پوسته enable # فعال کردن پس از نصب ``` ### `theme:uninstall` حذف یک پوسته. ```bash name=<name> # (الزامی) نام پوسته ``` ### `snippets` فهرست تکه‌کدهای CSS نصب‌شده. ### `snippets:enabled` فهرست تکه‌کدهای CSS فعال. ### `snippet:enable` فعال کردن یک تکه‌کد CSS. ```bash name=<name> # (الزامی) نام تکه‌کد ``` ### `snippet:disable` غیرفعال کردن یک تکه‌کد CSS. ```bash name=<name> # (الزامی) نام تکه‌کد ``` ## یادداشت‌های یکتا دستورات مربوط به [[یادداشت‌یکتاساز]]. ### `unique` ساختن یادداشت یکتا. ```bash name=<text> # نام یادداشت content=<text> # محتوای اولیه paneType=tab|split|window # نوع پنجره برای گشودن open # گشودن فایل پس از ساختن ``` ## گاوصندوق ### `vault` نمایش اطلاعات گاوصندوق. ```bash info=name|path|files|folders|size # بازگرداندن فقط اطلاعات خاص ``` ### `vaults` فهرست گاوصندوق‌های شناخته‌شده. ```bash total # بازگرداندن تعداد گاوصندوق‌ها verbose # شامل مسیرهای گاوصندوق ``` ### `vault:open` تغییر به گاوصندوق دیگر (فقط در TUI). ```bash name=<name> # (الزامی) نام گاوصندوق ``` ## نمایشگر وب دستورات مربوط به [[نمایش‌گر وب]]. ### `web` گشودن نشانی اینترنتی در نمایشگر وب. ```bash url=<url> # (الزامی) نشانی اینترنتی برای گشودن newtab # گشودن در زبانه جدید ``` ## واژه‌شمار دستورات مربوط به [[واژه‌شمار]]. ### `wordcount` شمارش واژه‌ها و کاراکترها (پیش‌فرض: فایل فعال). ```bash file=<name> # نام فایل path=<path> # مسیر فایل words # بازگرداندن فقط تعداد واژه‌ها characters # بازگرداندن فقط تعداد کاراکترها ``` ## فضای کاری دستورات مربوط به [[فضای کاری]] و افزونه [[فضاهای کاری]]. ### `workspace` نمایش درخت فضای کاری. ```bash ids # شامل شناسه‌های آیتم‌های فضای کاری ``` ### `workspaces` فهرست فضاهای کاری ذخیره‌شده. ```bash total # بازگرداندن تعداد فضاهای کاری ``` ### `workspace:save` ذخیره چیدمان فعلی به عنوان فضای کاری. ```bash name=<name> # نام فضای کاری ``` ### `workspace:load` بارگیری یک فضای کاری ذخیره‌شده. ```bash name=<name> # (الزامی) نام فضای کاری ``` ### `workspace:delete` حذف یک فضای کاری ذخیره‌شده. ```bash name=<name> # (الزامی) نام فضای کاری ``` ### `tabs` فهرست زبانه‌های باز. ```bash ids # شامل شناسه‌های زبانه ``` ### `tab:open` گشودن یک زبانه جدید. ```bash group=<id> # شناسه گروه زبانه file=<path> # فایل برای گشودن view=<type> # نوع نما برای گشودن ``` ### `recents` فهرست فایل‌های اخیراً گشوده‌شده. ```bash total # بازگرداندن تعداد فایل‌های اخیر ``` ## دستورات توسعه‌دهنده دستورات برای کمک به توسعه [[افزونه‌های انجمن]] و [[پوسته‌ها]]. برای اطلاعات بیشتر به [مستندات توسعه‌دهنده Obsidian](https://docs.obsidian.md) مراجعه کنید. ### `devtools` تغییر وضعیت ابزارهای توسعه Electron. ### `dev:debug` اتصال/قطع اشکال‌زدای Chrome DevTools Protocol. ```bash on # اتصال اشکال‌زدا off # قطع اشکال‌زدا ``` ### `dev:cdp` اجرای یک دستور Chrome DevTools Protocol. ```bash method=<CDP.method> # (الزامی) متد CDP برای فراخوانی params=<json> # پارامترهای متد به صورت JSON ``` ### `dev:errors` نمایش خطاهای جاوااسکریپت ثبت‌شده. ```bash clear # حذف بافر خطا ``` ### `dev:screenshot` گرفتن اسکرین‌شات (PNG با کدگذاری base64 برمی‌گرداند). ```bash path=<filename> # مسیر فایل خروجی ``` ### `dev:console` نمایش پیام‌های کنسول ثبت‌شده. ```bash limit=<n> # حداکثر پیام‌ها برای نمایش (پیش‌فرض 50) level=log|warn|error|info|debug # فیلتر بر اساس سطح لاگ clear # حذف بافر کنسول ``` ### `dev:css` بازرسی CSS با محل منبع. ```bash selector=<css> # (الزامی) انتخاب‌گر CSS prop=<name> # فیلتر بر اساس نام ویژگی ``` ### `dev:dom` پرس‌وجوی عناصر DOM. ```bash selector=<css> # (الزامی) انتخاب‌گر CSS attr=<name> # دریافت مقدار ویژگی css=<prop> # دریافت مقدار ویژگی CSS total # بازگرداندن تعداد عناصر text # بازگرداندن محتوای متنی inner # بازگرداندن innerHTML به جای outerHTML all # بازگرداندن تمام مطابقت‌ها به جای اولین ``` ### `dev:mobile` تغییر وضعیت شبیه‌سازی موبایل. ```bash on # فعال کردن شبیه‌سازی موبایل off # غیرفعال کردن شبیه‌سازی موبایل ``` ### `eval` اجرای جاوااسکریپت و بازگرداندن نتیجه. ```bash code=<javascript> # (الزامی) کد جاوااسکریپت برای اجرا ``` ## میانبرهای صفحه‌کلید این میانبرها در [[#استفاده از رابط ترمینال|TUI]] در دسترس هستند. ### ناوبری | عملکرد | میانبر | | ----------------------------------------------------- | -------------- | | جابجایی نشانگر به چپ | `←` / `Ctrl+B` | | جابجایی نشانگر به راست (پذیرش پیشنهاد در انتهای خط) | `→` / `Ctrl+F` | | پرش به ابتدای خط | `Ctrl+A` | | پرش به انتهای خط | `Ctrl+E` | | حرکت یک کلمه به عقب | `Alt+B` | | حرکت یک کلمه به جلو | `Alt+F` | ### ویرایش | عملکرد | میانبر | | ----------------------------- | -------------------------- | | حذف تا ابتدای خط | `Ctrl+U` | | حذف تا انتهای خط | `Ctrl+K` | | حذف کلمه قبلی | `Ctrl+W` / `Alt+Backspace` | ### تکمیل خودکار | عملکرد | میانبر | | ---------------------------------------------------- | ----------- | | ورود به حالت پیشنهاد / پذیرش پیشنهاد انتخاب‌شده | `Tab` | | خروج از حالت پیشنهاد | `Shift+Tab` | | ورود به حالت پیشنهاد (از ورودی تازه) | `↓` | | پذیرش اولین/انتخاب‌شده پیشنهاد (در انتهای خط) | `→` | ### تاریخچه | عملکرد | میانبر | | ---------------------------------------------------------------- | -------------- | | مدخل قبلی تاریخچه / حرکت پیشنهادات به بالا | `↑` / `Ctrl+P` | | مدخل بعدی تاریخچه / حرکت پیشنهادات به پایین | `↓` / `Ctrl+N` | | جستجوی معکوس تاریخچه (تایپ برای فیلتر، `Ctrl+R` برای چرخش) | `Ctrl+R` | ### سایر | عملکرد | میانبر | | ----------------------------------------------------------- | ------------------- | | اجرای دستور یا پذیرش پیشنهاد | `Enter` | | واگرد تکمیل خودکار / خروج از حالت پیشنهاد / پاک کردن ورودی | `Escape` | | پاک کردن صفحه | `Ctrl+L` | | خروج | `Ctrl+C` / `Ctrl+D` | ## عیب‌یابی اگر در اجرای رابط خط فرمان Obsidian مشکل دارید: - مطمئن شوید از آخرین [[به‌روزرساندن Obsidian|نسخه نصب‌کننده Obsidian]] (1.12.7 یا بالاتر) استفاده می‌کنید. - اگر Obsidian را از نسخه قدیمی‌تری به‌روزرسانی کرده‌اید، تنظیم CLI را خاموش و دوباره روشن کنید، سپس اجازه دهید Obsidian ثبت خودکار PATH را انجام دهد. - پس از ثبت CLI ترمینال خود را مجدداً راه‌اندازی کنید تا تغییرات PATH اعمال شوند. - Obsidian باید در حال اجرا باشد. CLI به نمونه Obsidian در حال اجرا متصل می‌شود. ### ویندوز رابط خط فرمان Obsidian در ویندوز نیاز به نصب‌کننده Obsidian نسخه +1.12.7 دارد. [[به‌روزرساندن Obsidian|به‌روزرسانی نسخه نصب