From f67b3ddeae61eb6944f5d66389dd6b30ade1c750 Mon Sep 17 00:00:00 2001 From: Soitora Date: Thu, 20 Jul 2023 18:33:57 +0200 Subject: [PATCH] Split configs and add Hooks Fixes icon color being wrong Adds hooks based off of paullaros work News section which generates RSS Dynamic meta with frontmatter support Automatic sitemap Co-Authored-By: Paul Laros <1512219+paullaros@users.noreply.github.com> --- .github/assets/logo.png | Bin 3868 -> 4824 bytes README.md | 4 +- package-lock.json | 83 +++++++++ package.json | 5 + src/.vitepress/config.ts | 165 ------------------ src/.vitepress/config/head.ts | 22 +++ src/.vitepress/config/hooks/generateFeed.ts | 48 +++++ src/.vitepress/config/hooks/generateMeta.ts | 43 +++++ .../config/hooks/generateSitemap.ts | 22 +++ src/.vitepress/config/index.ts | 31 ++++ src/.vitepress/config/navigation/navbar.ts | 26 +++ src/.vitepress/config/navigation/sidebar.ts | 75 ++++++++ src/.vitepress/config/theme.ts | 45 +++++ src/news/updated-website.md | 10 ++ src/public/favicon-16x16.png | Bin 0 -> 499 bytes src/public/favicon-32x32.png | Bin 0 -> 683 bytes src/public/favicon.ico | Bin 106822 -> 15086 bytes src/public/img/logo-128px.png | Bin 0 -> 4824 bytes src/public/img/logo.png | Bin 0 -> 10084 bytes src/public/{ => img}/logo.svg | 6 +- src/public/logo.ico | Bin 106822 -> 0 bytes src/public/logo.png | Bin 3868 -> 0 bytes 22 files changed, 415 insertions(+), 170 deletions(-) delete mode 100644 src/.vitepress/config.ts create mode 100644 src/.vitepress/config/head.ts create mode 100644 src/.vitepress/config/hooks/generateFeed.ts create mode 100644 src/.vitepress/config/hooks/generateMeta.ts create mode 100644 src/.vitepress/config/hooks/generateSitemap.ts create mode 100644 src/.vitepress/config/index.ts create mode 100644 src/.vitepress/config/navigation/navbar.ts create mode 100644 src/.vitepress/config/navigation/sidebar.ts create mode 100644 src/.vitepress/config/theme.ts create mode 100644 src/news/updated-website.md create mode 100644 src/public/favicon-16x16.png create mode 100644 src/public/favicon-32x32.png create mode 100644 src/public/img/logo-128px.png create mode 100644 src/public/img/logo.png rename src/public/{ => img}/logo.svg (82%) delete mode 100644 src/public/logo.ico delete mode 100644 src/public/logo.png diff --git a/.github/assets/logo.png b/.github/assets/logo.png index bdccedd5759383bce0d59774c69ca1d4164bf0a4..2f53e44a166512d38fd2c1b1e3219c70b38c43e1 100644 GIT binary patch literal 4824 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 literal 3868 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 ZSF

- Android App + Android App - App Extensions + App Extensions

