組織モードのエクスポートテンプレートをカスタマイズしますか?


8

この質問に関連して:組織モードのHTMLエクスポート用のテンプレートを定義する方法は?

打つC-c C-e tことによって挿入されたテンプレートをカスタマイズしたいのですが、いくつかのカスタマイズと、何を配置するかについてのコメントにいくつかのヘルプノートが表示されるようにします。

おそらく、他のEmacsの方法を使用してテキストスニペットを挿入する方が良いでしょうか?または、組織モードのテンプレート拡張を使用するには?

回答:


4

短い回答:構造を劇的に変更するために簡単に達成できるようには見えません。のように提案されたいくつかのエクスポートオプションがありますorg-export-plist-varsが、私は個人的にそれらで遊んだことがありません。

答えを掘り下げるC-c C-e t呼び出すと、org-mode関数が呼び出されますorg-insert-export-options-template。関数(C-h f)のクイックヘルプを実行し、関数に渡すヘルプテキストやオプションが表示されなかったため、関数のソース(M-x find-function ENTER org-insert-export-options-template ENTER>)を確認する必要がありました。

org-insert-export-options-template関数を読むと、挿入するテキストを取得していることがわかりますorg-get-current-options。説明で動作を構成するのに役立つ情報がないため、ソースを表示することはできません。そこには、呼び出し時にテキストに挿入される、おなじみのテンプレート情報の完全な段落が表示されますorg-insert-export-options-template。値は、他のさまざまな組織変数、バッファ名などから取得されます。

推奨事項:私が個人的に行ったことは、どのオプションを使用するかを決定し、新しいオプションを開始するときに他の組織ファイルからそれらをコピーすることにある程度の時間を費やしています。また、AutoInsertModeを使用して新しい組織ファイルを自動入力することも考えましたが、延期しました。


0

「スニペットの挿入」オプションに加えて、#+ SETUPFILE:/path/to/template.orgにも興味があるかもしれません。これは、事前定義された設定をエクスポートに設定する場合に便利です。必要な数だけ作成できます。これをyasnippetと組み合わせて、次のことを行います。

# -*- mode: snippet; require-final-newline: nil -*-
# name: blogtemplate
# key: <bl
# --
#+SETUPFILE: ~/.emacs.d/org-templates/level-$1.org
#+DATE: $2
#+KEYWORDS: $3 

#+BEGIN_HTML
<h1 class="title">$0</h1>
#+END_HTML

$ 1、$ 2などはタブストップを定義するため、Webフォームのように入力できます。

編集:

特にyasnippetsとタブストップの記述の詳細については、http://capitaomorte.github.io/yasnippet/snippet-development.html#sec-3-3を参照して ください。

しかし基本的に、スニペットを挿入した後は$ 1に配置され、Tabキーを押すと$ 2に配置されます。これにより、必要な情報をすばやく入力できます。


$ 1、$ 2の部分を明確にしてください。ドキュメント参照はありますか?ありがとう!!
justingordon、2015年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.