This package is no longer being developed since (last commit in 2012, see also https://answers.launchpad.net/nxhtml/+question/236477). The old webpage is no longer up, but may still be found at archive.org; the code may be found at https://github.com/emacsmirror/nxhtml or https://code.launchpad.net/nxhtml.


nXhtml is a package that may help for web development, but it also contains a lot of other things. For an overview see nXhtml home page. You may also find the tutorials useful.

One of the main parts is the major mode nxhtml-mode for editing XHTML files (based on NxmlMode). This gives XHTML completion of tags and attributes also in for example php files (even if they do not contain XML + DTD specifications).

Another main part handles multiple major modes (using MuMaMo). It defines multi major modes, often with names like html-mumamo, nxhtml-mumamo, eruby-html-mumamo, django-html-mumamo, genshi-nxhtml-mumamo, smarty-html-mumamo etc. Those modes handle inlined style sheets and javascript, php, jsp etc, which are interleaved with the HTML.

There are a lot of other features like simple search and replace in directory trees, simple file upload, etc. The only way to find out is to download nXhtml and try.

Quick Start

Installation is easy, just unzip the archive and (just as README.txt says) add one line to your .emacs:

  (load "YOUR-PATH-TO/nxhtml/autostart")

After this nXhtml is ready for use. However for a little more and where to download it see the Quick Guide to nXhtml. See nXhtml Notes and Changes for a list of changes.

You need Emacs 22 or later to use nXhtml.

Changing file associations

These are defined in /nxhtml/nxhtml/nxhtml-autoload.el in the function nxhtml-setup-file-assoc, so just modify ‘auto-mode-alist as normal.

Libraries included in the package nXhtml

nXhtml comes with a lot of elisp libraries, some of which you can use separately. I used to have a list here, but I always forget to update that so I have removed it. Please download the whole library if you are interested in some special pieces. Or, pick them from the latest version sources on Launchpad (this may be a beta version though).

Note: Some of the files used to be here on Emacs Wiki too, but I decided to delete them since the latest version of them are now easily available from there. The files I have deleted are ediff-url.el, freemind.el, tabkey2.el and w32-print.el.

Support, FAQs and bugs

The bug tracker is at: https://bugs.launchpad.net/nxhtml. Please report bugs here; see M-x nxhtml-report-bug for more instructions.

There is a list of FAQs at https://answers.launchpad.net/nxhtml/+faqs

Questions that are not bugs can be asked https://answers.launchpad.net/nxhtml

Old solved bugs that were reported on Emacs Wiki are here: NxhtmlOldBugs. Please do not add any more bugs here.

See also MultipleModes MuMaMo CategoryHypermedia HtmlMode