এই YAML ফরম্যাটারের মূল বৈশিষ্ট্য
- Prettier-ভিত্তিক ফরম্যাটিং YAML 1.2 কনফিগারেশন ফাইলের জন্য টিউন করা
- কনফিগারযোগ্য ইন্ডেন্ট সাইজ (1–8) এবং স্পেস বনাম ট্যাব সহ সামঞ্জস্যপূর্ণ ইন্ডেন্টেশন
- সমন্বয়যোগ্য র্যাপ / লাইন দৈর্ঘ্য যাতে দীর্ঘ কী এবং মান পড়ার যোগ্য থাকে
- সঠিকভাবে অ্যাঙ্কর, এলিয়াস, বুলিয়ান-এস-স্ট্রিং এবং মাল্টিলাইন ব্লক স্কেলার পরিচালনা করে
- Kubernetes, Docker Compose, CI পাইপলাইন এবং আরও অনেক কিছুর জন্য `.yaml` এবং `.yml` ফাইলের সাথে কাজ করে
- আপনার এডিটর থেকে YAML পেস্ট করুন বা ফরম্যাটারে কনফিগ ফাইল ড্র্যাগ-এন্ড-ড্রপ করুন
- ফরম্যাট করা YAML এক ক্লিকে আপনার এডিটর বা রিপোজিটরিতে কপি করুন
- ফরম্যাটিং প্রাথমিকভাবে আপনার ব্রাউজারে ক্লায়েন্ট-সাইডে চলে; একটি নিরাপদ সার্ভার ফলব্যাক শুধুমাত্র ব্যবহার করা হতে পারে যদি প্রয়োজনীয় পার্সার/প্লাগইন অনুপস্থিত থাকে
🔧 কিভাবে YAML কনফিগ ফাইল ফরম্যাট করবেন for yaml-formatter
1. আপনার YAML পেস্ট বা আপলোড করুন
যেকোনো YAML স্নিপেট (Kubernetes ম্যানিফেস্ট, `docker-compose.yml`, GitHub Actions ওয়ার্কফ্লো, Ansible প্লেবুক, ইত্যাদি) কপি করুন এবং এডিটরে পেস্ট করুন, অথবা একটি `.yaml` / `.yml` ফাইল ড্র্যাগ ও ড্রপ করুন।
2. ইন্ডেন্টেশন এবং র্যাপিং টিউন করুন
স্পেস নাকি ট্যাব ব্যবহার করতে হবে তা বেছে নিন, ইন্ডেন্ট সাইজ (1–8 স্পেস) সেট করুন এবং আপনার দলের স্টাইলের সাথে মেলাতে র্যাপ / লাইন দৈর্ঘ্য সামঞ্জস্য করুন। `0` এর একটি র্যাপ দৈর্ঘ্য একটি খুব বড় অভ্যন্তরীণ `printWidth` ব্যবহার করে কার্যকরভাবে র্যাপিং অক্ষম করে।
3. ফরম্যাটার চালান
**ফরম্যাট** বাটনে ক্লিক করুন। Prettier-ভিত্তিক YAML ইঞ্জিন আপনার কনফিগকে সামঞ্জস্যপূর্ণ ইন্ডেন্টেশন দিয়ে পুনরায় লিখবে যখন অ্যাঙ্কর, এলিয়াস এবং ব্লক স্কেলার সংরক্ষণ করে যাতে শব্দার্থবিদ্যা পরিবর্তন না হয়।
4. পরিষ্কার YAML কপি করুন
আউটপুট পর্যালোচনা করুন, তারপর ফরম্যাট করা YAML আপনার এডিটরে ফিরে কপি করুন, এটিকে Git-এ কমিট করুন বা আপনার CI/CD বা ক্লাউড প্রদানকারীর UI-তে পেস্ট করুন।
প্রযুক্তিগত বিবরণ
ফরম্যাটিং ইঞ্জিন এবং YAML সমর্থন
এই টুলটি একটি Prettier-ভিত্তিক YAML ফরম্যাটারের উপরে নির্মিত যার কনফিগারেশন বিকল্পগুলি UI-তে উপস্থাপিত।
| বৈশিষ্ট্য | সমর্থন | নোট |
|---|---|---|
| YAML সংস্করণ | ✅ YAML 1.2 (সাধারণ) | কুবেরনেটস, ডকার, সিআই/সিডি এবং অ্যাপ্লিকেশনগুলিতে ব্যবহৃত আধুনিক কনফিগ-স্টাইল YAML-এর জন্য উপযুক্ত। |
| অ্যাঙ্কর ও অ্যালিয়াস | ✅ সংরক্ষিত | চারপাশের কাঠামো পুনরায় ইন্ডেন্ট করার সময় `&anchor` এবং `*alias` রেফারেন্স অক্ষত রাখে। |
| ব্লক স্কেলার | ✅ সংরক্ষিত | অভ্যন্তরীণ ইন্ডেন্টেশন সম্মান রেখে `|` এবং `>` ব্লক স্কেলার বজায় রাখে। |
| বুলিয়ান ও সংখ্যা | ✅ সতর্কভাবে পরিচালনা | ফরম্যাটিং মানগুলি রাখে কিন্তু `yes` বনাম "yes" বা `0012` বনাম "0012" এর মধ্যে পার্থক্য প্রকাশ করতে পারে। |
| মাল্টি-ডকুমেন্ট YAML (`---`) | ✅ সাধারণ | একই ফাইলের একাধিক ডকুমেন্ট ক্রমানুসারে রাখা হয় এবং সামঞ্জস্যপূর্ণভাবে ফরম্যাট করা হয়। |
ইন্ডেন্টেশন, র্যাপ দৈর্ঘ্য এবং আউটপুট স্টাইল
ফরম্যাটার মূল বিকল্পগুলি প্রকাশ করে যাতে আপনি আপনার প্রকল্পের স্টাইল যতটা সম্ভব মেলাতে পারেন।
| সেটিং | বিকল্পগুলি | ব্যবহারিক সুপারিশ |
|---|---|---|
| ইন্ডেন্ট স্টাইল | স্পেস / ট্যাব | বেশিরভাগ YAML স্টাইল গাইড স্পেসের সুপারিশ করে; শুধুমাত্র যদি আপনার দল স্পষ্টভাবে ট্যাব পছন্দ করে। |
| ইন্ডেন্ট আকার | ১-৮ স্পেস | কুবেরনেটস এবং ডকারের জন্য ২ স্পেস সাধারণ; অতিরিক্ত দৃশ্যমান স্বচ্ছতার জন্য ৪ স্পেস। |
| র্যাপ / লাইন দৈর্ঘ্য | ০-১২০ কলাম | `0` র্যাপিং নিষ্ক্রিয় করে (একটি খুব বড় অভ্যন্তরীণ `printWidth` ব্যবহার করে), ৮০-১০০ ডিফগুলি কমপ্যাক্ট রাখে। |
| ফাইল এক্সটেনশন | .yaml, .yml | টুল কনফিগের `fileExtensions` এবং `acceptedFileTypes` এর সাথে মেলে। |
সীমা ও কার্যক্ষমতা
ব্রাউজার ট্যাবে YAML কনফিগের ইন্টারেক্টিভ ফরম্যাটিংয়ের জন্য অপ্টিমাইজড।
| প্যারামিটার | সীমা / আচরণ | নোট |
|---|---|---|
| সর্বোচ্চ টেক্সট ইনপুট আকার | ≈ ২ MB (~২০,০০,০০০ অক্ষর) | ফরম্যাটার ফাংশনের ভিতরে প্রয়োগ করা নিরাপত্তা সীমা। |
| সর্বোচ্চ ফাইল আপলোড আকার | ≈ ৫ এমবি | সুবিধা এবং নির্ভরযোগ্যতার জন্য UI `maxFileSize` সেটিং দ্বারা সীমাবদ্ধ। |
| ফরম্যাটিং টাইমআউট | ~২৫ সেকেন্ড | ব্রাউজার হ্যাং হওয়া রোধ করতে দীর্ঘস্থায়ী অপারেশন বাতিল করা হয়। |
| প্রাথমিক এক্সিকিউশন | ক্লায়েন্ট-সাইড | আপনার ব্রাউজারে সরাসরি `runPrettier` এবং একটি Prettier YAML প্লাগইন এর মাধ্যমে চলে। |
| সার্ভার ফলব্যাক | শুধুমাত্র পার্সার/প্লাগইন ত্রুটিতে | যদি প্রয়োজনীয় পার্সার প্লাগইন অনুপস্থিত থাকে, একটি সুরক্ষিত `/api/yaml-formatter` এন্ডপয়েন্ট ফলব্যাক হিসাবে ব্যবহার করা যেতে পারে। |
YAML ফরম্যাটিং এর জন্য CLI বিকল্প
দ্রুত ক্লিনআপের জন্য অনলাইন ফরম্যাটার ব্যবহার করুন, এবং বড় প্রকল্প ও স্বয়ংক্রিয় পাইপলাইনের জন্য CLI টুলস এর উপর নির্ভর করুন।
লিনাক্স / 🍏 macOS
yq দিয়ে একটি YAML ফাইল ফরম্যাট করুন (সুন্দর-প্রিন্ট)
yq eval -P config.yaml > config.formatted.yamlyq সংস্করণের উপর নির্ভর করে সামঞ্জস্যপূর্ণ ইন্ডেন্টেশন এবং কী অর্ডারিং সহ 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.yamlYAML সুন্দরভাবে প্রিন্ট করে এবং ফলাফল ডিস্কে ফিরে লিখে।
PowerShell অবজেক্টের মাধ্যমে রাউন্ড-ট্রিপ YAML
Get-Content config.yaml -Raw | ConvertFrom-Yaml | ConvertTo-Yaml | Set-Content config.formatted.yamlস্ট্রাকচার এবং ইন্ডেন্টেশন স্বাভাবিক করতে PowerShell এর 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: 80Docker 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: exampleCI/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 ইনপুটের জন্য কি আকার সীমা আছে?
YAML-এর জন্য, আপনার CLI বা CI পাইপলাইন থেকে Prettier বা yq চালান।🔐আমার YAML কি সার্ভারে আপলোড হয়?
YAML প্লাগইন এর মাধ্যমে চলে, তাই সাধারণ অপারেশনে আপনার YAML ক্লায়েন্ট ছেড়ে যায় না। বিরল ক্ষেত্রে যখন একটি প্রয়োজনীয় পার্সার প্লাগইন অনুপস্থিত থাকে, টুলটি একটি সুরক্ষিত `/api/yaml-formatter` এন্ডপয়েন্টে ফিরে যেতে পারে। এমনকি তখনও, আপনার YAML শুধুমাত্র অস্থায়ীভাবে প্রক্রিয়া করা হয় এবং সংরক্ষণ করা হয় না।⚠️কেন আমি মাঝে মাঝে পার্সার ত্রুটি দেখি?
YAMLটি ভুলভাবে গঠিত (যেমন অসামঞ্জস্যপূর্ণ ইন্ডেন্টেশন, অনুপস্থিত `:` বা ভুলভাবে সারিবদ্ধ তালিকা আইটেম) বা বান্ডিল পার্সার বুঝতে পারে না এমন সিনট্যাক্স ব্যবহার করে। ইন্ডেন্টেশন এবং কাঠামো বৈধতা যাচাই করুন, বা স্নিপেট সরল করার চেষ্টা করুন, তারপর আবার ফরম্যাটার চালান।📚এটি আমার স্থানীয় Prettier সেটআপের সাথে কীভাবে সম্পর্কিত?
YAML ইঞ্জিন ব্যবহার করে, `prettier --parser yaml` চালানোর মতো। আপনি দ্রুত এক-অফ ফিক্সের জন্য এটি ব্যবহার করতে পারেন এবং এখনও সম্পূর্ণ-প্রকল্প ফরম্যাটিংয়ের জন্য আপনার স্থানীয় `.prettierrc` এবং CLI কমান্ডের উপর নির্ভর করতে পারেন।Pro Tips
একটি রিপোতে সমস্ত YAML (Kubernetes, GitHub Actions, Docker Compose) একই ইন্ডেন্টেশন শৈলী দিয়ে স্বাভাবিক করুন যাতে ডিফ এবং রিভিউ অনেক সহজ হয়।
`yes`, `no`, `on`, `off`, `0012` এর মতো মানগুলোর সাথে সতর্ক থাকুন – স্ট্রিং হিসেবে বিবেচনা করতে চাইলে এগুলোকে কোটেশনের মধ্যে রাখুন, বুলিয়ান বা অক্টাল-সদৃশ সংখ্যা হিসেবে নয়।
ডকুমেন্টেশন বা টিকেটের জন্য স্নিপেট দ্রুত ক্লিন আপ করতে এই অনলাইন ফর্ম্যাটার ব্যবহার করুন, তারপর সম্পূর্ণ প্রকল্পের জন্য প্রি-কমিট হুকে `prettier` বা `yq` এর উপর নির্ভর করুন।
বড় কনফিগ রিফ্যাক্টর করার সময়, প্রথমে ফর্ম্যাট করুন যাতে সেমান্টিক পরিবর্তনগুলি Git ডিফে স্পষ্টভাবে দৃশ্যমান হয়, ইন্ডেন্টেশন নয়েজে ডুবে না যায়।
Additional Resources
Other Tools
- সিএসএস সৌন্দর্যবর্ধক
- এইচটিএমএল সৌন্দর্যবর্ধক
- জাভাস্ক্রিপ্ট সৌন্দর্যবর্ধক
- পিএইচপি সৌন্দর্যবর্ধক
- রং নির্বাচক
- স্প্রাইট এক্সট্র্যাক্টর
- বেস৬৪ ডিকোডার
- বেস৬৪ এনকোডার
- সি-শার্প ফরম্যাটার
- সিএসভি ফরম্যাটার
- Dockerfile Formatter
- এলম ফরম্যাটার
- ইএনভি ফরম্যাটার
- গো ফরম্যাটার
- গ্রাফকিউএল ফরম্যাটার
- এইচসিএল ফরম্যাটার
- আইএনআই ফরম্যাটার
- জেসন ফরম্যাটার
- ল্যাটেক ফরম্যাটার
- মার্কডাউন ফরম্যাটার
- অবজেক্টিভসি ফরম্যাটার
- Php Formatter
- প্রোটো ফরম্যাটার
- পাইথন ফরম্যাটার
- রুবি ফরম্যাটার
- রাস্ট ফরম্যাটার
- স্কালা ফরম্যাটার
- শেল স্ক্রিপ্ট ফরম্যাটার
- এসকিউএল ফরম্যাটার
- SVG ফরম্যাটার
- Swift ফরম্যাটার
- TOML ফরম্যাটার
- Typescript Formatter
- XML ফরম্যাটার
- Yarn ফরম্যাটার
- সিএসএস মিনিফায়ার
- Html Minifier
- Javascript Minifier
- জেসন মিনিফায়ার
- XML মিনিফায়ার
- এইচটিটিপি হেডার ভিউয়ার
- পিডিএফ থেকে টেক্সট
- রেজেক্স টেস্টার
- সার্প র্যাংক চেকার
- Whois লুকআপ