問題タブ [noweb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
62 参照

c++ - ReadTheOrg を使用して読み書き可能なプログラムを HTML にエクスポートするときにソース ブロックのコンテンツを保持する

最小限の例

:noweb 拡張子 (?) を使用して、読み書き可能なプログラミング手法を使用して、org-mode でプログラムを作成しました。典型的なコードは次のようになります。

プログラムの内容全体が単一のファイルに保存され、その上部には#+SETUP: theme-readtheorg.setup. HTML は正しく生成されますが、必要なコンテンツは生成されないため、セットアップ ファイルは問題ではありません。

問題

コードを生成するには、 を使用します(org-babel-tangle)。これにより、:tangle パラメータを持つすべてのブロックに期待されるすべてのファイルが生成されます。ファイルには期待どおりのコンテンツが含まれており、コードはコンパイルされ、本来の方法で実行されます。

コードに沿って公開したいドキュメントを生成するには、(org-html-export-to-html). 私が予想していたのは、次のいずれかです。

  1. これ<<tags>>は理想的ではありませんが、少なくとも許容できる期待値に置き換えられます。
  2. これ<<tags>>は、Emacs で組織ファイルを編集するときに、表示されたままのままになります。

ただし、への出力(org-html-export-to-html)はまったく異なり、予期しないものです。すべて<<tags>>が改行文字に置き換えられます。これにより、生成されたコードまたは元の組織ファイルを見ないと理解できない誤ったコンテンツを持つすべてのコードブロックが残り、別のファイルにあるドキュメントの目的を完全に無効にします。一緒に仕事をしているすべての人に Emacs に切り替えて、ドキュメントを閲覧できるようにすることはできません!

質問

上記のように、問題は noweb <> 内の呼び出しによって処理されていること(org-html-export-to-html)です。この問題に関して私が持っている質問は次のとおりです。

(org-html-export-to-html)noweb を取り除かずに、ソースブロックの内容をそのままにしておくにはどうすればよいです<<tags>>か?