diff --git a/docs/docs/options/BottomTabs.md b/docs/docs/options/BottomTabs.md index 222d91d7fb7..250f173b39b 100644 --- a/docs/docs/options/BottomTabs.md +++ b/docs/docs/options/BottomTabs.md @@ -1,6 +1,5 @@ - +

BottomTabs

-## BottomTabs **Properties** | Name | Type | diff --git a/docs/docs/options/Button.md b/docs/docs/options/Button.md index 86a2ac7662c..1692adc61a2 100644 --- a/docs/docs/options/Button.md +++ b/docs/docs/options/Button.md @@ -1,6 +1,5 @@ - +

Button

-## Button **Properties** | Name | Type | diff --git a/docs/docs/options/NavigationOptions.md b/docs/docs/options/NavigationOptions.md index 2e6c2a875f3..9d297447197 100644 --- a/docs/docs/options/NavigationOptions.md +++ b/docs/docs/options/NavigationOptions.md @@ -1,6 +1,5 @@ - +

NavigationOptions

-## NavigationOptions **Properties** | Name | Type | diff --git a/docs/docs/options/TopBar.md b/docs/docs/options/TopBar.md index 6063d27df75..bad5c919a09 100644 --- a/docs/docs/options/TopBar.md +++ b/docs/docs/options/TopBar.md @@ -1,6 +1,5 @@ - +

TopBar

-## TopBar **Properties** | Name | Type | diff --git a/docs/templates/header.hbs b/docs/templates/header.hbs new file mode 100644 index 00000000000..e4c478e627a --- /dev/null +++ b/docs/templates/header.hbs @@ -0,0 +1,3 @@ +

{{anchorName}}

+ +{{>sig-name}} \ No newline at end of file diff --git a/docs/templates/sig-name.hbs b/docs/templates/sig-name.hbs new file mode 100644 index 00000000000..caf49f806c0 --- /dev/null +++ b/docs/templates/sig-name.hbs @@ -0,0 +1,14 @@ +{{#if virtual}}*{{/if}}{{#with (parentObject)}}{{#if virtual}}*{{/if~}}{{/with~}} +{{#if name}}{{#sig~}} +{{{@depOpen}~}} +{{{@codeOpen}~}} +{{#if @prefix}}{{@prefix}} {{/if~}} +{{@parent~}} +{{#if @methodSign}}{{#if (isEvent)}} {{@methodSign}}{{else}}{{@methodSign}}{{/if}}{{/if~}} +{{{@codeClose}~}} +{{#if @returnSymbol}} {{@returnSymbol}}{{/if~}} +{{#if @returnTypes}} {{>linked-type-list types=@returnTypes delimiter=" \| " }}{{/if~}} +{{#if @suffix}} {{@suffix}}{{/if~}} +{{{@depClose}~}} +{{~/sig}}{{/if~}} +{{#if virtual}}*{{/if}}{{#with (parentObject)}}{{#if virtual}}*{{/if~}}{{/with~}} \ No newline at end of file diff --git a/scripts/generate-js-doc.js b/scripts/generate-js-doc.js index 2826e128a91..f6bb4462bad 100755 --- a/scripts/generate-js-doc.js +++ b/scripts/generate-js-doc.js @@ -2,15 +2,16 @@ const jsdoc2md = require('jsdoc-to-markdown'); const fs = require('fs'); const path = require('path'); -const paramsDir = './lib/src/params/'; -const optionsDir = './lib/src/params/options/'; +const PARAMS_DIR = './lib/src/params/'; +const OPTIONS_DIR = './lib/src/params/options/'; const OUTPUT_DIR = './docs/docs/'; -const partial = ['./docs/templates/scope.hbs', './docs/templates/docs.hbs']; +const OPTION_PARTIALS = ['./docs/templates/header.hbs', './docs/templates/sig-name.hbs']; +const PARTIALS = ['./docs/templates/scope.hbs', './docs/templates/docs.hbs']; -const generateMarkdownForFile = ({ file, outputDir }) => { +const generateMarkdownForFile = ({ file, outputDir, partial }) => { const templateData = jsdoc2md.getTemplateDataSync({ files: file }); const classNames = getClassesInFile(templateData); - classNames.forEach((className) => createDocFileForClass(className, templateData, outputDir)); + classNames.forEach((className) => createDocFileForClass({ className, templateData, outputDir, partial })); }; function getClassesInFile(templateData) { @@ -23,15 +24,15 @@ function getClassesInFile(templateData) { return classNames; } -function createDocFileForClass(className, templateData, outputDir) { +function createDocFileForClass({ className, templateData, outputDir, partial = [] }) { const template = `{{#class name="${className}"}}{{>docs}}{{/class}}`; const options = { data: templateData, template, separators: true, - partial + partial: [...PARTIALS, ...partial] }; - console.log(`rendering ${className}, template: ${template} ${outputDir}`); + console.log(`rendering ${className}`); const output = jsdoc2md.renderSync(options); fs.writeFileSync(path.resolve(outputDir, `${className}.md`), output); } @@ -39,17 +40,18 @@ function createDocFileForClass(className, templateData, outputDir) { function inputFiles() { return [ { file: './lib/src/Navigation.js', outputDir: OUTPUT_DIR }, - ...fs.readdirSync(optionsDir).map((file) => { + ...fs.readdirSync(OPTIONS_DIR).map((file) => { return { - file: optionsDir + file, - outputDir: OUTPUT_DIR + 'options/' + file: OPTIONS_DIR + file, + outputDir: OUTPUT_DIR + 'options/', + partial: OPTION_PARTIALS }; }), - ...fs.readdirSync(paramsDir) - .filter((file) => fs.statSync(paramsDir + file).isFile()) + ...fs.readdirSync(PARAMS_DIR) + .filter((file) => fs.statSync(PARAMS_DIR + file).isFile()) .map((file) => { return { - file: paramsDir + file, + file: PARAMS_DIR + file, outputDir: OUTPUT_DIR }; })