আমি প্রায়শই org- মোড ফাইল রফতানি করি এবং প্রায় সকলেরই কোড থাকে। আমি যখন রফতানি কোড করি, তখন এটি আমার থিমের উপর নির্ভর করে পাঠ্যটি রঙ করা শেষ করে, তবে আমি নিয়মিত একটি গা dark় থিম এবং হালকা থিমের মধ্যে স্যুইচ করি। হালকা থিমের ক্ষেত্রে, <code>
ব্লকগুলির হালকা ব্যাকগ্রাউন্ড হওয়া দরকার এবং একটি অন্ধকার থিমের জন্য তাদের একটি গা dark় পটভূমি থাকা প্রয়োজন (অন্যথায় আমি হালকা হালকা রঙের পটভূমিতে হালকা হলুদ লেখাটি শেষ করি এবং এটি অপঠনযোগ্য)।
অন্ধকার ব্যাকগ্রাউন্ডের জন্য আমাকে এই লাইনটি যুক্ত করতে হবে:
#+HTML_HEAD: <style>pre.src {background-color: #303030; color: #e5e5e5;}</style>
এবং তারপরে আমি যখনই হালকা রঙিন পটভূমিতে স্যুইচ করি তখন এটিকে সরাতে মনে রাখবেন
রফতানির সময় আমি বর্তমান থিমের পটভূমি রঙটি স্বয়ংক্রিয়ভাবে সনাক্ত করতে এবং এটি রফতানি হওয়া এইচটিএমএল এর সিএসএসে ব্যবহার করতে পারি এমন কোনও উপায় আছে কি?
সম্পাদনা
আমি জর্ডনের জবাবটি দিয়ে যাচ্ছি (ধন্যবাদ জর্ডন, আপনি কর্ম পয়েন্ট পেয়েছেন!) তবে আমি আমার কোডটি যুক্ত করে শেষ হওয়া সমাধানটি পোস্ট করতে চেয়েছিলাম, কারণ এটি তার উত্তরের সামান্য পরিবর্তিত সংস্করণ ছিল:
(defun my/org-inline-css-hook (exporter)
"Insert custom inline css to automatically set the
background of code to whatever theme I'm using's background"
(when (eq exporter 'html)
(let* ((my-pre-bg (face-background 'default))
(my-pre-fg (face-foreground 'default)))
(setq
org-html-head-extra
(concat
org-html-head-extra
(format "<style type=\"text/css\">\n pre.src {background-color: %s; color: %s;}</style>\n"
my-pre-bg my-pre-fg))))))
(add-hook 'org-export-before-processing-hook 'my/org-inline-css-hook)
এটি কেবল পটভূমির রঙই নয়, অগ্রভাগের রঙটিও সেট করে। এটি বিদ্যমান org-html-head-extra
সেটিংটিতে লাইনটি সংযোজন করে যাতে অন্য এইচটিএমএলটি দুর্ঘটনাক্রমে ওভাররাইট করা যায় না। আমি পরীক্ষা করেছি এবং এটি আমার পক্ষে দুর্দান্ত কাজ করে!
disable-theme
), তাই আমি কেবল HTML রফতানি করার জন্য একটি পৃথক থিম সহ পুনরায় আরম্ভ করতে চাই না, যা আমি দিনে অনেকবার করি।
org-html-head-extra
যুক্ত হয়ে যায়, সীমাহীন বৃদ্ধির দিকে পরিচালিত করে, যদিও শৈলীর কার্যকারিতা ক্ষতিগ্রস্থ হবে না।