【问题标题】:XHTML / JSF boilerplate code in EmacsEmacs 中的 XHTML / JSF 样板代码
【发布时间】:2012-06-16 16:13:50
【问题描述】:

我在一个 JSF 项目中使用 Emacs 编写 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 mode,但没有尝试过,不知道它是否像上面那样自动完成样板文件,或者只是提供更多基本的 XML 检查/完成语法。无论如何,我想先评估更轻量级的替代方案。

【问题讨论】:

    标签: emacs xhtml nxhtml


    【解决方案1】:

    搜索“模板 emacs”。 https://www.google.com/search?q=template+engine+emacs

    这是一个很好的调查:http://www.emacswiki.org/emacs/CategoryTemplates

    我使用 defaultcontent.el,这是该页面上列出的选项之一。 Defaultcontent.el 根据文件名上的模式匹配使用模板填充新文件。所有 .html 文件都可以获得特定的模板。您可以进行更高级的模板到文件的映射; defaultcontent.el 使用 alist,您可以为您喜欢的文件名指定任何正则表达式。

    放入新文件的模板可以动态扩展各种内容,包括文件名、基本文件名、日期/时间、环境变量。在更高级的场景中,模板可以运行您提供的 elisp 代码。

    它是 yasn-p 的好伴侣,我将它用于文件中的可选代码段。例如,我的基本 .htm 模板(由 defaultcontent.el 插入)不包含 jquery 的脚本引用。但是我有一个 jquery 的 yasn-p ,所以当我输入 (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 并仅在最初创建文件时插入模板内容。

    我几乎将它用于所有文件格式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-12
      • 2015-12-14
      • 2011-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-20
      • 2014-05-22
      相关资源
      最近更新 更多