YAML ফরম্যাটার

সিনট্যাক্স হাইলাইটিং এবং ত্রুটি সনাক্তকরণ সহ YAML ডকুমেন্ট ফরম্যাট, ভ্যালিডেট এবং রূপান্তর করুন

স্থানীয়ভাবে চলে

YAML ইনপুট

ফরম্যাট করা আউটপুট

ইনস্পেক্টর

বৈধ YAML পেস্ট করুন — স্ট্রাকচার, ট্রি এবং কী পাথ এখানে স্বয়ংক্রিয়ভাবে দেখা যাবে

উন্নত বিকল্প

অন্য একটি YAML-এর সাথে তুলনা করুন

এই ডকুমেন্টটি Data Diff-এ পাঠান এবং কী পরিবর্তন হয়েছে দেখতে দ্বিতীয় ভার্সনটি পেস্ট করুন।

সঠিক এরর অবস্থানসহ ভ্যালিডেশন

প্রতিটি keystroke-এ js-yaml 1.2 parser দিয়ে ভ্যালিডেশন চলে। বৈধ ডকুমেন্টের জন্য documents, mappings, sequences, keys এবং depth-এর লাইভ গণনা দেখানো হয়। ভাঙা ডকুমেন্টের ক্ষেত্রে সঠিক লাইন ও কলাম, সম্ভাব্য কারণ এবং সমস্যার অবস্থানে হাইলাইট রিপোর্ট হয় — কেবল "syntax error" নয়।

এই টুল যেসব সাধারণ YAML এরর নির্দিষ্টভাবে চিহ্নিত করে

এই ভুলগুলোর কারণেই বেশিরভাগ অবৈধ YAML তৈরি হয়। প্রতিটি ধরা পড়ে একটি অবস্থান এবং সম্ভাব্য কারণসহ:

ভুল ইনডেন্টেশন

প্যারেন্ট লাইনের চেয়ে কম ইনডেন্ট করা child লাইন, অথবা সমান না হওয়া একই স্তরের লাইন। সাধারণত সঠিক লাইনে "bad indentation of a mapping entry" হিসেবে রিপোর্ট হয়।

TAB ক্যারেক্টার

YAML ইনডেন্টেশনে tab নিষিদ্ধ করে। Parser "found a tab character that violates indentation" রিপোর্ট করে এবং সমস্যাযুক্ত লাইনটি হাইলাইট করে।

ডুপ্লিকেট key

একটি mapping-এ একই key দুইবার রয়েছে। js-yaml দ্বিতীয় occurrence-এর লাইনসহ "duplicated mapping key" রিপোর্ট করে।

কোলন বা স্পেস অনুপস্থিত

ভ্যালু ছাড়া key ("key key2") অথবা key-এর সাথে লেগে থাকা কোলন ("key:value" একটি plain string, pair নয়)। "could not find expected ':'" হিসেবে রিপোর্ট হয়।

আগে / পরে

বাম দিকে minified Kubernetes manifest, ডান দিকে একই ডকুমেন্ট 2-space indent দিয়ে ফরম্যাট করা। পার্স করা ডকুমেন্ট থেকে structure, tree এবং paths আপডেট হয়।

Before (flow style)
{apiVersion: apps/v1, kind: Deployment, metadata: {name: web-app}, spec: {replicas: 3, template: {metadata: {labels: {app: web}}}}}
After (block style)
apiVersion: apps/v1
kind: Deployment
metadata:
  name: web-app
spec:
  replicas: 3
  template:
    metadata:
      labels:
        app: web

YAML কুইক রেফারেন্স (YAML 1.2)

  • ইনডেন্টেশনই গঠন: শুধু স্পেস ব্যবহার করুন — ইনডেন্টেশনের জন্য TAB ক্যারেক্টার কখনোই অনুমোদিত নয়।
  • কী সেপারেটর হতে হলে কোলনের পরে অবশ্যই একটি স্পেস থাকতে হবে: "key: value", "key:value" নয়।
  • কোর স্কিমা অনুযায়ী স্কেলার টাইপে রূপান্তরিত হয়: true/false (বুলিয়ান), পূর্ণসংখ্যা, ভগ্নাংশ, null (~ / null / খালি)। মনে রাখবেন "yes"/"no" 1.2-এ সাধারণ স্ট্রিং।
  • একটি ফাইলে একাধিক ডকুমেন্ট "---" লাইন দিয়ে আলাদা করা হয়; "..." দিয়ে একটি ডকুমেন্ট শেষ হয়।
  • অ্যাঙ্কর (&base) এবং অ্যালায়াস (*base) ফাইলকে DRY রাখে; মার্জ কী ("<<: *base") ম্যাপিং ইনহেরিট করে।

