3

Emacs org-mode に読み書き可能なコード例を HTML として埋め込もうとしています。

アイデアは、次のようなものを使用できるということです

#+BEGIN_SRC html :noweb-ref content :exports source
<span>some content </span>
#+END_SRC

#+BEGIN_HTML :noweb tangle
<<content>>
#+END_HTML

このようなことが可能でしょうか?現在、HTMLソースに含めたい(引用したい)部分とドキュメントに表示したいSRCビットをコピー&ペーストする必要があるためです。

編集:具体的な使用例は、いくつかの HTML 構造を (コード ブロックとして) 説明するドキュメントを作成し、コピーと貼り付けを行わずに、それらの同じ構造をドキュメントに埋め込む (引用する) ことです。

4

3 に答える 3

3

以下の例は、私が Org-mode について書いたものと似たものを改変したものです。あなたのユースケースでもうまくいくようです。#+OPTIONS: d:RESULTSによって、ドロワー:RESULTS:がエクスポートされます。これを Org-mode バッファに入れて、HTML にエクスポートします。

#+OPTIONS: d:RESULTS

* Examples

The HTML source
#+name: eg-1
#+begin_src org :results replace drawer :exports both :post wrap-html(text=*this*)
  A <b>bold</b> statement.
#+end_src

Results in the output
#+results: eg-1

* Utils                                                           :noexport:
#+name: wrap-html
#+begin_src emacs-lisp :var text="" :results raw
(concat "#+BEGIN_HTML\n<div class=\"html-output\">\n" text "\n</div>\n#+END_HTML")
#+end_src

サブツリーの見出しにヘッダーをプロパティとして追加することで、ヘッダーの繰り返しを避けることができます。

* Example 2
:PROPERTIES:
:results: replace drawer
:exports: both
:post: wrap-html(text=*this*)
:END:

#+name: eg-2
#+begin_src org
  Some <i>italic</i>.
#+end_src

#+results: eg-2

#+name: eg-3
#+begin_src org
  You can <b>nest <i>inline</i> tags</b>.
#+end_src

#+results: eg-3

ただし、これらのヘッダーは、明示的にオーバーライドされない限り、サブツリー内のすべてのソース ブロックに適用されることに注意してください。

于 2013-11-27T02:42:09.397 に答える