(Dr.R.K.) Web Paging - Auxiliary Files & Programs

Go to Top Go to Bottom blank blank Go up one level R.K.'s Home Page Keyword Index Site Map Help Linux
The m4 powered website requires several auxiliary files and programs to automagically produce the web pages. This page will describe what some of them are and any special considerations.

Any paths given are relative to the website "root".

  • Special files contained within "/"
    • .site - contains site-wide macros.
      Described in more detail elsewhere.
    • .level - contains directory-wide macros.
      Described in more detail elsewhere.
    • index.htm4 - the website home page or index to the directory's web pages.
      Described in more detail elsewhere.
    • keyindex.htm4 - automatically generated by makekey - index to all the given keywords.
    • .masterkey - automatically appended onto by the htm4 macro package for each page processed. Is the database of keywords & website pages.
    • verindex.htm4 - automatically generated by makever - chronological index to web pages.
      Not yet available.
    • help.htm4 - the button help guide accessed by hitting Help in the button bar.
    • htm4 and associated files - THE m4 macros that format the .htm4 files into HTML.
      Described in more detail elsewhere.
      • m4html - user callable front-end macros for HTML format tags.
      • m4macros - changes the m4 keywords into a _UPPERCASE format to avoid accidental collisions between keywords and text.
      • m4user - define some useful user and site specific macros.
    • template.htm4 - template .htm4 file
    • .distrib - list of files or directories that get archived together for the "minimal distribution".
  • Special scripts & programs contained within "/"
    • Makefile - not exactly a program, but it does drive the efforts of make in generating the HTML pages. The Makefile in the website root directory is unique and can not be auto-generated.
      Described in more detail elsewhere.
    • setupmake, a POSIX shell script - generates the Makefile for each directory, except for the website root.
    • makekey/makekey.C - a C++ program that requires the "standard" C++ STL (standard template library). It creates the keyindex.htm4 file from .masterkey file.
    • makever/makever.C - a C++ program that requires the "standard" C++ STL (standard template library). It creates the verindex.htm4 file from .masterver file.
      Not yet available.
    • .fix & .fix.sed - script & sed file to help make global changes to all .htm4 (or whatever) files. must customize for your own changes.
    • Special slide making scripts contained within "/". All are perl scripts and expect perl to be located at /usr/local/bin/perl. (Edit the first line of each script if perl is located somewhere else.)
      These scripts are invoked by the Makefile when a .list file is found within the directory.
      • .slideALL - creates ALL.htm4, which is a collection of all the slides onto one web page for easy printing or for non-frames capable browsers.
      • .slidetoc - creates the table-of-contents part of the frames (toc.htm4).
      • .slideidx - creates the starting index.htm4 webpage that sets up the frames environment for the slides.
      • .slidelink - determines the correct _@[]@LINK macro for each slide webpage, dependent on the relative ordering in the .list file.
    • Special scripts contained within "/" that help with the RCS management of .htm4 files
      • .ci.all - checks in all the .htm4 files under RCS control via ci and pages through a rcsdiff of each file with differences before asking for version messages. Skips any auto-generated files (like for slides or special indices, and skips any directory trees with a .skip file, or those directories that have names that end with tmp. (For example: /howto/webpaging/slidetmp, a template directory will be skipped.) Can select to have a common message for each checked-in file. This feature is mainly for wholesale changes, such as those performed with .fix.
      • .ci.check - checks that the .ci.all was successful and checks in any .htm4 that was missed by .ci.all such as valid files not under RCS control. Can also just list affected files.
      • .co.all - checks out all .htm4 files from RCS control.
    • Special files contained in "/etc"
      • html.lite - a trimmed down version of html.htm4 without a lot of the special features ... mostly for use of the formatting tags, etc.
      • .htaccess.htm4 - template file added to any directory that needs web browsing restricted.
      • .fixbm - sed script - takes a Netscape "bookmark" file and changes the HTML tags to m4 macros.
      • .html2m4 - sed script - takes an HTML file and converts it to a m4 macro file. Specifically designed to handle man2html generated files. Does not do a 100% guaranteed job, but should handle about 99% of the routine stuff.
      • m4html.module - for those of you who use environment modules, edit this file and place in your own modules space. This file adds the websites /etc directory to the command path. If you don't have modules then you will need to edit your own .login or .profile to add this directory to the path.
      • mkpage - a simple sh (Bourne shell) script for automatically creating template webpages and calling up the editor on them.
        Just run mkpage to see the available options.

Brought to you by: R.K. Owen,Ph.D.
This page is http://rkowen.owentrek.com/howto/webpaging/helper.html