| 6 | } |
| 7 | |
| 8 | export const markdownBuilder = (categories: CategoryType[], language: string) => { |
| 9 | let results = '' |
| 10 | |
| 11 | for (const category of categories) { |
| 12 | results += `### ${category.categoryName}` |
| 13 | results += `\n| ${translate('apiName', language)} | ${translate('developer', language)}` |
| 14 | results += ` | ${translate('documentation', language)} | ${translate('status', language)}` |
| 15 | results += ` | ${translate('description', language)}` |
| 16 | results += ` | ${translate('authentication', language)} |` |
| 17 | results += `\n| - | - | - | - | - | - |` |
| 18 | |
| 19 | for (const api of category.apis) { |
| 20 | const developer = api.developer.profileUrl |
| 21 | ? `[${api.developer.name}](${api.developer.profileUrl})` |
| 22 | : api.developer.name |
| 23 | |
| 24 | results += `\n| ${api.apiName} | ${developer} | [Link](${api.documentationUrl})` |
| 25 | results += ` | ${api.status ? '✅' : '❎'} | ${api.description}` |
| 26 | results += ` | ${api.authentication || '`false`'} |` |
| 27 | } |
| 28 | |
| 29 | results += '\n' |
| 30 | } |
| 31 | |
| 32 | return results.trim() |
| 33 | } |
| 34 | |
| 35 | export const generateToc = (markdown: string) => { |
| 36 | const regex = /^(#{1,6})\s+(.+)$/gm |