From 7f357dd6626f82c606be8a757709b0866fdc9512 Mon Sep 17 00:00:00 2001 From: Zakhar Timoshenko Date: Mon, 16 Oct 2023 00:37:04 +0300 Subject: [PATCH] Neat footer --- .../CODE_OF_CONDUCT/__og_image__/og.png | Bin 0 -> 33769 bytes .vitepress/README/__og_image__/og.png | Bin 0 -> 33769 bytes .vitepress/config/en.ts | 31 +- .vitepress/config/index.ts | 7 +- .vitepress/theme/components/Feature.vue | 2 +- .vitepress/theme/components/Footer.vue | 299 ++++++++++++++++++ .vitepress/theme/components/Link.vue | 41 +++ .vitepress/theme/composables/social.ts | 12 + .vitepress/theme/index.ts | 1 + .vitepress/theme/types/index.ts | 15 + .vitepress/theme/utils.ts | 79 +++++ package.json | 6 +- website/account/index.md | 1 + website/changelogs/index.md | 1 + website/dev/contribute/index.md | 1 + website/dev/parsers-library/index.md | 1 + website/dev/sync-server/index.md | 1 + website/dmca/index.md | 12 + website/download/index.md | 1 + website/manga/index.md | 1 + .../manuals/faq/explore/bookmarks/index.md | 1 + .../manuals/faq/explore/downloads/index.md | 1 + website/manuals/faq/explore/index.md | 1 + .../faq/explore/local-storage/index.md | 1 + website/manuals/faq/explore/random/index.md | 1 + website/manuals/faq/explore/sources/index.md | 1 + .../manuals/faq/explore/suggestions/index.md | 1 + website/manuals/faq/feed/index.md | 1 + website/manuals/faq/general/index.md | 1 + website/manuals/faq/miscellaneous/index.md | 1 + website/manuals/faq/reader/index.md | 1 + website/manuals/faq/settings/index.md | 1 + website/manuals/guides/backups/index.md | 1 + website/manuals/guides/categories/index.md | 1 + .../manuals/guides/getting-started/index.md | 1 + .../manuals/guides/synchronization/index.md | 1 + website/manuals/guides/tracking/index.md | 1 + .../troubleshooting/common-issues/index.md | 1 + .../guides/troubleshooting/diagnosis/index.md | 1 + .../manuals/guides/troubleshooting/index.md | 1 + website/privacy/index.md | 1 + website/public/logo-compact.svg | 57 ++++ website/public/logo-official.svg | 55 ++++ website/sandbox/index.md | 1 + website/sandbox/style-guide/index.md | 1 + 45 files changed, 639 insertions(+), 8 deletions(-) create mode 100644 .vitepress/CODE_OF_CONDUCT/__og_image__/og.png create mode 100644 .vitepress/README/__og_image__/og.png create mode 100644 .vitepress/theme/components/Footer.vue create mode 100644 .vitepress/theme/components/Link.vue create mode 100644 .vitepress/theme/composables/social.ts create mode 100644 website/dmca/index.md create mode 100644 website/public/logo-compact.svg create mode 100644 website/public/logo-official.svg diff --git a/.vitepress/CODE_OF_CONDUCT/__og_image__/og.png b/.vitepress/CODE_OF_CONDUCT/__og_image__/og.png new file mode 100644 index 0000000000000000000000000000000000000000..c8f5de632ded98bc0d2bdef991e84d5d3456a696 GIT binary patch literal 33769 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 kdib3bX%g|JB*5YoO)7&k5C<)=5oODtl(Z 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 kdib3bX%g|JB*5YoO)7&k5C<)=5oODtl(Z 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 = { pattern: 'https://github.com/KotatsuApp/website/edit/main/website/:path', text: 'Suggest changes to this page', }, - footer: { - message: "GPL-3.0 Licensed | Privacy policy", - copyright: `Copyright © 2020 - ${new Date().getFullYear()} Kotatsu Developers`, - }, + footer: baseHelper(getFooter(), ''), sections: sections }, @@ -226,4 +224,27 @@ function getNav(): DefaultTheme.NavItem[] { activeMatch: "/news/" } ] +} + +function getFooter(): CustomConfig['footer'] { + return { + qrcodeTitle: 'Telegram Group', + qrcodeMessage: 'Contact us on Telegram', + qrcodeLink: 'https://t.me/kotatsuapp', + navigation: [ + { + title: 'Legal', + items: [ + { + text: 'Privacy', + link: '/privacy/', + }, + { + text: 'DMCA disclaimer', + link: '/dmca/', + }, + ], + }, + ], + } } \ No newline at end of file diff --git a/.vitepress/config/index.ts b/.vitepress/config/index.ts index ddcfaf3..d056d2c 100644 --- a/.vitepress/config/index.ts +++ b/.vitepress/config/index.ts @@ -16,6 +16,7 @@ import shortcodes from "./shortcodes" import generateOgImages from "./hooks/generateOgImages" import generateMeta from "./hooks/generateMeta" +import Unocss from 'unocss/vite' const SITE_HOST = 'https://kotatsu.app' const SITE_TITLE = 'kotatsu.app' @@ -117,7 +118,8 @@ export default defineConfigWithTheme({ 'VPNavScreenTranslations', 'VPNavBar', 'VPNavBarMenu', - 'VPNavScreenMenu' + 'VPNavScreenMenu', + 'VPFooter', ].map(componentName => ({ find: new RegExp(`^.*\/${componentName}\.vue$`), replacement: fileURLToPath( @@ -125,6 +127,9 @@ export default defineConfigWithTheme({ ) })), }, + plugins: [ + Unocss(), + ] }, sitemap: { diff --git a/.vitepress/theme/components/Feature.vue b/.vitepress/theme/components/Feature.vue index 52acce9..c9d81f1 100644 --- a/.vitepress/theme/components/Feature.vue +++ b/.vitepress/theme/components/Feature.vue @@ -18,7 +18,7 @@ defineProps<{ .Feature { color: inherit; display: block; - border: 1px solid var(--vp-c-bg-soft); + border: 4px solid var(--vp-c-brand-soft); border-radius: var(--vp-border-radius); height: 100%; overflow-x: hidden; diff --git a/.vitepress/theme/components/Footer.vue b/.vitepress/theme/components/Footer.vue new file mode 100644 index 0000000..fde4337 --- /dev/null +++ b/.vitepress/theme/components/Footer.vue @@ -0,0 +1,299 @@ + + + + + \ No newline at end of file diff --git a/.vitepress/theme/components/Link.vue b/.vitepress/theme/components/Link.vue new file mode 100644 index 0000000..1fa6f8b --- /dev/null +++ b/.vitepress/theme/components/Link.vue @@ -0,0 +1,41 @@ + + + + + \ No newline at end of file diff --git a/.vitepress/theme/composables/social.ts b/.vitepress/theme/composables/social.ts new file mode 100644 index 0000000..f294d42 --- /dev/null +++ b/.vitepress/theme/composables/social.ts @@ -0,0 +1,12 @@ +export const socialList = { + github: { + title: 'GitHub', + link: 'https://github.com/KotatsuApp', + icon: 'GitHub', + }, + telegram: { + title: 'Telegram', + link: 'https://t.me/kotatsuapp', + icon: '', + }, +} \ No newline at end of file diff --git a/.vitepress/theme/index.ts b/.vitepress/theme/index.ts index 5bf20d5..5a88542 100644 --- a/.vitepress/theme/index.ts +++ b/.vitepress/theme/index.ts @@ -7,6 +7,7 @@ import DefaultTheme from 'vitepress/theme-without-fonts' import Layout from './components/Layout.vue' import './styles/global.css' import './styles/glightbox.css' +import 'uno.css' export default { extends: DefaultTheme, diff --git a/.vitepress/theme/types/index.ts b/.vitepress/theme/types/index.ts index 6b6b036..1d06196 100644 --- a/.vitepress/theme/types/index.ts +++ b/.vitepress/theme/types/index.ts @@ -10,4 +10,19 @@ export namespace Theme { export interface TeamMember extends Omit { name: Record } +} + +export interface CustomConfig { + footer: { + qrcodeTitle: string + qrcodeMessage: string + qrcodeLink: string + navigation: { + title: string + items: { + text: string + link: string + }[] + }[] + } } \ No newline at end of file diff --git a/.vitepress/theme/utils.ts b/.vitepress/theme/utils.ts index 9edd9b9..e2165ea 100644 --- a/.vitepress/theme/utils.ts +++ b/.vitepress/theme/utils.ts @@ -5,6 +5,8 @@ import { normalize } from 'vitepress/dist/client/shared' import { type Translator, translators } from '../../website/translators' import { Theme } from './types' +const markdownLinkRegexp = /.md((\?|#).*)?$/ + export function findPath( pageData: DocsPageData, config: UserConfig, @@ -108,4 +110,81 @@ export function getTranslator(translator: string): Translator | undefined { } return translators[translator] +} + +export function isObject(value) { + const type = typeof value + return value != null && (type === 'object' || type === 'function') +} + +export const isRelativeLink = (link: string) => + /^(?!www\.|http[s]?:\/\/|[A-Za-z]:\\|\/\/).*/.test(link) + +/** + * Determine a link is http link or not + * + * - http://github.com + * - https://github.com + * - //github.com + */ +export const isLinkHttp = (link: string): boolean => + /^(https?:)?\/\//.test(link) + +/** + * Determine a link is ftp link or not + */ +export const isLinkFtp = (link: string): boolean => link.startsWith('ftp://') + +export const isLinkExternal = (link: string, base = '/'): boolean => { + // http link or ftp link + if (isLinkHttp(link) || isLinkFtp(link)) { + return true + } + + // absolute link that does not start with `base` and does not end with `.md` + if ( + link.startsWith('/') && + !link.startsWith(base) && + !markdownLinkRegexp.test(link) + ) { + return true + } + return false +} + +export function baseHelper(obj, base): any { + function modifyLink(obj) { + if (Array.isArray(obj)) { + return obj.map((item) => modifyLink(item)) + } else if (isObject(obj)) { + const newObj = {} + for (let key in obj) { + if (Array.isArray(obj[key]) || typeof obj[key] === 'object') { + newObj[key] = modifyLink(obj[key]) + } else if (key === 'link' && isRelativeLink(obj[key])) { + newObj[key] = base + obj[key] + if (isLinkExternal(obj[key])) newObj['target'] = '_blank' + } else { + newObj[key] = obj[key] + } + } + return newObj + } else { + return obj + } + } + + function modifyKey(obj) { + let newObj = {} + for (let key in obj) { + if (key.startsWith('/') && base !== '') { + newObj[base + key] = obj[key] + } else { + newObj[key] = obj[key] + } + } + return newObj + } + + return modifyKey(modifyLink(obj)) } \ No newline at end of file diff --git a/package.json b/package.json index 7228e2f..c780276 100644 --- a/package.json +++ b/package.json @@ -58,10 +58,14 @@ "dependencies": { "@octokit/rest": "20.0.2", "@octokit/types": "12.0.0", - "@vueuse/core": "^10.1.2", + "@vueuse/core": "^10.3.0", + "@vueuse/integrations": "^10.3.0", "@xobotyi/scrollbar-width": "^1.9.5", "glightbox": "^3.2.0", "moment": "2.29.4", + "qrcode": "^1.5.3", + "sass": "^1.64.2", + "unocss": "^0.54.2", "uuid": "^9.0.0" }, "engines": { diff --git a/website/account/index.md b/website/account/index.md index 3869483..6b32cd8 100644 --- a/website/account/index.md +++ b/website/account/index.md @@ -5,4 +5,5 @@ lastUpdated: false editLink: false prev: false next: false +footer: false --- \ No newline at end of file diff --git a/website/changelogs/index.md b/website/changelogs/index.md index a9f433b..ca8d11f 100644 --- a/website/changelogs/index.md +++ b/website/changelogs/index.md @@ -5,6 +5,7 @@ lastUpdated: false editLink: false prev: false next: false +footer: false ---