এক পলকে মার্কডাউন মার্কাপ ল্যাংগুয়েজ

Zonayed Ahmed
Apr 19, 2018 · 5 min read
Image for post
Image for post

মার্কডাউন প্লেইন মার্কাপ ল্যাংগুয়েজ। এটা সাধারণত টেক্সট ফরম্যাটিং এ ইউজ করা হয়। এটা অনেকটা HTML এর মতো, কিন্তু অনেকটা সিম্পল এবং জাস্ট কয়েকটা সিনট্যাক্স পাবেন এতে। আপনি এই মার্কাপ ল্যাংগুয়েজ বেশিরভাগ রিচ টেক্সট এডিটরগুলোয় পাবেন। তাছাড়া বিশেষ করে গিটহাবের README.md ফাইলগুলোয় পাবেন। গিটহাবের নিজস্ব ফ্লেভারড মার্কডাউন সিনট্যাক্স আছে, যেটা আমি নিচে আলোচনা করেছি বিস্তারিত।

মার্কডাউনে বিশেষ করে .md, .markdown ফাইল এক্সটেনশন সাপোর্ট করে। তবে এছাড়াও আরো কিছু টাইপ সাপোর্ট করে। কিন্তু কমনলি এগুলাই ইউজ করা হয়।

আমি নিচে প্রথমে মার্কডাউনের ব্যাসিক সিনট্যাক্স নিয়ে আলোচনা করেছি। আর পরবর্তিতে গিটহাবের ফ্লেভারড মার্কডাউন নিয়েও পরে লিখেছি। গিটহাবে মার্কডাউনের মেইন সিনট্যাক্সসহ ফ্লেভারড সবগুলোই সাপোর্ট করবে।

হেডারঃ মার্কডাউনে আমরা জাস্ট এইচটিএমএল এর মতোই ৬ লেভেলের হেডিং টেক্সট লিখতে পারি। জাস্ট টেক্সট এর আগে # দিলেই হবে। একটা # মানে হেডিং ১ লেভেলের হেডিং, সবচেয়ে বড়। একটা # থেকে শুরু করে এমন ## (দুইটা), ### (তিনটা) থেকে ###### (ছয়টা) পর্যন্ত সাপোর্ট করে।

# হেডিং এক
## হেডিং দুই
### হেডিং তিন
#### হেডিং চার
##### হেডিং পাচ
###### হেডিং ছয়

গুরুত্বপূর্ন টেক্সটঃ আমরা লেখায় গুরুত্ব বুঝাতে বিভিন্নরকম যেমন ইটালিক বা বোল্ড অক্ষরে লিখি। মার্কডাউনে ইটালিক কিংবা বোল্ড এ লিখা যায় দুইরকমভাবেঃ

*ইটালিক টেক্সট*_এভাবেও ইটালিক টেক্সট লিখা যায়_**মোটা টেক্সট**__এভাবেও মোটা টেক্সট লিখা যায়__*ইটালিক আর **মোটা** দুইটা একসাথে*~~কাটাকাটি করতে চাইলে~~

ইটালিক টেক্সট এ আন্ডারস্কোর শুরুতে ও শেষে একটা করে। মোটা টেক্সট লিখার আগে আন্ডারস্কোর দুইটা এবং শেষে দুইটা।

সোজা লাইনঃ আমরা যদি সোজা(হরিজন্টাল) লাইন চাই তাহলে জাস্ট তিনটা --- অথবা ___ ইউজ করে লাইন নিতে পারি।

___---

উক্তিঃ আমরা সাধারণত অন্য কোনো সোর্স থেকে কোনো লিখা নিলে বা কারো উক্তি লিখতে ব্লককোট ইউজ করি। মার্কডাউনেও সহজেই > দিয়ে উক্তি লিখা যায়

কেউ একজন বলেছেঃ
> সময় থাককে সময়ের মূল্য বুঝতে শিখো, নাইলে পরে পস্তাবে

