Loading…

এই YAML ফরম্যাটার সম্পর্কে অনলাইন YAML ফরম্যাটার ও বিউটিফায়ার

এলোমেলো `values.yaml`, `docker-compose.yml` বা GitHub Actions ওয়ার্কফ্লো নিয়ে কাজ করছেন? এই YAML ফরম্যাটারটি অ্যাঙ্কর, অ্যালিয়াস এবং ব্লক স্কেলার সংরক্ষণ করার সময় ইন্ডেন্টেশন এবং লাইন র‍্যাপিং স্বাভাবিক করে। আপনার YAML পেস্ট করুন, ইন্ডেন্টেশন সেটিংস সামঞ্জস্য করুন এবং সেকেন্ডের মধ্যে পরিষ্কার, রিভিউ-প্রস্তুত কনফিগ ফিরে কপি করুন। 🚀

এই YAML ফরম্যাটারের মূল বৈশিষ্ট্য

  • Prettier-ভিত্তিক ফরম্যাটিং YAML 1.2 কনফিগারেশন ফাইলের জন্য টিউন করা
  • কনফিগারযোগ্য ইন্ডেন্ট সাইজ (1–8) এবং স্পেস বনাম ট্যাব সহ সামঞ্জস্যপূর্ণ ইন্ডেন্টেশন
  • সমন্বয়যোগ্য র‍্যাপ / লাইন দৈর্ঘ্য যাতে দীর্ঘ কী এবং মান পড়ার যোগ্য থাকে
  • সঠিকভাবে অ্যাঙ্কর, এলিয়াস, বুলিয়ান-এস-স্ট্রিং এবং মাল্টিলাইন ব্লক স্কেলার পরিচালনা করে
  • Kubernetes, Docker Compose, CI পাইপলাইন এবং আরও অনেক কিছুর জন্য `.yaml` এবং `.yml` ফাইলের সাথে কাজ করে
  • আপনার এডিটর থেকে YAML পেস্ট করুন বা ফরম্যাটারে কনফিগ ফাইল ড্র্যাগ-এন্ড-ড্রপ করুন
  • ফরম্যাট করা YAML এক ক্লিকে আপনার এডিটর বা রিপোজিটরিতে কপি করুন
  • ফরম্যাটিং প্রাথমিকভাবে আপনার ব্রাউজারে ক্লায়েন্ট-সাইডে চলে; একটি নিরাপদ সার্ভার ফলব্যাক শুধুমাত্র ব্যবহার করা হতে পারে যদি প্রয়োজনীয় পার্সার/প্লাগইন অনুপস্থিত থাকে

🔧 কিভাবে YAML কনফিগ ফাইল ফরম্যাট করবেন for yaml-formatter

1

1. আপনার YAML পেস্ট বা আপলোড করুন

যেকোনো YAML স্নিপেট (Kubernetes ম্যানিফেস্ট, `docker-compose.yml`, GitHub Actions ওয়ার্কফ্লো, Ansible প্লেবুক, ইত্যাদি) কপি করুন এবং এডিটরে পেস্ট করুন, অথবা একটি `.yaml` / `.yml` ফাইল ড্র্যাগ ও ড্রপ করুন।

2

2. ইন্ডেন্টেশন এবং র‍্যাপিং টিউন করুন

স্পেস নাকি ট্যাব ব্যবহার করতে হবে তা বেছে নিন, ইন্ডেন্ট সাইজ (1–8 স্পেস) সেট করুন এবং আপনার দলের স্টাইলের সাথে মেলাতে র‍্যাপ / লাইন দৈর্ঘ্য সামঞ্জস্য করুন। `0` এর একটি র‍্যাপ দৈর্ঘ্য একটি খুব বড় অভ্যন্তরীণ `printWidth` ব্যবহার করে কার্যকরভাবে র‍্যাপিং অক্ষম করে।

3

3. ফরম্যাটার চালান

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

4

4. পরিষ্কার YAML কপি করুন

