kopia lustrzana https://github.com/badgen/badgen.net
				
				
				
			Serve docs with serve-marked
							rodzic
							
								
									f54a767c0f
								
							
						
					
					
						commit
						e2414a7a38
					
				|  | @ -10,16 +10,9 @@ export default async function (req, res) { | |||
| 
 | ||||
|   if (liveBadgeList.includes(name)) { | ||||
|     console.info(100, `${name}: ${req.url}`) | ||||
|     try { | ||||
|       const foundBadge = badges.live.find(b => b.id === name) | ||||
|       if (foundBadge) { | ||||
|         return serveHelp(req, res, name, foundBadge) | ||||
|       } | ||||
|     } catch (error) { | ||||
|       if (error.code !== 'MODULE_NOT_FOUND') { | ||||
|         console.error(error) | ||||
|         throw error | ||||
|       } | ||||
|     const foundBadge = badges.live.find(b => b.id === name) | ||||
|     if (foundBadge) { | ||||
|       return serveHelp(req, res, foundBadge) | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,20 +1,38 @@ | |||
| import { BadgenServeHandlers } from './badgen-serve' | ||||
| import serveMarked from 'serve-marked' | ||||
| 
 | ||||
| type BadgenExample = [string, string] | ||||
| type BadgenHelpParams = { | ||||
|   id: string, | ||||
|   title: string, | ||||
|   examples: BadgenExample[] | ||||
|   examples: { [url: string]: string } | ||||
|   routes: string[], | ||||
|   help?: any | ||||
| } | ||||
| 
 | ||||
| export default function serveHelp (req, res, id, params: BadgenHelpParams) { | ||||
|   const { help, examples, routes } = params | ||||
|   const Docs = help ? help : `# ${id}` | ||||
|   const Schemes = `## Schemes\n\n${routes.join('\n')}` | ||||
|   const Examples = `## Examples\n\n${Object.entries(examples).map(ex => ex[0]).join('\n')}` | ||||
| function genMarkdown ({ id, help, examples, routes }: BadgenHelpParams) { | ||||
|   const Docs = help ? help : `# /${id}` | ||||
| 
 | ||||
|   const schemeLinks = routes.map(r => `- \`${r}\``) | ||||
|   const Schemes = `## Schemes\n\n${schemeLinks.join('  \n')}` | ||||
| 
 | ||||
|   const exampleList = Object.entries(examples) | ||||
|     .map(([url, desc]) => `-  [${url}](${url}) <i>${desc}</i>`) | ||||
|   const Examples = `## Examples\n\n${exampleList.join('\n')}` | ||||
| 
 | ||||
|   const md = [Docs, Schemes, Examples].join('\n\n') | ||||
|   res.end(md) | ||||
|   return md | ||||
| } | ||||
| 
 | ||||
| export default function serveHelp (req, res, params: BadgenHelpParams) { | ||||
|   const md = genMarkdown(params) | ||||
|   return serveMarked(md, { | ||||
|     title: `${params.title} | Badgen`, | ||||
|     inlineCSS, | ||||
|   })(req, res) | ||||
| } | ||||
| 
 | ||||
| const inlineCSS = ` | ||||
|   .markdown-body { max-width: 800px } | ||||
|   li > img { vertical-align: middle; margin: 0.2em 0; font-size: 12px } | ||||
|   li > img + a { font-family: monospace; font-size: 0.9em } | ||||
|   li > img + a + i { color: #AAA } | ||||
| ` | ||||
|  |  | |||
|  | @ -11605,9 +11605,9 @@ | |||
|       } | ||||
|     }, | ||||
|     "serve-marked": { | ||||
|       "version": "1.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/serve-marked/-/serve-marked-1.1.0.tgz", | ||||
|       "integrity": "sha512-37aaz3vr0GdcRMVIDO4V7VpLjpTpKKnZbIfT6SL3zRETx9pzJa+ER5l8lXagQ0MzPdmrLrxn3MX0m8YwXMQfug==", | ||||
|       "version": "2.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/serve-marked/-/serve-marked-2.0.0.tgz", | ||||
|       "integrity": "sha512-iTs/aYowosAr4JvNqB3NhhBFIFkRt1JHFWMDxr+WNrnBPFkaYCVCdHyTSTrntQdm1I3+2XPH0ADr+Ou/0oP1WQ==", | ||||
|       "requires": { | ||||
|         "marked": "^0.6.2" | ||||
|       } | ||||
|  |  | |||
|  | @ -37,7 +37,7 @@ | |||
|     "react-debounce-render": "^5.0.0", | ||||
|     "semver": "^6.1.0", | ||||
|     "serve-handler": "^6.0.1", | ||||
|     "serve-marked": "^1.1.0" | ||||
|     "serve-marked": "^2.0.0" | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|     "@mdx-js/mdx": "^1.0.20", | ||||
|  |  | |||
|  | @ -6,8 +6,6 @@ const rel = (...args) => path.resolve(__dirname, ...args) | |||
| 
 | ||||
| async function main () { | ||||
|   const badgeMeta = await loadBadgeMeta() | ||||
|   console.log(badgeMeta) | ||||
| 
 | ||||
|   await fse.outputJson(rel('../static/.gen/badges.json'), badgeMeta) | ||||
| } | ||||
| 
 | ||||
|  |  | |||
		Ładowanie…
	
		Reference in New Issue
	
	 Amio
						Amio