কোডঃ আমরা মার্কডাউনে কোডকেও স্পেশাল ভাবে বক্সের ভিতরে করে লিখতে পারি। তবে দুইভাবে লিখা যায়। এক হচ্ছে একই লাইনের ভিতরে ` ইউজ করে। আর অনেকগুলো লাইনের ``` ইউজ করে। ` একে ব্যাকটিক বলে, ঠিক আপনার কীবোর্ডের ট্যাব কী’র উপরে পাবেন।

একই লাইনে কোডকে স্পেশালভাবে লিখতেঃ

HTML paragraphs tags start with `<p>` and ends with `</p>`

কয়েকলাইনের কোড লিখতে চাইলেঃ

```
<p>This is a HTML paragraph</p>
```

লিস্টঃ লিস্ট আকারে কিছু লিখতে চাইলেও সেটা মার্কডাউনে সাপোর্ট করে। অর্ডার, আন-অর্ডার দুইভাবেই সাপোর্ট করে

আন-অর্ডারঃ
* আইটেম এক
* আইটেম দুই
* আইটেমে আইটেম এক
* আইটেমে আইটেম দুই

অর্ডারঃ
1. আইটেম এক
2. আইটেম দুই
* আইটেমে আইটেম এক
* আইটেমে আইটেম দুই

ইমেজঃ কোনো ইমেজ ইন্সার্ট করতে চাইলে সেটাও করা যাবে।

![Markdown withing a minute](http://kirkstrobeck.github.io/whatismarkdown.com/img/markdown.png)

লিঙ্কঃ কোনো টেক্সট এ লিঙ্ক ধরাতে চাইলে এভাবে(প্রথম উদাহরণ) নরমালি লিখা যাবে। আবার যদি চাই লিঙ্ক এর উপরে মাউস ধরলে লিঙ্ক সম্পর্কে কিছু ইনফরমেশন দেখা যাবে তাহলে সেভাবেও লিখা যাবে।

[আমার ব্লগ](https://with.zonayed.me/bn)[জুনায়েদ এর সাথে](https://with.zonayed.me/bn, "with.zonayed.me")

এসকেপঃ অনেকসময় আমাদের লেখায় মার্কডাউন এর স্পেশাল সিনট্যাক্স গুলো লিখতে হতে পারে। যেমন আমরা যদি * লিখতে চাই তাহলে সেটা কিন্তু ইটালিক টেক্সট হয়ে যাবে। কিন্তু আমরা যদি আসলেই লেখায় * ইউজ করতে চাই, তাহলে আমরা এসকেপ(\) ক্যারেক্টারের সাহায্য নিতে পারি। এসকেপ ক্যারেক্টারের সাহায্যে এরকম স্পেশাল *, **, # বা আরো বাকী যে সিনট্যাক্স গুলো আছে সেগুলা এসকেপ করে অরিজিনাল ক্যারেক্টারটা প্রিন্ট করা যায়।

\# হেডারের জন্যে \#

\* ইটালিক টেক্সট এর জন্যে \*

\** স্ট্রং টেক্সট এর জন্যে \**

নিচের এই ক্যারেক্টারগুলোর জন্যে মার্কডাউনের এসকেপ ক্যারেক্টার ইউজ করা যাবেঃ

\
`
*
_
{}
[]
()
#
+
-
.
!

আমাদের সাধারণত গিটহাবেই মার্কডাউন বেশী করতে হয়। গিটহাবে সব প্রোজেক্টেই README.md নামে ফাইল পাবেন যেটা ব্যাসিকিলি মার্কডাউন ফাইল। যেহেতু এই মার্কাপ ল্যাংগুয়েজ গিটহাবে রেপিডলি ইউজ করা হয় তাই গিটহাব নিজেই একটা ফ্লেভারড ভার্শন তৈরী করেছে আরো কিছু এক্সট্রা ফিচার নিয়ে। এক্সট্রা ফিচার হিসাবে আরো যা যা পাবেন গিটহাবে মার্কডাউন দিয়ে সেগুলোই এখানে আলোচনা করবো।

কাউকে মেনশন করাঃ গিটহাবে সাধারণত আপনি আরেকজন ডেভেলপার বা ইউজারকে মেনশন করতে পারবেন সোশ্যাল মিডিয়ার মতো। এটা খুবি নরমালি করা যায়। @ ইউজ করে সাথে গিটহাব ইউজারনেম দিতে হবে।

Contributed by: @zonayedpca

