| //- Copyright (c) 2020 Chandan B N. All rights reserved. |
| |
| extends layout |
| |
| block info |
| if doc && doc.updatedAt |
| ='Last updated ' + textUtil.timeSince(doc.updatedAt) + ' ago by ' + doc.author + ' (v' + doc.__v + ')' |
| |
| block append head |
| if !min |
| link(rel='stylesheet', href= '/users/list/css') |
| link(href=conf.basedir + "css/tagify.css",rel="stylesheet",type="text/css") |
| |
| block prepend bannerItemsLeft |
| if !min |
| a.fbn(href=(confOpts[schemaName].conf.uri? confOpts[schemaName].conf.uri : '/' + schemaName + '/' ), title=confOpts[schemaName].conf.title) ☰ |
| |
| block append bannerItemsLeft |
| if !confOpts[schemaName].conf.readonly |
| block openButton |
| input#importJSON.hid(type="file",accept="application/json",onchange="loadFile(event,this);") |
| a.fbn.vgi-folder(type="file",onclick='importFile(event, this);') Open |
| if !min |
| button.fbn.sfe.vgi-put(id="save1") SAVE |
| a.fbn.vgi-download(type="button",oncontextmenu='downloadFile(event, this);',onclick='downloadFile(event, this);',value="Download") Download |
| |
| block scripts |
| if opts |
| script |
| | var iconMap = |
| if opts.icons |
| | !{JSON.stringify(opts.icons)} |
| else |
| | {}; |
| if opts.script |
| script !{opts.script} |
| if opts.render |
| - var compileScript = pugLib.compileFileClient('views/'+opts.render +'.pug', {name: "pugRender",basedir: 'views',compileDebug: false,inlineRuntimeFunctions: true}) |
| script !{compileScript} |
| if opts.script && typeof opts.script === 'array' |
| script |
| each i,v in opts.script |
| | #{v} = !{opts.script[v].toString()}; |
| if opts.validators |
| script |
| | var custom_validators = [!{opts.validators.toString()}]; |
| if opts.errorFilter |
| script |
| | var errorFilter = !{opts.errorFilter.toString()}; |
| if !min |
| script var csrfToken = "#{csrfToken}"; |
| if opts && opts.conf && !opts.conf.readonly |
| - var compileScript = pugLib.compileFileClient('views/subcontent.pug', {name: "subdocRender",basedir: 'views',compileDebug: false,inlineRuntimeFunctions: true}) |
| script !{compileScript} |
| script(src=conf.basedir + 'js/comment.js') |
| |
| block content |
| div#mainTabGroup |
| span.lbl |
| block editorTab |
| input.tab(name='tabs', type='radio', id='editorTab', value="1",checked) |
| label.lbl#editorLabel(for='editorTab') |
| span.flx |
| block editorLabel |
| | Editor |
| details.popup#errPop |
| summary.sml.hid#errCount |
| div.wht.pop.pad.bor.shd#errList |
| .wht.fil.bor.pad |
| block editorArea |
| iframe(name="x",style="display:none",src="about:blank") |
| form.editor(target="x",action="",id="docEditor") |
| if !min |
| a#remove.gap.flr.fbn.vgi-del.tred Delete this entry from local Vulnogram database |
| block sourceTab |
| input.tab(name='tabs', type='radio', id='sourceTab', value="2") |
| label.lbl(for='sourceTab') |
| block sourceLabel |
| | Source |
| .wht.fil.bor.pad |
| div(id="output",rows="40",cols="100%") |
| p |
| |
| block customtabs |
| |
| if !min |
| input.tab(name='tabs', type='radio', id='changesTab', value="6") |
| label.lbl(for='changesTab') Changes |
| .wht.fil.bor.pad |
| div#unSavedChanges |
| div#changelog |
| |
| |
| if !min |
| div(style="clear:both") |
| button.gap.btn.save(id="save2",style="visibility:hidden") SAVE |
| |
| block initGlobals |
| script |
| if conf.publicDefectURL |
| | var defectURL = "!{conf.publicDefectURL}"; |
| | var idpath = "#{idpath}"; |
| | var allowAjax = "#{allowAjax}"; |
| | var schemaName = "#{schemaName}"; |
| | var postUrl = "#{postUrl?postUrl:''}"; |
| | var csrfToken = "#{csrfToken}"; |
| | var ajaxBase = "#{conf.basedir}"; |
| if doc && doc.body |
| | var initJSON=!{JSON.stringify(doc.body).replace(/\u2028/g, '\\u2028').replace(/\u2029/g, '\\u2029').replace(/</g, '\\u003C').replace(/>/g, '\\u003E').replace(/\//g, '\\u002F')}; |
| else |
| | var initJSON = undefined; |
| if min |
| | var docSchema=!{JSON.stringify(opts && opts.schema ? opts.schema : '{}').replace(/\u2028/g, '\\u2028').replace(/\u2029/g, '\\u2029').replace(/</g, '\\u003C').replace(/>/g, '\\u003E').replace(/\//g, '\\u002F')}; |
| |
| |
| script(src=conf.basedir + 'js/util.js') |
| script(src=conf.basedir + "js/wy/simple.js") |
| script(src=conf.basedir + "js/wy/wysihtml-toolbar.min.js") |
| if !min && opts && opts.schema |
| script(src=conf.basedir + schemaName + '/schema.js') |
| if conf.ajv && conf.ajvHash |
| script(src=conf.ajv,integrity=conf.ajvHash,crossorigin="anonymous") |
| script(src=conf.jsoneditor,integrity=conf.jsoneditorHash,crossorigin="anonymous") |
| script(src=conf.basedir + "js/tagify.min.js") |
| script(src=conf.ace,integrity=conf.aceHash,crossorigin="anonymous") |
| script(src=conf.basedir + 'js/editor.js') |
| script(src=conf.basedir + 'js/tablesort.min.js') |
| |
| block loadEditor |
| block loadEditorloadJSON |
| script loadJSON(initJSON); |
| |
| if doc && doc.body |
| script getChanges("#{doc_id}"); |
| +alertDialog |
| |
| block subcontent |
| if !min |
| include subcontent |
| - var id = doc_id; |
| if doc && opts && opts.conf && opts.conf.files |
| - var files = []; |
| if doc && doc.files |
| - files = doc.files; |
| +files |
| +commentBox |
| if doc && Object.keys(doc).length > 0 |
| script |
| | document.getElementById("commentTemplate").insertAdjacentElement('afterend', newCommentBox()); |
| #commentsBox |
| - var username = user.username; |
| - var docs = ucomments;//.sort(function(a, b) {return a.updatedAt < b.updatedAt;}) |
| #comments |
| +comments |
| |
| block logolink |
| br |
| a.logo(href="https://github.com/Vulnogram/Vulnogram") Vulnogram Project |
| |
| mixin alertDialog |
| dialog.bor.rnd.shd.pad2#alertDialog |
| center |
| form(onsubmit="event.preventDefault();return false;") |
| h2.vgi-alert#alertMessage |
| .gap#smallAlert |
| center.gap |
| input#alertOk.btn.sfe(type="reset" onclick="document.getElementById('alertDialog').close();" value="OK") |
| input#alertCancel.btn.red(type="reset" onclick="document.getElementById('alertDialog').close();" value="Cancel" dstyle="display:none") |