This README file describes the emacs lisp package hm--html-menus-5.9.

The package provides functions and various popup and pulldown menus
for a html mode called hm--html-mode, a mode for writing html pages.
It provides also a minor mode (hm--html-minor-mode), which can be used
together with another html major mode, like the psgml-html mode in the
XEmacs 19.15.

It has an interface to view the html documents in a W3 browser with
Netscape, the w3-package from William M. Perry and Mosaic with the
file html-view.el from Ron Tapia.  It provides also a drag and drop
interface, which makes it very easy to insert links or images, by just
clicking on them.

Look at the file NEWS, to see what is new in this release. Some 
of the major changes are also listed in the ANNOUNCEMENT file.

You should (but don't need) also get the w3 package from:

which provides an world wide web browser mode for the xemacs, emacs
and epoch.

This package is tested with the xemacs 19.15 on Suns with SunOS 5.5
and on PC's with linux. But it should work also on other (possibly
only UNIX ?) platforms.

Read the file README-EMACS-19, if you want to use this package with
GNU Emacs 19. 

Thanks to Richard Stallman, who helped me to port this package to the
Emacs 19, thanks to John Ladwig, who corrected a lot of the text and
comments in this package and thanks to Michael D. Harnois, who
corrected the Texinfo documentation and to all the other people like
Jerry G. DeLapp, Andreas Ernst, Bob Weiner, Luca Pisati, Guylaine
Prat, Gary D. Foster, Martin Buchholz, Ola Stromfors, Berthold
Crysmann, Noriaki Seki, Valeriy E. Ushakov, D-P Deng, Rick
Braumoeller, Sean Dowd and so on, who provided code, ideas, bug fixes
or bug reports for this package.

The package consists of the following files:

README				: this file;
README-EMACS-19			: only for the GNU Emacs 19 user;
ANNOUNCEMENT			: Text of the announcement of this package;
LSM				: Entry for the Linux Software Map;
NEWS				: Change logfile;
adapt.el			: provides functions to use this package 
				  with the GNU Emacs 19
hm--html.el			: provides functions to write html pages;
				  in this file are all commands defined,
				  which inserts html elements and entities;
hm--html-indentation.el		: provides the indentation stuff;
hm--html-keys.el		: provides the keybindings;
hm--html-menu.el		: provides the menus;
hm--html-mode.el		: provides the functions for the definition
				  of the hm--html-mode; this is now the
				  main file of the package;
hm--html-not-standard.el	: provides functions to insert some
				  non standard html elements;
				  this file is not evaluated by default;
hm--html-configuration.el	: configuration file for the html mode;
				  choose this as system configuration file;
hm--html-drag-and-drop.el	: defines the HTML- specific functions
				  for the drag and drop interface;
hm--date.el			: defines the function hm--date, which 
				  returns the date in the format 
				  "day-month-year" like "30-Jun-1993".
html-view.el			: Ron Tapia's html-view.el to view html-pages
				  in the Xmosaic; it is patched for the use
				  with the xemacs;
internal-drag-and-drop.el	: provides the general (html-mode 
				  independend functions) of the drag and
				  drop interface;
templates.doc			: describes the syntax of the templates 
				  provided in the file tmpl-minor-mode.el
tmpl-minor-mode.el		: provides functions for the tmpl-minor-mode;
				  with this mode you can expand templates,
				  which are described in the file
				  templates-syntax.doc (look at the files
				  command-description.html.tmpl and
				  frame.html.tmpl for examples);
				  templates can be expanded automatically, if
				  you include a file with templates via the
				  html pulldown menu item "Templates ..."
				  or with the item "Templates (fixed dirs)...";
command-description.html.tmpl	: Templatefile for the use with the
frame.html.tmpl			: Templatefile, provides a simple frame;
drop				: xbm file with the drag and drop mouse pointer
dropmsk				: xbm file with mask for the d&d mouse pointer
doc/hm--html-mode.texinfo	: Package documentation in the Texinfo format;
doc/umlaute.texinfo		: Texinfo include file for german vowel 
				  mutation (deutsche Umlaute);


Note: In this version the setting of the environment variables 
HTML_CONFIG_FILE and HTML_USER_CONFIG_FILE are no longer necessary,
if you put the user configuration file in the home directory and
the system configuration file in one of the load path directories
of your XEmacs or Emacs 19.

1. 	Put all the *.el files in one of your xemacs (or emacs) lisp load
        directories (i.e. lisp/packages).

2.	For XEmacs only: Put the files drop and dropmask in the
	directory specified by the lisp variable `idd-data-directory'.
	By default this directory is <prefix>/lib/xemacs-<version>/etc/idd.
	(eg: if you've installed the XEmacs 19.15 in /usr/local, it is
	If you'd like to put the files in another directory, then you must
	set the variable `idd-data-directory' to this directory (eg: 
	(setq idd-data-directory "/usr/local/data")

