HUGO ব্যবহার করে ব্লগসাইট তৈরি


ভূমিকা

মাসখানেক ওয়ার্ডপ্রেস ব্যবহার করে একরকম বাধ্য হয়েই স্ট্যাটিক সাইটে মুভ করলাম। ওয়ার্ডপ্রেস ছাড়ার মূল কারন হলো - সার্ভার খরচ এবং সার্ভার ডাউন সমস্যা, ওয়ার্ডপ্রেসের ধীরগতি, SSL সার্টিফিকেট প্রবলেম ইত্যাদি। শিক্ষানবিশ হিসেবে আমার জন্য সার্ভার ও SSL সার্টিফিকেটের খরচ বহন করা সত্যিই কঠিন। আর ফ্রি হোস্টিং এর ব্যপার বোধহয় সবারই জানা। প্রথমে জেকিল ব্যবহার করে সাইট বানাব ভেবেছিলাম কিন্তু কোন অদ্ভুত কারনে জেকিল আমার পিসিতে ইন্সটলই করতে পারলাম না। শেষ পর্যন্ত হুগো ব্যবহারের সিদ্ধান্ত নিলাম। আর প্রথমবার হুগো সাইট ব্রাউজারে দেখে আমার অনুভূতি ছিল - “আরেহ্!! এটাই তো চাচ্ছিলাম।”

হুগো কি?

হুগো হলো গো ল্যাঙ্গুয়েজ ব্যবহার করে ডেভেলপ করা একটি গিটহাব প্রজেক্ট যা মার্কডাউন ফর্মাটে লিখা কন্টেন্টকে স্ট্যাটিক সাইটে রূপান্তর করতে পারে। যারা পার্সোনাল ব্লগ সাইট তৈরি করতে চান তাদের জন্য হুগো হতে পারে ওয়ার্ডপ্রেসের মোক্ষম বিকল্প। ওয়ার্ডপ্রেসে পোস্ট এডিটরে পোস্ট লিখলে সেটি html এ কনভার্ট হয়। আর হুগোতে পোস্ট লিখতে হয় টেক্সট এডিটরে (সেটি উইন্ডোজের নোটপ্যাডও হতে পারে) মার্কডাউন ফর্মাটে। এতক্ষনে যারা ভেবে বসেছেন হুগো ইউজ করতে হলে গো ল্যাঙ্গ আর মার্কডাউন জানতে হবে, তারা একটা লম্বা শান্তির নিশ্বাস ফেলতে পারেন। কেননা হুগো ব্যবহারে গো ল্যাং জানার কোন দরকার নাই। আমি তো নিজেই গো ল্যাঙ্গ পারিনা। HTML এর বেসিক জ্ঞান থাকলেই চলবে। আর মার্কডাউন? এই বস্তু আপনার কল্পনার চাইতেও সহজ। সবমিলিয়ে ওয়ার্ডপ্রেসের চাইতে হুগো অনেক সহজ আর কয়েকগুন বেশি ফাস্ট।

কিছু কথা কানে কানে

হুগোর কিছু সুবিধা শুনুন-

হুগো ইন্সটলেশন

* উইন্ডোজ

হুগো ইন্সটলেশনের জন্য প্রথমে https://github.com/gohugoio/hugo/releases থেকে প্রয়োজনীয় zip ফাইলটি ডাউনলোড করুন। সি ড্রাইভে Hugo নামে ফোল্ডার তৈরি করুন। Hugo ফোল্ডারের অভ্যন্তরে bin নামে আরও একটা ফোল্ডার তৈরি করুন। এবার bin ফোল্ডারের মধ্য ডাউনলোড করা জিপ ফাইলটি extract করুন। অর্থাৎ আপনার hugo.exe ফাইলের পাথ হল C:\Hugo\bin। পাথটি এবার সিস্টেম ভারিয়েবল হিসেবে সেট করুন। (সিস্টেম ভারিয়েবল সম্পর্কে না জানলে ইন্টারনেটের সহায়তা নিন)

* লিনাক্স (উবুন্টু)

