Neat footer

This commit is contained in:
2023-10-16 00:37:04 +03:00
parent 5670fce85a
commit 7f357dd662
45 changed files with 639 additions and 8 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

View File

@@ -1,7 +1,8 @@
import type { DefaultTheme, LocaleConfig } from 'vitepress' import type { DefaultTheme, LocaleConfig } from 'vitepress'
import type { Theme } from '../theme/types' import type { CustomConfig, Theme } from '../theme/types'
import { sections } from '../theme/plugins/section' import { sections } from '../theme/plugins/section'
import 'dotenv/config' import 'dotenv/config'
import { baseHelper } from '../theme/utils'
export const SITE_NAME = 'Kotatsu Website' export const SITE_NAME = 'Kotatsu Website'
export const META_DESCRIPTION = 'A simple and convenient open source manga reader from and for the community, where you can find and read your favorite manga easier than ever.' export const META_DESCRIPTION = 'A simple and convenient open source manga reader from and for the community, where you can find and read your favorite manga easier than ever.'
@@ -61,10 +62,7 @@ export const config: LocaleConfig<Theme.Config> = {
pattern: 'https://github.com/KotatsuApp/website/edit/main/website/:path', pattern: 'https://github.com/KotatsuApp/website/edit/main/website/:path',
text: 'Suggest changes to this page', text: 'Suggest changes to this page',
}, },
footer: { footer: baseHelper(getFooter(), ''),
message: "<a href=\"https://www.gnu.org/licenses/gpl-3.0.en.html\" target=\"_blank\">GPL-3.0 Licensed</a> <span class=\"divider\">|</span> <a href=\"/privacy/\">Privacy policy</a>",
copyright: `Copyright © 2020 - ${new Date().getFullYear()} Kotatsu Developers`,
},
sections: sections sections: sections
}, },
@@ -227,3 +225,26 @@ function getNav(): DefaultTheme.NavItem[] {
} }
] ]
} }
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/',
},
],
},
],
}
}

View File

