chore: some changes

main
Zakhar Timoshenko 2 years ago
parent fcc28fb943
commit ceb7bac937
Signed by: Xtimms
SSH Key Fingerprint: SHA256:wH6spYepK/A5erBh7ZyAnr1ru9H4eaMVBEuiw6DSpxI

@ -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 = 'Простая и удобная читалка манги с открытым исходным кодом от сообщества и для сообщества, где вы можете найти и читать вашу любимую мангу проще как никогда.' export const META_DESCRIPTION = 'Простая и удобная читалка манги с открытым исходным кодом от сообщества и для сообщества, где вы можете найти и читать вашу любимую мангу проще как никогда.'
@ -45,7 +46,7 @@ export const config: LocaleConfig<Theme.Config> = {
nav: getNav(), nav: getNav(),
sidebar: { sidebar: {
"/": defaultSidebar(),
}, },
outline: { outline: {
@ -70,16 +71,147 @@ 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: 'Предложить изменения на этой странице', text: 'Предложить изменения на этой странице',
}, },
footer: { footer: baseHelper(getFooter(), ''),
message: "<a href=\"https://www.gnu.org/licenses/gpl-3.0.en.html\" target=\"_blank\">Лицензия GPL-3.0</a> <span class=\"divider\">|</span> <a href=\"/privacy/\">Политика конфиденциальности</a>",
copyright: `Copyright © 2020 - ${new Date().getFullYear()} Kotatsu Developers`,
},
sections: sections sections: sections
}, },
} }
} }
function defaultSidebar(): DefaultTheme.SidebarItem[] {
return [
{
text: "General sections",
items: [
{
text: "Download",
link: "/download/",
},
/* {
text: "Parsers",
link: "/parsers/",
}, */
{
text: "Changelogs",
link: "/changelogs/",
},
],
},
/* {
text: "Other projects",
items: [
{
text: "Kotatsu SSIV"
},
{
text: "kotatsu-dl"
}
]
}, */
{
text: "Frequently Asked Questions",
items: [
{ text: "General", link: "/manuals/faq/general/" },
{
text: "Feed",
link: "/manuals/faq/feed/",
},
{
text: "Explore",
link: "/manuals/faq/explore/",
collapsed: true,
items: [
{
text: "Sources",
link: "/manuals/faq/explore/sources/"
},
/* {
text: "Local storage",
link: "/manuals/faq/explore/local-storage",
}, */
/* {
text: "Bookmarks",
link: "/manuals/faq/explore/bookmarks",
},
{
text: "Random",
link: "/manuals/faq/explore/random",
}, */
{
text: "Downloads",
link: "/manuals/faq/explore/downloads/",
},
/* {
text: "Suggestions",
link: "/manuals/faq/explore/suggestions",
}, */
],
},
{
text: "Reader",
link: "/manuals/faq/reader/",
},
{
text: "Settings",
link: "/manuals/faq/settings/",
},
{
text: "Miscellaneous",
link: "/manuals/faq/miscellaneous/"
}
],
},
{
text: "Guides",
items: [
{
text: "Getting started",
link: "/manuals/guides/getting-started/",
},
{
text: "Troubleshooting",
link: "/manuals/guides/troubleshooting/",
collapsed: true,
items: [
{
text: "Common issues",
link: "/manuals/guides/troubleshooting/common-issues/",
},
{
text: "Diagnosis",
link: "/manuals/guides/troubleshooting/diagnosis/",
},
],
},
{ text: "Backups", link: "/manuals/guides/backups/" },
{ text: "Tracking", link: "/manuals/guides/tracking/" },
{ text: "Categories", link: "/manuals/guides/categories/" },
{
text: "Synchronization",
link: "/manuals/guides/synchronization/"
}
],
},
{
text: "For developers",
items: [
{
text: "Contribute",
link: "/dev/contribute/",
},
{
text: "Parsers library",
link: "/dev/parsers-library/",
},
{
text: "Synchronization server",
link: "/dev/sync-server/",
},
]
}
]
}
function getNav(): DefaultTheme.NavItem[] { function getNav(): DefaultTheme.NavItem[] {
return [ return [
{ {
@ -91,20 +223,48 @@ function getNav(): DefaultTheme.NavItem[] {
link: "/ru/download/", link: "/ru/download/",
}, },
{ {
text: "Изменения в версиях", text: "Чейнджлоги",
link: "/ru/changelogs/", link: "/ru/changelogs/",
}, },
], ],
}, },
{ {
text: "Инструкции", text: "Руководства",
link: "/ru/manuals/guides/getting-started", link: "/ru/manuals/guides/getting-started/",
activeMatch: "/ru/manuals/", activeMatch: "/ru/manuals/",
}, },
{ /* {
text: "Новости", text: "Desktop app",
link: "/ru/news/", link: "/desktop/",
activeMatch: "/ru/news/", activeMatch: "/desktop/",
}, }, */
/* {
text: "News",
link: "/news/",
activeMatch: "/news/"
} */
] ]
}
function getFooter(): CustomConfig['footer'] {
return {
qrcodeTitle: 'Чат в Telegram',
qrcodeMessage: 'Присоеднияйтесь!',
qrcodeLink: 'https://t.me/kotatsuapp',
navigation: [
{
title: 'Legal',
items: [
{
text: 'Конфиденциальность',
link: '/ru/privacy/',
},
{
text: 'DMCA дисклеймер',
link: '/ru/dmca/',
},
],
},
],
}
} }

