-
Notifications
You must be signed in to change notification settings - Fork 0
/
toc.cfg
165 lines (143 loc) · 4.58 KB
/
toc.cfg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
% (C) 2016: Hans Georg Schaathun <[email protected]>
% Based on an example by Daniel Becker.
\Preamble{xhtml,NoFonts,3} %
%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%% title %%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%
\makeatletter
\Configure{TITLE+}{\@title}
\Configure{subsectionTITLE+}{#1 | \@title}
\Configure{sectionTITLE+}{#1 | \@title}
\makeatother
% Ignore maketitle. Title/header are coded differently in HTML.
\Configure{maketitle}{}{}{}{}{}
\let\maketitle\relax
%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%% graphics %%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%
\DeclareGraphicsExtensions{.svg,.png,.jpg,.jpeg,.eps}
\DeclareGraphicsRule{.svg}{bmp}{.xbb}{}
% \Configure{Picture}{.svg}
\makeatletter %thanks to Michal Hoftich for the following macros
%these macros determine the bounding box automatically
% Various helper functions
% default font size
\newcommand\emwidth{10}
%\let\emwidth\f@size % DO NOT USE THIS LINE, causes problems
% convert pt to rem
\newcommand\CalcRem[1]{\strip@pt\dimexpr(#1)/\emwidth}
\Configure{graphics*}
{svg}
{\Picture[pict]{\csname Gin@base\endcsname.svg
\space style="width:\CalcRem{\Gin@req@width}em;"
}%
\special{t4ht+@File: \csname Gin@base\endcsname.svg}
}
\makeatother
%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%% several pages %%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\CutAt{section}
%\Configure{CutAt-filename}{\NextFile{#2.html}}
%nach subsection kommt ein TOC mit subsubsections,
% bis zum nächsten section Kommando
\TocAt{subsection,subsubsection,/section}
\TocAt{likesection,likesubsection,likesubsubsection}
%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%% header %%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%
\makeatletter
\Configure{@BODY}{
{\ifvmode\IgnorePar\fi\EndP}
% 0. Open main
\Tg<main> % closed in the footer
% 1. Header
\Tg<header id="topcontainer">
\Tg<div class="lh">\@module\Tg</div>
\Tg</header>
\Tg<header id="pageheadcontainer">
\Tg<h1>\@pagetitle\Tg</h1>
\Tg<h2>\@pagesubtitle\Tg</h2>
\Tg</header>
% 2. aside
\Tg<aside id="Navigation-links">
\Tg<ul id=homelink>
\HCode{<li class=toc-section><a href="\jobname.html">Home</a></li>}
\Tg</ul>
\let\contentsname=\empty
\tableofcontents[section,subsection,subsubsection]
\Tg</aside>
% 3. Open main
\Tg<div id="contents"> % closed in the footer
}
\makeatother
%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%% footer %%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%
\makeatletter
\Configure{@/BODY}{{
\Tg<footer>
\Tg<hr />
\Tg<address>
\HCode{<a href="\@authorurl">\@author</a> /
<a href="mailto:\@authoremail">\@authoremail</a>}
\Tg<br/>
\Tg</address>
{\footnotesize \today \;(\thistime) \ |}
{\footnotesize \href{\jobname.pdf TARGET="_top"}{PDF av sidene}}
\Tg</footer>
\ifvmode\IgnorePar\fi\EndP\Tg</div>\Tg</main>%
}}
\makeatother
\begin{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Links and TOC %%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\Configure{crosslinks}
%{ }{ }{} %[next]
%{} %[previous]
%{ }{}{ }{}%[up]
\Configure{crosslinks+}{\Tg<div class="crosslinks">}{\Tg</div>}{\Tg<aside class="crosslinkbox">}{\Tg</aside>}
\def\collapseButton#1{\HCode{%
<input type="checkbox" class="toc-collapse" id="collapse-button-#1"/>
<label class="collapse-label" for="collapse-button-#1">
<span class="collapse-plus">+</span>
<span class="collapse-minus">-</span>
</label>
}}
\newcount\c
\newcount\tocID\tocID=0
\def\tocItem#1{\Tg<li class="#1" id="toc-item-\the\tocID">\advance\tocID by 1}
\def\tocNesting#1{%
\expandafter\ifx \csname level#1\endcsname\relax
\ifnum #1=2
\collapseButton{\the\tocID}
\fi
\ifnum #1>0
\HCode{<ul id="toc-block-\the\tocID">}
\fi
\expandafter\def \csname level#1\endcsname{\HCode{</ul>}}
\fi
\c=#1 \advance\c by 1
\loop % Loop to finish levels deeper than the current one
% 1. Run macro to close list
\csname level\the\c\endcsname
% 2. Reset macro to relax
\expandafter\let \csname level\the\c\endcsname\relax
% 3. Increment loop index and repeat until 10th level.
\advance\c by 1
\ifnum \c<10 \repeat
}
\def\CollapseBox{\Tg<input type="checkbox" class="toc-collapse">\Tg</input>}
\ConfigureToc{section}
{}{\tocNesting{1}\tocItem{toc-section}}
{}{\CollapseBox}
\ConfigureToc{subsection}
{}{\tocNesting{2}\tocItem{toc-subsection}}
{}{}
\ConfigureToc{subsubsection}
{}{\tocNesting{3}\tocItem{toc-subsubsection}}{}{}
\Configure{tableofcontents}
{} {\tocNesting{0}} {} {} {}
\EndPreamble
\endinput