Emacs একটি খুব এক্সটেনসিবল সফটওয়্যার। এটি আপনার পাঠ্য সম্পাদক, আপনার ইমেল ক্লায়েন্ট এবং এমনকি আপনার USENET পাঠক হতে পারে। Elfeed এর সাথে, আপনি আপনার RSS ফিড রিডার হিসাবে Emacs ব্যবহার করতে পারেন।
এলফিড কি?
Elfeed হল Emacs-এর জন্য লেখা একটি হালকা অথচ শক্তিশালী RSS ফিড রিডার। এটি আপনার RSS ফিডগুলি সাজানোর জন্য একটি সাধারণ ট্যাগ-ভিত্তিক সিস্টেম ব্যবহার করে৷ শুধু তাই নয়, এটি একটি শক্তিশালী "হুক-ভিত্তিক" ট্যাগিং সিস্টেমের সাথে আসে যা আপনাকে তাদের বিষয়বস্তুর উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে ফিডগুলিকে ট্যাগ করতে দেয়৷
এটি এলফিডকে এমন লোকদের জন্য উপযোগী করে তোলে যারা প্রচুর RSS ফিড অনুসরণ করছেন এবং তাদের ফিডগুলি স্বয়ংক্রিয়ভাবে সাজানোর উপায় খুঁজছেন৷
কেন Emacs-এ ফিডরিডার ব্যবহার করবেন?
Emacs আন্তঃকার্যযোগ্যতার ধারণায় কাজ করে, কারণ Emacs ডেটা নেয় এবং বিভিন্ন উপায়ে এটিকে ব্যাখ্যা করার অনুমতি দেয়।
আপনি একচেটিয়াভাবে টেক্সট সম্পাদনা করার জন্য Emacs ব্যবহার করতে পারলেও, টেক্সট সম্পাদনা করার সময় আপনার ইমেল অ্যাক্সেস করতে সক্ষম হওয়া, উদাহরণস্বরূপ, আপনি যে ইমেলটি রচনা করছেন তাতে আপনি যে টেক্সট লিখছেন তা নির্বিঘ্নে ব্যবহার করার অনুমতি দিতে পারে।
এই কারণেই আপনার আরএসএস ফিড রিডারকে Emacs-এ অন্তর্ভুক্ত করা লোভনীয় হতে পারে। এটি আপনাকে Emacs-এ আপনার ফিড এবং অন্যান্য ফাংশন ম্যানিপুলেট করতে Emacs-এর শক্তিশালী সম্পাদনা ক্ষমতা ব্যবহার করার অনুমতি দেবে৷
Emacs-এ Elfeed ইনস্টল করা হচ্ছে
এলফিড ইনস্টল করা সত্যিই সহজ। এটি GNU ELPA সংগ্রহস্থল থেকে পাওয়া যায়, তাই আপনি আপনার init.el ফাইলে কোনো পরিবর্তন ছাড়াই এটি অ্যাক্সেস করতে পারেন।
এলফিড ইনস্টল করতে, Alt টিপুন + X কমান্ড বাফার আনতে, তারপর package-install
টাইপ করুন . আপনাকে elfeed
প্রদান করতে হবে প্যাকেজের নাম হিসাবে এবং Enter টিপুন . Emacs Elfeed-এর সোর্স কোড ডাউনলোড করবে এবং এর সাথে সাথেই কম্পাইল করবে।
Emacs-এ আপনার প্রথম RSS ফিড সেট আপ করা
এটি ইনস্টল করার সাথে, Alt টিপে এলফিড অ্যাক্সেস করুন + X এবং elfeed
টাইপ করুন কমান্ড বাফারে। এটি করলে একটি খালি এলফিড বাফার লোড হবে৷
এলফিডে RSS ফিড যোগ করার দুটি উপায় আছে:
- ম্যানুয়ালি আপনার init.el ফাইল সম্পাদনা করুন
- Emacs ছাড়া
এলফিডে ম্যানুয়ালি একটি RSS ফিড যোগ করা
আপনার init.el ফাইলে ম্যানুয়ালি ফিড ইউআরএল যোগ করে আপনি সহজেই Elfeed তৈরি করতে পারেন, কারণ Elfeed-এর একটি "elfeed-feeds" ভেরিয়েবল রয়েছে যা এটি ট্র্যাক করে। এটি এলফিডকে বলে যে কোন ফিডগুলি আনতে হবে এবং তার ওভারভিউ স্ক্রিনে প্রদর্শন করতে হবে৷
৷উদাহরণস্বরূপ, এটি আমার init.el ফাইল থেকে একটি স্নিপেট।
(setq elfeed-feeds '("https://feeds.maketecheasier.com/MakeTechEasier" "https://solar.lowtechmagazine.com/feeds/all-en.atom.xml" "https://old.reddit.com/r/f1technical.rss"))
Setq একটি Emacs ফাংশন যা একটি নির্দিষ্ট ভেরিয়েবলের মান সেট করে। এই ক্ষেত্রে, এটি মান হিসাবে তিনটি ফিড লিঙ্ক সহ elfeed-feeds ভেরিয়েবল সেট করছে৷
সেখান থেকে, এলফিড স্বয়ংক্রিয়ভাবে সেই লিঙ্কগুলিকে তার অভ্যন্তরীণ ডাটাবেসে যুক্ত করবে, তারপরে আপনি পরের বার যখন প্রোগ্রামটি চালাবেন তখন লোড হবে৷
Emacs-এর মধ্যে একটি RSS ফিড যোগ করা
এলফিডকে পপুলেট করার আরেকটি উপায় হল এটি চলাকালীন ফিড লিঙ্ক দেওয়া। এটি আপনাকে Emacs পুনরায় লোড না করে RSS লিঙ্কগুলির সাথে সক্রিয়ভাবে আপনার ফিড রোস্টার আপডেট করতে দেয়৷
এটি করতে, Alt টিপুন + X কমান্ড বাফার খুলতে. elfeed-add-feed
টাইপ করুন এবং এন্টার টিপুন . এলফিড আপনাকে যে ফিড লোড করতে চান তার URL প্রদান করতে বলবে।
আমার ক্ষেত্রে, সাম্প্রতিক প্রযুক্তি নিবন্ধগুলির দৈনিক আপডেট পেতে আমি এলফিডকে আমাদের ফিড URL প্রদান করছি৷
আমি ফিড ইউআরএল কপি করে Ctrl টিপুন + Y URL প্রম্পটে Emacs-এর লিঙ্ক পেস্ট করতে। একবার পেস্ট করা হলে, আমাকে শুধু Enter টিপতে হবে এলফিডে ফিড ইউআরএল কমিট করতে।
কীভাবে Emacs-এ স্বয়ংক্রিয়ভাবে ট্যাগ এবং ফিল্টার ফিডগুলি
RSS ফিডগুলি তালিকাভুক্ত করা এবং দেখার পাশাপাশি, এলফিড অনেকগুলি ফাংশনও সম্পাদন করতে পারে যা আপনাকে আপনার ফিড তালিকাকে সূক্ষ্মভাবে সুর করার অনুমতি দেবে৷
সেই ঝরঝরে ফাংশনগুলির মধ্যে একটি হল স্বয়ংক্রিয় ট্যাগিং। এই বৈশিষ্ট্যটি আপনাকে একটি নির্দিষ্ট ফিড থেকে আসা RSS এন্ট্রিগুলিকে অবিলম্বে ট্যাগ করতে দেয়৷
৷উদাহরণস্বরূপ, যদি আপনার একটি নির্দিষ্ট বিষয় সম্পর্কে একাধিক ফিড থাকে, তাহলে আপনি সেট করতে পারেন যাতে সেগুলির সকলের একই ট্যাগ থাকবে, সারাংশ স্ক্রিনে একাধিক ফিডের মাধ্যমে সাজানো সহজ এবং স্বজ্ঞাত করে তোলে৷
এটি করার জন্য, আপনার init.el ফাইলে RSS ফিড সম্পাদনা করুন। এই সংক্ষিপ্ত উদাহরণটি দেখুন।
(setq elfeed-feeds '(("https://feeds.maketecheasier.com/MakeTechEasier" tech news) ("https://solar.lowtechmagazine.com/feeds/all-en.atom.xml" tech) ("https://old.reddit.com/r/f1technical.rss" tech f1)))
স্বয়ংক্রিয়ভাবে একটি RSS ফিড ট্যাগ করতে, আপনাকে আপনার ডিফল্ট এলফিড-ফিড ফর্ম্যাটে দুটি জিনিস করতে হবে:
- বন্ধনীতে ফিড লিঙ্কটি আবদ্ধ করুন। এটি
elfeed-feeds
বলে যে ভেরিয়েবলের এই নির্দিষ্ট এন্ট্রির একাধিক অংশ রয়েছে। - একটি শব্দ প্রদান করুন যা সেই নির্দিষ্ট লিঙ্কের জন্য আপনার ট্যাগ হিসাবে কাজ করবে। আপনি একাধিক ট্যাগ অন্তর্ভুক্ত করতে পারেন যতক্ষণ না আপনি প্রতিটি ট্যাগকে একটি স্পেস দিয়ে আলাদা করেন।
এলফিডে আপনার RSS ফিড ফিল্টার করা
এই ট্যাগগুলি এলফিডের শক্তিশালী ফিল্টারিং সিস্টেমের সাথে একত্রে কাজ করে। এটি আপনাকে শুধুমাত্র ট্যাগের উপর ভিত্তি করে আপনার RSS ফিডগুলিকে গোষ্ঠীভুক্ত করতে দেয়৷
৷উদাহরণস্বরূপ, যদি আপনার RSS ফিডগুলিকে "সংবাদ", "নিউজ টেক" এবং "নিউজ গেমিং" হিসাবে ট্যাগ করা থাকে, তাহলে এলফিড আপনাকে "সংবাদ" ট্যাগের অধীনে সেগুলিকে গোষ্ঠীভুক্ত করতে দেয়৷
আপনার ফিড তালিকা ফিল্টার করতে, S টিপুন এলফিডে থাকাকালীন এলফিডের ফিল্টার প্রম্পট আনতে। ডিফল্টরূপে, প্রম্পটে নিম্নলিখিতগুলি থাকে:
@6-months-ago +unread
- @ চিহ্নটি একটি তারিখ পরিসীমা নির্দেশ করে। এটি একটি পরম তারিখ হতে পারে যেমন "2022-02-22" বা একটি আপেক্ষিক তারিখ যেমন "3-দিন আগে।"
- “+” চিহ্ন হল একটি ট্যাগ অপারেটর যা এলফিডকে এই ট্যাগযুক্ত সমস্ত ফিডকে স্পষ্টভাবে অন্তর্ভুক্ত করতে বলে৷
এটি মাথায় রেখে, নিম্নলিখিত RSS ফিডটি বিবেচনা করুন৷
৷[0](setq elfeed-feeds [1] '(("https://feeds.maketecheasier.com/MakeTechEasier" tech news) [2] ("https://solar.lowtechmagazine.com/feeds/all-en.atom.xml" tech) [3] ("https://old.reddit.com/r/f1technical.rss" tech f1) [4] ("https://www.autosport.com/rss/f1/photos/" f1) [5] ("https://www.philstar.com/rss/world" news)))
"টেক" ট্যাগ ফিল্টার করতে, এলফিডের সারাংশ বাফারে প্রথম তিনটি লিঙ্ক প্রদর্শন করতে এলফিডের ফিল্টার প্রম্পটে "+টেক" টাইপ করুন। যাইহোক, যদি আপনি "+সংবাদ" যোগ করেন, তাহলে এলফিড এর পরিবর্তে প্রথম এবং পঞ্চম ট্যাগ প্রদর্শন করবে।
এটি জেনে, আপনি আপনার ফিল্টারিং যুক্তির সাথে আরও সুনির্দিষ্ট হতে পারেন। উদাহরণস্বরূপ, আপনি যদি "f1" ছাড়াই সমস্ত প্রযুক্তি লিঙ্ক অন্তর্ভুক্ত করতে চান তবে আপনি নিম্নলিখিতটি টাইপ করতে পারেন:
+tech -f1
কিভাবে স্বয়ংক্রিয়ভাবে ইউআরএলের উপর ভিত্তি করে ফিড ট্যাগ করবেন
এলফিডে আরএসএস এন্ট্রি স্বয়ংক্রিয়ভাবে ট্যাগ করার আরেকটি উপায় হল ইউআরএলের উপর ভিত্তি করে সাজানো। আপনি যদি একই রকম ইউআরএল স্ট্রাকচার আছে এমন RSS ফিডগুলিতে সদস্যতা নিতে এলফিড ব্যবহার করেন তাহলে এটি কার্যকর৷
এটি করতে, Elfeed এর elfeed-new-entry-hook
ব্যবহার করুন . এটি একটি হুক ফাংশন যা নির্দিষ্ট শর্তের উপর ভিত্তি করে একটি কাস্টম কমান্ড কার্যকর করে। elfeed-add-feed
ব্যবহার করে প্রতিবার এন্ট্রি যোগ করা হলে এই ফাংশনটি একটি কাস্টম কমান্ড চালাবে আদেশ।
আপনি elfeed-make-tagger
ব্যবহার করতে পারেন যে হুক মধ্যে ফাংশন. এটি একটি সাধারণ ফাংশন যা আপনার সেট করা বিকল্পগুলির উপর ভিত্তি করে লিঙ্কগুলিকে ট্যাগ করে৷ যেমন, স্বয়ংক্রিয় ট্যাগিং তৈরি করতে দুটি ফাংশনকে একত্রিত করা এইরকম দেখতে পারে:
(add-hook 'elfeed-new-entry-hook (elfeed-make-tagger :feed-url "medium\\.com" :add '(medium)))
সেই ফাংশনটি স্বয়ংক্রিয়ভাবে যেকোন লিঙ্ককে ট্যাগ করবে যেখানে স্লাগ থাকবে "medium.com।"
এছাড়াও আপনি elfeed-make-tagger
এর সাথে সেট করা বিকল্পগুলির সাথে আরও সুনির্দিষ্ট হতে পারেন . উদাহরণস্বরূপ, আপনি উভয়ই URL-এর উপর ভিত্তি করে একটি ফিড ট্যাগ করতে পারেন এবং তিন মাসের বেশি পুরানো এন্ট্রিগুলি ফিল্টার আউট করতে পারেন:
(add-hook 'elfeed-new-entry-hook (elfeed-make-tagger :feed-url "medium\\.com" :before "3 months ago" :add 'medium))
ট্যাগের জন্য কাস্টম রঙ এবং ফন্ট কীভাবে তৈরি করবেন
স্বয়ংক্রিয় ট্যাগিং ছাড়াও, আপনি যে ট্যাগের সাথে কাজ করছে তার উপর ভিত্তি করে এলফিড দেখতে কেমন তা কাস্টমাইজ করতে পারেন। আপনি যদি একটি নির্দিষ্ট ট্যাগ সহ ফিডগুলিকে আলাদা করতে চান তবে এটি কার্যকর৷
৷
এটি করার জন্য, আপনাকে elfeed-search-face-alist
পুনরায় সংজ্ঞায়িত করতে হবে ফাংশন এটি হল সেই কমান্ড যা এলফিড সারাংশ বাফারের চেহারা পরিবর্তন করতে ব্যবহার করে। যেমন, এই ফাংশনটিকে পুনরায় সংজ্ঞায়িত করতে, আপনি defface
ব্যবহার করতে পারেন এবং push
ফাংশন:
- ডিফেস ফাংশন Emacs-এর জন্য একটি নতুন "মুখ" তৈরি করে। "মুখ" হল মানগুলির একটি সেট যাতে অক্ষরের ফন্ট এবং পটভূমির রঙ উভয়ই থাকতে পারে৷ ৷
- ধাক্কা ফাংশন, অন্যদিকে, Emacs-এ বিদ্যমান একটি কমান্ডের সাথে একটি সংজ্ঞা যুক্ত করে।
এটি মাথায় রেখে, আপনি এলফিডের জন্য একটি কাস্টম "মুখ" তৈরি করতে এই ফাংশনগুলিকে একত্রিত করতে পারেন। উদাহরণস্বরূপ, এটি একটি কাস্টম মুখ যা লাল রঙে f1 ট্যাগকে হাইলাইট করে।
(defface elfeed-face-tag-f1 '((t :foreground "#f00")) "This is a custom font face for the F1 tag in Elfeed.") (push '(f1 elfeed-face-tag-f1) elfeed-search-face-alist)
অভিনন্দন! আপনি এখন জানেন কিভাবে এলফিডের সাথে একটি RSS পাঠক হিসাবে Emacs ব্যবহার করতে হয়। উপরন্তু, আপনার আরএসএস ফিডের চাহিদা অনুসারে এলফিডকে কীভাবে কাস্টমাইজ এবং স্বয়ংক্রিয় করতে হয় সে সম্পর্কে আপনার কাছে এখন প্রাথমিক ধারণা রয়েছে৷
যদি এই সমস্ত আলোচনা আপনাকে Emacs এর সাথে আরও কী করতে পারে তা ভাবতে বাধ্য করে, আপনি Emacs-এর জন্য সেরা উত্পাদনশীলতা প্যাকেজগুলির উপর আমাদের নিবন্ধটি দেখতে পারেন৷
প্রায়শই জিজ্ঞাসিত প্রশ্ন
1. আমি কিভাবে এলফিডে একটি ফিড মুছতে পারি?
আপনি দুটি উপায়ে একটি ফিড অপসারণ করতে পারেন:আপনার init.el ফাইলে ফিডের এন্ট্রি মুছুন বা এটি সরাতে Emacs-এর কাস্টমাইজ ফাংশন ব্যবহার করুন৷
প্রাক্তনদের জন্য, একটি ফিড সরানো আপনার elfeed-feeds ভেরিয়েবলের ফিড URL মুছে ফেলার একটি বিষয়। পরবর্তীটির জন্য, তবে, আপনাকে Alt টিপতে হবে + X কমান্ড বাফার খুলতে. এখান থেকে, আপনাকে customize
টাইপ করতে হবে . এটি Emacs-এর জন্য কাস্টমাইজ উইন্ডো খুলবে।
সেখান থেকে elfeed-feeds
টাইপ করুন অনুসন্ধান বাক্সে এটি সেই সমস্ত ফিড নিয়ে আসবে যা আপনি বর্তমানে সদস্যতা নিয়েছেন৷
এটি আপনাকে DEL এ ক্লিক করে একটি ফিড মুছে ফেলতে দেয় ফিড লিঙ্কের পাশে বোতাম। একবার হয়ে গেলে, আপনি প্রয়োগ করুন ক্লিক করতে পারেন এবং সংরক্ষণ করুন আপনার ফিড আপডেট করতে অনুসন্ধান বারের নীচে বোতাম।
2. আমি কি করতে পারি যদি আমি আমার সমস্ত ফিড এলফিডে যোগ করি এবং সেগুলি রিফ্রেশ না হয়?
Elfeed আপনার জন্য স্বয়ংক্রিয়ভাবে ফিড লিঙ্ক রিফ্রেশ না. আপনার ফিডে সর্বশেষ এন্ট্রি আনতে, Shift টিপুন + G বর্তমানে সদস্যতা নেওয়া সমস্ত ফিডে একটি আপডেট শুরু করতে৷
৷
আরও, আপনি যদি শুধুমাত্র একটি নির্দিষ্ট RSS ফিড আপডেট করতে চান, তাহলে elfeed-update-feed
চালান ফাংশন।
3. আমার স্বয়ংক্রিয় ট্যাগ কাজ করছে বলে মনে হচ্ছে না। আমি কিভাবে এটি সমাধান করতে পারি?
এটি সম্ভবত কারণ একই RSS ফিডের জন্য আপনার বিরোধপূর্ণ ট্যাগ রয়েছে৷ এটি ঘটতে পারে যদি আপনি আপনার ম্যানুয়াল এবং স্বয়ংক্রিয় উভয় ফিডে একই ফিড URL অন্তর্ভুক্ত করেন৷
এটি সমাধান করার জন্য, আপনাকে হয় আপনার init.el ফাইলে আপনার ম্যানুয়াল এন্ট্রি বা Emacs-এর কাস্টমাইজ বাফারে স্বয়ংক্রিয় ফিড এন্ট্রি সরিয়ে ফেলতে হবে।