feat: updated icons to Nucleo

pull/166/head
NGPixel 8 years ago committed by Nicolas Giard
parent 1cb1c5acf9
commit 5312f5320a

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 279 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

@ -27,100 +27,102 @@
</template> </template>
<script> <script>
let codeEditor let codeEditor
let ace let ace
export default { export default {
name: 'editor-codeblock', name: 'editor-codeblock',
data () { data() {
return { return {
modes: [], modes: [],
modeSelected: 'text', modeSelected: 'text',
modelistLoaded: [], modelistLoaded: [],
isLoading: false isLoading: false
} }
}, },
computed: { computed: {
content () { content() {
return this.$store.state.editorCodeblock.content return this.$store.state.editorCodeblock.content
},
isShown () {
return this.$store.state.editorCodeblock.shown
}
},
watch: {
modeSelected(val, oldVal) {
this.loadMode(val)
}
}, },
methods: { isShown() {
init () { return this.$store.state.editorCodeblock.shown
let self = this }
self._.delay(() => { },
codeEditor = ace.edit('codeblock-editor') watch: {
codeEditor.setTheme('ace/theme/tomorrow_night') modeSelected(val, oldVal) {
codeEditor.getSession().setMode('ace/mode/' + self.modeSelected) this.loadMode(val)
codeEditor.setOption('fontSize', '14px') }
codeEditor.setOption('hScrollBarAlwaysVisible', false) },
codeEditor.setOption('wrap', true) methods: {
codeEditor.setOption('showPrintMargin', false) init() {
let self = this
self._.delay(() => {
codeEditor = ace.edit('codeblock-editor')
codeEditor.setTheme('ace/theme/tomorrow_night')
codeEditor.getSession().setMode('ace/mode/' + self.modeSelected)
codeEditor.setOption('fontSize', '14px')
codeEditor.setOption('hScrollBarAlwaysVisible', false)
codeEditor.setOption('wrap', true)
codeEditor.setOption('useSoftTabs', true)
codeEditor.setOption('tabSize', 2)
codeEditor.setOption('showPrintMargin', false)
codeEditor.setValue(self.content) codeEditor.setValue(self.content)
codeEditor.focus() codeEditor.focus()
codeEditor.renderer.updateFull() codeEditor.renderer.updateFull()
}, 100) }, 100)
}, },
loadMode (m) { loadMode(m) {
let self = this let self = this
if (self._.includes(self.modelistLoaded, m)) { if (self._.includes(self.modelistLoaded, m)) {
codeEditor.getSession().setMode('ace/mode/' + m) codeEditor.getSession().setMode('ace/mode/' + m)
} else { } else {
self.isLoading = true self.isLoading = true
self.$http.get('/js/ace/mode-' + m + '.js').then(resp => { self.$http.get('/js/ace/mode-' + m + '.js').then(resp => {
if(resp.ok) { if (resp.ok) {
eval(resp.bodyText) eval(resp.bodyText)
self.modelistLoaded.push(m) self.modelistLoaded.push(m)
ace.acequire('ace/mode/' + m) ace.acequire('ace/mode/' + m)
codeEditor.getSession().setMode('ace/mode/' + m) codeEditor.getSession().setMode('ace/mode/' + m)
self._.delay(() => { self.isLoading = false }, 500) self._.delay(() => { self.isLoading = false }, 500)
} else { } else {
this.$store.dispatch('alert', { this.$store.dispatch('alert', {
style: 'red',
icon: 'square-cross',
msg: self.$t('editor.codeblockloadingerror')
})
}
}).catch(err => {
his.$store.dispatch('alert', {
style: 'red', style: 'red',
icon: 'square-cross', icon: 'square-cross',
msg: 'Error: ' + err.body.msg msg: self.$t('editor.codeblockloadingerror')
}) })
}
}).catch(err => {
his.$store.dispatch('alert', {
style: 'red',
icon: 'square-cross',
msg: 'Error: ' + err.body.msg
}) })
}
},
cancel () {
codeEditor.destroy()
this.$store.dispatch('editorCodeblock/close')
},
insertCode () {
let codeBlockText = '\n```' + this.modeSelected + '\n' + codeEditor.getValue() + '\n```\n'
this.$store.dispatch('editor/insert', codeBlockText)
this.$store.dispatch('alert', {
style: 'blue',
icon: 'inbox',
msg: this.$t('editor.codeblocksuccess')
}) })
this.cancel()
} }
}, },
mounted() { cancel() {
FuseBox.import('/js/ace/ace.js', (acePkg) => { codeEditor.destroy()
ace = acePkg this.$store.dispatch('editorCodeblock/close')
this.modes = ace.acequire('ace/ext/modelist').modesByName },
insertCode() {
let codeBlockText = '\n```' + this.modeSelected + '\n' + codeEditor.getValue() + '\n```\n'
this.$store.dispatch('editor/insert', codeBlockText)
this.$store.dispatch('alert', {
style: 'blue',
icon: 'inbox',
msg: this.$t('editor.codeblocksuccess')
}) })
this.$root.$on('editorCodeblock/init', this.init) this.cancel()
} }
},
mounted() {
FuseBox.import('/js/ace/ace.js', (acePkg) => {
ace = acePkg
this.modes = ace.acequire('ace/ext/modelist').modesByName
})
this.$root.$on('editorCodeblock/init', this.init)
} }
}
</script> </script>

