demo.scrbl (10122B)
1 #lang scribble/base 2 @(require scribble/core 3 scribble/manual) 4 5 @title[#:tag "top" #:version "1.0" #:style 'toc-hidden]{All-Styles Document, Title in ``H2''} 6 7 @author["Jack" "Jill"] 8 9 All of this content is within ``maincolumn'', then ``main''. 10 11 @"\U2192" The version on the top left of this page is in 12 ``versionbox'' and then either span ``versionNoNav'' (no navigation 13 bar, as for single-page rendering) or ``version'' (with navigation 14 bar, as for multi-page rendering). 15 16 @"\U2192" The author on the top left of this page is in 17 ``SAuthorListBox'', then ``SAuthorList'', and then a span ``author'', 18 where @tt{<br/>} separates multiple authors. 19 20 @"\U2190" The table-of-contents panels are both in a table ``tocset'': 21 22 @margin-note{This note is in ``refpara'', then ``refcolumn'', then 23 ``refcontent''.} 24 25 @itemlist[ 26 27 @item{The top panel is in ``tocview''. 28 29 The top panel can have multiple layers of the hierarchy. For a 30 single-page rendering, only one layer is present. For an 31 example of multiple layers when rendering this document to 32 multiple pages, go to @secref["deepest"]. 33 34 Each layer is in a ``tocviewlist'' that also has the class 35 ``tocviewlisttopspace'' in the case of the first layer. The 36 always-visible name of a layer is in a span ``tocviewtoggle'', 37 but that span is also in a ``tocviewtitle'' in the case of the 38 first layer. Each item under the title is in a 39 ``tocviewsublist'' or a variant: ``tocviewsublistonly'' if only 40 a single item is present, ``tocviewsublistfirst'' for the first 41 item of multi, ``tocviewsublistlast'' for the last item of 42 multiple. Then, each item is in a span ``tocviewlink''. 43 44 Each section link in the panel is a span ``tocviewlink'' or a 45 span ``tocviewselflink'' if the link corresponds to the current 46 page or on the path to the current page.} 47 48 @item{A bottom panel is visible here only for a single-page 49 rendering. See its description in @secref["h3"].} 50 51 ] 52 53 54 @margin-note[#:left? #t]{This note is in ``refparaleft'', then 55 ``refcolumnleft'', then ``refcontent''.} 56 57 Table of contents uses ``toptoclink'' for the top layer, and 58 ``toclink'' for nested levels: 59 60 @table-of-contents[] 61 62 @margin-note*{This note is in ``refelem'', then ``refcolumn'', then 63 ``refcontent''.} 64 @margin-note*[#:left? #t]{This note is in ``refelemleft'', then 65 ``refcolumnleft'', then ``refcontent''.} 66 67 @; ====================================================================== 68 @section[#:tag "h3"]{Section in ``H3''} 69 70 @"\U2190" For either single-page or multi-page rendering, the 71 table-of-contents column here has two panels. The top panel is 72 described in the @seclink["h3"]{starting prose}. For the bottom panel: 73 74 @itemlist[ 75 76 @item{The bottom panel is in a ``tocsub''. For a multi-page 77 rendering, the on-this-page title is in ``tocsubtitle''. The 78 rest is always in a table ``tocsublist''. For each entry, the 79 number part is in a span ``tocsublinknumber'', and the title 80 part in a span, one of the following: ``tocsubseclink'' if the 81 link represents a (sub)section, ``tocnonseclink'' if the link is 82 not a (sub)section but there are (sub)sections in the list (and 83 there is an example target in this section), or ``tocsublink'' 84 if no links represent a (sub)section (see 85 @secref["all-non-sec"]).} 86 87 ] 88 89 When a part that corresponds to a page has a @racket['no-toc] style, 90 the top panel of the table-of-contents column is missing and the 91 bottom panel is in a ``tocview'' instead of ``tocsub''. See 92 @secref["no-toc"]. 93 94 Here is the target for the 95 @toc-target-element[#f @elem{``tocnonseclink''} `(demo (prefixable "non-sec"))] 96 link. 97 98 @subsection[#:style 'toc]{Subsection in ``H4''} 99 100 @local-table-of-contents[] 101 102 @subsubsection[#:tag "deepest"]{Subsubsection in ``H5''} 103 104 @"\U2190" This page has no on-this-page panel in a multi-page 105 rendering, because there are no numbered subsections, but it has three 106 levels shown in the table-of-contents panel. 107 108 @subsubsub*section{``SSubSubSubSection''} 109 110 111 @subsection{Second Subsection in ``H4''} 112 113 114 @; ====================================================================== 115 @section[#:tag "no-toc" #:style 'no-toc]{Suppressed ToC Panel} 116 117 In multi-page rendering, this page has no gobal table-of-contents 118 panel, because it is suppressed with @racket['no-toc]. 119 120 @subsection{Subsection} 121 122 @subsection{Another Subsection} 123 124 125 @; ====================================================================== 126 @section[#:tag "all-non-sec"]{Non-Section On-This-Page Links} 127 128 This section has only non-section targets in the on-this-page 129 panel of a multi-page rendering. 130 Here is the target for the 131 @toc-target-element[#f @elem{``tocsublink'' 1} `(demo (prefixable "non-sec 1"))] 132 link. 133 Here is the target for the 134 @toc-target-element[#f @elem{``tocsublink'' 2} `(demo (prefixable "non-sec 2"))] 135 link. 136 137 Here is the target for the @as-index{``indexlink''} link in the 138 @seclink["doc-index"]{index} (where ``indexlink'' is used for the 139 index entry and not here). 140 141 @; ====================================================================== 142 @section{Element Styles} 143 144 Some spans: 145 146 @itemlist[ 147 148 @item{@tt{``stt''}} 149 150 @item{@elem[#:style 'roman]{``sroman''}} 151 152 @item{@elem[#:style "slant"]{``slant''}} 153 154 @item{@elem[#:style 'sf]{``ssanserif''}} 155 156 @item{@smaller{``Smaller''}} 157 158 @item{@larger{``Larger''}} 159 160 @item{``hspace'' is used for forced @hspace[3] space} 161 162 @item{``url'' is used for URLs: @url{http://racket-lang.org}} 163 164 @item{@elem[#:style 'no-break]{``nobreak'', which is used to prevent 165 line breaks anywhere in the element so that the element may run too 166 far right}} 167 168 @item{@italic{italic} directly sets @tt{font-style} to @tt{italic}} 169 170 @item{@bold{bold} directly sets @tt{font-weight} to @tt{bold}} 171 172 @item{@elem[#:style 'superscript]{superscript} directly sets 173 @tt{vertical-align} to @tt{super} and @tt{font-size} to @tt{80%}.} 174 175 @item{@elem[#:style 'subscript]{subscript} directly sets 176 @tt{vertical-align} to @tt{sub} and @tt{font-size} to @tt{80%}.} 177 178 ] 179 180 Link spans: 181 182 @itemlist[ 183 184 @item{@elemref[#:underline? #f '(prefixable "plain-target")]{``plainlink''} 185 hyperlink to @elemtag['(prefixable "plain-target")]{here}} 186 187 @item{@deftech{technical term} definitions are simply italicized by default} 188 189 @item{@tech{technical term} references are in ``techoutside'', then ``techinside''} 190 191 ] 192 193 @; ====================================================================== 194 @section{Block Styles} 195 196 @nested{This paragraph is in a ``SubFlow'' @tt{<blockquote>}.} 197 198 @nested[#:style 'inset]{This paragraph is in a plain @tt{<blockquote>}.} 199 200 @nested[#:style 'code-inset]{This paragraph is in a ``SCodeFlow'' 201 @tt{<blockquote>}.} 202 203 @nested[#:style 'vertical-inset]{This paragraph is in a 204 ``SVInsetFlow'' @tt{<blockquote>}. This style is useful when space is 205 not normally included between blocks.} 206 207 @centered{This paragraph is in a ``SCentered'' @tt{<blockquote>}.} 208 209 @tabular[#:style 'boxed (list (list @t{A ``boxed'' table.}))] 210 211 @; ====================================================================== 212 @section{Enumerations} 213 214 This one is unordered, so it uses @tt{<ul>}: 215 216 @itemlist[ 217 218 @item{six} 219 220 @item{half-dozen} 221 222 ] 223 224 This one is ordered, so it uses @tt{<ol>}: 225 226 @itemlist[#:style 'ordered 227 228 @item{First} 229 230 @item{Second 231 232 @itemlist[#:style 'ordered 233 234 @item{Second, first half} 235 236 @item{Second, second half 237 238 @itemlist[#:style 'ordered 239 240 @item{First half of that} 241 242 @item{Second half of that 243 244 @itemlist[#:style 'ordered 245 246 @item{Thin-slice start} 247 248 @item{Thin-sliced end} 249 250 ]} 251 ]} 252 253 ]} 254 255 @item{Third} 256 ] 257 258 This one is ``compact'': 259 260 @itemlist[ #:style 'compact 261 262 @item{six} 263 264 @item{half-dozen} 265 266 ] 267 268 This paragraph follows the enumeration above. 269 270 @; ====================================================================== 271 @section{Paragraph Spacing} 272 273 This sentence is a paragraph all by itself. 274 275 @t{This sentence is a paragraph.} 276 @t{This sentence is also a paragraph, but it is connected to the 277 previous paragraph as a compound paragraph by virtue of having no 278 paragraph-breaking space before it, and each paragraph is in a 279 ``SIntraPara'' @tt{<div>} instead of a @tt{<p>}.} 280 281 This sentence is a paragraph, as is each of A1, B1, A2, B2, A3, B3a, 282 and B2a in the following table, but B3a and B2a form a compound paragraph. 283 @; 284 @tabular[(list (list "A1" 285 "B1") 286 (list "A2" 287 "B2") 288 (list "A3" 289 @compound-paragraph[plain (list @t{B3a} @t{B3b})]))] 290 @; 291 This sentence is a paragraph, and with the preceding table and 292 paragraph forms a compound paragraph. 293 294 @nested{ 295 @t{This is a first paragraph in a @tt{<blockquote>}.} 296 @t{This is a second paragraph in a @tt{<blockquote>}.} 297 } 298 299 300 @; ====================================================================== 301 @section{Navigation Bars} 302 303 For multi-page rendering, this page will have a navigation bar at the 304 top and bottom. The bars are within ``maincolumn'' and ``main''. 305 306 The tap bar is in ``navsettop'', and the bottom one is in 307 ``navsetbottom''. Within those divs, ``navsetleft'' wraps content to 308 be left-aligned and ``navsetright'' wraps content to be right-aligned. 309 310 Links that are disabled (such as a next-page link on the last page) 311 are each in a span ``nonavigation''. 312 313 When a search box is included, then it is in ``searchform'' and then 314 ``searchbox''. If no search box is included, then a ``nosearchform'' 315 @tt{div} is used. 316 317 Finally, and not part of the nagivation bar, the bottom nagivation bar 318 is followed by a @tt{div} with the name 319 ``contextindicator''. JavaScript code attached to the page copies the 320 @tt{ctxtname} query argument, if any, to the @tt{div} and makes it 321 visible. 322 323 @; ====================================================================== 324 @index-section[]