মেনশন @ আপনি শুধুমাত্র README.md তে বা প্রোজেক্টের ইস্যু, কমেন্টে ইউজ করতে পারবেন। অন্যকোনো জায়গা যেমন gist ইউজ করা যাবে না। এর উদ্দেশ্য হচ্ছে আপনি যাকে মেনশন করবেন সে একটা নোটিফিকেশন পাবে আপনার কমেন্ট, সমস্যা বা প্রোজেক্ট দেখার জন্যে।

স্পেশাল রেফারেন্সঃ গিটহাবে এমনিতে স্পেশাল কিছু টেক্সট আছে যেগুলো লিখলে গিটহাব অটোমেটিকেলি কনভার্ট করে ফেলে। যেমন কোনো লিঙ্ক লিখলে সেটা অটোমেটিক ক্লিকেবল হয়ে যায়।

Visit https://github.com

রেন্ডার হবে এরকমঃ

Visit https://github.com

কোনো প্রোজেক্টের ইস্যুর লিঙ্ক দিলে শর্ট হয়ে শুধুমাত্র ইস্যুর নাম্বারটা দেখায়ঃ

https://github.com/jlord/sheetsee.js/issues/26

রেন্ডার হবে এরকমঃ

#26

GH- লিখে কারেন্ট প্রোজেক্ট এর জাস্ট ইস্যু নাম্বার লিখলেই সেই ইস্যুর লিঙ্ক অটোমেটিক অ্যাড হয়ে যায়ঃ

GH-26

যে প্রোজেক্টে ইউজ করবেন সে প্রোজেক্টের 26 নাম্বার ইস্যুর রেফারেন্স লিঙ্ক আসবেঃ

GH-26

যেকোনো প্রোজেক্টের ইস্যুর লিঙ্ক পেতে প্রোজেক্ট এর লিঙ্ক(জাস্ট ইউজারনেম আর প্রোজেক্ট এর ইউনিক নেইম) দিয়ে সেই ইস্যুর রেফারেন্স লিঙ্ক পাওয়া যাবে যেটা গিটহাব অটোমেটিকই রেন্ডার করে।

jlord/sheetsee.js#26

রেন্ডার হবে এমনঃ

jlord/sheetsee.js#26

কোনো কমিট এর লিঙ্ক দিলে সেটা শর্ট হয়ে যাবে। জাস্ট কমিটের ইউনিক আইডির প্রথম কয়েকটা অক্ষর দেখাবেঃ

https://github.com/jlord/sheetsee.js/commit/a5c3785ed8d6a35868bc169f07e40e889087fd2e

রেন্ডার হবেঃ

a5c3785

এছাড়াও SHA হ্যাশও শর্ট হয়ে যাবে। এমন আজব বড় এলোমেলো অনেকগুলো অক্ষর দেখানোর চাইতে ছোটো করে ইউনিক কী দেখানোটাই বেটার। সেজন্যেই গিটহাব অটোমেটিকেলিই এগুলো শর্ট করে ফেলে।

এই স্পেশাল রেফারেন্সগুলো সবজায়গায় কাজ করবেনা। যেখানে প্রয়োজন সেখানেই কাজ করবে।

ইমোজিঃ হ্যাঁ গিটহাবে আপনি ইমোজিও ব্যবহার করতে পারবেন।

:+1: :sparkles: :camel: :tada: :rocket: :metal: :octocat:

ইমোজির ফুল লিস্ট পেতে চাইলে এখানে দেখতে পারেন।

ফ্যান্সি কোড ব্লকঃ সাধারণত মার্কডাউনে কোড ব্লক সাপোর্ট করে। কিন্তু গিটহাব এটাকে আরেকটু ডেভেলপ করে কালারফুল কোড ব্লক অ্যাড করেছে।

```javascript
function sum(a, b) {
return a + b;
}
```

এখানে আমি javascript ইউজ করলেও আপনি পরিচিত যেকোনো প্রোগ্রামিং ল্যাংগুয়েজই ইউজ করতে পারবেন যেমন python, java ইত্যাদি ইত্যাদি…।

টাস্ক লিস্টঃ গিটহাবে আরো ডেভেলপড লিস্ট বানাতে পারবেন মার্কডাউন দিয়ে। সিলেক্টবক্স বানাতে পারবেন, সিলিক্টেড বা আনসিলেক্টেড অপশন ইউজ করতে পারবেন।

