Internationalization,autolocale,content for homepage,impressum page.

This commit is contained in:
sushidave 2023-11-27 16:03:04 +01:00
parent 5007cad8c8
commit 68da8d0268
10 changed files with 317 additions and 69 deletions

View File

@ -7,4 +7,18 @@ export default defineUserConfig({
...meta,
theme,
plugins,
})
locales:{
// The key is the path for the locale to be nested under.
// As a special case, the default locale can use '/' as its path.
'/': {
lang: 'en-US', // this will be set as the lang attribute on <html>
title: 'Ocelot.Social',
// description: ''
},
'/de/': {
lang: 'de-DE',
title: 'Ocelot.Social',
// description: ''
}
}
})

View File

@ -1,5 +1,5 @@
export default {
title: 'Ocelot-Social',
title: 'Ocelot.Social',
// description: 'Free and open-source social network for active citizenship.',
head: [
['meta', {name: 'viewport', content: 'width=device-width,initial-scale=1'}]

View File

@ -1,4 +1,5 @@
import { searchProPlugin } from 'vuepress-plugin-search-pro'
import { redirectPlugin } from 'vuepress-plugin-redirect'
export default [
searchProPlugin({
@ -15,4 +16,7 @@ export default [
},
],
}),
redirectPlugin({
autoLocale: true,
})
]

View File

@ -11,15 +11,23 @@ export default hopeTheme({
contributors: false,
displayFooter: true,
print: false,
copyright: 'CC BY busFaktor() e.V. & Authors',
copyright: '&copy; by <a href="https://busfaktor.org" target="_blank">busFaktor() e.V.</a> & Authors | <a href="/impressum/">Impressum</a>',
footer: 'Released under the <a class="vt-link link link" href="https://opensource.org/licenses/MIT" target="_blank" rel="noopener noreferrer"><!--[-->MIT License<!--]--><!----></a>.',
navbar: [
{ text: 'Documentation', link: 'https://docs.ocelot.social/' },
{ text: 'Demo', link: 'https://stage.ocelot.social/' },
{
text: 'Documentation', link: 'https://docs.ocelot.social/'
},
{
text: 'Demo', link: 'https://stage.ocelot.social/'
},
{
text: 'Github',
link: 'https://github.com/Ocelot-Social-Community'
},
{
text: 'Impressum',
link: '/impressum/'
},
],
plugins: {
mdEnhance: {

19
docs/de/README.md Normal file
View File

@ -0,0 +1,19 @@
---
home: true
# layout: BlogHome
icon: home
title: Ocelot.Social
heroFullScreen: false
heroImage: /logo.svg
heroText: Das freie soziale Open-Source-Netzwerk für eine aktive Zivilgesellschaft.
tagLine:
# actions:
# - text: Demo
# link: https://stage.ocelot.social/
---
## Wir bauen um
Unsere Website wird gerade überarbeitet und erweitert. Schau bald wieder rein!
Inzwischen findest du uns auf [GitHub](https://github.com/Ocelot-Social-Community/) oder [Discord](https://discord.gg/AGPJ7YgC).

View File

@ -1,8 +1,8 @@
---
home: true
home: false
# layout: BlogHome
icon: home
title: Ocelot-Social
title: Impressum | Ocelot.Social
heroFullScreen: false
heroImage: /logo.svg
heroText: Free and open-source social network for active citizenship.
@ -10,4 +10,7 @@ tagLine:
# actions:
# - text: Demo
# link: https://stage.ocelot.social/
---
---
## Coming soon
We are rebuilding our website. Check back soon.

19
docs/en/README.md Normal file
View File

@ -0,0 +1,19 @@
---
home: true
# layout: BlogHome
icon: home
title: Ocelot.Social
heroFullScreen: false
heroImage: /logo.svg
heroText: Free and open-source social network for active citizenship.
tagLine:
# actions:
# - text: Demo
# link: https://stage.ocelot.social/
---
## Coming soon
Unsere Website wird gerade überarbeitet und erweitert. Schau bald wieder rein!
Inzwischen findest du uns auf [GitHub](https://github.com/Ocelot-Social-Community/) oder [Discord](https://discord.gg/AGPJ7YgC).

View File

@ -0,0 +1,16 @@
---
home: false
# layout: BlogHome
icon: home
title: Impressum | Ocelot.Social
heroFullScreen: false
heroImage: /logo.svg
heroText: Free and open-source social network for active citizenship.
tagLine:
# actions:
# - text: Demo
# link: https://stage.ocelot.social/
---
## Coming soon
We are rebuilding our website. Check back soon.

286
package-lock.json generated
View File

@ -25,6 +25,7 @@
"textlint-rule-period-in-list-item": "^1.0.1",
"textlint-rule-write-good": "^2.0.0",
"vuepress": "^2.0.0-rc.0",
"vuepress-plugin-redirect": "^2.0.0-rc.1",
"vuepress-plugin-search-pro": "^2.0.0-rc.0",
"vuepress-theme-hope": "^2.0.0-rc.0"
}
@ -3475,39 +3476,39 @@
}
},
"node_modules/@vue/compiler-core": {
"version": "3.3.8",
"resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.8.tgz",
"integrity": "sha512-hN/NNBUECw8SusQvDSqqcVv6gWq8L6iAktUR0UF3vGu2OhzRqcOiAno0FmBJWwxhYEXRlQJT5XnoKsVq1WZx4g==",
"version": "3.3.9",
"resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.9.tgz",
"integrity": "sha512-+/Lf68Vr/nFBA6ol4xOtJrW+BQWv3QWKfRwGSm70jtXwfhZNF4R/eRgyVJYoxFRhdCTk/F6g99BP0ffPgZihfQ==",
"dev": true,
"dependencies": {
"@babel/parser": "^7.23.0",
"@vue/shared": "3.3.8",
"@babel/parser": "^7.23.3",
"@vue/shared": "3.3.9",
"estree-walker": "^2.0.2",
"source-map-js": "^1.0.2"
}
},
"node_modules/@vue/compiler-dom": {
"version": "3.3.8",
"resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.8.tgz",
"integrity": "sha512-+PPtv+p/nWDd0AvJu3w8HS0RIm/C6VGBIRe24b9hSyNWOAPEUosFZ5diwawwP8ip5sJ8n0Pe87TNNNHnvjs0FQ==",
"version": "3.3.9",
"resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.9.tgz",
"integrity": "sha512-nfWubTtLXuT4iBeDSZ5J3m218MjOy42Vp2pmKVuBKo2/BLcrFUX8nCSr/bKRFiJ32R8qbdnnnBgRn9AdU5v0Sg==",
"dev": true,
"dependencies": {
"@vue/compiler-core": "3.3.8",
"@vue/shared": "3.3.8"
"@vue/compiler-core": "3.3.9",
"@vue/shared": "3.3.9"
}
},
"node_modules/@vue/compiler-sfc": {
"version": "3.3.8",
"resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.8.tgz",
"integrity": "sha512-WMzbUrlTjfYF8joyT84HfwwXo+8WPALuPxhy+BZ6R4Aafls+jDBnSz8PDz60uFhuqFbl3HxRfxvDzrUf3THwpA==",
"version": "3.3.9",
"resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.9.tgz",
"integrity": "sha512-wy0CNc8z4ihoDzjASCOCsQuzW0A/HP27+0MDSSICMjVIFzk/rFViezkR3dzH+miS2NDEz8ywMdbjO5ylhOLI2A==",
"dev": true,
"dependencies": {
"@babel/parser": "^7.23.0",
"@vue/compiler-core": "3.3.8",
"@vue/compiler-dom": "3.3.8",
"@vue/compiler-ssr": "3.3.8",
"@vue/reactivity-transform": "3.3.8",
"@vue/shared": "3.3.8",
"@babel/parser": "^7.23.3",
"@vue/compiler-core": "3.3.9",
"@vue/compiler-dom": "3.3.9",
"@vue/compiler-ssr": "3.3.9",
"@vue/reactivity-transform": "3.3.9",
"@vue/shared": "3.3.9",
"estree-walker": "^2.0.2",
"magic-string": "^0.30.5",
"postcss": "^8.4.31",
@ -3515,13 +3516,13 @@
}
},
"node_modules/@vue/compiler-ssr": {
"version": "3.3.8",
"resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.8.tgz",
"integrity": "sha512-hXCqQL/15kMVDBuoBYpUnSYT8doDNwsjvm3jTefnXr+ytn294ySnT8NlsFHmTgKNjwpuFy7XVV8yTeLtNl/P6w==",
"version": "3.3.9",
"resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.9.tgz",
"integrity": "sha512-NO5oobAw78R0G4SODY5A502MGnDNiDjf6qvhn7zD7TJGc8XDeIEw4fg6JU705jZ/YhuokBKz0A5a/FL/XZU73g==",
"dev": true,
"dependencies": {
"@vue/compiler-dom": "3.3.8",
"@vue/shared": "3.3.8"
"@vue/compiler-dom": "3.3.9",
"@vue/shared": "3.3.9"
}
},
"node_modules/@vue/devtools-api": {
@ -3531,65 +3532,65 @@
"dev": true
},
"node_modules/@vue/reactivity": {
"version": "3.3.8",
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.8.tgz",
"integrity": "sha512-ctLWitmFBu6mtddPyOKpHg8+5ahouoTCRtmAHZAXmolDtuZXfjL2T3OJ6DL6ezBPQB1SmMnpzjiWjCiMYmpIuw==",
"version": "3.3.9",
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.9.tgz",
"integrity": "sha512-VmpIqlNp+aYDg2X0xQhJqHx9YguOmz2UxuUJDckBdQCNkipJvfk9yA75woLWElCa0Jtyec3lAAt49GO0izsphw==",
"dev": true,
"dependencies": {
"@vue/shared": "3.3.8"
"@vue/shared": "3.3.9"
}
},
"node_modules/@vue/reactivity-transform": {
"version": "3.3.8",
"resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.8.tgz",
"integrity": "sha512-49CvBzmZNtcHua0XJ7GdGifM8GOXoUMOX4dD40Y5DxI3R8OUhMlvf2nvgUAcPxaXiV5MQQ1Nwy09ADpnLQUqRw==",
"version": "3.3.9",
"resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.9.tgz",
"integrity": "sha512-HnUFm7Ry6dFa4Lp63DAxTixUp8opMtQr6RxQCpDI1vlh12rkGIeYqMvJtK+IKyEfEOa2I9oCkD1mmsPdaGpdVg==",
"dev": true,
"dependencies": {
"@babel/parser": "^7.23.0",
"@vue/compiler-core": "3.3.8",
"@vue/shared": "3.3.8",
"@babel/parser": "^7.23.3",
"@vue/compiler-core": "3.3.9",
"@vue/shared": "3.3.9",
"estree-walker": "^2.0.2",
"magic-string": "^0.30.5"
}
},
"node_modules/@vue/runtime-core": {
"version": "3.3.8",
"resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.8.tgz",
"integrity": "sha512-qurzOlb6q26KWQ/8IShHkMDOuJkQnQcTIp1sdP4I9MbCf9FJeGVRXJFr2mF+6bXh/3Zjr9TDgURXrsCr9bfjUw==",
"version": "3.3.9",
"resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.9.tgz",
"integrity": "sha512-xxaG9KvPm3GTRuM4ZyU8Tc+pMVzcu6eeoSRQJ9IE7NmCcClW6z4B3Ij6L4EDl80sxe/arTtQ6YmgiO4UZqRc+w==",
"dev": true,
"dependencies": {
"@vue/reactivity": "3.3.8",
"@vue/shared": "3.3.8"
"@vue/reactivity": "3.3.9",
"@vue/shared": "3.3.9"
}
},
"node_modules/@vue/runtime-dom": {
"version": "3.3.8",
"resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.8.tgz",
"integrity": "sha512-Noy5yM5UIf9UeFoowBVgghyGGPIDPy1Qlqt0yVsUdAVbqI8eeMSsTqBtauaEoT2UFXUk5S64aWVNJN4MJ2vRdA==",
"version": "3.3.9",
"resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.9.tgz",
"integrity": "sha512-e7LIfcxYSWbV6BK1wQv9qJyxprC75EvSqF/kQKe6bdZEDNValzeRXEVgiX7AHI6hZ59HA4h7WT5CGvm69vzJTQ==",
"dev": true,
"dependencies": {
"@vue/runtime-core": "3.3.8",
"@vue/shared": "3.3.8",
"@vue/runtime-core": "3.3.9",
"@vue/shared": "3.3.9",
"csstype": "^3.1.2"
}
},
"node_modules/@vue/server-renderer": {
"version": "3.3.8",
"resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.8.tgz",
"integrity": "sha512-zVCUw7RFskvPuNlPn/8xISbrf0zTWsTSdYTsUTN1ERGGZGVnRxM2QZ3x1OR32+vwkkCm0IW6HmJ49IsPm7ilLg==",
"version": "3.3.9",
"resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.9.tgz",
"integrity": "sha512-w0zT/s5l3Oa3ZjtLW88eO4uV6AQFqU8X5GOgzq7SkQQu6vVr+8tfm+OI2kDBplS/W/XgCBuFXiPw6T5EdwXP0A==",
"dev": true,
"dependencies": {
"@vue/compiler-ssr": "3.3.8",
"@vue/shared": "3.3.8"
"@vue/compiler-ssr": "3.3.9",
"@vue/shared": "3.3.9"
},
"peerDependencies": {
"vue": "3.3.8"
"vue": "3.3.9"
}
},
"node_modules/@vue/shared": {
"version": "3.3.8",
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.8.tgz",
"integrity": "sha512-8PGwybFwM4x8pcfgqEQFy70NaQxASvOC5DJwLQfpArw1UDfUXrJkdxD3BhVTMS+0Lef/TU7YO0Jvr0jJY8T+mw==",
"version": "3.3.9",
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.9.tgz",
"integrity": "sha512-ZE0VTIR0LmYgeyhurPTpy4KzKsuDyQbMSdM49eKkMnT5X4VfFBLysMzjIZhLEFQYjjOVVfbvUDHckwjDFiO2eA==",
"dev": true
},
"node_modules/@vuepress/bundler-vite": {
@ -10088,16 +10089,16 @@
}
},
"node_modules/vue": {
"version": "3.3.8",
"resolved": "https://registry.npmjs.org/vue/-/vue-3.3.8.tgz",
"integrity": "sha512-5VSX/3DabBikOXMsxzlW8JyfeLKlG9mzqnWgLQLty88vdZL7ZJgrdgBOmrArwxiLtmS+lNNpPcBYqrhE6TQW5w==",
"version": "3.3.9",
"resolved": "https://registry.npmjs.org/vue/-/vue-3.3.9.tgz",
"integrity": "sha512-sy5sLCTR8m6tvUk1/ijri3Yqzgpdsmxgj6n6yl7GXXCXqVbmW2RCXe9atE4cEI6Iv7L89v5f35fZRRr5dChP9w==",
"dev": true,
"dependencies": {
"@vue/compiler-dom": "3.3.8",
"@vue/compiler-sfc": "3.3.8",
"@vue/runtime-dom": "3.3.8",
"@vue/server-renderer": "3.3.8",
"@vue/shared": "3.3.8"
"@vue/compiler-dom": "3.3.9",
"@vue/compiler-sfc": "3.3.9",
"@vue/runtime-dom": "3.3.9",
"@vue/server-renderer": "3.3.9",
"@vue/shared": "3.3.9"
},
"peerDependencies": {
"typescript": "*"
@ -10699,6 +10700,169 @@
}
}
},
"node_modules/vuepress-plugin-redirect": {
"version": "2.0.0-rc.1",
"resolved": "https://registry.npmjs.org/vuepress-plugin-redirect/-/vuepress-plugin-redirect-2.0.0-rc.1.tgz",
"integrity": "sha512-bmRKSEDPKjx1mkaJ6AOGUOtKvmS9yVbnwdGPe7FqjeD/bbTMPDSPrER1V+ztPqK8yzZDYf/oroGiWFwdBhr/Tg==",
"dev": true,
"dependencies": {
"@vuepress/cli": "2.0.0-rc.0",
"@vuepress/client": "2.0.0-rc.0",
"@vuepress/core": "2.0.0-rc.0",
"@vuepress/shared": "2.0.0-rc.0",
"@vuepress/utils": "2.0.0-rc.0",
"@vueuse/core": "^10.6.1",
"cac": "^6.7.14",
"vue": "^3.3.9",
"vue-router": "^4.2.5",
"vuepress-plugin-sass-palette": "2.0.0-rc.1",
"vuepress-shared": "2.0.0-rc.1"
},
"bin": {
"vp-redirect": "lib/cli/index.js"
},
"engines": {
"node": ">=18.16.0",
"npm": ">=8",
"pnpm": ">=7",
"yarn": ">=2"
},
"peerDependencies": {
"sass-loader": "^13.3.2",
"vuepress": "2.0.0-rc.0",
"vuepress-vite": "2.0.0-rc.0",
"vuepress-webpack": "2.0.0-rc.0"
},
"peerDependenciesMeta": {
"sass-loader": {
"optional": true
},
"vuepress": {
"optional": true
},
"vuepress-vite": {
"optional": true
},
"vuepress-webpack": {
"optional": true
}
}
},
"node_modules/vuepress-plugin-redirect/node_modules/lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"dependencies": {
"yallist": "^4.0.0"
},
"engines": {
"node": ">=10"
}
},
"node_modules/vuepress-plugin-redirect/node_modules/semver": {
"version": "7.5.4",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
"integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"dev": true,
"dependencies": {
"lru-cache": "^6.0.0"
},
"bin": {
"semver": "bin/semver.js"
},
"engines": {
"node": ">=10"
}
},
"node_modules/vuepress-plugin-redirect/node_modules/vuepress-plugin-sass-palette": {
"version": "2.0.0-rc.1",
"resolved": "https://registry.npmjs.org/vuepress-plugin-sass-palette/-/vuepress-plugin-sass-palette-2.0.0-rc.1.tgz",
"integrity": "sha512-3QI7mYFaCI6ynbW0EJ8Qf/3hJiryPOI0B+AJ8iJj06VCZTutQBpQvnsu4LfF02h3j2YNuWWs0UqIqc5fCi+Czg==",
"dev": true,
"dependencies": {
"@vuepress/shared": "2.0.0-rc.0",
"@vuepress/utils": "2.0.0-rc.0",
"chokidar": "^3.5.3",
"sass": "^1.69.5",
"vuepress-shared": "2.0.0-rc.1"
},
"engines": {
"node": ">=18.16.0",
"npm": ">=8",
"pnpm": ">=7",
"yarn": ">=2"
},
"peerDependencies": {
"sass-loader": "^13.3.2",
"vuepress": "2.0.0-rc.0",
"vuepress-vite": "2.0.0-rc.0",
"vuepress-webpack": "2.0.0-rc.0"
},
"peerDependenciesMeta": {
"sass-loader": {
"optional": true
},
"vuepress": {
"optional": true
},
"vuepress-vite": {
"optional": true
},
"vuepress-webpack": {
"optional": true
}
}
},
"node_modules/vuepress-plugin-redirect/node_modules/vuepress-shared": {
"version": "2.0.0-rc.1",
"resolved": "https://registry.npmjs.org/vuepress-shared/-/vuepress-shared-2.0.0-rc.1.tgz",
"integrity": "sha512-WhtuaP3LCW42Xtu1pK6+NY3oe8BVpPzMgaVn5OnDBqupula0IViY6YgTI86YhCSarhl56sMmvnq1KeuLXPt7uA==",
"dev": true,
"dependencies": {
"@vuepress/client": "2.0.0-rc.0",
"@vuepress/shared": "2.0.0-rc.0",
"@vuepress/utils": "2.0.0-rc.0",
"@vueuse/core": "^10.6.1",
"cheerio": "1.0.0-rc.12",
"dayjs": "^1.11.10",
"execa": "^8.0.1",
"fflate": "^0.8.1",
"gray-matter": "^4.0.3",
"semver": "^7.5.4",
"striptags": "^3.2.0",
"vue": "^3.3.9",
"vue-router": "^4.2.5"
},
"engines": {
"node": ">=18.16.0",
"npm": ">=8",
"pnpm": ">=7",
"yarn": ">=2"
},
"peerDependencies": {
"vuepress": "2.0.0-rc.0",
"vuepress-vite": "2.0.0-rc.0",
"vuepress-webpack": "2.0.0-rc.0"
},
"peerDependenciesMeta": {
"vuepress": {
"optional": true
},
"vuepress-vite": {
"optional": true
},
"vuepress-webpack": {
"optional": true
}
}
},
"node_modules/vuepress-plugin-redirect/node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
},
"node_modules/vuepress-plugin-rtl": {
"version": "2.0.0-rc.0",
"resolved": "https://registry.npmjs.org/vuepress-plugin-rtl/-/vuepress-plugin-rtl-2.0.0-rc.0.tgz",

View File

@ -36,6 +36,7 @@
"textlint-rule-period-in-list-item": "^1.0.1",
"textlint-rule-write-good": "^2.0.0",
"vuepress": "^2.0.0-rc.0",
"vuepress-plugin-redirect": "^2.0.0-rc.1",
"vuepress-plugin-search-pro": "^2.0.0-rc.0",
"vuepress-theme-hope": "^2.0.0-rc.0"
}