Skip to content

Commit e954b50

Browse files
committed
feat: footer text override option
1 parent f972a9c commit e954b50

File tree

8 files changed

+31
-3
lines changed

8 files changed

+31
-3
lines changed

client/components/admin/admin-general.vue

+15
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,14 @@
8282
:return-object='false'
8383
:hint='$t(`admin:general.contentLicenseHint`)'
8484
persistent-hint
85+
)
86+
v-text-field.mt-3(
87+
outlined
88+
:label='$t(`admin:general.footerOverride`)'
89+
v-model='config.footerOverride'
90+
prepend-icon='mdi-page-layout-footer'
91+
persistent-hint
92+
:hint='$t(`admin:general.footerOverrideHint`)'
8593
)
8694
v-divider
8795
.overline.grey--text.pa-4 SEO
@@ -280,6 +288,7 @@ export default {
280288
analyticsId: '',
281289
company: '',
282290
contentLicense: '',
291+
footerOverride: '',
283292
logoUrl: '',
284293
featureAnalytics: false,
285294
featurePageRatings: false,
@@ -308,6 +317,7 @@ export default {
308317
logoUrl: sync('site/logoUrl'),
309318
company: sync('site/company'),
310319
contentLicense: sync('site/contentLicense'),
320+
footerOverride: sync('site/footerOverride'),
311321
activeModal: sync('editor/activeModal'),
312322
contentLicenses () {
313323
return [
@@ -346,6 +356,7 @@ export default {
346356
$analyticsId: String
347357
$company: String
348358
$contentLicense: String
359+
$footerOverride: String
349360
$logoUrl: String
350361
$pageExtensions: String
351362
$featurePageRatings: Boolean
@@ -369,6 +380,7 @@ export default {
369380
analyticsId: $analyticsId
370381
company: $company
371382
contentLicense: $contentLicense
383+
footerOverride: $footerOverride
372384
logoUrl: $logoUrl
373385
pageExtensions: $pageExtensions
374386
featurePageRatings: $featurePageRatings
@@ -401,6 +413,7 @@ export default {
401413
analyticsId: _.get(this.config, 'analyticsId', ''),
402414
company: _.get(this.config, 'company', ''),
403415
contentLicense: _.get(this.config, 'contentLicense', ''),
416+
footerOverride: _.get(this.config, 'footerOverride', ''),
404417
logoUrl: _.get(this.config, 'logoUrl', ''),
405418
pageExtensions: _.get(this.config, 'pageExtensions', ''),
406419
featurePageRatings: _.get(this.config, 'featurePageRatings', false),
@@ -426,6 +439,7 @@ export default {
426439
this.siteTitle = this.config.title
427440
this.company = this.config.company
428441
this.contentLicense = this.config.contentLicense
442+
this.footerOverride = this.config.footerOverride
429443
this.logoUrl = this.config.logoUrl
430444
} catch (err) {
431445
this.$store.commit('pushGraphError', err)
@@ -461,6 +475,7 @@ export default {
461475
analyticsId
462476
company
463477
contentLicense
478+
footerOverride
464479
logoUrl
465480
pageExtensions
466481
featurePageRatings

client/store/site.js

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { make } from 'vuex-pathify'
55
const state = {
66
company: siteConfig.company,
77
contentLicense: siteConfig.contentLicense,
8+
footerOverride: siteConfig.footerOverride,
89
dark: siteConfig.darkMode,
910
tocPosition: siteConfig.tocPosition,
1011
mascot: true,

client/themes/default/components/nav-footer.vue

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
<template lang="pug">
22
v-footer.justify-center(:color='bgColor', inset)
33
.caption.grey--text(:class='$vuetify.theme.dark ? `text--lighten-1` : `text--darken-1`')
4-
template(v-if='company && company.length > 0 && contentLicense !== ``')
4+
template(v-if='footerOverride')
5+
span {{footerOverride}} |&nbsp;
6+
template(v-else-if='company && company.length > 0 && contentLicense !== ``')
57
span(v-if='contentLicense === `alr`') {{ $t('common:footer.copyright', { company: company, year: currentYear, interpolation: { escapeValue: false } }) }} |&nbsp;
68
span(v-else) {{ $t('common:footer.license', { company: company, license: $t('common:license.' + contentLicense), interpolation: { escapeValue: false } }) }} |&nbsp;
79
span {{ $t('common:footer.poweredBy') }} #[a(href='https://wiki.js.org', ref='nofollow') Wiki.js]
@@ -29,6 +31,7 @@ export default {
2931
computed: {
3032
company: get('site/company'),
3133
contentLicense: get('site/contentLicense'),
34+
footerOverride: get('site/footerOverride'),
3235
bgColor() {
3336
if (!this.$vuetify.theme.dark) {
3437
return this.color

server/app/data.yml

+1
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ defaults:
4444
title: Wiki.js
4545
company: ''
4646
contentLicense: ''
47+
footerOverride: ''
4748
logoUrl: https://static.requarks.io/logo/wikijs-butterfly.svg
4849
pageExtensions:
4950
- md

server/graph/resolvers/site.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ module.exports = {
1717
title: WIKI.config.title,
1818
company: WIKI.config.company,
1919
contentLicense: WIKI.config.contentLicense,
20+
footerOverride: WIKI.config.footerOverride,
2021
logoUrl: WIKI.config.logoUrl,
2122
pageExtensions: WIKI.config.pageExtensions.join(', '),
2223
...WIKI.config.seo,
@@ -60,6 +61,10 @@ module.exports = {
6061
WIKI.config.contentLicense = args.contentLicense
6162
}
6263

64+
if (args.hasOwnProperty('footerOverride')) {
65+
WIKI.config.footerOverride = args.footerOverride
66+
}
67+
6368
if (args.hasOwnProperty('logoUrl')) {
6469
WIKI.config.logoUrl = _.trim(args.logoUrl)
6570
}
@@ -120,7 +125,7 @@ module.exports = {
120125
forceDownload: _.get(args, 'uploadForceDownload', WIKI.config.uploads.forceDownload)
121126
}
122127

123-
await WIKI.configSvc.saveToDb(['host', 'title', 'company', 'contentLicense', 'seo', 'logoUrl', 'pageExtensions', 'auth', 'editShortcuts', 'features', 'security', 'uploads'])
128+
await WIKI.configSvc.saveToDb(['host', 'title', 'company', 'contentLicense', 'footerOverride', 'seo', 'logoUrl', 'pageExtensions', 'auth', 'editShortcuts', 'features', 'security', 'uploads'])
124129

125130
if (WIKI.config.security.securityTrustProxy) {
126131
WIKI.app.enable('trust proxy')

server/graph/schemas/site.graphql

+2
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ type SiteMutation {
3232
analyticsId: String
3333
company: String
3434
contentLicense: String
35+
footerOverride: String
3536
logoUrl: String
3637
pageExtensions: String
3738
authAutoLogin: Boolean
@@ -81,6 +82,7 @@ type SiteConfig {
8182
analyticsId: String
8283
company: String
8384
contentLicense: String
85+
footerOverride: String
8486
logoUrl: String
8587
pageExtensions: String
8688
authAutoLogin: Boolean

server/master.js

+1
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,7 @@ module.exports = async () => {
154154
rtl: WIKI.config.lang.rtl,
155155
company: WIKI.config.company,
156156
contentLicense: WIKI.config.contentLicense,
157+
footerOverride: WIKI.config.footerOverride,
157158
logoUrl: WIKI.config.logoUrl
158159
}
159160
res.locals.langs = await WIKI.models.locales.getNavLocales({ cache: true })

server/modules/storage/git/storage.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ module.exports = {
160160
fNames.old = fMatch[1]
161161
fNames.new = fMatch[4]
162162
} else {
163-
fNames.old = (fMatch[1] + fMatch[2] + fMatch[4]).replace('//', '/'),
163+
fNames.old = (fMatch[1] + fMatch[2] + fMatch[4]).replace('//', '/')
164164
fNames.new = (fMatch[1] + fMatch[3] + fMatch[4]).replace('//', '/')
165165
}
166166
const fPath = path.join(this.repoPath, fNames.new)

0 commit comments

Comments
 (0)