feat: alternate navigation icon set
This commit is contained in:
parent
b6f1e1805e
commit
4eda8d6635
@ -78,7 +78,15 @@
|
|||||||
v-model='current.icon'
|
v-model='current.icon'
|
||||||
hide-details
|
hide-details
|
||||||
)
|
)
|
||||||
.caption.pt-2.pl-5 Refer to the #[a(href='https://material.io/tools/icons/?style=baseline', target='_blank') Material Design Icons Reference] for the list of all possible values.
|
.caption.pt-3.pl-5 The default icon set is #[strong Material Icons]. In order to use another icon set, you must first select it in the Theme administration section.
|
||||||
|
.caption.pt-3.pl-5 #[strong Material Icons] #[em (default)]
|
||||||
|
.caption.pl-5 Refer to the #[a(href='https://material.io/tools/icons/?style=baseline', target='_blank') Material Icons Reference] for the list of all possible values.
|
||||||
|
.caption.pt-3.pl-5: strong Material Design Icons
|
||||||
|
.caption.pl-5 Refer to the #[a(href='https://cdn.materialdesignicons.com/3.7.95/', target='_blank') Material Design Icons Reference] for the list of all possible values. You must prefix all values with #[code mdi-], e.g. #[code mdi-home]
|
||||||
|
.caption.pt-3.pl-5: strong Font Awesome 5
|
||||||
|
.caption.pl-5 Refer to the #[a(href='https://fontawesome.com/icons?d=gallery&m=free', target='_blank') Font Awesome 5 Reference] for the list of all possible values. You must prefix all values with #[code fas fa-], e.g. #[code fas fa-home]
|
||||||
|
.caption.pt-3.pl-5: strong Font Awesome 4
|
||||||
|
.caption.pl-5 Refer to the #[a(href='https://fontawesome.com/v4.7.0/icons/', target='_blank') Font Awesome 4 Reference] for the list of all possible values. You must prefix all values with #[code fa fa-], e.g. #[code fa fa-home]
|
||||||
v-select.mt-4(
|
v-select.mt-4(
|
||||||
outline
|
outline
|
||||||
:label='$t("navigation.targetType")'
|
:label='$t("navigation.targetType")'
|
||||||
@ -96,7 +104,8 @@
|
|||||||
v-btn(
|
v-btn(
|
||||||
v-else-if='current.targetType === "page"'
|
v-else-if='current.targetType === "page"'
|
||||||
color='indigo'
|
color='indigo'
|
||||||
dark
|
:dark='false'
|
||||||
|
disabled
|
||||||
@click='selectPage'
|
@click='selectPage'
|
||||||
)
|
)
|
||||||
v-icon(left) search
|
v-icon(left) search
|
||||||
@ -161,9 +170,10 @@ export default {
|
|||||||
computed: {
|
computed: {
|
||||||
navTypes() {
|
navTypes() {
|
||||||
return [
|
return [
|
||||||
{ text: this.$t('navigation.navType.external'), value: 'external' },
|
// { text: this.$t('navigation.navType.external'), value: 'external' },
|
||||||
{ text: this.$t('navigation.navType.home'), value: 'home' },
|
{ text: this.$t('navigation.navType.home'), value: 'home' },
|
||||||
{ text: this.$t('navigation.navType.page'), value: 'page' }
|
{ text: 'Internal Path / External Link', value: 'external' },
|
||||||
|
// { text: this.$t('navigation.navType.page'), value: 'page' }
|
||||||
// { text: this.$t('navigation.navType.searchQuery'), value: 'search' }
|
// { text: this.$t('navigation.navType.searchQuery'), value: 'search' }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -35,6 +35,16 @@
|
|||||||
v-list-tile-content
|
v-list-tile-content
|
||||||
v-list-tile-title(v-html='data.item.text')
|
v-list-tile-title(v-html='data.item.text')
|
||||||
v-list-tile-sub-title(v-html='data.item.author')
|
v-list-tile-sub-title(v-html='data.item.author')
|
||||||
|
v-select.mt-3(
|
||||||
|
:items='iconsets'
|
||||||
|
outline
|
||||||
|
background-color='grey lighten-2'
|
||||||
|
prepend-icon='pets'
|
||||||
|
v-model='config.iconset'
|
||||||
|
:label='$t(`admin:theme.iconset`)'
|
||||||
|
persistent-hint
|
||||||
|
:hint='$t(`admin:theme.iconsetHint`)'
|
||||||
|
)
|
||||||
v-divider.mt-3
|
v-divider.mt-3
|
||||||
v-switch(
|
v-switch(
|
||||||
v-model='darkMode'
|
v-model='darkMode'
|
||||||
@ -43,6 +53,7 @@
|
|||||||
persistent-hint
|
persistent-hint
|
||||||
:hint='$t(`admin:theme.darkModeHint`)'
|
:hint='$t(`admin:theme.darkModeHint`)'
|
||||||
)
|
)
|
||||||
|
|
||||||
v-card.wiki-form.mt-3.animated.fadeInUp.wait-p2s
|
v-card.wiki-form.mt-3.animated.fadeInUp.wait-p2s
|
||||||
v-toolbar(color='primary', dark, dense, flat)
|
v-toolbar(color='primary', dark, dense, flat)
|
||||||
v-toolbar-title
|
v-toolbar-title
|
||||||
@ -102,9 +113,16 @@ export default {
|
|||||||
themes: [
|
themes: [
|
||||||
{ text: 'Default', author: 'requarks.io', value: 'default' }
|
{ text: 'Default', author: 'requarks.io', value: 'default' }
|
||||||
],
|
],
|
||||||
|
iconsets: [
|
||||||
|
{ text: 'Material Icons (default)', value: 'md' },
|
||||||
|
{ text: 'Material Design Icons', value: 'mdi' },
|
||||||
|
{ text: 'Font Awesome 5', value: 'fa' },
|
||||||
|
{ text: 'Font Awesome 4', value: 'fa4' },
|
||||||
|
],
|
||||||
config: {
|
config: {
|
||||||
theme: 'default',
|
theme: 'default',
|
||||||
darkMode: false,
|
darkMode: false,
|
||||||
|
iconset: '',
|
||||||
injectCSS: '',
|
injectCSS: '',
|
||||||
injectHead: '',
|
injectHead: '',
|
||||||
injectBody: ''
|
injectBody: ''
|
||||||
@ -130,6 +148,7 @@ export default {
|
|||||||
mutation: themeSaveMutation,
|
mutation: themeSaveMutation,
|
||||||
variables: {
|
variables: {
|
||||||
theme: this.config.theme,
|
theme: this.config.theme,
|
||||||
|
iconset: this.config.iconset,
|
||||||
darkMode: this.darkMode,
|
darkMode: this.darkMode,
|
||||||
injectCSS: this.config.injectCSS,
|
injectCSS: this.config.injectCSS,
|
||||||
injectHead: this.config.injectHead,
|
injectHead: this.config.injectHead,
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
mutation($theme: String!, $darkMode: Boolean!, $injectCSS: String, $injectHead: String, $injectBody: String) {
|
mutation($theme: String!, $iconset: String!, $darkMode: Boolean!, $injectCSS: String, $injectHead: String, $injectBody: String) {
|
||||||
theming {
|
theming {
|
||||||
setConfig(theme: $theme, darkMode: $darkMode, injectCSS: $injectCSS, injectHead: $injectHead, injectBody: $injectBody) {
|
setConfig(theme: $theme, iconset: $iconset, darkMode: $darkMode, injectCSS: $injectCSS, injectHead: $injectHead, injectBody: $injectBody) {
|
||||||
responseResult {
|
responseResult {
|
||||||
succeeded
|
succeeded
|
||||||
errorCode
|
errorCode
|
||||||
|
@ -2,6 +2,7 @@ query {
|
|||||||
theming {
|
theming {
|
||||||
config {
|
config {
|
||||||
theme
|
theme
|
||||||
|
iconset
|
||||||
darkMode
|
darkMode
|
||||||
injectCSS
|
injectCSS
|
||||||
injectHead
|
injectHead
|
||||||
|
@ -27,6 +27,26 @@ html
|
|||||||
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')
|
||||||
|
|
||||||
|
//- Icon Set
|
||||||
|
if config.theming.iconset === 'mdi'
|
||||||
|
link(
|
||||||
|
type='text/css'
|
||||||
|
rel='stylesheet'
|
||||||
|
href='https://cdn.materialdesignicons.com/3.7.95/css/materialdesignicons.min.css'
|
||||||
|
)
|
||||||
|
else if config.theming.iconset === 'fa'
|
||||||
|
link(
|
||||||
|
type='text/css'
|
||||||
|
rel='stylesheet'
|
||||||
|
href='https://use.fontawesome.com/releases/v5.0.13/css/all.css'
|
||||||
|
)
|
||||||
|
else if config.theming.iconset === 'fa4'
|
||||||
|
link(
|
||||||
|
type='text/css'
|
||||||
|
rel='stylesheet'
|
||||||
|
href='https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css'
|
||||||
|
)
|
||||||
|
|
||||||
//- CSS
|
//- CSS
|
||||||
<% for (var index in htmlWebpackPlugin.files.css) { %>
|
<% for (var index in htmlWebpackPlugin.files.css) { %>
|
||||||
<% if (htmlWebpackPlugin.files.cssIntegrity) { %>
|
<% if (htmlWebpackPlugin.files.cssIntegrity) { %>
|
||||||
|
@ -31,6 +31,26 @@ html
|
|||||||
script.
|
script.
|
||||||
var siteConfig = !{JSON.stringify(siteConfig)}; var siteLangs = !{JSON.stringify(langs)}
|
var siteConfig = !{JSON.stringify(siteConfig)}; var siteLangs = !{JSON.stringify(langs)}
|
||||||
|
|
||||||
|
//- Icon Set
|
||||||
|
if config.theming.iconset === 'mdi'
|
||||||
|
link(
|
||||||
|
type='text/css'
|
||||||
|
rel='stylesheet'
|
||||||
|
href='https://cdn.materialdesignicons.com/3.7.95/css/materialdesignicons.min.css'
|
||||||
|
)
|
||||||
|
else if config.theming.iconset === 'fa'
|
||||||
|
link(
|
||||||
|
type='text/css'
|
||||||
|
rel='stylesheet'
|
||||||
|
href='https://use.fontawesome.com/releases/v5.0.13/css/all.css'
|
||||||
|
)
|
||||||
|
else if config.theming.iconset === 'fa4'
|
||||||
|
link(
|
||||||
|
type='text/css'
|
||||||
|
rel='stylesheet'
|
||||||
|
href='https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css'
|
||||||
|
)
|
||||||
|
|
||||||
//- CSS
|
//- CSS
|
||||||
<% for (var index in htmlWebpackPlugin.files.css) { %>
|
<% for (var index in htmlWebpackPlugin.files.css) { %>
|
||||||
<% if (htmlWebpackPlugin.files.cssIntegrity) { %>
|
<% if (htmlWebpackPlugin.files.cssIntegrity) { %>
|
||||||
|
@ -40,6 +40,7 @@ defaults:
|
|||||||
title: Wiki.js
|
title: Wiki.js
|
||||||
theming:
|
theming:
|
||||||
theme: 'default'
|
theme: 'default'
|
||||||
|
iconset: 'md'
|
||||||
darkMode: false
|
darkMode: false
|
||||||
flags:
|
flags:
|
||||||
ldapdebug: false
|
ldapdebug: false
|
||||||
|
@ -20,7 +20,7 @@ module.exports = {
|
|||||||
}]
|
}]
|
||||||
},
|
},
|
||||||
async config(obj, args, context, info) {
|
async config(obj, args, context, info) {
|
||||||
return _.pick(WIKI.config.theming, ['theme', 'darkMode', 'injectCSS', 'injectHead', 'injectBody'])
|
return _.pick(WIKI.config.theming, ['theme', 'iconset', 'darkMode', 'injectCSS', 'injectHead', 'injectBody'])
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
ThemingMutation: {
|
ThemingMutation: {
|
||||||
@ -35,6 +35,7 @@ module.exports = {
|
|||||||
WIKI.config.theming = {
|
WIKI.config.theming = {
|
||||||
...WIKI.config.theming,
|
...WIKI.config.theming,
|
||||||
theme: args.theme,
|
theme: args.theme,
|
||||||
|
iconset: args.iconset,
|
||||||
darkMode: args.darkMode,
|
darkMode: args.darkMode,
|
||||||
injectCSS: args.injectCSS || '',
|
injectCSS: args.injectCSS || '',
|
||||||
injectHead: args.injectHead || '',
|
injectHead: args.injectHead || '',
|
||||||
|
@ -26,6 +26,7 @@ type ThemingQuery {
|
|||||||
type ThemingMutation {
|
type ThemingMutation {
|
||||||
setConfig(
|
setConfig(
|
||||||
theme: String!
|
theme: String!
|
||||||
|
iconset: String!
|
||||||
darkMode: Boolean!
|
darkMode: Boolean!
|
||||||
injectCSS: String
|
injectCSS: String
|
||||||
injectHead: String
|
injectHead: String
|
||||||
@ -39,6 +40,7 @@ type ThemingMutation {
|
|||||||
|
|
||||||
type ThemingConfig {
|
type ThemingConfig {
|
||||||
theme: String!
|
theme: String!
|
||||||
|
iconset: String!
|
||||||
darkMode: Boolean!
|
darkMode: Boolean!
|
||||||
injectCSS: String
|
injectCSS: String
|
||||||
injectHead: String
|
injectHead: String
|
||||||
|
Loading…
Reference in New Issue
Block a user