টার্মিনালে নিচের কমান্ড রান করুন

sudo apt-get install hugo

* ম্যাক

brew install hugo

ইন্সটলেশন সম্পন্ন।

* ইন্সটল হয়েছে কিনা জানতে

কমান্ড প্রম্পট / টার্মিনাল ওপেন করে hugo varsion কমান্ড রান করলে নিচের মত আউটপুট দেখতে পাবেন -

Hugo Static Site Generator v0.74.2-48565DE6 windows/amd64 BuildDate: 2020-07-17T17:22:50Z

অর্থাৎ হুগোর 0.74.2 ভার্সনটি ইন্সটলেশন সম্পন্ন হয়েছে।

নতুন সাইট তৈরি করা

প্রথমে যে ডিরেক্টরিতে সাইট ফোল্ডারটি তৈরি করতে চান তার পাথ জেনে নিন। আমি আমার পিসিতে E:\blog-content পাথে আমার সাইট ফোল্ডার তৈরি করবো। এবার টার্মিনাল/সিএমডি ওপেন করে নিচের কমান্ড রান করে পাথটিতে প্রবেশ করুন-

cd your-path

এবার সাইট তৈরির পালা। এ জন্য hugo new কমান্ড ব্যবহার করতে হবে। ধরা যাক আপনি hello-world নামের সাইট তৈরি করতে চান। তবে টার্মিনাল/সিএমডি -এ নিচের কমান্ড রান করুন।

hugo new site hello-world

কমান্ডটির আউটপুট হবে নিচের মত

Congratulations! Your new Hugo site is created in E:\blog-content\hello-world.

Just a few more steps and you're ready to go:

1. Download a theme into the same-named folder.
   Choose a theme from https://themes.gohugo.io/ or
   create your own with the "hugo new theme <THEMENAME>" command.
2. Perhaps you want to add some content. You can add single files
   with "hugo new <SECTIONNAME>\<FILENAME>.<FORMAT>".
3. Start the built-in live server via "hugo server".

Visit https://gohugo.io/ for quickstart guide and full documentation.

অর্থাৎ আমাদের সাইটটি তৈরি। হুগো এবার কারেন্ট ওয়ার্কিং ডিরেক্টরিতে hello-world নামে একটা ফোল্ডার তৈরি করবে। ফোল্ডারটিতে ঢুকলে নিচের মত ফাইল স্ট্রাকচার দেখতে পাবেন।

hugo-bangla-tutorial

লোকাল সার্ভারে রান করা

সাইট তো তৈরি হল। এখন সেটি লোকাল সার্ভারে টেস্ট করার পালা। প্রথমে টার্মিনালে cd site-name(site-name এর স্থানে সাইটের নাম দিন) রান করে সাইট ফোল্ডারে প্রবেশ করুন। তারপর টার্মিনালে নিচের কমান্ড রান করে সাইট টি লোকাল সার্ভারে দেখতে পাবেন।

hugo server

এখন যেকোনো ব্রাউজারে গিয়ে http://localhost:1313 লিখে এন্টার করলে আপনার সাইটটি দৃশ্যমান হবে। ওহ! সরি। বলতে ভুলে গেছি - আপনি একটা সাদা পেজ দেখতে পাবেন। এর কারন হল আপনি আপনার সাইটের জন্য কোন থিম সেট করেননি।

থিম সেট করা

ইন্টারনেটে হুগোর অনেক সুন্দর সুন্দর থিম পাওয়া যায়। সেগুলোর যেকোনো একটি ডাউনলোড করে নিন। আমি পুরো আর্টিকেল জুড়ে soho থিম ব্যবহার করবো। এটি পাবেন https://theme.gohugo.io/soho লিঙ্ক থেকে। থিম সাধারণত জিপ ফাইল হিসেবে ডাউনলোড হবে। সেটি hello-world ফোল্ডারের ভিতরে themes নামক ফোল্ডারে extract করুন। theme ফোল্ডারের মধ্য এবার একটা নতুন ফোল্ডার তৈরি হবে। দরকার হলে ফোল্ডারটি রিনেম করতে পারেন। ফোল্ডারটির নামই আসলে থিমের নাম।

