@@ -29,8 +29,10 @@ var priorities = config["orgdiagram.md"].reduce((agg, name, index) => {
2929 return agg ;
3030} , { } )
3131
32- var orgdiagramclasses = doc . classes . filter ( item => { return item . namespace [ 1 ] == "orgdiagram"
33- && item . name != "Control" && item . name != "BaseControl" } ) ;
32+ var orgdiagramclasses = doc . classes . filter ( item => {
33+ return item . namespace [ 1 ] == "orgdiagram"
34+ && item . name != "Control" && item . name != "BaseControl"
35+ } ) ;
3436orgdiagramclasses = orgdiagramclasses . sort ( ( a , b ) => {
3537 var ap = priorities [ a . name ] || 100 ;
3638 var bp = priorities [ b . name ] || 100 ;
@@ -46,8 +48,10 @@ var priorities = config["famdiagram.md"].reduce((agg, name, index) => {
4648 return agg ;
4749} , { } )
4850
49- var famdiagramclasses = doc . classes . filter ( item => { return item . namespace [ 1 ] == "famdiagram"
50- && item . name != "Control" && item . name != "BaseControl" } ) ;
51+ var famdiagramclasses = doc . classes . filter ( item => {
52+ return item . namespace [ 1 ] == "famdiagram"
53+ && item . name != "Control" && item . name != "BaseControl"
54+ } ) ;
5155famdiagramclasses = famdiagramclasses . sort ( ( a , b ) => {
5256 var ap = priorities [ a . name ] || 100 ;
5357 var bp = priorities [ b . name ] || 100 ;
@@ -64,7 +68,7 @@ fs.writeFileSync(config.destination + "javascriptcontrols.md", create_classes_md
6468var pdfkitclasses = get_pdfkit_annotations ( doc ) ;
6569fs . writeFileSync ( config . destination + "pdfkitplugins.md" , create_classes_md ( "[PDFKit Plugins](https://pdfkit.org/)" , pdfkitclasses ) ) ;
6670
67- fs . writeFileSync ( config . destination + "index .md" , create_index_md ( "Basic Primitives Diagrams API Reference" , {
71+ fs . writeFileSync ( config . destination + "readme .md" , create_index_md ( "Basic Primitives Diagrams API Reference" , {
6872 orgdiagramclasses,
6973 famdiagramclasses,
7074 enums : doc . enums ,
@@ -88,42 +92,58 @@ function create_index_md(title, {
8892 var result = "# " + title ;
8993 result += "\r\n## [JavaScript Controls](javascriptcontrols.md)" ;
9094 result = controlsclasses . reduce ( ( agg , annotation ) => {
91- agg += "\r\n* " + [ ...annotation . namespace , annotation . name ] . join ( "." ) ;
95+ let { namespace, name } = annotation ;
96+ let key = [ ...namespace , name ] . join ( "." ) ;
97+ agg += "\r\n* [" + key + "](javascriptcontrols.md#" + key + ")" ;
9298 return agg ;
9399 } , result ) ;
94100 result += "\r\n## [PDFKit Plugins](pdfkitplugins.md)" ;
95101 result = pdfkitclasses . reduce ( ( agg , annotation ) => {
96- agg += "\r\n* " + [ ...annotation . namespace , annotation . name ] . join ( "." ) ;
102+ let { namespace, name } = annotation ;
103+ let key = [ ...namespace , name ] . join ( "." ) ;
104+ agg += "\r\n* [" + key + "](pdfkitplugins.md#" + key + ")" ;
97105 return agg ;
98106 } , result ) ;
99107 result += "\r\n## [Organizational Chart Configuration Objects](orgdiagram.md)" ;
100108 result = orgdiagramclasses . reduce ( ( agg , annotation ) => {
101- agg += "\r\n* " + annotation . name ;
109+ let { namespace, name } = annotation ;
110+ let key = [ ...namespace , name ] . join ( "." ) ;
111+ agg += "\r\n* [" + annotation . name + "](orgdiagram.md#" + key + ")" ;
102112 return agg ;
103113 } , result ) ;
104114 result += "\r\n## [Family Diagram Configuration Objects](famdiagram.md)" ;
105115 result = famdiagramclasses . reduce ( ( agg , annotation ) => {
106- agg += "\r\n* " + annotation . name ;
116+ let { namespace, name } = annotation ;
117+ let key = [ ...namespace , name ] . join ( "." ) ;
118+ agg += "\r\n* [" + annotation . name + "](famdiagram.md#" + key + ")" ;
107119 return agg ;
108120 } , result ) ;
109121 result += "\r\n## [Enumerations](enums.md)" ;
110122 result = enums . reduce ( ( agg , annotation ) => {
111- agg += "\r\n* " + annotation . name ;
123+ let { namespace, name } = annotation ;
124+ let key = [ ...namespace , name ] . join ( "." ) ;
125+ agg += "\r\n* [" + annotation . name + "](enums.md#" + key + ")" ;
112126 return agg ;
113127 } , result ) ;
114128 result += "\r\n## [Structures](structures.md)" ;
115129 result = structures . reduce ( ( agg , annotation ) => {
116- agg += "\r\n* " + annotation . name ;
130+ let { namespace, name } = annotation ;
131+ let key = [ ...namespace , name ] . join ( "." ) ;
132+ agg += "\r\n* [" + annotation . name + "](structures.md#" + key + ")" ;
117133 return agg ;
118134 } , result ) ;
119135 result += "\r\n## [Functions](functions.md)" ;
120136 result = functions . reduce ( ( agg , annotation ) => {
121- agg += "\r\n* " + annotation . name ;
137+ let { namespace, name } = annotation ;
138+ let key = [ ...namespace , name ] . join ( "." ) ;
139+ agg += "\r\n* [" + annotation . name + "](functions.md#" + key + ")" ;
122140 return agg ;
123141 } , result ) ;
124142 result += "\r\n## [Algorithms](algorithms.md)" ;
125143 result = algorithms . reduce ( ( agg , annotation ) => {
126- agg += "\r\n* " + annotation . name ;
144+ let { namespace, name } = annotation ;
145+ let key = [ ...namespace , name ] . join ( "." ) ;
146+ agg += "\r\n* [" + annotation . name + "](algorithms.md#" + key + ")" ;
127147 return agg ;
128148 } , result ) ;
129149 return result ;
@@ -154,7 +174,7 @@ function get_pdfkit_annotations(doc) {
154174function create_functions_md ( title , annotations ) {
155175 var result = "# " + title ;
156176 return annotations . reduce ( ( agg , annotation ) => {
157- agg += create_function_md ( annotation ) ;
177+ agg += create_function_md ( annotation , true ) ;
158178 return agg ;
159179 } , result ) ;
160180}
@@ -163,10 +183,11 @@ function create_classes_md(title, classes) {
163183 var result = "# " + title ;
164184 return classes . reduce ( ( agg , classAnnotation ) => {
165185 let { name, description, namespace, constants, properties, functions, returns, params } = classAnnotation ;
166- agg += "\r\n## " + name ;
186+ let key = [ ...namespace , name ] . join ( "." ) ;
187+ agg += '\r\n## <a name="' + key + '">' + name + '</a>' ;
167188 agg += "\r\n" + description ;
168189 agg += "\r\n" ;
169- agg += "\r\n <code> " + [ ... namespace , name ] . join ( "." ) + "</code> " ;
190+ agg += "\r\n ` " + key + "` " ;
170191 agg += "\r\n" ;
171192 if ( returns != undefined || params != undefined ) {
172193 agg += "\r\n### Constructor" ;
@@ -179,7 +200,7 @@ function create_classes_md(title, classes) {
179200 agg += "\r\n| --- | --- | --- | --- | " ;
180201 constants . forEach ( ( { name, value, type, description } ) => {
181202 type = replaceAll ( type , "|" , ", " ) ;
182- agg += "\r\n | <code> " + name + "</code> | " + type + " | <code> " + value + "</code> | " + ( description || spaceCamelCaseName ( name ) ) + " | " ;
203+ agg += "\r\n | ` " + name + "` | " + type + " | ` " + value + "` | " + ( description || spaceCamelCaseName ( name ) ) + " | " ;
183204 } ) ;
184205 agg += "\r\n" ;
185206 }
@@ -189,7 +210,7 @@ function create_classes_md(title, classes) {
189210 agg += "\r\n| --- | --- | --- | --- | " ;
190211 properties . filter ( item => item . ignore == undefined ) . forEach ( ( { name, value, type, description } ) => {
191212 type = replaceAll ( type , "|" , ", " ) ;
192- agg += "\r\n | <code> " + name + "</code> | " + type + " | <code> " + value + "</code> | " + ( description || spaceCamelCaseName ( name ) ) + " | " ;
213+ agg += "\r\n | ` " + name + "` | " + type + " | ` " + value + "` | " + ( description || spaceCamelCaseName ( name ) ) + " | " ;
193214 } ) ;
194215 agg += "\r\n" ;
195216 }
@@ -204,22 +225,27 @@ function create_classes_md(title, classes) {
204225 } , result ) ;
205226}
206227
207- function create_function_md ( { name, signature, description, params, returns, callbackparams } ) {
228+ function create_function_md ( { name, namespace , signature, description, params, returns, callbackparams } , hasBookmark ) {
208229 var result = "\r\n"
209- result += "\r\n <code>" + name + "(" + ( signature != undefined ? signature . join ( ", " ) : "" ) + ")</code> " ;
230+ if ( hasBookmark ) {
231+ let key = [ ...namespace , name ] . join ( "." ) ;
232+ result += '\r\n## <a name="' + key + '">' + name + '</a>' ;
233+ } else {
234+ result += "\r\n `" + name + "(" + ( signature != undefined ? signature . join ( ", " ) : "" ) + ")` " ;
235+ }
210236 result += "\r\n"
211237 result += "\r\n" + description ;
212238 result += "\r\n" ;
213239 if ( returns != undefined ) {
214- result += "\r\n Returns: <code> " + returns . type + "</code> - " + returns . description . toLowerCase ( ) ;
240+ result += "\r\n Returns: ` " + returns . type + "` - " + returns . description . toLowerCase ( ) ;
215241 result += "\r\n" ;
216242 }
217243 if ( params != undefined ) {
218244 result += "\r\n| Param | Type | Default | Description | " ;
219245 result += "\r\n| --- | --- | --- | --- | " ;
220246 params . forEach ( ( { name, value, type, description } ) => {
221247 type = replaceAll ( type , "|" , ", " ) ;
222- result += "\r\n | <code> " + name + "</code> | " + type + " | <code> " + ( value || "" ) + "</code> | " + ( description || spaceCamelCaseName ( name ) ) + " | " ;
248+ result += "\r\n | ` " + name + "` | " + type + " | ` " + ( value || "" ) + "` | " + ( description || spaceCamelCaseName ( name ) ) + " | " ;
223249 } ) ;
224250 }
225251 if ( callbackparams != undefined && callbackparams . length > 0 ) {
@@ -234,15 +260,16 @@ function create_function_md({ name, signature, description, params, returns, cal
234260function create_enums_md ( title , doc ) {
235261 var result = "# " + title ;
236262 return doc . enums . filter ( item => item . ignore == undefined ) . reduce ( ( agg , { name, description, namespace, items, type } ) => {
237- agg += "\r\n## " + name ;
263+ let key = [ ...namespace , name ] . join ( "." ) ;
264+ agg += '\r\n## <a name="' + key + '">' + name + '</a>' ;
238265 agg += "\r\n" + description ;
239266 agg += "\r\n" ;
240- agg += "\r\n <code> " + [ ...namespace , name ] . join ( "." ) + "</code> " ;
267+ agg += "\r\n ` " + [ ...namespace , name ] . join ( "." ) + "` " ;
241268 agg += "\r\n" ;
242269 agg += "\r\n| Name | Type | Value | Description | " ;
243270 agg += "\r\n| --- | --- | --- | --- | " ;
244271 items . forEach ( ( { name, value, description } ) => {
245- agg += "\r\n | <code> " + name + "</code> | " + get_enum_type ( type , doc . typedefs ) + " | <code> " + value + "</code> | " + ( description || spaceCamelCaseName ( name ) ) + " | " ;
272+ agg += "\r\n | ` " + name + "` | " + get_enum_type ( type , doc . typedefs ) + " | ` " + value + "` | " + ( description || spaceCamelCaseName ( name ) ) + " | " ;
246273 } ) ;
247274 agg += "\r\n" ;
248275 return agg ;
0 commit comments