views/render.pug (102 lines of code) (raw):

mixin para(t, hypertext) if t if hypertext //- TODO! need to sanitize p=t //- | !{t} else each line in t.split(/\n/) if line if line.startsWith(' ') code=line br else p=line mixin mpara(l, hypertext) if l each d in l if d.value +para(d.value, hypertext) mixin aggpara(l) if l ul each k, v in l li b=k.join(', ') p +para(v) mixin linklist(l, url) each v, i in l if(i < l.length-2) if(url) a(href=url+v)=v else = v | , else if(i == l.length - 1 && i > 0) | and if(url) a(href=url+v)=v else =v mixin CVSS(value) if value.baseScore = value.baseScore.toFixed(1) | if value.version >= "3" | ( a(href="https://cvss.js.org/#" + value.vectorString)=value.vectorString | ) else a(href='https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator?vector='+value.vectorString)=value.vectorString mixin renderDate(value) - var v = false; - if (value instanceof Date) { v = value;} else { - var timestamp = Date.parse(value); - v = isNaN(timestamp) ? false : new Date(timestamp) - } if v = v.toJSON().substr(0,10) mixin jsondump(obj) if obj !== null if typeof obj === 'string' if obj.length < 20 span(class=obj)=obj else span.wrp=obj else if obj instanceof Array if obj.length > 0 ol for v, k in obj li +jsondump(v) else if typeof obj === 'object' for v, k in obj if obj.hasOwnProperty(k) .indent b.ico(class=k)=k | : | +jsondump(v) else =obj block content block pageDef mixin page(obj) +jsondump(obj) .big=doc_id if doc if renderTemplate == 'default' - delete doc._id; +page(doc) else if renderTemplate != undefined block renderPage - try { +#{renderTemplate}(doc) - } catch(e) { - delete doc._id; +page(doc) - } else .tred Document not found