@ -0,0 +1,10 @@
import { type Ref, computed } from 'vue'
import { useData } from 'vitepress'
export interface Data {
lang: Ref<string>
}
const { lang }: Data = useData()
export const main_three_dots = computed<string>(() => (lang.value === 'ru') ? ('Переводчик') : ((lang.value === 'ua') ? ('Перекладач') : ('Translator')))

@ -12,7 +12,7 @@ const changelog = computed(() => {
const flavoredString = (release[type.value].body ?? "") const flavoredString = (release[type.value].body ?? "")
.replace(/(?<=\(|(, ))@(.*?)(?=\)|(, ))/g, "[@$2](https://github.com/$2)") .replace(/(?<=\(|(, ))@(.*?)(?=\)|(, ))/g, "[@$2](https://github.com/$2)")
.replace("https://github.com/KotatsuApp/Kotatsu/releases", "/changelogs/") .replace("https://github.com/KotatsuApp/Kotatsu/releases", "/changelogs/")
.replace("##", "-") .replace(/## [ \t]*([^\n\r]*)/g, "### $1")
return md.render(flavoredString) return md.render(flavoredString)
}) })
@ -72,34 +72,6 @@ const changelog = computed(() => {
color: var(--vp-c-text-2) color: var(--vp-c-text-2)
font-size: 0.9rem font-size: 0.9rem
} }
table {
border-radius: 8px
border-collapse: collapse
border: 1px solid var(--vp-c-divider)
tr,
th,
td {
border: none
width: 100%
}
tbody tr {
border-top: 1px solid var(--vp-c-divider)
}
tr > td {
&:first-child {
color: var(--vp-c-text-2)
}
&:last-child {
font-family: var(--vp-font-family-mono)
font-size: var(--vp-code-font-size)
}
}
}
} }
.fullChangelog { .fullChangelog {

@ -13,6 +13,7 @@ function renderMarkdown(string: string | null | undefined) {
.replace(/#(\d+)/g, "[#$1](https://github.com/KotatsuApp/Kotatsu/issues/$1)") .replace(/#(\d+)/g, "[#$1](https://github.com/KotatsuApp/Kotatsu/issues/$1)")
.replace(/^Check out the .*past release notes.* if you're.*$/m, "") .replace(/^Check out the .*past release notes.* if you're.*$/m, "")
.replace(/https\:\/\/github.com\/KotatsuApp\/Kotatsu\/releases\/tag\/(.*?)/g, "#$1") .replace(/https\:\/\/github.com\/KotatsuApp\/Kotatsu\/releases\/tag\/(.*?)/g, "#$1")
.replace(/## [ \t]*([^\n\r]*)/g, "### $1")
.trim() .trim()
return md.render(flavoredString) return md.render(flavoredString)

@ -29,28 +29,6 @@ function handleAnalytics() {
<template> <template>
<div> <div>
<div v-if="!isAndroid" class="custom-block danger">
<p class="custom-block-title">
Unsupported operating system
</p>
<p>
<strong>Kotatsu</strong> is an <strong>Android app</strong> only.
Use an <strong>Android device</strong> to download and install the app.
</p>
</div>
<div v-if="!isAndroid" class="custom-block warning">
<p class="custom-block-title">
Caution
</p>
<p>
Any app for any operating systems other than Android called
<strong>Kotatsu</strong> (except kotatsu-dl) is not affiliated with this project.
</p>
<blockquote>
For more information, read the
<a href="/manuals/faq/general">General FAQ</a>.
</blockquote>
</div>
<div class="download-buttons"> <div class="download-buttons">
<a <a
class="download-button primary" class="download-button primary"
@ -93,10 +71,7 @@ function handleAnalytics() {
font-size: 16px; font-size: 16px;
font-weight: 500; font-weight: 500;
transition: all 0.25s, color 0.25s; transition: all 0.25s, color 0.25s;
} text-decoration: none !important;
.download-button:hover {
text-decoration: none !important;
} }
.download-button.primary { .download-button.primary {
@ -144,10 +119,11 @@ svg {
.text { .text {
margin-right: 10px; margin-right: 10px;
font-weight: bold;
} }
.version { .version {
font-size: 0.8em; font-size: 1em;
} }
.version-disclaimer { .version-disclaimer {

@ -1,3 +1,12 @@
<script setup lang="ts">
export interface Feature {
title: string
subtitle: string
}
</script>
<template> <template>
<div class="FeatureTitle"> <div class="FeatureTitle">
<div class="container"> <div class="container">

@ -51,7 +51,6 @@ watchPostEffect(() => {
<VPNavBarSearch class="search" /> <VPNavBarSearch class="search" />
<VPNavBarMenu class="menu" /> <VPNavBarMenu class="menu" />
<VPNavBarTranslations class="translations" /> <VPNavBarTranslations class="translations" />
<VPNavBarAppearance class="appearance" />
<VPNavBarSocialLinks class="social-links" /> <VPNavBarSocialLinks class="social-links" />
<VPNavBarExtra class="extra" /> <VPNavBarExtra class="extra" />
<slot name="nav-bar-content-after" /> <slot name="nav-bar-content-after" />

@ -60,7 +60,7 @@ representative at an online or offline event.
Instances of abusive, harassing, or otherwise unacceptable behavior may be Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at reported to the community leaders responsible for enforcement at
support@modx.pro. Telegram group - https://t.me/kotatsuapp.
All complaints will be reviewed and investigated promptly and fairly. All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the All community leaders are obligated to respect the privacy and security of the

@ -44,6 +44,7 @@
"vue3-carousel": "0.3.1", "vue3-carousel": "0.3.1",
"vite-plugin-rewrite-all": "1.0.1", "vite-plugin-rewrite-all": "1.0.1",
"vitepress": "^1.0.0-rc.20", "vitepress": "^1.0.0-rc.20",
"vitepress-plugin-nprogress": "0.0.4",
"vitepress-plugin-tabs": "0.4.1", "vitepress-plugin-tabs": "0.4.1",
"vue": "^3.3.4", "vue": "^3.3.4",
"x-satori": "0.1.5" "x-satori": "0.1.5"

@ -3,6 +3,11 @@ const telegram = `<svg xmlns="http://www.w3.org/2000/svg" enable-background="new
<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> <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>` </svg>`
const fdroid = `<svg fill="#000000" width="800px" height="800px" viewBox="0 0 24 24" role="img" xmlns="http://www.w3.org/2000/svg">
<path d="M20.472 10.081H3.528a1.59 1.59 0 0 0-1.589 1.589v10.59a1.59 1.59 0 0 0 1.589 1.589h16.944a1.59 1.59 0 0 0 1.589-1.589V11.67a1.59 1.59 0 0 0-1.589-1.589zM12 22.525c-3.066 0-5.56-2.494-5.56-5.56s2.494-5.56 5.56-5.56c3.066 0 5.56 2.494 5.56 5.56s-2.494 5.56-5.56 5.56zm0-10.114c-2.511 0-4.554 2.043-4.554 4.554S9.489 21.519 12 21.519s4.554-2.043 4.554-4.554-2.043-4.554-4.554-4.554zm0 7.863a3.322 3.322 0 0 1-3.221-2.568h1.67c.275.581.859.979 1.551.979.96 0 1.721-.761 1.721-1.721 0-.96-.761-1.721-1.721-1.721a1.7 1.7 0 0 0-1.493.874H8.805A3.322 3.322 0 0 1 12 13.655a3.321 3.321 0 0 1 3.309 3.309A3.321 3.321 0 0 1 12 20.274zM23.849.396l-.002.003-.006-.005.004-.004a.668.668 0 0 0-.519-.238.654.654 0 0 0-.512.259l-1.818 2.353a1.564 1.564 0 0 0-.523-.095H3.528c-.184 0-.358.038-.523.095L1.187.41A.657.657 0 0 0 .156.389L.16.393.153.399.151.396a.662.662 0 0 0-.012.824l1.909 2.471a1.587 1.587 0 0 0-.108.566v3.707a1.59 1.59 0 0 0 1.589 1.589h16.944a1.59 1.59 0 0 0 1.589-1.589V4.257c0-.2-.041-.39-.109-.566l1.909-2.471a.663.663 0 0 0-.013-.824zM6.904 8.228a1.787 1.787 0 1 1 0-3.574 1.787 1.787 0 0 1 0 3.574zm10.325 0a1.787 1.787 0 1 1 0-3.574 1.787 1.787 0 0 1 0 3.574z"/>
</svg>`
export { export {
telegram, telegram,
fdroid,
} }

@ -9,10 +9,9 @@ Allows you to continue reading on your device from where you left off on another
List of official servers: List of official servers:
| Domain | IP:Port | Location | | Domain | Location | Status |
| ---------------- | ------------------ | ---------------- | | ---------------- | --------------- | --------------------------------------------- |
| sync.kotatsu.app | 86.57.183.214:8081 | Belarus | | sync.kotatsu.app | Belarus | ![](https://status.kotatsu.app/api/badge/1/status) |
| - | 86.57.183.214:1337 | Belarus (Mirror) |
## What is synchronization? ## What is synchronization?
Synchronization is needed to store your collection of favorites, history and categories and have remote access to them. On a synchronized device, you can restore your manga collection in real time without loss. It also supports working across multiple devices. It is convenient for those who use several devices. Synchronization is needed to store your collection of favorites, history and categories and have remote access to them. On a synchronized device, you can restore your manga collection in real time without loss. It also supports working across multiple devices. It is convenient for those who use several devices.

@ -3,27 +3,54 @@ title: Kotatsu
layout: home layout: home
main: main:
title: Kotatsu title: Манга в вашем кармане
text: Читалка манги tagline: Простая и удобная программа для чтения манги с открытым исходным кодом, созданная сообществом и для сообщества, где вы можете найти и прочитать свою любимую мангу проще, чем когда-либо.
tagline: Простая и удобная читалка манги с открытым исходным кодом от сообщества и для сообщества, где вы можете найти и читать вашу любимую мангу проще как никогда. image:
alt: Kotatsu Logo
light: /phone_light.webp
dark: /phone_dark.webp
actions: actions:
- theme: brand - theme: brand
text: Приступить к изучению
link: /manuals/guides/getting-started
- theme: alt
text: Скачать text: Скачать
link: /download/ link: /download/
- theme: alt
text: Руководства
link: /manuals/guides/getting-started/
features: features:
- icon: ⚡️ - image:
title: Adocs, The DX that can't be beat alt: Feature Sources
details: Lorem ipsum... light: /img/feature_sources-light.webp
- icon: 🎉 dark: /img/feature_sources-dark.webp
title: Power of Vue meets Markdown title: Огромное количество источников
details: Lorem ipsum... details: Поддерживает более 500 источников
- icon: 🔥 - image:
title: Simple and minimal, always alt: Feature Reader
details: Lorem ipsum... light: /img/feature_reader-light.webp
- icon: 🎀 dark: /img/feature_reader-dark.webp
title: Stylish and cool title: Настраиваемая читалка
details: Lorem ipsum... details: Сделайте чтение еще более удобным с помощью различных настроек читалки
- image:
alt: Feature Tracking
light: /img/feature_tracking-light.webp
dark: /img/feature_tracking-dark.webp
title: Поддерживает трекинг
details: Приложение умеет работать с MyAnimeList, Anilist и Shikimori
- image:
alt: Feature Search
light: /img/feature_search-light.webp
dark: /img/feature_search-dark.webp
title: Умный поиск
details: Быстрый и удобный поиск нужных тайтлов
- image:
alt: Feature Downloads
light: /img/feature_downloads-light.webp
dark: /img/feature_downloads-dark.webp
title: Можно скачивать тайтлы
details: Удобно, если вы находитесь в дороге или если ограничен интернет-трафик.
- image:
alt: Feature Sync
light: /img/feature_sync-light.webp
dark: /img/feature_sync-dark.webp
title: Синхронизация
details: Удобная синхронизация серий между вашими устройствами.
--- ---

@ -1,32 +0,0 @@
---
title: Getting started
description: Essential information to help you get set up with Kotatsu.
---
<script setup lang="ts">
import { data as release } from "@theme/data/release.data"
</script>
# Getting started
Essential information to help you get set up with Kotatsu.
## Installation guide
### 1. Downloading Kotatsu
1. Visit our [download](/download/) page to get the latest version of **Kotatsu**.
1. After the download is complete, open the `kotatsu-{{ release.stable.tag_name }}-release.apk` file.
1. Proceed with the installation process.
### Trouble finding a specific series?
If you encounter difficulties while searching for a specific series, consider the following points:
* Double-check your spelling and try again, as some sources might use **Japanese romanized** titles instead of **English** ones.
> Example: **Boku no Hero Academia** instead of **My Hero Academia**.
* Some sources may use different spellings or wordings for titles.
> Example: **Bungo Stray Dogs** instead of **Bungou Stray Dogs**
> Example: **3-gatsu no Lion** instead of **Sangatsu no Lion**.

@ -0,0 +1,64 @@
---
title: Getting started
description: Essential information to help you get set up with Kotatsu.
footer: false
---
<script setup lang="ts">
import { data as release } from "@theme/data/release.data"
</script>
# Getting started
Essential information to help you get set up with Kotatsu.
## Installation guide
### Downloading Kotatsu
1. Visit our [download](/download/) page to get the latest version of **Kotatsu**.
1. After the download is complete, open the `kotatsu-{{ release.stable.tag_name }}-release.apk` file.
1. Proceed with the installation process.
### Selecting sources depending on languages
At the first launch, a dialog with a list of source languages available in the application will appear. By default, the languages that are on the Android system and multilingual sources will be enabled.
<img src="/manuals/guides/getting-started/welcome.png" alt="Welcome screen" width="500"/>
::: tip
You can organize the list of sources in <nav to="explore_manage_sources">
:::
### Adding series to your favourites
Here's how you can add series to your favourites:
1. Select the source you'd like to browse.
1. Once you've found the series that you want to add, tap on it for more details.
1. Press the heart button on toolbar, choose category or create new one, and the series will be added to your favourites.
<img src="/manuals/guides/getting-started/add-to-favourites.png" alt="Adding to favourites" width="500"/>
## Additional setup
### Series search options
If you want to search for series across all your sources, you can use the Global Search feature.
Follow these steps:
1. Go to the main section.
1. Use the search bar in the toolbar to find series from all available sources.
### Trouble finding a specific series?
If you encounter difficulties while searching for a specific series, consider the following points:
* Double-check your spelling and try again, as some sources might use **Japanese romanized** titles instead of **English** ones.
> Example: **Boku no Hero Academia** instead of **My Hero Academia**.
* Some sources may use different spellings or wordings for titles.
> Example: **Bungo Stray Dogs** instead of **Bungou Stray Dogs**
> Example: **3-gatsu no Lion** instead of **Sangatsu no Lion**.
Loading…
Cancel
Save