@ -13,15 +13,15 @@
i i
.modal-toolbar.is-green .modal-toolbar.is-green
a.button(@click='newFolder') a.button(@click='newFolder')
i.icon-folder2 i.nc-icon-outline.files_folder-14
span {{ $t('editor.newfolder') }} span {{ $t('editor.newfolder') }}
a.button#btn-editor-file-upload a.button#btn-editor-file-upload
i.icon-cloud-upload i.nc-icon-outline.arrows-1_cloud-upload-94
span {{ (mode === 'file') ? $t('editor.fileupload') : $t('editor.imageupload') }} span {{ (mode === 'file') ? $t('editor.fileupload') : $t('editor.imageupload') }}
label label
input(type='file', multiple, :disabled='isLoading', ref='editorFileUploadInput') input(type='file', multiple, :disabled='isLoading', ref='editorFileUploadInput')
a.button(v-if='mode === "image"', @click='fetchFromUrl') a.button(v-if='mode === "image"', @click='fetchFromUrl')
i.icon-cloud-download i.nc-icon-outline.arrows-1_cloud-download-93
span Fetch from URL span Fetch from URL
section.is-gapless section.is-gapless
.columns.is-stretched .columns.is-stretched
@ -30,7 +30,7 @@
ul.model-sidebar-list ul.model-sidebar-list
li(v-for='fld in folders') li(v-for='fld in folders')
a(@click='selectFolder(fld)', :class='{ "is-active": currentFolder === fld }') a(@click='selectFolder(fld)', :class='{ "is-active": currentFolder === fld }')
i.icon-folder2 i.nc-icon-outline.files_folder-17
span / {{ fld }} span / {{ fld }}
.model-sidebar-header(v-if='mode === "image"') Alignment .model-sidebar-header(v-if='mode === "image"') Alignment
.model-sidebar-content(v-if='mode === "image"') .model-sidebar-content(v-if='mode === "image"')

