我应该对包含HTML片段的文件使用什么扩展名?

时间:2009-05-01 15:32:37

标签: html

文件名后面的“.html”后缀表示该文档包含htmlheadbody标记。

我有一些文件,每个文件包含一个或两个div元素,但没有htmlbody个标记。文件内容是格式良好的HTML片段,因为它们可以插入到兼容HTML文档的body标记中,并且仍然是合规的。 (它们不包含“<% %>”标记,没有PHP代码等。)但是片段文件本身不符合HTML,所以我想给它一个不同的命名约定。

几个“文件扩展名”网站包含“.PHT”条目,并将其描述为“部分超文本文件”。这听起来很有希望,但我找不到有关原点,预期文件格式或使用它的应用程序的任何其他说明。此外,许多相同的站点将“.phtml”和“.phtm”(看起来是.pht后缀的较长版本)标识为PHP文件 - 如上所述,我的文件不是PHP文件。

我应该使用“.pht”作为后缀吗?是否有更合适的命名约定?

编辑: 我想区分片段文件和同一目录中的完整HTML文档。

11 个答案:

答案 0 :(得分:15)

我会使用.inc(意思是包含文件)或.txt

答案 1 :(得分:7)

我通常使用.inc.tpl(为什么没有人提到这个?)。

答案 2 :(得分:3)

我通常使用.inc(包含文件)或.shtml(共享HTML)。我从未听说过.pht

答案 3 :(得分:3)

由于文件实际上是用超文本标记语言编写的,我认为给它们.html扩展名是非常有效的。考虑只是调用目录之类的“divs”或“panel”,“forms”等......

答案 4 :(得分:3)

如果选择片段的扩展名,那么选择编码器认为是html的扩展名是有意义的,这样您就可以获得所有突出显示的优点。

html的原子编辑器uses the followingvar React = require('react'); var ReactDOM = require('react-dom'); var Modal = require('react-modal'); var $ = require('jquery'); var VehiclePlantDialog = require('./VehiclePlantDialog.jsx'); const customStyles = { content: { top: '50%', left: '50%', right: 'auto', bottom: 'auto', marginRight: '-50%', transform: 'translate(-50%, -50%)' } }; var VehiclePlantRow = React.createClass({ getInitialState: function () { return { modalIsOpen: false }; }, openModal: function () { console.log("set state open"); this.setState({ modalIsOpen: true }); }, afterOpenModal: function () { }, closeModal: function () { this.setState({ modalIsOpen: false }); }, componentWillMount: function() { Modal.setAppElement('body'); }, render: function () { return ( <tr key={this.props.plant.id}> <td>{this.props.plant.code}</td> <td>{this.props.plant.name}</td> <td>{this.props.plant.createdAt}</td> <td>{this.props.plant.expiresAt}</td> <td> {this.props.plant.isExport == 0 ? 'No' : 'Yes'} </td> <td> <button onClick={this.openModal}>Edit</button> <Modal isOpen={this.state.modalIsOpen} onAfterOpen={this.afterOpenModal} onRequestClose={this.closeModal} shouldCloseOnOverlayClick={false} style={customStyles} > <VehiclePlantDialog openModal={this.openModal} closeDialog={this.closeModal} plant={this.props.plant}/> </Modal> </td> </tr> ); } }); module.exports = VehiclePlantRow; .ejs.htm.html.kit.shtml.tmpl.tpl和Scite编辑器使用:.xhtml.asp.cfm.hta.htm,{{1 },.html.htd.jsp.htt.shtml。选择两者使用的一个,并查看它是否也由您选择的编辑器定义。

对于模板,我使用.tpl并使用百分比和感叹号设置第一行:

.tpl

因为.xhtml导致Chrome和Firefox默认将文件视为文本。

答案 5 :(得分:2)

另一个扩展名“.fhtml”似乎被某些过时的Macromedia产品使用,至少one other software package使用它来表示“片段HTML”。

有一个先例很好,但不幸的是.fhtml后缀也用于表示嵌入了Factor代码的HTML模板。这种含糊不清是令人讨厌的。

答案 6 :(得分:2)

我用过:

  • .htm代表片段。
  • .html如果是整页。

有时我会考虑将htmlf用于片段,就像在JSP中一样,.jsp表示整页,.jspf表示片段。

答案 7 :(得分:2)

根据定义,.html.htm是包含HTML的文件,无论版本如何。没有官方规范提到它们应该包含完整的HTML文档定义,只是它们应该包含HTML。

XHTML是一个不同的球类游戏,因为它必须包含经过验证的内容,因此需要一个完整格式的XHTML文档。

我使用.html并将文件与HTML片段组织在一个单独的文件夹中,但是我的编辑尊重他们不必是完整文档并且不会产生任何警告的事实。

要区分同一目录中的差异,您可以使用.htm表示部分内容,.html表示完整文档,反之亦然。

或者,您可以在file.partial.htmlfile.p.html

等扩展名前加上前缀

如果您的编辑器发出警告,可能需要查看您的特定编辑器参考资料(帮助文件,网站,支持论坛等)以获得解决方案,这可能实际上正在使用另一个扩展名,如{{ 1}}或.tpl

编辑 - 忘了写关于XML: HTML是XML,因此您可以使用.inc扩展名,注意事项为:

  1. 您可能无法获得HTML类型提示
  2. 有效的xml文件需要.xml作为第一行,因此包含进程可能会将此行插入不需要的行。
  3. 仅支持一个容器对象,因此您需要一个包含所有内容的<?xml version="1.0"?>或类似元素,因此您在根目录中不能有两个<div>文档。

答案 8 :(得分:1)

之前我只看过“.phtml”扩展名,但我从未使用它。我总是使用“.html”,就像任何其他“.html”文件一样。就像MasterPeter所说的那样,文件是用HTML编写的,所以我认为这是正确的。

答案 9 :(得分:1)

我使用“inc”。我认为没有理由担心这样的事情。只要你看到目录列表中的文件而不是混淆,就可以随心所欲地调用它。

我不使用“inc”的一个例子是当包含内部包含时,说你的外页包含一个nav包含,然后包含第三个文件。在这种情况下,您必须保留服务器期望扩展名用于服务器解析文件的任何内容。

答案 10 :(得分:1)

我使用“.i.html”,这对我来说涵盖了大多数基础,并且是独一无二的。似乎工作。