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: cs.indiana.edu:/pub/elisp/w3/w3.tar.z 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 tmpl-minor-mode; 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); INSTALLATION: ============= 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 /lib/xemacs-/etc/idd. (eg: if you've installed the XEmacs 19.15 in /usr/local, it is /usr/local/xemacs/lib/xemacs-19.15/etc/idd). 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) auto-mode-alist))) (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 "html-view" "View the current buffer in Xmosaic." t) (autoload 'html-view-view-file "html-view" "View a file in Xmosaic." t) (autoload 'html-view-goto-url "html-view" "Goto url in Xmosaic." t) (autoload 'html-view-get-display "html-view" "Get the display for Xmosaic (i.e. hostxy:0.0)." t) (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) auto-mode-alist)) instead of (or (assoc "\\.html$" auto-mode-alist) (setq auto-mode-alist (cons '("\\.html$" . hm--html-mode) auto-mode-alist))) 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: hm--html-signaturefile hm--html-username hm--html-template-dir hm--html-favorite-http-server-host-name html-document-previewer html-view-mosaic-command w3-default-homepage 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: hm--html-automatic-changed-comment hm--html-automatic-created-comment 9. If you don't want to set a date in the title line, than you should set the following to nil: hm--html-automatic-new-date 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 specific. ---- BEGIN of .hm--html-configuration.el ---- ;;; Private html configuration file ;; Signature file (setq hm--html-signature-file "http://www.tnt.uni-hannover.de:80/data/info/www/tnt/org/tnt/whois/wissmit/muenkel.html") ;; 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: http://www.tnt.uni-hannover.de/~muenkel/software/own/hm--html-menus/overview.html Please send any bug reports, fixes or comments to muenkel@daedalus.tnt.uni-hannover.de I hope these files will be useful, Heiko