আউটপুট পর্যালোচনা করুন, তারপর ফরম্যাট করা YAML আপনার এডিটরে ফিরে কপি করুন, এটিকে Git-এ কমিট করুন বা আপনার CI/CD বা ক্লাউড প্রদানকারীর UI-তে পেস্ট করুন।

প্রযুক্তিগত বিবরণ

ফরম্যাটিং ইঞ্জিন এবং YAML সমর্থন

এই টুলটি একটি Prettier-ভিত্তিক YAML ফরম্যাটারের উপরে নির্মিত যার কনফিগারেশন বিকল্পগুলি UI-তে উপস্থাপিত।

বৈশিষ্ট্যসমর্থননোট
YAML সংস্করণ✅ YAML 1.2 (সাধারণ)কুবেরনেটস, ডকার, সিআই/সিডি এবং অ্যাপ্লিকেশনগুলিতে ব্যবহৃত আধুনিক কনফিগ-স্টাইল YAML-এর জন্য উপযুক্ত।
অ্যাঙ্কর ও অ্যালিয়াস✅ সংরক্ষিতচারপাশের কাঠামো পুনরায় ইন্ডেন্ট করার সময় `&anchor` এবং `*alias` রেফারেন্স অক্ষত রাখে।
ব্লক স্কেলার✅ সংরক্ষিতঅভ্যন্তরীণ ইন্ডেন্টেশন সম্মান রেখে `|` এবং `>` ব্লক স্কেলার বজায় রাখে।
বুলিয়ান ও সংখ্যা✅ সতর্কভাবে পরিচালনাফরম্যাটিং মানগুলি রাখে কিন্তু `yes` বনাম "yes" বা `0012` বনাম "0012" এর মধ্যে পার্থক্য প্রকাশ করতে পারে।
মাল্টি-ডকুমেন্ট YAML (`---`)✅ সাধারণএকই ফাইলের একাধিক ডকুমেন্ট ক্রমানুসারে রাখা হয় এবং সামঞ্জস্যপূর্ণভাবে ফরম্যাট করা হয়।
যদি কোনো YAML স্নিপেট অত্যন্ত অস্বাভাবিক সিনট্যাক্স বা কাস্টম ট্যাগ ব্যবহার করে যা বান্ডিল করা Prettier YAML পার্সার বুঝতে পারে না, আপনি একটি পার্সার ত্রুটি দেখতে পারেন। সেই ক্ষেত্রে, স্নিপেটটি সরল করুন বা আপনার নিজস্ব টুলচেইন দিয়ে স্থানীয়ভাবে ফরম্যাটিং চালান।

ইন্ডেন্টেশন, র‍্যাপ দৈর্ঘ্য এবং আউটপুট স্টাইল

ফরম্যাটার মূল বিকল্পগুলি প্রকাশ করে যাতে আপনি আপনার প্রকল্পের স্টাইল যতটা সম্ভব মেলাতে পারেন।

সেটিংবিকল্পগুলিব্যবহারিক সুপারিশ
ইন্ডেন্ট স্টাইলস্পেস / ট্যাববেশিরভাগ YAML স্টাইল গাইড স্পেসের সুপারিশ করে; শুধুমাত্র যদি আপনার দল স্পষ্টভাবে ট্যাব পছন্দ করে।
ইন্ডেন্ট আকার১-৮ স্পেসকুবেরনেটস এবং ডকারের জন্য ২ স্পেস সাধারণ; অতিরিক্ত দৃশ্যমান স্বচ্ছতার জন্য ৪ স্পেস।
র‍্যাপ / লাইন দৈর্ঘ্য০-১২০ কলাম`0` র‍্যাপিং নিষ্ক্রিয় করে (একটি খুব বড় অভ্যন্তরীণ `printWidth` ব্যবহার করে), ৮০-১০০ ডিফগুলি কমপ্যাক্ট রাখে।
ফাইল এক্সটেনশন.yaml, .ymlটুল কনফিগের `fileExtensions` এবং `acceptedFileTypes` এর সাথে মেলে।
এই বিকল্পগুলি আপনার রিপোজিটরির `.prettierrc` বা `.editorconfig` এর সাথে সামঞ্জস্য করুন যাতে অনলাইন ফরম্যাটিং স্থানীয় উন্নয়ন এবং সিআই চেকগুলির সাথে মেলে।

