Obsidian CLI হলো একটি কমান্ড লাইন ইন্টারফেস যা আপনাকে স্ক্রিপ্টিং, অটোমেশন এবং বাহ্যিক টুলের সাথে একত্রীকরণের জন্য আপনার টার্মিনাল থেকে Obsidian নিয়ন্ত্রণ করতে দেয়। Obsidian-এ আপনি যা কিছু করতে পারেন তা কমান্ড লাইন থেকেও করতে পারেন। Obsidian CLI-তে ডেভেলপার টুল অ্যাক্সেস করা, এলিমেন্ট পরিদর্শন করা, স্ক্রিনশট নেওয়া, প্লাগইন রিলোড করা, এবং আরও অনেক কিছুর জন্য [[#Developer commands|ডেভেলপার কমান্ড]] পর্যন্ত অন্তর্ভুক্ত রয়েছে। ![[obsidian-cli.mp4#interface]] > [!warning] Obsidian 1.12 ইনস্টলার প্রয়োজন > CLI ব্যবহার করতে Obsidian 1.12 ইনস্টলার প্রয়োজন। দেখুন [[Obsidian আপডেট করুন#Installer updates|ইনস্টলার সংস্করণ আপডেট গাইড]]। ## Obsidian CLI ইনস্টল করুন সর্বশেষ [[Obsidian আপডেট করুন|Obsidian ইনস্টলার সংস্করণে]] (1.12.7+) আপগ্রেড করুন। Obsidian-এ Obsidian CLI সক্রিয় করুন: 1. **সেটিংস** → **সাধারণ** এ যান। 2. **কমান্ড লাইন ইন্টারফেস** সক্রিয় করুন। 3. Obsidian CLI নিবন্ধন করতে প্রম্পট অনুসরণ করুন। Obsidian CLI ইনস্টল করার সময় সমস্যা হলে [[#Troubleshooting|সমস্যা সমাধান]] দেখুন। ## শুরু করুন Obsidian CLI একক কমান্ড এবং ইন্টারেক্টিভ সহায়তা ও অটোকমপ্লিট সহ একটি টার্মিনাল ইউজার ইন্টারফেস (TUI) উভয়ই সমর্থন করে। > [!info] Obsidian অ্যাপ অবশ্যই চালু থাকতে হবে > Obsidian CLI-এর জন্য Obsidian অ্যাপ চালু থাকা প্রয়োজন। যদি Obsidian চালু না থাকে, তাহলে আপনার চালানো প্রথম কমান্ডটি Obsidian চালু করে। > > ডেস্কটপ অ্যাপ ছাড়াই সিঙ্ক করতে চান? দেখুন [[Obsidian Headless|Obsidian Headless]]। ### একটি কমান্ড চালান TUI না খুলে একটি পৃথক কমান্ড চালান: ```shell # help কমান্ড চালান obsidian help ``` ### টার্মিনাল ইন্টারফেস ব্যবহার করুন `obsidian` লিখে TUI ব্যবহার করুন। পরবর্তী কমান্ডগুলো `obsidian` ছাড়াই লেখা যায়। ```shell # TUI খুলুন, তারপর help চালান obsidian help ``` TUI অটোকমপ্লিট, কমান্ড হিস্টোরি এবং রিভার্স সার্চ সমর্থন করে। আপনার কমান্ড হিস্টোরি অনুসন্ধান করতে `Ctrl+R` ব্যবহার করুন। সব উপলব্ধ শর্টকাটের জন্য [[#Keyboard shortcuts|কীবোর্ড শর্টকাট]] দেখুন। ## উদাহরণ Obsidian CLI যা করতে পারে তার কয়েকটি উদাহরণ এখানে দেওয়া হলো। ### দৈনন্দিন ব্যবহার ```shell # আজকের দৈনিক নোট খুলুন obsidian daily # আপনার দৈনিক নোটে একটি টাস্ক যোগ করুন obsidian daily:append content="- [ ] Buy groceries" # আপনার ভল্ট অনুসন্ধান করুন obsidian search query="meeting notes" # সক্রিয় ফাইল পড়ুন obsidian read # আপনার দৈনিক নোট থেকে সব টাস্ক তালিকাভুক্ত করুন obsidian tasks daily # একটি টেমপ্লেট থেকে একটি নতুন নোট তৈরি করুন obsidian create name="Trip to Paris" template=Travel # গণনা সহ আপনার ভল্টের সব ট্যাগ তালিকাভুক্ত করুন obsidian tags counts # একটি ফাইলের দুটি সংস্করণ তুলনা করুন obsidian diff file=README from=1 to=3 ``` ### ডেভেলপারদের জন্য প্লাগইন এবং থিম ডেভেলপমেন্টের জন্য অনেক [[#Developer commands|ডেভেলপার কমান্ড]] উপলব্ধ। এই কমান্ডগুলো এজেন্টিক কোডিং টুলগুলোকে স্বয়ংক্রিয়ভাবে পরীক্ষা ও ডিবাগ করতে দেয়। ```shell # ডেভেলপার টুল খুলুন obsidian devtools # আপনি যে কমিউনিটি প্লাগইন তৈরি করছেন তা রিলোড করুন obsidian plugin:reload id=my-plugin # অ্যাপের একটি স্ক্রিনশট নিন obsidian dev:screenshot path=screenshot.png # অ্যাপ কনসোলে JavaScript চালান obsidian eval code="app.vault.getFiles().length" ``` ## কীভাবে করবেন ### প্যারামিটার এবং ফ্ল্যাগ ব্যবহার করুন কমান্ডগুলো **প্যারামিটার** এবং **ফ্ল্যাগ** ব্যবহার করতে পারে। বেশিরভাগ কমান্ডের কোনো প্যারামিটার বা ফ্ল্যাগের প্রয়োজন হয় না। প্রয়োজনীয় প্যারামিটারগুলো `required` হিসেবে চিহ্নিত করা থাকে। উদাহরণস্বরূপ: ```shell # ডিফল্ট "Untitled" নাম ব্যবহার করে একটি নতুন নোট তৈরি করুন obsidian create ``` একটি **প্যারামিটার** একটি মান নেয়, যা `parameter=value` হিসেবে লেখা হয়। যদি মানের মধ্যে স্পেস থাকে, তাহলে এটি উদ্ধৃতিতে মুড়ে দিন: ```shell # "Hello world" কনটেন্ট সহ "Note" নামে একটি নতুন নোট তৈরি করুন 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 [[বেসেস পরিচিতি|Bases]] এর জন্য কমান্ড। ### `bases` ভল্টের সব `.base` ফাইল তালিকাভুক্ত করুন। ### `base:views` বর্তমান base ফাইলের ভিউ তালিকাভুক্ত করুন। ### `base:create` একটি base-এ একটি নতুন আইটেম তৈরি করুন। যদি কোনো ফাইল নির্দিষ্ট করা না থাকে তাহলে ডিফল্টভাবে সক্রিয় base ভিউ ব্যবহার করে। ```bash file=<name> # base ফাইলের নাম path=<path> # base ফাইলের পাথ view=<name> # ভিউয়ের নাম name=<name> # নতুন ফাইলের নাম content=<text> # প্রাথমিক কনটেন্ট open # তৈরির পরে ফাইল খুলুন newtab # নতুন ট্যাবে খুলুন ``` ### `base:query` একটি base কোয়েরি করুন এবং ফলাফল ফেরত দিন। ```bash file=<name> # base ফাইলের নাম path=<path> # base ফাইলের পাথ view=<name> # কোয়েরি করার ভিউয়ের নাম format=json|csv|tsv|md|paths # আউটপুট ফরম্যাট (ডিফল্ট: json) ``` ## Bookmarks [[বুকমার্ক]] এর জন্য কমান্ড। ### `bookmarks` বুকমার্ক তালিকাভুক্ত করুন। ```bash total # বুকমার্কের সংখ্যা ফেরত দিন verbose # বুকমার্কের ধরন অন্তর্ভুক্ত করুন format=json|tsv|csv # আউটপুট ফরম্যাট (ডিফল্ট: tsv) ``` ### `bookmark` একটি বুকমার্ক যোগ করুন। ```bash file=<path> # বুকমার্ক করার ফাইল subpath=<subpath> # ফাইলের মধ্যে সাবপাথ (হেডিং বা ব্লক) folder=<path> # বুকমার্ক করার ফোল্ডার search=<query> # বুকমার্ক করার অনুসন্ধান কোয়েরি url=<url> # বুকমার্ক করার URL title=<title> # বুকমার্কের শিরোনাম ``` ## Command palette [[কমান্ড প্যালেট]] এবং [[হট-কিই]] এর জন্য কমান্ড। এতে প্লাগইন দ্বারা নিবন্ধিত সব কমান্ড অন্তর্ভুক্ত। ### `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 notes [[দৈনিক নোট]] এর জন্য কমান্ড। ### `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 # যোগ করার পরে ফাইল খুলুন ``` ## File history ### `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> # ফাইলের পাথ ``` ## Files and folders ### `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` একটি ফাইল সরান বা নাম পরিবর্তন করুন (ডিফল্ট: সক্রিয় ফাইল)। যদি আপনার [[সেটিংস#Automatically update internal links|ভল্ট সেটিংসে]] চালু থাকে, তাহলে এটি স্বয়ংক্রিয়ভাবে [[ইন্টারনাল লিঙ্ক|অভ্যন্তরীণ লিঙ্ক]] আপডেট করবে। ```bash file=<name> # ফাইলের নাম path=<path> # ফাইলের পাথ to=<path> # (প্রয়োজনীয়) গন্তব্য ফোল্ডার বা পাথ ``` ### `rename` একটি ফাইলের নাম পরিবর্তন করুন (ডিফল্ট: সক্রিয় ফাইল)। নতুন নাম থেকে ফাইল এক্সটেনশন বাদ দিলে এটি স্বয়ংক্রিয়ভাবে সংরক্ষিত থাকে। একই সাথে একটি ফাইলের নাম পরিবর্তন ও সরাতে [[#`move`|move]] ব্যবহার করুন। যদি আপনার [[সেটিংস#Automatically update internal links|ভল্ট সেটিংসে]] চালু থাকে, তাহলে এটি স্বয়ংক্রিয়ভাবে [[ইন্টারনাল লিঙ্ক|অভ্যন্তরীণ লিঙ্ক]] আপডেট করবে। ```bash file=<name> # ফাইলের নাম path=<path> # ফাইলের পাথ name=<name> # (প্রয়োজনীয়) নতুন ফাইলের নাম ``` ### `delete` একটি ফাইল মুছুন (ডিফল্ট: সক্রিয় ফাইল, ডিফল্টভাবে ট্র্যাশে)। ```bash file=<name> # ফাইলের নাম path=<path> # ফাইলের পাথ permanent # ট্র্যাশ বাদ দিয়ে স্থায়ীভাবে মুছুন ``` ## Links [[ব্যাকলিঙ্ক]] এবং [[আউটগোয়িং লিঙ্ক]] এর জন্য কমান্ড। ### `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 [[রূপরেখা]] এর জন্য কমান্ড। ### `outline` বর্তমান ফাইলের জন্য হেডিং দেখান। ```bash file=<name> # ফাইলের নাম path=<path> # ফাইলের পাথ format=tree|md|json # আউটপুট ফরম্যাট (ডিফল্ট: tree) total # হেডিং সংখ্যা ফেরত দিন ``` ## Plugins [[কোর প্লাগইন]] এবং [[কমিউনিটি প্লাগইন]] এর জন্য কমান্ড। ### `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> # (প্রয়োজনীয়) প্লাগইন আইডি ``` ## Properties [[প্রপার্টি]] সম্পর্কিত কমান্ড। ### `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 # সংখ্যা দিয়ে সাজান (ডিফল্ট: name) 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` পাবলিশ সাইটের তথ্য দেখান (স্লাগ, URL)। ### `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 notes [[রান্ডম নোট]] এর জন্য কমান্ড। ### `random` একটি র‍্যান্ডম নোট খুলুন। ```bash folder=<path> # ফোল্ডারে সীমাবদ্ধ করুন newtab # নতুন ট্যাবে খুলুন ``` ### `random:read` একটি র‍্যান্ডম নোট পড়ুন (পাথ অন্তর্ভুক্ত)। ```bash folder=<path> # ফোল্ডারে সীমাবদ্ধ করুন ``` ## Search [[অনুসন্ধান]] এর জন্য কমান্ড। ### `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] ডেস্কটপ অ্যাপ ছাড়াই সিঙ্ক > এই কমান্ডগুলো চলমান Obsidian অ্যাপের মধ্যে Sync নিয়ন্ত্রণ করে। ডেস্কটপ অ্যাপ ছাড়াই কমান্ড লাইন থেকে ভল্ট সিঙ্ক করতে, [[Headless Sync]] দেখুন। ### `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 [[ট্যাগ]] এর জন্য কমান্ড। ### `tags` ভল্টের ট্যাগ তালিকাভুক্ত করুন। একটি নির্দিষ্ট ফাইলের ট্যাগ দেখাতে `active` অথবা `file`/`path` ব্যবহার করুন। ```bash file=<name> # ফাইলের নাম path=<path> # ফাইলের পাথ sort=count # সংখ্যা দিয়ে সাজান (ডিফল্ট: name) total # ট্যাগের সংখ্যা ফেরত দিন counts # ট্যাগের সংখ্যা অন্তর্ভুক্ত করুন format=json|tsv|csv # আউটপুট ফরম্যাট (ডিফল্ট: tsv) active # সক্রিয় ফাইলের ট্যাগ দেখান ``` ### `tag` ট্যাগের তথ্য পান। ```bash name=<tag> # (প্রয়োজনীয়) ট্যাগের নাম total # ব্যবহারের সংখ্যা ফেরত দিন verbose # ফাইলের তালিকা এবং সংখ্যা অন্তর্ভুক্ত করুন ``` ## Tasks টাস্ক ম্যানেজমেন্টের জন্য কমান্ড। ### `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 [[প্লাগইন/টেমপ্লেট|Templates]] এর জন্য কমান্ড। ### `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>` ব্যবহার করুন ## Themes and snippets [[থিম]] এবং [[CSS স্নিপেট]] এর জন্য কমান্ড। ### `themes` ইনস্টল করা থিম তালিকাভুক্ত করুন। ```bash versions # সংস্করণ সংখ্যা অন্তর্ভুক্ত করুন ``` ### `theme` সক্রিয় থিম দেখান বা তথ্য পান। ```bash name=<name> # বিস্তারিত জানার জন্য থিমের নাম ``` ### `theme:set` সক্রিয় থিম সেট করুন। ```bash name=<name> # (প্রয়োজনীয়) থিমের নাম (ডিফল্টের জন্য খালি রাখুন) ``` ### `theme:install` একটি কমিউনিটি থিম ইনস্টল করুন। ```bash name=<name> # (প্রয়োজনীয়) থিমের নাম enable # ইনস্টলের পরে সক্রিয় করুন ``` ### `theme:uninstall` একটি থিম আনইনস্টল করুন। ```bash name=<name> # (প্