# রিচ টেক্সট বনাম মার্কড: কীভাবে দুটো ব্যবহার করবেন আধুনিক নোট-টেকিং অ্যাপ্লিকেশনগুলোতে ব্যবহারকারীরা প্রায়ই দুটি ভিন্ন ধরনের সম্পাদনা পদ্ধতির মধ্যে থাকেন: **রিচ টেক্সট** এর দৃশ্যমান সুবিধা এবং **মার্কড** এর সহজ ব্যবহার। বেশিরভাগ অ্যাপ্লিকেশনই ব্যবহারকারীদের একটি পদ্ধতি বেছে নিতে বাধ্য করে। **নোটরিচ** এই দুটি পদ্ধতির মধ্যে সামঞ্জস্য স্থাপন করে। জটিল ডুয়াল-মোড আর্কিটেকচার ব্যবহার করে নোটরিচ ব্যবহারকারীদের এক পদ্ধতি থেকে অন্য পদ্ধতিতে সরে আসার সুযোগ দেয়, ফলে দুটো পদ্ধতির সুবিধাই পাওয়া যায়। --- ## দুটি পদ্ধতি বোঝা পদ্ধতিগুলো কীভাবে পরিবর্তন করতে হয়, তা জানার আগে প্রতিটি পদ্ধতির কী সুবিধা এবং কখন এগুলো ব্যবহার করতে হয়, তা বোঝা জরুরি। ### রিচ টেক্সট পদ্ধতি: দৃশ্যমান সম্পাদনা রিচ টেক্সট পদ্ধতিতে ব্যবহারকারীরা **WYSIWYG (What You See Is What You Get)** সম্পাদনা অভিজ্ঞতা পান। রিচ টেক্সট পদ্ধতিতে থাকলে: - **দৃশ্যমান ফরম্যাটিং**: বোল্ড, ইটালিক, হেডার এবং লিস্টগুলো ঠিক যেমন দেখায় - **টুলবার অ্যাক্সেস**: সম্পূর্ণ ফরম্যাটিং টুলবার দিয়ে সব ফরম্যাটিং সহজেই করা যায় - **মিডিয়া এম্বেড**: ছবি, টেবিল, সমীকরণ এবং ইন্টারঅ্যাক্টিভ এলিমেন্টগুলো সরাসরি দেখানো হয় - **ড্র্যাগ-অ্যান্ড-ড্রপ**: ব্লকগুলো টেনে সহজেই সাজানো যায় - **কনটেক্সটুয়াল মেনু**: রাইট-ক্লিক অ্যাকশন এবং ফ্লোটিং ফরম্যাট টুলবার দিয়ে কাজ করা সহজ হয় রিচ টেক্সট পদ্ধতি উপযুক্ত: - যারা টাইপ করার সময় দৃশ্যমান প্রতিফলন পছন্দ করেন - যেসব ডকুমেন্টে জটিল ফরম্যাট রয়েছে (টেবিল, মাল্টি-কলাম ফরম্যাট) - যেসব কোঅপারেটিভ সম্পাদনা সেখানে দৃশ্যমান সুবিধা গুরুত্বপূর্ণ - সিনট্যাক্স মনে রাখার দরকার নেই, সহজে ফরম্যাট করা যায় ### মার্কড পদ্ধতি: সহজ ব্যবহার মার্কড পদ্ধতিতে ব্যবহৃত টেক্সটগুলো সাধারণ টেক্সট হিসেবে দেখানো হয়। মার্কড পদ্ধতিতে কাজ করলে: - **সাধারণ টেক্সট ব্যবহার**: নোটগুলো সার্বজনীনভাবে পঠনযোগ্য ফরম্যাটে সংরক্ষিত হয় - **কিবোর্ড-ফার্স্ট ওয়ার্কফ্লো**: সাধারণ কিবোর্ড শর্টকাট দিয়ে টেক্সট ফরম্যাট করা যায় - **ভার্সন কন্ট্রোল ফ্রেন্ডলি**: গিট এবং অন্যান্য ভার্সন কন্ট্রোল সিস্টেমে সহজে ফরম্যাট করা যায় - **দ্রুত টাইপিং**: মাউসের দরকার নেই; হাত কিবোর্ডে রাখলেই হয় - **ইউনিভার্সাল কম্পাটিবিলিটি**: `.md` ফাইলগুলো যেকোনো জায়গায় ব্যবহার করা যায় মার্কড পদ্ধতি উপযুক্ত: - টেকনিক্যাল ডকুমেন্টেশন এবং কোড-ভরা নোটসমূহ - যারা ব্যবহারকারীদের দৃশ্যমান সম্পাদনা পছন্দ করেন - দীর্ঘ ফরম্যাটের কন্টেন্ট তৈরি করার জন্য সাধারণ ফরম্যাট ব্যবহার করা হয় - যারা সর্বোচ্চ সহজবোধ্যতা এবং ভবিষ্যতের জন্য প্রস্তুতি নিতে চান --- ## দুটি পদ্ধতির আর্কিটেকচার নোটরিচ কেবল দুটি আলাদা সম্পাদনা পদ্ধতি প্রদান করে না—বরং একটি **একক কন্টেন্ট মডেল** তৈরি করে যা উভয় পদ্ধতিতেই প্রদর্শিত হয়। এটা অত্যন্ত জটিল ট্রান্সফরমেশন ইঞ্জিনের মাধ্যমে সম্ভব হয়, যা অভ্যন্তরীণ ডকুমেন্ট স্ট্রাকচার এবং মার্কড সিনট্যাক্সের মধ্যে রিয়েল-টাইম রূপান্তর করে। ```mermaid graph TD A[User Input] --> B{Internal Document Model} B --> C[Rich Text Representation] B --> D[Markdown Representation] C --> E[Visual Toolbar Actions] C --> F[Drag-and-Drop Operations] C --> G[Context Menu Formatting] D --> H[Markdown Shortcut Detection] D --> I[Syntax Pattern Recognition] D --> J[Plain Text Import/Export] B --> K[Unified Storage Layer] K --> L[IndexedDB Persistence] K --> M[P2P Sync Payload] style A fill:#fafafa,stroke:#eaeaea,color:#333 style B fill:#000,stroke:#000,color:#fff style C fill:#fafafa,stroke:#eaeaea,color:#333 style D fill:#fafafa,stroke:#eaeaea,color:#333 style K fill:#000,stroke:#000,color:#fff ``` এই আর্কিটেকচারের ফলে **আপনার কন্টেন্ট কখনও এক পদ্ধতিতে সংরক্ষিত হয় না**। আপনি মার্কড পদ্ধতিতে টাইপ করলেও বা রিচ টেক্সট টুলবার ব্যবহার করলেও ডকুমেন্ট মডেল অপরিবর্তিত থাকে, ফলে সহজেই পদ্ধতি পরিবর্তন করা যায়। --- ## কীভাবে পদ্ধতিগুলো পরিবর্তন করবেন ### পদ্ধতি ১: সেটিংস-ভিত্তিক পদ্ধতি নির্বাচন নোটরিচ একটি গ্লোবাল সেটিং ফাংশন প্রদান করে, যা সব নোটের জন্য ডিফল্ট সম্পাদনা পদ্ধতি নির্ধারণ করে: 1. **সেটিংস খোলুন**: এডিটারের উপরের ডানদিকে থাকা গিয়ার আইকনটি ক্লিক করুন 2. **“Rich Text” টুলবারটি খুঁজুন**: সেটিংস প্যানেলে “Rich Text” লেবেলযুক্ত টুলবারটি খুঁজুন 3. **পদ্ধতি পরিবর্তন করুন**: - **এনেবল (✓)**: এডিটর রিচ টেক্সট পদ্ধতিতে খোলা হয়, সম্পূর্ণ টুলবার উপলব্ধ থাকে - **ডিসেবল (○)**: এডিটর সাধারণ টেক্সট/মার্কড পদ্ধতিতে খোলা হয় ```mermaid sequenceDiagram participant User participant SettingsPanel participant Editor participant DocumentModel User->>SettingsPanel: Settings Icon ক্লিক করুন User->>SettingsPanel: “Rich Text” টুলবার পরিবর্তন করুন SettingsPanel->>Editor: isRichText Flag আপডেট করুন Editor->>DocumentModel: নতুন পদ্ধতিতে রেন্ডার করুন Editor-->>User: আপডেট করা ইন্টারফেস দেখান ``` **উল্লেখ্য**: এই সেটিং পরিবর্তন করতে পৃষ্ঠা রিলোড করা প্রয়োজন। এতে সব প্লাগইন এবং টুলবার কম্পোনেন্টগুলো নির্বাচিত পদ্ধতির জন্য প্রি-ইনিশিয়ালাইজ করা হয়। ### পদ্ধতি ২: নোট-ভিত্তিক মার্কড ইম্পোর্ট/এক্সপোর্ট যখন রিচ টেক্সট পদ্ধতিতে কাজ করা হয়, তখনও নোটগুলোকে মার্কড ফরম্যাটে ইম্পোর্ট/এক্সপোর্ট করা যায়: #### মার্কড ফরম্যাটে নোট এক্সপোর্ট করা 1. যে নোটটি এক্সপোর্ট করতে চান সেটি খুলুন 2. **অ্যাকশন মেনু** ক্লিক করুন (সাধারণত তিনটি বিন্দু `⋮` বা ডাউনলোড আইকন দিয়ে প্রতিনিধিত্ব করা হয়) 3. **“Export as Markdown”** নির্বাচন করুন 4. নোটটি মার্কড সিনট্যাক্সে রূপান্তরিত হয় এবং `.md` ফাইল হিসেবে ডাউনলোড হয় এক্সপোর্ট প্রক্রিয়াটি সহজেই সামলানো হয়: - **হেডার**: `#`, `##`, `###` সিনট্যাক্সে রূপান্তরিত হয় - **লিস্ট**: বুলেট এবং নম্বরযুক্ত লিস্টগুলো সঠিকভাবে ফরম্যাট করা হয় - **কোড ব্লক**: ভাষার অ্যানোটেশনগুলো সংরক্ষিত থাকে (যেমন, ```javascript - **টেবিল**: মার্কড টেবিল হিসেবে ফরম্যাট করা হয়, ইন্ডেন্টেশন সঠিকভাবে রাখা হয় - **লিঙ্ক এবং ছবি**: URL সঠিকভাবে সংরক্ষিত হয়, অল্টার টেক্সট দেওয়া হয় #### মার্কড কন্টেন্ট ইম্পোর্ট করা 1. নতুন নোট তৈরি করুন বা বিদ্যমান ড্রাফটটি খুলুন 2. **ইম্পোর্ট** ফাংশনটি ব্যবহার করুন 3. `.md` ফাইল নির্বাচন করুন বা মার্কড টেক্সট সরাসরি পেস্ট করুন 4. নোটরিচ মার্কড সিনট্যাক্সটি স্বয়ংক্রিয়ভাবে শনাক্ত করে এবং ইনভার্ট করে ### পদ্ধতি ৩: রিচ টেক্সট পদ্ধতিতে মার্কড শর্টকাট ব্যবহার করা নোটরিচের অন্যতম শক্তিশালী বৈশিষ্ট্য হলো রিচ টেক্সট পদ্ধতিতেও **মার্কড শর্টকাট** ব্যবহার করা যায়। এই হাইব্রিড পদ্ধতি ব্যবহার করে ব্যবহারকারীরা মার্কডের গতি ব্যবহার করে সহজেই টাইপ করতে পারেন। রিচ টেক্সট পদ্ধতি সক্রিয় থাকলে, মার্কড সিনট্যাক্স টাইপ করলে স্বয়ংক্রিয়ভাবে রূপান্তর ঘটে: | টাইপ করুন | রূপান্তরিত হয় | কী কারণে রূপান্তর ঘটে | |----------------|-------------------|--------------------------| | `# ` | H1 Heading | Hash এর পর স্পেস থাকলে | | `## ` | H2 Heading | Double hash এর পর স্পেস থাকলে | | `### ` | H3 Heading | Triple hash এর পর স্পেস থাকলে | | `- ` বা `* ` | বুলেল লিস্ট | Dash/asterisk এর পর স্পেস থাকলে | | `1. ` | নম্বরযুক্ত লিস্ট | Number+dot এর পর স্পেস থাকলে | | `[] ` | চেকবক্স লিস্ট | Brackets এর পর স্পেস থাকলে | | `> ` | ব্লককোয়েট | Greater-than এর পর স্পেস থাকলে | | ```` ``` ```` | কোড ব্লক Node | Three backticks + Enter এর পর | | `**text**` | **Bold Text** | Closing asterisks এর পর | | `*text*` | *Italic Text* | Closing asterisk এর পর | | `~~text~~` | ~~Strikethrough~~ | Closing tildes এর পর | | `` `text` `` | `Inline Code` | Closing backtick এর পর | | `[text](url)` | [Hyperlink](url) | Complete link syntax এর পর | | `---` বা `***` | হোরিজনাল রাউন্ড | Three dashes/asterisks এর পর | ```mermaid graph LR A[User Types Markdown] --> B{Shortcut Detector} B -->|Pattern Matched| C[Transform to Node] B -->|No Match| D[Keep as Plain Text] C --> E[Update Editor State] E --> F[Render Rich Text] style A fill:#fafafa,stroke:#eaeaea,color:#333 style B fill:#000,stroke:#000,color:#fff style C fill:#fafafa,stroke:#eaeaea,color:#333 style F fill:#fafafa,stroke:#eaeaea,color:#333 ```