সীমা ও কার্যক্ষমতা

ব্রাউজার ট্যাবে YAML কনফিগের ইন্টারেক্টিভ ফরম্যাটিংয়ের জন্য অপ্টিমাইজড।

প্যারামিটারসীমা / আচরণনোট
সর্বোচ্চ টেক্সট ইনপুট আকার≈ ২ MB (~২০,০০,০০০ অক্ষর)ফরম্যাটার ফাংশনের ভিতরে প্রয়োগ করা নিরাপত্তা সীমা।
সর্বোচ্চ ফাইল আপলোড আকার≈ ৫ এমবিসুবিধা এবং নির্ভরযোগ্যতার জন্য UI `maxFileSize` সেটিং দ্বারা সীমাবদ্ধ।
ফরম্যাটিং টাইমআউট~২৫ সেকেন্ডব্রাউজার হ্যাং হওয়া রোধ করতে দীর্ঘস্থায়ী অপারেশন বাতিল করা হয়।
প্রাথমিক এক্সিকিউশনক্লায়েন্ট-সাইডআপনার ব্রাউজারে সরাসরি `runPrettier` এবং একটি Prettier YAML প্লাগইন এর মাধ্যমে চলে।
সার্ভার ফলব্যাকশুধুমাত্র পার্সার/প্লাগইন ত্রুটিতেযদি প্রয়োজনীয় পার্সার প্লাগইন অনুপস্থিত থাকে, একটি সুরক্ষিত `/api/yaml-formatter` এন্ডপয়েন্ট ফলব্যাক হিসাবে ব্যবহার করা যেতে পারে।
বিশাল YAML বান্ডেলের জন্য (Helm চার্ট, বিশাল CRD লাইব্রেরি ইত্যাদি), আপনার স্থানীয় ওয়ার্কফ্লো বা CI পাইপলাইনে একীভূত `prettier` বা `yq` এর মতো CLI গুলি পছন্দ করুন।

YAML ফরম্যাটিং এর জন্য CLI বিকল্প

দ্রুত ক্লিনআপের জন্য অনলাইন ফরম্যাটার ব্যবহার করুন, এবং বড় প্রকল্প ও স্বয়ংক্রিয় পাইপলাইনের জন্য CLI টুলস এর উপর নির্ভর করুন।

লিনাক্স / 🍏 macOS

yq দিয়ে একটি YAML ফাইল ফরম্যাট করুন (সুন্দর-প্রিন্ট)

yq eval -P config.yaml > config.formatted.yaml

yq সংস্করণের উপর নির্ভর করে সামঞ্জস্যপূর্ণ ইন্ডেন্টেশন এবং কী অর্ডারিং সহ YAML পুনরায় লিখে।

Prettier দিয়ে YAML স্বাভাবিক করুন

prettier --parser yaml --write "**/*.{yaml,yml}"

আপনার সম্পূর্ণ রিপোজিটরিতে একই শ্রেণীর ইঞ্জিন (Prettier YAML পার্সার) চালায়।

উইন্ডোজ (PowerShell / cmd)

PowerShell + yq ব্যবহার করে YAML ফরম্যাট করুন

yq eval -P config.yaml | Set-Content config.formatted.yaml

YAML সুন্দরভাবে প্রিন্ট করে এবং ফলাফল ডিস্কে ফিরে লিখে।

PowerShell অবজেক্টের মাধ্যমে রাউন্ড-ট্রিপ YAML

Get-Content config.yaml -Raw | ConvertFrom-Yaml | ConvertTo-Yaml | Set-Content config.formatted.yaml

স্ট্রাকচার এবং ইন্ডেন্টেশন স্বাভাবিক করতে PowerShell এর YAML সমর্থন ব্যবহার করে।

