2

私は Emacs を使用して JSF プロジェクトで XHTML ページを作成していますが、各 XHTML ファイルのヘッダーに配置する必要があるボイラープレート コードの量は、入力が難しく、見苦しく、エラーが発生しやすいものです。例えば:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:ui="http://java.sun.com/jsf/facelets">

これに対処する「emacsの方法」は何でしょうか? nXhtml モードについて読んだことがありますが、試したことはなく、上記のようにボイラープレートをオートコンプリートするのか、より基本的な XML チェック / 補完構文を提供するだけなのかわかりません。いずれにせよ、より軽量な代替案を最初に評価したいと思います。

4

1 に答える 1

2

「テンプレート emacs」で検索してください。 https://www.google.com/search?q=template+engine+emacs

ここに良い調査があります: http://www.emacswiki.org/emacs/CategoryTemplates .

そのページにリストされているオプションの 1 つである defaultcontent.el を使用します。Defaultcontent.el は、ファイル名のパターン マッチに応じて、新しいファイルにテンプレートを入力します。すべての .html ファイルは、特定のテンプレートを取得できます。テンプレートからファイルへのより高度なマッピングを行うことができます。defaultcontent.el は連想リストを使用し、好きなファイル名に任意の正規表現を指定できます。

新しいファイルに配置されるテンプレートは、ファイル名、ベースファイル名、日付/時刻、環境変数など、さまざまなものを動的に展開できます。より高度なシナリオでは、指定した elisp コードをテンプレートで実行できます。

これは、ファイル内のオプションのコード部分に使用する yasnippet の優れたコンパニオンです。たとえば、私のベース .htm テンプレート (defaultcontent.el によって挿入される) には、jquery のスクリプト参照が含まれていません。しかし、私は jquery の yasnippet を持っているので、 (jquery[TAB]) と入力すると、完全に展開されます

<script type='text/javascript'
        src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js'>
</script>

defaultcontent.el は find-file-hooks を使用し、ファイルが最初に作成されたときにのみテンプレートの内容を挿入します。

事実上すべてのファイル形式に使用します。

于 2012-06-16T18:13:34.567 に答える