@@ -90,6 +90,10 @@ function toDefaultValueStr(value) {
9090}
9191
9292function pushOptionBlocks ( options , block , parents = [ ] ) {
93+ function makeOptionID ( option ) {
94+ return [ ...parents , option . name ] . join ( '_' ) + "_option"
95+ }
96+
9397 block . lines . push ( '<table class="tableblock frame-all grid-all stretch">' )
9498 block . lines . push ( '<colgroup>' )
9599 block . lines . push ( '<col style="width: 23.3333%;">' )
@@ -108,7 +112,8 @@ function pushOptionBlocks(options, block, parents = []) {
108112 let optionName = [ ...parents , option . name ] . join ( '.' )
109113 block . lines . push ( '<tr>' )
110114 block . lines . push ( `<td class="tableblock halign-left valign-top">` )
111- block . lines . push ( `<code style="color: darkblue">${ optionName } </code>` )
115+ const colorStr = option [ 'deprecated' ] ? 'red' : 'darkblue'
116+ block . lines . push ( `<a href="#${ makeOptionID ( option ) } "><code style="color: ${ colorStr } ">${ optionName } </code></a>` )
112117 block . lines . push ( `<br/>` )
113118 block . lines . push ( `<span style="color: darkgreen;">(${ toTypeStr ( option . type ) } )</span>` )
114119 let observations = [ ]
@@ -118,8 +123,11 @@ function pushOptionBlocks(options, block, parents = []) {
118123 if ( option [ 'command-line-only' ] ) {
119124 observations . push ( 'Command line only' )
120125 }
126+ if ( option [ 'deprecated' ] ) {
127+ observations . push ( `Deprecated` )
128+ }
121129 if ( observations . length !== 0 ) {
122- block . lines . push ( `<br/><br/> ` )
130+ block . lines . push ( `<br/>` )
123131 let observationsStr = observations . join ( ', ' )
124132 block . lines . push ( `<span style="color: orangered;">(${ observationsStr } )</span>` )
125133 }
@@ -134,14 +142,19 @@ function pushOptionBlocks(options, block, parents = []) {
134142 // Option details
135143 for ( let option of options ) {
136144 let optionName = [ ...parents , option . name ] . join ( '.' )
137- block . lines . push ( `<div class="paragraph"><p><b><code style="color: darkblue">${ optionName } </code></b></p></div>` )
145+ const optionID = optionName . replace ( / \. / g, '_' )
146+ const colorStr = option [ 'deprecated' ] ? 'red' : 'darkblue'
147+ block . lines . push ( `<div class="paragraph" id="${ makeOptionID ( option ) } "><p><b><code style="color: ${ colorStr } ">${ optionName } </code></b></p></div>` )
138148 block . lines . push ( `<div class="paragraph"><p><i>${ option . brief } </i></p></div>` )
139149 if ( option . details ) {
140150 block . lines . push ( `<div class="paragraph"><p>${ replaceCodeTags ( escapeHtml ( option . details ) ) } </p></div>` )
141151 }
142152 block . lines . push ( `<div class="paragraph"><p>` )
143153 block . lines . push ( `<div class="ulist">` )
144154 block . lines . push ( `<ul>` )
155+ if ( option [ 'deprecated' ] ) {
156+ block . lines . push ( `<li><span style="color: red;">Deprecated</span>: ${ replaceCodeTags ( escapeHtml ( option [ 'deprecated' ] ) ) } </li>` )
157+ }
145158 if ( option . type ) {
146159 block . lines . push ( `<li>Type: ${ toTypeStr ( option . type ) } </li>` )
147160 } else {
0 commit comments