diff --git a/package-lock.json b/package-lock.json index 5a8e1a82..621fe4e6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,11 +8,16 @@ "name": "tachiyomi-website", "version": "3.0.0", "license": "MPL-2.0", + "dependencies": { + "vitepress-plugin-auto-sidebar": "^1.1.0" + }, "devDependencies": { + "feed": "^4.2.2", "markdownlint": "^0.29.0", "markdownlint-cli": "^0.35.0", "prettier": "^3.0.0", "sentences-per-line": "^0.2.1", + "sitemap": "^7.1.1", "vitepress": "^1.0.0-beta.5", "vue": "^3.3.4" } @@ -296,6 +301,21 @@ "node": ">=14" } }, + "node_modules/@types/node": { + "version": "17.0.45", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", + "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==", + "dev": true + }, + "node_modules/@types/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/web-bluetooth": { "version": "0.0.17", "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.17.tgz", @@ -665,6 +685,12 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -815,6 +841,18 @@ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", "dev": true }, + "node_modules/feed": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz", + "integrity": "sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==", + "dev": true, + "dependencies": { + "xml-js": "^1.6.11" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/focus-trap": { "version": "7.5.2", "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.5.2.tgz", @@ -1218,6 +1256,12 @@ "run-con": "cli.js" } }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, "node_modules/search-insights": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.7.0.tgz", @@ -1334,6 +1378,25 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/sitemap": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.1.tgz", + "integrity": "sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==", + "dev": true, + "dependencies": { + "@types/node": "^17.0.5", + "@types/sax": "^1.2.1", + "arg": "^5.0.0", + "sax": "^1.2.4" + }, + "bin": { + "sitemap": "dist/cli.js" + }, + "engines": { + "node": ">=12.0.0", + "npm": ">=5.6.0" + } + }, "node_modules/source-map-js": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", @@ -1549,6 +1612,14 @@ "vitepress": "bin/vitepress.js" } }, + "node_modules/vitepress-plugin-auto-sidebar": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vitepress-plugin-auto-sidebar/-/vitepress-plugin-auto-sidebar-1.1.0.tgz", + "integrity": "sha512-LgkpjKVlNlQS54PFv5R/Y4+CHtHoXsJ3xgyVTKNi0sG1fXUmViKCg3Hnl9eo/SfNn894qsNRXoNneQmRBP2Lmw==", + "engines": { + "node": "^14.13.1 || ^16.7.0 || >=18" + } + }, "node_modules/vitepress/node_modules/vite": { "version": "4.4.0-beta.3", "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.0-beta.3.tgz", @@ -1734,6 +1805,18 @@ "engines": { "node": ">=8" } + }, + "node_modules/xml-js": { + "version": "1.6.11", + "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", + "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", + "dev": true, + "dependencies": { + "sax": "^1.2.4" + }, + "bin": { + "xml-js": "bin/cli.js" + } } } } diff --git a/package.json b/package.json index 2469eaa3..a2ccd4e7 100644 --- a/package.json +++ b/package.json @@ -20,10 +20,12 @@ "lint:mdl": "markdownlint \"**/*.md\" \".github/**/*.md\" --enable sentences-per-line --disable MD025 MD033" }, "devDependencies": { + "feed": "^4.2.2", "markdownlint": "^0.29.0", "markdownlint-cli": "^0.35.0", "prettier": "^3.0.0", "sentences-per-line": "^0.2.1", + "sitemap": "^7.1.1", "vitepress": "^1.0.0-beta.5", "vue": "^3.3.4" }, @@ -34,5 +36,8 @@ "*": [ "prettier --write --ignore-unknown" ] + }, + "dependencies": { + "vitepress-plugin-auto-sidebar": "^1.1.0" } } diff --git a/src/.vitepress/config.ts b/src/.vitepress/config.ts deleted file mode 100644 index daf63961..00000000 --- a/src/.vitepress/config.ts +++ /dev/null @@ -1,165 +0,0 @@ -import { defineConfig, loadEnv } from "vitepress"; - -// https://vitepress.dev/reference/site-config -export default ({ mode }) => { - // Load app-level env vars to node-level env vars. - process.env = { ...process.env, ...loadEnv(mode, process.cwd()) }; - - return defineConfig({ - lang: "en-US", - title: "Tachiyomi", - description: "Free and open source manga reader for Android", - - lastUpdated: true, - cleanUrls: true, - - // Base directory, enabling override ability needed for GitHub Pages - base: process.env.VITE_BASE || "/", - - head: [ - [ - "meta", - { - name: "theme-color", - content: "#818CF8", - }, - ], - ], - - themeConfig: { - // https://vitepress.dev/reference/default-theme-config - logo: "/logo.png", - - nav: nav(), - - sidebar: { - "/docs/": sidebarGuide(), - "/forks/": sidebarGuide(), - }, - - outline: [2, 3], - - socialLinks: [ - { icon: "github", link: "https://github.com/tachiyomiorg/tachiyomi" }, - { icon: "twitter", link: "https://twitter.com/tachiyomiorg" }, - { icon: "facebook", link: "https://facebook.com/tachiyomiorg" }, - { icon: "discord", link: "https://discord.gg/tachiyomi" }, - ], - - footer: { - message: "Open-source Apache Licensed | Privacy policy", - copyright: `Copyright © 2015 - ${new Date().getFullYear()} Javier Tomás`, - }, - - editLink: { - pattern: "https://github.com/xhenos/kodo/edit/v3-vitepress/src/:path", - text: "Help us improve this page", - }, - - lastUpdated: { - text: "Last updated", - formatOptions: { - dateStyle: "long", - timeStyle: "short", - }, - }, - - search: { - provider: "local", - }, - }, - }); -}; - -function nav() { - return [ - { - text: "Documentation", - link: "/docs/guides/getting-started", - activeMatch: "/docs/", - }, - { - text: "0.14.6", - items: [ - { - text: "Download", - link: "/download", - }, - { - text: "Changelog", - link: "https://github.com/tachiyomiorg/tachiyomi/releases/latest", - }, - { - text: "Contributing", - link: "https://github.com/tachiyomiorg/tachiyomi/blob/master/CONTRIBUTING.md", - }, - ], - }, - ]; -} - -function sidebarGuide() { - return [ - { - text: "Frequently Asked Questions", - items: [ - { text: "General", link: "/docs/faq/general" }, - { - text: "Application", - link: "/docs/faq/application/", - collapsed: true, - items: [ - { text: "Library", link: "/docs/faq/application/library" }, - { - text: "Browse", - link: "/docs/faq/application/browse/", - collapsed: true, - items: [ - { - text: "Reading with Local Source", - link: "/docs/faq/application/browse/reading-with-local-source", - }, - ], - }, - { text: "Downloads", link: "/docs/faq/application/downloads" }, - { text: "Reader", link: "/docs/faq/application/reader" }, - { text: "User interface", link: "/docs/faq/application/user-interface" }, - { text: "Android 11+", link: "/docs/faq/application/android-11+" }, - { text: "Shizuku", link: "/docs/faq/application/shizuku" }, - ], - }, - { text: "Extensions", link: "/docs/faq/extensions" }, - { text: "Miscellaneous", link: "/docs/faq/miscellaneous" }, - ], - }, - { - text: "Guides", - items: [ - { text: "Getting started", link: "/docs/guides/getting-started" }, - { text: "Troubleshooting", link: "/docs/guides/troubleshooting" }, - { text: "Source migration", link: "/docs/guides/source-migration" }, - { text: "Backups", link: "/docs/guides/backups" }, - { text: "Tracking", link: "/docs/guides/tracking" }, - { text: "Categories", link: "/docs/guides/categories" }, - { text: "Local manga", link: "/docs/guides/local-manga" }, - { text: "Reader settings", link: "/docs/guides/reader-settings" }, - ], - }, - { - text: "Contribution", - link: "/docs/contribution", - }, - { - text: "Download", - link: "/download", - }, - { - text: "Extensions", - link: "/extensions", - }, - { - text: "Forks", - link: "/forks/", - }, - ]; -} diff --git a/src/.vitepress/config/head.ts b/src/.vitepress/config/head.ts new file mode 100644 index 00000000..f6100d49 --- /dev/null +++ b/src/.vitepress/config/head.ts @@ -0,0 +1,22 @@ +import type { HeadConfig } from "vitepress"; + +const head: HeadConfig[] = [ + ["meta", { name: "theme-color", content: "#818CF8" }], + + ["meta", { name: "viewport", content: "width=device-width, initial-scale=1.0" }], + ["meta", { name: "referrer", content: "no-referrer-when-downgrade" }], + + ["link", { rel: "icon", type: "image/x-icon", href: "/favicon.ico" }], + ["link", { rel: "icon", type: "image/png", sizes: "32x32", href: "/favicon-32x32.png" }], + ["link", { rel: "icon", type: "image/png", sizes: "16x16", href: "/favicon-16x16.png" }], + ["link", { rel: "apple-touch-icon", type: "image/x-icon", sizes: "180x180", href: "/favicon.ico" }], + + ["meta", { name: "twitter:card", content: "summary_large_image" }], + ["meta", { name: "twitter:site", content: "@tachiyomiorg" }], + ["meta", { name: "twitter:creator", content: "@tachiyomiorg" }], + + ["meta", { property: "og:site_name", content: "Tachiyomi" }], + ["meta", { property: "og:locale", content: "en_US" }], +]; + +export default head; diff --git a/src/.vitepress/config/hooks/generateFeed.ts b/src/.vitepress/config/hooks/generateFeed.ts new file mode 100644 index 00000000..23613afb --- /dev/null +++ b/src/.vitepress/config/hooks/generateFeed.ts @@ -0,0 +1,48 @@ +import path from "path"; +import { writeFileSync } from "fs"; +import { Feed } from "feed"; +import { createContentLoader, type SiteConfig } from "vitepress"; + +async function generateFeed(config: SiteConfig, hostname: string) { + const feed = new Feed({ + title: "Tachiyomi", + description: "Free and open source manga reader for Android", + id: hostname, + link: hostname, + language: "en", + image: `${hostname}/img/logo.png`, + favicon: `${hostname}/favicon.ico`, + copyright: `Copyright © 2015 - ${new Date().getFullYear()} Javier Tomás`, + }); + + const posts = await createContentLoader("news/*.md", { + excerpt: true, + render: true, + }).load(); + + // Filter everything that"s not of type `article` (e.g. index.md) + const filteredPosts = posts.filter((post) => post.frontmatter.type === "article"); + + filteredPosts.sort((a, b) => +new Date(b.frontmatter.date as string) - +new Date(a.frontmatter.date as string)); + + for (const { url, excerpt, frontmatter, html } of filteredPosts) { + const fullUrl = `${hostname}${url}`; + + // Strip `​` from `html` string + const content = html?.replace(/​/g, ""); + + feed.addItem({ + title: frontmatter.title, + id: fullUrl, + link: fullUrl, + // description: excerpt, + description: frontmatter.description, + content: content, + date: frontmatter.date, + }); + } + + writeFileSync(path.join(config.outDir, "feed.rss"), feed.rss2()); +} + +export default generateFeed; diff --git a/src/.vitepress/config/hooks/generateMeta.ts b/src/.vitepress/config/hooks/generateMeta.ts new file mode 100644 index 00000000..51a95af2 --- /dev/null +++ b/src/.vitepress/config/hooks/generateMeta.ts @@ -0,0 +1,43 @@ +import type { HeadConfig, TransformContext } from "vitepress"; + +const generateMeta = (context: TransformContext, hostname: string) => { + const head: HeadConfig[] = []; + const { pageData } = context; + + const url = `${hostname}/${pageData.relativePath.replace(/((^|\/)index)?\.md$/, "$2")}`; + + head.push(["link", { rel: "canonical", href: url }]); + + head.push(["meta", { property: "og:url", content: url }]); + head.push(["meta", { property: "og:type", content: pageData.frontmatter.type }]); + head.push(["meta", { property: "og:title", content: pageData.frontmatter.title }]); + head.push(["meta", { property: "og:description", content: pageData.frontmatter.description }]); + + head.push(["meta", { name: "twitter:url", content: url }]); + head.push(["meta", { name: "twitter:title", content: pageData.frontmatter.title }]); + head.push(["meta", { name: "twitter:description", content: pageData.frontmatter.description }]); + + if (pageData.frontmatter.image) { + head.push(["meta", { property: "og:image", content: `${hostname}/${pageData.frontmatter.image}` }]); + head.push(["meta", { name: "twitter:image", content: `${hostname}/${pageData.frontmatter.image}` }]); + } + + if (pageData.frontmatter.tag) { + head.push(["meta", { property: "article:tag", content: pageData.frontmatter.tag }]); + } + + if (pageData.frontmatter.date) { + head.push(["meta", { property: "article:published_time", content: pageData.frontmatter.date }]); + } + + if (pageData.lastUpdated && pageData.frontmatter.lastUpdated !== false) { + head.push([ + "meta", + { property: "article:modified_time", content: new Date(pageData.lastUpdated).toISOString() }, + ]); + } + + return head; +}; + +export default generateMeta; diff --git a/src/.vitepress/config/hooks/generateSitemap.ts b/src/.vitepress/config/hooks/generateSitemap.ts new file mode 100644 index 00000000..1cc3b26d --- /dev/null +++ b/src/.vitepress/config/hooks/generateSitemap.ts @@ -0,0 +1,22 @@ +import { createContentLoader } from "vitepress"; +import type { SiteConfig } from "vitepress"; + +import { createWriteStream } from "node:fs"; +import { resolve } from "node:path"; +import { SitemapStream } from "sitemap"; + +const generateSitemap = async (context: SiteConfig, hostname: string) => { + const { outDir } = context; + + const sitemap = new SitemapStream({ hostname: hostname }); + const pages = await createContentLoader("**/*.md").load(); + const writeStream = createWriteStream(resolve(outDir, "sitemap.xml")); + + sitemap.pipe(writeStream); + pages.forEach((page) => sitemap.write(page.url.replace(/index$/g, "").replace(/^\/src/, ""))); + sitemap.end(); + + await new Promise((r) => writeStream.on("finish", r)); +}; + +export default generateSitemap; diff --git a/src/.vitepress/config/index.ts b/src/.vitepress/config/index.ts new file mode 100644 index 00000000..8bb841b1 --- /dev/null +++ b/src/.vitepress/config/index.ts @@ -0,0 +1,31 @@ +import { defineConfig, loadEnv } from "vitepress"; + +import theme from "./theme"; +import head from "./head"; + +import generateMeta from "./hooks/generateMeta"; +import generateSitemap from "./hooks/generateSitemap"; +import generateFeed from "./hooks/generateFeed"; + +const hostname: string = "https://kodo.moe"; + +export default ({ mode }) => { + process.env = { ...process.env, ...loadEnv(mode, process.cwd()) }; + + return defineConfig({ + appearance: "dark", + lastUpdated: true, + cleanUrls: true, + base: process.env.VITE_BASE || "/", + lang: "en-US", + title: "Tachiyomi", + description: "Free and open source manga reader for Android", + head, + themeConfig: theme, + transformHead: async (context) => generateMeta(context, hostname), + buildEnd: async (context) => { + generateSitemap(context, hostname); + generateFeed(context, hostname); + }, + }); +}; diff --git a/src/.vitepress/config/navigation/navbar.ts b/src/.vitepress/config/navigation/navbar.ts new file mode 100644 index 00000000..64da134d --- /dev/null +++ b/src/.vitepress/config/navigation/navbar.ts @@ -0,0 +1,26 @@ +const nav = [ + { + text: "Documentation", + link: "/docs/guides/getting-started", + activeMatch: "/docs/", + }, + { + text: "0.14.6", + items: [ + { + text: "Download", + link: "/download", + }, + { + text: "Changelog", + link: "https://github.com/tachiyomiorg/tachiyomi/releases/latest", + }, + { + text: "Contributing", + link: "https://github.com/tachiyomiorg/tachiyomi/blob/master/CONTRIBUTING.md", + }, + ], + }, +]; + +export default nav; diff --git a/src/.vitepress/config/navigation/sidebar.ts b/src/.vitepress/config/navigation/sidebar.ts new file mode 100644 index 00000000..dfaebdd2 --- /dev/null +++ b/src/.vitepress/config/navigation/sidebar.ts @@ -0,0 +1,75 @@ +import { getSidebar } from "vitepress-plugin-auto-sidebar"; + +const sidebar = { + "/docs/": defaultSidebar(), + "/forks/": defaultSidebar(), + "/news/": getSidebar({ contentRoot: "/src/", contentDirs: ["news"], collapsed: false }), +}; + +function defaultSidebar() { + return [ + { + text: "Frequently Asked Questions", + items: [ + { text: "General", link: "/docs/faq/general" }, + { + text: "Application", + link: "/docs/faq/application/", + collapsed: true, + items: [ + { text: "Library", link: "/docs/faq/application/library" }, + { + text: "Browse", + link: "/docs/faq/application/browse/", + collapsed: true, + items: [ + { + text: "Reading with Local Source", + link: "/docs/faq/application/browse/reading-with-local-source", + }, + ], + }, + { text: "Downloads", link: "/docs/faq/application/downloads" }, + { text: "Reader", link: "/docs/faq/application/reader" }, + { text: "User interface", link: "/docs/faq/application/user-interface" }, + { text: "Android 11+", link: "/docs/faq/application/android-11+" }, + { text: "Shizuku", link: "/docs/faq/application/shizuku" }, + ], + }, + { text: "Extensions", link: "/docs/faq/extensions" }, + { text: "Miscellaneous", link: "/docs/faq/miscellaneous" }, + ], + }, + { + text: "Guides", + items: [ + { text: "Getting started", link: "/docs/guides/getting-started" }, + { text: "Troubleshooting", link: "/docs/guides/troubleshooting" }, + { text: "Source migration", link: "/docs/guides/source-migration" }, + { text: "Backups", link: "/docs/guides/backups" }, + { text: "Tracking", link: "/docs/guides/tracking" }, + { text: "Categories", link: "/docs/guides/categories" }, + { text: "Local manga", link: "/docs/guides/local-manga" }, + { text: "Reader settings", link: "/docs/guides/reader-settings" }, + ], + }, + { + text: "Contribution", + link: "/docs/contribution", + }, + { + text: "Download", + link: "/download", + }, + { + text: "Extensions", + link: "/extensions", + }, + { + text: "Forks", + link: "/forks/", + }, + ]; +} + +export default sidebar; diff --git a/src/.vitepress/config/theme.ts b/src/.vitepress/config/theme.ts new file mode 100644 index 00000000..ed568f23 --- /dev/null +++ b/src/.vitepress/config/theme.ts @@ -0,0 +1,45 @@ +import type { DefaultTheme } from "vitepress"; + +import nav from "./navigation/navbar"; +import sidebar from "./navigation/sidebar"; + +const themeConfig: DefaultTheme.Config = { + logo: "/img/logo-128px.png", + + nav: nav, + sidebar: sidebar, + + outline: [2, 3], + + socialLinks: [ + { icon: "github", link: "https://github.com/tachiyomiorg/tachiyomi" }, + { icon: "twitter", link: "https://twitter.com/tachiyomiorg" }, + { icon: "facebook", link: "https://facebook.com/tachiyomiorg" }, + { icon: "discord", link: "https://discord.gg/tachiyomi" }, + ], + + footer: { + message: + "Open-source Apache Licensed | Privacy policy", + copyright: `Copyright © 2015 - ${new Date().getFullYear()} Javier Tomás`, + }, + + editLink: { + pattern: "https://github.com/xhenos/kodo/edit/v3-vitepress/src/:path", + text: "Help us improve this page", + }, + + lastUpdated: { + text: "Last updated", + formatOptions: { + dateStyle: "long", + timeStyle: "short", + }, + }, + + search: { + provider: "local", + }, +}; + +export default themeConfig; diff --git a/src/news/updated-website.md b/src/news/updated-website.md new file mode 100644 index 00000000..4e48caf5 --- /dev/null +++ b/src/news/updated-website.md @@ -0,0 +1,10 @@ +--- +type: article +title: Updated website +description: We've got a fresh new website we hope will be even easier to use +date: 2023-07-20 +--- + +# Updated website + +We've got a fresh new website we hope will be even easier to use diff --git a/src/public/favicon-16x16.png b/src/public/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..3162c5e2800a58e61f5a3b57f4d763c7cb20e57b GIT binary patch literal 499 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstUx|vage(c z!@6@aFM*u!0G|+7pUlF>o*z_46Pe<-0j-cJ3GxeOICb&Jo(PY`A_6IW9N3eNI$aSV~T9O~yT#H`38tlOPf z?R)Y6eaYD}lQL{1nnN#W8qIscee<0`iqDfZX9MmOwp6J9)jjsY?e}lji@hPMJ-j?u zx!6l(-wRvuA;$gfsx6bni;lUyvr7BId{oA!JmonQpTituk+jEDMQ~-lY#jHwZ6=CMpiry| zi6{w5ELSKf%1_J8NmVGREJ#(zEGS84V5pe$_!AFDVVH)-DgV=FJf8+JFe`KGC36ca z3wuu%VHQ?!X)rmQ!mPYGMB(&}D<_VeIU;j}{d9xJ0xvy=SK@*tpPWpm01boFyt I=akR{0C{}WC;$Ke literal 0 HcmV?d00001 diff --git a/src/public/favicon-32x32.png b/src/public/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..c30787c38848c7cb4e431d31aef0620180177c65 GIT binary patch literal 683 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyEa{HEjtmSN`?>!lvI6;x#X;^) z4C~IxyaaLr1AIbUeKHFhdwx(6&9$*!3^ZJ-B*-tAp?2aXro{H&e_2AEak-ak@1)a$2(ik8z56;&O-D z|IK}}9Gr)@EM7k;-Fw>_rkDvAwzFJ$@W9_ALT6E>$PVreYup?6&wDcW@zo;7()15j zS2!Cbboi#OG-W46@P3#DGY zQ`b2QB;Q*WZe(q?GCWbi^2;l>Bmayz*i4Eu_V~DcTy--^Qr0zxTkO>ai``2uT&QSc z^I62FmBPL3@li+L`E0vS7wy`-b8g{-v%dUCSDI}pX)$R^ypg$o{WJPq_@ zj!b@H&RGo%e&cMJHUH**HFA9uB|afV*)F;GMO4m-@Cz~7@3{&&x||?87-fD%4-)fg9ycSkU%M|O$m1aBeKI7o6 z>VUU1b50vXPASgue| zl%JNFld4csS&*ubSx}P9z)&&g@h2XR!Y~buQ~syVcs>ncU{>bVOXe0<7WSSj!Yr)d z(qM8pg;{xXh{EX`S56!`b42C{`{@Rc1zvg#ufzpQJ~^3A1zN%2>FVdQ&MBb@0DM#_ A5C8xG literal 0 HcmV?d00001 diff --git a/src/public/favicon.ico b/src/public/favicon.ico index 067a2b86fef990d978e1cfdc0899884bb161be49..d381f15f5011c3c0f928ae17535499920a6d5257 100644 GIT binary patch literal 15086 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 I$uNZf0j`lWX8-^I diff --git a/src/public/img/logo-128px.png b/src/public/img/logo-128px.png new file mode 100644 index 0000000000000000000000000000000000000000..2f53e44a166512d38fd2c1b1e3219c70b38c43e1 GIT binary patch literal 4824 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 literal 0 HcmV?d00001 diff --git a/src/public/img/logo.png b/src/public/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..3c5e5146c00f1b854a349cb45ae6c05c7a0907ab GIT binary patch literal 10084 zcmd6NcT`i+vu*$prK%7RG^k)lic}$VjMxAbq*v)+s3A0k&`YQyAiXFcy@Xz*DMe~T zAfYHohlEb(a8H2yyYH^I-v4i{!3j*x`Ce$nl?f4l&n;|#tbn;$+LqQVZ30IPlx>!_d&Z}gULDCwBIPcTq-6GdLG z0d1l_90IjasFOR8{765_e8eB9;tg;^1C~t`K!9AG>_r9d9FhF*9#1B)33N@yA9Y8j ziaw44=#dq2ROpru*+|BaDUq|0X9!H=DB(81mfQ=_ATXt)TEMt~mXGE}?%Eqo0=5I# z6mr7wP5%#TsPMzUKynMm6#)+Z{;R+;DCiIsyp9S3QXLT^Cj>H+3z3oJ>u8=QIe& zKn&PWa+?4Ra^3&A09P15_=q{M3uOLB13$t5Ie~{90KZW;0A3fML&Pg(RS?~IPOkex z!Vgtm8=BcW`viWB%gm{68<oPNvoX12cwy&qi$<|~V!$`Y z-}>WEuFzcAU}58^fP}ip{%6AHtaUYEEuS0KeCd?P|{cR8@*B zG*$bekRlj=Ejj}2Pw;xz*ZQ`=Jnc=GrmC`yw73ZW-K*epOw$;Y5;Kh9;&s_)>JIPs z>nl?&LWY)Q#Q50hsYsI}xSpo6{Me}QU~dmgT^&XFmoM%-l9Jqdus-|u)Nc3BAH5m5 zPA(1egVZ0|v;LjEo$#4^>6U?Y?OM|FGoE@zCAO=7iXP`h`rg#CgO}eE#hT5_0i&RJ z^Gxv}D3BWR7+9ROd#vRM0@ZGl|0qP+Ze9b7G>9ikFq#<}7AAHmIxb!TFx^1FG!Z67 z2vZ4T2U9?R1O)_zcm>3G1qIaZi%1BPFCGB_2>}7WWZbF$6#%z2u{3l2e+R5L8&(1V zxBpWCVF@>NL>R&C{_hwO@#7*k7%uYLBYA`XA&~#V3!h!i}s=9ke1~T_Di4jwcW0)Le#$qwc7W zYX>yT@Py3!q4!%JIz4@2Y!<^(^)QkzJu2U1_}7n&3)g~ar>;J^T@AgRH{71VQxz2< zKfoI+f1~P4m|CK4_e#RwHNsF?zy5U1n&i^v+WYCXowdZ@oBR9UoRMb9Gus}Rl7~B1 zCgy|dE>^DAyYF_l7EX~E7TJbm-pPJh^rGp{O?kU4Mq2ibx@g*NGrQu#;ac~{=e@Ln zasA)F*Uz1~e1ZOSg1>y4LbJcwd4=D0nw{suTNiFz5O2SGxjXEpMOfgYgiA`|zrH?2 zKjgxe=5lu zFEecg-@7G;jxhveSsKi`J&Z?F*`JjcAC{yM@wf#G&dZTeZ?_o=X4a^7lr^i2a> zlRQ2E-3Y8p(qK?OfY{{Fp6}>lb@2pk{9;@BhG7<1*qjSJ5S66fo9K5>n-iL!I!8^= zl7{Au%`x25zJkSp9|sir`SMgaav#wIXa0GfAoKAdNWnvmx``&bw2UxcAepRP=Y zv~}MNoc|Y$yavs^T75=C7#|IdV)y|jzCo(XoszT~y8uYUodSzyoEA0Kv@#t=mQ$7K z4CdzGhun6s8t8if`|kN`SNJ99f=_b5Oh|f)c;uAITqQ+g5y{u9}7t!;1ti$Rpcu< zY98$l$E;!uE!Rk4w~50}NE~L-ga(<|9vK3X{G9dppn+FZU8;pMzc=O;7Io<}UF^%dLlXonE&L9ch$LC~m46H#@H>W4^st=g z`>a;led0cQ;`TarE18C?TRh9QSi^k=552mp4Lx>?rX0IXr!WCLhz#}87{WNMUN#s` z;a(}PVFkK7 zt~P|M#M}iFP0339Z7}>OCG*E%q!2lG{>R{QCbHs@k={inHSds-UPo@Kzw0SXr-iKK zK84jp0|ashfvr1If}X+>zLQ<|GSd6s08v(9udoMX@M~iryqoNL0z?Inqcnh8G~^N; z(ZNU-vLc<4?qoua@_mI}BrEf}8R<&KWJ~!gtW^;(lZ~&hux{ioH~e2=SIN`SPE#w* zqa?ZbWme~a;WylCk<1(Y7LLK6&w zCQ2EmWo5CTk*w|w@+z^nS&4EalwY#6+P$G01PVGSNRDQy5rHCBJ7TLZ$EDb-SVjuG z-#7obn5xOsjZdwhxH0DxauciXIW|#uIH1_%?mF8;0cKi?`ZvzV$9a(T!xGnL6|2C4 zE*~oKbbY~PuPpiPCae43Pir(?b23eu!Pw~wA|mQG299z%+xrJW(hBgxLHC;03HE5X zMb-l|hWswRU+tDS66VK6$icHT588?NvLR&sH^cWY@g_I{pJ$|qr zCRf(wTT=4v@yZhK^SnzJcO|vOF0iwETt|2=$H+nsbEW@YFRb{=+lS+svsnoJ5VqQZOB#j&eHP5Iu(SV7FMKI9>1$hRv{p>KC1FP`EXA_kuqjoGdEZM(dvmD}7(bEROy zb4uMdwi_SJR(?t@oDh~=So_EEJ#(l=yM5yrzJ+HJ9N9meJ0Z8?7NitIdMl^$0}ELh z^c>D2?&cQm%uealODkASDUX(1;wTI*d;g8%z?SlF{E~uufY>8{SUvj30eC4Hm-nJ{ zN$rpr+0JUtx9vfwdHDTr}?YHfZZMz=-Z6)C|&bVFp&vMv@T>>Sc7{|LA zCFl$;z#o=n6DUkW;u~S6nI5Ubwx#ayaHuBD4|(a$`j9>)Yv!)M@BbN?GPRo(J1lnC zdah(>RPWP-+_Bwe6L(kI!4h8L7m9;9DcPCNhP+|wP70%4yyx5k?y3CMX&)_RFT9Kq z55CkAd^gWvM-P^jy8oRsA!&eA_;0Sf3HRKV&;4To_V(}ef7yI5BxU7zLZj|%3167~ z&iR$@IfGhp(juC0erPsWE!d3X@@lp;7vImeH4&W`{g(?9dN?!SIeT4N13K8$`EP9L zn$3n!XDaqOIkVu?x7YI?OA=z?PApxUFk01w(ZiwutAxlLn9#ZpiE2-Dq2@)1Ff7f;of9n0@EK=fljWLIXgwwDWMH)%y7ZN%`9C#h( z3WIll-HA79RhdvWGq=mhKd=xnLx{TLNM94ou+LYP@3|TccYKM2=7=P8;ixKp?A)!# zKT+DXu%m*aqY%0C3HabTk#H#&=xxucm)mp+Bf4teFM05Ux~ly#e?gO?r77G@>1xyw z&rx}`?ny`qGtQ{E3?`IcW$AjlzR0zi*q7Ac-Ay<*;NG;892de?K8VL&lsL^RUbkUdS?UhsP>F3+MLi=MtIJ;d-|1d-&ikgtbTKi zyBXa=mNhFh`Uj^sxa)=O?B&h<3mc-=maV!lT-Ch+kd|=sh#6)CA+!a}FThx)J7kt% zw0=@8#%23i+Yl0*<)wBrEhV8z89V2LV+c*k@X(ra=L*M|5hr%52WjTi1uiKAMwwl$ zfozrY<1K!^=~d%8ORn`_933B7m17jNXEo$|J{Xj!X7LtwAsQt0TEi^U>_gJw##zdP z30GvN?;P?VUo5P@VIf*0=hr7~mZ;*t8slH)CtwzRlS8q)JF=lSisB?9lllcKnB8Lb zB9kO|t16RkM1^Dew5N0)VU^9Zlsi}_)gV2}*3nt)F!v|`vB{lf75!&P@aa_f)%CZ1 zPy)_!n?XWL4{x7;Kdu)u*+=+2*QkHlBL*_aQ7;rs5`a3z6Y9CELR2<9w)ySpKU;7j z=Y@$(N%>QRO7%~+Yp=&0h$dOevC&K<4Wc_zm&fI-)HCU3<)i}SMr2=EJA-pja>MN* z5OTiMh<{kbthEfZ3SGS5Q-aU#L-HeZB_Kn-euZ*G&gxa4O#( zQYG}Vx}KA;-Yl8OG~ItHk6r&(MdHWxB)MIYpXOfg6xnQW##m5ce@`NeXOvp;zRCTL z?MdxgTFt3z1HKS3h$3?^t64z#bDr7S{qJE3{;s|Jki$|YXql;-X0-wQwYt?_4d#BD z`TNB;S>@dUy>Zq}VLI(I@Y35XMlKdO z3$!enAVp)M;(;8QcMI*sFyYd8MJOel>u~nD)@*4OHkC6g{H~%lQMF?5C2+}dZ~Dh7 z0^+kmTGS>7)Mn#(d+X-gG;2OOmS&snvPejU+um044MmKC4)Mt(p{w8V*4iIm;ByKi zylgkMFKcEkNi@+$FS^U^;IVo-_c}?Dck@xv9Ae?=oQHygxH7EUK)%%&43`|OmVbs% z%O5-?;dN-zntz&5F$B|HEp4!IBgl4-y+Dpw;ez;qFLP#4*&d00JC$$oTgg@Px}RU+ zI$mJ#_R(-|maf-qzn@L!D=4RV?BYe6Hwn*?X70WbjySy<;`P*6A2hMG`)&B6-Y37| z{9Akg>s!SN!;^ZG*OOb6a|7)V|6KWMQuVD2ChryWy=6VCc+09@!2#Bd()a(hut_;F z`#lPm2B)f{2fxXB?fsrg#{_e*Tcm!jafy-$p=5`@;m8BXL)l?(LPszsK-u<>lv~5n( zD@jzumzYytBs6TJ?>>gGau}OCSWdRA8UNtj->}`e)Tx~C!D|`#suxL->OQU8qnr@@ z8DM?T(oNq><;peXOeoF1$g~vKtuvXm$Tb$iI=|d`NU@x**Azx?FYfTv(=aQaW1Mf% zgV1?SC$d7u%5Jt{dpVgQzNtH8h1yPecoP6zSkKXoq`^hXoxXa@i3y*C)H%RZ5!G?}jbn?{<;ap7vax{4L@7Yz*29ycYqDQA_RZI3tIi zo*DzbR6*G3sz%XK&T)ajfDT$ykOA*Fn;XS=#+=VP5Ixetn&Gug6`@Jx@?}`5XME<0 zk1m}~97(|$@gO9s%@f>8xIe$AN*tvY!CCS+uvS}$l`uCadB2m`eT^KVecL6+MifDs zNKP_gR6WCDKf7l(GPK4hEGmrtO%uzI+q@xM<#KD0R-}_gd07xSv?>+E7f%;nUZ73? zps@yL)X|>?8o|Wi32pR)l;)Mm+=bUwK%4irWsq-ZXFbX_O8R1E9w4xM#*h$)L} zRYhRb5~vKk>ak6SH`)~RWUe&7k9-rK;)Nm9iZ%5*GiGKIz6)DN%Jg}fXN~r0BCw)G z%xhQ0isBm?YqEM8r7pEGKKI?Tk~HUp5*HUA%A_CALGNQrV;X|KB_<)Amlss@k#90p zP|Q+^5TtXP`Bx<<#I=fTihJz&tpT8gXm`#^i+~bl)w;06c}KiuhqrB{WKhzlg~wxR zDJ_gT1Fd7p`5m)=6ScHzP>ywhkn%j523SWPuNdj{d&y=w9ms&@S-znJ!gmv5M3&CF zY1Td+;?mzQs>C1zTB}+}Lq%EXM>PONT>n_Q_`c-55RFLH#Sk>rVFQT(-|n)E z52)ps2t-r$hJK{4!+Sv}T~8Hqa}GT6cmmgMVI-WZ0L_e?XQOEdpewbT74@~-ylOs5 zp@Z#GY3}7*nK<#*@A!qDoUm90chVrBJORAzGha{Y4P1oG*w#%+&_rm=M=9P ziRr0*fO_xX60kQt(mYhvFlX?+15Z7KnG7H}IVGn=to779K-ISQ383ooy4Nl^9LS{q zc=)G0IZpAbhAE2!g#{ap)ub$X09}`(>^oxe5or&q<&AGf);jx}NAfgOKM=SugdvIG z(DM&C!X_uaHSAxv(P2Rb?FWzJ0vovDyLtoY0?Ml_@#5$isKhkp#$CxGR zNv@ELhqa8_!rPr%(zCC>PKWqHio!E$f9k&snBQi#JHHCOaNz(%#D{GVz)p8(E2jUR zqa=B=DlMMNY0GFcy;|!UaRW=pMbrQFUQEsbMZv=25#j4n1elYu!E3 zI36R57EP#&2}5!_+)+2iB69uln;@abfq-h{3=B{JxbF@LIP>gJbFxsgf{ zmbh7I(vBrn^}WCj?!W7YXS@dZa3K#mg8F|v`+~;eh7O}W1XWY8`HwaUG zXVxpfKu9ulPUi%aDRzo2k|199v{yxICPsXo_r=$_NNk_hE;S~Gt(_O_dO-R&cgjs$ zW%XXo#O2fUs)6tRJo1D`!a9mwa|iFV>4@{2@h9nva-m~%&1^q;wA~9yauq?cms;%N zFHI{NeoV9^Wb}2Mw!ns!i#%hRyeaRn6%{|i+LjJRVuU(!+ipAf`lYkC^*=dyYyL3+ zB{y$t%AaTxFON2xNf4fOM79iJRvGuf>jBG}ms0usbR3B9j z$53svq8z`LET$^zTvx<@Oux1oR4|OU&dflk!gd=oS=v-xQ*~r&T9Fo5g2aQfu9*%7 zqz`j*hp8}Y8Q^rRiQu(EV_IV^zP;tGy-LF*Q6thVzN=auz2v90aYXn zGtnozC^53NTVc!}`>jBhwJS`8s?4i7mic!sQ}t3VB;~Yx!??3)VN6S^GY+?6X?Wje zJ$JGtbiN}2eJ_3^<@8M|MSd}xFI28+z5Xgx{2;|c5%>I3QD!aS1sMjAGYlG0r{?BP ztu34@!|;ybat&eiQ%rVmvs>PQu$_#}tRDpbETf7UV6xK(TK-gg1y7ez!|x?^3DYrD z?2a<7kF9%AeJNZ!JCWTZR|cUUynxqDaK3=3XNYj(V1YZvZWwzqX_N}MCzZxRTMk|a z!z-qe5awfbw;Zb1JJ8zmvFGtw$QE*E?0oyg5gB?cjC3 zJYV_HOd4u%230RkCxOvur=A86m59=DVctr|&YaTh`M^}d)((EVHPE*eA>Ko>uMglE zIz{5BlD9=`WQ-LNRYA?9F%QR|u@*5~jlW>*l6?hTx+FV^JoENHgc}YtbWHx%=Y~L+ zM3*IIi~&PXMZQ+p{c&)EZ34>q46hk~gwAE-#y6dC(FMqCs=;?K@fC@(>PPEb!S|o+ zaH~|B(3-mJ<+Fed<~F>3>53q9taXnD$bJd8Fu^f*`GLTLwr$tHz#KFH181=nUt>;h zVcxX~k^?TTRiATnD^G&1XmMV<_PmPs#`A(KomsIdyozuFOe$yku4a!m@=akFdL&JB zliaf;?hbef5dc;S^D6t*^!t{_6n(?SYEI&*g}BRR=Gpysx+P|EL+ak2S-^8`-!{z9 zc@>Ws&|r7ZE@oFR4aaGXW~kHhCgA;~e!d#`WBV%Z@^=Omb`uY9jRr60aG=!p5<8u% zkjAii(JXaAJOeV{kjd6rh29&SFAB{a7S6ZG93;yB*^S~DX{J;u{#@OCX{y^%il)4C znJ>?xWZb`hXo?`x&Ktj-xQ#uq*X-%WY>O8>FKx|!LAUAoJC0X~z{I1iid18hsOj8W z94Tum=I!`76fe8+c8Z;l$G7g-PGDpdCkRa^$295pPS!A7LI~9h-VW?S91Qg38^NNM zLIu6WxN4Y%Z+E`L4re4#6E%U;4>h)a zp=}%P&-=8)@{hj_w^{V0y50N>H!01wO*>Y;6|o5eh^Vf=LGxNvdf(JpkdvLTJ5ULvEyTF0d&S{dj*~*=F@;ufPUz5Q&r>_ycjn|6UfS+u?dRu5aYhpP~fm5VP zMQZ<|&$L|pi`nCFLf+j!RlDJM=7KBG9hm?{yn?;oc9#+GA^qPv6zhg`8yTF8Ve|iE zHy$t8x>L@3ATtQvYUE-VlRkT~dw2C*3OA#2V(ch(EqV~TYks(8>ryg}rrqSs;c(@`kHgdPTe0EG$|RRe z6LWJ7_pFXG{0#|LdJVU_@a=cscs=Spb*`Q}bK0jBIM>W=8Xu2LNylowwXfBe7jbxr zwOU${VZA9G${(i3rgwpz^WdJaXr)wdOZ^Y$qD`lsmv}r8*D){IJT8^{#VhFdwbs{a z!u?(E7jEsehTd#pL_Z3Ead9`-DLlI5Ge|?3zbAG{=B$2UMdXU3(cU|g77EV}JH?yx zxnC_52zzXzH!k!|tZYSS680^Gt0gYrFER$C@aJT%ys{L~PYoS>mSXGs^2G$KZ=#AD znq)xrVj(ngK(|@{A>&oRQD;q*1C*$YA)r z5-U)n^H0~7ebeRX+vPYldan)L@fO(kcZLU+`h)1>o;R1Dw3}H?gB7~{&g};1?O{a(VUeiK{l6_?ebl__S_7s zY;u&dlpBBK&8Ijn)hOD^7T0l4Tk1H6P8+AMoeaierkLj1NYA|?#Ibpy``B!YIW~(Q zGa2xfIy3HJhHd$BIC$ozIL2cCI5|VLN=zG2b9omW9AeB0=R2;|Z+=Vxa?)+wakNSJ zb0a7QIO07b1{|3k&0wnNs8qbFvnLzh8`k`j(UhIEA%D_yQZf&@XUgMclq$%N*qL73 zdQ}j`q9pqmd&>9!S0Okw@-WCHh}-xEV@QnVg*(`Ly8o(P1R49>;AH%`99xOkc34loeY*82c41m4`4j|A;B6d8&alYj3jQ*Tacs@IX5>-uP8Kn%#@}$jjNvf0 zW!}H~2?o{iE5G_fq6^FrPIC?(TGfdfv1>j%@HscpJ9<4W84LI_gj7ABUJqmE2I8J3 z)hb%OUT)oN9sSW^q|VTtAL#hjq))g(%| zBQ-CE7v9gcPs4|#bn3seE&u0=VK%$A6YqpGi!n;q^7HB9dV4$H>!a+)In~V`4JL+A z2F_LIiRfk*>{jzcw&h1(DcNzxc9V{|;>WiII^5aZZ#Q)@+T5-m{6Ee(zBV0F1vYkF WGipwG3H&Pv=m|{uVS&7%_kRIR@nhNm literal 0 HcmV?d00001 diff --git a/src/public/logo.svg b/src/public/img/logo.svg similarity index 82% rename from src/public/logo.svg rename to src/public/img/logo.svg index d927c129..9781b62c 100644 --- a/src/public/logo.svg +++ b/src/public/img/logo.svg @@ -1,6 +1,6 @@ - - - + + + \ No newline at end of file diff --git a/src/public/logo.ico b/src/public/logo.ico deleted file mode 100644 index 067a2b86fef990d978e1cfdc0899884bb161be49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 106822 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 I$uNZf0j`lWX8-^I diff --git a/src/public/logo.png b/src/public/logo.png deleted file mode 100644 index bdccedd5759383bce0d59774c69ca1d4164bf0a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3868 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 ZSF