@@ -16,6 +16,7 @@ import shortcodes from "./shortcodes"
import generateOgImages from "./hooks/generateOgImages" import generateOgImages from "./hooks/generateOgImages"
import generateMeta from "./hooks/generateMeta" import generateMeta from "./hooks/generateMeta"
import Unocss from 'unocss/vite'
const SITE_HOST = 'https://kotatsu.app' const SITE_HOST = 'https://kotatsu.app'
const SITE_TITLE = 'kotatsu.app' const SITE_TITLE = 'kotatsu.app'
@@ -117,7 +118,8 @@ export default defineConfigWithTheme<Theme.Config>({
'VPNavScreenTranslations', 'VPNavScreenTranslations',
'VPNavBar', 'VPNavBar',
'VPNavBarMenu', 'VPNavBarMenu',
'VPNavScreenMenu' 'VPNavScreenMenu',
'VPFooter',
].map(componentName => ({ ].map(componentName => ({
find: new RegExp(`^.*\/${componentName}\.vue$`), find: new RegExp(`^.*\/${componentName}\.vue$`),
replacement: fileURLToPath( replacement: fileURLToPath(
@@ -125,6 +127,9 @@ export default defineConfigWithTheme<Theme.Config>({
) )
})), })),
}, },
plugins: [
Unocss(),
]
}, },
sitemap: { sitemap: {

View File

@@ -18,7 +18,7 @@ defineProps<{
.Feature { .Feature {
color: inherit; color: inherit;
display: block; display: block;
border: 1px solid var(--vp-c-bg-soft); border: 4px solid var(--vp-c-brand-soft);
border-radius: var(--vp-border-radius); border-radius: var(--vp-border-radius);
height: 100%; height: 100%;
overflow-x: hidden; overflow-x: hidden;

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,41 @@
<script lang="ts" setup>
import { computed } from 'vue'
const props = defineProps<{
href?: string
noIcon?: boolean
title?: string
}>()
const isExternal = computed(() => props.href && /^[a-z]+:/i.test(props.href))
</script>
<template>
<component
:is="href ? 'a' : 'span'"
:class="{ link: href }"
:href="href"
:target="isExternal ? '_blank' : 'self'"
:rel="isExternal ? 'noopener noreferrer' : undefined"
:title="title ? title : href"
>
<slot />
<label
v-if="isExternal && !noIcon"
i-ic-round-arrow-outward
:class="$style.icon"
/>
</component>
</template>
<style module>
.icon {
cursor: pointer;
display: inline-block;
margin-top: -2px;
margin-left: 4px;
width: 11px !important;
height: 11px !important;
transition: fill 0.25s;
}
</style>

View File

@@ -0,0 +1,12 @@
export const socialList = {
github: {
title: 'GitHub',
link: 'https://github.com/KotatsuApp',
icon: '<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg>',
},
telegram: {
title: 'Telegram',
link: 'https://t.me/kotatsuapp',
icon: '<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" viewBox="0 0 24 24"><circle cx="12" cy="12" r="12" fill="#039be5"></circle><path fill="#fff" d="m5.491 11.74 11.57-4.461c.537-.194 1.006.131.832.943l.001-.001-1.97 9.281c-.146.658-.537.818-1.084.508l-3-2.211-1.447 1.394c-.16.16-.295.295-.605.295l.213-3.053 5.56-5.023c.242-.213-.054-.333-.373-.121l-6.871 4.326-2.962-.924c-.643-.204-.657-.643.136-.953z"></path></svg>',
},
}

View File

@@ -7,6 +7,7 @@ import DefaultTheme from 'vitepress/theme-without-fonts'
import Layout from './components/Layout.vue' import Layout from './components/Layout.vue'
import './styles/global.css' import './styles/global.css'
import './styles/glightbox.css' import './styles/glightbox.css'
import 'uno.css'
export default { export default {
extends: DefaultTheme, extends: DefaultTheme,

View File

@@ -11,3 +11,18 @@ export namespace Theme {
name: Record<string, string> name: Record<string, string>
} }
} }
export interface CustomConfig {
footer: {
qrcodeTitle: string
qrcodeMessage: string
qrcodeLink: string
navigation: {
title: string
items: {
text: string
link: string
}[]
}[]
}
}

View File

@@ -5,6 +5,8 @@ import { normalize } from 'vitepress/dist/client/shared'
import { type Translator, translators } from '../../website/translators' import { type Translator, translators } from '../../website/translators'
import { Theme } from './types' import { Theme } from './types'
const markdownLinkRegexp = /.md((\?|#).*)?$/
export function findPath( export function findPath(
pageData: DocsPageData, pageData: DocsPageData,
config: UserConfig, config: UserConfig,
@@ -109,3 +111,80 @@ export function getTranslator(translator: string): Translator | undefined {
return translators[translator] 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))
}

View File

@@ -58,10 +58,14 @@
"dependencies": { "dependencies": {
"@octokit/rest": "20.0.2", "@octokit/rest": "20.0.2",
"@octokit/types": "12.0.0", "@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", "@xobotyi/scrollbar-width": "^1.9.5",
"glightbox": "^3.2.0", "glightbox": "^3.2.0",
"moment": "2.29.4", "moment": "2.29.4",
"qrcode": "^1.5.3",
"sass": "^1.64.2",
"unocss": "^0.54.2",
"uuid": "^9.0.0" "uuid": "^9.0.0"
}, },
"engines": { "engines": {

View File

@@ -5,4 +5,5 @@ lastUpdated: false
editLink: false editLink: false
prev: false prev: false
next: false next: false
footer: false
--- ---

View File

@@ -5,6 +5,7 @@ lastUpdated: false
editLink: false editLink: false
prev: false prev: false
next: false next: false
footer: false
--- ---
<script setup> <script setup>

View File

@@ -1,6 +1,7 @@
--- ---
title: Contribute title: Contribute
description: Find out how to help translate or build the app and parsers. description: Find out how to help translate or build the app and parsers.
footer: false
--- ---
# Contribute # Contribute

View File

@@ -1,6 +1,7 @@
--- ---
title: Parsers library title: Parsers library
description: Instructions for using the Kotatsu parser library. description: Instructions for using the Kotatsu parser library.
footer: false
--- ---
# Kotatsu parsers # Kotatsu parsers

View File

@@ -1,6 +1,7 @@
--- ---
title: Synchronization server title: Synchronization server
description: Instructions for installing the synchronization server. description: Instructions for installing the synchronization server.
footer: false
--- ---
# Synchronization server # Synchronization server

12
website/dmca/index.md Normal file
View File

@@ -0,0 +1,12 @@
---
title: DMCA discaimer
lastUpdated: false
editLink: false
prev: false
next: false
sidebar: false
footer: false
---
# DMCA discaimer
The developers of this application does not have any affiliation with the content available in the app. It is collecting from the sources freely available through any web browser.

View File

@@ -5,6 +5,7 @@ lastUpdated: false
editLink: false editLink: false
prev: false prev: false
next: false next: false
footer: false
--- ---
<script setup> <script setup>

View File

@@ -9,6 +9,7 @@ head:
- - meta - - meta
- name: robots - name: robots
content: noindex, nofollow content: noindex, nofollow
footer: false
--- ---
<script setup> <script setup>

View File

@@ -1,4 +1,5 @@
--- ---
title: Bookmarks title: Bookmarks
description: Frequently Asked Questions about Bookmarks. description: Frequently Asked Questions about Bookmarks.
footer: false
--- ---

View File

@@ -1,6 +1,7 @@
--- ---
title: Downloads title: Downloads
description: Frequently Asked Question about Downloads. description: Frequently Asked Question about Downloads.
footer: false
--- ---
# Downloads # Downloads

View File

@@ -5,4 +5,5 @@ lastUpdated: false
editLink: false editLink: false
prev: false prev: false
next: false next: false
footer: false
--- ---

View File

@@ -1,4 +1,5 @@
--- ---
title: Local storage title: Local storage
description: Frequently Asked Questions about Local storage. description: Frequently Asked Questions about Local storage.
footer: false
--- ---

View File

@@ -1,4 +1,5 @@
--- ---
title: Random title: Random
description: Frequently Asked Questions about Random. description: Frequently Asked Questions about Random.
footer: false
--- ---

View File

@@ -1,6 +1,7 @@
--- ---
title: Sources title: Sources
description: Frequently Asked Questions about Sources. description: Frequently Asked Questions about Sources.
footer: false
--- ---
# Sources # Sources

View File

@@ -1,4 +1,5 @@
--- ---
title: Suggestions title: Suggestions
description: Frequently Asked Questions about Suggestions. description: Frequently Asked Questions about Suggestions.
footer: false
--- ---

View File

@@ -2,6 +2,7 @@
title: Feed title: Feed
titleTemplate: Frequently Asked Questions titleTemplate: Frequently Asked Questions
description: Frequently Asked Questions about the Feed. description: Frequently Asked Questions about the Feed.
footer: false
--- ---
# Feed # Feed

View File

@@ -1,6 +1,7 @@
--- ---
title: General title: General
description: Frequently Asked Questions description: Frequently Asked Questions
footer: false
--- ---
# General # General

View File

@@ -1,6 +1,7 @@
--- ---
title: Miscellaneous title: Miscellaneous
description: Moments that can be useful, but not often. description: Moments that can be useful, but not often.
footer: false
--- ---
# Miscellaneous # Miscellaneous

View File

@@ -1,6 +1,7 @@
--- ---
title: Reader title: Reader
description: Frequently Asked Questions about the Reader. description: Frequently Asked Questions about the Reader.
footer: false
--- ---
# Reader # Reader

View File

@@ -1,6 +1,7 @@
--- ---
title: Settings title: Settings
description: Frequently Asked Questions about various app settings. description: Frequently Asked Questions about various app settings.
footer: false
--- ---
# Settings # Settings

View File

@@ -1,6 +1,7 @@
--- ---
title: Backups title: Backups
description: Backups helps you prevent losing your library if something happens. description: Backups helps you prevent losing your library if something happens.
footer: false
--- ---
# Backups # Backups

View File

@@ -1,6 +1,7 @@
--- ---
title: Categories title: Categories
description: Organize your favorite series effortlessly with categories. description: Organize your favorite series effortlessly with categories.
footer: false
--- ---
# Categories # Categories

View File

@@ -1,6 +1,7 @@
--- ---
title: Getting started title: Getting started
description: Essential information to help you get set up with Kotatsu. description: Essential information to help you get set up with Kotatsu.
footer: false
--- ---
<script setup lang="ts"> <script setup lang="ts">

View File

@@ -1,6 +1,7 @@
--- ---
title: Synchronization title: Synchronization
description: Allows you to continue reading on your device from where you left off on another device. description: Allows you to continue reading on your device from where you left off on another device.
footer: false
--- ---
# Synchronization # Synchronization

View File

@@ -1,6 +1,7 @@
--- ---
title: Tracking title: Tracking
description: Tracking helps track your library with different online services. description: Tracking helps track your library with different online services.
footer: false
--- ---
<script setup lang="ts"> <script setup lang="ts">

View File

@@ -1,6 +1,7 @@
--- ---
title: Common issues title: Common issues
description: Facing issues with a source or the app? Here's how to tackle common challenges. description: Facing issues with a source or the app? Here's how to tackle common challenges.
footer: false
--- ---
# Common issues # Common issues

View File

@@ -1,6 +1,7 @@
--- ---
title: Diagnosis title: Diagnosis
description: Facing issues with a source or the app? Follow these steps to troubleshoot and find solutions. description: Facing issues with a source or the app? Follow these steps to troubleshoot and find solutions.
footer: false
--- ---
# Diagnosis # Diagnosis

View File

@@ -1,6 +1,7 @@
--- ---
title: Troubleshooting title: Troubleshooting
description: Facing source or app issues? Here's how to troubleshoot. description: Facing source or app issues? Here's how to troubleshoot.
footer: false
--- ---
# Troubleshooting # Troubleshooting

View File

@@ -6,6 +6,7 @@ editLink: false
prev: false prev: false
next: false next: false
sidebar: false sidebar: false
footer: false
--- ---
# Privacy policy # Privacy policy

View File

@@ -0,0 +1,57 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Слой_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 1406.2 1406.2" style="enable-background:new 0 0 1406.2 1406.2;" xml:space="preserve">
<style type="text/css">
.st0{fill:#0058C9;}
.st1{display:none;}
.st2{display:inline;}
</style>
<path id="path" class="st0" d="M543,455.1c-28.3,10.2-52.8,48.5-64.7,100.8c-4.3,19.1-8.3,51.3-8.3,66.8v10.8l-12.8,20.1
c-35.7,55.6-68.4,113.5-99.1,175.2c-27.3,54.6-30.1,61.3-30.1,71c0,4.3,1.1,9.9,2.2,12.2c3.6,6.6,12.2,13.4,21.8,17l8.8,3.4
l357.4-0.1c347.5,0,357.4-0.2,362.9-2.9c17.9-9.3,23.6-28.4,14.4-48.3c-35-76.3-82.6-162.9-126-229.7l-10.5-16.2l-1.2-18.5
c-4.8-71-19.8-114.5-50.5-146.3c-13.3-13.6-18.4-16.7-27.8-16.8c-13.1,0-21.9,6-41.5,28.6c-19.3,22.2-23.3,27.5-36.7,47.4
c-6.6,9.7-14.8,21-18.2,25l-6.2,7.4h-64.2l-64.2-0.1l-13-19.9c-24.8-38.3-65.6-84.8-77.2-88C551.3,451.9,552.5,451.7,543,455.1z
M583.9,672.3c4.9,3.4,6.2,6.5,7.9,20.7c2.2,16.8,4.2,19.1,15.1,17.8c9.9-1.2,17.9,2,22.4,9.1c8.8,14.2-6.3,44-27.8,54.5
c-7.7,3.9-10.5,4.3-23.5,4.3c-12.5,0-15.8-0.6-21.6-3.7c-17.1-9-27.6-22.1-32-39.4c-2.2-9.1-2.3-11.9-0.6-19.9
c2.3-11.6,6.3-19.3,13.6-27.5C550.2,674,574.5,665.7,583.9,672.3z M857.1,673.7c4.8,4,5.1,5.3,7.4,23.8c1.4,11.3,4.8,14.7,13.9,13.3
c8.8-1.2,16.4,1.2,21.5,7.1c8.3,10,3.4,29.3-11.4,45.1c-11.9,12.7-19.3,15.6-38,15.8c-14.2,0-16-0.3-23.5-4.5
c-11.1-6.2-21.1-16.4-26.2-26.9c-3.4-7-4.5-11.4-4.9-21.5c-0.5-11.6,0-13.7,4.2-22.5c7.7-16.7,19.5-27,35.7-31.3
C846.8,668.9,852,669.4,857.1,673.7z"/>
<g class="st1">
<path class="st2" d="M1806.5,939.2V464h88.3v475.3H1806.5z M1885.3,827.2l-4.8-104.5L2129.7,464h99.1l-207.1,220l-48.9,53.6
L1885.3,827.2z M2137.8,939.2l-181.9-216.6l58.4-64.5L2241,939.2L2137.8,939.2L2137.8,939.2z"/>
<path class="st2" d="M2440.6,944c-37.1,0-70.2-8-99.1-24.1c-29-16.1-51.8-38.1-68.6-66.2c-16.8-28.1-25.1-60-25.1-95.7
c0-36.2,8.4-68.2,25.1-96.1c16.7-27.8,39.6-49.7,68.6-65.5c29-15.8,62-23.8,99.1-23.8c37.6,0,70.9,7.9,100.1,23.8
c29.2,15.9,52.1,37.6,68.6,65.2c16.5,27.6,24.8,59.8,24.8,96.4c0,35.8-8.3,67.7-24.8,95.7c-16.5,28.1-39.4,50.1-68.6,66.2
C2511.6,936,2478.2,944,2440.6,944z M2440.6,871.3c20.8,0,39.4-4.5,55.7-13.6c16.3-9,29.1-22.2,38.4-39.4
c9.3-17.2,13.9-37.3,13.9-60.4c0-23.5-4.6-43.8-13.9-60.8c-9.3-17-22.1-30-38.4-39c-16.3-9-34.6-13.6-55-13.6
c-20.8,0-39.3,4.5-55.3,13.6c-16.1,9-28.8,22.1-38.3,39c-9.5,17-14.3,37.2-14.3,60.8c0,23.1,4.8,43.2,14.3,60.4
c9.5,17.2,22.3,30.3,38.3,39.4C2402,866.8,2420.3,871.3,2440.6,871.3z"/>
<path class="st2" d="M2667.4,647.3v-67.9h241.7v67.9H2667.4z M2852.1,944c-39.8,0-70.6-10.3-92.3-30.9
c-21.7-20.6-32.6-51-32.6-91.3V496.6h84.9v323.2c0,17.2,4.4,30.5,13.2,40.1c8.8,9.5,21.1,14.3,37,14.3c19,0,34.9-5,47.5-14.9
l23.8,60.4c-9.9,8.2-22.2,14.3-36.7,18.3C2882.4,941.9,2867.4,944,2852.1,944z"/>
<path class="st2" d="M3112.8,944c-27.2,0-50.9-4.6-71.3-13.9c-20.4-9.3-36.1-22.2-47.2-38.7c-11.1-16.5-16.6-35.2-16.6-56
c0-20.4,4.9-38.7,14.6-55c9.7-16.3,25.7-29.2,47.9-38.7c22.2-9.5,51.6-14.3,88.3-14.3h105.2v56.3h-99.1c-29,0-48.4,4.7-58.4,13.9
c-10,9.3-14.9,20.7-14.9,34.3c0,15.4,6.1,27.6,18.3,36.7c12.2,9.1,29.2,13.6,50.9,13.6c20.8,0,39.5-4.8,56-14.3
c16.5-9.5,28.4-23.5,35.6-42.1l14.3,50.9c-8.1,21.3-22.7,37.8-43.8,49.6C3171.5,938.1,3144.9,944,3112.8,944z M3226.8,939.2v-73.3
l-4.8-15.6V722c0-24.9-7.5-44.2-22.4-58c-14.9-13.8-37.6-20.7-67.9-20.7c-20.4,0-40.4,3.2-60.1,9.5c-19.7,6.3-36.3,15.2-49.9,26.5
l-33.3-61.8c19.4-14.9,42.6-26.1,69.6-33.6c26.9-7.5,54.9-11.2,83.8-11.2c52.5,0,93.1,12.6,121.9,37.7
c28.7,25.1,43.1,63.9,43.1,116.4v212.5L3226.8,939.2L3226.8,939.2z"/>
<path class="st2" d="M3367.4,647.3v-67.9h241.7v67.9H3367.4z M3552,944c-39.8,0-70.6-10.3-92.3-30.9c-21.7-20.6-32.6-51-32.6-91.3
V496.6h84.9v323.2c0,17.2,4.4,30.5,13.2,40.1c8.8,9.5,21.1,14.3,37,14.3c19,0,34.9-5,47.5-14.9l23.8,60.4
c-9.9,8.2-22.2,14.3-36.7,18.3C3582.3,941.9,3567.4,944,3552,944z"/>
<path class="st2" d="M3815.5,944c-30.3,0-59.4-4-87.2-11.9c-27.8-7.9-49.9-17.5-66.2-28.9l32.6-64.5c16.3,10.4,35.8,19,58.4,25.8
c22.6,6.8,45.3,10.2,67.9,10.2c26.7,0,46-3.6,58-10.9c12-7.2,18-17,18-29.2c0-10-4.1-17.5-12.2-22.8c-8.1-5.2-18.8-9.2-31.9-11.9
c-13.1-2.7-27.7-5.2-43.8-7.5c-16.1-2.3-32.1-5.3-48.2-9.2c-16.1-3.8-30.7-9.5-43.8-17c-13.1-7.5-23.8-17.5-31.9-30.2
c-8.1-12.7-12.2-29.4-12.2-50.2c0-23.1,6.6-43.1,19.7-60.1c13.1-17,31.6-30.1,55.3-39.4c23.8-9.3,51.9-13.9,84.5-13.9
c24.4,0,49.1,2.7,74,8.1c24.9,5.4,45.5,13.1,61.8,23.1l-32.6,64.5c-17.2-10.4-34.5-17.5-51.9-21.4c-17.4-3.8-34.7-5.8-51.9-5.8
c-25.8,0-44.9,3.9-57.4,11.5c-12.4,7.7-18.7,17.4-18.7,29.2c0,10.9,4.1,19,12.2,24.4c8.1,5.4,18.8,9.7,31.9,12.9
c13.1,3.2,27.7,5.8,43.8,7.8c16.1,2,32,5.1,47.9,9.2c15.8,4.1,30.4,9.6,43.8,16.6c13.3,7,24.1,16.9,32.3,29.5
c8.1,12.7,12.2,29.2,12.2,49.6c0,22.6-6.7,42.3-20,59.1c-13.4,16.8-32.3,29.8-56.7,39C3878.6,939.3,3849.4,944,3815.5,944z"/>
<path class="st2" d="M4206.5,944c-30.8,0-57.9-5.8-81.5-17.3c-23.5-11.5-41.9-29.2-55-53c-13.1-23.8-19.7-53.7-19.7-90V576.7h84.9
v195.5c0,32.6,7.4,56.9,22.1,73c14.7,16.1,35.6,24.1,62.8,24.1c19.9,0,37.2-4.1,51.9-12.2c14.7-8.1,26.2-20.4,34.6-36.7
c8.4-16.3,12.6-36.4,12.6-60.4V576.7h84.9v362.5h-80.8v-97.8l14.3,29.9c-12.2,23.5-30.1,41.5-53.6,54
C4260.4,937.8,4234.6,944,4206.5,944z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

@@ -0,0 +1,55 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Слой_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 4864.1 1406.2" style="enable-background:new 0 0 4864.1 1406.2;" xml:space="preserve">
<style type="text/css">
.st0{fill:#0058C9;}
</style>
<path id="path" class="st0" d="M677.3,466.5c-28.3,10.2-52.8,48.5-64.7,100.8c-4.3,19.1-8.3,51.3-8.3,66.8v10.8L591.5,665
c-35.7,55.6-68.4,113.5-99.1,175.2c-27.3,54.6-30.1,61.3-30.1,71c0,4.3,1.1,9.9,2.2,12.2c3.6,6.6,12.2,13.4,21.8,17l8.8,3.4
l357.4-0.1c347.5,0,357.4-0.2,362.9-2.9c17.9-9.3,23.6-28.4,14.4-48.3c-35-76.3-82.6-162.9-126-229.7l-10.5-16.2l-1.2-18.5
c-4.8-71-19.8-114.5-50.5-146.3c-13.3-13.6-18.4-16.7-27.8-16.8c-13.1,0-21.9,6-41.5,28.6c-19.3,22.2-23.3,27.5-36.7,47.4
c-6.6,9.7-14.8,21-18.2,25l-6.2,7.4h-64.2l-64.2-0.1l-13-19.9c-24.8-38.3-65.6-84.8-77.2-88C685.6,463.2,686.9,463.1,677.3,466.5z
M718.2,683.7c4.9,3.4,6.2,6.5,7.9,20.7c2.2,16.8,4.2,19.1,15.1,17.8c9.9-1.2,17.9,2,22.4,9.1c8.8,14.2-6.3,44-27.8,54.5
c-7.7,3.9-10.5,4.3-23.5,4.3c-12.5,0-15.8-0.6-21.6-3.7c-17.1-9-27.6-22.1-32-39.4c-2.2-9.1-2.3-11.9-0.6-19.9
c2.3-11.6,6.3-19.3,13.6-27.5C684.6,685.4,708.8,677,718.2,683.7z M991.4,685.1c4.8,4,5.1,5.3,7.4,23.8c1.4,11.3,4.8,14.7,13.9,13.3
c8.8-1.2,16.4,1.2,21.5,7.1c8.3,10,3.4,29.3-11.4,45.1c-11.9,12.7-19.3,15.6-38,15.8c-14.2,0-16-0.3-23.5-4.5
c-11.1-6.2-21.1-16.4-26.2-26.9c-3.4-7-4.5-11.4-4.9-21.5c-0.5-11.6,0-13.7,4.2-22.5c7.7-16.7,19.5-27,35.7-31.3
C981.1,680.3,986.3,680.7,991.4,685.1z"/>
<g>
<path d="M1804.3,939.2V464h88.3v475.3H1804.3z M1883,827.2l-4.8-104.5L2127.5,464h99.1l-207.1,220l-48.9,53.6L1883,827.2z
M2135.6,939.2l-182-216.6l58.4-64.5l226.8,281.1L2135.6,939.2L2135.6,939.2z"/>
<path d="M2438.4,944c-37.1,0-70.2-8-99.1-24.1c-29-16.1-51.8-38.1-68.6-66.2c-16.8-28.1-25.1-60-25.1-95.7
c0-36.2,8.4-68.2,25.1-96.1c16.7-27.8,39.6-49.7,68.6-65.5c29-15.8,62-23.8,99.1-23.8c37.6,0,70.9,7.9,100.1,23.8
c29.2,15.9,52.1,37.6,68.6,65.2c16.5,27.6,24.8,59.8,24.8,96.4c0,35.8-8.3,67.7-24.8,95.7c-16.5,28.1-39.4,50.1-68.6,66.2
C2509.3,936,2476,944,2438.4,944z M2438.4,871.3c20.8,0,39.4-4.5,55.7-13.6c16.3-9,29.1-22.2,38.4-39.4
c9.3-17.2,13.9-37.3,13.9-60.4c0-23.5-4.6-43.8-13.9-60.8c-9.3-17-22.1-30-38.4-39c-16.3-9-34.6-13.6-55-13.6
c-20.8,0-39.3,4.5-55.3,13.6c-16.1,9-28.9,22.1-38.4,39c-9.5,17-14.3,37.2-14.3,60.8c0,23.1,4.8,43.2,14.3,60.4
c9.5,17.2,22.3,30.3,38.4,39.4C2399.8,866.8,2418,871.3,2438.4,871.3z"/>
<path d="M2665.2,647.3v-67.9h241.7v67.9H2665.2z M2849.8,944c-39.8,0-70.6-10.3-92.3-30.9c-21.7-20.6-32.6-51-32.6-91.3V496.6h84.9
v323.2c0,17.2,4.4,30.5,13.2,40.1c8.8,9.5,21.1,14.3,37,14.3c19,0,34.9-5,47.5-14.9l23.8,60.4c-9.9,8.2-22.2,14.3-36.7,18.3
C2880.1,941.9,2865.2,944,2849.8,944z"/>
<path d="M3110.5,944c-27.2,0-50.9-4.6-71.3-13.9c-20.4-9.3-36.1-22.2-47.2-38.7c-11.1-16.5-16.6-35.2-16.6-56
c0-20.4,4.9-38.7,14.6-55c9.7-16.3,25.7-29.2,47.9-38.7c22.2-9.5,51.6-14.3,88.3-14.3h105.2v56.3h-99.1c-29,0-48.4,4.7-58.4,13.9
c-10,9.3-14.9,20.7-14.9,34.3c0,15.4,6.1,27.6,18.3,36.7c12.2,9.1,29.2,13.6,50.9,13.6c20.8,0,39.5-4.8,56-14.3
c16.5-9.5,28.4-23.5,35.6-42.1l14.3,50.9c-8.1,21.3-22.7,37.8-43.8,49.6C3169.3,938.1,3142.7,944,3110.5,944z M3224.6,939.2v-73.3
l-4.8-15.6V722c0-24.9-7.5-44.2-22.4-58c-14.9-13.8-37.6-20.7-67.9-20.7c-20.4,0-40.4,3.2-60.1,9.5c-19.7,6.3-36.3,15.2-49.9,26.5
l-33.3-61.8c19.4-14.9,42.6-26.1,69.6-33.6c26.9-7.5,54.9-11.2,83.8-11.2c52.5,0,93.1,12.6,121.9,37.7
c28.7,25.1,43.1,63.9,43.1,116.4v212.5L3224.6,939.2L3224.6,939.2z"/>
<path d="M3365.1,647.3v-67.9h241.7v67.9H3365.1z M3549.8,944c-39.8,0-70.6-10.3-92.3-30.9c-21.7-20.6-32.6-51-32.6-91.3V496.6h84.9
v323.2c0,17.2,4.4,30.5,13.2,40.1c8.8,9.5,21.1,14.3,37,14.3c19,0,34.9-5,47.5-14.9l23.8,60.4c-9.9,8.2-22.2,14.3-36.7,18.3
C3580.1,941.9,3565.2,944,3549.8,944z"/>
<path d="M3813.2,944c-30.3,0-59.4-4-87.2-11.9c-27.8-7.9-49.9-17.5-66.2-28.9l32.6-64.5c16.3,10.4,35.8,19,58.4,25.8
c22.6,6.8,45.3,10.2,67.9,10.2c26.7,0,46-3.6,58-10.9c12-7.2,18-17,18-29.2c0-10-4.1-17.5-12.2-22.8c-8.1-5.2-18.8-9.2-31.9-11.9
c-13.1-2.7-27.7-5.2-43.8-7.5c-16.1-2.3-32.1-5.3-48.2-9.2c-16.1-3.8-30.7-9.5-43.8-17c-13.1-7.5-23.8-17.5-31.9-30.2
c-8.1-12.7-12.2-29.4-12.2-50.2c0-23.1,6.6-43.1,19.7-60.1c13.1-17,31.6-30.1,55.3-39.4c23.8-9.3,51.9-13.9,84.5-13.9
c24.4,0,49.1,2.7,74,8.1c24.9,5.4,45.5,13.1,61.8,23.1l-32.6,64.5c-17.2-10.4-34.5-17.5-51.9-21.4c-17.4-3.8-34.7-5.8-51.9-5.8
c-25.8,0-44.9,3.9-57.4,11.5c-12.4,7.7-18.7,17.4-18.7,29.2c0,10.9,4.1,19,12.2,24.4c8.1,5.4,18.8,9.7,31.9,12.9
c13.1,3.2,27.7,5.8,43.8,7.8c16.1,2,32,5.1,47.9,9.2c15.8,4.1,30.4,9.6,43.8,16.6c13.3,7,24.1,16.9,32.3,29.5
c8.1,12.7,12.2,29.2,12.2,49.6c0,22.6-6.7,42.3-20,59.1c-13.4,16.8-32.3,29.8-56.7,39C3876.4,939.3,3847.2,944,3813.2,944z"/>
<path d="M4204.3,944c-30.8,0-57.9-5.8-81.5-17.3c-23.5-11.5-41.9-29.2-55-53c-13.1-23.8-19.7-53.7-19.7-90V576.7h84.9v195.5
c0,32.6,7.4,56.9,22.1,73c14.7,16.1,35.6,24.1,62.8,24.1c19.9,0,37.2-4.1,51.9-12.2c14.7-8.1,26.2-20.4,34.6-36.7
c8.4-16.3,12.6-36.4,12.6-60.4V576.7h84.9v362.5H4321v-97.8l14.3,29.9c-12.2,23.5-30.1,41.5-53.6,54
C4258.1,937.8,4232.3,944,4204.3,944z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.1 KiB

View File

@@ -9,6 +9,7 @@ head:
- - meta - - meta
- name: robots - name: robots
content: noindex, nofollow content: noindex, nofollow
footer: false
--- ---
# Sandbox # Sandbox

View File

@@ -4,6 +4,7 @@ description: Style guide to aid website content contributors.
lang: en-US lang: en-US
sitemap: sitemap:
exclude: true exclude: true
footer: false
--- ---
# Style guide # Style guide