- [ ] Item 1
- [x] Item 2
- [x] Item 3
- [ ] Item 4

এই সিলেক্টবক্স ভিজুয়্যালি ইন্টার‍্যাক্টিভ না, মানে আপনি বক্স সিলেক্ট করতে চাইলে ক্লিক করে সিলেক্ট করতে পারবেন না। আপনাকে কোড মডিফাই করে সিলেক্ট আনসিলেক্ট করতে হবে।

টেবিলঃ চাইলে টেবিলও বানাতে পারবেন ইচ্ছামতো রো আর কলাম দিয়ে।

First Column | Second Column | Third Column | Fourth Column
------------ | ------------ | ------------ | ------------
Content One | Content Two | Content Three | Content Four
Content Five | Content Six | Content Seven | Content Eight

অনলাইনে Markdown to HTML নামেও কিছু কনভার্টার পাবেন। চাইলে এই মার্কডাউনগুলোকেও HTML এ কনভার্ট করে ফেলতে পারবেন ঐ টুলগুলো দিয়ে।

নোটঃ যেখানে মার্কডাউন সাপোর্ট করে সেখানে সাধারণত মার্কডাউন কোড লিখলেও চলে। তবে কোথাও যদি ফাইল হিসাবে সেইভ করতে হয় তাহলে মার্কডাউনের ফাইল এক্সটেনশন ইউজ করাই ভালো। অনেকসময় ইউজ না করলে কাজ নাও করতে পারে। নিচের ফাইলে এক্সটেনশনগুলো সাধারণত মার্কডাউনের জন্যে ইউজ করা হয়ঃ

.markdown
.mdown
.mkdn
.md
.mkd
.mdwn
.mdtxt
.mdtext
.text
.Rmd

আর গিটহাবে এগুলোর markdown, mdown, mkdn, mkd, md যেকোনো একটা এক্সটেনশন দিয়ে ফাইল সেইভ করলে গিটহাব সেটার ভিতরের কন্টেন্টগুলো থেকে মার্কডাউন এর সিনট্যাক্স ধরে নিতে পারবে। তাছাড়াও বাই ডিফল্ট হিসাবে প্রোজেক্টের হোমপেজে যে Readme দেখায় সেটা গিটহাব README.md নামক ফাইল থেকে অটোম্যাটিক ধরে নেয় যদি এই ফাইল আপনার প্রোজেক্টের কাঙ্ক্ষিত ডিরেক্টরিতে পাওয়া যায়।

আমার এই লেখা পূর্বে আমার ব্লগে প্রকাশিত হয়েছে। চাইলে আমার ব্লগ থেকে ঘুরে আসতে পারেন। ব্লগ থেকে সাবস্ক্রাইব করলে আমি নিজে থেকেই আমার নতুন লেখাগুলো আপনার ইমেইলে প্রতি শুক্রবার সকালে পাঠিয়ে দিবো। ভালো থাকবেন। হ্যাপী প্রোগ্রামিং!

প্রোগ্রামিং পাতা

সহজ বাংলায় প্রোগ্রামিং জ্ঞান ছড়িয়ে দেয়ার প্রত্যয়ে

By প্রোগ্রামিং পাতা

সহজ বাংলায় প্রোগ্রামিং জ্ঞান ছড়িয়ে দেয়ার প্রত্যয়ে আমাদের পথচলা।  Take a look

By signing up, you will create a Medium account if you don’t already have one. Review our Privacy Policy for more information about our privacy practices.

Check your inbox
Medium sent you an email at to complete your subscription.

Zonayed Ahmed

Written by

Front End Engineer — Passionate Programmer — ❤ JavaScript — Skill is My Weapon, Perfection is My Habit — 🌍https://www.zonayed.me

প্রোগ্রামিং পাতা

সহজ বাংলায় প্রোগ্রামিং জ্ঞান ছড়িয়ে দেয়ার প্রত্যয়ে

Zonayed Ahmed

Written by

Front End Engineer — Passionate Programmer — ❤ JavaScript — Skill is My Weapon, Perfection is My Habit — 🌍https://www.zonayed.me

প্রোগ্রামিং পাতা

সহজ বাংলায় প্রোগ্রামিং জ্ঞান ছড়িয়ে দেয়ার প্রত্যয়ে

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store