क्या HTML को निर्यात करते समय Org मोड को src ब्लॉक की अनदेखी करने का एक तरीका है?


13

जब मैं HTML को फ़ाइल निर्यात करता हूं, तो मेरे पास स्रोत ब्लॉक के साथ बिखरे हुए ऑर्ग डॉक्युमेंट होते हैं, जिन्हें मैं बाहर करना चाहता हूं।

क्या कोई चर या विकल्प है जिसे मैं सेट कर सकता हूं जो src ब्लॉकों की अनदेखी करेगा?

मैंने नीचे दिखाए गए अनुसार noexport का उपयोग करने की कोशिश की है, लेकिन परिणामी HTML में कोड अभी भी दिखाई देता है।

#+BEGIN_SRC json :noexport:
{ ... }
#+END_SRC

धन्यवाद!


3
:exports noneकरना चाहिए।
उत्परिवर्ती

2
@ मटुबर्गर: क्या आप इसका उत्तर दे सकते हैं? यह वास्तव में पसंदीदा समाधान है। इसे हेडर-तर्क डिफॉल्ट्स के साथ जोड़ा जा सकता है, ताकि सभी स्रोत ब्लॉक के निर्यात को केवल एक सेटिंग के साथ नियंत्रित किया जा सके, और कोई भी इमेक लिस्प कोड नहीं।
तिमोर

जवाबों:


11

एक समाधान जो निर्भर नहीं करता है org-export-filter-src-block-functionsऔर आपको अधिक लचीलापन देता है :exportsहेडर तर्क (देखें (info "(org) Exporting code blocks")) का उपयोग कर रहा है । तर्क को :exports noneन तो कोड ब्लॉक में सेट करना और न ही इसके परिणामों को निर्यात किया जाना।

यदि आप बैकएंड विशिष्ट नियम पसंद करते हैं, तो आप तर्क के रूप में एक सशर्त का उपयोग कर सकते हैं:

#+begin_src elisp :exports (when (eq org-export-current-backend 'html) "none")
(+ 1 2)
#+end_src

जबकि स्वीकृत समाधान कार्य करता है यदि ऑर्ग फाइल में सभी src ब्लॉक को बाहर करने की आवश्यकता होती है, तो यह समाधान कार्य करता है यदि केवल कुछ src ब्लॉक को बाहर रखा जाए। अतिरिक्त कार्य बनाए बिना यह अधिक अनुकूलन योग्य है।
Emacs यूजर

साफ! क्या हेडर लॉजिक वैल्यू के रूप में लिस्प कोड का यह प्रयोग प्रलेखित है?
जीनपिएरे

मुझे यकीन नहीं हो रहा है, लेकिन एक नज़र org-babel-merge-paramsइस बात को स्पष्ट करती है। के लिए :resultsभी एक स्पष्ट है (if (stringp value) value (eval value t))... जो भी कारण के लिए।
उत्परिवर्ती

9

मूल दस्तावेज की धारा 12.15 के आधार पर :

(defun my-html-filter-src-blocks (text backend info)
  "Remove source blocks from html export."
  (when (org-export-derived-backend-p backend 'html)
    "[removed source block]"))

(add-to-list 'org-export-filter-src-block-functions
         'my-html-filter-src-blocks)

खाली स्रोत के साथ "[हटाया गया स्रोत ब्लॉक]" बदलें!


यह विश्व स्तर पर भी काम करता है जो बहुत अच्छा है। धन्यवाद!
ग्रासडॉग
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.