YAML থেকে TOML

ঐচ্ছিক ইন্ডেন্টেশন এবং কী সাজানোসহ YAML কনফিগারেশনকে TOML-এ রূপান্তর করুন।

ঐচ্ছিক ইন্ডেন্টেশন এবং কী সাজানোসহ YAML কনফিগারেশনকে TOML-এ রূপান্তর করুন। ঐচ্ছিক ইন্ডেন্টেশন এবং কী সাজানোসহ YAML কনফিগারেশনকে TOML-এ রূপান্তর করুন।

আউটপুট

পটভূমি

YAML এবং TOML কোথায় মিলে যায়, আর কোথায় যায় না

YAML এবং TOML উভয়ের লক্ষ্য মানব-পঠনযোগ্য কনফিগারেশন ফরম্যাট হওয়া। তারা যে ডেটা উপস্থাপন করতে পারে তাতে ব্যাপকভাবে ওভারল্যাপ করে (ম্যাপিং, সিকোয়েন্স, স্কেলার), কিন্তু সিনট্যাক্সে এবং কিছু প্রান্তিক ক্ষেত্রে তারা আলাদা। YAML ট্যাগ, অ্যাঙ্কর এবং মাল্টি-লাইন স্কেলার সমর্থন করে; TOML ইনলাইন টেবিল এবং অ্যারে-অফ-টেবিলের মধ্যে পার্থক্য করে, এবং তারিখকে প্রথম-শ্রেণির টাইপ হিসেবে বিবেচনা করে।

একটি YAML-থেকে-TOML কনভার্টার সবচেয়ে কার্যকর যখন একটি কনফিগ ফাইলকে এক টুলের পছন্দের ফরম্যাট থেকে অন্যের দিকে স্থানান্তর করা হয়: উদাহরণস্বরূপ, একটি Kubernetes ম্যানিফেস্টকে একটি pyproject.toml স্নিপেটে সরানো, অথবা একটি Ansible ইনভেন্টরিকে Cargo [dependencies] টেবিলে পুনরায় প্রকাশ করা।

রূপান্তরে কী টিকে থাকে

ম্যাপিং (key: value YAML-এ) প্রসঙ্গ অনুযায়ী TOML টেবিল বা কী/মান জোড়া হয়ে যায়। সিকোয়েন্স ইনলাইন অ্যারে বা [[array.of.tables]] হেডার হয়ে যায়। স্কেলারগুলো সংরক্ষিত থাকে যতক্ষণ সেগুলো পরিষ্কারভাবে ম্যাপ হয়: স্ট্রিং, পূর্ণসংখ্যা, ফ্লোট, বুলিয়ান এবং ISO তারিখ।

যা টিকে থাকে না

YAML অ্যাঙ্কর এবং এলিয়াস পার্সিংয়ের সময় সমতল করা হয়; রূপান্তরিত TOML প্রতিটি এলিয়াস সাইটে কংক্রিট মান ধারণ করে, যা বেশিরভাগ ভোক্তা যা চায় তা-ই। YAML !!binary ট্যাগ সংরক্ষিত হয় না কারণ TOML-এর কোনো সমতুল্য নেই। মন্তব্যগুলো উদ্দেশ্যমূলকভাবে বাদ দেওয়া হয় — কোনো ফরম্যাটই রাউন্ড-ট্রিপ সংরক্ষণের নিশ্চয়তা দেয় না।

ওয়ার্কফ্লো টিপস

রূপান্তরিত TOML কমিট করার আগে, আপনার প্রজেক্টের TOML লিন্টার (taplo, toml-check, ইত্যাদি) চালান। কনভার্টারটি শুধুমাত্র সিনট্যাক্স অনুবাদ করে, স্টাইল নয়; লিন্টারটি কোটিং, ইন্ডেন্টেশন এবং কী-অর্ডার সমস্যাগুলো ধরে যা কনভার্টার শনাক্ত করতে পারে না।

পাবলিক/অ্যাসেটে বান্ডেল করা দুটি MIT/BSD-3 লাইব্রেরি দিয়ে তৈরি: পার্সিংয়ের জন্য js-yaml এবং নির্গমনের জন্য smol-toml। আপনার ইনপুট স্থানীয়ভাবে প্রসেস হয়।

সচরাচর জিজ্ঞাসা

কনভার্টার কি YAML অ্যাঙ্কর হ্যান্ডেল করে?
হ্যাঁ। অ্যাঙ্কর (`&name value`) এবং এলিয়াস (`*name`) পার্সিংয়ের সময় সম্প্রসারিত হয়, তাই TOML প্রতিটি এলিয়াস সাইটে সমাধান করা মান ধারণ করে। মূল অ্যাঙ্কর নামগুলো সংরক্ষিত হয় না।
YAML-এর মন্তব্যগুলো কি টিকে থাকবে?
না। প্রতিটি মূলধারার পার্সার YAML মন্তব্য ছিনিয়ে নেয়। প্রয়োজনে TOML-এ হাতে মন্তব্য যোগ করুন।
কনভার্টার কি মাল্টি-ডকুমেন্ট YAML ফাইল হ্যান্ডেল করতে পারে?
না। ভিউয়ার প্রতিটি আপলোডকে একটি একক ডকুমেন্ট হিসেবে বিবেচনা করে। মাল্টি-ডকুমেন্ট ফাইলের জন্য একটি ডেডিকেটেড টুল ব্যবহার করুন।
TOML কি মাল্টি-লাইন স্ট্রিং সমর্থন করে?
হ্যাঁ। কনভার্টার নিউলাইনযুক্ত যেকোনো YAML স্কেলারের জন্য TOML-এর ট্রিপল-কোটেড বেসিক স্ট্রিং নির্গত করে, তাই পঠনযোগ্যতা সংরক্ষিত হয়।
YAML `!!binary` ডেটার কী হবে?
base64 বাইনারি ব্লবের জন্য TOML-এর কোনো সমতুল্য নেই। কনভার্টার সতর্ক করে এবং নীরব দুর্নীতি এড়াতে সেই মানগুলো এড়িয়ে যায়।
আমার YAML কি আপলোড হয়?
না। পার্সিং js-yaml দিয়ে স্থানীয়ভাবে হয়, এবং TOML আউটপুট smol-toml দিয়ে স্থানীয়ভাবে তৈরি হয়। সার্ভারে কিছু পাঠানো হয় না।