পুরানো প্রশ্ন, হ্যাঁ ... তবে যে কেউ এটিকে গুগল করে; অন্য কোনো বিকল্প ব্যবহার করছে অর্গ হট্টগোল এবং ob-http
... (থেকে ইনস্টল করা যাবে Melpa ।)
এর সাথে org-babel
, আপনি কোড ব্লকযুক্ত একটি .org
ফাইল তৈরি করতে পারেন http
। যখন এই ব্লকগুলি মূল্যায়ন করা হয়, তারা HTTP অনুরোধ করবে এবং ফলাফল হিসাবে প্রতিক্রিয়া ফিরিয়ে দেবে।
যদি এই ব্লকগুলির একটি " #+NAME:
" বৈশিষ্ট্য থাকে তবে আপনি তাদের ফলাফল অন্য কোনও org-babel
ব্লকে ব্যবহার করতে পারেন । এটি HTTP অনুরোধগুলির ফলাফলগুলি ব্যবহার করে কিছু সুন্দর ঝরঝরে সাক্ষর প্রোগ্রামিংয়ের অনুমতি দেয়।
উদাহরণস্বরূপ, এখানে একটি ছোট্ট অর্গ ডকুমেন্টটি এইচটিটিপি অনুরোধ তৈরি করে এবং রুবিতে ফিরে আসা জেএসএনকে বিশ্লেষণ করে তা দেখিয়েছে:
* The request
The following is the example request shown on [[https://github.com/zweifisch/ob-http][ob-http's Github page]]...
It isn't anything fancy, but it is a REST API request, and returns
JSON, so it works for the sake of this demonstration:
#+NAME:ob-languages
#+BEGIN_SRC http :pretty
GET https://api.github.com/repos/zweifisch/ob-http/languages
#+END_SRC
#+RESULTS:
: {
: "Emacs Lisp": 7034
: }
Notice how this has a "=#+NAME:=" attribute? This is a name we can use
in other =org-babel= blocks. (As you will see below)
* Using the request
Now that I have an =http= request in an org block with a name... Lets
write something in a completely different language and use our HTTP
request's response:
#+BEGIN_SRC ruby :var langs=ob-languages
require 'json'
JSON.parse(langs)['Emacs Lisp']
#+END_SRC
#+RESULTS:
: 7034
The =:var= keyword allowed me to assign the "=langs=" variable in the
Ruby block to the result of the =ob-languages= block [[The request][above]].
This didn't have to be in Ruby, this could have been any language,
including another =http= block.
এটি এর মতো দেখাচ্ছে org-mode
:
C-c C-c
নীচের অংশে আঘাত করা (রুবি এক) তার নির্ভরতার জন্য শীর্ষেরটিকে স্বয়ংক্রিয়ভাবে মূল্যায়ন করবে ( :var
এটি ব্লকের শিরোনামের বিট। এর অর্থ http
হ'ল অনুরোধটি প্রথমে করা হয়েছে, এবং তারপরে ফলাফলটি আরও প্রক্রিয়াকরণের জন্য রুবিকে দেওয়া হবে।
আপনি নিজের পছন্দমতো ব্লক এবং অনেকগুলি ভাষা দিয়ে এটি করতে পারেন।
এটি যদি আপনার প্রয়োজন ob-http
অনুসারে সার্থক হয় তবে এটি কাজ করার জন্য এটি ইনস্টল করার পরে কিছুটা ম্যানুয়াল টুইট করা দরকার। (চিন্তা করবেন না, এটি এতটা নয়)
ইনস্টল করার পরে ob-http
, আপনাকে দুটি ভেরিয়েবল কাস্টমাইজ করতে হবে: org-src-lang-modes
এবং org-babel-load-languages
।
সুতরাং, চালিয়ে M-x customize-variable
, আপনি নিম্নলিখিতগুলি অন্তর্ভুক্ত করতে প্রতিটি কাস্টমাইজ করতে পারেন:
org-src-lang-modes
: আপনি আরও একটি ভাষা ম্যাপিং অন্তর্ভুক্ত করতে এই পরিবর্তনশীলটি কাস্টমাইজ করতে চান, যাতে আপনি তালিকার শেষে আরও একটি মান সন্নিবেশ করতে পারেন:
String: http
Symbol: ob-http
তারপরে আপনি C-x C-s
সেই পছন্দটি সংরক্ষণ করতে পারেন save
org-babel-load-languages
: আপনি সক্ষম org
ভাষাগুলির তালিকায় আরও একটি আইটেম যুক্ত করতে চাইবেন । " http
"।
যদিও অপশনটি সম্ভাব্য বিকল্পগুলিতে না থাকলে আপনার নিজের হাতে তালিকায় এটি যুক্ত করতে হতে পারে, আপনি "স্টেট" এ ক্লিক করে এবং :
লিস্প এক্সপ্রেশনটি দেখানোর জন্য " " নির্বাচন করে এটি করতে পারেন ... তারপরে আপনি নিম্নলিখিতটি যুক্ত করতে পারেন শেষ বন্ধের প্রথম বন্ধনীর আগে:
(http . t)
তারপরে, দ্রুত C-x C-s
এবং M-x org-reload
আপনার যা দরকার তা হ'ল ..!