এই ডেটা নিয়ে পরবর্তী ধাপ

ফরম্যাটিং হলো প্রথম ধাপ। ব্রাউজার ছাড়াই ওয়ার্কফ্লো চালিয়ে যান:

সাধারণ জিজ্ঞাসা

Yaml Formatter ফরম্যাটিং সম্পর্কে সাধারণ প্রশ্নের উত্তর

ফরম্যাটার YAML 1.2 স্পেসিফিকেশন অনুসরণ করে, যা Kubernetes, Docker Compose, GitHub Actions এবং অন্যান্য ক্লাউড-নেটিভ প্ল্যাটফর্মের মতো আধুনিক টুলের সাথে সামঞ্জস্য নিশ্চিত করে।

হ্যাঁ, দ্বিমুখী রূপান্তর ফিচারটি ডেটা টাইপ, নেস্টেড স্ট্রাকচার এবং প্রযোজ্য ক্ষেত্রে কমেন্ট সংরক্ষণ করে YAML-কে JSON-এ এবং JSON-কে YAML-এ রূপান্তর করতে দেয়।

অবশ্যই। ফরম্যাটারটি Kubernetes ম্যানিফেস্ট, Docker Compose ফাইল, CI/CD পাইপলাইন এবং অন্যান্য মাল্টি-ডকুমেন্ট YAML ফাইল সঠিক সেকশন বিভাজন সহ হ্যান্ডেল করার জন্য ডিজাইন করা হয়েছে।

ভ্যালিডেটর ইনডেন্টেশনের সামঞ্জস্যতা, কোলন ও ড্যাশের সঠিক ব্যবহার, কোটেড স্ট্রিং-এর ভারসাম্য, অ্যাঙ্কর ও অ্যালায়াস রেফারেন্স পরীক্ষা করে এবং দ্রুত ডিবাগিংয়ের জন্য লাইন-নির্দিষ্ট এরর মেসেজ প্রদান করে।

হ্যাঁ, ফরম্যাটারটি YAML অ্যাঙ্কর (&), অ্যালায়াস (*) এবং মার্জ কী (<<) সঠিকভাবে হ্যান্ডেল করে এবং চারপাশের স্ট্রাকচার ফরম্যাট করার সময় এই DRY ফিচারগুলো সংরক্ষণ করে।

YAML 1.2, yaml.org-এর বর্তমান স্পেক - Kubernetes, docker-compose এবং GitHub Actions ডকুমেন্ট যেই ভার্সন টার্গেট করে। YAML 1.2 JSON-কে বৈধ সাবসেট বানিয়েছে এবং বুলিয়ান পার্সিং কঠোর করেছে; যেখানে 1.1 পার্সার (Python PyYAML-এ এখনো প্রচলিত) "no" বা "0777"-এর মতো ভ্যালু ভুলভাবে পড়তে পারে, সেখানে ফরম্যাটার আপনার কোটিং স্পষ্ট রাখে।

YAML অ্যাঙ্কর, অ্যালায়াস এবং ব্লক স্কেলারের ক্ষেত্রে কমেন্ট অপরিবর্তিত থাকে, তবে যেই কী রি-ইনডেন্ট হয় তার সাথে যুক্ত কমেন্ট তার ইনডেন্টেশন লেভেলের সাথে সরে যায়। ফরম্যাটার কখনোই কমেন্ট মুছে না - যেই নোডের বর্ণনা দেয় সেই নোডের সাথে যুক্ত থাকার জন্য ন্যূনতমভাবে সেগুলো স্থানান্তর করে।

এটি তা চিহ্নিত করে: bare NO, no, ON, on, yes, n ফরম্যাটিংয়ের সময় স্বয়ংক্রিয়ভাবে কোট করা হয়, যাতে YAML 1.1 পার্সার সেগুলোকে বুলিয়ানে রূপান্তর করতে না পারে। কান্ট্রি-কোড লিস্ট [NO, SE, DK] তিনটি স্ট্রিং হিসেবেই থাকে। YAML 1.2 শুধু true/false-কেই বুলিয়ান হিসেবে বিবেচনা করে, তবে দুই ভার্সনেই নিরাপদ আউটপুট হলো কোটিং।

{-- * External Resources Component(#19 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / 官方语言文档 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}

প্রামাণিক রেফারেন্সসমূহ

যে স্ট্যান্ডার্ড ও অফিসিয়াল ডকুমেন্টেশন এই টুলের ব্যবহৃত ফরম্যাটগুলো সংজ্ঞায়িত করে।

সম্পর্কিত টুলসমূহ