UNPKG

@gravityforms/gulp-tasks

Version:
60 lines (46 loc) 1.39 kB
function render( lines, tagNames ) { if ( lines.length === 0 ) { return ''; } const items = []; let currentTag = null; lines.forEach( ( originalLine ) => { const line = originalLine.trim(); if ( line === '' ) { currentTag = null; return; } const firstWord = line.split( ' ' )[ 0 ]; if ( tagNames.includes( firstWord ) ) { currentTag = firstWord.substring( 1 ); const content = line.substring( firstWord.length ).trim(); items.push( { tag: currentTag, value: content } ); } else if ( currentTag ) { items[ items.length - 1 ].value += ' ' + line; } } ); if ( items.length === 0 ) { return ''; } let content = '<dl class="details">'; items.forEach( ( item ) => { const { tag, value } = item; const dtClasses = [ 'bold', `tag-${ tag }` ]; const ddClasses = [ `tag-${ tag }` ]; if ( tag === 'deprecated' ) { dtClasses.push( 'important' ); } const dtClass = dtClasses.join( ' ' ); const ddClass = ddClasses.join( ' ' ); content += '<div class="details-item-container">'; content += `<dt class="${ dtClass }">${ capitalizeFirstLetter( tag ) }</dt>`; content += `<dd class="${ ddClass }"><ul><li>${ value }</li></ul></dd>`; content += '</div>'; } ); content += '</dl>'; return content; } function capitalizeFirstLetter( string ) { return string.charAt( 0 ).toUpperCase() + string.slice( 1 ); } export { render };