diff --git a/website/src/.vitepress/config.ts b/website/src/.vitepress/config.ts index 31cba279..ad5cb3b7 100644 --- a/website/src/.vitepress/config.ts +++ b/website/src/.vitepress/config.ts @@ -11,7 +11,7 @@ import generateOgImages from "./config/hooks/generateOgImages"; const title = "Tachiyomi"; const description = "Read your favorite manga, webtoons, comics, and more – easier than ever on your Android."; -const env = loadEnv("", process.cwd()) +const env = loadEnv("", process.cwd()); const hostname: string = env.VITE_HOSTNAME || "http://localhost:4173"; export default defineConfig({ diff --git a/website/src/.vitepress/config/hooks/generateMeta.ts b/website/src/.vitepress/config/hooks/generateMeta.ts index 6127780f..f269a4a3 100644 --- a/website/src/.vitepress/config/hooks/generateMeta.ts +++ b/website/src/.vitepress/config/hooks/generateMeta.ts @@ -69,12 +69,8 @@ const generateMeta = (context: TransformContext, hostname: string) => { }, ]); } else { - const url = pageData.filePath - .replace("index.md", "") - .replace(".md", ""); - const imageUrl = `${url}/__og_image__/og.png` - .replace(/\/\//g, "/") - .replace(/^\//, ""); + const url = pageData.filePath.replace("index.md", "").replace(".md", ""); + const imageUrl = `${url}/__og_image__/og.png`.replace(/\/\//g, "/").replace(/^\//, ""); head.push(["meta", { property: "og:image", content: `${hostname}/${imageUrl}` }]); head.push(["meta", { property: "og:image:width", content: "1200" }]); diff --git a/website/src/.vitepress/config/hooks/generateOgImages.ts b/website/src/.vitepress/config/hooks/generateOgImages.ts index e85b9586..4acdfd16 100644 --- a/website/src/.vitepress/config/hooks/generateOgImages.ts +++ b/website/src/.vitepress/config/hooks/generateOgImages.ts @@ -10,7 +10,7 @@ const __dirname = dirname(fileURLToPath(import.meta.url)); const __fonts = resolve(__dirname, "../../fonts"); async function generateOgImages(config: SiteConfig) { - const pages = await createContentLoader("**/*.md", { excerpt: true }).load() + const pages = await createContentLoader("**/*.md", { excerpt: true }).load(); const template = await readFile(resolve(__dirname, "../../theme/components/OgImageTemplate.vue"), "utf-8"); const fonts: SatoriOptions["fonts"] = [ @@ -40,14 +40,14 @@ async function generateOgImages(config: SiteConfig) { }, ]; - const filteredPages = pages.filter(p => p.frontmatter.image === undefined); + const filteredPages = pages.filter((p) => p.frontmatter.image === undefined); for (const page of filteredPages) { await generateImage({ page, template, outDir: config.outDir, - fonts + fonts, }); } } @@ -69,19 +69,17 @@ async function generateImage({ page, template, outDir, fonts }: GenerateImagesOp height: 628, fonts, props: { - title: frontmatter.layout === "home" - ? (frontmatter.hero.name ?? frontmatter.title.replace(/\s\-.*$/, "")) - : (frontmatter.customMetaTitle ?? frontmatter.title.replace(/\s\-.*$/, "")), - description: frontmatter.layout === "home" - ? (frontmatter.hero.tagline ?? frontmatter.description) - : frontmatter.description, - dir: (url.startsWith("/docs/faq/")) - ? "FAQ" - : (url.startsWith("/docs/guides/")) - ? "Guide" - : undefined, - } - } + title: + frontmatter.layout === "home" + ? frontmatter.hero.name ?? frontmatter.title.replace(/\s\-.*$/, "") + : frontmatter.customMetaTitle ?? frontmatter.title.replace(/\s\-.*$/, ""), + description: + frontmatter.layout === "home" + ? frontmatter.hero.tagline ?? frontmatter.description + : frontmatter.description, + dir: url.startsWith("/docs/faq/") ? "FAQ" : url.startsWith("/docs/guides/") ? "Guide" : undefined, + }, + }; const svg = await satoriVue(options, template); diff --git a/website/src/.vitepress/config/markdownConfig.ts b/website/src/.vitepress/config/markdownConfig.ts index 5b6e009a..e7e49a00 100644 --- a/website/src/.vitepress/config/markdownConfig.ts +++ b/website/src/.vitepress/config/markdownConfig.ts @@ -13,18 +13,17 @@ import shortcodes from "./shortcodes"; const markdownConfig: MarkdownOptions = { config: (md) => { md.use(attrs), - md.use(figure), - md.use(imgLazyload), - md.use(imgMark), - md.use(imgSize), - md.use(include, { - currentPath: (env) => env.filePath, - }), - md.use(tabsMarkdownPlugin); + md.use(figure), + md.use(imgLazyload), + md.use(imgMark), + md.use(imgSize), + md.use(include, { + currentPath: (env) => env.filePath, + }), + md.use(tabsMarkdownPlugin); md.use(shortcode_plugin, shortcodes); }, - }; export default markdownConfig; diff --git a/website/src/.vitepress/config/navigation/navbar.ts b/website/src/.vitepress/config/navigation/navbar.ts index a0de1d1b..8e1ef8c8 100644 --- a/website/src/.vitepress/config/navigation/navbar.ts +++ b/website/src/.vitepress/config/navigation/navbar.ts @@ -8,7 +8,7 @@ const nav = [ }, { text: APP_VERSION, - activeMatch: "^\/*?(download|changelogs)\/*?$", + activeMatch: "^/*?(download|changelogs)/*?$", items: [ { text: "Download", diff --git a/website/src/.vitepress/config/shortcodes.ts b/website/src/.vitepress/config/shortcodes.ts index 407cead7..be9fdef7 100644 --- a/website/src/.vitepress/config/shortcodes.ts +++ b/website/src/.vitepress/config/shortcodes.ts @@ -1,54 +1,54 @@ const navigationMappings = { - more: { - name: "More", + more: { + name: "More", title: "More menu", - icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>dots-horizontal</title><path d="M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z" /></svg>`, - }, - settings: { - name: "Settings", + icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>dots-horizontal</title><path d="M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z" /></svg>`, + }, + settings: { + name: "Settings", title: "Settings menu", - icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>cog</title><path d="M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z" /></svg>`, - dependsOn: "more", - }, - reader: { - name: "Reader", + icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>cog</title><path d="M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z" /></svg>`, + dependsOn: "more", + }, + reader: { + name: "Reader", title: "Reader menu", - icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>book-open-outline</title><path d="M21,4H3A2,2 0 0,0 1,6V19A2,2 0 0,0 3,21H21A2,2 0 0,0 23,19V6A2,2 0 0,0 21,4M3,19V6H11V19H3M21,19H13V6H21V19M14,9.5H20V11H14V9.5M14,12H20V13.5H14V12M14,14.5H20V16H14V14.5Z" /></svg>`, - dependsOn: "settings", - }, - advanced: { - name: "Advanced", + icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>book-open-outline</title><path d="M21,4H3A2,2 0 0,0 1,6V19A2,2 0 0,0 3,21H21A2,2 0 0,0 23,19V6A2,2 0 0,0 21,4M3,19V6H11V19H3M21,19H13V6H21V19M14,9.5H20V11H14V9.5M14,12H20V13.5H14V12M14,14.5H20V16H14V14.5Z" /></svg>`, + dependsOn: "settings", + }, + advanced: { + name: "Advanced", title: "Advanced menu", - icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>code-tags</title><path d="M14.6,16.6L19.2,12L14.6,7.4L16,6L22,12L16,18L14.6,16.6M9.4,16.6L4.8,12L9.4,7.4L8,6L2,12L8,18L9.4,16.6Z" /></svg>`, - dependsOn: "settings", - }, + icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>code-tags</title><path d="M14.6,16.6L19.2,12L14.6,7.4L16,6L22,12L16,18L14.6,16.6M9.4,16.6L4.8,12L9.4,7.4L8,6L2,12L8,18L9.4,16.6Z" /></svg>`, + dependsOn: "settings", + }, }; function generateNavigationHtml(navKey) { - const navData = navigationMappings[navKey]; + const navData = navigationMappings[navKey]; - if (!navData) { - return "<strong style='color:var(--vp-c-danger-1)'>Unsupported Navigation!</strong>"; - } + if (!navData) { + return "<strong style='color:var(--vp-c-danger-1)'>Unsupported Navigation!</strong>"; + } - const { name, title, icon, dependsOn } = navData; + const { name, title, icon, dependsOn } = navData; - let html = `<span class='shortcode navigation ${navKey}' title='${title}'>${icon}<span class="name">${name}</span></span>`; + let html = `<span class='shortcode navigation ${navKey}' title='${title}'>${icon}<span class="name">${name}</span></span>`; - if (dependsOn) { - html = generateNavigationHtml(dependsOn) + ` → ` + html; - } + if (dependsOn) { + html = generateNavigationHtml(dependsOn) + ` → ` + html; + } - return html; + return html; } const shortcodes = { - nav: { - render: function (attrs, env) { - const { method, to } = attrs; - return generateNavigationHtml(to); - }, - }, + nav: { + render: function (attrs, env) { + const { method, to } = attrs; + return generateNavigationHtml(to); + }, + }, }; export default shortcodes; diff --git a/website/src/.vitepress/config/themeConfig.ts b/website/src/.vitepress/config/themeConfig.ts index 618f434a..176d3b57 100644 --- a/website/src/.vitepress/config/themeConfig.ts +++ b/website/src/.vitepress/config/themeConfig.ts @@ -38,7 +38,7 @@ const themeConfig: DefaultTheme.Config = { }, { icon: { - svg: '<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0zm5.01 4.744c.688 0 1.25.561 1.25 1.249a1.25 1.25 0 0 1-2.498.056l-2.597-.547-.8 3.747c1.824.07 3.48.632 4.674 1.488.308-.309.73-.491 1.207-.491.968 0 1.754.786 1.754 1.754 0 .716-.435 1.333-1.01 1.614a3.111 3.111 0 0 1 .042.52c0 2.694-3.13 4.87-7.004 4.87-3.874 0-7.004-2.176-7.004-4.87 0-.183.015-.366.043-.534A1.748 1.748 0 0 1 4.028 12c0-.968.786-1.754 1.754-1.754.463 0 .898.196 1.207.49 1.207-.883 2.878-1.43 4.744-1.487l.885-4.182a.342.342 0 0 1 .14-.197.35.35 0 0 1 .238-.042l2.906.617a1.214 1.214 0 0 1 1.108-.701zM9.25 12C8.561 12 8 12.562 8 13.25c0 .687.561 1.248 1.25 1.248.687 0 1.248-.561 1.248-1.249 0-.688-.561-1.249-1.249-1.249zm5.5 0c-.687 0-1.248.561-1.248 1.25 0 .687.561 1.248 1.249 1.248.688 0 1.249-.561 1.249-1.249 0-.687-.562-1.249-1.25-1.249zm-5.466 3.99a.327.327 0 0 0-.231.094.33.33 0 0 0 0 .463c.842.842 2.484.913 2.961.913.477 0 2.105-.056 2.961-.913a.361.361 0 0 0 .029-.463.33.33 0 0 0-.464 0c-.547.533-1.684.73-2.512.73-.828 0-1.979-.196-2.512-.73a.326.326 0 0 0-.232-.095z"/></svg>', + svg: '<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0zm5.01 4.744c.688 0 1.25.561 1.25 1.249a1.25 1.25 0 0 1-2.498.056l-2.597-.547-.8 3.747c1.824.07 3.48.632 4.674 1.488.308-.309.73-.491 1.207-.491.968 0 1.754.786 1.754 1.754 0 .716-.435 1.333-1.01 1.614a3.111 3.111 0 0 1 .042.52c0 2.694-3.13 4.87-7.004 4.87-3.874 0-7.004-2.176-7.004-4.87 0-.183.015-.366.043-.534A1.748 1.748 0 0 1 4.028 12c0-.968.786-1.754 1.754-1.754.463 0 .898.196 1.207.49 1.207-.883 2.878-1.43 4.744-1.487l.885-4.182a.342.342 0 0 1 .14-.197.35.35 0 0 1 .238-.042l2.906.617a1.214 1.214 0 0 1 1.108-.701zM9.25 12C8.561 12 8 12.562 8 13.25c0 .687.561 1.248 1.25 1.248.687 0 1.248-.561 1.248-1.249 0-.688-.561-1.249-1.249-1.249zm5.5 0c-.687 0-1.248.561-1.248 1.25 0 .687.561 1.248 1.249 1.248.688 0 1.249-.561 1.249-1.249 0-.687-.562-1.249-1.25-1.249zm-5.466 3.99a.327.327 0 0 0-.231.094.33.33 0 0 0 0 .463c.842.842 2.484.913 2.961.913.477 0 2.105-.056 2.961-.913a.361.361 0 0 0 .029-.463.33.33 0 0 0-.464 0c-.547.533-1.684.73-2.512.73-.828 0-1.979-.196-2.512-.73a.326.326 0 0 0-.232-.095z"/></svg>', }, link: "https://reddit.com/r/Tachiyomi", ariaLabel: "Support subreddit", diff --git a/website/src/.vitepress/theme/components/Changelogs.vue b/website/src/.vitepress/theme/components/Changelogs.vue index 2088f466..e8a14fcb 100644 --- a/website/src/.vitepress/theme/components/Changelogs.vue +++ b/website/src/.vitepress/theme/components/Changelogs.vue @@ -56,14 +56,14 @@ const dateFormatter = new Intl.DateTimeFormat("en", { <style lang="stylus" scoped> h2 { - margin-bottom: 0; - display: flex; - align-items: center; - gap: 0.5rem; + margin-bottom: 0 + display: flex + align-items: center + gap: 0.5rem } time { - font-size: 0.875rem; - color: var(--vp-c-text-2); + font-size: 0.875rem + color: var(--vp-c-text-2) } </style> diff --git a/website/src/.vitepress/theme/components/Contributors.vue b/website/src/.vitepress/theme/components/Contributors.vue index 39136c85..8f242ad5 100644 --- a/website/src/.vitepress/theme/components/Contributors.vue +++ b/website/src/.vitepress/theme/components/Contributors.vue @@ -81,29 +81,29 @@ function addToNonExistent(user: string) { <style lang="stylus" scoped> .contributors { ul { - display: flex; - align-items: center; - flex-wrap: wrap; - gap: 0.5rem; - list-style-type: none; - padding-left: 0; + display: flex + align-items: center + flex-wrap: wrap + gap: 0.5rem + list-style-type: none + padding-left: 0 li + li { - margin-top: 0; + margin-top: 0 } } .avatar { - width: 32px; - height: 32px; - border-radius: 50%; - box-shadow: var(--vp-shadow-1); - border: 1px solid var(--vp-c-divider); + width: 32px + height: 32px + border-radius: 50% + box-shadow: var(--vp-shadow-1) + border: 1px solid var(--vp-c-divider) } .names { - font-size: 0.875rem; - color: var(--vp-c-text-2); + font-size: 0.875rem + color: var(--vp-c-text-2) } } </style> diff --git a/website/src/.vitepress/theme/components/ExtensionGroup.vue b/website/src/.vitepress/theme/components/ExtensionGroup.vue deleted file mode 100644 index a4f891b3..00000000 --- a/website/src/.vitepress/theme/components/ExtensionGroup.vue +++ /dev/null @@ -1,50 +0,0 @@ -<script> -import { langName, simpleLangName } from "../../../config/scripts/languages"; -import ExtensionItem from "./ExtensionItem.vue"; - -export default { - components: { ExtensionItem }, - props: ["list", "totalCount"], - computed: { - groupName: function () { - const firstItem = this.list[0]; - return firstItem.lang === "en" ? simpleLangName(firstItem.lang) : langName(firstItem.lang); - }, - }, - methods: { - simpleLangName, - langName, - }, -}; -</script> - -<template> - <div class="extension-group"> - <h2> - {{ groupName }} - - <span class="extensions-total"> - Total: - <span class="extensions-total-sum"> - {{ totalCount }} - </span> - </span> - </h2> - <ExtensionItem - v-for="extension in list" - :id="extension.pkg.replace('eu.kanade.tachiyomi.extension.', '')" - :key="extension.apk" - :item="extension" - /> - </div> -</template> - -<style lang="stylus"> -.extensions-total { - float: right - - &-sum { - color: var(--vp-c-brand) - } -} -</style> diff --git a/website/src/.vitepress/theme/components/Extensions/ExtensionItem.vue b/website/src/.vitepress/theme/components/Extensions/ExtensionItem.vue index 52615443..2431f2ae 100644 --- a/website/src/.vitepress/theme/components/Extensions/ExtensionItem.vue +++ b/website/src/.vitepress/theme/components/Extensions/ExtensionItem.vue @@ -77,7 +77,7 @@ export default { .extension-icon { flex-shrink: 0 - margin-left: -4px; + margin-left: -4px } .extension-text { @@ -129,7 +129,7 @@ export default { } @media (max-width 767px) { - padding: 0.4em 0em + padding: 0.4em 0 } } @@ -144,7 +144,7 @@ export default { padding: 0.5em .extension-icon { - margin-left: 0; + margin-left: 0 } .extension-download { diff --git a/website/src/.vitepress/theme/components/News.vue b/website/src/.vitepress/theme/components/News.vue index 03aa39d0..d682702d 100644 --- a/website/src/.vitepress/theme/components/News.vue +++ b/website/src/.vitepress/theme/components/News.vue @@ -33,14 +33,15 @@ const dateFormatter = new Intl.DateTimeFormat("en", { dateStyle: "medium" }); <style lang="stylus" scoped> .news { - display: flex; - flex-direction: column; + display: flex + flex-direction: column gap: 0.5rem position: relative &:first-of-type { margin-top: 3rem } + & + .news { margin-top: 3rem } @@ -52,7 +53,8 @@ const dateFormatter = new Intl.DateTimeFormat("en", { dateStyle: "medium" }); z-index: 10 } - h3, p { + h3, + p { margin: 0 } @@ -77,7 +79,10 @@ const dateFormatter = new Intl.DateTimeFormat("en", { dateStyle: "medium" }); } } - .title, .readPrompt, p, time { + .title, + .readPrompt, + p, + time { position: relative } @@ -102,7 +107,8 @@ const dateFormatter = new Intl.DateTimeFormat("en", { dateStyle: "medium" }); } } - .hover, .background { + .hover, + .background { position: absolute z-index: 20 bottom: -1rem @@ -117,18 +123,27 @@ const dateFormatter = new Intl.DateTimeFormat("en", { dateStyle: "medium" }); transform: scale(0.95) opacity: 0 z-index: 0 - transition: opacity 0.15s cubic-bezier(0.4, 0, 0.2, 1), - transform 0.15s cubic-bezier(0.4, 0, 0.2, 1); + transition: opacity 0.15s cubic-bezier(0.4, 0, 0.2, 1), transform 0.15s cubic-bezier(0.4, 0, 0.2, 1) } - &:hover .background, &:focus-within .background { + &:hover .background, + &:focus-within .background { opacity: 1 transform: scale(1) } - h3 a:focus-visible + .background { + h3: a + + :focus-visible + .background { + outline: 2px solid var(--vp-c-brand-2) + } + + :focus-visible + .background { + outline: 2px solid var(--vp-c-brand-2) + } + + :focus-visible + .background { outline: 2px solid var(--vp-c-brand-2) } } - </style> diff --git a/website/src/.vitepress/theme/components/OgImageTemplate.vue b/website/src/.vitepress/theme/components/OgImageTemplate.vue index 25a93378..c7c692ea 100644 --- a/website/src/.vitepress/theme/components/OgImageTemplate.vue +++ b/website/src/.vitepress/theme/components/OgImageTemplate.vue @@ -24,6 +24,6 @@ <div v-if="description" tw="mt-2 text-4xl text-slate-600">{{ description }}</div> </div> </div> - <div tw="shrink-0 h-2 w-full flex" style="background-color: #8995FF;" /> + <div tw="shrink-0 h-2 w-full flex" style="background-color: #8995ff;" /> </div> </template> diff --git a/website/src/.vitepress/theme/components/WhatsNew.vue b/website/src/.vitepress/theme/components/WhatsNew.vue index b86006ec..7e69cf2a 100644 --- a/website/src/.vitepress/theme/components/WhatsNew.vue +++ b/website/src/.vitepress/theme/components/WhatsNew.vue @@ -50,7 +50,7 @@ const whatsNew = computed(() => { transition: border-color 0.25s, background-color 0.25s padding: 24px height: 100% - margin: 1.5em auto 0.5em auto + margin: 1.5em auto 0.5em header { display: flex diff --git a/website/src/.vitepress/theme/data/changelogs.data.ts b/website/src/.vitepress/theme/data/changelogs.data.ts index fd465c3c..e389fc49 100644 --- a/website/src/.vitepress/theme/data/changelogs.data.ts +++ b/website/src/.vitepress/theme/data/changelogs.data.ts @@ -1,4 +1,4 @@ -import { defineLoader } from "vitepress" +import { defineLoader } from "vitepress"; import { Octokit } from "@octokit/rest"; import type { GetResponseDataTypeFromEndpointMethod } from "@octokit/types"; @@ -18,5 +18,5 @@ export default defineLoader({ }); return releases; - } + }, }); diff --git a/website/src/.vitepress/theme/data/news.data.ts b/website/src/.vitepress/theme/data/news.data.ts index 4c9b1629..c1b2fe34 100644 --- a/website/src/.vitepress/theme/data/news.data.ts +++ b/website/src/.vitepress/theme/data/news.data.ts @@ -1,4 +1,4 @@ -import { defineLoader, createContentLoader } from "vitepress" +import { defineLoader, createContentLoader } from "vitepress"; export interface News { title: string; @@ -16,12 +16,15 @@ export default defineLoader({ return articles .filter(({ url }) => url !== "/news/") - .map(({ frontmatter, url }) => <News>({ - title: frontmatter.title, - description: frontmatter.description, - date: frontmatter.date, - url, - })) + .map( + ({ frontmatter, url }) => + <News>{ + title: frontmatter.title, + description: frontmatter.description, + date: frontmatter.date, + url, + } + ) .sort((a, b) => b.date.localeCompare(a.date)); - } + }, }); diff --git a/website/src/.vitepress/theme/data/release.data.ts b/website/src/.vitepress/theme/data/release.data.ts index 831b5a0f..1011d12c 100644 --- a/website/src/.vitepress/theme/data/release.data.ts +++ b/website/src/.vitepress/theme/data/release.data.ts @@ -1,4 +1,4 @@ -import { defineLoader } from "vitepress" +import { defineLoader } from "vitepress"; import { Octokit } from "@octokit/rest"; import type { GetResponseDataTypeFromEndpointMethod } from "@octokit/types"; @@ -27,5 +27,5 @@ export default defineLoader({ }); return { stable, preview }; - } + }, }); diff --git a/website/src/.vitepress/theme/styles/base.styl b/website/src/.vitepress/theme/styles/base.styl index b89532d8..246b866b 100644 --- a/website/src/.vitepress/theme/styles/base.styl +++ b/website/src/.vitepress/theme/styles/base.styl @@ -117,13 +117,14 @@ html:not(.dark) { /** * Component: LocalSearch */ + .VPLocalSearchBox { - --vp-local-search-highlight-bg: var(--vp-c-brand-soft); - --vp-local-search-highlight-text: var(--vp-c-brand-dark); + --vp-local-search-highlight-bg: var(--vp-c-brand-soft) + --vp-local-search-highlight-text: var(--vp-c-brand-dark) } -.dark .VPLocalSearchBox { - --vp-local-search-highlight-text: var(--vp-c-brand-lightest); +.dark .VPLocalSearchBox { + --vp-local-search-highlight-text: var(--vp-c-brand-lightest) } /** @@ -191,6 +192,7 @@ main :where(h1, h2, h3, h4, h5, h6) + figure { /** * Component: Shortcodes * -------------------------------------------------------------------------- */ + .navigation { color: var(--vp-c-text-2) font-weight: 600 @@ -202,7 +204,7 @@ main :where(h1, h2, h3, h4, h5, h6) + figure { svg, span.name { - vertical-align: middle; /* Align both SVG and <span> vertically */ + vertical-align: middle // Align both SVG and <span> vertically } svg { diff --git a/website/src/.vitepress/theme/styles/forks/lint.styl b/website/src/.vitepress/theme/styles/forks/lint.styl new file mode 100644 index 00000000..a952baef --- /dev/null +++ b/website/src/.vitepress/theme/styles/forks/lint.styl @@ -0,0 +1,9 @@ +.extension-list { + > div { + &:not(:first-of-type) { + .extensions-total { + display: none + } + } + } +}