eed91ba84d
* add storybook
* add storybook files
* add ToggleButton and AlertBanner stories
* add knobs addon
* add notes addon
* add ToggleButton and AlertsBanner notes
* move panel to right
* add ICon
* create story blueprint
* add header to blueprint
* upgrade to storybook 5.0.1
* add confirm-action stories
* move addon panel to bottom
* update ConfirmAction
* add jsdoc comments to alert banner component
* add AlertInline
* set showPanel to true in blueprint
* include newly generated markdown for stories
* adjust code example for toggle button
* add json-to-markdown to package.json
* update AuthForm
* add Storybook readme
* add AlertPopup
* add story markdown custom template
* make storybook dependencies optional
* center all stories
* use message-types helper to dynamically render alerts
* hide panel
* nest alert stories
* move icons into table
* separate homelink into multiple stories
* add homelink with nav example
* remove see links from alert-banner
* add script to autogenerate markdown from component and add it to stories
* add viewport addon and remove centered addon
* update README to include markdown generation
* remove @see links from jsdoc comments
* update README to include jsdoc example
* update alert banner md
* get rid of trailing ######
* update jsdoc and regenerate notes files
* update i-con md
* Update ui/scripts/gen-story-md.js
Co-Authored-By: noelledaley <noelledaley@users.noreply.github.com>
* Update ui/scripts/gen-story-md.js
Co-Authored-By: noelledaley <noelledaley@users.noreply.github.com>
* add storybook docs to vault ui readme
* add jsdoc comments to component blueprint, automatically import md file in story blueprint
* add template template to component blueprint override
* apply basic theme to storybook
* remove comment
* make sure all stories are using auto generated md
* storybook: show optional props in brackets
* storybook: 🔪 HomeLink
* storybook: show AuthConfigForm stories with knobs
33 lines
1.1 KiB
JavaScript
33 lines
1.1 KiB
JavaScript
#!/usr/bin/env node
|
|
/* eslint-disable */
|
|
const fs = require('fs');
|
|
const jsdoc2md = require('jsdoc-to-markdown');
|
|
var args = process.argv.slice(2);
|
|
const name = args[0];
|
|
const inputFile = `app/components/${name}.js`;
|
|
const outputFile = `stories/${name}.md`;
|
|
const component = name
|
|
.split('-')
|
|
.map(word => word.charAt(0).toUpperCase() + word.slice(1))
|
|
.join('');
|
|
const options = {
|
|
files: inputFile,
|
|
template: fs.readFileSync('./lib/story-md.hbs', 'utf8'),
|
|
};
|
|
let md = jsdoc2md.renderSync(options);
|
|
|
|
const pageBreakIndex = md.lastIndexOf('---'); //this is our last page break
|
|
|
|
const seeLinks = `**See**
|
|
|
|
- [Uses of ${component}](https://github.com/hashicorp/vault/search?l=Handlebars&q=${component})
|
|
- [${component} Source Code](https://github.com/hashicorp/vault/blob/master/ui/app/components/${name}.js)
|
|
|
|
`;
|
|
const generatedWarning = `<!--THIS FILE IS AUTO GENERATED. This file is generated from JSDoc comments in ${inputFile}. To make changes, first edit that file and run "yarn gen-story-md ${name}" to re-generate the content.-->
|
|
|
|
`;
|
|
md = generatedWarning + md.slice(0, pageBreakIndex) + seeLinks + md.slice(pageBreakIndex);
|
|
|
|
fs.writeFileSync(outputFile, md);
|