From 15e4341fed334ed36f0d48e662a46d6438736ce6 Mon Sep 17 00:00:00 2001 From: NGPixel Date: Thu, 9 Feb 2017 21:35:37 -0500 Subject: [PATCH] Fixed pug linting issues --- .pug-lintrc.json | 4 +- views/auth/login.pug | 122 +++++++-------- views/common/alerts.pug | 20 +-- views/common/footer.pug | 15 +- views/common/header.pug | 64 ++++---- views/error-forbidden.pug | 48 +++--- views/error-notexist.pug | 50 +++---- views/error.pug | 54 +++---- views/layout.pug | 60 ++++---- views/modals/admin-createuser.pug | 62 ++++---- views/modals/admin-deleteuser.pug | 18 +-- views/modals/create-discard.pug | 18 +-- views/modals/create.pug | 24 +-- views/modals/edit-discard.pug | 18 +-- views/modals/editor-codeblock.pug | 38 ++--- views/modals/editor-file.pug | 148 +++++++++---------- views/modals/editor-image.pug | 194 ++++++++++++------------ views/modals/editor-link.pug | 2 +- views/modals/editor-video.pug | 52 +++---- views/modals/move.pug | 26 ++-- views/pages/admin/_layout.pug | 102 ++++++------- views/pages/admin/profile.pug | 90 +++++------ views/pages/admin/settings.pug | 12 +- views/pages/admin/stats.pug | 22 +-- views/pages/admin/users-edit.pug | 238 +++++++++++++++--------------- views/pages/admin/users.pug | 88 +++++------ views/pages/create.pug | 36 ++--- views/pages/edit.pug | 36 ++--- views/pages/source.pug | 44 +++--- views/pages/view.pug | 132 ++++++++--------- views/pages/welcome.pug | 16 +- 31 files changed, 925 insertions(+), 928 deletions(-) diff --git a/.pug-lintrc.json b/.pug-lintrc.json index 13f6ab47..df564a8e 100644 --- a/.pug-lintrc.json +++ b/.pug-lintrc.json @@ -9,8 +9,8 @@ "requireLowerCaseTags": true, "requireSpaceAfterCodeOperator": true, "requireStrictEqualityOperators": true, - "validateAttributeQuoteMarks": true, + "validateAttributeQuoteMarks": "'", "validateAttributeSeparator": ", ", "validateDivTags": true, "validateIndentation": 2 -} \ No newline at end of file +} diff --git a/views/auth/login.pug b/views/auth/login.pug index 8b0bec23..d7e3952b 100644 --- a/views/auth/login.pug +++ b/views/auth/login.pug @@ -1,67 +1,67 @@ doctype html html - head - meta(http-equiv='X-UA-Compatible', content='IE=edge') - meta(charset='UTF-8') - meta(name='viewport', content='width=device-width, initial-scale=1') - meta(name='theme-color', content='#009688') - meta(name='msapplication-TileColor', content='#009688') - meta(name='msapplication-TileImage', content='/favicons/ms-icon-144x144.png') - title= appconfig.title + head + meta(http-equiv='X-UA-Compatible', content='IE=edge') + meta(charset='UTF-8') + meta(name='viewport', content='width=device-width, initial-scale=1') + meta(name='theme-color', content='#009688') + meta(name='msapplication-TileColor', content='#009688') + meta(name='msapplication-TileImage', content='/favicons/ms-icon-144x144.png') + title= appconfig.title - // Favicon - each favsize in [57, 60, 72, 76, 114, 120, 144, 152, 180] - link(rel='apple-touch-icon', sizes=favsize + 'x' + favsize, href='/favicons/apple-icon-' + favsize + 'x' + favsize + '.png') - link(rel='icon', type='image/png', sizes='192x192', href='/favicons/android-icon-192x192.png') - each favsize in [32, 96, 16] - link(rel='icon', type='image/png', sizes=favsize + 'x' + favsize, href='/favicons/favicon-' + favsize + 'x' + favsize + '.png') - link(rel='manifest', href='/manifest.json') + // Favicon + each favsize in [57, 60, 72, 76, 114, 120, 144, 152, 180] + link(rel='apple-touch-icon', sizes=favsize + 'x' + favsize, href='/favicons/apple-icon-' + favsize + 'x' + favsize + '.png') + link(rel='icon', type='image/png', sizes='192x192', href='/favicons/android-icon-192x192.png') + each favsize in [32, 96, 16] + link(rel='icon', type='image/png', sizes=favsize + 'x' + favsize, href='/favicons/favicon-' + favsize + 'x' + favsize + '.png') + link(rel='manifest', href='/manifest.json') - // CSS - link(type='text/css', rel='stylesheet', href='/css/libs.css') - link(type='text/css', rel='stylesheet', href='/css/login.css') + // CSS + link(type='text/css', rel='stylesheet', href='/css/libs.css') + link(type='text/css', rel='stylesheet', href='/css/login.css') - // JS - script(type='text/javascript', src='/js/libs.js') - script(type='text/javascript', src='/js/login.js') + // JS + script(type='text/javascript', src='/js/libs.js') + script(type='text/javascript', src='/js/login.js') - body - #bg - each bg in _.sampleSize([1, 2, 3],3) - div(style="background-image:url(/images/bg_" + bg + ".jpg);") - #root - h1= appconfig.title - h2 Login required - if appflash.length > 0 - h3 - i.fa.fa-warning - = appflash[0].title - h4= appflash[0].message - if appconfig.auth.local.enabled - form(method='post', action='/login') - input#login-user(type='text', name='email', placeholder='Email address') - input#login-pass(type='password', name='password', placeholder='Password') - button(type='submit') Log In - if appconfig.authStrategies.socialEnabled - #social - if appconfig.auth.local.enabled - span Or, log in using... - else - span Log in using... - if appconfig.auth.microsoft && appconfig.auth.microsoft.enabled - button.ms(onclick="window.location.assign('/login/ms')") - i.fa.fa-windows - span Microsoft Account - if appconfig.auth.google && appconfig.auth.google.enabled - button.google(onclick="window.location.assign('/login/google')") - i.fa.fa-google - span Google ID - if appconfig.auth.facebook && appconfig.auth.facebook.enabled - button.facebook(onclick="window.location.assign('/login/facebook')") - i.fa.fa-facebook - span Facebook - #copyright - = t('footer.poweredby') + ' ' - a.icon(href='https://github.com/Requarks/wiki') - i.icon-github - a(href='https://github.com/Requarks/wiki') Requarks Wiki \ No newline at end of file + body + #bg + each bg in _.sampleSize([1, 2, 3],3) + div(style='background-image:url(/images/bg_' + bg + '.jpg);') + #root + h1= appconfig.title + h2 Login required + if appflash.length > 0 + h3 + i.fa.fa-warning + = appflash[0].title + h4= appflash[0].message + if appconfig.auth.local.enabled + form(method='post', action='/login') + input#login-user(type='text', name='email', placeholder='Email address') + input#login-pass(type='password', name='password', placeholder='Password') + button(type='submit') Log In + if appconfig.authStrategies.socialEnabled + #social + if appconfig.auth.local.enabled + span Or, log in using... + else + span Log in using... + if appconfig.auth.microsoft && appconfig.auth.microsoft.enabled + button.ms(onclick='window.location.assign("/login/ms")') + i.fa.fa-windows + span Microsoft Account + if appconfig.auth.google && appconfig.auth.google.enabled + button.google(onclick='window.location.assign("/login/google")') + i.fa.fa-google + span Google ID + if appconfig.auth.facebook && appconfig.auth.facebook.enabled + button.facebook(onclick='window.location.assign("/login/facebook")') + i.fa.fa-facebook + span Facebook + #copyright + = t('footer.poweredby') + ' ' + a.icon(href='https://github.com/Requarks/wiki') + i.icon-github + a(href='https://github.com/Requarks/wiki') Requarks Wiki diff --git a/views/common/alerts.pug b/views/common/alerts.pug index a1ebbe68..c111e5cb 100644 --- a/views/common/alerts.pug +++ b/views/common/alerts.pug @@ -1,14 +1,14 @@ #alerts - ul - template(v-for="aItem in children", track-by='_uid') - li(v-bind:class='aItem.class') - button(v-on:click='acknowledge(aItem._uid)') - strong {{ aItem.title }} - span {{ aItem.message }} + ul + template(v-for='aItem in children', track-by='_uid') + li(v-bind:class='aItem.class') + button(v-on:click='acknowledge(aItem._uid)') + strong {{ aItem.title }} + span {{ aItem.message }} if appflash.length > 0 - script(type='text/javascript'). - var alertsData = !{JSON.stringify(appflash)}; + script(type='text/javascript'). + var alertsData = !{JSON.stringify(appflash)}; else - script(type='text/javascript'). - var alertsData = []; \ No newline at end of file + script(type='text/javascript'). + var alertsData = []; diff --git a/views/common/footer.pug b/views/common/footer.pug index 5e001d76..a67e3616 100644 --- a/views/common/footer.pug +++ b/views/common/footer.pug @@ -1,9 +1,8 @@ footer.footer - span - = t('footer.poweredby') + ' ' - a(href='https://github.com/Requarks/wiki') Wiki.js - | . - ul - li: a(href='/')= t('footer.home') - li: a(href='#root')= t('footer.top') - + span + = t('footer.poweredby') + ' ' + a(href='https://github.com/Requarks/wiki') Wiki.js + | . + ul + li: a(href='/')= t('footer.home') + li: a(href='#root')= t('footer.top') diff --git a/views/common/header.pug b/views/common/header.pug index dae48861..0047a696 100644 --- a/views/common/header.pug +++ b/views/common/header.pug @@ -1,36 +1,34 @@ #header-container - nav.nav.stickyscroll#header - .nav-left - block rootNavLeft - a.nav-item(href='/') - h1 - i.icon-layers - = appconfig.title - .nav-center - block rootNavCenter - .nav-item - p.control(v-bind:class="{ 'is-loading': searchload > 0 }") - input.input#search-input(type='text', v-model='searchq', @keyup.esc='closeSearch', @keyup.down='moveDownSearch', @keyup.up='moveUpSearch', @keyup.enter='moveSelectSearch', debounce='400', placeholder='Search...') - span.nav-toggle - span - span - span - .nav-right - block rootNavRight - i.nav-item#notifload - - transition(name="searchresults-anim", enter-active-class="slideInDown", leave-active-class="fadeOutUp") - .searchresults.animated(v-show='searchactive', v-cloak, style={'display':'none'}) - p.searchresults-label Search Results - ul.searchresults-list - li(v-if="searchres.length === 0") - a: em No results matching your query - li(v-for='sres in searchres', v-bind:class="{ 'is-active': searchmovekey === 'res.' + sres._id }") - a(v-bind:href="'/' + sres._id") {{ sres.title }} - p.searchresults-label(v-if='searchsuggest.length > 0') Did you mean...? - ul.searchresults-list(v-if='searchsuggest.length > 0') - li(v-for='sug in searchsuggest', v-bind:class="{ 'is-active': searchmovekey === 'sug.' + sug }") - a(v-on:click="useSuggestion(sug)") {{ sug }} - + nav.nav.stickyscroll#header + .nav-left + block rootNavLeft + a.nav-item(href='/') + h1 + i.icon-layers + = appconfig.title + .nav-center + block rootNavCenter + .nav-item + p.control(v-bind:class='{ "is-loading": searchload > 0 }') + input.input#search-input(type='text', v-model='searchq', @keyup.esc='closeSearch', @keyup.down='moveDownSearch', @keyup.up='moveUpSearch', @keyup.enter='moveSelectSearch', debounce='400', placeholder='Search...') + span.nav-toggle + span + span + span + .nav-right + block rootNavRight + i.nav-item#notifload + transition(name='searchresults-anim', enter-active-class='slideInDown', leave-active-class='fadeOutUp') + .searchresults.animated(v-show='searchactive', v-cloak, style={'display':'none'}) + p.searchresults-label Search Results + ul.searchresults-list + li(v-if='searchres.length === 0') + a: em No results matching your query + li(v-for='sres in searchres', v-bind:class='{ "is-active": searchmovekey === "res." + sres._id }') + a(v-bind:href='"/" + sres._id') {{ sres.title }} + p.searchresults-label(v-if='searchsuggest.length > 0') Did you mean...? + ul.searchresults-list(v-if='searchsuggest.length > 0') + li(v-for='sug in searchsuggest', v-bind:class='{ "is-active": searchmovekey === "sug." + sug }') + a(v-on:click='useSuggestion(sug)') {{ sug }} diff --git a/views/error-forbidden.pug b/views/error-forbidden.pug index 82f3bedc..58ef95f8 100644 --- a/views/error-forbidden.pug +++ b/views/error-forbidden.pug @@ -1,29 +1,29 @@ doctype html html - head - meta(http-equiv='X-UA-Compatible', content='IE=edge') - meta(charset='UTF-8') - meta(name='viewport', content='width=device-width, initial-scale=1') - meta(name='theme-color', content='#009688') - meta(name='msapplication-TileColor', content='#009688') - meta(name='msapplication-TileImage', content='/favicons/ms-icon-144x144.png') - title= appconfig.title + head + meta(http-equiv='X-UA-Compatible', content='IE=edge') + meta(charset='UTF-8') + meta(name='viewport', content='width=device-width, initial-scale=1') + meta(name='theme-color', content='#009688') + meta(name='msapplication-TileColor', content='#009688') + meta(name='msapplication-TileImage', content='/favicons/ms-icon-144x144.png') + title= appconfig.title - // Favicon - each favsize in [57, 60, 72, 76, 114, 120, 144, 152, 180] - link(rel='apple-touch-icon', sizes=favsize + 'x' + favsize, href='/favicons/apple-icon-' + favsize + 'x' + favsize + '.png') - link(rel='icon', type='image/png', sizes='192x192', href='/favicons/android-icon-192x192.png') - each favsize in [32, 96, 16] - link(rel='icon', type='image/png', sizes=favsize + 'x' + favsize, href='/favicons/favicon-' + favsize + 'x' + favsize + '.png') - link(rel='manifest', href='/manifest.json') + // Favicon + each favsize in [57, 60, 72, 76, 114, 120, 144, 152, 180] + link(rel='apple-touch-icon', sizes=favsize + 'x' + favsize, href='/favicons/apple-icon-' + favsize + 'x' + favsize + '.png') + link(rel='icon', type='image/png', sizes='192x192', href='/favicons/android-icon-192x192.png') + each favsize in [32, 96, 16] + link(rel='icon', type='image/png', sizes=favsize + 'x' + favsize, href='/favicons/favicon-' + favsize + 'x' + favsize + '.png') + link(rel='manifest', href='/manifest.json') - // CSS - link(type='text/css', rel='stylesheet', href='/css/libs.css') - link(type='text/css', rel='stylesheet', href='/css/error.css') + // CSS + link(type='text/css', rel='stylesheet', href='/css/libs.css') + link(type='text/css', rel='stylesheet', href='/css/error.css') - body(class='is-forbidden') - .container - a(href='/'): img(src='/favicons/android-icon-96x96.png') - h1 Forbidden - h2 Sorry, you don't have the necessary permissions to access this page. - a.button.is-amber.is-inverted(href='/') Go Home \ No newline at end of file + body(class='is-forbidden') + .container + a(href='/'): img(src='/favicons/android-icon-96x96.png') + h1 Forbidden + h2 Sorry, you don't have the necessary permissions to access this page. + a.button.is-amber.is-inverted(href='/') Go Home diff --git a/views/error-notexist.pug b/views/error-notexist.pug index 1a8e6943..a8bc6f0c 100644 --- a/views/error-notexist.pug +++ b/views/error-notexist.pug @@ -1,30 +1,30 @@ doctype html html - head - meta(http-equiv='X-UA-Compatible', content='IE=edge') - meta(charset='UTF-8') - meta(name='viewport', content='width=device-width, initial-scale=1') - meta(name='theme-color', content='#009688') - meta(name='msapplication-TileColor', content='#009688') - meta(name='msapplication-TileImage', content='/favicons/ms-icon-144x144.png') - title= appconfig.title + head + meta(http-equiv='X-UA-Compatible', content='IE=edge') + meta(charset='UTF-8') + meta(name='viewport', content='width=device-width, initial-scale=1') + meta(name='theme-color', content='#009688') + meta(name='msapplication-TileColor', content='#009688') + meta(name='msapplication-TileImage', content='/favicons/ms-icon-144x144.png') + title= appconfig.title - // Favicon - each favsize in [57, 60, 72, 76, 114, 120, 144, 152, 180] - link(rel='apple-touch-icon', sizes=favsize + 'x' + favsize, href='/favicons/apple-icon-' + favsize + 'x' + favsize + '.png') - link(rel='icon', type='image/png', sizes='192x192', href='/favicons/android-icon-192x192.png') - each favsize in [32, 96, 16] - link(rel='icon', type='image/png', sizes=favsize + 'x' + favsize, href='/favicons/favicon-' + favsize + 'x' + favsize + '.png') - link(rel='manifest', href='/manifest.json') + // Favicon + each favsize in [57, 60, 72, 76, 114, 120, 144, 152, 180] + link(rel='apple-touch-icon', sizes=favsize + 'x' + favsize, href='/favicons/apple-icon-' + favsize + 'x' + favsize + '.png') + link(rel='icon', type='image/png', sizes='192x192', href='/favicons/android-icon-192x192.png') + each favsize in [32, 96, 16] + link(rel='icon', type='image/png', sizes=favsize + 'x' + favsize, href='/favicons/favicon-' + favsize + 'x' + favsize + '.png') + link(rel='manifest', href='/manifest.json') - // CSS - link(type='text/css', rel='stylesheet', href='/css/libs.css') - link(type='text/css', rel='stylesheet', href='/css/error.css') + // CSS + link(type='text/css', rel='stylesheet', href='/css/libs.css') + link(type='text/css', rel='stylesheet', href='/css/error.css') - body(class='is-notexist') - .container - a(href='/'): img(src='/favicons/android-icon-96x96.png') - h1= message - h2 Would you like to create this entry? - a.button.is-amber.is-inverted.is-featured(href='/create/' + newpath) Create - a.button.is-amber.is-inverted(href='/') Go Home \ No newline at end of file + body(class='is-notexist') + .container + a(href='/'): img(src='/favicons/android-icon-96x96.png') + h1= message + h2 Would you like to create this entry? + a.button.is-amber.is-inverted.is-featured(href='/create/' + newpath) Create + a.button.is-amber.is-inverted(href='/') Go Home diff --git a/views/error.pug b/views/error.pug index 5ef311fa..7526676c 100644 --- a/views/error.pug +++ b/views/error.pug @@ -1,33 +1,33 @@ doctype html html - head - meta(http-equiv='X-UA-Compatible', content='IE=edge') - meta(charset='UTF-8') - meta(name='viewport', content='width=device-width, initial-scale=1') - meta(name='theme-color', content='#009688') - meta(name='msapplication-TileColor', content='#009688') - meta(name='msapplication-TileImage', content='/favicons/ms-icon-144x144.png') - title= appconfig.title + head + meta(http-equiv='X-UA-Compatible', content='IE=edge') + meta(charset='UTF-8') + meta(name='viewport', content='width=device-width, initial-scale=1') + meta(name='theme-color', content='#009688') + meta(name='msapplication-TileColor', content='#009688') + meta(name='msapplication-TileImage', content='/favicons/ms-icon-144x144.png') + title= appconfig.title - // Favicon - each favsize in [57, 60, 72, 76, 114, 120, 144, 152, 180] - link(rel='apple-touch-icon', sizes=favsize + 'x' + favsize, href='/favicons/apple-icon-' + favsize + 'x' + favsize + '.png') - link(rel='icon', type='image/png', sizes='192x192', href='/favicons/android-icon-192x192.png') - each favsize in [32, 96, 16] - link(rel='icon', type='image/png', sizes=favsize + 'x' + favsize, href='/favicons/favicon-' + favsize + 'x' + favsize + '.png') - link(rel='manifest', href='/manifest.json') + // Favicon + each favsize in [57, 60, 72, 76, 114, 120, 144, 152, 180] + link(rel='apple-touch-icon', sizes=favsize + 'x' + favsize, href='/favicons/apple-icon-' + favsize + 'x' + favsize + '.png') + link(rel='icon', type='image/png', sizes='192x192', href='/favicons/android-icon-192x192.png') + each favsize in [32, 96, 16] + link(rel='icon', type='image/png', sizes=favsize + 'x' + favsize, href='/favicons/favicon-' + favsize + 'x' + favsize + '.png') + link(rel='manifest', href='/manifest.json') - // CSS - link(type='text/css', rel='stylesheet', href='/css/libs.css') - link(type='text/css', rel='stylesheet', href='/css/error.css') + // CSS + link(type='text/css', rel='stylesheet', href='/css/libs.css') + link(type='text/css', rel='stylesheet', href='/css/error.css') - body(class='is-error') - .container - a(href='/'): img(src='/favicons/android-icon-96x96.png') - h1= message - h2 Oops, something went wrong - a.button.is-amber.is-inverted.is-featured(href='/') Go Home + body(class='is-error') + .container + a(href='/'): img(src='/favicons/android-icon-96x96.png') + h1= message + h2 Oops, something went wrong + a.button.is-amber.is-inverted.is-featured(href='/') Go Home - if error.stack - h3 Detailed debug trail: - pre: code #{error.stack} \ No newline at end of file + if error.stack + h3 Detailed debug trail: + pre: code #{error.stack} diff --git a/views/layout.pug b/views/layout.pug index e188cbe7..7db46c5d 100644 --- a/views/layout.pug +++ b/views/layout.pug @@ -1,38 +1,38 @@ doctype html html - head - meta(http-equiv='X-UA-Compatible', content='IE=edge') - meta(charset='UTF-8') - meta(name='viewport', content='width=device-width, initial-scale=1') - meta(name='theme-color', content='#009688') - meta(name='msapplication-TileColor', content='#009688') - meta(name='msapplication-TileImage', content='/favicons/ms-icon-144x144.png') - title= appconfig.title + head + meta(http-equiv='X-UA-Compatible', content='IE=edge') + meta(charset='UTF-8') + meta(name='viewport', content='width=device-width, initial-scale=1') + meta(name='theme-color', content='#009688') + meta(name='msapplication-TileColor', content='#009688') + meta(name='msapplication-TileImage', content='/favicons/ms-icon-144x144.png') + title= appconfig.title - // Favicon - each favsize in [57, 60, 72, 76, 114, 120, 144, 152, 180] - link(rel='apple-touch-icon', sizes=favsize + 'x' + favsize, href='/favicons/apple-icon-' + favsize + 'x' + favsize + '.png') - link(rel='icon', type='image/png', sizes='192x192', href='/favicons/android-icon-192x192.png') - each favsize in [32, 96, 16] - link(rel='icon', type='image/png', sizes=favsize + 'x' + favsize, href='/favicons/favicon-' + favsize + 'x' + favsize + '.png') - link(rel='manifest', href='/manifest.json') + // Favicon + each favsize in [57, 60, 72, 76, 114, 120, 144, 152, 180] + link(rel='apple-touch-icon', sizes=favsize + 'x' + favsize, href='/favicons/apple-icon-' + favsize + 'x' + favsize + '.png') + link(rel='icon', type='image/png', sizes='192x192', href='/favicons/android-icon-192x192.png') + each favsize in [32, 96, 16] + link(rel='icon', type='image/png', sizes=favsize + 'x' + favsize, href='/favicons/favicon-' + favsize + 'x' + favsize + '.png') + link(rel='manifest', href='/manifest.json') - // CSS - link(type='text/css', rel='stylesheet', href='/css/libs.css') - link(type='text/css', rel='stylesheet', href='/css/app.css') + // CSS + link(type='text/css', rel='stylesheet', href='/css/libs.css') + link(type='text/css', rel='stylesheet', href='/css/app.css') - // JS - script(type='text/javascript', src='/js/libs.js') - script(type='text/javascript', src='/js/app.js') + // JS + script(type='text/javascript', src='/js/libs.js') + script(type='text/javascript', src='/js/app.js') - block head + block head - body - #root.has-stickynav - include ./common/header.pug - include ./common/alerts.pug - main - block content - include ./common/footer.pug + body + #root.has-stickynav + include ./common/header.pug + include ./common/alerts.pug + main + block content + include ./common/footer.pug - block outside \ No newline at end of file + block outside diff --git a/views/modals/admin-createuser.pug b/views/modals/admin-createuser.pug index ca35787d..cdfd41ee 100644 --- a/views/modals/admin-createuser.pug +++ b/views/modals/admin-createuser.pug @@ -1,33 +1,33 @@ .modal#modal-admin-users-create - .modal-background - .modal-container - .modal-content - header.is-blue Create / Authorize User - section - label.label Email address: - p.control.is-fullwidth - input.input(type='text', placeholder='e.g. john.doe@company.com', v-model='email') - span.help.is-red.is-hidden This email is invalid! - section - label.label Provider: - p.control.is-fullwidth - select(v-model='provider') - option(value='local') Local Database - option(value='windowslive') Microsoft Account - option(value='google') Google ID - option(value='facebook') Facebook - section(v-if="provider=='local'") - label.label Password: - p.control.is-fullwidth - input.input(type='password', placeholder='', v-model='password') - span.help.is-red.is-hidden This password is invalid! - section(v-if="provider=='local'") - label.label Full Name: - p.control.is-fullwidth - input.input(type='text', placeholder='e.g. John Doe', v-model='name') - span.help.is-red.is-hidden This name is invalid! - footer - a.button.is-grey.is-outlined(v-on:click="cancel") Discard - a.button.is-blue(v-on:click="create", v-if="provider=='local'") Create User - a.button.is-blue(v-on:click="create", v-if="provider!='local'") Authorize User \ No newline at end of file + .modal-background + .modal-container + .modal-content + header.is-blue Create / Authorize User + section + label.label Email address: + p.control.is-fullwidth + input.input(type='text', placeholder='e.g. john.doe@company.com', v-model='email') + span.help.is-red.is-hidden This email is invalid! + section + label.label Provider: + p.control.is-fullwidth + select(v-model='provider') + option(value='local') Local Database + option(value='windowslive') Microsoft Account + option(value='google') Google ID + option(value='facebook') Facebook + section(v-if='provider=="local"') + label.label Password: + p.control.is-fullwidth + input.input(type='password', placeholder='', v-model='password') + span.help.is-red.is-hidden This password is invalid! + section(v-if='provider=="local"') + label.label Full Name: + p.control.is-fullwidth + input.input(type='text', placeholder='e.g. John Doe', v-model='name') + span.help.is-red.is-hidden This name is invalid! + footer + a.button.is-grey.is-outlined(v-on:click='cancel') Discard + a.button.is-blue(v-on:click='create', v-if='provider=="local"') Create User + a.button.is-blue(v-on:click='create', v-if='provider!="local"') Authorize User diff --git a/views/modals/admin-deleteuser.pug b/views/modals/admin-deleteuser.pug index 1a389faf..ece23ed4 100644 --- a/views/modals/admin-deleteuser.pug +++ b/views/modals/admin-deleteuser.pug @@ -1,10 +1,10 @@ .modal#modal-admin-users-delete - .modal-background - .modal-container - .modal-content - header.is-red Delete User Account? - section - span Are you sure you want to delete this user account? This action cannot be undone! - footer - a.button.is-grey.is-outlined(v-on:click="cancel") Abort - a.button.is-red(v-on:click="deleteUser") Delete \ No newline at end of file + .modal-background + .modal-container + .modal-content + header.is-red Delete User Account? + section + span Are you sure you want to delete this user account? This action cannot be undone! + footer + a.button.is-grey.is-outlined(v-on:click='cancel') Abort + a.button.is-red(v-on:click='deleteUser') Delete diff --git a/views/modals/create-discard.pug b/views/modals/create-discard.pug index 2a1299ad..7d7270be 100644 --- a/views/modals/create-discard.pug +++ b/views/modals/create-discard.pug @@ -1,10 +1,10 @@ .modal#modal-create-discard - .modal-background - .modal-container - .modal-content - header.is-orange Discard? - section - span Are you sure you want to leave this page and loose anything you wrote so far? - footer - a.button.is-grey.is-outlined.btn-create-discard Stay on page - a.button.is-orange(href='/') Discard \ No newline at end of file + .modal-background + .modal-container + .modal-content + header.is-orange Discard? + section + span Are you sure you want to leave this page and loose anything you wrote so far? + footer + a.button.is-grey.is-outlined.btn-create-discard Stay on page + a.button.is-orange(href='/') Discard diff --git a/views/modals/create.pug b/views/modals/create.pug index cd066a11..dc8a88d9 100644 --- a/views/modals/create.pug +++ b/views/modals/create.pug @@ -1,14 +1,14 @@ .modal#modal-create-prompt - .modal-background - .modal-container - .modal-content - header.is-light-blue Create New Document - section - label.label Enter the new document path: - p.control.is-fullwidth - input.input(type='text', placeholder='page-name')#txt-create-prompt - span.help.is-danger.is-hidden This document path is invalid! - footer - a.button.is-grey.is-outlined.btn-create-prompt Discard - a.button.is-light-blue.btn-create-go Create \ No newline at end of file + .modal-background + .modal-container + .modal-content + header.is-light-blue Create New Document + section + label.label Enter the new document path: + p.control.is-fullwidth + input.input#txt-create-prompt(type='text', placeholder='page-name') + span.help.is-danger.is-hidden This document path is invalid! + footer + a.button.is-grey.is-outlined.btn-create-prompt Discard + a.button.is-light-blue.btn-create-go Create diff --git a/views/modals/edit-discard.pug b/views/modals/edit-discard.pug index 21c4af0c..0c9fd684 100644 --- a/views/modals/edit-discard.pug +++ b/views/modals/edit-discard.pug @@ -1,11 +1,11 @@ .modal#modal-edit-discard - .modal-background - .modal-container - .modal-content - header.is-orange Discard? - section - span Are you sure you want to leave this page and loose any modifications? - footer - a.button.is-grey.is-outlined.btn-edit-discard Stay on page - a.button.is-orange(href='/' + pageData.meta.path) Discard \ No newline at end of file + .modal-background + .modal-container + .modal-content + header.is-orange Discard? + section + span Are you sure you want to leave this page and loose any modifications? + footer + a.button.is-grey.is-outlined.btn-edit-discard Stay on page + a.button.is-orange(href='/' + pageData.meta.path) Discard diff --git a/views/modals/editor-codeblock.pug b/views/modals/editor-codeblock.pug index 19f97dea..2c4723e0 100644 --- a/views/modals/editor-codeblock.pug +++ b/views/modals/editor-codeblock.pug @@ -1,23 +1,23 @@ .modal#modal-editor-codeblock - .modal-background - .modal-container - .modal-content.is-expanded - - header.is-green - span Insert Code Block + .modal-background + .modal-container + .modal-content.is-expanded + + header.is-green + span Insert Code Block - section.is-gapless - .columns.is-stretched - .column.is-one-quarter.modal-sidebar.is-green(style={'max-width':'350px'}) - .model-sidebar-header Language - .model-sidebar-content - p.control.is-fullwidth - select(v-model='modeSelected') - option(v-for="mode in modes" v-bind:value='mode.name') {{ mode.caption }} - .column.ace-container - #codeblock-editor + section.is-gapless + .columns.is-stretched + .column.is-one-quarter.modal-sidebar.is-green(style={'max-width':'350px'}) + .model-sidebar-header Language + .model-sidebar-content + p.control.is-fullwidth + select(v-model='modeSelected') + option(v-for='mode in modes', v-bind:value='mode.name') {{ mode.caption }} + .column.ace-container + #codeblock-editor - footer - a.button.is-grey.is-outlined(v-on:click="cancel") Discard - a.button.is-green(v-on:click="insertCode") Insert Code Block \ No newline at end of file + footer + a.button.is-grey.is-outlined(v-on:click='cancel') Discard + a.button.is-green(v-on:click='insertCode') Insert Code Block diff --git a/views/modals/editor-file.pug b/views/modals/editor-file.pug index 58ee18ce..89bb72b6 100644 --- a/views/modals/editor-file.pug +++ b/views/modals/editor-file.pug @@ -1,80 +1,80 @@ .modal#modal-editor-file - .modal-background - .modal-container - .modal-content.is-expanded + .modal-background + .modal-container + .modal-content.is-expanded - header.is-green - span Insert File - p.modal-notify(v-bind:class="{ 'is-active': isLoading }") - span {{ isLoadingText }} - i - .modal-toolbar.is-green - a.button(v-on:click="newFolder") - i.fa.fa-folder - span New Folder - a.button#btn-editor-file-upload - i.fa.fa-upload - span Upload File - label - input(type="file", multiple) - section.is-gapless - .columns.is-stretched - .column.is-one-quarter.modal-sidebar.is-green(style={'max-width':'350px'}) - .model-sidebar-header Folders - ul.model-sidebar-list - li(v-for="fld in folders") - a(v-on:click="selectFolder(fld)", v-bind:class="{ 'is-active': currentFolder === fld }") - i.icon-folder2 - span / {{ fld }} - .column.editor-modal-file-choices - figure(v-for="fl in files", v-bind:class="{ 'is-active': currentFile === fl._id }", v-on:click="selectFile(fl._id)", v-bind:data-uid="fl._id") - i(class='icon-file') - span: strong {{ fl.filename }} - span {{ fl.mime }} - span {{ fl.filesize | filesize }} - em(v-show="files.length < 1") - i.icon-marquee-minus - | This folder is empty. - footer - a.button.is-grey.is-outlined(v-on:click="cancel") Discard - a.button.is-green(v-on:click="insertFileLink") Insert Link to File + header.is-green + span Insert File + p.modal-notify(v-bind:class='{ "is-active": isLoading }') + span {{ isLoadingText }} + i + .modal-toolbar.is-green + a.button(v-on:click='newFolder') + i.fa.fa-folder + span New Folder + a.button#btn-editor-file-upload + i.fa.fa-upload + span Upload File + label + input(type='file', multiple) + section.is-gapless + .columns.is-stretched + .column.is-one-quarter.modal-sidebar.is-green(style={'max-width':'350px'}) + .model-sidebar-header Folders + ul.model-sidebar-list + li(v-for='fld in folders') + a(v-on:click='selectFolder(fld)', v-bind:class='{ "is-active": currentFolder === fld }') + i.icon-folder2 + span / {{ fld }} + .column.editor-modal-file-choices + figure(v-for='fl in files', v-bind:class='{ "is-active": currentFile === fl._id }', v-on:click='selectFile(fl._id)', v-bind:data-uid='fl._id') + i(class='icon-file') + span: strong {{ fl.filename }} + span {{ fl.mime }} + span {{ fl.filesize | filesize }} + em(v-show='files.length < 1') + i.icon-marquee-minus + | This folder is empty. + footer + a.button.is-grey.is-outlined(v-on:click='cancel') Discard + a.button.is-green(v-on:click='insertFileLink') Insert Link to File - .modal.is-superimposed(v-bind:class="{ 'is-active': newFolderShow }") - .modal-background - .modal-container - .modal-content - header.is-light-blue New Folder - section - label.label Enter the new folder name: - p.control.is-fullwidth - input.input#txt-editor-file-newfoldername(type='text', placeholder='folder name', v-model='newFolderName', v-on:keyup.enter="newFolderCreate", v-on:keyup.esc="newFolderDiscard") - span.help.is-danger(v-show="newFolderError") This folder name is invalid! - footer - a.button.is-grey.is-outlined(v-on:click="newFolderDiscard") Discard - a.button.is-light-blue(v-on:click="newFolderCreate") Create + .modal.is-superimposed(v-bind:class='{ "is-active": newFolderShow }') + .modal-background + .modal-container + .modal-content + header.is-light-blue New Folder + section + label.label Enter the new folder name: + p.control.is-fullwidth + input.input#txt-editor-file-newfoldername(type='text', placeholder='folder name', v-model='newFolderName', v-on:keyup.enter='newFolderCreate', v-on:keyup.esc='newFolderDiscard') + span.help.is-danger(v-show='newFolderError') This folder name is invalid! + footer + a.button.is-grey.is-outlined(v-on:click='newFolderDiscard') Discard + a.button.is-light-blue(v-on:click='newFolderCreate') Create - .modal.is-superimposed(v-bind:class="{ 'is-active': renameFileShow }") - .modal-background - .modal-container - .modal-content - header.is-indigo Rename File - section - label.label Enter the new filename (without the extension) of the file: - p.control.is-fullwidth - input.input#txt-editor-file-rename(type='text', placeholder='filename', v-model='renameFileFilename') - span.help.is-danger.is-hidden This filename is invalid! - footer - a.button.is-grey.is-outlined(v-on:click="renameFileDiscard") Discard - a.button.is-light-blue(v-on:click="renameFileGo") Rename + .modal.is-superimposed(v-bind:class='{ "is-active": renameFileShow }') + .modal-background + .modal-container + .modal-content + header.is-indigo Rename File + section + label.label Enter the new filename (without the extension) of the file: + p.control.is-fullwidth + input.input#txt-editor-file-rename(type='text', placeholder='filename', v-model='renameFileFilename') + span.help.is-danger.is-hidden This filename is invalid! + footer + a.button.is-grey.is-outlined(v-on:click='renameFileDiscard') Discard + a.button.is-light-blue(v-on:click='renameFileGo') Rename - .modal.is-superimposed(v-bind:class="{ 'is-active': deleteFileShow }") - .modal-background - .modal-container - .modal-content - header.is-red Delete file? - section - span Are you sure you want to delete #[strong {{deleteFileFilename}}]? - footer - a.button.is-grey.is-outlined(v-on:click="deleteFileWarn(false)") Discard - a.button.is-red(v-on:click="deleteFileGo") Delete \ No newline at end of file + .modal.is-superimposed(v-bind:class='{ "is-active": deleteFileShow }') + .modal-background + .modal-container + .modal-content + header.is-red Delete file? + section + span Are you sure you want to delete #[strong {{deleteFileFilename}}]? + footer + a.button.is-grey.is-outlined(v-on:click='deleteFileWarn(false)') Discard + a.button.is-red(v-on:click='deleteFileGo') Delete diff --git a/views/modals/editor-image.pug b/views/modals/editor-image.pug index d5d43626..935e99aa 100644 --- a/views/modals/editor-image.pug +++ b/views/modals/editor-image.pug @@ -1,104 +1,104 @@ .modal#modal-editor-image - .modal-background - .modal-container - .modal-content.is-expanded + .modal-background + .modal-container + .modal-content.is-expanded - header.is-green - span Insert Image - p.modal-notify(v-bind:class="{ 'is-active': isLoading }") - span {{ isLoadingText }} - i - .modal-toolbar.is-green - a.button(v-on:click="newFolder") - i.fa.fa-folder - span New Folder - a.button#btn-editor-image-upload - i.fa.fa-upload - span Upload Image - label - input(type="file", multiple) - a.button(v-on:click="fetchFromUrl") - i.fa.fa-download - span Fetch from URL - section.is-gapless - .columns.is-stretched - .column.is-one-quarter.modal-sidebar.is-green(style={'max-width':'350px'}) - .model-sidebar-header Folders - ul.model-sidebar-list - li(v-for="fld in folders") - a(v-on:click="selectFolder(fld)", v-bind:class="{ 'is-active': currentFolder === fld }") - i.icon-folder2 - span / {{ fld }} - .model-sidebar-header Alignment - .model-sidebar-content - p.control.is-fullwidth - select(v-model='currentAlign') - option(value='left') Left (default) - option(value='center') Centered - option(value='right') Right - option(value='logo') Page Logo - .column.editor-modal-image-choices - figure(v-for="img in images", v-bind:class="{ 'is-active': currentImage === img._id }", v-on:click="selectImage(img._id)", v-bind:data-uid="img._id") - img(v-bind:src="'/uploads/t/' + img._id + '.png'") - span: strong {{ img.basename }} - span {{ img.filesize | filesize }} - em(v-show="images.length < 1") - i.icon-marquee-minus - | This folder is empty. - footer - a.button.is-grey.is-outlined(v-on:click="cancel") Discard - a.button.is-green(v-on:click="insertImage") Insert Image + header.is-green + span Insert Image + p.modal-notify(v-bind:class='{ "is-active": isLoading }') + span {{ isLoadingText }} + i + .modal-toolbar.is-green + a.button(v-on:click='newFolder') + i.fa.fa-folder + span New Folder + a.button#btn-editor-image-upload + i.fa.fa-upload + span Upload Image + label + input(type='file', multiple) + a.button(v-on:click='fetchFromUrl') + i.fa.fa-download + span Fetch from URL + section.is-gapless + .columns.is-stretched + .column.is-one-quarter.modal-sidebar.is-green(style={'max-width':'350px'}) + .model-sidebar-header Folders + ul.model-sidebar-list + li(v-for='fld in folders') + a(v-on:click='selectFolder(fld)', v-bind:class='{ "is-active": currentFolder === fld }') + i.icon-folder2 + span / {{ fld }} + .model-sidebar-header Alignment + .model-sidebar-content + p.control.is-fullwidth + select(v-model='currentAlign') + option(value='left') Left (default) + option(value='center') Centered + option(value='right') Right + option(value='logo') Page Logo + .column.editor-modal-image-choices + figure(v-for='img in images', v-bind:class='{ "is-active": currentImage === img._id }', v-on:click='selectImage(img._id)', v-bind:data-uid='img._id') + img(v-bind:src='"/uploads/t/" + img._id + ".png"') + span: strong {{ img.basename }} + span {{ img.filesize | filesize }} + em(v-show='images.length < 1') + i.icon-marquee-minus + | This folder is empty. + footer + a.button.is-grey.is-outlined(v-on:click='cancel') Discard + a.button.is-green(v-on:click='insertImage') Insert Image - .modal.is-superimposed(v-bind:class="{ 'is-active': newFolderShow }") - .modal-background - .modal-container - .modal-content - header.is-light-blue New Folder - section - label.label Enter the new folder name: - p.control.is-fullwidth - input.input#txt-editor-image-newfoldername(type='text', placeholder='folder name', v-model='newFolderName', v-on:keyup.enter="newFolderCreate", v-on:keyup.esc="newFolderDiscard") - span.help.is-danger(v-show="newFolderError") This folder name is invalid! - footer - a.button.is-grey.is-outlined(v-on:click="newFolderDiscard") Discard - a.button.is-light-blue(v-on:click="newFolderCreate") Create + .modal.is-superimposed(v-bind:class='{ "is-active": newFolderShow }') + .modal-background + .modal-container + .modal-content + header.is-light-blue New Folder + section + label.label Enter the new folder name: + p.control.is-fullwidth + input.input#txt-editor-image-newfoldername(type='text', placeholder='folder name', v-model='newFolderName', v-on:keyup.enter='newFolderCreate', v-on:keyup.esc='newFolderDiscard') + span.help.is-danger(v-show='newFolderError') This folder name is invalid! + footer + a.button.is-grey.is-outlined(v-on:click='newFolderDiscard') Discard + a.button.is-light-blue(v-on:click='newFolderCreate') Create - .modal.is-superimposed(v-bind:class="{ 'is-active': fetchFromUrlShow }") - .modal-background - .modal-container - .modal-content - header.is-light-blue Fetch Image from URL - section - label.label Enter full URL path to the image: - p.control.is-fullwidth - input.input#txt-editor-image-fetchurl(type='text', placeholder='http://www.example.com/some-image.png', v-model='fetchFromUrlURL') - span.help.is-danger.is-hidden This URL path is invalid! - footer - a.button.is-grey.is-outlined(v-on:click="fetchFromUrlDiscard") Discard - a.button.is-light-blue(v-on:click="fetchFromUrlGo") Fetch + .modal.is-superimposed(v-bind:class='{ "is-active": fetchFromUrlShow }') + .modal-background + .modal-container + .modal-content + header.is-light-blue Fetch Image from URL + section + label.label Enter full URL path to the image: + p.control.is-fullwidth + input.input#txt-editor-image-fetchurl(type='text', placeholder='http://www.example.com/some-image.png', v-model='fetchFromUrlURL') + span.help.is-danger.is-hidden This URL path is invalid! + footer + a.button.is-grey.is-outlined(v-on:click='fetchFromUrlDiscard') Discard + a.button.is-light-blue(v-on:click='fetchFromUrlGo') Fetch - .modal.is-superimposed(v-bind:class="{ 'is-active': renameImageShow }") - .modal-background - .modal-container - .modal-content - header.is-indigo Rename Image - section - label.label Enter the new filename (without the extension) of the image: - p.control.is-fullwidth - input.input#txt-editor-image-rename(type='text', placeholder='filename', v-model='renameImageFilename') - span.help.is-danger.is-hidden This filename is invalid! - footer - a.button.is-grey.is-outlined(v-on:click="renameImageDiscard") Discard - a.button.is-light-blue(v-on:click="renameImageGo") Rename + .modal.is-superimposed(v-bind:class='{ "is-active": renameImageShow }') + .modal-background + .modal-container + .modal-content + header.is-indigo Rename Image + section + label.label Enter the new filename (without the extension) of the image: + p.control.is-fullwidth + input.input#txt-editor-image-rename(type='text', placeholder='filename', v-model='renameImageFilename') + span.help.is-danger.is-hidden This filename is invalid! + footer + a.button.is-grey.is-outlined(v-on:click='renameImageDiscard') Discard + a.button.is-light-blue(v-on:click='renameImageGo') Rename - .modal.is-superimposed(v-bind:class="{ 'is-active': deleteImageShow }") - .modal-background - .modal-container - .modal-content - header.is-red Delete image? - section - span Are you sure you want to delete #[strong {{deleteImageFilename}}]? - footer - a.button.is-grey.is-outlined(v-on:click="deleteImageWarn(false)") Discard - a.button.is-red(v-on:click="deleteImageGo") Delete \ No newline at end of file + .modal.is-superimposed(v-bind:class='{ "is-active": deleteImageShow }') + .modal-background + .modal-container + .modal-content + header.is-red Delete image? + section + span Are you sure you want to delete #[strong {{deleteImageFilename}}]? + footer + a.button.is-grey.is-outlined(v-on:click='deleteImageWarn(false)') Discard + a.button.is-red(v-on:click='deleteImageGo') Delete diff --git a/views/modals/editor-link.pug b/views/modals/editor-link.pug index a8be1fb1..e60a8434 100644 --- a/views/modals/editor-link.pug +++ b/views/modals/editor-link.pug @@ -30,4 +30,4 @@ .column label.label Link p.control - input.input(type='text', placeholder='http://') \ No newline at end of file + input.input(type='text', placeholder='http://') diff --git a/views/modals/editor-video.pug b/views/modals/editor-video.pug index 42e758b9..fc0bff3b 100644 --- a/views/modals/editor-video.pug +++ b/views/modals/editor-video.pug @@ -1,28 +1,28 @@ .modal#modal-editor-video - .modal-background - .modal-container - .modal-content - header.is-green Insert Video Player - section - label.label Enter the link to the video to be embedded: - p.control.is-fullwidth - input.input(type='text', placeholder='https://www.youtube.com/watch?v=xxxxxxxxxxx', v-model='link') - span.help.is-red.is-hidden This URL is invalid or not supported! - .note The following are supported: - ul - li - i.icon-youtube-play - span Youtube - li - i.icon-vimeo - span Vimeo - li - i.icon-film - span Dailymotion - li - i.icon-video - span Any standard MP4 file - footer - a.button.is-grey.is-outlined(v-on:click="cancel") Discard - a.button.is-green(v-on:click="insertVideo") Insert Video \ No newline at end of file + .modal-background + .modal-container + .modal-content + header.is-green Insert Video Player + section + label.label Enter the link to the video to be embedded: + p.control.is-fullwidth + input.input(type='text', placeholder='https://www.youtube.com/watch?v=xxxxxxxxxxx', v-model='link') + span.help.is-red.is-hidden This URL is invalid or not supported! + .note The following are supported: + ul + li + i.icon-youtube-play + span Youtube + li + i.icon-vimeo + span Vimeo + li + i.icon-film + span Dailymotion + li + i.icon-video + span Any standard MP4 file + footer + a.button.is-grey.is-outlined(v-on:click='cancel') Discard + a.button.is-green(v-on:click='insertVideo') Insert Video diff --git a/views/modals/move.pug b/views/modals/move.pug index 3818cb02..844d1dcd 100644 --- a/views/modals/move.pug +++ b/views/modals/move.pug @@ -1,15 +1,15 @@ .modal#modal-move-prompt - .modal-background - .modal-container - .modal-content - header.is-indigo Move document - section - label.label Enter the new document path: - p.control.is-fullwidth - input.input(type='text', placeholder='page-name')#txt-move-prompt - span.help.is-red.is-hidden This document path is invalid or not allowed! - span.note Note that moving or renaming documents can lead to broken links. Make sure to edit any page that links to this document afterwards! - footer - a.button.is-grey.is-outlined.btn-move-prompt Discard - a.button.is-indigo.btn-move-go Move \ No newline at end of file + .modal-background + .modal-container + .modal-content + header.is-indigo Move document + section + label.label Enter the new document path: + p.control.is-fullwidth + input.input#txt-move-prompt(type='text', placeholder='page-name') + span.help.is-red.is-hidden This document path is invalid or not allowed! + span.note Note that moving or renaming documents can lead to broken links. Make sure to edit any page that links to this document afterwards! + footer + a.button.is-grey.is-outlined.btn-move-prompt Discard + a.button.is-indigo.btn-move-go Move diff --git a/views/pages/admin/_layout.pug b/views/pages/admin/_layout.pug index a7be224c..9ebdfd83 100644 --- a/views/pages/admin/_layout.pug +++ b/views/pages/admin/_layout.pug @@ -1,59 +1,59 @@ extends ../../layout.pug block rootNavCenter - h2.nav-item Account + h2.nav-item Account block rootNavRight - i.nav-item#notifload - .nav-item - a.button.btn-edit-discard(href='/') - i.icon-home - span Home + i.nav-item#notifload + .nav-item + a.button.btn-edit-discard(href='/') + i.icon-home + span Home block content - #page-type-account - .container.is-fluid - .columns.is-gapless - - .column.is-narrow.is-hidden-touch.sidebar - - aside - .sidebar-label - i.icon-th-small - span Navigation - ul.sidebar-menu - li - a(href='/') - i.icon-home - span Home - - aside - .sidebar-label - i.icon-head - span Account - ul.sidebar-menu - li - a(href='/admin/profile') - i.icon-user - span My Profile - li - a(href='/admin/stats') - i.icon-bar-graph-2 - span Stats - if rights.manage - li - a(href='/admin/users') - i.icon-users - span Users - li - a(href='/admin/settings') - i.icon-cog - span Site Settings - li - a(href='/logout') - i.icon-delete2 - span Logout - - .column - block adminContent \ No newline at end of file + #page-type-account + .container.is-fluid + .columns.is-gapless + + .column.is-narrow.is-hidden-touch.sidebar + + aside + .sidebar-label + i.icon-th-small + span Navigation + ul.sidebar-menu + li + a(href='/') + i.icon-home + span Home + + aside + .sidebar-label + i.icon-head + span Account + ul.sidebar-menu + li + a(href='/admin/profile') + i.icon-user + span My Profile + li + a(href='/admin/stats') + i.icon-bar-graph-2 + span Stats + if rights.manage + li + a(href='/admin/users') + i.icon-users + span Users + li + a(href='/admin/settings') + i.icon-cog + span Site Settings + li + a(href='/logout') + i.icon-delete2 + span Logout + + .column + block adminContent diff --git a/views/pages/admin/profile.pug b/views/pages/admin/profile.pug index 3d123aa6..2ed8f6c7 100644 --- a/views/pages/admin/profile.pug +++ b/views/pages/admin/profile.pug @@ -1,49 +1,49 @@ extends ./_layout.pug block adminContent - #page-type-admin-profile - .hero - h1.title#title My Profile - h2.subtitle Profile and authentication info - .form-sections - .columns.is-gapless - .column.is-two-thirds - section - label.label Email - p.control.is-fullwidth - input.input(type='text', placeholder='Email', value=user.email, disabled) - if user.provider == 'local' - section - label.label Password - p.control.is-fullwidth - input.input(type='password', placeholder='Password', value='********', v-model='password') - section - label.label Verify Password - p.control.is-fullwidth - input.input(type='password', placeholder='Password', value='********', v-model='passwordVerify') - section - label.label Display Name - p.control.is-fullwidth - input.input(type='text', placeholder='John Smith', v-model='name') - section - button.button.is-green(v-on:click='saveUser') - i.icon-check - span Save Changes - .column - .panel - label.label Provider - p.control.account-profile-provider - case user.provider - when 'local': i.icon-server - when 'windowslive': i.icon-windows2.is-blue - when 'google': i.icon-google.is-blue - when 'facebook': i.icon-facebook.is-purple - default: i.icon-warning - = t('auth:providers.' + user.provider) - label.label Member since - p.control= userMoment(user.createdAt).format('LL') - label.label Last Profile Update - p.control= userMoment(user.updatedAt).format('LL') + #page-type-admin-profile + .hero + h1.title#title My Profile + h2.subtitle Profile and authentication info + .form-sections + .columns.is-gapless + .column.is-two-thirds + section + label.label Email + p.control.is-fullwidth + input.input(type='text', placeholder='Email', value=user.email, disabled) + if user.provider === 'local' + section + label.label Password + p.control.is-fullwidth + input.input(type='password', placeholder='Password', value='********', v-model='password') + section + label.label Verify Password + p.control.is-fullwidth + input.input(type='password', placeholder='Password', value='********', v-model='passwordVerify') + section + label.label Display Name + p.control.is-fullwidth + input.input(type='text', placeholder='John Smith', v-model='name') + section + button.button.is-green(v-on:click='saveUser') + i.icon-check + span Save Changes + .column + .panel + label.label Provider + p.control.account-profile-provider + case user.provider + when 'local': i.icon-server + when 'windowslive': i.icon-windows2.is-blue + when 'google': i.icon-google.is-blue + when 'facebook': i.icon-facebook.is-purple + default: i.icon-warning + = t('auth:providers.' + user.provider) + label.label Member since + p.control= userMoment(user.createdAt).format('LL') + label.label Last Profile Update + p.control= userMoment(user.updatedAt).format('LL') - script(type='text/javascript'). - var usrDataName = "!{user.name}"; \ No newline at end of file + script(type='text/javascript'). + var usrDataName = "!{user.name}"; diff --git a/views/pages/admin/settings.pug b/views/pages/admin/settings.pug index b0036113..e746117b 100644 --- a/views/pages/admin/settings.pug +++ b/views/pages/admin/settings.pug @@ -1,9 +1,9 @@ extends ./_layout.pug block adminContent - .hero - h1.title#title Site Settings - h2.subtitle Manage site configuration - .form-sections - section - | Coming soon \ No newline at end of file + .hero + h1.title#title Site Settings + h2.subtitle Manage site configuration + .form-sections + section + | Coming soon diff --git a/views/pages/admin/stats.pug b/views/pages/admin/stats.pug index 3e6d00b2..485289ea 100644 --- a/views/pages/admin/stats.pug +++ b/views/pages/admin/stats.pug @@ -1,14 +1,14 @@ extends ./_layout.pug block adminContent - .hero - h1.title#title Stats - h2.subtitle General site-wide statistics - .form-sections - section - label.label Entries - p.control= totalEntries - label.label Uploads - p.control= totalUploads - label.label Users - p.control= totalUsers \ No newline at end of file + .hero + h1.title#title Stats + h2.subtitle General site-wide statistics + .form-sections + section + label.label Entries + p.control= totalEntries + label.label Uploads + p.control= totalUploads + label.label Users + p.control= totalUsers diff --git a/views/pages/admin/users-edit.pug b/views/pages/admin/users-edit.pug index d785405d..5c99e2f7 100644 --- a/views/pages/admin/users-edit.pug +++ b/views/pages/admin/users-edit.pug @@ -1,126 +1,126 @@ extends ./_layout.pug block rootNavRight - i.nav-item#notifload - .nav-item - a.button(href='/admin/users') - i.icon-reply - span Return to Users + i.nav-item#notifload + .nav-item + a.button(href='/admin/users') + i.icon-reply + span Return to Users block adminContent - #page-type-admin-users-edit - .hero - h1.title#title Edit User - h2.subtitle= usr.email - table.table - thead - tr - th Unique ID - th Provider - th Created On - th Updated On - tbody - tr - td.is-centered= usr._id - td.is-centered.has-icons - case usr.provider - when 'local' - i.icon-server.is-deep-orange - | Local Database - when 'windowslive' - i.icon-windows2.is-blue - | Microsoft Account - when 'google' - i.icon-google.is-blue - | Google ID - when 'facebook' - i.icon-facebook.is-purple - | Facebook - default: i.icon-warning - td.is-centered= userMoment(usr.createdAt).format('lll') - td.is-centered= userMoment(usr.updatedAt).format('lll') - .form-sections - section - label.label Email Address - p.control.is-fullwidth - input.input(type='text', placeholder='john.smith@example.com', v-model='email', disabled=!usrOpts.canChangeEmail) - section - label.label Display Name - p.control.is-fullwidth - input.input(type='text', placeholder='John Smith', v-model='name', disabled=!usrOpts.canChangeName) - if usrOpts.canChangePassword - section - label.label Password - p.control.is-fullwidth - input.input(type='password', placeholder='Password', v-model='password', value='********') - section - label.label Access Rights - table.table - thead.is-teal - tr - th - th(style={width: '200px'}) Permission(s) - th Path - th(style={width: '150px'}) Access - th(style={width: '50px'}) - tbody - tr(v-for='(right, idx) in rights', v-cloak) - td.is-icon - i.icon-marquee-plus.is-green(v-if='right.deny === false || right.deny === "false"') - i.icon-marquee-minus.is-red(v-if='right.deny === true || right.deny === "true"') - td - p.control.is-fullwidth - select(v-model='right.role') - option(value='write') Read and Write - option(value='read') Read Only - td - .columns - .column.is-narrow - p.control - select(v-model='right.exact') - option(value='false') Path starts with: - option(value='true') Path match exactly: - .column - p.control.is-fullwidth - input.input(type='text', placeholder='/', v-model='right.path') - td - p.control.is-fullwidth - select(v-model='right.deny') - option(value='false') Allow - option(value='true') Deny - td.is-centered.has-action-icons - i.icon-delete.is-red(v-on:click='removeRightsRow(idx)') - tr(v-if='rights.length < 1', v-cloak) - td.is-icon - td.is-centered(colspan='3'): em No additional access rights - td.is-centered.has-action-icons - .table-actions - button.button.is-blue(v-on:click='addRightsRow') - i.icon-plus - span Add New Row - section - label.label Role Override - p.control.is-fullwidth - select(v-model='roleoverride', disabled=!usrOpts.canChangeRole) - option(value='none') None - option(value='admin') Global Administrator - .columns.is-gapless - .column - section - button.button.is-green(v-on:click='saveUser') - i.icon-check - span Save Changes - a.button.button.is-grey.is-outlined(href='/admin/users') - i.icon-cancel - span Discard - .column.is-narrow - section - if usrOpts.canBeDeleted - button.button.is-red.btn-deluser-prompt - i.icon-trash2 - span Delete Account + #page-type-admin-users-edit + .hero + h1.title#title Edit User + h2.subtitle= usr.email + table.table + thead + tr + th Unique ID + th Provider + th Created On + th Updated On + tbody + tr + td.is-centered= usr._id + td.is-centered.has-icons + case usr.provider + when 'local' + i.icon-server.is-deep-orange + | Local Database + when 'windowslive' + i.icon-windows2.is-blue + | Microsoft Account + when 'google' + i.icon-google.is-blue + | Google ID + when 'facebook' + i.icon-facebook.is-purple + | Facebook + default: i.icon-warning + td.is-centered= userMoment(usr.createdAt).format('lll') + td.is-centered= userMoment(usr.updatedAt).format('lll') + .form-sections + section + label.label Email Address + p.control.is-fullwidth + input.input(type='text', placeholder='john.smith@example.com', v-model='email', disabled=!usrOpts.canChangeEmail) + section + label.label Display Name + p.control.is-fullwidth + input.input(type='text', placeholder='John Smith', v-model='name', disabled=!usrOpts.canChangeName) + if usrOpts.canChangePassword + section + label.label Password + p.control.is-fullwidth + input.input(type='password', placeholder='Password', v-model='password', value='********') + section + label.label Access Rights + table.table + thead.is-teal + tr + th + th(style={width: '200px'}) Permission(s) + th Path + th(style={width: '150px'}) Access + th(style={width: '50px'}) + tbody + tr(v-for='(right, idx) in rights', v-cloak) + td.is-icon + i.icon-marquee-plus.is-green(v-if='right.deny === false || right.deny === "false"') + i.icon-marquee-minus.is-red(v-if='right.deny === true || right.deny === "true"') + td + p.control.is-fullwidth + select(v-model='right.role') + option(value='write') Read and Write + option(value='read') Read Only + td + .columns + .column.is-narrow + p.control + select(v-model='right.exact') + option(value='false') Path starts with: + option(value='true') Path match exactly: + .column + p.control.is-fullwidth + input.input(type='text', placeholder='/', v-model='right.path') + td + p.control.is-fullwidth + select(v-model='right.deny') + option(value='false') Allow + option(value='true') Deny + td.is-centered.has-action-icons + i.icon-delete.is-red(v-on:click='removeRightsRow(idx)') + tr(v-if='rights.length < 1', v-cloak) + td.is-icon + td.is-centered(colspan='3'): em No additional access rights + td.is-centered.has-action-icons + .table-actions + button.button.is-blue(v-on:click='addRightsRow') + i.icon-plus + span Add New Row + section + label.label Role Override + p.control.is-fullwidth + select(v-model='roleoverride', disabled=!usrOpts.canChangeRole) + option(value='none') None + option(value='admin') Global Administrator + .columns.is-gapless + .column + section + button.button.is-green(v-on:click='saveUser') + i.icon-check + span Save Changes + a.button.button.is-grey.is-outlined(href='/admin/users') + i.icon-cancel + span Discard + .column.is-narrow + section + if usrOpts.canBeDeleted + button.button.is-red.btn-deluser-prompt + i.icon-trash2 + span Delete Account - include ../../modals/admin-deleteuser.pug + include ../../modals/admin-deleteuser.pug - script(type='text/javascript'). - var usrData = !{JSON.stringify(usr)}; \ No newline at end of file + script(type='text/javascript'). + var usrData = !{JSON.stringify(usr)}; diff --git a/views/pages/admin/users.pug b/views/pages/admin/users.pug index eee85353..87347e4a 100644 --- a/views/pages/admin/users.pug +++ b/views/pages/admin/users.pug @@ -1,50 +1,50 @@ extends ./_layout.pug block rootNavRight - i.nav-item#notifload - .nav-item - a.button.btn-create-prompt - i.icon-plus - span Create / Authorize User + i.nav-item#notifload + .nav-item + a.button.btn-create-prompt + i.icon-plus + span Create / Authorize User block adminContent - #page-type-admin-users - .hero - h1.title#title Users - h2.subtitle Manage users and access rights - table.table - thead - tr - th - th Name - th Email - th Provider - th Created On - th Updated On - tbody - each usr in usrs - tr - td.is-icon - i.icon-user.is-grey - td - a(href='/admin/users/' + usr._id)= usr.name - td= usr.email - td.is-centered.has-icons - case usr.provider - when 'local' - i.icon-server.is-deep-orange - | Local Database - when 'windowslive' - i.icon-windows2.is-blue - | Microsoft Account - when 'google' - i.icon-google.is-blue - | Google ID - when 'facebook' - i.icon-facebook.is-purple - | Facebook - default: i.icon-warning - td.is-centered= userMoment(usr.createdAt).format('lll') - td.is-centered= userMoment(usr.updatedAt).format('lll') + #page-type-admin-users + .hero + h1.title#title Users + h2.subtitle Manage users and access rights + table.table + thead + tr + th + th Name + th Email + th Provider + th Created On + th Updated On + tbody + each usr in usrs + tr + td.is-icon + i.icon-user.is-grey + td + a(href='/admin/users/' + usr._id)= usr.name + td= usr.email + td.is-centered.has-icons + case usr.provider + when 'local' + i.icon-server.is-deep-orange + | Local Database + when 'windowslive' + i.icon-windows2.is-blue + | Microsoft Account + when 'google' + i.icon-google.is-blue + | Google ID + when 'facebook' + i.icon-facebook.is-purple + | Facebook + default: i.icon-warning + td.is-centered= userMoment(usr.createdAt).format('lll') + td.is-centered= userMoment(usr.updatedAt).format('lll') - include ../../modals/admin-createuser.pug + include ../../modals/admin-createuser.pug diff --git a/views/pages/create.pug b/views/pages/create.pug index d13372da..14b1defe 100644 --- a/views/pages/create.pug +++ b/views/pages/create.pug @@ -1,27 +1,27 @@ extends ../layout.pug block rootNavCenter - h2.nav-item Create New Document + h2.nav-item Create New Document block rootNavRight - i.nav-item#notifload - span.nav-item - a.button.is-outlined.btn-create-discard - i.icon-cross - span Discard - a.button.btn-create-save - i.icon-check - span Save Document + i.nav-item#notifload + span.nav-item + a.button.is-outlined.btn-create-discard + i.icon-cross + span Discard + a.button.btn-create-save + i.icon-check + span Save Document block content - #page-type-create(data-entrypath=pageData.meta.path) - .editor-area - textarea#mk-editor= pageData.markdown + #page-type-create(data-entrypath=pageData.meta.path) + .editor-area + textarea#mk-editor= pageData.markdown - include ../modals/create-discard.pug - include ../modals/editor-link.pug - include ../modals/editor-image.pug - include ../modals/editor-file.pug - include ../modals/editor-video.pug - include ../modals/editor-codeblock.pug \ No newline at end of file + include ../modals/create-discard.pug + include ../modals/editor-link.pug + include ../modals/editor-image.pug + include ../modals/editor-file.pug + include ../modals/editor-video.pug + include ../modals/editor-codeblock.pug diff --git a/views/pages/edit.pug b/views/pages/edit.pug index e5ef4768..95337eab 100644 --- a/views/pages/edit.pug +++ b/views/pages/edit.pug @@ -1,27 +1,27 @@ extends ../layout.pug block rootNavCenter - h2.nav-item= pageData.meta.title + h2.nav-item= pageData.meta.title block rootNavRight - i.nav-item#notifload - span.nav-item - a.button.is-outlined.btn-edit-discard - i.icon-cross - span Discard - a.button.btn-edit-save - i.icon-check - span Save Changes + i.nav-item#notifload + span.nav-item + a.button.is-outlined.btn-edit-discard + i.icon-cross + span Discard + a.button.btn-edit-save + i.icon-check + span Save Changes block content - #page-type-edit(data-entrypath=pageData.meta.path) - .editor-area - textarea#mk-editor= pageData.markdown + #page-type-edit(data-entrypath=pageData.meta.path) + .editor-area + textarea#mk-editor= pageData.markdown - include ../modals/edit-discard.pug - include ../modals/editor-link.pug - include ../modals/editor-image.pug - include ../modals/editor-file.pug - include ../modals/editor-video.pug - include ../modals/editor-codeblock.pug \ No newline at end of file + include ../modals/edit-discard.pug + include ../modals/editor-link.pug + include ../modals/editor-image.pug + include ../modals/editor-file.pug + include ../modals/editor-video.pug + include ../modals/editor-codeblock.pug diff --git a/views/pages/source.pug b/views/pages/source.pug index e1048719..796b5593 100644 --- a/views/pages/source.pug +++ b/views/pages/source.pug @@ -1,31 +1,31 @@ extends ../layout.pug block rootNavCenter - h2.nav-item= pageData.meta.title + h2.nav-item= pageData.meta.title block rootNavRight - i.nav-item#notifload - span.nav-item - if rights.write - a.button.is-outlined.btn-move-prompt.is-hidden - i.icon-shuffle - span Move - a.button.is-outlined(href='/' + pageData.meta.path) - i.icon-loader - span Normal View - if rights.write - a.button.is-orange(href='/edit/' + pageData.meta.path) - i.fa.fa-edit - span Edit - a.button.is-blue.btn-create-prompt - i.fa.fa-plus - span Create + i.nav-item#notifload + span.nav-item + if rights.write + a.button.is-outlined.btn-move-prompt.is-hidden + i.icon-shuffle + span Move + a.button.is-outlined(href='/' + pageData.meta.path) + i.icon-loader + span Normal View + if rights.write + a.button.is-orange(href='/edit/' + pageData.meta.path) + i.fa.fa-edit + span Edit + a.button.is-blue.btn-create-prompt + i.fa.fa-plus + span Create block content - #page-type-source(data-entrypath=pageData.meta.path) - .ace-container - #source-display= pageData.markdown + #page-type-source(data-entrypath=pageData.meta.path) + .ace-container + #source-display= pageData.markdown - include ../modals/create.pug - include ../modals/move.pug + include ../modals/create.pug + include ../modals/move.pug diff --git a/views/pages/view.pug b/views/pages/view.pug index 06261c0b..013d9db0 100644 --- a/views/pages/view.pug +++ b/views/pages/view.pug @@ -1,79 +1,79 @@ extends ../layout.pug mixin tocMenu(ti) - each node in ti - li - a(href='#' + node.anchor, title=node.content)= node.content - if node.nodes.length > 0 - ul - +tocMenu(node.nodes) + each node in ti + li + a(href='#' + node.anchor, title=node.content)= node.content + if node.nodes.length > 0 + ul + +tocMenu(node.nodes) block rootNavRight - i.nav-item#notifload - .nav-item - if rights.write - a.button.is-outlined.btn-move-prompt.is-hidden - i.icon-shuffle - span Move - a.button.is-outlined(href='/source/' + pageData.meta.path) - i.icon-loader - span Source - if rights.write - a.button(href='/edit/' + pageData.meta.path) - i.icon-document-text - span Edit - a.button.btn-create-prompt - i.icon-plus - span Create + i.nav-item#notifload + .nav-item + if rights.write + a.button.is-outlined.btn-move-prompt.is-hidden + i.icon-shuffle + span Move + a.button.is-outlined(href='/source/' + pageData.meta.path) + i.icon-loader + span Source + if rights.write + a.button(href='/edit/' + pageData.meta.path) + i.icon-document-text + span Edit + a.button.btn-create-prompt + i.icon-plus + span Create block content - #page-type-view(data-entrypath=pageData.meta.path) - .container.is-fluid - .columns.is-gapless + #page-type-view(data-entrypath=pageData.meta.path) + .container.is-fluid + .columns.is-gapless - .column.is-narrow.is-hidden-touch.sidebar + .column.is-narrow.is-hidden-touch.sidebar - aside - .sidebar-label - i.icon-th-small - span Navigation - ul.sidebar-menu - li - a(href='/') - i.icon-home - span Home - if pageData.parent - li - a(href='/' + pageData.parent.path) - i.icon-reply - span= pageData.parent.title - if !isGuest - li - a(href='/admin') - i.icon-head - span Account - else - li - a(href='/login') - i.icon-unlock - span Login - aside.stickyscroll(data-margin-top=40) - .sidebar-label - i.icon-th-list - span Contents - ul.sidebar-menu - li: a(href='#root', title='Start') Start - +tocMenu(pageData.tree) + aside + .sidebar-label + i.icon-th-small + span Navigation + ul.sidebar-menu + li + a(href='/') + i.icon-home + span Home + if pageData.parent + li + a(href='/' + pageData.parent.path) + i.icon-reply + span= pageData.parent.title + if !isGuest + li + a(href='/admin') + i.icon-head + span Account + else + li + a(href='/login') + i.icon-unlock + span Login + aside.stickyscroll(data-margin-top=40) + .sidebar-label + i.icon-th-list + span Contents + ul.sidebar-menu + li: a(href='#root', title='Start') Start + +tocMenu(pageData.tree) - .column + .column - .hero - h1.title#title= pageData.meta.title - if pageData.meta.subtitle - h2.subtitle= pageData.meta.subtitle - .content.mkcontent - != pageData.html + .hero + h1.title#title= pageData.meta.title + if pageData.meta.subtitle + h2.subtitle= pageData.meta.subtitle + .content.mkcontent + != pageData.html - include ../modals/create.pug - include ../modals/move.pug + include ../modals/create.pug + include ../modals/move.pug diff --git a/views/pages/welcome.pug b/views/pages/welcome.pug index 3933e1f3..cb97ebe6 100644 --- a/views/pages/welcome.pug +++ b/views/pages/welcome.pug @@ -3,14 +3,14 @@ extends ../layout.pug block rootNavCenter block rootNavRight - i.nav-item#notifload + i.nav-item#notifload block content - #page-type-welcome - .container - .welcome - img(src='/favicons/android-icon-144x144.png',alt='Wiki.js') - h1 Welcome to your Wiki.js! - h2 Let's get started and create the home page. - a.button.is-indigo(href='/create/home') Create Home Page + #page-type-welcome + .container + .welcome + img(src='/favicons/android-icon-144x144.png', alt='Wiki.js') + h1 Welcome to your Wiki.js! + h2 Let's get started and create the home page. + a.button.is-indigo(href='/create/home') Create Home Page