Org- মোড সোর্স কোড ব্লকে শেল কমান্ডের আউটপুটকে কীভাবে অন্তর্ভুক্ত করা যায়?


12

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

উদাহরণস্বরূপ, আমি আছে

#+BEGIN_SRC shell
$ ls
dir1
dir2
file1
file2
...
or any other examples like this
...
#+END_SRC

তবে এটি এইচটিএমএলে রূপান্তরিত হতে পারে না: একটি ত্রুটি বার্তা যা পড়ে

shell-mode: ভুল টাইপ আর্গুমেন্ট: প্রসেসপ, শূন্য

সব সময় দেখায়। প্রতিস্থাপনের জন্য আমার কোন মোডটি ব্যবহার করা উচিত shell, এবং যদি আমার #+BEGIN_SRC...#+END_SRCফর্ম্যাটটি ব্যবহার না করা হয় তবে এর পরিবর্তে আমার কী ব্যবহার করা উচিত?

উত্তর:


16

আপনি যদি নিজেই উদাহরণ তৈরি করতে চান (এটিই আমি আপনার প্রশ্ন থেকে যাচ্ছি, তবে আমি ভুল হলে আমাকে সংশোধন করি), EXAMPLEব্লকের পরিবর্তে একটি ব্লক ব্যবহার করুন SRC:

#+BEGIN_EXAMPLE
$ ls
dir1
dir2
file1
file2
...
#+END_EXAMPLE

এইচটিএমএল রফতানি করার সময়, এই ব্লকটি হয়ে যায়:

<pre class="example">
$ ls
dir1
dir2
file1
file2
...
</pre>

আপনি দেখতে পাচ্ছেন, রফতানি করা ব্লকের সামগ্রীগুলি মূল EXAMPLEব্লকের সামগ্রীর মতো ।


আপনি যদি আউটপুটটিকে গতিশীলভাবে তৈরি করতে প্রকৃতপক্ষে এক বা একাধিক কমান্ড চালাতে চান এবং আপনার এইচটিএমএল ডকুমেন্টে কমান্ড এবং ফলাফল উভয়ই অন্তর্ভুক্ত করেন তবে আপনাকে SRCএই জাতীয় দেখতে ব্লকটি সংশোধন করতে হবে :

#+BEGIN_SRC sh :exports both
ls
#+END_SRC

আউটপুট তাহলে lsকমান্ড ডিরেক্টরি এবং ফাইল আপনি আপনার উদাহরণে তালিকাভুক্ত থাকে ( dir1, dir2, file1, file2) এই রপ্তানি হবে:

<div class="org-src-container">
  <pre class="src src-sh">
    ls
  </pre>
</div>

<table>
  <colgroup>
    <col class="left" />
  </colgroup>
  <tbody>
    <tr>
      <td class="left">dir1</td>
    </tr>
    <tr>
      <td class="left">dir2</td>
    </tr>
    <tr>
      <td class="left">file1</td>
    </tr>
    <tr>
      <td class="left">file2</td>
    </tr>
  </tbody>
</table>

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

নোট করুন যে shকোড ব্লকগুলির জন্য আপনাকে স্পষ্টভাবে এর মাধ্যমে সমর্থন সক্ষম করতে হবে :

(require 'ob-sh)
(org-babel-do-load-languages 'org-babel-load-languages '((sh . t)))

এটি কারণ ডিফল্টরূপে অর্গ বাবেল কেবল ইমাস লিস্প কোড ব্লকগুলির জন্য সমর্থন সক্ষম করে ( এখানে বর্ণিত হিসাবে )।


আপনার জন্য ধন্যবাদ obজিনিস, আমি আরো দুটি সমস্যার পেয়েছি, 1: কোনো থাকে built-in shortcutমতো BEGIN_EXAMPLE জোড়া সন্নিবেশ করতে <s then TABসন্নিবেশ করতে BEGIN_EXAMPLEএকটি স্নিপেট সংজ্ঞায়িত করতে ব্যতীত yasnippet? 2: org-html-handle-links: Wrong type argument: stringp, nilপরিবর্তন করার পরে আমি ত্রুটির বার্তা পেয়েছি BEGIN_EXAMPLEতবে আরও কিছু নেই, আমার org ফাইলটিতে লিঙ্কটি সম্পর্কে অবশ্যই কিছু ভুল থাকতে হবে, সেগুলির মধ্যে অনেক কিছুই রয়েছে, org-exportরফতানি ব্যর্থ হওয়ার সময় আমি কীভাবে লাইন নম্বরটি ভুল তা কীভাবে আরও বিশদ প্রদর্শন করতে পারি? ??
কোডিচ্যান

আপনার প্রথম প্রশ্নে সম্বোধন করা: হ্যাঁ, আছে, এর <eপরে রয়েছে TAB। সম্পূর্ণ তালিকার জন্য সহজ টেম্পলেটগুলি দেখুন ।
ইজজেড

আপনার দ্বিতীয় প্রশ্ন হিসাবে: আমি নিশ্চিত আপনি কি বলতে চেয়েছিলেন তা আমি নিশ্চিত নই। কোন লিঙ্ক (গুলি)? আপনার মূল উদাহরণে কোনও লিঙ্ক নেই। পরামর্শের একটি সাধারণ অংশ হিসাবে, প্রথমে কাজ করার একটি সর্বনিম্ন উদাহরণ পাওয়ার চেষ্টা করুন। EXAMPLEআমার উত্তরে দেখানো ব্লকটি নিজেই একটি নতুন ফাইলে রাখুন । অন্য কিছু যুক্ত করবেন না। তারপরে এটি রফতানি করার চেষ্টা করুন এবং দেখুন কী ঘটে। যদি এটি কাজ করে তবে ধীরে ধীরে আরও স্টাফ যুক্ত করুন এবং আপনার মতো করে রফতানি করতে থাকুন। আপনি যদি কোনও সময়ে কোনও ত্রুটিতে চলে যান তবে আপনি জানতে পারবেন যে আপনার দ্বারা করা শেষ সংযোজন (বা পরিবর্তন) এটি ঘটায়।
je

আমার আসল পোস্টের সমস্যাটি BEGIN_EXAMPLE দ্বারা সমাধান করা হয়েছে। BEGIN_EXAMPLE ত্রুটিটি org-exportনিজে থেকেই অবস্থিত , সুতরাং আমি জানি এটি BEGIN_SRC সমস্যা, তবে আমার মূল ফাইলে আরও অনেক কিছু রয়েছে, পরে org-exportকেবল org-html-handle-links: Wrong type argument: stringp, nilত্রুটি বার্তাটি প্রদর্শিত হয় এবং আমি সঠিক অবস্থানটি কোথায় তা জানি না।
কোডি চ্যান

পছন্দ করেছেন আপনি যে ফাইলটি রফতানির চেষ্টা করছেন সেগুলির বিষয়বস্তুটি আমার কাছে দেখতে চাইলে এটি আপনার প্রশ্নের সাথে যুক্ত করুন (আপনি এটি পরে আবার মুছে ফেলতে পারেন)।
ইজিজয়েড
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.