@ -81,37 +81,37 @@ export default {
name: 'heading-1', name: 'heading-1',
action: SimpleMDE.toggleHeading1, action: SimpleMDE.toggleHeading1,
className: 'icon-header fa-header-x fa-header-1', className: 'icon-header fa-header-x fa-header-1',
title: 'Big Heading' title: 'Header (Level 1)'
}, },
{ {
name: 'heading-2', name: 'heading-2',
action: SimpleMDE.toggleHeading2, action: SimpleMDE.toggleHeading2,
className: 'icon-header fa-header-x fa-header-2', className: 'icon-header fa-header-x fa-header-2',
title: 'Medium Heading' title: 'Header (Level 2)'
}, },
{ {
name: 'heading-3', name: 'heading-3',
action: SimpleMDE.toggleHeading3, action: SimpleMDE.toggleHeading3,
className: 'icon-header fa-header-x fa-header-3', className: 'icon-header fa-header-x fa-header-3',
title: 'Small Heading' title: 'Header (Level 3)'
}, },
{ {
name: 'quote', name: 'quote',
action: SimpleMDE.toggleBlockquote, action: SimpleMDE.toggleBlockquote,
className: 'icon-quote-left', className: 'nc-icon-outline text_quote',
title: 'Quote' title: 'Quote'
}, },
'|', '|',
{ {
name: 'unordered-list', name: 'unordered-list',
action: SimpleMDE.toggleUnorderedList, action: SimpleMDE.toggleUnorderedList,
className: 'icon-th-list', className: 'nc-icon-outline text_list-bullet',
title: 'Bullet List' title: 'Bullet List'
}, },
{ {
name: 'ordered-list', name: 'ordered-list',
action: SimpleMDE.toggleOrderedList, action: SimpleMDE.toggleOrderedList,
className: 'icon-list-ol', className: 'nc-icon-outline text_list-numbers',
title: 'Numbered List' title: 'Numbered List'
}, },
'|', '|',
@ -121,7 +121,7 @@ export default {
window.alert('Coming soon!') window.alert('Coming soon!')
// todo // todo
}, },
className: 'icon-link2', className: 'nc-icon-outline ui-2_link-68',
title: 'Insert Link' title: 'Insert Link'
}, },
{ {
@ -129,7 +129,7 @@ export default {
action: (editor) => { action: (editor) => {
self.$store.dispatch('editorFile/open', { mode: 'image' }) self.$store.dispatch('editorFile/open', { mode: 'image' })
}, },
className: 'icon-image', className: 'nc-icon-outline design_image',
title: 'Insert Image' title: 'Insert Image'
}, },
{ {
@ -137,7 +137,7 @@ export default {
action: (editor) => { action: (editor) => {
self.$store.dispatch('editorFile/open', { mode: 'file' }) self.$store.dispatch('editorFile/open', { mode: 'file' })
}, },
className: 'icon-paper', className: 'nc-icon-outline files_zip-54',
title: 'Insert File' title: 'Insert File'
}, },
{ {
@ -145,7 +145,7 @@ export default {
action: (editor) => { action: (editor) => {
self.$store.dispatch('editorVideo/open') self.$store.dispatch('editorVideo/open')
}, },
className: 'icon-video-camera2', className: 'nc-icon-outline media-1_video-64',
title: 'Insert Video Player' title: 'Insert Video Player'
}, },
'|', '|',
@ -165,7 +165,7 @@ export default {
}) })
editor.codemirror.doc.replaceSelections(curSel) editor.codemirror.doc.replaceSelections(curSel)
}, },
className: 'icon-terminal', className: 'nc-icon-outline arrows-4_enlarge-46',
title: 'Inline Code' title: 'Inline Code'
}, },
{ {
@ -175,7 +175,7 @@ export default {
initialContent: (mde.codemirror.doc.somethingSelected()) ? mde.codemirror.doc.getSelection() : '' initialContent: (mde.codemirror.doc.somethingSelected()) ? mde.codemirror.doc.getSelection() : ''
}) })
}, },
className: 'icon-code', className: 'nc-icon-outline design_code',
title: 'Code Block' title: 'Code Block'
}, },
'|', '|',
@ -185,13 +185,13 @@ export default {
window.alert('Coming soon!') window.alert('Coming soon!')
// todo // todo
}, },
className: 'icon-table', className: 'nc-icon-outline ui-2_grid-square',
title: 'Insert Table' title: 'Insert Table'
}, },
{ {
name: 'horizontal-rule', name: 'horizontal-rule',
action: SimpleMDE.drawHorizontalRule, action: SimpleMDE.drawHorizontalRule,
className: 'icon-minus2', className: 'nc-icon-outline design_distribute-vertical',
title: 'Horizontal Rule' title: 'Horizontal Rule'
} }
], ],

@ -27,6 +27,7 @@ $primary: 'indigo';
@import 'components/table'; @import 'components/table';
@import 'components/typography'; @import 'components/typography';
@import 'libs/nucleo-icons';
@import 'libs/twemoji-awesome'; @import 'libs/twemoji-awesome';
@import 'libs/jquery-contextmenu'; @import 'libs/jquery-contextmenu';
@import 'node_modules/highlight.js/styles/atom-one-dark'; @import 'node_modules/highlight.js/styles/atom-one-dark';

File diff suppressed because it is too large Load Diff

@ -140,3 +140,23 @@
@content; @content;
} }
} }
// Nucleo Icons
@mixin nc-rotate($degrees, $rotation) {
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation});
-webkit-transform: rotate($degrees);
-moz-transform: rotate($degrees);
-ms-transform: rotate($degrees);
-o-transform: rotate($degrees);
transform: rotate($degrees);
}
@mixin nc-flip($horiz, $vert, $rotation) {
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation});
-webkit-transform: scale($horiz, $vert);
-moz-transform: scale($horiz, $vert);
-ms-transform: scale($horiz, $vert);
-o-transform: scale($horiz, $vert);
transform: scale($horiz, $vert);
}