এই অনলাইন ফরম্যাটারটি আপনার CI পাইপলাইনে একটি `prettier --check` বা `yq` ধাপের সাথে একত্রিত করুন যাতে রিপোতে সমস্ত YAML সামঞ্জস্যপূর্ণভাবে ফরম্যাটেড থাকে তা নিশ্চিত করতে।

ব্যবহারিক YAML ব্যবহারের ক্ষেত্র

ইনফ্রাস্ট্রাকচার এবং কুবেরনেটস ম্যানিফেস্ট

  • কোড রিভিউ এর আগে কুবেরনেটস `Deployment`, `Service` এবং `Ingress` ম্যানিফেস্ট ফরম্যাট করুন।
  • Helm চার্টে `values.yaml` ফাইলগুলি স্বাভাবিক করুন যাতে ডিফগুলি পরিষ্কার হয়।
  • CRDs, ConfigMaps এবং Secrets YAML পরিবেশ জুড়ে সামঞ্জস্যপূর্ণভাবে ইন্ডেন্টেড রাখুন।
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
spec:
  replicas: 3
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
        - name: my-app
          image: my-app:latest
          ports:
            - containerPort: 80

Docker Compose এবং লোকাল ডেভ কনফিগ

  • ডকুমেন্টেশন বা টিকেটে শেয়ার করার আগে `docker-compose.yml` সুন্দর করুন।
  • সেবা, নেটওয়ার্ক এবং ভলিউমগুলির ইন্ডেন্টেশন সারিবদ্ধ করুন সহজ রক্ষণাবেক্ষণের জন্য।
  • ব্লগ পোস্ট এবং অনবোর্ডিং গাইডের জন্য পরিষ্কার YAML স্নিপেট প্রস্তুত করুন।
version: "3.9"
services:
  web:
    image: myapp:latest
    ports:
      - "8080:80"
    environment:
      - NODE_ENV=production
  db:
    image: postgres:16
    environment:
      POSTGRES_PASSWORD: example

CI/CD পাইপলাইন ও অটোমেশন

  • GitHub Actions ওয়ার্কফ্লো ফরম্যাট করুন (`.github/workflows/*.yml`)।
  • GitLab CI (`.gitlab-ci.yml`) বা Azure Pipelines YAML পরিষ্কার করুন।
  • দল জুড়ে অটোমেশন এবং ইনফ্রা-এজ-কোড YAML পাঠযোগ্য রাখুন।
name: CI
on:
  push:
    branches: [ main ]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 22
      - run: npm ci
      - run: npm test

❓ Frequently Asked Questions

এই YAML ফরম্যাটারটি কী করে?

এটি YAML ইনপুট নেয় (সাধারণত কনফিগারেশন ফাইল) এবং Prettier-ভিত্তিক YAML ইঞ্জিন ব্যবহার করে সামঞ্জস্যপূর্ণ ইন্ডেন্টেশন এবং র‍্যাপিং দিয়ে পুনরায় লিখে। আপনার কনফিগের শব্দার্থবিদ্যা একই থাকে, কিন্তু লেআউট পড়া এবং পর্যালোচনা করা অনেক সহজ হয়ে যায়।

🧩কোন YAML বৈশিষ্ট্যগুলি সমর্থিত?

ফরম্যাটারটি কনফিগ ফাইলে ব্যবহৃত সাধারণ YAML 1.2 বৈশিষ্ট্যের জন্য ডিজাইন করা হয়েছে: ম্যাপিং, তালিকা, অ্যাঙ্কর এবং উপনাম, ব্লক স্কেলার (`|` / `>`), এবং `---` দ্বারা পৃথকীকৃত মাল্টি-ডকুমেন্ট ফাইল। কাস্টম ট্যাগ এবং খুব অস্বাভাবিক কনস্ট্রাক্ট অন্তর্নিহিত পার্সার দ্বারা সম্পূর্ণরূপে সমর্থিত নাও হতে পারে।

📏YAML ইনপুটের জন্য কি আকার সীমা আছে?

