Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wiki-js
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
wiki-js
Commits
15e4341f
Commit
15e4341f
authored
Feb 09, 2017
by
NGPixel
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed pug linting issues
parent
3566a78c
Hide whitespace changes
Inline
Side-by-side
Showing
31 changed files
with
925 additions
and
953 deletions
+925
-953
.pug-lintrc.json
.pug-lintrc.json
+2
-3
login.pug
views/auth/login.pug
+61
-62
alerts.pug
views/common/alerts.pug
+10
-11
footer.pug
views/common/footer.pug
+7
-8
header.pug
views/common/header.pug
+31
-33
error-forbidden.pug
views/error-forbidden.pug
+24
-25
error-notexist.pug
views/error-notexist.pug
+25
-26
error.pug
views/error.pug
+27
-28
layout.pug
views/layout.pug
+30
-31
admin-createuser.pug
views/modals/admin-createuser.pug
+31
-32
admin-deleteuser.pug
views/modals/admin-deleteuser.pug
+9
-10
create-discard.pug
views/modals/create-discard.pug
+9
-10
create.pug
views/modals/create.pug
+12
-13
edit-discard.pug
views/modals/edit-discard.pug
+9
-10
editor-codeblock.pug
views/modals/editor-codeblock.pug
+19
-20
editor-file.pug
views/modals/editor-file.pug
+74
-75
editor-image.pug
views/modals/editor-image.pug
+97
-98
editor-link.pug
views/modals/editor-link.pug
+1
-2
editor-video.pug
views/modals/editor-video.pug
+26
-27
move.pug
views/modals/move.pug
+13
-14
_layout.pug
views/pages/admin/_layout.pug
+51
-52
profile.pug
views/pages/admin/profile.pug
+45
-46
settings.pug
views/pages/admin/settings.pug
+6
-7
stats.pug
views/pages/admin/stats.pug
+11
-12
users-edit.pug
views/pages/admin/users-edit.pug
+119
-120
users.pug
views/pages/admin/users.pug
+44
-44
create.pug
views/pages/create.pug
+18
-19
edit.pug
views/pages/edit.pug
+18
-19
source.pug
views/pages/source.pug
+22
-22
view.pug
views/pages/view.pug
+66
-66
welcome.pug
views/pages/welcome.pug
+8
-8
No files found.
.pug-lintrc.json
View file @
15e4341f
...
@@ -9,8 +9,8 @@
...
@@ -9,8 +9,8 @@
"requireLowerCaseTags"
:
true
,
"requireLowerCaseTags"
:
true
,
"requireSpaceAfterCodeOperator"
:
true
,
"requireSpaceAfterCodeOperator"
:
true
,
"requireStrictEqualityOperators"
:
true
,
"requireStrictEqualityOperators"
:
true
,
"validateAttributeQuoteMarks"
:
true
,
"validateAttributeQuoteMarks"
:
"'"
,
"validateAttributeSeparator"
:
", "
,
"validateAttributeSeparator"
:
", "
,
"validateDivTags"
:
true
,
"validateDivTags"
:
true
,
"validateIndentation"
:
2
"validateIndentation"
:
2
}
}
\ No newline at end of file
views/auth/login.pug
View file @
15e4341f
doctype html
doctype html
html
html
head
head
meta(http-equiv='X-UA-Compatible', content='IE=edge')
meta(http-equiv='X-UA-Compatible', content='IE=edge')
meta(charset='UTF-8')
meta(charset='UTF-8')
meta(name='viewport', content='width=device-width, initial-scale=1')
meta(name='viewport', content='width=device-width, initial-scale=1')
meta(name='theme-color', content='#009688')
meta(name='theme-color', content='#009688')
meta(name='msapplication-TileColor', content='#009688')
meta(name='msapplication-TileColor', content='#009688')
meta(name='msapplication-TileImage', content='/favicons/ms-icon-144x144.png')
meta(name='msapplication-TileImage', content='/favicons/ms-icon-144x144.png')
title= appconfig.title
title= appconfig.title
// Favicon
// Favicon
each favsize in [57, 60, 72, 76, 114, 120, 144, 152, 180]
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='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')
link(rel='icon', type='image/png', sizes='192x192', href='/favicons/android-icon-192x192.png')
each favsize in [32, 96, 16]
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='icon', type='image/png', sizes=favsize + 'x' + favsize, href='/favicons/favicon-' + favsize + 'x' + favsize + '.png')
link(rel='manifest', href='/manifest.json')
link(rel='manifest', href='/manifest.json')
// CSS
// CSS
link(type='text/css', rel='stylesheet', href='/css/libs.css')
link(type='text/css', rel='stylesheet', href='/css/libs.css')
link(type='text/css', rel='stylesheet', href='/css/login.css')
link(type='text/css', rel='stylesheet', href='/css/login.css')
// JS
// JS
script(type='text/javascript', src='/js/libs.js')
script(type='text/javascript', src='/js/libs.js')
script(type='text/javascript', src='/js/login.js')
script(type='text/javascript', src='/js/login.js')
body
body
#bg
#bg
each bg in _.sampleSize([1, 2, 3],3)
each bg in _.sampleSize([1, 2, 3],3)
div(style="background-image:url(/images/bg_" + bg + ".jpg);")
div(style='background-image:url(/images/bg_' + bg + '.jpg);')
#root
#root
h1= appconfig.title
h1= appconfig.title
h2 Login required
h2 Login required
if appflash.length > 0
if appflash.length > 0
h3
h3
i.fa.fa-warning
i.fa.fa-warning
= appflash[0].title
= appflash[0].title
h4= appflash[0].message
h4= appflash[0].message
if appconfig.auth.local.enabled
if appconfig.auth.local.enabled
form(method='post', action='/login')
form(method='post', action='/login')
input#login-user(type='text', name='email', placeholder='Email address')
input#login-user(type='text', name='email', placeholder='Email address')
input#login-pass(type='password', name='password', placeholder='Password')
input#login-pass(type='password', name='password', placeholder='Password')
button(type='submit') Log In
button(type='submit') Log In
if appconfig.authStrategies.socialEnabled
if appconfig.authStrategies.socialEnabled
#social
#social
if appconfig.auth.local.enabled
if appconfig.auth.local.enabled
span Or, log in using...
span Or, log in using...
else
else
span Log in using...
span Log in using...
if appconfig.auth.microsoft && appconfig.auth.microsoft.enabled
if appconfig.auth.microsoft && appconfig.auth.microsoft.enabled
button.ms(onclick="window.location.assign('/login/ms')")
button.ms(onclick='window.location.assign("/login/ms")')
i.fa.fa-windows
i.fa.fa-windows
span Microsoft Account
span Microsoft Account
if appconfig.auth.google && appconfig.auth.google.enabled
if appconfig.auth.google && appconfig.auth.google.enabled
button.google(onclick="window.location.assign('/login/google')")
button.google(onclick='window.location.assign("/login/google")')
i.fa.fa-google
i.fa.fa-google
span Google ID
span Google ID
if appconfig.auth.facebook && appconfig.auth.facebook.enabled
if appconfig.auth.facebook && appconfig.auth.facebook.enabled
button.facebook(onclick="window.location.assign('/login/facebook')")
button.facebook(onclick='window.location.assign("/login/facebook")')
i.fa.fa-facebook
i.fa.fa-facebook
span Facebook
span Facebook
#copyright
#copyright
= t('footer.poweredby') + ' '
= t('footer.poweredby') + ' '
a.icon(href='https://github.com/Requarks/wiki')
a.icon(href='https://github.com/Requarks/wiki')
i.icon-github
i.icon-github
a(href='https://github.com/Requarks/wiki') Requarks Wiki
a(href='https://github.com/Requarks/wiki') Requarks Wiki
\ No newline at end of file
views/common/alerts.pug
View file @
15e4341f
#alerts
#alerts
ul
ul
template(v-for="aItem in children"
, track-by='_uid')
template(v-for='aItem in children'
, track-by='_uid')
li(v-bind:class='aItem.class')
li(v-bind:class='aItem.class')
button(v-on:click='acknowledge(aItem._uid)')
button(v-on:click='acknowledge(aItem._uid)')
strong {{ aItem.title }}
strong {{ aItem.title }}
span {{ aItem.message }}
span {{ aItem.message }}
if appflash.length > 0
if appflash.length > 0
script(type='text/javascript').
script(type='text/javascript').
var alertsData = !{JSON.stringify(appflash)};
var alertsData = !{JSON.stringify(appflash)};
else
else
script(type='text/javascript').
script(type='text/javascript').
var alertsData = [];
var alertsData = [];
\ No newline at end of file
views/common/footer.pug
View file @
15e4341f
footer.footer
footer.footer
span
span
= t('footer.poweredby') + ' '
= t('footer.poweredby') + ' '
a(href='https://github.com/Requarks/wiki') Wiki.js
a(href='https://github.com/Requarks/wiki') Wiki.js
| .
| .
ul
ul
li: a(href='/')= t('footer.home')
li: a(href='/')= t('footer.home')
li: a(href='#root')= t('footer.top')
li: a(href='#root')= t('footer.top')
views/common/header.pug
View file @
15e4341f
#header-container
#header-container
nav.nav.stickyscroll#header
nav.nav.stickyscroll#header
.nav-left
.nav-left
block rootNavLeft
block rootNavLeft
a.nav-item(href='/')
a.nav-item(href='/')
h1
h1
i.icon-layers
i.icon-layers
= appconfig.title
= appconfig.title
.nav-center
.nav-center
block rootNavCenter
block rootNavCenter
.nav-item
.nav-item
p.control(v-bind:class="{ 'is-loading': searchload > 0 }")
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...')
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.nav-toggle
span
span
span
span
span
span
.nav-right
.nav-right
block rootNavRight
block rootNavRight
i.nav-item#notifload
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 }}
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 }}
views/error-forbidden.pug
View file @
15e4341f
doctype html
doctype html
html
html
head
head
meta(http-equiv='X-UA-Compatible', content='IE=edge')
meta(http-equiv='X-UA-Compatible', content='IE=edge')
meta(charset='UTF-8')
meta(charset='UTF-8')
meta(name='viewport', content='width=device-width, initial-scale=1')
meta(name='viewport', content='width=device-width, initial-scale=1')
meta(name='theme-color', content='#009688')
meta(name='theme-color', content='#009688')
meta(name='msapplication-TileColor', content='#009688')
meta(name='msapplication-TileColor', content='#009688')
meta(name='msapplication-TileImage', content='/favicons/ms-icon-144x144.png')
meta(name='msapplication-TileImage', content='/favicons/ms-icon-144x144.png')
title= appconfig.title
title= appconfig.title
// Favicon
// Favicon
each favsize in [57, 60, 72, 76, 114, 120, 144, 152, 180]
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='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')
link(rel='icon', type='image/png', sizes='192x192', href='/favicons/android-icon-192x192.png')
each favsize in [32, 96, 16]
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='icon', type='image/png', sizes=favsize + 'x' + favsize, href='/favicons/favicon-' + favsize + 'x' + favsize + '.png')
link(rel='manifest', href='/manifest.json')
link(rel='manifest', href='/manifest.json')
// CSS
// CSS
link(type='text/css', rel='stylesheet', href='/css/libs.css')
link(type='text/css', rel='stylesheet', href='/css/libs.css')
link(type='text/css', rel='stylesheet', href='/css/error.css')
link(type='text/css', rel='stylesheet', href='/css/error.css')
body(class='is-forbidden')
body(class='is-forbidden')
.container
.container
a(href='/'): img(src='/favicons/android-icon-96x96.png')
a(href='/'): img(src='/favicons/android-icon-96x96.png')
h1 Forbidden
h1 Forbidden
h2 Sorry, you don't have the necessary permissions to access this page.
h2 Sorry, you don't have the necessary permissions to access this page.
a.button.is-amber.is-inverted(href='/') Go Home
a.button.is-amber.is-inverted(href='/') Go Home
\ No newline at end of file
views/error-notexist.pug
View file @
15e4341f
doctype html
doctype html
html
html
head
head
meta(http-equiv='X-UA-Compatible', content='IE=edge')
meta(http-equiv='X-UA-Compatible', content='IE=edge')
meta(charset='UTF-8')
meta(charset='UTF-8')
meta(name='viewport', content='width=device-width, initial-scale=1')
meta(name='viewport', content='width=device-width, initial-scale=1')
meta(name='theme-color', content='#009688')
meta(name='theme-color', content='#009688')
meta(name='msapplication-TileColor', content='#009688')
meta(name='msapplication-TileColor', content='#009688')
meta(name='msapplication-TileImage', content='/favicons/ms-icon-144x144.png')
meta(name='msapplication-TileImage', content='/favicons/ms-icon-144x144.png')
title= appconfig.title
title= appconfig.title
// Favicon
// Favicon
each favsize in [57, 60, 72, 76, 114, 120, 144, 152, 180]
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='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')
link(rel='icon', type='image/png', sizes='192x192', href='/favicons/android-icon-192x192.png')
each favsize in [32, 96, 16]
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='icon', type='image/png', sizes=favsize + 'x' + favsize, href='/favicons/favicon-' + favsize + 'x' + favsize + '.png')
link(rel='manifest', href='/manifest.json')
link(rel='manifest', href='/manifest.json')
// CSS
// CSS
link(type='text/css', rel='stylesheet', href='/css/libs.css')
link(type='text/css', rel='stylesheet', href='/css/libs.css')
link(type='text/css', rel='stylesheet', href='/css/error.css')
link(type='text/css', rel='stylesheet', href='/css/error.css')
body(class='is-notexist')
body(class='is-notexist')
.container
.container
a(href='/'): img(src='/favicons/android-icon-96x96.png')
a(href='/'): img(src='/favicons/android-icon-96x96.png')
h1= message
h1= message
h2 Would you like to create this entry?
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.is-featured(href='/create/' + newpath) Create
a.button.is-amber.is-inverted(href='/') Go Home
a.button.is-amber.is-inverted(href='/') Go Home
\ No newline at end of file
views/error.pug
View file @
15e4341f
doctype html
doctype html
html
html
head
head
meta(http-equiv='X-UA-Compatible', content='IE=edge')
meta(http-equiv='X-UA-Compatible', content='IE=edge')
meta(charset='UTF-8')
meta(charset='UTF-8')
meta(name='viewport', content='width=device-width, initial-scale=1')
meta(name='viewport', content='width=device-width, initial-scale=1')
meta(name='theme-color', content='#009688')
meta(name='theme-color', content='#009688')
meta(name='msapplication-TileColor', content='#009688')
meta(name='msapplication-TileColor', content='#009688')
meta(name='msapplication-TileImage', content='/favicons/ms-icon-144x144.png')
meta(name='msapplication-TileImage', content='/favicons/ms-icon-144x144.png')
title= appconfig.title
title= appconfig.title
// Favicon
// Favicon
each favsize in [57, 60, 72, 76, 114, 120, 144, 152, 180]
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='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')
link(rel='icon', type='image/png', sizes='192x192', href='/favicons/android-icon-192x192.png')
each favsize in [32, 96, 16]
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='icon', type='image/png', sizes=favsize + 'x' + favsize, href='/favicons/favicon-' + favsize + 'x' + favsize + '.png')
link(rel='manifest', href='/manifest.json')
link(rel='manifest', href='/manifest.json')
// CSS
// CSS
link(type='text/css', rel='stylesheet', href='/css/libs.css')
link(type='text/css', rel='stylesheet', href='/css/libs.css')
link(type='text/css', rel='stylesheet', href='/css/error.css')
link(type='text/css', rel='stylesheet', href='/css/error.css')
body(class='is-error')
body(class='is-error')
.container
.container
a(href='/'): img(src='/favicons/android-icon-96x96.png')
a(href='/'): img(src='/favicons/android-icon-96x96.png')
h1= message
h1= message
h2 Oops, something went wrong
h2 Oops, something went wrong
a.button.is-amber.is-inverted.is-featured(href='/') Go Home
a.button.is-amber.is-inverted.is-featured(href='/') Go Home
if error.stack
if error.stack
h3 Detailed debug trail:
h3 Detailed debug trail:
pre: code #{error.stack}
pre: code #{error.stack}
\ No newline at end of file
views/layout.pug
View file @
15e4341f
doctype html
doctype html
html
html
head
head
meta(http-equiv='X-UA-Compatible', content='IE=edge')
meta(http-equiv='X-UA-Compatible', content='IE=edge')
meta(charset='UTF-8')
meta(charset='UTF-8')
meta(name='viewport', content='width=device-width, initial-scale=1')
meta(name='viewport', content='width=device-width, initial-scale=1')
meta(name='theme-color', content='#009688')
meta(name='theme-color', content='#009688')
meta(name='msapplication-TileColor', content='#009688')
meta(name='msapplication-TileColor', content='#009688')
meta(name='msapplication-TileImage', content='/favicons/ms-icon-144x144.png')
meta(name='msapplication-TileImage', content='/favicons/ms-icon-144x144.png')
title= appconfig.title
title= appconfig.title
// Favicon
// Favicon
each favsize in [57, 60, 72, 76, 114, 120, 144, 152, 180]
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='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')
link(rel='icon', type='image/png', sizes='192x192', href='/favicons/android-icon-192x192.png')
each favsize in [32, 96, 16]
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='icon', type='image/png', sizes=favsize + 'x' + favsize, href='/favicons/favicon-' + favsize + 'x' + favsize + '.png')
link(rel='manifest', href='/manifest.json')
link(rel='manifest', href='/manifest.json')
// CSS
// CSS
link(type='text/css', rel='stylesheet', href='/css/libs.css')
link(type='text/css', rel='stylesheet', href='/css/libs.css')
link(type='text/css', rel='stylesheet', href='/css/app.css')
link(type='text/css', rel='stylesheet', href='/css/app.css')
// JS
// JS
script(type='text/javascript', src='/js/libs.js')
script(type='text/javascript', src='/js/libs.js')
script(type='text/javascript', src='/js/app.js')
script(type='text/javascript', src='/js/app.js')
block head
block head
body
body
#root.has-stickynav
#root.has-stickynav
include ./common/header.pug
include ./common/header.pug
include ./common/alerts.pug
include ./common/alerts.pug
main
main
block content
block content
include ./common/footer.pug
include ./common/footer.pug
block outside
block outside
\ No newline at end of file
views/modals/admin-createuser.pug
View file @
15e4341f
.modal#modal-admin-users-create
.modal#modal-admin-users-create
.modal-background
.modal-background
.modal-container
.modal-container
.modal-content
.modal-content
header.is-blue Create / Authorize User
header.is-blue Create / Authorize User
section
section
label.label Email address:
label.label Email address:
p.control.is-fullwidth
p.control.is-fullwidth
input.input(type='text', placeholder='e.g. john.doe@company.com', v-model='email')
input.input(type='text', placeholder='e.g. john.doe@company.com', v-model='email')
span.help.is-red.is-hidden This email is invalid!
span.help.is-red.is-hidden This email is invalid!
section
section
label.label Provider:
label.label Provider:
p.control.is-fullwidth
p.control.is-fullwidth
select(v-model='provider')
select(v-model='provider')
option(value='local') Local Database
option(value='local') Local Database
option(value='windowslive') Microsoft Account
option(value='windowslive') Microsoft Account
option(value='google') Google ID
option(value='google') Google ID
option(value='facebook') Facebook
option(value='facebook') Facebook
section(v-if="provider=='local'")
section(v-if='provider=="local"')
label.label Password:
label.label Password:
p.control.is-fullwidth
p.control.is-fullwidth
input.input(type='password', placeholder='', v-model='password')
input.input(type='password', placeholder='', v-model='password')
span.help.is-red.is-hidden This password is invalid!
span.help.is-red.is-hidden This password is invalid!
section(v-if="provider=='local'")
section(v-if='provider=="local"')
label.label Full Name:
label.label Full Name:
p.control.is-fullwidth
p.control.is-fullwidth
input.input(type='text', placeholder='e.g. John Doe', v-model='name')
input.input(type='text', placeholder='e.g. John Doe', v-model='name')
span.help.is-red.is-hidden This name is invalid!
span.help.is-red.is-hidden This name is invalid!
footer
footer
a.button.is-grey.is-outlined(v-on:click="cancel") Discard
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"') Create User
a.button.is-blue(v-on:click="create", v-if="provider!='local'") Authorize User
a.button.is-blue(v-on:click='create', v-if='provider!="local"') Authorize User
\ No newline at end of file
views/modals/admin-deleteuser.pug
View file @
15e4341f
.modal#modal-admin-users-delete
.modal#modal-admin-users-delete
.modal-background
.modal-background
.modal-container
.modal-container
.modal-content
.modal-content
header.is-red Delete User Account?
header.is-red Delete User Account?
section
section
span Are you sure you want to delete this user account? This action cannot be undone!
span Are you sure you want to delete this user account? This action cannot be undone!
footer
footer
a.button.is-grey.is-outlined(v-on:click="cancel") Abort
a.button.is-grey.is-outlined(v-on:click='cancel') Abort
a.button.is-red(v-on:click="deleteUser") Delete
a.button.is-red(v-on:click='deleteUser') Delete
\ No newline at end of file
views/modals/create-discard.pug
View file @
15e4341f
.modal#modal-create-discard
.modal#modal-create-discard
.modal-background
.modal-background
.modal-container
.modal-container
.modal-content
.modal-content
header.is-orange Discard?
header.is-orange Discard?
section
section
span Are you sure you want to leave this page and loose anything you wrote so far?
span Are you sure you want to leave this page and loose anything you wrote so far?
footer
footer
a.button.is-grey.is-outlined.btn-create-discard Stay on page
a.button.is-grey.is-outlined.btn-create-discard Stay on page
a.button.is-orange(href='/') Discard
a.button.is-orange(href='/') Discard
\ No newline at end of file
views/modals/create.pug
View file @
15e4341f
.modal#modal-create-prompt
.modal#modal-create-prompt
.modal-background
.modal-background
.modal-container
.modal-container
.modal-content
.modal-content
header.is-light-blue Create New Document
header.is-light-blue Create New Document
section
section
label.label Enter the new document path:
label.label Enter the new document path:
p.control.is-fullwidth
p.control.is-fullwidth
input.input(type='text', placeholder='page-name')#txt-create-prompt
input.input#txt-create-prompt(type='text', placeholder='page-name')
span.help.is-danger.is-hidden This document path is invalid!
span.help.is-danger.is-hidden This document path is invalid!
footer
footer
a.button.is-grey.is-outlined.btn-create-prompt Discard
a.button.is-grey.is-outlined.btn-create-prompt Discard
a.button.is-light-blue.btn-create-go Create
a.button.is-light-blue.btn-create-go Create
\ No newline at end of file
views/modals/edit-discard.pug
View file @
15e4341f
.modal#modal-edit-discard
.modal#modal-edit-discard
.modal-background
.modal-background
.modal-container
.modal-container
.modal-content
.modal-content
header.is-orange Discard?
header.is-orange Discard?
section
section
span Are you sure you want to leave this page and loose any modifications?
span Are you sure you want to leave this page and loose any modifications?
footer
footer
a.button.is-grey.is-outlined.btn-edit-discard Stay on page
a.button.is-grey.is-outlined.btn-edit-discard Stay on page
a.button.is-orange(href='/' + pageData.meta.path) Discard
a.button.is-orange(href='/' + pageData.meta.path) Discard
\ No newline at end of file
views/modals/editor-codeblock.pug
View file @
15e4341f
.modal#modal-editor-codeblock
.modal#modal-editor-codeblock
.modal-background
.modal-background
.modal-container
.modal-container
.modal-content.is-expanded
.modal-content.is-expanded
header.is-green
header.is-green
span Insert Code Block
span Insert Code Block
section.is-gapless
section.is-gapless
.columns.is-stretched
.columns.is-stretched
.column.is-one-quarter.modal-sidebar.is-green(style={'max-width':'350px'})
.column.is-one-quarter.modal-sidebar.is-green(style={'max-width':'350px'})
.model-sidebar-header Language
.model-sidebar-header Language
.model-sidebar-content
.model-sidebar-content
p.control.is-fullwidth
p.control.is-fullwidth
select(v-model='modeSelected')
select(v-model='modeSelected')
option(v-for="mode in modes"
v-bind:value='mode.name') {{ mode.caption }}
option(v-for='mode in modes',
v-bind:value='mode.name') {{ mode.caption }}
.column.ace-container
.column.ace-container
#codeblock-editor
#codeblock-editor
footer
footer
a.button.is-grey.is-outlined(v-on:click="cancel") Discard
a.button.is-grey.is-outlined(v-on:click='cancel') Discard
a.button.is-green(v-on:click="insertCode") Insert Code Block
a.button.is-green(v-on:click='insertCode') Insert Code Block
\ No newline at end of file
views/modals/editor-file.pug
View file @
15e4341f
.modal#modal-editor-file
.modal#modal-editor-file
.modal-background
.modal-background
.modal-container
.modal-container
.modal-content.is-expanded
.modal-content.is-expanded
header.is-green
header.is-green
span Insert File
span Insert File
p.modal-notify(v-bind:class="{ 'is-active': isLoading }"
)
p.modal-notify(v-bind:class='{ "is-active": isLoading }'
)
span {{ isLoadingText }}
span {{ isLoadingText }}
i
i
.modal-toolbar.is-green
.modal-toolbar.is-green
a.button(v-on:click="newFolder"
)
a.button(v-on:click='newFolder'
)
i.fa.fa-folder
i.fa.fa-folder
span New Folder
span New Folder
a.button#btn-editor-file-upload
a.button#btn-editor-file-upload
i.fa.fa-upload
i.fa.fa-upload
span Upload File
span Upload File
label
label
input(type="file"
, multiple)
input(type='file'
, multiple)
section.is-gapless
section.is-gapless
.columns.is-stretched
.columns.is-stretched
.column.is-one-quarter.modal-sidebar.is-green(style={'max-width':'350px'})
.column.is-one-quarter.modal-sidebar.is-green(style={'max-width':'350px'})
.model-sidebar-header Folders
.model-sidebar-header Folders
ul.model-sidebar-list
ul.model-sidebar-list
li(v-for="fld in folders"
)
li(v-for='fld in folders'
)
a(v-on:click="selectFolder(fld)", v-bind:class="{ 'is-active': currentFolder === fld }"
)
a(v-on:click='selectFolder(fld)', v-bind:class='{ "is-active": currentFolder === fld }'
)
i.icon-folder2
i.icon-folder2
span / {{ fld }}
span / {{ fld }}
.column.editor-modal-file-choices
.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"
)
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')
i(class='icon-file')
span: strong {{ fl.filename }}
span: strong {{ fl.filename }}
span {{ fl.mime }}
span {{ fl.mime }}
span {{ fl.filesize | filesize }}
span {{ fl.filesize | filesize }}
em(v-show="files.length < 1"
)
em(v-show='files.length < 1'
)
i.icon-marquee-minus
i.icon-marquee-minus
| This folder is empty.
| This folder is empty.
footer
footer
a.button.is-grey.is-outlined(v-on:click="cancel"
) Discard
a.button.is-grey.is-outlined(v-on:click='cancel'
) Discard
a.button.is-green(v-on:click="insertFileLink"
) Insert Link to File
a.button.is-green(v-on:click='insertFileLink'
) Insert Link to File
.modal.is-superimposed(v-bind:class="{ 'is-active': newFolderShow }"
)
.modal.is-superimposed(v-bind:class='{ "is-active": newFolderShow }'
)
.modal-background
.modal-background
.modal-container
.modal-container
.modal-content
.modal-content
header.is-light-blue New Folder
header.is-light-blue New Folder
section
section
label.label Enter the new folder name:
label.label Enter the new folder name:
p.control.is-fullwidth
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"
)
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!
span.help.is-danger(v-show='newFolderError'
) This folder name is invalid!
footer
footer
a.button.is-grey.is-outlined(v-on:click="newFolderDiscard"
) Discard
a.button.is-grey.is-outlined(v-on:click='newFolderDiscard'
) Discard
a.button.is-light-blue(v-on:click="newFolderCreate"
) Create
a.button.is-light-blue(v-on:click='newFolderCreate'
) Create
.modal.is-superimposed(v-bind:class="{ 'is-active': renameFileShow }"
)
.modal.is-superimposed(v-bind:class='{ "is-active": renameFileShow }'
)
.modal-background
.modal-background
.modal-container
.modal-container
.modal-content
.modal-content
header.is-indigo Rename File
header.is-indigo Rename File
section
section
label.label Enter the new filename (without the extension) of the file:
label.label Enter the new filename (without the extension) of the file:
p.control.is-fullwidth
p.control.is-fullwidth
input.input#txt-editor-file-rename(type='text', placeholder='filename', v-model='renameFileFilename')
input.input#txt-editor-file-rename(type='text', placeholder='filename', v-model='renameFileFilename')
span.help.is-danger.is-hidden This filename is invalid!
span.help.is-danger.is-hidden This filename is invalid!
footer
footer
a.button.is-grey.is-outlined(v-on:click="renameFileDiscard"
) Discard
a.button.is-grey.is-outlined(v-on:click='renameFileDiscard'
) Discard
a.button.is-light-blue(v-on:click="renameFileGo"
) Rename
a.button.is-light-blue(v-on:click='renameFileGo'
) Rename
.modal.is-superimposed(v-bind:class="{ 'is-active': deleteFileShow }")
.modal.is-superimposed(v-bind:class='{ "is-active": deleteFileShow }')
.modal-background
.modal-background
.modal-container
.modal-container
.modal-content
.modal-content
header.is-red Delete file?
header.is-red Delete file?
section
section
span Are you sure you want to delete #[strong {{deleteFileFilename}}]?
span Are you sure you want to delete #[strong {{deleteFileFilename}}]?
footer
footer
a.button.is-grey.is-outlined(v-on:click="deleteFileWarn(false)") Discard
a.button.is-grey.is-outlined(v-on:click='deleteFileWarn(false)') Discard
a.button.is-red(v-on:click="deleteFileGo") Delete
a.button.is-red(v-on:click='deleteFileGo') Delete
\ No newline at end of file
views/modals/editor-image.pug
View file @
15e4341f
.modal#modal-editor-image
.modal#modal-editor-image
.modal-background
.modal-background
.modal-container
.modal-container
.modal-content.is-expanded
.modal-content.is-expanded
header.is-green
header.is-green
span Insert Image
span Insert Image
p.modal-notify(v-bind:class="{ 'is-active': isLoading }"
)
p.modal-notify(v-bind:class='{ "is-active": isLoading }'
)
span {{ isLoadingText }}
span {{ isLoadingText }}
i
i
.modal-toolbar.is-green
.modal-toolbar.is-green
a.button(v-on:click="newFolder"
)
a.button(v-on:click='newFolder'
)
i.fa.fa-folder
i.fa.fa-folder
span New Folder
span New Folder
a.button#btn-editor-image-upload
a.button#btn-editor-image-upload
i.fa.fa-upload
i.fa.fa-upload
span Upload Image
span Upload Image
label
label
input(type="file"
, multiple)
input(type='file'
, multiple)
a.button(v-on:click="fetchFromUrl"
)
a.button(v-on:click='fetchFromUrl'
)
i.fa.fa-download
i.fa.fa-download
span Fetch from URL
span Fetch from URL
section.is-gapless
section.is-gapless
.columns.is-stretched
.columns.is-stretched
.column.is-one-quarter.modal-sidebar.is-green(style={'max-width':'350px'})
.column.is-one-quarter.modal-sidebar.is-green(style={'max-width':'350px'})
.model-sidebar-header Folders
.model-sidebar-header Folders
ul.model-sidebar-list
ul.model-sidebar-list
li(v-for="fld in folders"
)
li(v-for='fld in folders'
)
a(v-on:click="selectFolder(fld)", v-bind:class="{ 'is-active': currentFolder === fld }"
)
a(v-on:click='selectFolder(fld)', v-bind:class='{ "is-active": currentFolder === fld }'
)
i.icon-folder2
i.icon-folder2
span / {{ fld }}
span / {{ fld }}
.model-sidebar-header Alignment
.model-sidebar-header Alignment
.model-sidebar-content
.model-sidebar-content
p.control.is-fullwidth
p.control.is-fullwidth
select(v-model='currentAlign')
select(v-model='currentAlign')
option(value='left') Left (default)
option(value='left') Left (default)
option(value='center') Centered
option(value='center') Centered
option(value='right') Right
option(value='right') Right
option(value='logo') Page Logo
option(value='logo') Page Logo
.column.editor-modal-image-choices
.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"
)
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'"
)
img(v-bind:src='"/uploads/t/" + img._id + ".png"'
)
span: strong {{ img.basename }}
span: strong {{ img.basename }}
span {{ img.filesize | filesize }}
span {{ img.filesize | filesize }}
em(v-show="images.length < 1"
)
em(v-show='images.length < 1'
)
i.icon-marquee-minus
i.icon-marquee-minus
| This folder is empty.
| This folder is empty.
footer
footer
a.button.is-grey.is-outlined(v-on:click="cancel"
) Discard
a.button.is-grey.is-outlined(v-on:click='cancel'
) Discard
a.button.is-green(v-on:click="insertImage"
) Insert Image
a.button.is-green(v-on:click='insertImage'
) Insert Image
.modal.is-superimposed(v-bind:class="{ 'is-active': newFolderShow }"
)
.modal.is-superimposed(v-bind:class='{ "is-active": newFolderShow }'
)
.modal-background
.modal-background
.modal-container
.modal-container
.modal-content
.modal-content
header.is-light-blue New Folder
header.is-light-blue New Folder
section
section
label.label Enter the new folder name:
label.label Enter the new folder name:
p.control.is-fullwidth
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"
)
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!
span.help.is-danger(v-show='newFolderError'
) This folder name is invalid!
footer
footer
a.button.is-grey.is-outlined(v-on:click="newFolderDiscard"
) Discard
a.button.is-grey.is-outlined(v-on:click='newFolderDiscard'
) Discard
a.button.is-light-blue(v-on:click="newFolderCreate"
) Create
a.button.is-light-blue(v-on:click='newFolderCreate'
) Create
.modal.is-superimposed(v-bind:class="{ 'is-active': fetchFromUrlShow }"
)
.modal.is-superimposed(v-bind:class='{ "is-active": fetchFromUrlShow }'
)
.modal-background
.modal-background
.modal-container
.modal-container
.modal-content
.modal-content
header.is-light-blue Fetch Image from URL
header.is-light-blue Fetch Image from URL
section
section
label.label Enter full URL path to the image:
label.label Enter full URL path to the image:
p.control.is-fullwidth
p.control.is-fullwidth
input.input#txt-editor-image-fetchurl(type='text', placeholder='http://www.example.com/some-image.png', v-model='fetchFromUrlURL')
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!
span.help.is-danger.is-hidden This URL path is invalid!
footer
footer
a.button.is-grey.is-outlined(v-on:click="fetchFromUrlDiscard"
) Discard
a.button.is-grey.is-outlined(v-on:click='fetchFromUrlDiscard'
) Discard
a.button.is-light-blue(v-on:click="fetchFromUrlGo"
) Fetch
a.button.is-light-blue(v-on:click='fetchFromUrlGo'
) Fetch
.modal.is-superimposed(v-bind:class="{ 'is-active': renameImageShow }"
)
.modal.is-superimposed(v-bind:class='{ "is-active": renameImageShow }'
)
.modal-background
.modal-background
.modal-container
.modal-container
.modal-content
.modal-content
header.is-indigo Rename Image
header.is-indigo Rename Image
section
section
label.label Enter the new filename (without the extension) of the image:
label.label Enter the new filename (without the extension) of the image:
p.control.is-fullwidth
p.control.is-fullwidth
input.input#txt-editor-image-rename(type='text', placeholder='filename', v-model='renameImageFilename')
input.input#txt-editor-image-rename(type='text', placeholder='filename', v-model='renameImageFilename')
span.help.is-danger.is-hidden This filename is invalid!
span.help.is-danger.is-hidden This filename is invalid!
footer
footer
a.button.is-grey.is-outlined(v-on:click="renameImageDiscard"
) Discard
a.button.is-grey.is-outlined(v-on:click='renameImageDiscard'
) Discard
a.button.is-light-blue(v-on:click="renameImageGo"
) Rename
a.button.is-light-blue(v-on:click='renameImageGo'
) Rename
.modal.is-superimposed(v-bind:class="{ 'is-active': deleteImageShow }")
.modal.is-superimposed(v-bind:class='{ "is-active": deleteImageShow }')
.modal-background
.modal-background
.modal-container
.modal-container
.modal-content
.modal-content
header.is-red Delete image?
header.is-red Delete image?
section
section
span Are you sure you want to delete #[strong {{deleteImageFilename}}]?
span Are you sure you want to delete #[strong {{deleteImageFilename}}]?
footer
footer
a.button.is-grey.is-outlined(v-on:click="deleteImageWarn(false)") Discard
a.button.is-grey.is-outlined(v-on:click='deleteImageWarn(false)') Discard
a.button.is-red(v-on:click="deleteImageGo") Delete
a.button.is-red(v-on:click='deleteImageGo') Delete
\ No newline at end of file
views/modals/editor-link.pug
View file @
15e4341f
...
@@ -30,4 +30,4 @@
...
@@ -30,4 +30,4 @@
.column
.column
label.label Link
label.label Link
p.control
p.control
input.input(type='text', placeholder='http://')
input.input(type='text', placeholder='http://')
\ No newline at end of file
views/modals/editor-video.pug
View file @
15e4341f
.modal#modal-editor-video
.modal#modal-editor-video
.modal-background
.modal-background
.modal-container
.modal-container
.modal-content
.modal-content
header.is-green Insert Video Player
header.is-green Insert Video Player
section
section
label.label Enter the link to the video to be embedded:
label.label Enter the link to the video to be embedded:
p.control.is-fullwidth
p.control.is-fullwidth
input.input(type='text', placeholder='https://www.youtube.com/watch?v=xxxxxxxxxxx', v-model='link')
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!
span.help.is-red.is-hidden This URL is invalid or not supported!
.note The following are supported:
.note The following are supported:
ul
ul
li
li
i.icon-youtube-play
i.icon-youtube-play
span Youtube
span Youtube
li
li
i.icon-vimeo
i.icon-vimeo
span Vimeo
span Vimeo
li
li
i.icon-film
i.icon-film
span Dailymotion
span Dailymotion
li
li
i.icon-video
i.icon-video
span Any standard MP4 file
span Any standard MP4 file
footer
footer
a.button.is-grey.is-outlined(v-on:click="cancel") Discard
a.button.is-grey.is-outlined(v-on:click='cancel') Discard
a.button.is-green(v-on:click="insertVideo") Insert Video
a.button.is-green(v-on:click='insertVideo') Insert Video
\ No newline at end of file
views/modals/move.pug
View file @
15e4341f
.modal#modal-move-prompt
.modal#modal-move-prompt
.modal-background
.modal-background
.modal-container
.modal-container
.modal-content
.modal-content
header.is-indigo Move document
header.is-indigo Move document
section
section
label.label Enter the new document path:
label.label Enter the new document path:
p.control.is-fullwidth
p.control.is-fullwidth
input.input(type='text', placeholder='page-name')#txt-move-prompt
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.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!
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
footer
a.button.is-grey.is-outlined.btn-move-prompt Discard
a.button.is-grey.is-outlined.btn-move-prompt Discard
a.button.is-indigo.btn-move-go Move
a.button.is-indigo.btn-move-go Move
\ No newline at end of file
views/pages/admin/_layout.pug
View file @
15e4341f
extends ../../layout.pug
extends ../../layout.pug
block rootNavCenter
block rootNavCenter
h2.nav-item Account
h2.nav-item Account
block rootNavRight
block rootNavRight
i.nav-item#notifload
i.nav-item#notifload
.nav-item
.nav-item
a.button.btn-edit-discard(href='/')
a.button.btn-edit-discard(href='/')
i.icon-home
i.icon-home
span Home
span Home
block content
block content
#page-type-account
#page-type-account
.container.is-fluid
.container.is-fluid
.columns.is-gapless
.columns.is-gapless
.column.is-narrow.is-hidden-touch.sidebar
.column.is-narrow.is-hidden-touch.sidebar
aside
aside
.sidebar-label
.sidebar-label
i.icon-th-small
i.icon-th-small
span Navigation
span Navigation
ul.sidebar-menu
ul.sidebar-menu
li
li
a(href='/')
a(href='/')
i.icon-home
i.icon-home
span Home
span Home
aside
aside
.sidebar-label
.sidebar-label
i.icon-head
i.icon-head
span Account
span Account
ul.sidebar-menu
ul.sidebar-menu
li
li
a(href='/admin/profile')
a(href='/admin/profile')
i.icon-user
i.icon-user
span My Profile
span My Profile
li
li
a(href='/admin/stats')
a(href='/admin/stats')
i.icon-bar-graph-2
i.icon-bar-graph-2
span Stats
span Stats
if rights.manage
if rights.manage
li
li
a(href='/admin/users')
a(href='/admin/users')
i.icon-users
i.icon-users
span Users
span Users
li
li
a(href='/admin/settings')
a(href='/admin/settings')
i.icon-cog
i.icon-cog
span Site Settings
span Site Settings
li
li
a(href='/logout')
a(href='/logout')
i.icon-delete2
i.icon-delete2
span Logout
span Logout
.column
.column
block adminContent
block adminContent
\ No newline at end of file
views/pages/admin/profile.pug
View file @
15e4341f
extends ./_layout.pug
extends ./_layout.pug
block adminContent
block adminContent
#page-type-admin-profile
#page-type-admin-profile
.hero
.hero
h1.title#title My Profile
h1.title#title My Profile
h2.subtitle Profile and authentication info
h2.subtitle Profile and authentication info
.form-sections
.form-sections
.columns.is-gapless
.columns.is-gapless
.column.is-two-thirds
.column.is-two-thirds
section
section
label.label Email
label.label Email
p.control.is-fullwidth
p.control.is-fullwidth
input.input(type='text', placeholder='Email', value=user.email, disabled)
input.input(type='text', placeholder='Email', value=user.email, disabled)
if user.provider
== 'local'
if user.provider =
== 'local'
section
section
label.label Password
label.label Password
p.control.is-fullwidth
p.control.is-fullwidth
input.input(type='password', placeholder='Password', value='********', v-model='password')
input.input(type='password', placeholder='Password', value='********', v-model='password')
section
section
label.label Verify Password
label.label Verify Password
p.control.is-fullwidth
p.control.is-fullwidth
input.input(type='password', placeholder='Password', value='********', v-model='passwordVerify')
input.input(type='password', placeholder='Password', value='********', v-model='passwordVerify')
section
section
label.label Display Name
label.label Display Name
p.control.is-fullwidth
p.control.is-fullwidth
input.input(type='text', placeholder='John Smith', v-model='name')
input.input(type='text', placeholder='John Smith', v-model='name')
section
section
button.button.is-green(v-on:click='saveUser')
button.button.is-green(v-on:click='saveUser')
i.icon-check
i.icon-check
span Save Changes
span Save Changes
.column
.column
.panel
.panel
label.label Provider
label.label Provider
p.control.account-profile-provider
p.control.account-profile-provider
case user.provider
case user.provider
when 'local': i.icon-server
when 'local': i.icon-server
when 'windowslive': i.icon-windows2.is-blue
when 'windowslive': i.icon-windows2.is-blue
when 'google': i.icon-google.is-blue
when 'google': i.icon-google.is-blue
when 'facebook': i.icon-facebook.is-purple
when 'facebook': i.icon-facebook.is-purple
default: i.icon-warning
default: i.icon-warning
= t('auth:providers.' + user.provider)
= t('auth:providers.' + user.provider)
label.label Member since
label.label Member since
p.control= userMoment(user.createdAt).format('LL')
p.control= userMoment(user.createdAt).format('LL')
label.label Last Profile Update
label.label Last Profile Update
p.control= userMoment(user.updatedAt).format('LL')
p.control= userMoment(user.updatedAt).format('LL')
script(type='text/javascript').
script(type='text/javascript').
var usrDataName = "!{user.name}";
var usrDataName = "!{user.name}";
\ No newline at end of file
views/pages/admin/settings.pug
View file @
15e4341f
extends ./_layout.pug
extends ./_layout.pug
block adminContent
block adminContent
.hero
.hero
h1.title#title Site Settings
h1.title#title Site Settings
h2.subtitle Manage site configuration
h2.subtitle Manage site configuration
.form-sections
.form-sections
section
section
| Coming soon
| Coming soon
\ No newline at end of file
views/pages/admin/stats.pug
View file @
15e4341f
extends ./_layout.pug
extends ./_layout.pug
block adminContent
block adminContent
.hero
.hero
h1.title#title Stats
h1.title#title Stats
h2.subtitle General site-wide statistics
h2.subtitle General site-wide statistics
.form-sections
.form-sections
section
section
label.label Entries
label.label Entries
p.control= totalEntries
p.control= totalEntries
label.label Uploads
label.label Uploads
p.control= totalUploads
p.control= totalUploads
label.label Users
label.label Users
p.control= totalUsers
p.control= totalUsers
\ No newline at end of file
views/pages/admin/users-edit.pug
View file @
15e4341f
extends ./_layout.pug
extends ./_layout.pug
block rootNavRight
block rootNavRight
i.nav-item#notifload
i.nav-item#notifload
.nav-item
.nav-item
a.button(href='/admin/users')
a.button(href='/admin/users')
i.icon-reply
i.icon-reply
span Return to Users
span Return to Users
block adminContent
block adminContent
#page-type-admin-users-edit
#page-type-admin-users-edit
.hero
.hero
h1.title#title Edit User
h1.title#title Edit User
h2.subtitle= usr.email
h2.subtitle= usr.email
table.table
table.table
thead
thead
tr
tr
th Unique ID
th Unique ID
th Provider
th Provider
th Created On
th Created On
th Updated On
th Updated On
tbody
tbody
tr
tr
td.is-centered= usr._id
td.is-centered= usr._id
td.is-centered.has-icons
td.is-centered.has-icons
case usr.provider
case usr.provider
when 'local'
when 'local'
i.icon-server.is-deep-orange
i.icon-server.is-deep-orange
| Local Database
| Local Database
when 'windowslive'
when 'windowslive'
i.icon-windows2.is-blue
i.icon-windows2.is-blue
| Microsoft Account
| Microsoft Account
when 'google'
when 'google'
i.icon-google.is-blue
i.icon-google.is-blue
| Google ID
| Google ID
when 'facebook'
when 'facebook'
i.icon-facebook.is-purple
i.icon-facebook.is-purple
| Facebook
| Facebook
default: i.icon-warning
default: i.icon-warning
td.is-centered= userMoment(usr.createdAt).format('lll')
td.is-centered= userMoment(usr.createdAt).format('lll')
td.is-centered= userMoment(usr.updatedAt).format('lll')
td.is-centered= userMoment(usr.updatedAt).format('lll')
.form-sections
.form-sections
section
section
label.label Email Address
label.label Email Address
p.control.is-fullwidth
p.control.is-fullwidth
input.input(type='text', placeholder='john.smith@example.com', v-model='email', disabled=!usrOpts.canChangeEmail)
input.input(type='text', placeholder='john.smith@example.com', v-model='email', disabled=!usrOpts.canChangeEmail)
section
section
label.label Display Name
label.label Display Name
p.control.is-fullwidth
p.control.is-fullwidth
input.input(type='text', placeholder='John Smith', v-model='name', disabled=!usrOpts.canChangeName)
input.input(type='text', placeholder='John Smith', v-model='name', disabled=!usrOpts.canChangeName)
if usrOpts.canChangePassword
if usrOpts.canChangePassword
section
section
label.label Password
label.label Password
p.control.is-fullwidth
p.control.is-fullwidth
input.input(type='password', placeholder='Password', v-model='password', value='********')
input.input(type='password', placeholder='Password', v-model='password', value='********')
section
section
label.label Access Rights
label.label Access Rights
table.table
table.table
thead.is-teal
thead.is-teal
tr
tr
th
th
th(style={width: '200px'}) Permission(s)
th(style={width: '200px'}) Permission(s)
th Path
th Path
th(style={width: '150px'}) Access
th(style={width: '150px'}) Access
th(style={width: '50px'})
th(style={width: '50px'})
tbody
tbody
tr(v-for='(right, idx) in rights', v-cloak)
tr(v-for='(right, idx) in rights', v-cloak)
td.is-icon
td.is-icon
i.icon-marquee-plus.is-green(v-if='right.deny === false || right.deny === "false"')
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"')
i.icon-marquee-minus.is-red(v-if='right.deny === true || right.deny === "true"')
td
td
p.control.is-fullwidth
p.control.is-fullwidth
select(v-model='right.role')
select(v-model='right.role')
option(value='write') Read and Write
option(value='write') Read and Write
option(value='read') Read Only
option(value='read') Read Only
td
td
.columns
.columns
.column.is-narrow
.column.is-narrow
p.control
p.control
select(v-model='right.exact')
select(v-model='right.exact')
option(value='false') Path starts with:
option(value='false') Path starts with:
option(value='true') Path match exactly:
option(value='true') Path match exactly:
.column
.column
p.control.is-fullwidth
p.control.is-fullwidth
input.input(type='text', placeholder='/', v-model='right.path')
input.input(type='text', placeholder='/', v-model='right.path')
td
td
p.control.is-fullwidth
p.control.is-fullwidth
select(v-model='right.deny')
select(v-model='right.deny')
option(value='false') Allow
option(value='false') Allow
option(value='true') Deny
option(value='true') Deny
td.is-centered.has-action-icons
td.is-centered.has-action-icons
i.icon-delete.is-red(v-on:click='removeRightsRow(idx)')
i.icon-delete.is-red(v-on:click='removeRightsRow(idx)')
tr(v-if='rights.length < 1', v-cloak)
tr(v-if='rights.length < 1', v-cloak)
td.is-icon
td.is-icon
td.is-centered(colspan='3'): em No additional access rights
td.is-centered(colspan='3'): em No additional access rights
td.is-centered.has-action-icons
td.is-centered.has-action-icons
.table-actions
.table-actions
button.button.is-blue(v-on:click='addRightsRow')
button.button.is-blue(v-on:click='addRightsRow')
i.icon-plus
i.icon-plus
span Add New Row
span Add New Row
section
section
label.label Role Override
label.label Role Override
p.control.is-fullwidth
p.control.is-fullwidth
select(v-model='roleoverride', disabled=!usrOpts.canChangeRole)
select(v-model='roleoverride', disabled=!usrOpts.canChangeRole)
option(value='none') None
option(value='none') None
option(value='admin') Global Administrator
option(value='admin') Global Administrator
.columns.is-gapless
.columns.is-gapless
.column
.column
section
section
button.button.is-green(v-on:click='saveUser')
button.button.is-green(v-on:click='saveUser')
i.icon-check
i.icon-check
span Save Changes
span Save Changes
a.button.button.is-grey.is-outlined(href='/admin/users')
a.button.button.is-grey.is-outlined(href='/admin/users')
i.icon-cancel
i.icon-cancel
span Discard
span Discard
.column.is-narrow
.column.is-narrow
section
section
if usrOpts.canBeDeleted
if usrOpts.canBeDeleted
button.button.is-red.btn-deluser-prompt
button.button.is-red.btn-deluser-prompt
i.icon-trash2
i.icon-trash2
span Delete Account
span Delete Account
include ../../modals/admin-deleteuser.pug
include ../../modals/admin-deleteuser.pug
script(type='text/javascript').
script(type='text/javascript').
var usrData = !{JSON.stringify(usr)};
var usrData = !{JSON.stringify(usr)};
\ No newline at end of file
views/pages/admin/users.pug
View file @
15e4341f
extends ./_layout.pug
extends ./_layout.pug
block rootNavRight
block rootNavRight
i.nav-item#notifload
i.nav-item#notifload
.nav-item
.nav-item
a.button.btn-create-prompt
a.button.btn-create-prompt
i.icon-plus
i.icon-plus
span Create / Authorize User
span Create / Authorize User
block adminContent
block adminContent
#page-type-admin-users
#page-type-admin-users
.hero
.hero
h1.title#title Users
h1.title#title Users
h2.subtitle Manage users and access rights
h2.subtitle Manage users and access rights
table.table
table.table
thead
thead
tr
tr
th
th
th Name
th Name
th Email
th Email
th Provider
th Provider
th Created On
th Created On
th Updated On
th Updated On
tbody
tbody
each usr in usrs
each usr in usrs
tr
tr
td.is-icon
td.is-icon
i.icon-user.is-grey
i.icon-user.is-grey
td
td
a(href='/admin/users/' + usr._id)= usr.name
a(href='/admin/users/' + usr._id)= usr.name
td= usr.email
td= usr.email
td.is-centered.has-icons
td.is-centered.has-icons
case usr.provider
case usr.provider
when 'local'
when 'local'
i.icon-server.is-deep-orange
i.icon-server.is-deep-orange
| Local Database
| Local Database
when 'windowslive'
when 'windowslive'
i.icon-windows2.is-blue
i.icon-windows2.is-blue
| Microsoft Account
| Microsoft Account
when 'google'
when 'google'
i.icon-google.is-blue
i.icon-google.is-blue
| Google ID
| Google ID
when 'facebook'
when 'facebook'
i.icon-facebook.is-purple
i.icon-facebook.is-purple
| Facebook
| Facebook
default: i.icon-warning
default: i.icon-warning
td.is-centered= userMoment(usr.createdAt).format('lll')
td.is-centered= userMoment(usr.createdAt).format('lll')
td.is-centered= userMoment(usr.updatedAt).format('lll')
td.is-centered= userMoment(usr.updatedAt).format('lll')
include ../../modals/admin-createuser.pug
include ../../modals/admin-createuser.pug
views/pages/create.pug
View file @
15e4341f
extends ../layout.pug
extends ../layout.pug
block rootNavCenter
block rootNavCenter
h2.nav-item Create New Document
h2.nav-item Create New Document
block rootNavRight
block rootNavRight
i.nav-item#notifload
i.nav-item#notifload
span.nav-item
span.nav-item
a.button.is-outlined.btn-create-discard
a.button.is-outlined.btn-create-discard
i.icon-cross
i.icon-cross
span Discard
span Discard
a.button.btn-create-save
a.button.btn-create-save
i.icon-check
i.icon-check
span Save Document
span Save Document
block content
block content
#page-type-create(data-entrypath=pageData.meta.path)
#page-type-create(data-entrypath=pageData.meta.path)
.editor-area
.editor-area
textarea#mk-editor= pageData.markdown
textarea#mk-editor= pageData.markdown
include ../modals/create-discard.pug
include ../modals/create-discard.pug
include ../modals/editor-link.pug
include ../modals/editor-link.pug
include ../modals/editor-image.pug
include ../modals/editor-image.pug
include ../modals/editor-file.pug
include ../modals/editor-file.pug
include ../modals/editor-video.pug
include ../modals/editor-video.pug
include ../modals/editor-codeblock.pug
include ../modals/editor-codeblock.pug
\ No newline at end of file
views/pages/edit.pug
View file @
15e4341f
extends ../layout.pug
extends ../layout.pug
block rootNavCenter
block rootNavCenter
h2.nav-item= pageData.meta.title
h2.nav-item= pageData.meta.title
block rootNavRight
block rootNavRight
i.nav-item#notifload
i.nav-item#notifload
span.nav-item
span.nav-item
a.button.is-outlined.btn-edit-discard
a.button.is-outlined.btn-edit-discard
i.icon-cross
i.icon-cross
span Discard
span Discard
a.button.btn-edit-save
a.button.btn-edit-save
i.icon-check
i.icon-check
span Save Changes
span Save Changes
block content
block content
#page-type-edit(data-entrypath=pageData.meta.path)
#page-type-edit(data-entrypath=pageData.meta.path)
.editor-area
.editor-area
textarea#mk-editor= pageData.markdown
textarea#mk-editor= pageData.markdown
include ../modals/edit-discard.pug
include ../modals/edit-discard.pug
include ../modals/editor-link.pug
include ../modals/editor-link.pug
include ../modals/editor-image.pug
include ../modals/editor-image.pug
include ../modals/editor-file.pug
include ../modals/editor-file.pug
include ../modals/editor-video.pug
include ../modals/editor-video.pug
include ../modals/editor-codeblock.pug
include ../modals/editor-codeblock.pug
\ No newline at end of file
views/pages/source.pug
View file @
15e4341f
extends ../layout.pug
extends ../layout.pug
block rootNavCenter
block rootNavCenter
h2.nav-item= pageData.meta.title
h2.nav-item= pageData.meta.title
block rootNavRight
block rootNavRight
i.nav-item#notifload
i.nav-item#notifload
span.nav-item
span.nav-item
if rights.write
if rights.write
a.button.is-outlined.btn-move-prompt.is-hidden
a.button.is-outlined.btn-move-prompt.is-hidden
i.icon-shuffle
i.icon-shuffle
span Move
span Move
a.button.is-outlined(href='/' + pageData.meta.path)
a.button.is-outlined(href='/' + pageData.meta.path)
i.icon-loader
i.icon-loader
span Normal View
span Normal View
if rights.write
if rights.write
a.button.is-orange(href='/edit/' + pageData.meta.path)
a.button.is-orange(href='/edit/' + pageData.meta.path)
i.fa.fa-edit
i.fa.fa-edit
span Edit
span Edit
a.button.is-blue.btn-create-prompt
a.button.is-blue.btn-create-prompt
i.fa.fa-plus
i.fa.fa-plus
span Create
span Create
block content
block content
#page-type-source(data-entrypath=pageData.meta.path)
#page-type-source(data-entrypath=pageData.meta.path)
.ace-container
.ace-container
#source-display= pageData.markdown
#source-display= pageData.markdown
include ../modals/create.pug
include ../modals/create.pug
include ../modals/move.pug
include ../modals/move.pug
views/pages/view.pug
View file @
15e4341f
extends ../layout.pug
extends ../layout.pug
mixin tocMenu(ti)
mixin tocMenu(ti)
each node in ti
each node in ti
li
li
a(href='#' + node.anchor, title=node.content)= node.content
a(href='#' + node.anchor, title=node.content)= node.content
if node.nodes.length > 0
if node.nodes.length > 0
ul
ul
+tocMenu(node.nodes)
+tocMenu(node.nodes)
block rootNavRight
block rootNavRight
i.nav-item#notifload
i.nav-item#notifload
.nav-item
.nav-item
if rights.write
if rights.write
a.button.is-outlined.btn-move-prompt.is-hidden
a.button.is-outlined.btn-move-prompt.is-hidden
i.icon-shuffle
i.icon-shuffle
span Move
span Move
a.button.is-outlined(href='/source/' + pageData.meta.path)
a.button.is-outlined(href='/source/' + pageData.meta.path)
i.icon-loader
i.icon-loader
span Source
span Source
if rights.write
if rights.write
a.button(href='/edit/' + pageData.meta.path)
a.button(href='/edit/' + pageData.meta.path)
i.icon-document-text
i.icon-document-text
span Edit
span Edit
a.button.btn-create-prompt
a.button.btn-create-prompt
i.icon-plus
i.icon-plus
span Create
span Create
block content
block content
#page-type-view(data-entrypath=pageData.meta.path)
#page-type-view(data-entrypath=pageData.meta.path)
.container.is-fluid
.container.is-fluid
.columns.is-gapless
.columns.is-gapless
.column.is-narrow.is-hidden-touch.sidebar
.column.is-narrow.is-hidden-touch.sidebar
aside
aside
.sidebar-label
.sidebar-label
i.icon-th-small
i.icon-th-small
span Navigation
span Navigation
ul.sidebar-menu
ul.sidebar-menu
li
li
a(href='/')
a(href='/')
i.icon-home
i.icon-home
span Home
span Home
if pageData.parent
if pageData.parent
li
li
a(href='/' + pageData.parent.path)
a(href='/' + pageData.parent.path)
i.icon-reply
i.icon-reply
span= pageData.parent.title
span= pageData.parent.title
if !isGuest
if !isGuest
li
li
a(href='/admin')
a(href='/admin')
i.icon-head
i.icon-head
span Account
span Account
else
else
li
li
a(href='/login')
a(href='/login')
i.icon-unlock
i.icon-unlock
span Login
span Login
aside.stickyscroll(data-margin-top=40)
aside.stickyscroll(data-margin-top=40)
.sidebar-label
.sidebar-label
i.icon-th-list
i.icon-th-list
span Contents
span Contents
ul.sidebar-menu
ul.sidebar-menu
li: a(href='#root', title='Start') Start
li: a(href='#root', title='Start') Start
+tocMenu(pageData.tree)
+tocMenu(pageData.tree)
.column
.column
.hero
.hero
h1.title#title= pageData.meta.title
h1.title#title= pageData.meta.title
if pageData.meta.subtitle
if pageData.meta.subtitle
h2.subtitle= pageData.meta.subtitle
h2.subtitle= pageData.meta.subtitle
.content.mkcontent
.content.mkcontent
!= pageData.html
!= pageData.html
include ../modals/create.pug
include ../modals/create.pug
include ../modals/move.pug
include ../modals/move.pug
views/pages/welcome.pug
View file @
15e4341f
...
@@ -3,14 +3,14 @@ extends ../layout.pug
...
@@ -3,14 +3,14 @@ extends ../layout.pug
block rootNavCenter
block rootNavCenter
block rootNavRight
block rootNavRight
i.nav-item#notifload
i.nav-item#notifload
block content
block content
#page-type-welcome
#page-type-welcome
.container
.container
.welcome
.welcome
img(src='/favicons/android-icon-144x144.png',
alt='Wiki.js')
img(src='/favicons/android-icon-144x144.png',
alt='Wiki.js')
h1 Welcome to your Wiki.js!
h1 Welcome to your Wiki.js!
h2 Let's get started and create the home page.
h2 Let's get started and create the home page.
a.button.is-indigo(href='/create/home') Create Home Page
a.button.is-indigo(href='/create/home') Create Home Page
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment