dnl "dnl" is the preferred comment convention for m4 files. dnl Using the other comment conventions of m4 is hazardous because of the dnl need for changecom(). Using HTML comment conventions is hazardous because dnl of commas and other m4 syntactic elements that may be recognized by m4. dnl This file defines macros that are needed to be configure appearance. dnl primitives.m4 is intended to be processed immediately before this file, dnl appearance.m4 may redefine some of the macros first defined in dnl primitives.m4, if appropriate. dnl Note that literal commas and apostrophe's may be interpreted syntactically dnl by m4, as parameter separators and quote terminators, respectively. It is dnl better to use , for comma and ' for apostrophe where literals are dnl needed. In may also be appropriate to use  instead of a space. dnl A minimal file using these macros would be structured as follows: dnl dnl FILENAME.m4 $Id: 4www.appearance.m4,v 1.4 2024/01/07 16:39:09 sauer Exp sauer $ dnl dnl define(`m4_page_name', `index') dnl define(`m4_page_title', `My home page') dnl dnl include(`primitives.m4') dnl include(`appearance.m4') dnl dnl m4_page( dnl m4_table( dnl m4_row( dnl dnl , dnl {begin row primary content} dnl dnl ) dnl end m4_row primary content dnl ) dnl end m4_table dnl ) dnl end m4_page changecom(`#M4#') dnl If a file forgot to include primitives, do it now. ifdef(`m4_primitives',,include(primitives.m4)) dnl site-specific terms are a likely end user customization... sinclude(terms.m4) define(m4_hostname, `technologists.com') dnl `ns.technologists.com') define(m4_rss_name, `rss.xml') define(m4_home_path, `/.') define(m4_crumb_home, `home') define(m4_html_path, `https://m4_hostname') define(m4_shtml_path, `https://m4_hostname') define(m4_images_path, `m4_html_path/images') define(m4_notes_path, `https://technologists.com/notes/') dnl `https://ns.technologists.com/notes/') define(m4_spacer, `
pixel
') dnl define(`m4_enable_margin_links') dnl margin links for navigation dnl See comment at define of m4_row in primitives.m4 about need for following: ifdef(`m4_enable_margin_links', ` define(`m4_row', dnl redefined to ensure proper definition w/ margin links m4_row_begin$1m4_row_middle$2m4_row_column_end$3m4_row_end ) ' ) dnl This is here, not in primitives.m4, because of need for above re-define define(m4_margin_links,
ifdef(`m4_enable_margin_links', ` ifelse(m4_page_name,index,,)homeifelse(m4_page_name,index,,)
ifelse(m4_page_name,about,,)aboutifelse(m4_page_name,about,,)
ifelse(m4_page_name,archives,,)archivesifelse(m4_page_name,archives,,)
ifelse(m4_page_name,notes,,)notesifelse(m4_page_name,notes,,)
dnl ifelse(m4_page_name,cams,,)camsifelse(m4_page_name,cams,,)
dnl ifelse(m4_page_name,forum,,)forumifelse(m4_page_name,forum,,)
dnl ifelse(m4_page_name,hotlists,,)hotlistsifelse(m4_page_name,hotlists,,)
dnl ifelse(m4_page_name,library,,)libraryifelse(m4_page_name,library,,)
dnl ifelse(m4_page_name,mod_auth++,,)mod_auth++ifelse(m4_page_name,mod_auth++,,)
dnl ifelse(m4_page_name,nt4eol,,)nt4eolifelse(m4_page_name,nt4eol,,)
ifelse(m4_page_name,tidbits,,)tidbitsifelse(m4_page_name,tidbits,,)
ifelse(m4_page_name,RSS,,()RSSifelse(m4_page_name,RSS,,))
ifelse(m4_page_name,music,,)musicifelse(m4_page_name,music,,)
vidconf.net
' ) ifelse(m4_page_name,index,

Mainstream Videoconferencing

Kay Buena - Lady of the Highway - CD Cover

,)
) define(`m4_conditional_break',ifdef(`m4_enable_margin_links',
,)) define(`m4_conditional_spacer',ifdef(`m4_enable_margin_links',m4_spacer,)) define(`m4_enable_bottom_links') dnl bottom links for navigation define(m4_head_definition, ` m4_page_title ifelse(m4_page_name,index, dnl ) ifelse(m4_page_name,about, dnl ) ifelse(m4_page_name,archives, dnl ) ifelse(m4_page_name,tidbits, dnl ) ifelse(m4_page_name,music, dnl ) ifelse(m4_page_name,nindex,, dnl ) ') define(m4_text_face, `"CourierNew,Courier,Terminal"') define(m4_text_size, `3') define(m4_text_color, `"#000000"') define(m4_serif_face, dnl `"TimesNewRoman,Times,Serif"') `"Georgia,Serif"') define(m4_serif_size, `3') define(m4_serif_color, `"#000000"') define(m4_sans_face, `"Verdana,Arial,Helvetica"') define(m4_sans_size, `2') define(m4_sans_color, `"#000000"') define(m4_margin_link_face, `"CourierNew,Courier,Terminal"') define(m4_margin_link_size, `2') define(m4_margin_link_color, `"#000000"') define(m4_heading_face, `"CourierNew,Courier,Terminal"') define(m4_heading_size, `5') define(m4_heading_color, `"#cc5500"') dnl from www.utexas.edu css dnl `"#c06000"') dnl from statesman.com dnl `"#ef7321"') dnl from espn.go.com dnl `"#CC6600"') dnl from ?? define(m4_subheading_face, `"CourierNew,Courier,Terminal"') define(m4_subheading_size, `4') define(m4_subheading_color, `"#cc5500"') dnl `"#CC6600"') define(m4_label_face, `"CourierNew,Courier,Terminal"') define(m4_label_size, `4') define(m4_label_color, `"#cc5500"') dnl `"#CC6600"') define(m4_input_text_size, dnl width of in characters 35) dnl Note that getting something approximating WYSIWYG with TEXTAREAs is very dnl ad hoc. The following were determined after much experimentation. define(m4_textarea_face, `"CourierNew,Courier,Terminal"') define(m4_textarea_color, `"#000000"') define(m4_textarea_size, dnl This is font size `2') define(m4_textarea_width, dnl width of