Button Lists

| 
+----+ 
     | 
+----+ 
| HPage - 1 
+----+ 
     | 
+----+ 
| HPage - 2 
+----+ 
     | 
+----+ 
| HPage - 3 
+----+ 
     | 
+----+ 
| 

<..button list..>
 \a:buttonList
 \let\Item=\It:em
 \edef\but:file{\RefFileNumber\FileNumber}%
 \ifx \but:file\empty  \edef\but:file{\j:bname tmp.\:html}\fi
 \def\ALL:file##1.##2<.par del.>{\def\ALL:file{##1-}}%
 \NewFileName\all:file \expandafter\ALL:file\all:file.<.par del.>%
 \HPage<\all:file>{}\IgnorePar
 \let\item=\B:item
 \def\EndList{%
    \ifnum \ListCounter>1 \l:Bd{#1}\fi
    \EndHPage{}%
    \b:buttonList \endgroup  }%
 -_-_-

Set browser-title for the above HPage?

For simple HPage: ‘\item{...}...’.

<..html TeX4ht lists..>+
 \def\B:item#1{%
    \ifnum \ListCounter>0 \l:Bd{#1}\fi
    \Advance:\ListCounter by 1
    \FileStream\but:file
       \Recall:Link\bt:fl  \Recall:HPage\hpg:fl \Recall:HPageTag\hptg:fl
    \L:Ba{#1}\Link[\all:file]{\ALL:file
                              \ListCounter}{\ALL:file\ListCounter}%
    \L:Bb{#1}\EndLink
    \L:Bc{#1}\FileStream\all:file
       \Save:Link\bt:fl    \Save:HPage\hpg:fl   \Save:HPageTag\hptg:fl
    \l:Ba{#1}\Link[\but:file]{\ALL:file
                              \ListCounter}{\ALL:file\ListCounter}%
    \l:Bb{#1}\EndLink
    \l:Bc{#1}\HtmlEnv}
 -_-_-

For sensitive code: ‘\Item...\ContItem...’.

<..html TeX4ht lists..>+
 \def\It:em{\bgroup  \csname no:catcodes\endcsname0{255}{12}%
                     \catcode‘\^^I=13\relax\:Itm}
 \bgroup
    \global\let\:grp=\egroup
    \def\:temp{%
       \csname no:catcodes\endcsname0{255}{12}
       \catcode‘\/=0 \catcode‘\{=1 \catcode‘\}=2  \catcode‘\#=6
       \catcode‘\:=11 \catcode‘\g=11 \catcode‘\r=11 \catcode‘\p=11
       \gdef\:Itm }
 \:temp#1\ContItem{/:grp/g:rp{#1}}/:grp
 
                                           \catcode‘\^^I=13
 \def\g:rp#1{%
    \immediate\openout15=\jobname.tmp
     {\newlinechar‘\^^M \def^^I{\space\space}%
      \immediate\write15{\string\ignorespaces\space#1}}%
    \immediate\closeout15
    \B:item{\input \jobname.tmp}}
                                           \catcode‘\^^I=10
 -_-_-

Style for HPages.

<..html TeX4ht lists..>+
 \NewConfigure{buttonList}[5]{\def\a:buttonList{#1}%
    \def\b:buttonList{#2}%
    \def\L:Ba##1{#3}\def\L:Bb##1{#5}\def\L:Bc##1{#4}}
 -_-_-

\Configure{buttonList} {before-external-list} {after-external-list} {before-external-anchor} {after-external-anchor} {external-anchor}’.

<..html TeX4ht lists..>+
 \NewConfigure{buttonList+}[4]{%
     \def\l:Ba##1{#1}\def\l:Bb##1{#4}\def\l:Bc##1{#2}\def\l:Bd##1{#3}}
 -_-_-

\Configure{buttonList+}{before-internal-anchor} {after-internal-anchor} {internal-anchor}’.

The before-item, after-item, and anchor, get the item content #1 for a parameter.