htmlにエクスポートするときに、Orgモードでsrcブロックを無視する方法はありますか?


12

ファイルをhtmlにエクスポートするときに除外したいソースブロックが散在する組織ドキュメントがあります。

srcブロックを無視する変数またはオプションを設定できますか?

以下に示すようにnoexportを使用しようとしましたが、結果のHTMLにコードが表示されたままです。

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

ありがとう!


3
:exports noneそれを行う必要があります。
mutbuerger

2
@mutbuerger:それから答えを出していただけますか?それは本当に好ましい解決策です。header-argumentのデフォルトと組み合わせることができるため、すべてのソースブロックのエクスポートを1つの設定のみで制御でき、emacs lispコードはありません。
ティモール

回答:


9

に依存せず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ユーザー

きちんとした!このヘッダー引数値としてのLispコードの使用は文書化されていますか?
ジャンピエール16

よくorg-babel-merge-paramsわかりませんが、これを見てみると明らかになります。:results明示的に存在し(if (stringp value) value (eval value t))、何らかの理由で...。
mutbuerger 16

7

組織ドキュメントのセクション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)

もちろん、「[削除されたソースブロック]」を空の文字列に置き換えてください!


これはグローバルにも機能します。ありがとう!
グラスドッグ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.