3.	Put the following in your .emacs (or default.el or site-init.el):

	(autoload 'hm--html-mode "hm--html-mode" "HTML major mode." t)
	(autoload 'hm--html-minor-mode "hm--html-mode" "HTML minor mode." t)
	(or (assoc "\\.html$" auto-mode-alist)
            (setq auto-mode-alist (cons '("\\.html$" . hm--html-mode) 

	(autoload 'tmpl-expand-templates-in-buffer "tmpl-minor-mode"
	  "Expand all templates in the current buffer." t)

        (autoload 'html-view-start-mosaic "html-view" "Start Xmosaic." t)
        (autoload 'html-view-view-buffer 
	  "View the current buffer in Xmosaic."
        (autoload 'html-view-view-file 
	  "View a file in Xmosaic."
        (autoload 'html-view-goto-url
	  "Goto url in Xmosaic."
        (autoload 'html-view-get-display
	  "Get the display for Xmosaic (i.e. hostxy:0.0)."
        (autoload 'w3-preview-this-buffer "w3" "WWW Previewer" t)
	(autoload 'w3 "w3" "WWW Browser" t)
	(autoload 'w3-open-local "w3" "Open local file for WWW browsing" t)
	(autoload 'w3-fetch "w3" "Open remote file for WWW browsing" t)
	(autoload 'w3-use-hotlist "w3" "Use shortcuts to view WWW docs" t)

	The above lines assume that you have not installed already another
	html mode. If this isn't true, then you should use the following

	(setq auto-mode-alist (cons '("\\.html$" . hm--html-mode) 

	instead of

	(or (assoc "\\.html$" auto-mode-alist)
            (setq auto-mode-alist (cons '("\\.html$" . hm--html-mode) 

	It could also be, that you've already the autoload lines for
        the w3 package in your emacs.

	If you want to use this the hm--html-minor-mode together
	with the psgml-html modes, then you should add the following
	line (works only in XEmacs version >= 19.15 and != 20.0)
	(add-hook 'html-mode-hook 'hm--html-minor-mode)

4.	Set (if you want) the environment variable HTML_CONFIG_FILE 
	to the html system configuration file i.e.:	
	setenv HTML_CONFIG_FILE /usr/xemacs/lisp/hm--html-configuration.el

5.	Set (if you want) the environment variable HTML_USER_CONFIG_FILE to 
	the html user configuration file i.e.:
	setenv HTML_USER_CONFIG_FILE ~/.hm--html-configuration.el
	And put the file .hm--html-configuration.el in your Home directory.
	An example for this user specific file is given below.

6.	Check the files hm--html-configuration.el and 
	.hm--html-configuration.el whether all variables are set suitable for 
	you and your site or not. You can make changes in both of these files
	and you can also create a site specific configuration file, called
	hm--html-site-config-file.el and specified by the lisp variable
	hm--html-site-config-file or the environment variable
        HTML_SITE_CONFIG_FILE, and put your site specific settings in this
	file. A site specific configuration file is useful, if you're a
	system administrator and want to make site specific settings
	without changing a file of this package or use the normal emacs
        configuration files.
	Note that .hm--html-configuration.el precedes the settings in
	hm--html-site-config-file.el, which precedes the settings in
	hm--html-configuration.el (user specific configuration overwrites
	site specific configuration and site specific configuration 
	overwrites the settings made by the package).

	Look at first at the following variables:


7.	If you want to use templatefiles, you should put these files
	in the directory to which `hm--html-template-dir' points.
	You can use the file command-description.html.tmpl as
	an example.

8.	If you don't want to use the feature of adding html comments
	about the creation date and author and with a change log, then
	you should set the following three variables to nil:

9.      If you don't want to set a date in the title line, than you should
        set the following to nil:

The following is an example for a user specific configuration file
called .hm--html-configuration.el. You should put such a file in your
home directory and put all the variable settings in it, which are user

---- BEGIN of .hm--html-configuration.el ----
;;; Private html configuration file

;; Signature file
(setq hm--html-signature-file 

;; Username (Only necessary if it differs from the passwd entry)
(setq hm--html-username "Heiko M´┐Żnkel")

;; X Window System display for the html-view
(setq html-view-display "daedalus:0.0")

;; Use the expert menus?
(setq hm--html-expert t)

;; Delete the automounter path prefix /tmp_mount
(setq hm--html-delete-wrong-path-prefix "/tmp_mount")

; W3 

;; Default Home Page for w3-mode in lemacs or GNU Emacs
(setq w3-default-homepage "file:/home/muenkel/data/docs/www/home.html")
---- END of .hm--html-configuration.el ----

Every hm--*.el file has a description and installation part. Look at first
at these parts, if you have any questions.

Look at first at the configuration files, if you have problems with
this package!

You should also look at the Texinfo documentation of this package.

There is a html documentation about the package. You can find it on:

Please send any bug reports, fixes or comments to

I hope these files will be useful,