File diff suppressed because it is too large Load Diff

@ -81,7 +81,7 @@ let globalTasks = require('./.build/_tasks')
globalTasks.then(() => { globalTasks.then(() => {
let fuse = fsbx.FuseBox.init({ let fuse = fsbx.FuseBox.init({
homeDir: './client', homeDir: './client',
output: './assets/js/$name.min.js', output: './assets/js/$name.js',
alias: ALIASES, alias: ALIASES,
shim: SHIMS, shim: SHIMS,
plugins: [ plugins: [
@ -90,10 +90,25 @@ globalTasks.then(() => {
['.scss', fsbx.SassPlugin({ outputStyle: (dev) ? 'nested' : 'compressed' }), fsbx.CSSPlugin()], ['.scss', fsbx.SassPlugin({ outputStyle: (dev) ? 'nested' : 'compressed' }), fsbx.CSSPlugin()],
fsbx.BabelPlugin({ comments: false, presets: ['es2015'] }), fsbx.BabelPlugin({ comments: false, presets: ['es2015'] }),
fsbx.JSONPlugin(), fsbx.JSONPlugin(),
!dev && fsbx.UglifyESPlugin({ /* !dev && fsbx.QuantumPlugin({
compress: { unused: false }, target: 'browser',
output: { 'max_line_len': 1000000 } uglify: true,
}) api: (core) => {
core.solveComputed('default/js/components/editor-codeblock.vue', {
mapping: '/js/ace/ace.js',
fn: (statement, core) => {
statement.setExpression(`'/js/ace/ace.js'`)
}
})
core.solveComputed('default/js/components/editor.component.js', {
mapping: '/js/simplemde/simplemde.min.js',
fn: (statement, core) => {
statement.setExpression(`'/js/simplemde/simplemde.min.js'`)
}
})
}
}) */
!dev && fsbx.UglifyESPlugin()
], ],
debug: false, debug: false,
log: true log: true
@ -101,6 +116,7 @@ globalTasks.then(() => {
const bundleVendor = fuse.bundle('vendor').instructions('~ index.js') // eslint-disable-line no-unused-vars const bundleVendor = fuse.bundle('vendor').instructions('~ index.js') // eslint-disable-line no-unused-vars
const bundleApp = fuse.bundle('app').instructions('!> [index.js]') const bundleApp = fuse.bundle('app').instructions('!> [index.js]')
// const bundleApp = fuse.bundle('app').instructions('> index.js')
const bundleSetup = fuse.bundle('configure').instructions('> configure.js') const bundleSetup = fuse.bundle('configure').instructions('> configure.js')
switch (mode) { switch (mode) {

@ -158,6 +158,7 @@
"twemoji-awesome": "^1.0.6", "twemoji-awesome": "^1.0.6",
"typescript": "^2.3.4", "typescript": "^2.3.4",
"uglify-es": "^3.0.15", "uglify-es": "^3.0.15",
"uglify-js": "^3.0.15",
"vee-validate": "^2.0.0-rc.5", "vee-validate": "^2.0.0-rc.5",
"vue": "^2.3.4", "vue": "^2.3.4",
"vue-clipboards": "^1.0.2", "vue-clipboards": "^1.0.2",

@ -37,7 +37,7 @@ var mkdown = md({
.use(mdAnchor, { .use(mdAnchor, {
slugify: _.kebabCase, slugify: _.kebabCase,
permalink: true, permalink: true,
permalinkClass: 'toc-anchor icon-anchor', permalinkClass: 'toc-anchor nc-icon-outline location_bookmark-add',
permalinkSymbol: '', permalinkSymbol: '',
permalinkBefore: true permalinkBefore: true
}) })

@ -18,8 +18,8 @@ html(data-logic='login')
link(rel='manifest', href='/manifest.json') link(rel='manifest', href='/manifest.json')
// JS / CSS // JS / CSS
script(type='text/javascript', src='/js/vendor.min.js') script(type='text/javascript', src=appconfig.host + '/js/vendor.js')
script(type='text/javascript', src='/js/app.min.js') script(type='text/javascript', src=appconfig.host + '/js/app.js')
body body
#bg #bg

@ -5,7 +5,7 @@
block rootNavLeft block rootNavLeft
a.nav-item(href='/') a.nav-item(href='/')
h1 h1
i.icon-layers i.nc-icon-outline.ui-2_layers
= appconfig.title = appconfig.title
.nav-center .nav-center
block rootNavCenter block rootNavCenter

@ -6,25 +6,25 @@ html(data-logic='error')
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=appconfig.host + '/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=appconfig.host + '/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=appconfig.host + '/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=appconfig.host + '/favicons/favicon-' + favsize + 'x' + favsize + '.png')
link(rel='manifest', href='/manifest.json') link(rel='manifest', href=appconfig.host + '/manifest.json')
// JS / CSS // JS / CSS
script(type='text/javascript', src='/js/vendor.min.js') script(type='text/javascript', src=appconfig.host + '/js/vendor.js')
script(type='text/javascript', src='/js/app.min.js') script(type='text/javascript', src=appconfig.host + '/js/app.js')
body(class='is-forbidden') body(class='is-forbidden')
.container .container
a(href='/'): img(src='/images/logo.png') a(href='/'): img(src=appconfig.host + '/images/logo.png')
h1= t('errors:forbidden') h1= t('errors:forbidden')
h2= t('errors:forbiddendetail') h2= t('errors:forbiddendetail')
a.button.is-amber.is-inverted(href='/')= t('errors:actions.gohome') a.button.is-amber.is-inverted(href=appconfig.host + '/')= t('errors:actions.gohome')
a.button.is-amber.is-inverted(href='/login')= t('errors:actions.loginas') a.button.is-amber.is-inverted(href=appconfig.host + '/login')= t('errors:actions.loginas')

@ -6,25 +6,25 @@ html(data-logic='error')
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=appconfig.host + '/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=appconfig.host + '/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=appconfig.host + '/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=appconfig.host + '/favicons/favicon-' + favsize + 'x' + favsize + '.png')
link(rel='manifest', href='/manifest.json') link(rel='manifest', href=appconfig.host + '/manifest.json')
// JS / CSS // JS / CSS
script(type='text/javascript', src='/js/vendor.min.js') script(type='text/javascript', src=appconfig.host + '/js/vendor.js')
script(type='text/javascript', src='/js/app.min.js') script(type='text/javascript', src=appconfig.host + '/js/app.js')
body(class='is-notexist') body(class='is-notexist')
.container .container
a(href='/'): img(src='/images/logo.png') a(href='/'): img(src=appconfig.host + '/images/logo.png')
h1 !{message} h1 !{message}
h2= t('errors:notexistdetail') h2= t('errors:notexistdetail')
a.button.is-amber.is-inverted.is-featured(href='/create/' + newpath)= t('errors:actions.create') a.button.is-amber.is-inverted.is-featured(href=appconfig.host + '/create/' + newpath)= t('errors:actions.create')
a.button.is-amber.is-inverted(href='/')= t('errors:actions.gohome') a.button.is-amber.is-inverted(href=appconfig.host + '/')= t('errors:actions.gohome')

@ -6,27 +6,27 @@ html(data-logic='error')
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=appconfig.host + '/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=appconfig.host + '/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=appconfig.host + '/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=appconfig.host + '/favicons/favicon-' + favsize + 'x' + favsize + '.png')
link(rel='manifest', href='/manifest.json') link(rel='manifest', href=appconfig.host + '/manifest.json')
// JS / CSS // JS / CSS
script(type='text/javascript', src='/js/vendor.min.js') script(type='text/javascript', src=appconfig.host + '/js/vendor.js')
script(type='text/javascript', src='/js/app.min.js') script(type='text/javascript', src=appconfig.host + '/js/app.js')
body(class='is-error') body(class='is-error')
.container .container
a(href='/'): img(src='/images/logo.png') a(href='/'): img(src=appconfig.host + '/images/logo.png')
h1= message h1= message
h2= t('errors:generic') h2= t('errors:generic')
a.button.is-amber.is-inverted.is-featured(href='/')= t('errors:actions.gohome') a.button.is-amber.is-inverted.is-featured(href=appconfig.host + '/')= t('errors:actions.gohome')
if error.stack if error.stack
h3= t('errors:debugmsg') h3= t('errors:debugmsg')

@ -6,16 +6,16 @@ html
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=appconfig.host + '/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=appconfig.host + '/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=appconfig.host + '/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=appconfig.host + '/favicons/favicon-' + favsize + 'x' + favsize + '.png')
link(rel='manifest', href='/manifest.json') link(rel='manifest', href=appconfig.host + '/manifest.json')
//- Site Lang //- Site Lang
script. script.
@ -23,8 +23,8 @@ html
var siteRoot = '!{appconfig.host}'; var siteRoot = '!{appconfig.host}';
//- JS / CSS //- JS / CSS
script(type='text/javascript', src='/js/vendor.min.js') script(type='text/javascript', src=appconfig.host + '/js/vendor.js')
script(type='text/javascript', src='/js/app.min.js') script(type='text/javascript', src=appconfig.host + '/js/app.js')
block head block head

@ -7,7 +7,7 @@ block rootNavRight
loading-spinner loading-spinner
.nav-item .nav-item
a.button.btn-edit-discard(href='/') a.button.btn-edit-discard(href='/')
i.icon-home i.nc-icon-outline.ui-1_home-minimal
span= t('nav.root') span= t('nav.root')
block content block content
@ -24,7 +24,7 @@ block content
ul.sidebar-menu ul.sidebar-menu
li li
a(href='/') a(href='/')
i.icon-home i.nc-icon-outline.ui-1_home-minimal
span= t('nav.root') span= t('nav.root')
aside aside
@ -33,20 +33,20 @@ block content
ul.sidebar-menu ul.sidebar-menu
li li
a(href='/admin/profile') a(href='/admin/profile')
i.icon-user i.nc-icon-outline.users_circle-10
span= t('nav.myprofile') span= t('nav.myprofile')
li li
a(href='/admin/stats') a(href='/admin/stats')
i.icon-bar-graph-2 i.nc-icon-outline.ui-3_chart-bars
span= t('nav.stats') span= t('nav.stats')
if rights.manage if rights.manage
li li
a(href='/admin/users') a(href='/admin/users')
i.icon-users i.nc-icon-outline.users_multiple-19
span= t('nav.users') span= t('nav.users')
li li
a(href='/admin/settings') a(href='/admin/settings')
i.icon-cog i.nc-icon-outline.ui-1_settings-gear-63
span= t('nav.syssettings') span= t('nav.syssettings')
//-li //-li
a(href='/admin/theme') a(href='/admin/theme')
@ -54,7 +54,7 @@ block content
span= t('nav.theme') span= t('nav.theme')
li li
a(href='/logout') a(href='/logout')
i.icon-delete2 i.nc-icon-outline.arrows-1_log-out
span= t('nav.logout') span= t('nav.logout')
.column .column

@ -29,21 +29,21 @@ block adminContent
section section
label.label #{t('admin:profile.tfa')}: #[strong.is-red(v-cloak) {{ tfaStatus }}] label.label #{t('admin:profile.tfa')}: #[strong.is-red(v-cloak) {{ tfaStatus }}]
button.button.is-blue(@click='$store.dispatch("modalProfile2fa/open")', :disabled='tfaIsActive') button.button.is-blue(@click='$store.dispatch("modalProfile2fa/open")', :disabled='tfaIsActive')
i.icon-circle-plus i.nc-icon-outline.ui-1_circle-add
span= t('admin:profile.tfaenable') span= t('admin:profile.tfaenable')
button.button.is-blue(@click='saveUser', :disabled='!tfaIsActive') button.button.is-blue(@click='saveUser', :disabled='!tfaIsActive')
i.icon-circle-minus i.nc-icon-outline.ui-1_circle-delete
span= t('admin:profile.tfadisable') span= t('admin:profile.tfadisable')
section section
button.button.is-green(@click='saveUser') button.button.is-green(@click='saveUser')
i.icon-check i.nc-icon-outline.ui-1_check
span= t('admin:profile.savechanges') span= t('admin:profile.savechanges')
.column .column
.panel-aside .panel-aside
label.label= t('admin:profile.provider') label.label= t('admin:profile.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.nc-icon-outline.ui-1_database
when 'windowslive': i.icon-windows2.is-blue when 'windowslive': i.icon-windows2.is-blue
when 'azure': i.icon-windows2.is-blue when 'azure': i.icon-windows2.is-blue
when 'google': i.icon-google.is-blue when 'google': i.icon-google.is-blue

@ -4,7 +4,7 @@ block rootNavRight
loading-spinner loading-spinner
.nav-item .nav-item
a.button(href='/admin/users') a.button(href='/admin/users')
i.icon-reply i.nc-icon-outline.arrows-2_corner-left-round
span= t('admin:users.returntousers') span= t('admin:users.returntousers')
block adminContent block adminContent
@ -25,7 +25,7 @@ block adminContent
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': i.icon-server when 'local': i.nc-icon-outline.ui-1_database
when 'windowslive': i.icon-windows2.is-blue when 'windowslive': i.icon-windows2.is-blue
when 'azure': i.icon-windows2.is-blue when 'azure': i.icon-windows2.is-blue
when 'google': i.icon-google.is-blue when 'google': i.icon-google.is-blue
@ -64,8 +64,8 @@ block adminContent
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.nc-icon-outline.ui-2_square-add-08.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.nc-icon-outline.ui-2_square-delete-10.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')
@ -94,7 +94,7 @@ block adminContent
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.nc-icon-outline.ui-1_simple-add
span Add New Row span Add New Row
section section
label.label Role Override label.label Role Override
@ -106,16 +106,16 @@ block adminContent
.column .column
section section
button.button.is-green(v-on:click='saveUser') button.button.is-green(v-on:click='saveUser')
i.icon-check i.nc-icon-outline.ui-1_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.nc-icon-outline.ui-1_simple-remove
span Discard span Discard
.column.is-narrow .column.is-narrow
section section
if usrOpts.canBeDeleted if usrOpts.canBeDeleted
button.button.is-red(v-on:click='$store.dispatch("modalDeleteUser/open")') button.button.is-red(v-on:click='$store.dispatch("modalDeleteUser/open")')
i.icon-trash2 i.nc-icon-outline.ui-1_trash
span Delete Account span Delete Account
modal-delete-user(current-user=usr._id) modal-delete-user(current-user=usr._id)

@ -4,7 +4,7 @@ block rootNavRight
loading-spinner loading-spinner
.nav-item .nav-item
a.button(v-on:click='$store.dispatch("modalCreateUser/open")') a.button(v-on:click='$store.dispatch("modalCreateUser/open")')
i.icon-plus i.nc-icon-outline.ui-1_simple-add
span= t('admin:users.createauthorize') span= t('admin:users.createauthorize')
block adminContent block adminContent
@ -24,13 +24,13 @@ block adminContent
each usr in usrs each usr in usrs
tr tr
td.is-icon td.is-icon
i.icon-user.is-grey i.nc-icon-outline.users_single-05.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': i.icon-server when 'local': i.nc-icon-outline.ui-1_database
when 'windowslive': i.icon-windows2.is-blue when 'windowslive': i.icon-windows2.is-blue
when 'azure': i.icon-windows2.is-blue when 'azure': i.icon-windows2.is-blue
when 'google': i.icon-google.is-blue when 'google': i.icon-google.is-blue

@ -9,16 +9,16 @@ block content
ul.sidebar-menu ul.sidebar-menu
li li
a(href='/') a(href='/')
i.icon-home i.nc-icon-outline.ui-1_home-minimal
span= t('nav.root') span= t('nav.root')
if !isGuest if !isGuest
li li
a(href='/admin') a(href='/admin')
i.icon-cog i.nc-icon-outline.ui-1_settings-gear-63
span= t('nav.account') span= t('nav.account')
else else
li li
a(href='/login') a(href='/login')
i.icon-unlock i.nc-icon-outline.arrows-1_log-in
span= t('nav.login') span= t('nav.login')
tree tree

@ -7,10 +7,10 @@ block rootNavRight
loading-spinner loading-spinner
span.nav-item span.nav-item
a.button.is-outlined(v-on:click='$store.dispatch("modalDiscardPage/open")') a.button.is-outlined(v-on:click='$store.dispatch("modalDiscardPage/open")')
i.icon-cross i.nc-icon-outline.ui-1_simple-remove
span= t('nav.discard') span= t('nav.discard')
a.button(v-on:click='$root.$emit("editor/save")') a.button(v-on:click='$root.$emit("editor/save")')
i.icon-check i.nc-icon-outline.ui-1_check
span= t('nav.savedocument') span= t('nav.savedocument')
block content block content

@ -7,10 +7,10 @@ block rootNavRight
loading-spinner loading-spinner
span.nav-item span.nav-item
a.button.is-outlined(v-on:click='$store.dispatch("modalDiscardPage/open")') a.button.is-outlined(v-on:click='$store.dispatch("modalDiscardPage/open")')
i.icon-cross i.nc-icon-outline.ui-1_simple-remove
span= t('nav.discard') span= t('nav.discard')
a.button(v-on:click='$root.$emit("editor/save")') a.button(v-on:click='$root.$emit("editor/save")')
i.icon-check i.nc-icon-outline.ui-1_check
span= t('nav.savechanges') span= t('nav.savechanges')
block content block content

@ -8,17 +8,17 @@ block rootNavRight
span.nav-item span.nav-item
if rights.write && pageData.meta.path !== 'home' if rights.write && pageData.meta.path !== 'home'
a.button.is-outlined(v-on:click='$store.dispatch("modalMovePage/open")') a.button.is-outlined(v-on:click='$store.dispatch("modalMovePage/open")')
i.icon-shuffle i.nc-icon-outline.arrows-1_shuffle-98
span= t('nav.move') span= t('nav.move')
a.button.is-outlined(href='/' + pageData.meta.path) a.button.is-outlined(href='/' + pageData.meta.path)
i.icon-loader i.nc-icon-outline.ui-2_book
span= t('nav.normalview') span= t('nav.normalview')
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.icon-document-text i.nc-icon-outline.ui-1_edit-76
span= t('nav.edit') span= t('nav.edit')
a.button(v-on:click='$store.dispatch("modalCreatePage/open")') a.button(v-on:click='$store.dispatch("modalCreatePage/open")')
i.icon-plus i.nc-icon-outline.ui-1_simple-add
span= t('nav.create') span= t('nav.create')
block content block content

@ -13,20 +13,20 @@ block rootNavRight
.nav-item .nav-item
if rights.write && pageData.meta.path !== 'home' if rights.write && pageData.meta.path !== 'home'
a.button.is-outlined(v-on:click='$store.dispatch("modalMovePage/open")') a.button.is-outlined(v-on:click='$store.dispatch("modalMovePage/open")')
i.icon-shuffle i.nc-icon-outline.arrows-1_shuffle-98
span= t('nav.move') span= t('nav.move')
a.button.is-outlined(href='/source/' + pageData.meta.path) a.button.is-outlined(href='/source/' + pageData.meta.path)
i.icon-loader i.nc-icon-outline.education_paper
span= t('nav.source') span= t('nav.source')
//- a.button.is-outlined(href='/hist/' + pageData.meta.path) //- a.button.is-outlined(href='/hist/' + pageData.meta.path)
i.icon-clock i.icon-clock
span= t('nav.history') span= t('nav.history')
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.nc-icon-outline.ui-1_edit-76
span= t('nav.edit') span= t('nav.edit')
a.button(v-on:click='$store.dispatch("modalCreatePage/open")') a.button(v-on:click='$store.dispatch("modalCreatePage/open")')
i.icon-plus i.nc-icon-outline.ui-1_simple-add
span= t('nav.create') span= t('nav.create')
block content block content
@ -43,11 +43,11 @@ block content
ul.sidebar-menu ul.sidebar-menu
li li
a(href='/') a(href='/')
i.icon-home i.nc-icon-outline.ui-1_home-minimal
span= t('nav.root') span= t('nav.root')
li li
a(href='/all') a(href='/all')
i.icon-paper i.nc-icon-outline.business_hierarchy-55
span= t('nav.allpages') span= t('nav.allpages')
if pageData.parent if pageData.parent
li li
@ -57,12 +57,12 @@ block content
if !isGuest if !isGuest
li li
a(href='/admin') a(href='/admin')
i.icon-cog i.nc-icon-outline.ui-1_settings-gear-63
span= t('nav.settings') span= t('nav.settings')
else else
li li
a(href='/login') a(href='/login')
i.icon-unlock i.nc-icon-outline.arrows-1_log-in
span= t('nav.login') span= t('nav.login')
aside.sidebar-pagecontents aside.sidebar-pagecontents
.sidebar-label .sidebar-label

@ -6951,6 +6951,13 @@ uglify-js@2.7.5, uglify-js@^2.6, uglify-js@^2.6.1:
uglify-to-browserify "~1.0.0" uglify-to-browserify "~1.0.0"
yargs "~3.10.0" yargs "~3.10.0"
uglify-js@^3.0.15:
version "3.0.15"
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.0.15.tgz#aacb323a846b234602270dead8a32441a8806f42"
dependencies:
commander "~2.9.0"
source-map "~0.5.1"
uglify-to-browserify@~1.0.0: uglify-to-browserify@~1.0.0:
version "1.0.2" version "1.0.2"
resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"

Loading…
Cancel
Save