hugo-tutorial-bangla

এবার আমাদের মুল কাজ হল config.toml ফাইলে গিয়ে theme = "theme-name"(theme-name এর স্থানে থিমের নাম দিন) লিখে দেয়া। এরপর টার্মিনালে গিয়ে hugo server কমান্ড রান করলে সার্ভার চালু হবে এবং ব্রাউজারে গেলে সাইটটি দৃশ্যমান হবে।

পোস্ট করা

আশা করি মার্কডাউন সম্পর্কে আপনার ধারনা আছে। হুগোতে মার্কডাউন ফরমাটে পোস্ট লিখতে হয়। পোস্টগুলো থাকে content > post ফোল্ডারের মধ্য। নতুন পোস্ট তৈরির জন্য নিচের কমান্ড ফলো করুন -

hugo new post/post-name.md

content ফোল্ডারের মধ্য post ফোল্ডারে post-name.md নামে একটি ফাইল তৈরি হবে। ফাইলটি ওপেন করলে নিচের মত লেখা দেখতে পাবেন -

---
title: "Post Title"
date: 2020-07-26T21:44:04+06:00
draft: true
---

এটি হুগোতে বাই ডিফল্ট তৈরি হয়। এখানে title হিসেবে পোষ্টের নাম, date হিসেবে পোস্ট তৈরির সময়-তারিখ উল্লেখ থাকে। আর draft: true এর অর্থ পোস্টটি ড্রাফট হিসেবে তৈরি হয়েছে। চাইলে এগুলো এডিট করা যাবে। পোস্টটি এখন মূল সাইটে দেখা যাবে না। যদি দেখতে চান তবে নিচের মত করে সার্ভার চালু করতে হবে।

hugo server -D

এই কমান্ড ড্রাফট পোস্টগুলো মুল সাইটের মত করে প্রদর্শন করে। যদি পোস্ট টি পাবলিশ করতে চান তবে draft: false করে দিতে হবে। তখন hugo server কমান্ড রান করলেই সাইটে পোস্টটি দেখা সম্ভব। ডিফল্ট অংশটুকুর পর আপনাকে মার্কডাউন ফরম্যাটে পোস্ট লিখতে হবে।

সাইট বিল্ড করা

হুগো সাইট কোন হোস্টিং-এ পাবলিশ করতে চাইলে প্রথমে সাইটটি বিল্ড করতে হয়। হুগোতে সাইট বিল্ড করা খুবই সহজ কাজ। এর জন্য প্রথমে config.toml ফাইলে গিয়ে baseURL = "http://example.org/" খুজে বের করে http://example.org/ কে আপনার সাইটের ডোমেইন নেম দ্বারা রিপ্লেস করুন। এবার টার্মিনালে গিয়ে hugo লিখে এন্টার চাপুন। লক্ষ্য করলে দেখবেন public নামের একটা নতুন ফোল্ডার তৈরি হয়েছে। এই ফোল্ডারের মধ্যেকার ফাইলগুলো সার্ভারে আপলোড করলেই আপনার সাইট পাবলিশ হবে। একই ভাবে গিটহাবে ও আপনার সাইট পাবলিশ করতে পারেন। কিন্তু নেটলিফাই ব্যবহার করে সাইট পাবলিশ করতে চাইলে সাইট বিল্ড করার দরকার নেই।

সর্বশেষ

হুগো ব্যবহার করে সাইট তৈরির বেসিক অংশ এখানেই শেষ। পরবর্তীতে হয়তো থিম কাস্টমাইজেশন, লেআউট, ফর লুপ, কন্ডিশনাল, সর্ট কোড, ফাংশন, ট্যাক্সনোমিস, স্ট্যাটিক কন্টেন্ট নিয়ে লিখব। হুগো দিয়ে সাইট তৈরিতে কোন সমস্যা হলে মেইল করতে পারেন আমাকে।

Comments