স্থিতিশীলতা এবং ব্রাউজার কর্মক্ষমতার জন্য, টেক্সট ইনপুট প্রায় 2 MB (~2,000,000 অক্ষর) এবং আপলোড করা ফাইল প্রায় 5 MB সীমিত। বৃহত্তর কোডবেস বা জেনারেটেড YAML-এর জন্য, আপনার CLI বা CI পাইপলাইন থেকে Prettier বা yq চালান।

🔐আমার YAML কি সার্ভারে আপলোড হয়?

ফরম্যাটিং প্রাথমিকভাবে আপনার ব্রাউজারে `runPrettier` এবং Prettier YAML প্লাগইন এর মাধ্যমে চলে, তাই সাধারণ অপারেশনে আপনার YAML ক্লায়েন্ট ছেড়ে যায় না। বিরল ক্ষেত্রে যখন একটি প্রয়োজনীয় পার্সার প্লাগইন অনুপস্থিত থাকে, টুলটি একটি সুরক্ষিত `/api/yaml-formatter` এন্ডপয়েন্টে ফিরে যেতে পারে। এমনকি তখনও, আপনার YAML শুধুমাত্র অস্থায়ীভাবে প্রক্রিয়া করা হয় এবং সংরক্ষণ করা হয় না।

⚠️কেন আমি মাঝে মাঝে পার্সার ত্রুটি দেখি?

পার্সার ত্রুটিগুলি সাধারণত অর্থ হল YAMLটি ভুলভাবে গঠিত (যেমন অসামঞ্জস্যপূর্ণ ইন্ডেন্টেশন, অনুপস্থিত `:` বা ভুলভাবে সারিবদ্ধ তালিকা আইটেম) বা বান্ডিল পার্সার বুঝতে পারে না এমন সিনট্যাক্স ব্যবহার করে। ইন্ডেন্টেশন এবং কাঠামো বৈধতা যাচাই করুন, বা স্নিপেট সরল করার চেষ্টা করুন, তারপর আবার ফরম্যাটার চালান।

📚এটি আমার স্থানীয় Prettier সেটআপের সাথে কীভাবে সম্পর্কিত?

এই টুলটি হুডের নিচে একটি Prettier-ভিত্তিক YAML ইঞ্জিন ব্যবহার করে, `prettier --parser yaml` চালানোর মতো। আপনি দ্রুত এক-অফ ফিক্সের জন্য এটি ব্যবহার করতে পারেন এবং এখনও সম্পূর্ণ-প্রকল্প ফরম্যাটিংয়ের জন্য আপনার স্থানীয় `.prettierrc` এবং CLI কমান্ডের উপর নির্ভর করতে পারেন।

Pro Tips

Best Practice

একটি রিপোতে সমস্ত YAML (Kubernetes, GitHub Actions, Docker Compose) একই ইন্ডেন্টেশন শৈলী দিয়ে স্বাভাবিক করুন যাতে ডিফ এবং রিভিউ অনেক সহজ হয়।

Best Practice

`yes`, `no`, `on`, `off`, `0012` এর মতো মানগুলোর সাথে সতর্ক থাকুন – স্ট্রিং হিসেবে বিবেচনা করতে চাইলে এগুলোকে কোটেশনের মধ্যে রাখুন, বুলিয়ান বা অক্টাল-সদৃশ সংখ্যা হিসেবে নয়।

Best Practice

ডকুমেন্টেশন বা টিকেটের জন্য স্নিপেট দ্রুত ক্লিন আপ করতে এই অনলাইন ফর্ম্যাটার ব্যবহার করুন, তারপর সম্পূর্ণ প্রকল্পের জন্য প্রি-কমিট হুকে `prettier` বা `yq` এর উপর নির্ভর করুন।

CI Tip

বড় কনফিগ রিফ্যাক্টর করার সময়, প্রথমে ফর্ম্যাট করুন যাতে সেমান্টিক পরিবর্তনগুলি Git ডিফে স্পষ্টভাবে দৃশ্যমান হয়, ইন্ডেন্টেশন নয়েজে ডুবে না যায়।

Additional Resources

Other Tools